> ## Documentation Index
> Fetch the complete documentation index at: https://docs.narrative.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Create a synchronization request

> Sends draft and changed taxonomy elements to The Trade Desk. Returns 409 while another request is pending or in
progress, and 400 if the profile has no brand id or there is nothing to synchronize.



## OpenAPI

````yaml https://thetradedesk.narrativeconnectors.com/openapi.json post /taxonomies/synchronization-requests
openapi: 3.0.2
info:
  title: The Trade Desk Connector API
  version: '2026-10-07'
  description: >-
    The Trade Desk connector API.


    Every operation except `/interfaces` and `/version` needs a Narrative API
    token in the

    `Authorization: Bearer <token>` header. A request without the header gets a
    403 with an empty body.
servers:
  - url: https://thetradedesk.narrativeconnectors.com
    description: Production
  - url: https://thetradedesk-dev.narrativeconnectors.com
    description: Development
security:
  - smithy.api.httpBearerAuth: []
paths:
  /taxonomies/synchronization-requests:
    post:
      tags:
        - taxonomies
      summary: Create a synchronization request
      description: >-
        Sends draft and changed taxonomy elements to The Trade Desk. Returns 409
        while another request is pending or in

        progress, and 400 if the profile has no brand id or there is nothing to
        synchronize.
      operationId: CreateSynchronizationRequest
      responses:
        '201':
          description: Created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SynchronizationRequest'
        '400':
          description: >-
            The request is invalid. `error` is `bad_payload` when the body or a
            parameter cannot be read, or `invalid_request` when the request is
            well-formed but cannot be applied.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BadRequestError'
        '403':
          description: >-
            The token is missing, invalid or expired, or the company has not
            installed the app. A request without an `Authorization: Bearer`
            header gets an empty body.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ForbiddenError'
        '409':
          description: >-
            Another synchronization request is pending or in progress. `error`
            is `conflict`.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SynchronizationRequestInProgressError'
        '500':
          description: Unexpected failure.
        '502':
          description: The Narrative API or The Trade Desk API failed.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UpstreamError'
components:
  schemas:
    SynchronizationRequest:
      type: object
      properties:
        id:
          type: string
        company_id:
          type: integer
          description: Narrative company id.
          format: int64
        created_at:
          type: string
          format: date-time
        jobs:
          $ref: '#/components/schemas/SynchronizationJobsSummary'
        status:
          $ref: '#/components/schemas/SynchronizationStatus'
        updated_at:
          type: string
          format: date-time
      required:
        - company_id
        - created_at
        - id
        - jobs
        - status
        - updated_at
    BadRequestError:
      type: object
      description: >-
        The request is invalid. `error` is `bad_payload` when the body or a
        parameter cannot be read, or

        `invalid_request` when the request is well-formed but cannot be applied.
      properties:
        error:
          type: string
          description: '`bad_payload` or `invalid_request`.'
        error_description:
          type: string
      required:
        - error
        - error_description
    ForbiddenError:
      type: object
      description: >-
        The token is missing, invalid or expired, or the company has not
        installed the app. A request without an

        `Authorization: Bearer` header gets an empty body.
      properties:
        error:
          type: string
          description: '`forbidden` or `app_not_installed`.'
        error_description:
          type: string
    SynchronizationRequestInProgressError:
      type: object
      description: >-
        Another synchronization request is pending or in progress. `error` is
        `conflict`.
      properties:
        error:
          type: string
        error_description:
          type: string
      required:
        - error
        - error_description
    UpstreamError:
      type: object
      description: The Narrative API or The Trade Desk API failed.
      properties:
        error:
          type: string
          description: '`upstream_error`.'
        error_description:
          type: string
      required:
        - error
        - error_description
    SynchronizationJobsSummary:
      type: object
      properties:
        create_connections:
          $ref: '#/components/schemas/SynchronizationJobStats'
        create_data_rate_batches:
          $ref: '#/components/schemas/SynchronizationJobStats'
        create_taxonomy_elements:
          $ref: '#/components/schemas/SynchronizationJobStats'
      required:
        - create_connections
        - create_data_rate_batches
        - create_taxonomy_elements
    SynchronizationStatus:
      type: string
      enum:
        - completed
        - failed
        - in-progress
        - pending
    SynchronizationJobStats:
      type: object
      properties:
        completed:
          type: integer
          format: int64
        failed:
          type: integer
          format: int64
        failures:
          type: array
          items:
            $ref: '#/components/schemas/SynchronizationJobFailure'
        in_progress:
          type: integer
          format: int64
        pending:
          type: integer
          format: int64
      required:
        - completed
        - failed
        - failures
        - in_progress
        - pending
    SynchronizationJobFailure:
      type: object
      properties:
        id:
          type: integer
          description: Synchronization job id.
          format: int64
        failures:
          type: array
          items:
            $ref: '#/components/schemas/SynchronizationFailure'
      required:
        - failures
        - id
    SynchronizationFailure:
      type: object
      properties:
        message:
          type: string
        timestamp:
          type: string
          format: date-time
        value:
          description: The input or response that caused the failure.
      required:
        - message
        - timestamp
        - value
  securitySchemes:
    smithy.api.httpBearerAuth:
      type: http
      description: HTTP Bearer authentication
      scheme: Bearer

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.