Make Your First Request
Importing Data
To import your data into Demandbase, there are two required API calls you must make.
Create Import Job
Details (Click to expand)
- Create an import job (This example is for Activity)
- Set URL
-
POST HTTPS://UAPI.demandbase.com/import/v1/job
-
- Set Headers
-
Accept: application/json Content-Type: application/json Authorization: Bearer <YOUR_JWT_TOKEN>
-
- Set Body Parameters
-
{ "source": "CSV", "dataImportName": "DataImportTest", "entityType": "Activity", "activityTypeId": 1110 }
-
Schema
Field Name
Data Type
Required
Notes
source
string
No
Defaults to
CSV
You can use the Source Lookup endpoint to retrieve available sourcesdataImportName
string
Yes
entityType
string
Yes
activityTypeIs
int
Conditional
Required only when
entityType = Activity
You can use the Activity Type Lookup endpoint to retrieve available activityTypes
-
- Resulting cURL request
-
curl --request POST \ --url https://uapi.demandbase.com/import/v1/job \ --header 'accept: application/json' \ --header 'authorization: Bearer <YOUR_JWT_TOKEN>' \ --header 'content-type: application/json' \ --data ' { "source": "CSV", "dataImportName": "DataImportTest", "entityType": "Activity" "activityTypeId": 1110, } '
-
- Example Response
{ "id": 11416, "dataImportName": "DataImportTest", "entityType": "Activity", "state": "new", "updatedAt": "2026-02-03T14:55:13.526Z", "createdAt": "2026-02-03T14:55:13.526Z", "source": "CSV", "activityTypeId": 1110 }
Field Name Data Type Notes id int Job Id - used to submit data and check job status dataImportName string Supplied name entityType string Supplied entityType state string One of: new,processing,completed,failedupdatedAt string<dateTime> ISO-formatted UTC datetime createdAt string<dateTime> ISO-formatted UTC datetime source string Supplied source activityTypeId int Supplied activityTypeId Only returned if entityType = Activity
- Set URL
Submit Data To The Import Job
Details (Click to expand)
Submit the import data to the import job
-
Set the request URL
NOTE: The jobId in the URL path is obtained from the
Create Import Jobresponse-
PUT https://uapi.demandbase.com/import/v1/job/{jobId}/data?listAction=<DESIRED_ACTION>
-
-
Set ListAction Query Parameter
Allowed Value Description replace (default) Removes all existing members from the associated account list and adds the members from the current import file. insert Adds new members from the current import file to the existing account list. If no account list is associated with this job, one will be created.. delete Removes members from the existing account list if they are matched in the import data. noop Processes and imports the data but does not make any changes to the associated account list membership.
-
Set Headers
Accept: application/json Content-Type: applicaiton/octet_stream Authorization: Bearer <YOUR_JWT_TOKEN> -
Set Body
Type Media Type Description string<binary> application/octet-stream The binary content of the data file to be imported (e.g. a CSV file) -
Resulting cURL request
curl --request PUT \ --url 'https://uapi.demandbase.com/import/v1/job/{jobId}/data?listAction=replace' \ --header 'accept: application/json' \ --header 'authorization: Bearer <YOUR_JWT_TOKEN>' \ --header 'content-type: application/octet-stream' \ --data-binary '@dataImportTEST.csv' -
Example 200 Response
{ "id": 11416, "dataImportName": "DataImportTest", "entityType": "Activity", "state": "processing", "createdAt": "2026-02-03T14:55:13.526Z", "updatedAt": "2026-02-03T14:56:29.123Z", "source": "CSV", "activityTypeId": 1110 }Schema
NOTE: The response schema is the same as the create job endpoint
Field Name Data Type Notes id int Job Id - used to submit data and check job status dataImportName string Supplied name entityType string Supplied entityType state string One of: new,processing,completed,failedupdatedAt string<dateTime> ISO-formatted UTC datetime createdAt string<dateTime> ISO-formatted UTC datetime source string Supplied source activityTypeId int Supplied activityTypeId Only returned if entityType = Activity
Check Import Job Status
Details (Click to expand)
Check the status of an import job.
- Set the URL
-
GET https://uapi.demandbase.com/import/data/job/{jobId}Note the jobId is obtained from the create job endpoint response
-
- Resulting cURL request
curl --request GET \ --url https://uapi.demandbase.com/import/v1/job/{jobId} \ --header 'Accept: application/json' \ --header 'Authorization: Bearer <YOUR_JWT_TOKEN>' - Example 200 Response
SchemaNOTE: The status response is the same as the create job response
Field Name Data Type Notes id int Job Id - used to submit data and check job status dataImportName string Supplied name entityType string Supplied entityType state string One of: new,processing,completed,failedupdatedAt string<dateTime> ISO-formatted UTC datetime createdAt string<dateTime> ISO-formatted UTC datetime source string Supplied source activityTypeId int Supplied activityTypeId Only returned if entityType = Activity
Updated 1 day ago