Create an inbox filter
Evaluated when listing, so it also hides past emails, and deleting it brings them back. Addresses and domains are stored lowercase; a leading @ on a domain is dropped. A label filter must reference a label of the workspace. Supports Idempotency-Key.
Authorization
apiKey Your 48 character Emelia API key, the same as for the Emelia API, sent as is (a Bearer prefix is tolerated). Create it at https://v3.emelia.io/settings/api. Disabling a key can take up to 5 minutes to apply to the Inbox API.
In: header
Header Parameters
Any unique string (a UUID). The first successful response is stored 24 hours and replayed with Idempotent-Replay: true for the same key, method, URL and body. Same key with another body: 409 CONFLICT. Original call still running: 409 CONFLICT. Failed calls (status 400 and above) release the key. Keys are scoped to the workspace, not to the API key: two integrations of the same workspace must not reuse values. Replays count in the quotas.
length <= 255Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
sender: an email address, exact match, case insensitive. domain: a domain such as example.com (leading @ dropped). subject: text contained in the subject. label: id of a manual or AI label of the workspace.
Response Body
application/json
application/json
application/json
application/json
application/json
application/json
application/json
application/json
application/json
curl -X POST "https://example.com/filters" \ -H "Authorization: YOUR_API_KEY" \ -H "Idempotency-Key: 3f6c1b2e-7d4a-4f0e-9a51-acme00000001" \ -H "Content-Type: application/json" \ -d '{ "type": "domain", "value": "newsletter.example.com" }'{ "filter": { "id": "cmflacme0000000000000001", "type": "domain", "value": "newsletter.example.com", "label": null, "createdAt": "2026-10-01T12:00:00.000Z", "updatedAt": "2026-10-01T12:00:00.000Z" }}