Getting Started
You need an Experiture account to use this API
If you have platform access, sign in to portal.experiture.com and create an OAuth client under My Organization → API Access. If you're a developer without full platform access, ask your Experiture Account Administrator for OAuth credentials, or email support@experiture.com.
From zero to your first successful API call in under five minutes. This guide assumes you already have an Experiture workspace — if not, request access at experiture.com/contact (opens in a new tab).
1. Create an OAuth client
You have two paths depending on your access level:
If you have platform access:
- Sign in to the Experiture console at portal.experiture.com (opens in a new tab).
- Go to My Organization → API Access.
- Click New Client.
- Name it (e.g.
local-dev), select scopes (cdp:records:writeandcdp:metadata:readare enough to start), click Create. - Copy the Client ID and Client Secret — the secret is shown once. Store both in your secrets manager.
- Exchange the client credentials for a Bearer token using the OAuth 2.0 client credentials grant. Your token endpoint and full instructions are shown in the console after client creation.
If you're a developer without platform access:
Ask your Experiture Account Administrator to create an OAuth client for you and send you the Client ID, Client Secret, scopes, and token endpoint. If you don't know who your administrator is, email support@experiture.com and the Experiture team will route the request.
2. Verify the token works
curl https://api.experiture.ai/public/v1/metadata/objects \
-H "Authorization: Bearer <your_access_token>"You should see the list of objects in your workspace. If you get 401, the token is wrong or the header is missing.
3. Inspect a schema
Pick one object and read its fields. Most workspaces have at least profiles:
curl https://api.experiture.ai/public/v1/metadata/objects/profiles \
-H "Authorization: Bearer <your_access_token>"Note the field names — you'll need them in the next step.
4. Write your first record
curl -X POST https://api.experiture.ai/public/v1/records/profiles/upsert \
-H "Authorization: Bearer <your_access_token>" \
-H "Content-Type: application/json" \
-d '{
"record": {
"email": "you@example.com",
"first_name": "Test"
},
"matchKey": "email"
}'Expected response:
{
"success": true,
"data": {
"operation": "upsert",
"objectName": "profiles",
"accepted": true,
"acceptedAt": "2026-04-21T15:30:00Z",
"acceptedRecords": 1,
"matchKey": "email"
}
}Confirm the record in the Experiture console under Profiles → Search.
Where to Go Next
Pick the guide that matches your workload:
- Single Record Write — real-time event handlers, webhooks, form submissions.
- Batch Import — one-off backfills and bulk loads (100k – 200M rows).
- Audience Preview — validate and size segments before campaigns.
Or jump straight to the API Reference.
Getting Help
- Docs feedback: click "Give us feedback" at the bottom of any page.
- Bugs & questions: email support@experiture.com with the
x-correlation-idfrom your failed response.