openapi: 3.0.4 info: title: TTD Data Advertiser API version: v0.1 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 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 - InvalidDataOwnerId - InvalidParameterFormat - TargetingDataCreationLimitExceeded - TargetingDataCountLimitExceeded - TenantRestrictionsExternalData - TargetingDataDisabled - ItemDeserializationError 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 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 UtiqID: 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