openapi: 3.0.4 info: title: TTD Data Advertiser 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: Advertiser paths: /data/advertiser: post: tags: - Advertiser summary: Upload first-party data for the specified ID for use in audience targeting. operationId: IngestAdvertiserData 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/AdvertiserDataRequest' required: true responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/AdvertiserDataServerResponse' '400': description: Bad Request - Invalid JSON, missing items, advertiser not configured, or policy restrictions content: application/json: schema: $ref: '#/components/schemas/AdvertiserDataServerResponse' '403': description: Forbidden - Cannot create new targeting data for this advertiser 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/AdvertiserDataServerResponse' '500': description: Internal Server Error - Unexpected server error '503': description: Service Unavailable - Handler disabled or request dropped servers: - url: https://usw-data.adsrvr.org components: schemas: AdvertiserDataRequest: required: - AdvertiserId type: object properties: AdvertiserId: type: string DataProviderId: type: string nullable: true Items: type: array items: $ref: '#/components/schemas/AdvertiserDataItem' nullable: true DataLoadTraceId: type: string nullable: true DataOrigins: type: array items: $ref: '#/components/schemas/DataOrigin' nullable: true additionalProperties: false DataOrigin: required: - Id - Type type: object properties: Id: type: string Type: $ref: '#/components/schemas/DataOriginType' additionalProperties: false AdvertiserDataServerResponse: type: object properties: FailedLines: type: array items: $ref: '#/components/schemas/AdvertiserDataServerResponseLine' nullable: true additionalProperties: false AdvertiserDataResponseErrorCode: enum: - Unknown - BaseBidCPMMetadataTooLong - MissingUserId - UserNotMapped - Deprecated_MissingCookieMappingPartnerId - InvalidBidFactor - DataNameTooLong - InvalidTtlInMinutes - InvalidBaseBidCPM - Uid2Error type: string AdvertiserData: required: - Name type: object properties: Name: type: string TimestampUtc: type: string format: date-time nullable: true TtlInMinutes: type: integer format: int32 nullable: true BaseBidCPM: type: number format: double nullable: true BaseBidCPMMetadata: type: string nullable: true BidFactor: type: number format: double nullable: true additionalProperties: false AdvertiserDataServerResponseLine: type: object properties: TDID: type: string format: uuid nullable: true DataName: type: string nullable: true ErrorCode: $ref: '#/components/schemas/AdvertiserDataResponseErrorCode' Message: type: string nullable: true ItemNumber: type: string nullable: true additionalProperties: false DataOriginType: type: string enum: - Advertiser - DataProvider - Integration - Onboarder AdvertiserDataItem: required: - Data type: object properties: 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/AdvertiserData' CookieMappingPartnerId: type: string nullable: true additionalProperties: false x-speakeasy-name-override: BaseAdvertiserDataItem