result.data | object | Yes | — | Provider response payload. |
result.data.data | object | No | — | An ordered list of providers for one enrichment type. |
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). |