{"components":{"callbacks":{},"examples":{},"headers":{},"links":{},"parameters":{},"requestBodies":{},"responses":{},"schemas":{"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"},"DspCreateCampaignFlight":{"properties":{"budgetAmount":{"description":"The total flight budget amount. Currency is derived from the advertiser level.","format":"double","minimum":1,"type":"number"},"endDateTime":{"description":"The flight end timestamp. The format must be the RFC3339 profile of ISO-8601 (YYYY-MM-DDThh:mm:ssTZD).","format":"date-time","type":"string"},"impressionBudgetAmount":{"description":"The total flight impression budget amount against your flight budget.","format":"double","minimum":1,"type":"number"},"name":{"description":"The flight name.","type":"string"},"startDateTime":{"description":"The flight start timestamp. The format must be the RFC3339 profile of ISO-8601 (YYYY-MM-DDThh:mm:ssTZD).","format":"date-time","type":"string"}},"required":["budgetAmount","endDateTime","startDateTime"],"type":"object"},"DspCreateCampaignFlightOutput":{"properties":{"flightId":{"description":"The flight identifier.","type":"string"},"index":{"type":"integer"}},"type":"object"},"DspCreateCampaignFlightsContent":{"properties":{"flights":{"items":{"$ref":"#/components/schemas/DspCreateCampaignFlight"},"maxItems":150,"minItems":1,"type":"array"}},"required":["flights"],"type":"object"},"DspCreateCampaignFlightsResponseContent":{"properties":{"flights":{"items":{"$ref":"#/components/schemas/DspCreateCampaignFlightOutput"},"type":"array"}},"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"},"DspListCampaignFlight":{"properties":{"budgetAmount":{"description":"The total flight budget amount.","format":"double","type":"number"},"currencyCode":{"description":"ISO 4217 standard currency code for all currency-related campaign attributes.","type":"string"},"endDateTime":{"description":"The flight end date. When listing flights UTC time zone will be used.","format":"date-time","type":"string"},"flightId":{"description":"The flight identifier.","type":"string"},"impressionBudgetAmount":{"description":"The total flight impression budget amount against your flight budget.","format":"double","minimum":1,"type":"number"},"name":{"description":"The flight name.","type":"string"},"startDateTime":{"description":"The flight start date. When listing flights UTC time zone will be used.","format":"date-time","type":"string"}},"type":"object"},"DspListCampaignFlightsDateFiltersInput":{"properties":{"filterDateTime":{"description":"The date filter. Any time zone can be accepted as input. For example 2022-07-31T19:20:30+01:00.","format":"date-time","type":"string"},"filterOperator":{"$ref":"#/components/schemas/DspListCampaignFlightsFilterOperatorInput"},"filterType":{"$ref":"#/components/schemas/DspListCampaignFlightsFilterTypeInput"}},"required":["filterDateTime","filterOperator","filterType"],"type":"object"},"DspListCampaignFlightsFilterOperatorInput":{"description":"The operator for the date filter.","enum":["EQUALS","GREATER_THAN","LESS_THAN"],"type":"string"},"DspListCampaignFlightsFilterTypeInput":{"description":"The date filter type.","enum":["END_DATE","START_DATE"],"type":"string"},"DspListCampaignFlightsRequestContent":{"properties":{"dateFilters":{"items":{"$ref":"#/components/schemas/DspListCampaignFlightsDateFiltersInput"},"maxItems":4,"minItems":0,"type":"array"}},"type":"object"},"DspListCampaignFlightsResponseContent":{"properties":{"flights":{"items":{"$ref":"#/components/schemas/DspListCampaignFlight"},"type":"array"},"nextToken":{"description":"Operations that return paginated results include a pagination token in this field. To retrieve the next page of results, call the same operation and specify this token in the request. If the nextToken field is empty, there are no additional results.","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"},"DspUpdateCampaignFlight":{"properties":{"budgetAmount":{"description":"The total flight budget amount. Currency is derived from the advertiser level.","format":"double","minimum":1,"type":"number"},"endDateTime":{"description":"The flight end timestamp. The format must be the RFC3339 profile of ISO-8601 (YYYY-MM-DDThh:mm:ssTZD).","format":"date-time","type":"string"},"flightId":{"description":"The flight unique identifier.","type":"string"},"impressionBudgetAmount":{"description":"The total flight impression budget amount against your flight budget.","format":"double","minimum":1,"type":"number"},"name":{"description":"The flight name.","type":"string"},"startDateTime":{"description":"The flight start timestamp. The format must be the RFC3339 profile of ISO-8601 (YYYY-MM-DDThh:mm:ssTZD).","format":"date-time","type":"string"}},"required":["flightId"],"type":"object"},"DspUpdateCampaignFlightsContent":{"properties":{"flights":{"items":{"$ref":"#/components/schemas/DspUpdateCampaignFlight"},"maxItems":150,"minItems":1,"type":"array"}},"required":["flights"],"type":"object"},"dspDeleteCampaignFlightsV1RequestContent":{"properties":{"flightIds":{"items":{"type":"string"},"maxItems":150,"minItems":1,"type":"array"}},"required":["flightIds"],"type":"object"}},"securitySchemes":{}},"info":{"description":"\n    See the \u003ca href\u003d\"https://advertising.amazon.com/API/docs/en-us/reference/amazon-ads/overview\"\u003elatest Campaign Management APIs here\u003c/a\u003e for the latest \u003ca href\u003d\"https://advertising.amazon.com/API/docs/en-us/amazon-ads/1-0/apis#tag/Campaigns\"\u003eCampaigns\u003c/a\u003e objects. Use the \u003ca href\u003d\"https://advertising.amazon.com/API/docs/en-us/reference/amazon-ads/getting-started#openapi-specification-interface\"\u003eAd Product Pill selector\u003c/a\u003e to see ADSP. \u003cbr\u003e     Creates, updates, lists, or removes flights for a campaign. Flights are date ranges that have specific budgets assigned     to them within a campaign. Campaigns then deliver and pace to the active flight’s budget and time range. \u003cbr\u003e     \u003cul\u003e     \u003cli\u003eThis API does not support partial updates. If there\u0027s an error, the whole operation fails.\u003c/li\u003e     \u003cli\u003eCampaigns must have at least one flight before they can be created and may have a maximum of 150 flights.\u003c/li\u003e     \u003cli\u003eCampaigns may have a maximum of 12 active + future flights.\u003c/li\u003e     \u003cli\u003eFlights cannot be deleted if the start date has passed.\u003c/li\u003e     \u003cli\u003eIf more than 5 days have passed since the last flight end date, no new flights can be added.\u003c/li\u003e     \u003cli\u003eFlight dates cannot overlap.\u003c/li\u003e     \u003cli\u003eIf you need to delete, update, and create new flights, the sequence should be delete first, then update, then create.\u003c/li\u003e     \u003c/ul\u003e","title":"Campaign Flights - V1","version":"3.0"},"openapi":"3.0.1","paths":{"/dsp/v1/campaigns/{campaignId}/flights":{"patch":{"description":"Updates one or more flights on a campaign.\n\n**Authorized resource type**:\nDSP Rodeo Entity ID, DSP Advertiser Account ID\n\n**Parameter name**:\nAmazon-Ads-AccountId\n\n**Parameter in**:\nheader\n\n**Requires one of these permissions**:\n[\"campaign_edit\"]","operationId":"DspUpdateCampaignFlightsV1","parameters":[{"description":"The campaign identifier.","in":"path","name":"campaignId","required":true,"schema":{"description":"The campaign identifier.","type":"string"}},{"description":"Account identifier you use to access the DSP. This is your Amazon DSP Advertiser ID.","in":"header","name":"Amazon-Ads-AccountId","required":true,"schema":{"description":"Account identifier you use to access the DSP. This is your Amazon DSP Advertiser ID.","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/DspUpdateCampaignFlightsContent"}}},"required":true},"responses":{"204":{"description":"Success with no body content."},"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":["Campaign Flights"]},"post":{"description":"Creates and associates one or more flights to a campaign. Newly created flights will be appended to the existing list of flights.\n\n**Authorized resource type**:\nDSP Rodeo Entity ID, DSP Advertiser Account ID\n\n**Parameter name**:\nAmazon-Ads-AccountId\n\n**Parameter in**:\nheader\n\n**Requires one of these permissions**:\n[\"campaign_edit\"]","operationId":"DspCreateCampaignFlightsV1","parameters":[{"description":"The campaign identifier.","in":"path","name":"campaignId","required":true,"schema":{"description":"The campaign identifier.","type":"string"}},{"description":"Account identifier you use to access the DSP. This is your Amazon DSP Advertiser ID.","in":"header","name":"Amazon-Ads-AccountId","required":true,"schema":{"description":"Account identifier you use to access the DSP. This is your Amazon DSP Advertiser ID.","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/DspCreateCampaignFlightsContent"}}},"required":true},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DspCreateCampaignFlightsResponseContent"}}},"description":"dspCreateCampaignFlightsV1 200 response"},"204":{"description":"Success with no body content."},"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":["Campaign Flights"]}},"/dsp/v1/campaigns/{campaignId}/flights/delete":{"post":{"description":"Deletes one or more flights and removes them from a campaign.\n\n**Authorized resource type**:\nDSP Rodeo Entity ID, DSP Advertiser Account ID\n\n**Parameter name**:\nAmazon-Ads-AccountId\n\n**Parameter in**:\nheader\n\n**Requires one of these permissions**:\n[\"campaign_edit\"]","operationId":"DspDeleteCampaignFlightsV1","parameters":[{"description":"The campaign identifier.","in":"path","name":"campaignId","required":true,"schema":{"description":"The campaign identifier.","type":"string"}},{"description":"Account identifier you use to access the DSP. This is your Amazon DSP Advertiser ID.","in":"header","name":"Amazon-Ads-AccountId","required":true,"schema":{"description":"Account identifier you use to access the DSP. This is your Amazon DSP Advertiser ID.","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/dspDeleteCampaignFlightsV1RequestContent"}}},"required":true},"responses":{"204":{"description":"Success with no body content."},"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":["Campaign Flights"]}},"/dsp/v1/campaigns/{campaignId}/flights/list":{"post":{"description":"Lists flights associated with a campaign.\n\n**Authorized resource type**:\nDSP Rodeo Entity ID, DSP Advertiser Account ID\n\n**Parameter name**:\nAmazon-Ads-AccountId\n\n**Parameter in**:\nheader\n\n**Requires one of these permissions**:\n[\"campaign_view\"]","operationId":"DspListCampaignFlightsV1","parameters":[{"description":"The campaign identifier.","in":"path","name":"campaignId","required":true,"schema":{"description":"The campaign identifier.","type":"string"}},{"description":"Operations that return paginated results include a pagination token in this field. To retrieve the next page of results, call the same operation and specify this token in the request. If the nextToken field is empty, there are no further results.","in":"query","name":"nextToken","schema":{"description":"Operations that return paginated results include a pagination token in this field. To retrieve the next page of results, call the same operation and specify this token in the request. If the nextToken field is empty, there are no further results.","type":"string"}},{"description":"Sets the maximum number of objects in the returned array. Use in conjunction with the nextToken parameter to control pagination. For example, supplying maxResults\u003d20 with a previously returned token will fetch up to the next 20 items. In some cases, fewer items may be returned.","in":"query","name":"maxResults","schema":{"description":"Sets the maximum number of objects in the returned array. Use in conjunction with the nextToken parameter to control pagination. For example, supplying maxResults\u003d20 with a previously returned token will fetch up to the next 20 items. In some cases, fewer items may be returned.","maximum":150,"type":"integer"}},{"description":"Account identifier you use to access the DSP. This is your Amazon DSP Advertiser ID.","in":"header","name":"Amazon-Ads-AccountId","required":true,"schema":{"description":"Account identifier you use to access the DSP. This is your Amazon DSP Advertiser ID.","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/DspListCampaignFlightsRequestContent"}}}},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DspListCampaignFlightsResponseContent"}}},"description":"List campaign flights."},"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":["Campaign Flights"]}}}}