Demandbase Import Jobs API

Create and manage data import jobs

Documentation

Specifications

Schemas & Data

Other Resources

🔗
Rules
https://raw.githubusercontent.com/api-evangelist/demandbase/refs/heads/main/rules/demandbase-api-rules.yml
🔗
Capabilities
https://raw.githubusercontent.com/api-evangelist/demandbase/refs/heads/main/capabilities/demandbase-api-capabilities.yml
🔗
GraphQL
https://raw.githubusercontent.com/api-evangelist/demandbase/refs/heads/main/graphql/demandbase-graphql.md
🔗
UseCases
https://www.demandbase.com/use-cases/
🔗
Rules
https://raw.githubusercontent.com/api-evangelist/demandbase/refs/heads/main/rules/demandbase-real-time-identification-api-rules.yml
🔗
Capabilities
https://raw.githubusercontent.com/api-evangelist/demandbase/refs/heads/main/capabilities/demandbase-real-time-identification-api-capabilities.yml
🔗
Rules
https://raw.githubusercontent.com/api-evangelist/demandbase/refs/heads/main/rules/demandbase-advertising-api-rules.yml
🔗
Capabilities
https://raw.githubusercontent.com/api-evangelist/demandbase/refs/heads/main/capabilities/demandbase-advertising-api-capabilities.yml
🔗
Webhooks
https://docs.demandbase.com/docs/webhooks
🔗
Rules
https://raw.githubusercontent.com/api-evangelist/demandbase/refs/heads/main/rules/demandbase-engagement-api-rules.yml
🔗
Capabilities
https://raw.githubusercontent.com/api-evangelist/demandbase/refs/heads/main/capabilities/demandbase-engagement-api-capabilities.yml
🔗
IntegrationGuides
https://docs.demandbase.com/docs/integrations
🔗
Rules
https://raw.githubusercontent.com/api-evangelist/demandbase/refs/heads/main/rules/demandbase-account-list-api-rules.yml
🔗
Capabilities
https://raw.githubusercontent.com/api-evangelist/demandbase/refs/heads/main/capabilities/demandbase-account-list-api-capabilities.yml
🔗
Rules
https://raw.githubusercontent.com/api-evangelist/demandbase/refs/heads/main/rules/demandbase-b2b-data-api-rules.yml
🔗
Capabilities
https://raw.githubusercontent.com/api-evangelist/demandbase/refs/heads/main/capabilities/demandbase-b2b-data-api-capabilities.yml
🔗
ChangeLog
https://support.demandbase.com/hc/en-us/articles/25137915441947-Upgrading-to-Demandbase-IP-API-v3
🔗
Rules
https://raw.githubusercontent.com/api-evangelist/demandbase/refs/heads/main/rules/demandbase-ip-api-rules.yml
🔗
Capabilities
https://raw.githubusercontent.com/api-evangelist/demandbase/refs/heads/main/capabilities/demandbase-ip-api-capabilities.yml
🔗
Rules
https://raw.githubusercontent.com/api-evangelist/demandbase/refs/heads/main/rules/demandbase-admin-api-rules.yml
🔗
Capabilities
https://raw.githubusercontent.com/api-evangelist/demandbase/refs/heads/main/capabilities/demandbase-admin-api-capabilities.yml
🔗
Rules
https://raw.githubusercontent.com/api-evangelist/demandbase/refs/heads/main/rules/demandbase-data-export-api-rules.yml
🔗
Capabilities
https://raw.githubusercontent.com/api-evangelist/demandbase/refs/heads/main/capabilities/demandbase-data-export-api-capabilities.yml
🔗
Rules
https://raw.githubusercontent.com/api-evangelist/demandbase/refs/heads/main/rules/demandbase-data-import-api-rules.yml
🔗
Capabilities
https://raw.githubusercontent.com/api-evangelist/demandbase/refs/heads/main/capabilities/demandbase-data-import-api-capabilities.yml

OpenAPI Specification

demandbase-import-jobs-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Demandbase Account List Account Lists Import Jobs API
  description: Create, manage, and sync target account lists for ABM campaigns and personalization efforts. Build dynamic and static account lists, add or remove accounts, and sync lists with CRM systems.
  version: '1.0'
  contact:
    name: Demandbase Support
    url: https://support.demandbase.com/
  termsOfService: https://www.demandbase.com/terms-of-service/
servers:
- url: https://api.demandbase.com/accounts
  description: Demandbase Account List API Production
security:
- bearerAuth: []
tags:
- name: Import Jobs
  description: Create and manage data import jobs
paths:
  /import/v1/jobs:
    get:
      operationId: listImportJobs
      summary: Demandbase List import jobs
      description: Retrieve a list of data import jobs with their current status.
      tags:
      - Import Jobs
      parameters:
      - name: status
        in: query
        required: false
        description: Filter by job status
        schema:
          type: string
          enum:
          - pending
          - validating
          - processing
          - completed
          - failed
          - cancelled
      - name: limit
        in: query
        required: false
        schema:
          type: integer
          default: 25
      - name: offset
        in: query
        required: false
        schema:
          type: integer
          default: 0
      responses:
        '200':
          description: List of import jobs
          content:
            application/json:
              schema:
                type: object
                properties:
                  jobs:
                    type: array
                    items:
                      $ref: '#/components/schemas/ImportJob'
                  total:
                    type: integer
        '401':
          description: Unauthorized
    post:
      operationId: createImportJob
      summary: Demandbase Create an import job
      description: Create a new asynchronous data import job. Specify the entity type, operation mode (insert, update, or upsert), and field mappings. Upload the CSV data file after creating the job.
      tags:
      - Import Jobs
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateImportJobRequest'
      responses:
        '202':
          description: Import job created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ImportJob'
        '400':
          description: Invalid request
        '401':
          description: Unauthorized
  /import/v1/jobs/{jobId}:
    get:
      operationId: getImportJob
      summary: Demandbase Get import job status
      description: Retrieve the current status and details of a specific import job, including processing progress and error summary.
      tags:
      - Import Jobs
      parameters:
      - $ref: '#/components/parameters/jobId'
      responses:
        '200':
          description: Import job details
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ImportJob'
        '401':
          description: Unauthorized
        '404':
          description: Import job not found
    delete:
      operationId: cancelImportJob
      summary: Demandbase Cancel an import job
      description: Cancel a pending or validating import job.
      tags:
      - Import Jobs
      parameters:
      - $ref: '#/components/parameters/jobId'
      responses:
        '200':
          description: Import job cancelled
        '401':
          description: Unauthorized
        '404':
          description: Import job not found
        '409':
          description: Job cannot be cancelled
  /import/v1/jobs/{jobId}/errors:
    get:
      operationId: getImportErrors
      summary: Demandbase Get import errors
      description: Retrieve detailed error information for rows that failed during import.
      tags:
      - Import Jobs
      parameters:
      - $ref: '#/components/parameters/jobId'
      - name: limit
        in: query
        required: false
        schema:
          type: integer
          default: 100
      - name: offset
        in: query
        required: false
        schema:
          type: integer
          default: 0
      responses:
        '200':
          description: Import errors
          content:
            application/json:
              schema:
                type: object
                properties:
                  errors:
                    type: array
                    items:
                      $ref: '#/components/schemas/ImportError'
                  total:
                    type: integer
        '401':
          description: Unauthorized
        '404':
          description: Import job not found
components:
  parameters:
    jobId:
      name: jobId
      in: path
      required: true
      description: Import job unique identifier
      schema:
        type: string
  schemas:
    ImportError:
      type: object
      properties:
        row_number:
          type: integer
          description: Row number in the CSV file
        field:
          type: string
          description: Field that caused the error
        value:
          type: string
          description: Value that caused the error
        error_type:
          type: string
          description: Type of error
        message:
          type: string
          description: Error description
    CreateImportJobRequest:
      type: object
      required:
      - entity_type
      - operation
      properties:
        entity_type:
          type: string
          enum:
          - accounts
          - people
          - opportunities
          - activities
          description: Type of entity to import
        operation:
          type: string
          enum:
          - insert
          - update
          - upsert
          description: Import operation mode. Insert creates new records, update modifies existing records, upsert creates or updates based on match key.
        match_key:
          type: string
          description: Field used to match existing records for update/upsert operations (e.g., domain, email, account_id)
        field_mappings:
          type: array
          items:
            type: object
            properties:
              csv_column:
                type: string
                description: Column name in the CSV file
              demandbase_field:
                type: string
                description: Target Demandbase field name
          description: Map CSV columns to Demandbase fields
    ImportJob:
      type: object
      properties:
        id:
          type: string
          description: Import job unique identifier
        entity_type:
          type: string
          enum:
          - accounts
          - people
          - opportunities
          - activities
          description: Type of entity being imported
        operation:
          type: string
          enum:
          - insert
          - update
          - upsert
          description: Import operation mode
        status:
          type: string
          enum:
          - pending
          - validating
          - processing
          - completed
          - failed
          - cancelled
          description: Current job status
        total_rows:
          type: integer
          description: Total number of rows in the import file
        processed_rows:
          type: integer
          description: Number of rows processed so far
        success_count:
          type: integer
          description: Number of rows successfully imported
        error_count:
          type: integer
          description: Number of rows that failed
        file_name:
          type: string
          description: Name of the uploaded file
        file_size_bytes:
          type: integer
          description: Size of the uploaded file
        created_at:
          type: string
          format: date-time
          description: Job creation timestamp
        started_at:
          type: string
          format: date-time
          description: Processing start timestamp
        completed_at:
          type: string
          format: date-time
          description: Processing completion timestamp
        error_message:
          type: string
          description: Error details if the job failed
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT
      description: OAuth 2.0 bearer token for API access
externalDocs:
  description: Demandbase Account List API Documentation
  url: https://docs.demandbase.com/docs/account-list-api