The Trade Desk ThirdParty API

The ThirdParty API from The Trade Desk — 1 operation(s) for thirdparty.

OpenAPI Specification

trade-desk-thirdparty-api-openapi.yml Raw ↑
openapi: 3.0.4
info:
  title: TTD Data Advertiser ThirdParty API
  version: v0.1
  description: 'Python SDK for The Trade Desk Data API. Provides operations for ingesting advertiser data,

    third-party data, and offline conversions, as well as handling data subject deletion and opt-out requests.


    For more information, see the official API documentation:

    - [Advertiser targeting data (1PD)](https://open.thetradedesk.com/advertiser/docsApp/GuidesAdvertiser/data/doc/post-data-advertiser-firstparty)

    - [Third-party targeting data (3PD)](https://open.thetradedesk.com/provider/docsApp/GuidesProvider/audience/doc/post-data-thirdparty)

    - [Offline conversions (CAPI)](https://open.thetradedesk.com/advertiser/docsApp/GuidesAdvertiser/data/doc/post-providerapi-offlineconversion)


    Deletions and opt-outs:

    - [Advertiser](https://open.thetradedesk.com/advertiser/docsApp/GuidesAdvertiser/data/doc/post-data-deletion-optout-advertiser)

    - [Third party](https://open.thetradedesk.com/provider/docsApp/GuidesProvider/audience/doc/post-data-deletion-optout-thirdparty)

    - [Merchant](https://open.thetradedesk.com/provider/docsApp/GuidesProvider/retail/doc/post-data-deletion-optout-merchant)

    '
tags:
- name: ThirdParty
paths:
  /data/thirdparty:
    post:
      tags:
      - ThirdParty
      summary: Upload third-party data for the specified data provider for use in audience targeting.
      operationId: IngestThirdPartyData
      parameters:
      - name: TTD-Auth
        in: header
        description: Data API token for authentication.
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ThirdPartyDataRequest'
        required: true
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ThirdPartyDataServerResponse'
        '400':
          description: Bad Request - Invalid JSON, missing items, data provider not configured, or policy restrictions
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ThirdPartyDataServerResponse'
        '403':
          description: Forbidden - Cannot create new targeting data for this data provider
          content:
            application/json:
              schema:
                type: string
        '413':
          description: Request Entity Too Large - Request size exceeds the allowed limit
          content:
            application/json:
              schema:
                type: string
        '429':
          description: Too Many Requests - Rate limit exceeded
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ThirdPartyDataServerResponse'
        '500':
          description: Internal Server Error - Unexpected server error
        '503':
          description: Service Unavailable - Handler disabled or request dropped
      servers:
      - url: https://bulk-data.adsrvr.org
components:
  schemas:
    ThirdPartyDataResponseErrorCode:
      enum:
      - Unknown
      - MissingUserId
      - UserNotMapped
      - DataNameTooLong
      - UnauthorisedThirdPartyDataWithBaseBidCPM
      - InvalidTtlInMinutes
      - Uid2Error
      type: string
    DataOrigin:
      required:
      - Id
      - Type
      type: object
      properties:
        Id:
          type: string
        Type:
          $ref: '#/components/schemas/DataOriginType'
      additionalProperties: false
    ThirdPartyData:
      required:
      - Name
      type: object
      properties:
        Name:
          type: string
        TimestampUtc:
          type: string
          format: date-time
          nullable: true
        TtlInMinutes:
          type: integer
          format: int32
          nullable: true
      additionalProperties: false
    ThirdPartyDataRequest:
      required:
      - DataProviderId
      type: object
      properties:
        DataProviderId:
          type: string
        Items:
          type: array
          items:
            $ref: '#/components/schemas/ThirdPartyDataItem'
          nullable: true
        DataLoadTraceId:
          type: string
          nullable: true
        IsUserIdAlreadyHashed:
          type: boolean
          default: false
        DataOrigins:
          type: array
          items:
            $ref: '#/components/schemas/DataOrigin'
          nullable: true
      additionalProperties: false
    ThirdPartyDataItem:
      required:
      - Data
      type: object
      properties:
        DataProviderUserId:
          type: string
          nullable: true
        TDID:
          type: string
          nullable: true
        DAID:
          type: string
          nullable: true
        UID2:
          type: string
          nullable: true
        UID2Token:
          type: string
          nullable: true
        RampID:
          type: string
          nullable: true
        CoreID:
          type: string
          nullable: true
        EUID:
          type: string
          nullable: true
        EUIDToken:
          type: string
          nullable: true
        ID5:
          type: string
          nullable: true
        NetID:
          type: string
          nullable: true
        FirstID:
          type: string
          nullable: true
        MerkuryID:
          type: string
          nullable: true
        IqviaPPID:
          type: string
          nullable: true
        Data:
          type: array
          items:
            $ref: '#/components/schemas/ThirdPartyData'
        CookieMappingPartnerId:
          type: string
          nullable: true
      additionalProperties: false
      x-speakeasy-name-override: BaseThirdPartyDataItem
    ThirdPartyDataServerResponse:
      type: object
      properties:
        FailedLines:
          type: array
          items:
            $ref: '#/components/schemas/ThirdPartyDataServerResponseLine'
          nullable: true
      additionalProperties: false
    ThirdPartyDataServerResponseLine:
      type: object
      properties:
        DataProviderUserId:
          type: string
          nullable: true
        TDID:
          type: string
          format: uuid
          nullable: true
        DataName:
          type: string
          nullable: true
        ErrorCode:
          $ref: '#/components/schemas/ThirdPartyDataResponseErrorCode'
        Message:
          type: string
          nullable: true
        ItemNumber:
          type: string
          nullable: true
      additionalProperties: false
    DataOriginType:
      type: string
      enum:
      - Advertiser
      - DataProvider
      - Integration
      - Onboarder