Pinterest Insertion API

The Insertion API from Pinterest — 3 operation(s) for insertion.

OpenAPI Specification

pinterest-insertion-api-openapi.yml Raw ↑
openapi: 3.0.3
info:
  version: 5.13.0
  title: Pinterest Insertion 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: Insertion
paths:
  /ad_accounts/{ad_account_id}/ssio/insertion_orders:
    post:
      summary: Create insertion order through SSIO.
      description: 'Create insertion order through SSIO for <code>ad_account_id</code>.

        - 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 <a href="https://help.pinterest.com/en/business/article/share-and-manage-access-to-your-ad-accounts">Business Access</a>: 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:
      - Insertion
    patch:
      summary: Edit insertion order through SSIO.
      description: 'Edit insertion order through SSIO for <code>ad_account_id</code>.

        - 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 <a href="https://help.pinterest.com/en/business/article/share-and-manage-access-to-your-ad-accounts">Business Access</a>: 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:
      - Insertion
  /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 <code>ad_account_id</code>.

        - 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 <a href="https://help.pinterest.com/en/business/article/share-and-manage-access-to-your-ad-accounts">Business Access</a>: 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:
      - Insertion
  /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 <code>pin_order_id</code>.

        - 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 <a href="https://help.pinterest.com/en/business/article/share-and-manage-access-to-your-ad-accounts">Business Access</a>: 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:
      - Insertion
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 <a href='/docs/getting-started/pagination/'>Pagination</a> 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