# Generic CDP integration

> You can integrate with any customer data platform (CDP) using Talon.One's endpoints for third-party tools.

> For the complete documentation index, see [llms.txt](https://docs.talon.one/llms.txt).

:::important
These endpoints are for general use with any platform.
If you use a partner listed in the [Customer data platforms](/docs/dev/technology-partners/cdp/overview.md) section, do not follow
this tutorial. Instead, refer to a tutorial specific to your platform.
:::

The following endpoints are available:

- [Update customer profile](#update-a-customer-profile)
- [Update audiences in multiple customer profiles](#update-audiences-in-multiple-customer-profiles)
- [Create audience](#create-an-audience)
- [Update audience](#update-an-audience)
- [Delete audience](#delete-an-audience)

<Button variant="primary" size="l" href="/third-party-api#tag/Customer-data-platforms">
  See API docs
</Button>

## Authenticate

All CDP endpoints rely on Talon.One's third-party API keys of type **Customer Data Platform**.

To generate an API key:

1. In your Application, click <Settings className="icon" /> **Settings** > **Integration API Keys**.
1. Click <Add className="icon" /> **Create API Key**.
1. In the **Create API Key** drawer, if you are asked for a key type, select **Production**.
1. In **Key name**, type a name to identify the key.
1. In **Key expiration date**, select a date.

   :::tip
   Avoid choosing expiration dates that fall at the end of the year or during other
   high-traffic periods.
   :::

1. In **Third-party integration**, select **Yes**.
1. From **Platform**, select **{props.partner}**.
1. Click **Create API Key**.
1. Click <Copy className="icon" /> to copy the key for use.

:::note
You cannot view or copy the API key after closing the drawer.
:::

Use the key in the `Authorization` header of each of the endpoints. For example:

```
Authorization: ApiKey-v1 dbc644d33aa74d582bd9479c59e16f970fe13bf3
```

## Update a customer profile

To update a customer profile and change its audiences from a CDP platform, use the following
endpoint:

```text title="PUT Update customer profile"
https://integration.talon.one/cdp/customer_profile/{customerProfileId}
```

<Button variant="primary" size="l" href="/third-party-api#tag/Customer-data-platforms/operation/cdp/updateCustomerProfile">
  See API docs
</Button>

## Update audiences in multiple customer profiles

To update the audiences in multiple customer profiles from a CDP platform, use the following
endpoint:

```text title="PUT Update audiences in multiple customer profiles"
https://integration.talon.one/cdp/customer_profile/audiences
```

<Button variant="primary" size="l" href="/third-party-api#tag/Customer-data-platforms/operation/cdp/updateCustomerProfilesAudiences">
  See API docs
</Button>

## Create an audience

To create an audience from a CDP platform, use the following endpoint:

```text title="POST Create audience"
https://integration.talon.one/cdp/audiences
```

<Button variant="primary" size="l" href="/third-party-api#tag/Customer-data-platforms/operation/cdp/createAudience">
  See API docs
</Button>

## Update an audience

To update an audience from a CDP platform, use the following endpoint:

```text title="PUT Update audience"
https://integration.talon.one/cdp/audiences/{audienceId}
```

<Button variant="primary" size="l" href="/third-party-api#tag/Customer-data-platforms/operation/cdp/updateAudience">
  See API docs
</Button>

## Delete an audience

To delete an audience from a CDP platform, use the following endpoint:

```text title="DELETE Delete audience"
https://integration.talon.one/cdp/audiences/{audienceId}
```

<Button variant="primary" size="l" href="/third-party-api#tag/Customer-data-platforms/operation/cdp/deleteAudience">
  See API docs
</Button>

## Related pages

- [Generic CEP integration](/docs/dev/technology-partners/cep/integrate-cep.md)
