Create person list export job — Guide

First-request guide for Create person list export job.

Export API guide

Export person lists

Start an asynchronous export for the person-list scope your integration needs.

POST /v1/personList/job   •   Authentication: Bearer token

Before you start

Authenticate

Send Authorization: Bearer <token> on every request and keep tokens out of logs and source control.

Follow the workflow

Submit the request, save jobId, poll status, then download the result.

Use the code below

The cURL and JSON examples are copy-ready starting points. Replace IDs, dates, and tokens with values from your tenant.

Common workflows

Workflow 1

Use jobName for the supported full person-list export mode.

Workflow 2

Use personListIds to export members from selected lists.

Workflow 3

Poll the accepted job and download only after status is finished.

Quickstart

Step 1 — Send the request

curl --request POST \
--url https://uapi.demandbase.com/data/export/v1/personList/job \
--header "Authorization: Bearer $DB_API_KEY" \
--header "Content-Type: application/json" \
--data '{"jobName":"PersonListExport"}'

Request body

{
"jobName": "PersonListExport"
}

Step 2 — Read the response

{
"jobName": "PersonListExport",
"jobStatus": "accepted",
"entityType": "personlist",
"jobId": "dcb34525-2baa-4f54-8c11-9e6175ecbc74",
"createdAt": "2024-03-24T16:43:57.378Z"
}

Request anatomy

PartRequiredWhat to send
jobNamerequiredClient-readable name for the asynchronous job.
personListIdsoptionalArray of person-list identifiers for a selected export.

Response anatomy

FieldType / stateHow to use it
entityTypepersonlistIdentifies this as a person-list export.
jobIdstringIdentifier used with the status endpoint.
jobStatusacceptedThe export has been queued.
createdAttimestampCreation time in ISO-8601 format.

Rules and constraints

  • Use the supported person-list scope and keep list IDs as integers.
  • Persist jobId before polling so retries can resume after a network failure.
  • Do not treat HTTP 202 or accepted status as a completed download.

Empty results

An empty file can mean the selected lists have no accessible members. Recheck list IDs, tenant permissions, and membership timing.

Errors and recovery

Handle these responses explicitly so your integration can report an actionable cause and next step.

StatusMeaningRecovery
400The person-list request is malformed.Validate jobName and personListIds, including their types and supported scope.
401The bearer token is missing, expired, or invalid.Refresh the token and retry after authentication succeeds.
403The caller cannot access the requested person lists.Check tenant membership and list permissions.
429The API rate limit was exceeded.Back off and retry without duplicating an in-flight job.

Next steps