result.data | object | Yes | — | Provider response payload. |
result.data.data | array | No | — | Default waterfalls first, then custom waterfalls most recently created first |
result.data.data[].id | string | Yes | — | Waterfall id. Always default_email or default_phone for a default waterfall, even after it was edited. custom waterfalls get an id prefixed with ecw_. |
result.data.data[].type | "email" | "phone" | Yes | — | Kind of data the waterfall looks for. Allowed: email, phone. |
result.data.data[].name | string | Yes | — | Display name, 1 to 100 characters. |
result.data.data[].isDefault | boolean | Yes | — | true for the team’s default waterfall of this type (one per type, cannot be created or deleted). false for a custom waterfall. |
result.data.data[].editor | string | Yes | — | Who defined the provider order. lemlist on a default waterfall nobody edited: connected external providers first, then internal providers in a random order (tier by tier for phone, see providers[].tier). providers then shows a reference order. Otherwise the id of the team member who last edited the waterfall (usr_ prefix): providers is then followed as is. Custom waterfalls always have a user editor. |
result.data.data[].conditions | object | No | — | Conditions on the contact being enriched, keyed by contact property. Every key present must match for the waterfall to run. New keys will be added over time. unknown keys are rejected. |
result.data.data[].conditions.country | object | No | — | The contact’s resolved country (from its location, country or company data), as ISO 3166-1 alpha-2 codes. |
result.data.data[].conditions.country.in | array | No | — | Countries that match. Unique. |
result.data.data[].conditions.country.out | array | No | — | Countries that exclude the contact. Unique, disjoint from in. At least one of in or out must be non-empty. |
result.data.data[].providers | array | Yes | — | Execution order. Always contains every provider of the catalog for this type exactly once, disabled ones included. External providers appear only while connected. A newly connected one is appended disabled on custom waterfalls. |
result.data.data[].providers[].order | integer | No | — | Execution rank, starting at 1, matching the position in the array. Returned only. Minimum: 1. |
result.data.data[].providers[].id | string | Yes | — | Provider id, from GET /enrichments/providers. |
result.data.data[].providers[].enabled | boolean | Yes | — | Disabled providers keep their position but are skipped at enrichment time. |
result.data.data[].providers[].image | string | No | — | Path of the provider logo shown in the lemlist app, relative to the app origin. Read-only. |
result.data.data[].providers[].source | "internal" | "external" | No | — | internal: paid with lemlist credits. external: called with your own API key. Read-only. Allowed: internal, external. |
result.data.data[].providers[].shuffled | boolean | No | — | Only on a default waterfall while its editor is lemlist. true: tried in a random position among the other shuffled providers. false: always tried first, at its position (providers you connected with your own API key). Read-only. |
result.data.data[].providers[].tier | integer | No | — | Only on the default phone waterfall while its editor is lemlist. Phone providers are tried tier by tier, in a random order inside each tier. Read-only. Minimum: 1. |
result.data.data[].createdAt | string | null | Yes | — | null on a default waterfall that was never edited. Format: date-time. |
result.data.data[].updatedAt | string | null | Yes | — | null on a default waterfall that was never edited. Format: date-time. |
result.meta | object | No | — | Additional response metadata (status, paging). |