openapi: 3.2.0 info: title: TTD Data IP Address API version: v0.1 tags: - name: IP Address paths: /data/firstpartyipaddress: post: tags: - IP Address summary: Upload first-party IP address data for the specified ID operationId: IngestFirstPartyIPAddressData 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/IPAddressDataRequest' required: true responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/IPAddressDataServerResponse' '400': description: Bad Request - Invalid JSON, missing items, advertiser not configured, or policy restrictions content: application/json: schema: $ref: '#/components/schemas/IPAddressDataServerResponse' '401': description: Unauthorized - Invalid or missing authentication token content: application/json: schema: type: string '403': description: Forbidden - Cannot upload IP address data for this advertiser content: application/json: schema: type: string '429': description: Too Many Requests - Rate limit exceeded content: application/json: schema: $ref: '#/components/schemas/IPAddressDataServerResponse' '500': description: Internal Server Error - Unexpected server error '503': description: Service Unavailable - Handler disabled or request dropped servers: - url: https://usw-data.adsrvr.org /data/thirdpartyipaddress: post: tags: - IP Address summary: Upload third-party IP address data for the specified ID operationId: IngestThirdPartyIPAddressData 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/IPAddressDataRequest' required: true responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/IPAddressDataServerResponse' '400': description: Bad Request - Invalid JSON, missing items, data provider not configured, or policy restrictions content: application/json: schema: $ref: '#/components/schemas/IPAddressDataServerResponse' '401': description: Unauthorized - Invalid or missing authentication token content: application/json: schema: type: string '403': description: Forbidden - Cannot upload IP address data for this data provider content: application/json: schema: type: string '429': description: Too Many Requests - Rate limit exceeded content: application/json: schema: $ref: '#/components/schemas/IPAddressDataServerResponse' '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: IPAddressDataResponseErrorCode: enum: - Unknown - MissingDataOwnerId - DataOwnerIdNotMapped - InvalidIPAddress - InvalidIPAddressRange - EuIpTargetingNotAllowedForPartner - NotTargetable type: string IPAddressDataServerResponseLine: type: object properties: DataName: type: - string - 'null' ErrorCode: $ref: '#/components/schemas/IPAddressDataResponseErrorCode' IPAddress: type: - string - 'null' Message: type: - string - 'null' ItemNumber: type: - string - 'null' DataNumber: type: - string - 'null' additionalProperties: false IPAddressData: required: - Name type: object properties: Name: type: string TimestampUtc: type: - string - 'null' format: date-time TtlInMinutes: type: - integer - 'null' format: int32 TargetingDataMetadataId: type: - integer - 'null' format: int64 IPAddresses: type: - array - 'null' items: type: string IPAddressRanges: type: - array - 'null' items: type: string ExpandedIpAddresses: type: - array - 'null' items: $ref: '#/components/schemas/ExpandedIpAddress' additionalProperties: false IPAddressDataServerResponse: type: object properties: DataOwnerId: type: - string - 'null' FailedLines: type: - array - 'null' items: $ref: '#/components/schemas/IPAddressDataServerResponseLine' additionalProperties: false IPAddressDataItem: required: - Data type: object properties: TDID: type: - string - 'null' DAID: type: - string - 'null' UID2: type: - string - 'null' UID2Token: type: - string - 'null' RampID: type: - string - 'null' CoreID: type: - string - 'null' EUID: type: - string - 'null' EUIDToken: type: - string - 'null' ID5: type: - string - 'null' NetID: type: - string - 'null' FirstID: type: - string - 'null' UtiqID: type: - string - 'null' MerkuryID: type: - string - 'null' RealID: type: - string - 'null' IqviaPPID: type: - string - 'null' Data: type: array items: $ref: '#/components/schemas/IPAddressData' CookieMappingPartnerId: type: - string - 'null' additionalProperties: false IPAddressDataRequest: required: - DataOwnerId type: object properties: DataOwnerId: type: string Items: type: - array - 'null' items: $ref: '#/components/schemas/IPAddressDataItem' DataLoadTraceId: type: - string - 'null' additionalProperties: false ExpandedIpAddress: type: object properties: IPAddress: type: - string - 'null' IPAddressRange: type: - string - 'null' TargetingDataMetadataId: type: - integer - 'null' format: int64 additionalProperties: false