Create a BYOK key

Changed on

Register your own credentials for one data provider. FullEnrich checks the credentials with the provider before it saves them. The key applies to the workspace, or to the sub-account named in the Sub-Account-ID header.

post/providers

Request

Headers

Sub-Account-IDstring uuid

Manage the keys of one sub-account instead of the workspace keys. See the Sub-accounts section of the BYOK overview.

Request body

provider'prospeo' | 'enrow' | 'cleon1' | 'datagma' | 'aviato' | 'wiza' | 'forager_ai' | 'icypeas' | 'contact_out' | 'people_data_labs' | 'lusha' | 'apollo_io' | 'zoominfo' | 'cognism' required

Provider identifier. Case-insensitive in requests; responses use lowercase.

priorityinteger required

Order of the key in its zone. A lower value runs first.

zone'front' | 'back' | 'auto'

Where the key runs in the waterfall. front: before the FullEnrich providers. back: after them. auto: at the position of the same provider in the FullEnrich waterfall.

data_typesProviderDataType[]

Data types this key supplies. Each value must be supported by the provider, with no duplicate. Default: all data types the provider supports.

verifyboolean

If true, FullEnrich verifies the values found with this key and consumes FullEnrich credits for valid values. If false, the values are returned with the UNVERIFIED status and consume no FullEnrich credit. Default: true.

enabledboolean

If false, the key is saved but not used in enrichments. Default: true.

Example request

{
  "provider": "prospeo",
  "credentials": {
    "api_key": "pk_live_your_provider_key",
    "client_id": "your_zoominfo_client_id",
    "client_secret": "your_zoominfo_client_secret",
    "account_id": "48213",
    "account_email": "ops@acme.com",
    "personal_email_api_key": "your_contactout_personal_email_key"
  },
  "priority": 10,
  "zone": "front",
  "data_types": [
    "contact.work_emails",
    "contact.phones"
  ],
  "verify": true,
  "enabled": true
}

Response

Created. The response contains the key without its credentials.

idstring uuid required

The key ID.

workspace_idstring uuid required

The workspace that owns the key.

sub_account_idstring uuid

The sub-account that owns the key. Omitted for a workspace key.

provider'prospeo' | 'enrow' | 'cleon1' | 'datagma' | 'aviato' | 'wiza' | 'forager_ai' | 'icypeas' | 'contact_out' | 'people_data_labs' | 'lusha' | 'apollo_io' | 'zoominfo' | 'cognism' required

Provider identifier. Case-insensitive in requests; responses use lowercase.

zone'front' | 'back' | 'auto' required

Where the key runs in the waterfall. front: before the FullEnrich providers. back: after them. auto: at the position of the same provider in the FullEnrich waterfall.

priorityinteger required

Order of the key in its zone. A lower value runs first.

data_typesProviderDataType[] required

Data types this key supplies.

verifyboolean required

Whether FullEnrich verifies the values found with this key.

enabledboolean required

Whether the key is used in enrichments.

created_atstring date-time required

When the key was created.

updated_atstring date-time required

When the key was last updated.

Example response

{
  "id": "9f1c2d3e-4b5a-4c6d-8e7f-0a1b2c3d4e5f",
  "workspace_id": "2db5ea61-1752-42cf-8ea1-ab1da060cd0a",
  "sub_account_id": "70ff6a88-6291-417d-b6cd-04f1ca123470",
  "provider": "prospeo",
  "zone": "front",
  "priority": 10,
  "data_types": [
    "contact.work_emails",
    "contact.phones"
  ],
  "verify": true,
  "enabled": true,
  "created_at": "2026-10-05T09:30:00Z",
  "updated_at": "2026-10-05T09:30:00Z"
}

Changes