{"components":{"callbacks":{},"examples":{},"headers":{},"links":{},"parameters":{},"requestBodies":{},"responses":{},"schemas":{"DeviceType":{"description":"The device type supported by the exchange.","enum":["CONNECTED_DEVICE","CONNECTED_TV","DESKTOP","MOBILE"],"type":"string"},"DspBadRequestExceptionResponseContent":{"properties":{"errors":{"items":{"$ref":"#/components/schemas/DspSubError"},"maxItems":100,"minItems":1,"type":"array"},"requestId":{"type":"string"}},"type":"object"},"DspConflictExceptionResponseContent":{"properties":{"errors":{"items":{"$ref":"#/components/schemas/DspSubError"},"maxItems":100,"minItems":1,"type":"array"},"requestId":{"type":"string"}},"type":"object"},"DspForbiddenExceptionResponseContent":{"properties":{"errors":{"items":{"$ref":"#/components/schemas/DspSubError"},"maxItems":100,"minItems":1,"type":"array"},"requestId":{"type":"string"}},"type":"object"},"DspInternalServerExceptionResponseContent":{"properties":{"errors":{"items":{"$ref":"#/components/schemas/DspSubError"},"maxItems":100,"minItems":1,"type":"array"},"requestId":{"type":"string"}},"type":"object"},"DspNotFoundExceptionResponseContent":{"properties":{"errors":{"items":{"$ref":"#/components/schemas/DspSubError"},"maxItems":100,"minItems":1,"type":"array"},"requestId":{"type":"string"}},"type":"object"},"DspSubError":{"properties":{"errorCode":{"type":"string"},"errorId":{"type":"string"},"errorMessage":{"type":"string"}},"required":["errorCode","errorMessage"],"type":"object"},"DspTooManyRequestsExceptionResponseContent":{"properties":{"errors":{"items":{"$ref":"#/components/schemas/DspSubError"},"maxItems":100,"minItems":1,"type":"array"},"requestId":{"type":"string"}},"type":"object"},"DspUnauthorizedExceptionResponseContent":{"properties":{"errors":{"items":{"$ref":"#/components/schemas/DspSubError"},"maxItems":100,"minItems":1,"type":"array"},"requestId":{"type":"string"}},"type":"object"},"DspUnsupportedMediaTypeExceptionResponseContent":{"properties":{"errors":{"items":{"$ref":"#/components/schemas/DspSubError"},"maxItems":100,"minItems":1,"type":"array"},"requestId":{"type":"string"}},"type":"object"},"Exchange":{"properties":{"countries":{"description":"The ISO Alpha-2 codes of countries where the inventory source is available.","items":{"type":"string"},"type":"array"},"deviceType":{"$ref":"#/components/schemas/DeviceType"},"id":{"description":"The ID of the exchange.","type":"string"},"inventorySourceType":{"$ref":"#/components/schemas/InventorySourceType"},"inventoryType":{"$ref":"#/components/schemas/InventoryType"},"mobileEnvironment":{"items":{"$ref":"#/components/schemas/MobileEnvironmentType"},"type":"array"},"name":{"description":"The name of the exchange.","type":"string"}},"type":"object"},"Filter":{"properties":{"field":{"$ref":"#/components/schemas/FilterField"},"value":{"description":"The value by which the Exchanges in the responses will be filtered against.\n\n| Filter Field | Accepted Values |\n|-----|-----|\n| INVENTORY_TYPE   | STANDARD_DISPLAY\u003cbr\u003eAMAZON_MOBILE_DISPLAY\u003cbr\u003eAAP_MOBILE_APP\u003cbr\u003eDISPLAY\u003cbr\u003eVIDEO\u003cbr\u003eSTREAMING_TV\u003cbr\u003eONLINE_VIDEO\u003cbr\u003eAUDIO\u003cbr\u003ePODCAST\u003cbr\u003eDIGITAL_OUT_OF_HOME\u003cbr\u003eLIVE_EVENTS |\n| INVENTORY_SOURCE_TYPE | AMAZON\u003cbr\u003eAMAZON_PUBLISHER_DIRECT\u003cbr\u003eOTHER\u003cbr\u003eTHIRD_PARTY_EXCHANGE |\n| DEVICE_TYPE | DESKTOP\u003cbr\u003eMOBILE\u003cbr\u003eCONNECTED_TV\u003cbr\u003eCONNECTED_DEVICE |\n| MOBILE_ENVIRONMENT | WEB\u003cbr\u003eAPP |\n\nDISPLAY is a new inventoryType that replaces STANDARD_DISPLAY, AAP_MOBILE_APP, AMAZON_MOBILE_DISPLAY. We recommend using DISPLAY as the other three types are on a deprecation path and will be removed in the next major version bump. AUDIO, PODCAST and DIGITAL_OUT_OF_HOME are new: Do not use these types until we announce the launch in our release notes.","type":"string"}},"required":["field","value"],"type":"object"},"FilterField":{"enum":["DEVICE_TYPE","INVENTORY_SOURCE_TYPE","INVENTORY_TYPE","MOBILE_ENVIRONMENT"],"type":"string"},"InventorySourceType":{"description":"The inventory source type of the exchange.","enum":["AMAZON","AMAZON_PUBLISHER_DIRECT","OTHER","THIRD_PARTY_EXCHANGE"],"type":"string"},"InventoryType":{"description":"The inventory type of the exchange.","enum":["AAP_MOBILE_APP","AMAZON_MOBILE_DISPLAY","AUDIO","DIGITAL_OUT_OF_HOME","DISPLAY","LIVE_EVENTS","ONLINE_VIDEO","PODCAST","STANDARD_DISPLAY","STREAMING_TV","VIDEO"],"type":"string"},"ListCMInventoryDiscoveryExchangesRequest":{"properties":{"filters":{"description":"List of filters to be applied to the result set of exchanges.\n     At least two filters, one for InventoryType and one for InventorySourceType, are required for a successful request. \u003cbr\u003e\u003cbr\u003e      `DEVICE_TYPE` filter is optional and applicable only for `INVENTORY_SOURCE_TYPE: AMAZON`. If `DEVICE_TYPE` is provided, each AMAZON exchange in the output will belong to at least 1 INVENTORY_TYPE, 1 INVENTORY_SOURCE_TYPE and 1 DEVICE_TYPE.      If `DEVICE_TYPE` filter is not provided, all AMAZON exchanges that belong to at least 1 INVENTORY_TYPE and 1 INVENTORY_SOURCE_TYPE are returned along with their supported device types. \u003cbr\u003e\u003cbr\u003e      For `INVENTORY_SOURCE_TYPE: AMAZON_PUBLISHER_DIRECT` and `INVENTORY_SOURCE_TYPE: THIRD_PARTY_EXCHANGE`, each NON-AMAZON exchange in the output is going to belong to at least 1 INVENTORY_SOURCE_TYPE and 1 INVENTORY_SOURCE_TYPE. Here, `DEVICE_TYPE` filter is ignored.","items":{"$ref":"#/components/schemas/Filter"},"maxItems":10,"minItems":2,"type":"array"}},"required":["filters"],"type":"object"},"ListCMInventoryDiscoveryExchangesResponse":{"properties":{"exchanges":{"items":{"$ref":"#/components/schemas/Exchange"},"maxItems":1000,"minItems":0,"type":"array"}},"type":"object"},"MobileEnvironmentType":{"description":"The environment type for mobile devices.","enum":["APP","WEB"],"type":"string"}},"securitySchemes":{}},"info":{"description":"Gets a list of targetable exchange inventory sources, including third-party exchanges, Amazon owned \u0026 operated inventory, and Amazon Publisher Direct     at either advertiser or manager account level. Use Amazon-Ads-AccountId to get exchanges at advertiser level. Use Amazon-Advertising-API-Scope and leave     Amazon-Ads-AccountId empty to get exchanges at manager account level.","title":"Discovery - Inventory Source Exchanges - V1","version":"3.0"},"openapi":"3.0.1","paths":{"/dsp/v1/inventorySourceExchanges/list":{"post":{"description":"\n\n**Requires one of these permissions**:\n[]","operationId":"ListCMInventoryDiscoveryExchangesV1","parameters":[{"description":"Account identifier you use to access the DSP. This is your Amazon DSP Advertiser ID. Use Amazon-Ads-AccountId to get resources at advertiser level. Use Amazon-Advertising-API-Scope and leave     Amazon-Ads-AccountId empty to get resources at manager account level.","in":"header","name":"Amazon-Ads-AccountId","schema":{"description":"Account identifier you use to access the DSP. This is your Amazon DSP Advertiser ID. Use Amazon-Ads-AccountId to get resources at advertiser level. Use Amazon-Advertising-API-Scope and leave     Amazon-Ads-AccountId empty to get resources at manager account level.","type":"string"}},{"description":"The identifier of a client associated with a \"Login with Amazon\" account.","in":"header","name":"Amazon-Advertising-API-ClientId","required":true,"schema":{"description":"The identifier of a client associated with a \"Login with Amazon\" account.","type":"string"}},{"description":"The identifier of a profile associated with the advertiser account. Use GET method on Profiles resource to list profiles associated with the access token passed in the HTTP Authorization header.","in":"header","name":"Amazon-Advertising-API-Scope","schema":{"description":"The identifier of a profile associated with the advertiser account. Use GET method on Profiles resource to list profiles associated with the access token passed in the HTTP Authorization header.","type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListCMInventoryDiscoveryExchangesRequest"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListCMInventoryDiscoveryExchangesResponse"}}},"description":"Successful operation."},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DspBadRequestExceptionResponseContent"}}},"description":"Bad Request or request body is not matching with input model."},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DspUnauthorizedExceptionResponseContent"}}},"description":"Unauthenticated request."},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DspForbiddenExceptionResponseContent"}}},"description":"Forbidden - Request failed because user is not authorized to access a resource."},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DspNotFoundExceptionResponseContent"}}},"description":"Not Found - Requested resource does not exist or is not visible for the authenticated user."},"409":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DspConflictExceptionResponseContent"}}},"description":"Conflict detected. A change has been made to the line items data since these draft changes were started. Create a new draft set and retry the commit with the new set."},"415":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DspUnsupportedMediaTypeExceptionResponseContent"}}},"description":"Unsupported Media Type - Version not supported."},"429":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DspTooManyRequestsExceptionResponseContent"}}},"description":"Too Many Requests - Request was rate-limited. Retry later."},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DspInternalServerExceptionResponseContent"}}},"description":"Internal Server Error."}},"tags":["Discovery - Inventory Source Exchanges"]}}}}