Create a view
Saves a filter tree under a name, at the end of the sidebar. The tree is bounded like ?filters= (5 levels, 50 conditions, 500 character values). Restricting a view to some mailboxes is only possible in the app. 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.
Response Body
application/json
application/json
application/json
application/json
application/json
application/json
application/json
application/json
curl -X POST "https://example.com/views" \ -H "Authorization: YOUR_API_KEY" \ -H "Idempotency-Key: 3f6c1b2e-7d4a-4f0e-9a51-acme00000001" \ -H "Content-Type: application/json" \ -d '{ "name": "Hot leads", "icon": "🔥", "filters": { "id": "g1", "_and": [ { "id": "c1", "label": "ai_label", "type": "contains", "value": "cmtgacme0000000000000002" }, { "id": "c2", "label": "read_status", "type": "is_false", "value": "" } ] } }'{ "view": { "id": "cmvwacme0000000000000001", "name": "Hot leads", "icon": "🔥", "filters": { "id": "g1", "_and": [ { "id": "c1", "label": "ai_label", "type": "contains", "value": "cmtgacme0000000000000002" }, { "id": "c2", "label": "read_status", "type": "is_false", "value": "" } ] }, "mailboxIds": [], "createdAt": "2026-10-01T11:00:00.000Z" }}