Pinterest Items API

The Items API from Pinterest — 3 operation(s) for items.

OpenAPI Specification

pinterest-items-api-openapi.yml Raw ↑
openapi: 3.0.3
info:
  version: 5.13.0
  title: Pinterest Items 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: Items
paths:
  /catalogs/items:
    get:
      summary: Get catalogs items
      description: 'Get the items of the catalog owned by the "operation user_account". <a href="/docs/shopping/catalog/#Update%20items%20in%20batch" target="_blank">See detailed documentation here.</a>

        - By default, the "operation user_account" is the token user_account.


        Optional: Business Access: Specify an <code>ad_account_id</code> (obtained via <a href=''/docs/api/v5/#operation/ad_accounts/list''>List ad accounts</a>) to use the owner of that ad_account as the "operation user_account". In order to do this, the token user_account must have one of the following <a href="https://help.pinterest.com/en/business/article/share-and-manage-access-to-your-ad-accounts">Business Access</a> roles on the ad_account: Owner, Admin, Catalogs Manager.


        Note: The catalog type of Creative Assets is only allowed in the <a href=''https://api-sandbox.pinterest.com/v5''>Pinterest API Sandbox</a>.

        If access is required, please contact your partner manager.'
      operationId: items/get
      security:
      - pinterest_oauth2:
        - catalogs:read
      x-ratelimit-category: catalogs_read
      x-sandbox: enabled
      parameters:
      - $ref: '#/components/parameters/query_ad_account_id'
      - $ref: '#/components/parameters/query_catalogs_items_country'
      - $ref: '#/components/parameters/query_catalogs_items_language'
      - $ref: '#/components/parameters/query_catalogs_items'
      - $ref: '#/components/parameters/query_catalogs_items_filters'
      responses:
        '200':
          description: Response containing the requested catalogs items
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CatalogsItems'
        '400':
          description: Invalid request parameters.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
              examples:
                InvalidRequest:
                  value:
                    code: 1
                    message: Parameter 'item_ids' is required.
        '401':
          description: Not authorized to access catalogs items
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
              examples:
                UnauthorizedAccess:
                  value:
                    code: 2
                    message: Authentication failed.
        '403':
          description: Not authorized to access catalogs items
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        default:
          description: Unexpected error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
      tags:
      - Items
    post:
      summary: Get catalogs items (POST)
      description: 'Get the items of the catalog owned by the "operation user_account". <a href="/docs/shopping/catalog/#Update%20items%20in%20batch" target="_blank">See detailed documentation here.</a>

        - By default, the "operation user_account" is the token user_account.


        Optional: Business Access: Specify an <code>ad_account_id</code> (obtained via <a href=''/docs/api/v5/#operation/ad_accounts/list''>List ad accounts</a>) to use the owner of that ad_account as the "operation user_account". In order to do this, the token user_account must have one of the following <a href="https://help.pinterest.com/en/business/article/share-and-manage-access-to-your-ad-accounts">Business Access</a> roles on the ad_account: Owner, Admin, Catalogs Manager.


        Note: The catalog type of Creative Assets is only allowed in the <a href=''https://api-sandbox.pinterest.com/v5''>Pinterest API Sandbox</a>.

        If access is required, please contact your partner manager.'
      operationId: items/post
      security:
      - pinterest_oauth2:
        - catalogs:read
      x-ratelimit-category: catalogs_read
      x-sandbox: enabled
      parameters:
      - $ref: '#/components/parameters/query_ad_account_id'
      requestBody:
        description: Request object used to get catalogs items
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CatalogsItemsRequest'
      responses:
        '200':
          description: Response containing the requested catalogs items
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CatalogsItems'
        '400':
          description: Invalid request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
              examples:
                InvalidRequest:
                  value:
                    code: 1
                    message: 'Invalid request: {''country'': ''US'', ''language'': ''EN'', ''filters'': {''catalog_type'': ''RETAIL'', ''item_ids'': ''test0''}} (''test0'' is not of type array)'
        '401':
          description: Not authorized to access catalogs items
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
              examples:
                UnauthorizedAccess:
                  value:
                    code: 2
                    message: Authentication failed.
        '403':
          description: Not authorized to access catalogs items
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        default:
          description: Unexpected error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
      tags:
      - Items
  /catalogs/items/batch:
    post:
      summary: Operate on item batch
      description: 'This endpoint supports multiple operations on a set of one or more catalog items owned by the "operation user_account". <a href="/docs/shopping/catalog/#Update%20items%20in%20batch" target="_blank">See detailed documentation here.</a>

        - By default, the "operation user_account" is the token user_account.


        Optional: Business Access: Specify an <code>ad_account_id</code> (obtained via <a href=''/docs/api/v5/#operation/ad_accounts/list''>List ad accounts</a>) to use the owner of that ad_account as the "operation user_account". In order to do this, the token user_account must have one of the following <a href="https://help.pinterest.com/en/business/article/share-and-manage-access-to-your-ad-accounts">Business Access</a> roles on the ad_account: Owner, Admin, Catalogs Manager.


        Note: The catalog type of Creative Assets is only allowed in the <a href=''https://api-sandbox.pinterest.com/v5''>Pinterest API Sandbox</a>.

        If access is required, please contact your partner manager.'
      operationId: items_batch/post
      x-ratelimit-category: catalogs_write
      x-sandbox: enabled
      security:
      - pinterest_oauth2:
        - catalogs:read
        - catalogs:write
      parameters:
      - $ref: '#/components/parameters/query_ad_account_id'
      requestBody:
        description: Request object used to create catalogs items in a batch
        required: true
        content:
          application/json:
            schema:
              oneOf:
              - $ref: '#/components/schemas/CatalogsVerticalBatchRequest'
              - $ref: '#/components/schemas/CatalogsItemsBatchRequest'
      responses:
        '200':
          description: Response containing the requested catalogs items batch
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CatalogsItemsBatch'
        '400':
          description: Invalid request parameters.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
              examples:
                InvalidRequest:
                  value:
                    code: 1
                    message: 'Invalid request: {''country'': ''US'', ''language'': ''EN'', ''operation'': ''CREATE'', ''items'': [{''item_id'': ''RAY_01_'', ''attributes'': {''image_link'': ''https://www.example.com/'', ''title'': ''My Product''}}]} (''https://www.example.com/'' is not of type array)'
        '401':
          description: Not authenticated to post catalogs items
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
              examples:
                UnauthenticatedAccess:
                  value:
                    code: 2
                    message: Authentication failed.
        '403':
          description: Not authorized to post catalogs items
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        default:
          description: Unexpected error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
      tags:
      - Items
  /catalogs/items/batch/{batch_id}:
    get:
      summary: Get catalogs item batch status
      description: 'Get a single catalogs items batch owned by the "operating user_account". <a href="/docs/shopping/catalog/#Update%20items%20in%20batch" target="_blank">See detailed documentation here.</a>

        - By default, the "operation user_account" is the token user_account.


        Optional: Business Access: Specify an <code>ad_account_id</code> (obtained via <a href=''/docs/api/v5/#operation/ad_accounts/list''>List ad accounts</a>) to use the owner of that ad_account as the "operation user_account". In order to do this, the token user_account must have one of the following <a href="https://help.pinterest.com/en/business/article/share-and-manage-access-to-your-ad-accounts">Business Access</a> roles on the ad_account: Owner, Admin, Catalogs Manager.'
      operationId: items_batch/get
      security:
      - pinterest_oauth2:
        - catalogs:read
      x-ratelimit-category: catalogs_read
      x-sandbox: enabled
      parameters:
      - $ref: '#/components/parameters/path_catalogs_items_batch_id'
      - $ref: '#/components/parameters/query_ad_account_id'
      responses:
        '200':
          description: Response containing the requested catalogs items batch
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CatalogsItemsBatch'
        '401':
          description: Not authenticated to access catalogs items batch
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
              examples:
                UnauthenticatedAccess:
                  value:
                    code: 2
                    message: Authentication failed.
        '403':
          description: Not authorized to access catalogs items batch
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '404':
          description: Catalogs items batch not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
              examples:
                CannotFindBatch:
                  value:
                    code: 4331
                    message: Sorry! We could not find your batch ID.
        '405':
          description: Method Not Allowed.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
              examples:
                MethodNotAllowed:
                  value:
                    status: failure
                    code: 5
                    data: '405 Method Not Allowed: The method is not allowed for the requested URL.'
                    message: Method not allowed
                    endpoint_name: null
        default:
          description: Unexpected error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
      tags:
      - Items
components:
  schemas:
    CatalogsItemsBatchRequest:
      type: object
      title: legacy_retail_only
      description: Request object of catalogs items batch
      oneOf:
      - $ref: '#/components/schemas/CatalogsItemsUpdateBatchRequest'
      - $ref: '#/components/schemas/CatalogsItemsUpsertBatchRequest'
      - $ref: '#/components/schemas/CatalogsItemsCreateBatchRequest'
      - $ref: '#/components/schemas/CatalogsItemsDeleteDiscontinuedBatchRequest'
      - $ref: '#/components/schemas/CatalogsItemsDeleteBatchRequest'
      discriminator:
        propertyName: operation
        mapping:
          UPDATE: '#/components/schemas/CatalogsItemsUpdateBatchRequest'
          UPSERT: '#/components/schemas/CatalogsItemsUpsertBatchRequest'
          CREATE: '#/components/schemas/CatalogsItemsCreateBatchRequest'
          DELETE_DISCONTINUED: '#/components/schemas/CatalogsItemsDeleteDiscontinuedBatchRequest'
          DELETE: '#/components/schemas/CatalogsItemsDeleteBatchRequest'
    CatalogsHotelBatchItem:
      description: Hotel batch item
      type: object
      anyOf:
      - $ref: '#/components/schemas/CatalogsCreateHotelItem'
      - $ref: '#/components/schemas/CatalogsUpsertHotelItem'
      - $ref: '#/components/schemas/CatalogsUpdateHotelItem'
      - $ref: '#/components/schemas/CatalogsDeleteHotelItem'
      discriminator:
        propertyName: operation
        mapping:
          CREATE: '#/components/schemas/CatalogsCreateHotelItem'
          UPSERT: '#/components/schemas/CatalogsUpsertHotelItem'
          UPDATE: '#/components/schemas/CatalogsUpdateHotelItem'
          DELETE: '#/components/schemas/CatalogsDeleteHotelItem'
    CatalogsRetailBatchRequest:
      type: object
      description: A request object that can have multiple operations on a single retail batch
      additionalProperties: false
      properties:
        catalog_type:
          $ref: '#/components/schemas/CatalogsType'
        country:
          $ref: '#/components/schemas/Country'
        language:
          $ref: '#/components/schemas/Language'
        items:
          minItems: 1
          maxItems: 1000
          type: array
          description: Array with catalogs item operations
          items:
            anyOf:
            - $ref: '#/components/schemas/CatalogsCreateRetailItem'
            - $ref: '#/components/schemas/CatalogsUpdateRetailItem'
            - $ref: '#/components/schemas/CatalogsUpsertRetailItem'
            - $ref: '#/components/schemas/CatalogsDeleteRetailItem'
            discriminator:
              propertyName: operation
              mapping:
                CREATE: '#/components/schemas/CatalogsCreateRetailItem'
                UPDATE: '#/components/schemas/CatalogsUpdateRetailItem'
                UPSERT: '#/components/schemas/CatalogsUpsertRetailItem'
                DELETE: '#/components/schemas/CatalogsDeleteRetailItem'
      required:
      - catalog_type
      - country
      - language
      - items
    CatalogsRetailItemsPostFilter:
      type: object
      properties:
        catalog_type:
          type: string
          enum:
          - RETAIL
        item_ids:
          type: array
          minItems: 1
          maxItems: 1000
          items:
            type: string
        catalog_id:
          type: string
          pattern: ^\d+$
          description: Catalog id pertaining to the retail item. If not provided, default to oldest retail catalog
      required:
      - catalog_type
      - item_ids
    ItemValidationEvent:
      type: object
      description: Object describing an item validation event
      properties:
        attribute:
          description: The attribute that the item validation event references
          example: title
          type: string
        code:
          description: The event code that the item validation event references
          example: 106
          type: integer
        message:
          description: Title message describing the item validation event
          example: Title is missing from product metadata.
          type: string
    CatalogsCreativeAssetsItemsPostFilter:
      type: object
      properties:
        catalog_type:
          type: string
          enum:
          - CREATIVE_ASSETS
        creative_assets_ids:
          type: array
          minItems: 1
          maxItems: 1000
          items:
            type: string
        catalog_id:
          type: string
          pattern: ^\d+$
          description: Catalog id pertaining to the creative assets item. If not provided, default to oldest creative assets catalog
      required:
      - catalog_type
      - creative_assets_ids
    HotelProcessingRecord:
      type: object
      description: Object describing an item processing record
      properties:
        hotel_id:
          description: The catalog hotel id in the merchant namespace
          example: DS0294-M
          type: string
        errors:
          description: 'Array with the validation errors for the item processing record.

            A non empty errors list causes the item processing to fail.'
          items:
            $ref: '#/components/schemas/ItemValidationEvent'
          type: array
        warnings:
          description: Array with the validation warnings for the item processing record
          items:
            $ref: '#/components/schemas/ItemValidationEvent'
          type: array
        status:
          $ref: '#/components/schemas/ItemProcessingStatus'
    CatalogsItemsPostFilters:
      type: object
      properties:
        catalog_type:
          $ref: '#/components/schemas/CatalogsType'
      required:
      - catalog_type
      oneOf:
      - $ref: '#/components/schemas/CatalogsRetailItemsPostFilter'
      - $ref: '#/components/schemas/CatalogsHotelItemsPostFilter'
      - $ref: '#/components/schemas/CatalogsCreativeAssetsItemsPostFilter'
      discriminator:
        propertyName: catalog_type
        mapping:
          RETAIL: '#/components/schemas/CatalogsRetailItemsPostFilter'
          HOTEL: '#/components/schemas/CatalogsHotelItemsPostFilter'
          CREATIVE_ASSETS: '#/components/schemas/CatalogsCreativeAssetsItemsPostFilter'
    CatalogsHotelItemsBatch:
      type: object
      description: Object describing the catalogs hotel items batch
      properties:
        batch_id:
          description: Id of the catalogs items batch
          example: 595953100599279259-66753b9bb65c46c49bd8503b27fecf9e
          type: string
        created_time:
          description: 'Time of the batch creation: YYYY-MM-DD''T''hh:mm:ssTZD'
          example: '2020-01-01T20:10:40-00:00'
          type: string
          format: date-time
          readOnly: true
        completed_time:
          description: 'Time of the batch completion: YYYY-MM-DD''T''hh:mm:ssTZD'
          example: '2022-03-10T15:37:10-00:00'
          type: string
          format: date-time
          readOnly: true
          nullable: true
        status:
          $ref: '#/components/schemas/BatchOperationStatus'
        catalog_type:
          $ref: '#/components/schemas/CatalogsType'
        items:
          description: Array with the catalogs items processing records part of the catalogs items batch
          items:
            $ref: '#/components/schemas/HotelProcessingRecord'
          type: array
      required:
      - catalog_type
    ItemCreateBatchRecord:
      type: object
      description: Object describing an item batch record to create items
      properties:
        item_id:
          description: The catalog item id in the merchant namespace
          example: DS0294-M
          type: string
        attributes:
          $ref: '#/components/schemas/ItemAttributesRequest'
    CatalogsItemsRequest:
      type: object
      additionalProperties: false
      description: Request object of catalogs items
      properties:
        country:
          $ref: '#/components/schemas/Country'
        language:
          $ref: '#/components/schemas/Language'
        filters:
          $ref: '#/components/schemas/CatalogsItemsPostFilters'
      required:
      - country
      - language
      - filters
    ItemUpsertBatchRecord:
      type: object
      description: Object describing an item batch record to upsert items
      properties:
        item_id:
          description: The catalog item id in the merchant namespace
          example: DS0294-M
          type: string
        attributes:
          $ref: '#/components/schemas/ItemAttributesRequest'
    CatalogsItemsFilters:
      type: object
      properties:
        catalog_type:
          $ref: '#/components/schemas/CatalogsType'
      required:
      - catalog_type
      oneOf:
      - $ref: '#/components/schemas/CatalogsRetailItemsFilter'
      - $ref: '#/components/schemas/CatalogsHotelItemsFilter'
      - $ref: '#/components/schemas/CatalogsCreativeAssetsItemsFilter'
      discriminator:
        propertyName: catalog_type
        mapping:
          RETAIL: '#/components/schemas/CatalogsRetailItemsFilter'
          HOTEL: '#/components/schemas/CatalogsHotelItemsFilter'
          CREATIVE_ASSETS: '#/components/schemas/CatalogsCreativeAssetsItemsFilter'
    CatalogsItemsUpsertBatchRequest:
      description: Request object to upsert catalogs items
      type: object
      properties:
        country:
          $ref: '#/components/schemas/Country'
        language:
          $ref: '#/components/schemas/Language'
        operation:
          $ref: '#/components/schemas/BatchOperation'
        items:
          type: array
          description: Array with catalogs items
          items:
            $ref: '#/components/schemas/ItemUpsertBatchRecord'
          minItems: 1
          maxItems: 1000
      required:
      - country
      - language
      - operation
      - items
    CatalogsCreativeAssetsItemsFilter:
      type: object
      properties:
        catalog_type:
          type: string
          enum:
          - CREATIVE_ASSETS
        creative_assets_ids:
          type: array
          minItems: 1
          maxItems: 100
          items:
            type: string
        catalog_id:
          type: string
          pattern: ^\d+$
          description: Catalog id pertaining to the creative assets item. If not provided, default to oldest creative assets catalog
      required:
      - catalog_type
      - creative_assets_ids
    ItemDeleteDiscontinuedBatchRecord:
      type: object
      description: Object describing an item batch record to discontinue items
      properties:
        item_id:
          description: The catalog item id in the merchant namespace
          example: DS0294-M
          type: string
    ItemAttributes:
      type: object
      allOf:
      - type: object
        properties:
          additional_image_link:
            description: '<p><= 2000 characters</p>

              <p>The links to additional images for your product. Up to ten

              additional images can be used to show a product from different angles

              or to show different stages. Must begin with http:// or https://.</p>'
            example:
            - https://scene.example.com/image/image_v2.jpg
            - https://scene.example.com/image/image_v3.jpg
            type: array
            nullable: true
            items:
              type: string
          image_link:
            description: '<p><= 2000 characters</p>

              <p>The link to the main product images. Images should be at least

              75x75 pixels to avoid errors. Use the additional_image_link field to add

              more images of your product. The URL of your image_link must be accessible

              by the Pinterest user-agent, and send the accurate images. Please make

              sure there are no template or placeholder images at the link. Must start

              with http:// or https://.</p>'
            example:
            - https://scene.example.com/image/image.jpg
            type: array
            minItems: 1
            items:
              type: string
      - $ref: '#/components/schemas/UpdatableItemAttributes'
    PinMediaSourceImagesBase64:
      title: Images Base64
      description: Multiple Base64-encoded images media source
      additionalProperties: false
      properties:
        source_type:
          type: string
          enum:
          - multiple_image_base64
        items:
          items:
            additionalProperties: false
            properties:
              title:
                type: string
              description:
                type: string
              link:
                type: string
                description: Destination link for the image.
              content_type:
                type: string
                enum:
                - image/jpeg
                - image/png
              data:
                type: string
                description: Image to upload as base64 string.
                pattern: '[a-zA-Z0-9+\/=]+'
            required:
            - data
            - content_type
            type: object
          minItems: 2
          maxItems: 5
          description: Array with image objects.
          type: array
        index:
          type: integer
          minimum: 0
      required:
      - items
      type: object
    ItemResponse:
      type: object
      description: Object describing an item record
      anyOf:
      - type: object
        properties:
          catalog_type:
            $ref: '#/components/schemas/CatalogsType'
        required:
        - catalog_type
        oneOf:
        - $ref: '#/components/schemas/CatalogsRetailItemResponse'
        - $ref: '#/components/schemas/CatalogsHotelItemResponse'
        - $ref: '#/components/schemas/CatalogsCreativeAssetsItemResponse'
        discriminator:
          propertyName: catalog_type
          mapping:
            RETAIL: '#/components/schemas/CatalogsRetailItemResponse'
            HOTEL: '#/components/schemas/CatalogsHotelItemResponse'
            CREATIVE_ASSETS: '#/components/schemas/CatalogsCreativeAssetsItemResponse'
      - type: object
        properties:
          catalog_type:
            $ref: '#/components/schemas/CatalogsType'
        required:
        - catalog_type
        oneOf:
        - $ref: '#/components/schemas/CatalogsRetailItemErrorResponse'
        - $ref: '#/components/schemas/CatalogsHotelItemErrorResponse'
        - $ref: '#/components/schemas/CatalogsCreativeAssetsItemErrorResponse'
        discriminator:
          propertyName: catalog_type
          mapping:
            RETAIL: '#/components/schemas/CatalogsRetailItemErrorResponse'
            HOTEL: '#/components/schemas/CatalogsHotelItemErrorResponse'
            CREATIVE_ASSETS: '#/components/schemas/CatalogsCreativeAssetsItemErrorResponse'
    CatalogsUpdateRetailItem:
      type: object
      description: An item to be updated
      properties:
        item_id:
          description: The catalog item id in the merchant namespace
          example: DS0294-M
          type: string
        operation:
          type: string
          enum:
          - CREATE
          - UPDATE
          - UPSERT
          - DELETE
        attributes:
          $ref: '#/components/schemas/UpdatableItemAttributes'
        update_mask:
          description: The list of product attributes to be updated. Attributes specified in the update mask without a value specified in the body will be deleted from the product item.
          example:
          - ad_link
          - adult
          - age_group
          - availability
          - average_review_rating
          - brand
          - checkout_enabled
          - color
          - condition
          - custom_label_0
          - custom_label_1
          - custom_label_2
          - custom_label_3
          - custom_label_4
          - description
          - free_shipping_label
          - free_shipping_limit
          - gender
          - google_product_category
          - gtin
          - item_group_id
          - last_updated_time
          - link
          - material
          - min_ad_price
          - mpn
          - number_of_ratings
          - number_of_reviews
          - pattern
          - price
          - product_type
          - sale_price
          - shipping
          - shipping_height
          - shipping_weight
          - shipping_width
          - size
          - size_system
          - size_type
          - tax
          - title
          - variant_names
          - variant_values
          type: array
          nullable: true
          items:
            $ref: '#/components/schemas/UpdateMaskFieldType'
      required:
      - item_id
      - operation
      - attributes
    CatalogsRetailItemResponse:
      type: object
      description: Object describing a retail item record
      properties:
        catalog_type:
          $ref: '#/components/schemas/CatalogsType'
        item_id:
          description: The catalog retail item id in the merchant namespace
          example: DS0294-M
          type: string
        pins:
          description: The pins mapped to the item
          type: array
          nullable: true
          items:
            $ref: '#/components/schemas/Pin'
          maxItems: 11
        attributes:
          $ref: '#/components/schemas/ItemAttributes'
      required:
      - catalog_type
    CatalogsUpdateHotelItem:
      type: object
      description: Object describing an hotel item batch record
      properties:
        hotel_id:
          description: The catalog hotel item id in the merchant namespace
          example: DS0294-M
          type: string
        operation:
          type: string
          enum:
          - UPDATE
        attributes:
          $ref: '#/components/schemas/CatalogsUpdatableHotelAttributes'
      required:
      - hotel_id
      - operation
      - attributes
    CatalogsHotelItemErrorResponse:
      type: object
      description: Object describing a hotel item error
      properties:
        catalog_type:
          $ref: '#/components/schemas/CatalogsType'
        hotel_id:
          description: The catalog hotel id in the merchant namespace
          example: DS0294-M
          type: string
        errors:
          description: Array with the errors for the item id requested
          items:
            $ref: '#/components/schemas/ItemValidationEvent'
          type: array
      required:
      - catalog_type
    CatalogsCreativeAssetsItemResponse:
      type: object
      description: Object describing a hotel record
      properties:
        catalog_type:
          $ref: '#/components/schemas/CatalogsType'
        creative_assets_id:
          description: The catalog creative assets id in the merchant namespace
          example: DS0294-M
          type: string
        pins:
          description: The pins mapped to the item
          type: array
          nullable: true
          items:
            $ref: '#/components/schemas/Pin'
          maxItems: 11
        attributes:
          $ref: '#/components/schemas/CatalogsCreativeAssetsAttributes'
      required:
      - catalog_type
    PinMediaSourceImagesURL:
      title: Images urls
      description: Multiple images urls-based media source
      additionalProperties: false
      properties:
        source_type:
          type: string
          enum:
          - multiple_image_urls
        items:
          items:
            additionalProperties: false
            properties:
              title:
                type: string
              description:
                type: string
              link:
                type: string
                description: Destination link for the image.
              url:
                description: URL of image to upload.
                type: string
            required:
            - url
            type: object
          minItems: 2
          maxItems: 5
          description: Array with image objects.
          type: array
  

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