Enricher with more than one api request enrichments enabled not working?

Being a newbie, in our enricher implementation we are trying to have 2 api_request_enrichment_config enrichments (enabled) in place but for some reason only one is recognized/serviced by the enricher.

What are we missing here?

Consider having 2 enrichments files i.e. file1.json, file2.json with the below content and the only differences in their content are on

  • the “inputs” contexts/schemaCriterion (not both enrichments applying to the same event) and
  • the api method, uri etc.
{
	"schema": "iglu:com.snowplowanalytics.snowplow.enrichments/api_request_enrichment_config/jsonschema/1-0-0",
	"data": {
		"vendor": "com.snowplowanalytics.snowplow.enrichments",
		"name": "api_request_enrichment_config",
		"enabled": true,
		"parameters": {
			"inputs": [
				{
					"key": "appId",
					"pojo": {
						"field": "app_id"
					}
				},
				{
					"key": "email",
					"json": {
						"field": "contexts",
						"schemaCriterion": "iglu:<file#_private_iglu_schema>/jsonschema/1-*-*",
						"jsonPath": "$.email"
					}
				}
			],
			"api": {
				"http": {
					"method": "POST",
					"uri": "http://<some_host>/api/{{appId}}?email={{email}}",
					"timeout": 3000,
					"authentication": {
						"httpBasic": {
							"username": "xxx",
							"password": "yyy"
						}
					}
				}
			},
			"outputs": [
				{
					"schema": "iglu:<some_private_iglu_schema_path>" ,
					"json": {
						"jsonPath": "$"
					}
				}
			],
			"cache": {
				"size": 500,
				"ttl": 600
			}
		}
	}
}

For some reason only one of the enrichments is getting served (api call taking place and derived message gets created),
while the other’s file messages are forcibly sent to the enriched good ones (no api call taking place and thus no derived msgs generated).

Are we facing some enricher’s limitation?
Is there a workaround?

@Periklis_Zimonopoulo , indeed, you can use only one enrichment of the same kind unfortunately. The only workaround I can think of is having your API configured in such a way that it can serve both use cases with the single entry point or utilize a different enrichment type for one of the use cases, for example Javascript Enrichment. These workarounds are not very good suggestions but that is all that comes to my mind.

Thank you much for your prompt response.