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