Pinterest Billing API

The Billing API from Pinterest — 8 operation(s) for billing.

OpenAPI Specification

pinterest-billing-api-openapi.yml Raw ↑
openapi: 3.0.3
info:
  version: 5.13.0
  title: Pinterest Billing 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: Billing
paths:
  /ad_accounts/{ad_account_id}/ads_credit/discounts:
    get:
      summary: Get ads credit discounts
      description: 'Returns the list of discounts applied to the account.


        <strong>This endpoint might not be available to all apps. <a href=''/docs/new/about-beta-access/''>Learn more</a>.</strong>'
      operationId: ads_credits_discounts/get
      security:
      - pinterest_oauth2:
        - ads:read
        - billing:read
      x-ratelimit-category: ads_read
      x-sandbox: disabled
      tags:
      - Billing
      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:
                      type: array
                      items:
                        $ref: '#/components/schemas/AdsCreditDiscountsResponse'
          description: Success
        default:
          description: Unexpected error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
  /ad_accounts/{ad_account_id}/ads_credit/redeem:
    post:
      summary: Redeem ad credits
      description: 'Redeem ads credit on behalf of the ad account id and apply it towards billing.


        <strong>This endpoint might not be available to all apps. <a href=''/docs/new/about-beta-access/''>Learn more</a>.</strong>'
      tags:
      - Billing
      operationId: ads_credit/redeem
      security:
      - pinterest_oauth2:
        - ads:write
        - billing:write
      x-ratelimit-category: ads_write
      x-sandbox: disabled
      parameters:
      - $ref: '#/components/parameters/path_ad_account_id'
      requestBody:
        description: Redeem ad credits request.
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AdsCreditRedeemRequest'
      responses:
        '200':
          description: Successfully redeemed ad credits.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AdsCreditRedeemResponse'
        '400':
          description: Error thrown when unable to redeem offer code.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
              examples:
                ValidationError:
                  value:
                    code: 15
                    message: Unable to redeem offer code. Try again later.
        default:
          description: Unexpected error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
  /ad_accounts/{ad_account_id}/billing_profiles:
    get:
      summary: Get billing profiles
      description: 'Get billing profiles in the advertiser account.


        <strong>This endpoint might not be available to all apps. <a href=''/docs/new/about-beta-access/''>Learn more</a>.</strong>'
      operationId: billing_profiles/get
      security:
      - pinterest_oauth2:
        - ads:read
        - billing:read
      x-ratelimit-category: ads_read
      x-sandbox: disabled
      tags:
      - Billing
      parameters:
      - $ref: '#/components/parameters/path_ad_account_id'
      - description: Return active billing profiles, if false return all billing profiles.
        in: query
        name: is_active
        required: true
        schema:
          type: boolean
      - $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:
                      type: array
                      items:
                        $ref: '#/components/schemas/BillingProfilesResponse'
          description: Success
        default:
          description: Unexpected error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
  /ad_accounts/{ad_account_id}/ssio/accounts:
    get:
      summary: Get Salesforce account details including bill-to information.
      description: 'Get Salesforce account details including bill-to information to be used in insertion orders process 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_accounts/get
      security:
      - pinterest_oauth2:
        - ads:read
      x-ratelimit-category: ads_read
      x-sandbox: enabled
      parameters:
      - $ref: '#/components/parameters/path_ad_account_id'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SSIOAccountResponse'
          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:
      - Billing
  /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:
      - Billing
    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:
      - Billing
  /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:
      - Billing
  /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:
      - Billing
  /ad_accounts/{ad_account_id}/ssio/order_lines:
    get:
      summary: Get Salesforce order lines by ad account id.
      description: 'Get Salesforce order lines 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_order_lines/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'
      - $ref: '#/components/parameters/query_pin_order_id'
      responses:
        '200':
          content:
            application/json:
              schema:
                allOf:
                - $ref: '#/components/schemas/Paginated'
                - type: object
                  properties:
                    items:
                      description: SSIO order lines by ad acount id
                      items:
                        $ref: '#/components/schemas/SSIOOrderLine'
          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:
      - Billing
components:
  parameters:
    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
    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
    query_pin_order_id:
      description: The pin order id associated with the ssio insertino order
      in: query
      name: pin_order_id
      required: false
      schema:
        type: string
        example: 0Q01N0000015hekSVDFDC
  schemas:
    BillingProfilesResponse:
      type: object
      properties:
        id:
          description: Billing ID.
          type: string
          pattern: ^\d+$
          example: '12312451231'
        card_type:
          description: Type of the card.
          type: string
          enum:
          - UNKNOWN
          - VISA
          - MASTERCARD
          - AMERICAN_EXPRESS
          - DISCOVER
          - ELO
          example: VISA
        status:
          description: Status of the billing.
          type: string
          enum:
          - UNSPECIFIED
          - VALID
          - INVALID
          - PENDING
          - DELETED
          - SECONDARY
          - PENDING_SECONDARY
          example: INVALID
        advertiser_id:
          description: Advertiser ID of the billing.
          type: string
          pattern: ^\d+$
          example: '12312451231'
        payment_method_brand:
          description: Brand of the payment method.
          type: string
          enum:
          - UNKNOWN
          - VISA
          - MASTERCARD
          - AMERICAN_EXPRESS
          - DISCOVER
          - SOFORT
          - DINERS_CLUB
          - ELO
          - CARTE_BANCAIRE
          example: VISA
    Error:
      title: Error
      type: object
      properties:
        code:
          type: integer
        message:
          type: string
      required:
      - code
      - message
    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
    AdsCreditDiscountsResponse:
      type: object
      properties:
        active:
          description: True if the offer code is currently active.
          type: boolean
          example: true
        advertiser_id:
          description: Advertiser ID the offer was applied to.
          type: string
          pattern: ^\d+$
          example: '12312451231'
        discountType:
          description: The type of discount of this credit
          type: string
          nullable: true
          enum:
          - COUPON
          - CREDIT
          - COUPON_APPLIED
          - CREDIT_APPLIED
          - MARKETING_OFFER_CREDIT
          - MARKETING_OFFER_CREDIT_APPLIED
          - GOODWILL_CREDIT
          - GOODWILL_CREDIT_APPLIED
          - INTERNAL_CREDIT
          - INTERNAL_CREDIT_APPLIED
          - PREPAID_CREDIT
          - PREPAID_CREDIT_APPLIED
          - SALES_INCENTIVE_CREDIT
          - SALES_INCENTIVE_CREDIT_APPLIED
          - CREDIT_EXPIRED
          - FUTURE_CREDIT
          - REFERRAL_CREDIT
          - INVOICE_SALES_INCENTIVE_CREDIT
          - INVOICE_SALES_INCENTIVE_CREDIT_APPLIED
          - PREPAID_CREDIT_REFUND
          - null
        discountInMicroCurrency:
          description: The discount applied in the offers currency value.
          type: number
          nullable: true
          example: 125000000
        discountCurrency:
          type: string
          nullable: true
          description: Currency value for the discount.
          example: USD
        title:
          description: Human readable title of the offer code.
          type: string
          nullable: true
          example: Ads Credits
        remainingDiscountInMicroCurrency:
          type: number
          nullable: true
          description: The credits left to spend.
          example: 125000000
    SSIOAccountPMPName:
      type: object
      properties:
        name:
          description: Display name
          example: Bidalgo
          type: string
        id:
          description: Salesforce id for PMP
          example: 0011N00001LW2aSQAT
          type: string
    SSIOAccountResponse:
      type: object
      properties:
        eligible:
          description: Advertiser eligible to create order lines
          example: true
          type: boolean
        can_edit:
          description: Advertiser eligible to update order lines
          example: true
          type: boolean
        billto_infos:
          type: array
          description: An array of Salesforce account information that includes address, io terms, etc.
          items:
            $ref: '#/components/schemas/SSIOAccountItem'
        currency:
          type: string
          example: USD
        pmp_names:
          type: array
          items:
            $ref: '#/components/schemas/SSIOAccountPMPName'
        error:
          description: Error indicator from Salesforce which could be "No Error"
          example: No Error
          type: string
    SSIOCreateInsertionOrderResponse:
      type: object
      properties:
        pin_order_id:
          description: Salesforce order id
          type: string
    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
    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'
    SSIOOrderLine:
      type: object
      properties:
        salesforce_order_line_id:
          description: OrderLineId in SFDC
          type: string
          nullable: true
        ads_manager_order_line_id:
          description: Ads manager OrderLineId
          type: string
          nullable: true
        pin_order_id:
          description: The pin order id associated with the order line in SFDC
          type: string
          nullable: true
        last_modified_date_time:
          description: Last modified date.
          example: '2020-10-06T13:07:04.000Z'
          type: string
          pattern: ^(\d{4})-(\d{2})-(\d{2})T(\d{2}):(\d{2}):(\d{2}).(\d{3})Z$
          nullable: true
        start_date:
          description: Start date of the order line.
          example: '2018-03-01'
          type: string
          format: date
          nullable: true
        end_date:
          description: End date of the order line.
          example: '2020-10-05'
          type: string
          format: date
          nullable: true
        bill_to_company_name:
          description: Bill To Company name
          example: Home Depot Inc.
          type: string
          nullable: true
        billing_contact_firstname:
          description: Billing contact first name
          example: Mary
          type: string
          nullable: true
        billing_contact_lastname:
          description: Billing contact last name
          example: Smith
          type: string
          nullable: true
        billing_contact_email:
          description: Billing contact email
          example: mail@test.com
          type: string
          nullable: true
        media_contact_email:
          description: Billing media email
          example: mail@test.com
          type: string
          nullable: true
        media_contact_firstname:
          description: Billing contact first name
          example: John
          type: string
          nullable: true
        media_contact_lastname:
          description: Billing contact first name
          example: Doe
          type: string
          nullable: true
        currency_info:
          $ref: '#/components/schemas/Currency'
          nullable: true
        agency_link:
          description: Agency link
          example: ''
          type: string
          nullable: true
        po_number:
          description: The po number
          type: string
          nullable: true
        order_name:
          description: The order name
          type: string
          nullable: true
        pmp_name:
          description: The Pinterest marketing partner name
          type: string
          nullable: true
        accepted_terms_id:
          description: The SFDC id for the terms
          type: string
          nullable: true
        accepted_terms_time:
          description: The UTC timestamp (to the nearest sec) of when terms were accepted
          example: '2020-10-06T13:07:04.000Z'
          type: string
          pattern: ^(\d{4})-(\d{2})-(\d{2})T(\d{2}):(\d{2}):(\d{2}).(\d{3})Z$
          nullable: true
        budget_amount:
          type: number
          description: If Budget order line, the budget amount.
          example: 5000000
          nullable: true
        estimated_monthly_spend:
          description: If Ongoing (perpetual) order line, the estimated monthly spend
          type: number
          nullable: true
    Paginated:
      type: object
      properties:
        items:
          type: array
          items:
            type: object
        bookmark:
          type: string
          nullable: true
      required:
      - items
    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
    AdsCreditRedeemResponse:
      type: object
      properties:
        success:
          description: Returns true if the offer code was successfully applied(validateOnly=false) or can be applied(validateOnly=true).
          type: boolean
          example: false
        errorCode:
          description: Error code type if error occurs
          type: integer
          nullable: true
          example: 2708
        errorMessage:
          description: Reason for failure
          type: string
          nullable: true
          example: The offer has already been redeemed by this advertiser
    SSIOAccountAddress:
      type: object
      properties:
        display:
          description: Address display
          example: 475 Brannan Street, San Francisco, CA 94103
          type: string
        purpose:
          description: Purpose for which the address is used, usually Billing or Businness
          example: Billing
          type: string
        address_id:
          description: Salesforce id for address
          example: a1C1N000004MUrLUAW
          type: string
        order_legal_entity:
          description: Legal entity for this insertion order
          example: PIN US OU
          type: string
    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
    AdsCreditRedeemRequest:
      type: object
      required:
      - offerCodeHash
      - validateOnly
      properties:
        offerCodeHash:
          description: Takes in a SHA256 hash of the offerCode.
          example: 138e9e0ff7e38cf511b880975eb574c09aa9d5e1657590ab0431040da68caa67
          type: string
          pattern: ^[a-z0-9]*$
        validateOnly:
          description: If true, only validate if we can redeem offer code. Otherwise it will actually apply the offer code to the account
          example: true
          type: boolean
    SSIOAccountItem:
      type: object
      properties:
        id:
          description: Salesforce id for billto_info
          example: 0011N00001LW8kAQAT
          type: string
        io_terms_id:
          description: Salesforce id for IO Terms and Conditions
          example: a2S1N000000bKHgUAM
          type: string
        io_terms:
          description: Salesforce text for IO Terms and Conditions
          example: The IO is governed by the terms available at https://business.pinterest.com/en/pinterest-advertising-services-agreement/. If a budget is listed on this IO, the parties agree that Advertiser (or if applicable, its Agency) may apply any of the budget to any auction bid type or ad product. Price will be determined by auction closing price, plus any applicable non-auction fees. The terms of the Agreement supersede any terms on this IO. ANY ADDITIONAL TERMS AND CONDITIONS ON THIS IO ARE NULL AND VOID.
          type: string
        us_terms_id:
          description: Salesforce id for US Terms and Conditions
          example: a2S1N000000bKIOUA2
          type: string
        us_terms:
          description: Salesforce text for US Terms and Conditions
          example: This Insertion Order ("IO") is subject to the Pinterest Addendum To IAB Standard Terms and Conditions for Internet Advertising For Media Buys One Year or Less (Version 3.0), as executed by Pinterest, Inc. and GroupM Worldwide L

# --- truncated at 32 KB (36 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/pinterest/refs/heads/main/openapi/pinterest-billing-api-openapi.yml