openapi: 3.0.3 info: version: 5.13.0 title: Pinterest Orders API description: This is the description of your API. contact: name: Pinterest, Inc. url: https://developers.pinterest.com/ license: name: MIT url: https://spdx.org/licenses/MIT termsOfService: https://developers.pinterest.com/terms/ servers: - url: https://api.pinterest.com/v5 tags: - name: Orders paths: /ad_accounts/{ad_account_id}/ssio/insertion_orders: post: summary: Create insertion order through SSIO. description: 'Create insertion order through SSIO for ad_account_id. - The token''s user_account must either be the Owner of the specified ad account, or have one of the necessary roles granted to them via Business Access: Admin, Finance, Campaign.' operationId: ssio_insertion_order/create security: - pinterest_oauth2: - ads:write x-ratelimit-category: ads_write x-sandbox: enabled parameters: - $ref: '#/components/parameters/path_ad_account_id' requestBody: content: application/json: schema: $ref: '#/components/schemas/SSIOCreateInsertionOrderRequest' description: Order line to create. required: true responses: '200': content: application/json: schema: $ref: '#/components/schemas/SSIOCreateInsertionOrderResponse' description: Success '400': description: Invalid request. content: application/json: schema: $ref: '#/components/schemas/Error' example: code: 400 message: Invalid request. default: description: Unexpected error content: application/json: schema: $ref: '#/components/schemas/Error' tags: - Orders patch: summary: Edit insertion order through SSIO. description: 'Edit insertion order through SSIO for ad_account_id. - The token''s user_account must either be the Owner of the specified ad account, or have one of the necessary roles granted to them via Business Access: Admin, Finance, Campaign.' operationId: ssio_insertion_order/edit security: - pinterest_oauth2: - ads:write x-ratelimit-category: ads_write x-sandbox: enabled parameters: - $ref: '#/components/parameters/path_ad_account_id' requestBody: content: application/json: schema: $ref: '#/components/schemas/SSIOEditInsertionOrderRequest' description: Order line to create. required: true responses: '200': content: application/json: schema: $ref: '#/components/schemas/SSIOEditInsertionOrderResponse' description: Success '400': description: Invalid request. content: application/json: schema: $ref: '#/components/schemas/Error' example: code: 400 message: Invalid request. default: description: Unexpected error content: application/json: schema: $ref: '#/components/schemas/Error' tags: - Orders /ad_accounts/{ad_account_id}/ssio/insertion_orders/status: get: summary: Get insertion order status by ad account id. description: 'Get insertion order status for account id ad_account_id. - The token''s user_account must either be the Owner of the specified ad account, or have one of the necessary roles granted to them via Business Access: Admin, Finance, Campaign.' operationId: ssio_insertion_orders_status/get_by_ad_account security: - pinterest_oauth2: - ads:read x-ratelimit-category: ads_read x-sandbox: enabled parameters: - $ref: '#/components/parameters/path_ad_account_id' - $ref: '#/components/parameters/query_bookmark' - $ref: '#/components/parameters/query_page_size' responses: '200': content: application/json: schema: allOf: - $ref: '#/components/schemas/Paginated' - type: object properties: items: description: Insertion orders status by ad acount id items: $ref: '#/components/schemas/SSIOInsertionOrderStatus' description: Success '400': description: Invalid request parameter. content: application/json: schema: $ref: '#/components/schemas/Error' example: code: 400 message: Invalid request parameter. default: description: Unexpected error content: application/json: schema: $ref: '#/components/schemas/Error' tags: - Orders /ad_accounts/{ad_account_id}/ssio/insertion_orders/{pin_order_id}/status: get: summary: Get insertion order status by pin order id. description: 'Get insertion order status for pin order id pin_order_id. - The token''s user_account must either be the Owner of the specified ad account, or have one of the necessary roles granted to them via Business Access: Admin, Finance, Campaign.' operationId: ssio_insertion_orders_status/get_by_pin_order_id security: - pinterest_oauth2: - ads:read x-ratelimit-category: ads_read x-sandbox: enabled parameters: - $ref: '#/components/parameters/path_ad_account_id' - $ref: '#/components/parameters/path_pin_order_id' responses: '200': content: application/json: schema: $ref: '#/components/schemas/SSIOInsertionOrderStatusResponse' description: Success '400': description: Invalid request parameter. content: application/json: schema: $ref: '#/components/schemas/Error' example: code: 400 message: Invalid request parameter. default: description: Unexpected error content: application/json: schema: $ref: '#/components/schemas/Error' tags: - Orders components: parameters: query_page_size: name: page_size description: Maximum number of items to include in a single page of the response. See documentation on Pagination for more information. in: query required: false schema: type: integer minimum: 1 maximum: 250 default: 25 query_bookmark: name: bookmark description: Cursor used to fetch the next page of items in: query required: false schema: type: string path_ad_account_id: name: ad_account_id description: Unique identifier of an ad account. in: path required: true schema: type: string pattern: ^\d+$ maxLength: 18 path_pin_order_id: description: The pin order id associated with the ssio insertion order in: path name: pin_order_id required: true schema: type: string example: 0Q01N0000015hekSVDFDC schemas: Currency: type: string description: Currency Codes from ISO 4217 example: USD enum: - UNK - USD - GBP - CAD - EUR - AUD - NZD - SEK - ILS - CHF - HKD - JPY - SGD - KRW - NOK - DKK - PLN - RON - HUF - CZK - BRL - MXN - ARS - CLP - COP SSIOInsertionOrderStatusResponse: allOf: - $ref: '#/components/schemas/SSIOInsertionOrderStatus' - type: object SSIOEditInsertionOrderRequest: type: object allOf: - $ref: '#/components/schemas/SSIOInsertionOrderCommon' - type: object properties: oracle_line_id: description: LineId in the Oracle DB type: string salesforce_order_id: description: OrderId in SFDC type: string salesforce_order_line_id: description: OrderLineId in SFDC type: string ads_manager_order_line_id: description: Ads manager OrderLineId type: string SSIOCreateInsertionOrderResponse: type: object properties: pin_order_id: description: Salesforce order id type: string Error: title: Error type: object properties: code: type: integer message: type: string required: - code - message SSIOInsertionOrderStatus: type: object properties: pin_order_id: description: Salesforce order id example: 0Q01N0000015hekSAB type: string status: description: Salesforce insertion order status example: Approved type: string creation_time: description: Salesforce insertion order creation time example: '2017-06-21T23:11:11.000Z' type: string nullable: true SSIOEditInsertionOrderResponse: type: object properties: pin_order_id: description: Salesforce order id type: string SSIOCreateInsertionOrderRequest: type: object allOf: - $ref: '#/components/schemas/SSIOInsertionOrderCommon' - type: object required: - order_line_type - start_date - po_number - pmp_id - order_name - media_contact_firstname - media_contact_lastname - media_contact_email - currency_info - billto_company_id - billto_business_address_id - billto_billing_address_id - billing_contact_firstname - billing_contact_lastname - billing_contact_email - accepted_terms_id properties: accepted_terms_time: description: The UTC timestamp (to the nearest sec) of when terms were accepted type: integer pmp_id: description: The pmp id type: string order_name: description: The order name type: string order_line_type: type: string description: Type can be Budget or Perpetual enum: - BUDGET - PERPETUALS accepted_terms_id: description: The SFDC id for the terms type: string billto_company_id: description: The bill-to company id type: string billto_business_address_id: description: The bill-to business address id type: string billto_billing_address_id: description: The bill-to billing address id type: string estimated_monthly_spend: description: If Ongoing (perpetual) order line, the estimated monthly spend type: number currency_info: $ref: '#/components/schemas/Currency' SSIOInsertionOrderCommon: type: object properties: start_date: description: 'Starting date of time period. Format: YYYY-MM-DD' type: string pattern: ^(\d{4})-(\d{2})-(\d{2})$ example: '2020-12-20' end_date: description: 'End date of time period. Format: YYYY-MM-DD' type: string pattern: ^(\d{4})-(\d{2})-(\d{2})$ example: '2020-12-20' po_number: description: The po number type: string budget_amount: type: number description: If Budget order line, the budget amount. example: 5000000 billing_contact_firstname: description: The billing contact first name type: string billing_contact_lastname: description: The billing contact last name type: string billing_contact_email: description: The billing contact email example: test@example type: string media_contact_firstname: description: The media contact first name type: string media_contact_lastname: description: The media contact last name type: string media_contact_email: description: The media contact email example: test@example type: string agency_link: description: URL link for agency type: string user_email: description: The email of user submitting the insertion order example: test@example type: string Paginated: type: object properties: items: type: array items: type: object bookmark: type: string nullable: true required: - items securitySchemes: pinterest_oauth2: type: oauth2 flows: authorizationCode: authorizationUrl: https://www.pinterest.com/oauth/ tokenUrl: https://api.pinterest.com/v5/oauth/token scopes: ads:read: See all of your advertising data, including ads, ad groups, campaigns etc. ads:write: Create, update, or delete ads, ad groups, campaigns etc. billing:read: See all of your billing data, billing profile, etc. billing:write: Create, update, or delete billing data, billing profiles, etc. biz_access:read: See business access data biz_access:write: Create, update, or delete business access data boards:read: See your public boards, including group boards you join boards:read_secret: See your secret boards boards:write: Create, update, or delete your public boards boards:write_secret: Create, update, or delete your secret boards catalogs:read: See all of your catalogs data catalogs:write: Create, update, or delete your catalogs data pins:read: See your public Pins pins:read_secret: See your secret Pins pins:write: Create, update, or delete your public Pins pins:write_secret: Create, update, or delete your secret Pins user_accounts:read: See your user accounts and followers user_accounts:write: Update your user accounts and followers conversion_token: type: http scheme: bearer description: This security scheme only applies to the conversion events endpoint (POST /ad_accounts/{ad_account_id}/events). This endpoint requires a bearer token generated via Ads Manager (ads.pinterest.com). basic: type: http scheme: basic x-tagGroups: - name: Pin and Boards tags: - pins - boards - media - aggregated_comments - aggregated_pin_data - user_account - name: Campaign Management tags: - ad_accounts - campaigns - ad_groups - ads - product_group_promotions - bulk - name: Targeting tags: - audiences - customer_lists - keywords - targeting_template - audience_insights - audience_sharing - name: Ad Formats tags: - lead_forms - lead_ads - leads_export - name: Billing tags: - billing - order_lines - terms_of_service - name: Business Access tags: - business_access_assets - business_access_invite - business_access_relationships - name: Conversions tags: - conversion_events - conversion_tags - name: Others tags: - integrations - oauth - resources - search - terms - name: Shopping tags: - catalogs - name: Deprecated tags: - product_groups