Pinterest Feed API

The Feed API from Pinterest — 3 operation(s) for feed.

OpenAPI Specification

pinterest-feed-api-openapi.yml Raw ↑
openapi: 3.0.3
info:
  version: 5.13.0
  title: Pinterest Feed 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: Feed
paths:
  /catalogs/feeds/{feed_id}:
    get:
      x-ratelimit-category: catalogs_read
      summary: Get feed
      description: 'Get a single feed owned by the "operation user_account".

        - 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.


        For Retail partners, refer to <a href=''https://help.pinterest.com/en/business/article/before-you-get-started-with-catalogs''>Before you get started with Catalogs</a>. For Hotel parterns, refer to <a href=''/docs/shopping/catalog/''>Pinterest API for shopping</a>.'
      operationId: feeds/get
      security:
      - pinterest_oauth2:
        - catalogs:read
      x-sandbox: enabled
      parameters:
      - $ref: '#/components/parameters/path_catalogs_feed_id'
      - $ref: '#/components/parameters/query_ad_account_id'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CatalogsFeed'
          description: Success
        '400':
          description: Invalid feed parameters.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
              examples:
                InvalidRequest:
                  value:
                    code: 1
                    message: '''feed_id'' value ''1511851494501_'' must match the pattern: ^\d+$"}'
        '401':
          description: Unauthorized access.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
              examples:
                UnauthorizedAccess:
                  value:
                    code: 29
                    message: You are not permitted to access that resource.
        '404':
          description: Data feed not found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
              examples:
                FeedNotFound:
                  value:
                    code: 4161
                    message: Sorry! We could not find your catalogs feed.
        default:
          description: Unexpected error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
      tags:
      - Feed
    patch:
      x-ratelimit-category: catalogs_write
      summary: Update feed
      description: 'Update a feed owned by the "operation user_account".

        - 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.


        For Retail partners, refer to <a href=''https://help.pinterest.com/en/business/article/before-you-get-started-with-catalogs''>Before you get started with Catalogs</a>. For Hotel parterns, refer to <a href=''/docs/shopping/catalog/''>Pinterest API for shopping</a>.


        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: feeds/update
      security:
      - pinterest_oauth2:
        - catalogs:read
        - catalogs:write
      x-sandbox: enabled
      parameters:
      - $ref: '#/components/parameters/path_catalogs_feed_id'
      - $ref: '#/components/parameters/query_ad_account_id'
      requestBody:
        description: Request object used to update a feed.
        required: true
        content:
          application/json:
            schema:
              oneOf:
              - $ref: '#/components/schemas/CatalogsVerticalFeedsUpdateRequest'
              - $ref: '#/components/schemas/CatalogsFeedsUpdateRequest'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CatalogsFeed'
          description: Success
        '400':
          description: Invalid feed parameters.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
              examples:
                InvalidRequest:
                  value:
                    code: 1
                    message: 'Invalid request: ...'
        '403':
          description: Forbidden. Account not approved for feed mutations yet.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
              examples:
                MerchantDisapproved:
                  value:
                    code: 2625
                    message: Sorry, you cannot perform this action. Account is disapproved.
                MerchantUnderReview:
                  value:
                    code: 2626
                    message: Sorry, you cannot perform this action. Account is under review.
        '404':
          description: Data feed not found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
              examples:
                FeedNotFound:
                  value:
                    code: 4161
                    message: Sorry! We could not find your catalogs feed.
        default:
          description: Unexpected error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
      tags:
      - Feed
    delete:
      x-ratelimit-category: catalogs_write
      summary: Delete feed
      description: 'Delete a feed owned by the "operating user_account".

        - 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.


        For Retail partners, refer to <a href=''https://help.pinterest.com/en/business/article/before-you-get-started-with-catalogs''>Before you get started with Catalogs</a>. For Hotel parterns, refer to <a href=''/docs/shopping/catalog/''>Pinterest API for shopping</a>.'
      operationId: feeds/delete
      security:
      - pinterest_oauth2:
        - catalogs:read
        - catalogs:write
      x-sandbox: enabled
      parameters:
      - $ref: '#/components/parameters/path_catalogs_feed_id'
      - $ref: '#/components/parameters/query_ad_account_id'
      responses:
        '204':
          description: Feed deleted successfully.
        '400':
          description: Invalid feed parameters.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
              examples:
                InvalidRequest:
                  value:
                    code: 1
                    message: '''feed_id'' value ''1511851494501_'' must match the pattern: ^\d+$"}'
        '403':
          description: Forbidden. Account not approved for feed mutations yet.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
              examples:
                MerchantDisapproved:
                  value:
                    code: 2625
                    message: Sorry, you cannot perform this action. Account is disapproved.
                MerchantUnderReview:
                  value:
                    code: 2626
                    message: Sorry, you cannot perform this action. Account is under review.
        '404':
          description: Data feed not found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
              examples:
                FeedNotFound:
                  value:
                    code: 4161
                    message: Sorry! We could not find your catalogs feed.
        '409':
          description: Conflict. Can't delete a feed with active promotions.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
              examples:
                FeedHasActivePromotions:
                  value:
                    code: 4162
                    message: We can't disable a Product Group with active promotions.
        default:
          description: Unexpected error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
      tags:
      - Feed
  /catalogs/feeds/{feed_id}/ingest:
    post:
      x-ratelimit-category: catalogs_write
      summary: Ingest items for a given feed
      description: 'Ingest items for a given feed owned by the "operation 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.


        <a href=''/docs/shopping/catalog/''>Learn more</a>


        Note: This endpoint is only allowed in the Pinterest API Sandbox (https://api-sandbox.pinterest.com/v5).

        Go to https://developers.pinterest.com/docs/dev-tools/sandbox/ for more information.'
      operationId: feeds/ingest
      security:
      - pinterest_oauth2:
        - catalogs:write
      x-sandbox: enabled
      parameters:
      - $ref: '#/components/parameters/path_catalogs_feed_id'
      - $ref: '#/components/parameters/query_ad_account_id'
      responses:
        '204':
          description: The ingestion process was successfully started.
        '400':
          description: Invalid feed parameters.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
              examples:
                InvalidRequest:
                  value:
                    code: 1
                    message: '''feed_id'' value ''1511851494501_'' must match the pattern: ^\d+$"}'
        '403':
          description: Forbidden. Account not approved for feed mutations yet.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
              examples:
                MerchantDisapproved:
                  value:
                    code: 2625
                    message: Sorry, you cannot perform this action. Account is disapproved.
                MerchantUnderReview:
                  value:
                    code: 2626
                    message: Sorry, you cannot perform this action. Account is under review.
        '404':
          description: Data feed not found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
              examples:
                FeedNotFound:
                  value:
                    code: 4161
                    message: Sorry! We could not find your catalogs feed.
        default:
          description: Unexpected error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
      tags:
      - Feed
  /catalogs/feeds/{feed_id}/processing_results:
    get:
      x-ratelimit-category: catalogs_read
      summary: List processing results for a given feed
      description: 'Fetch a feed processing results owned by the "operation user_account". Please note that for now the bookmark parameter is not functional and only the first page will be available until it is implemented in some release in the near future.

        - 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.


        <a href=''/docs/shopping/catalog/''>Learn more</a>'
      operationId: feed_processing_results/list
      security:
      - pinterest_oauth2:
        - catalogs:read
      x-sandbox: enabled
      parameters:
      - $ref: '#/components/parameters/path_catalogs_feed_id'
      - $ref: '#/components/parameters/query_bookmark'
      - $ref: '#/components/parameters/query_page_size'
      - $ref: '#/components/parameters/query_ad_account_id'
      responses:
        '200':
          content:
            application/json:
              schema:
                allOf:
                - $ref: '#/components/schemas/Paginated'
                - type: object
                  properties:
                    items:
                      type: array
                      items:
                        $ref: '#/components/schemas/CatalogsFeedProcessingResult'
          description: Success
        '400':
          description: Invalid parameters.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
              examples:
                InvalidRequest:
                  value:
                    code: 1
                    message: Parameter 'page_size' was not numeric (was 3e)"
        '401':
          description: Unauthorized access.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
              examples:
                UnauthorizedAccess:
                  value:
                    code: 29
                    message: You are not permitted to access that resource.
        '404':
          description: Feed not found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
              examples:
                FeedNotFound:
                  value:
                    code: 4161
                    message: Sorry! We could not find your catalogs feed.
        default:
          description: Unexpected error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
      tags:
      - Feed
components:
  parameters:
    path_catalogs_feed_id:
      description: Unique identifier of a feed
      in: path
      required: true
      name: feed_id
      schema:
        type: string
        pattern: ^\d+$
    query_ad_account_id:
      name: ad_account_id
      description: Unique identifier of an ad account.
      in: query
      schema:
        type: string
        pattern: ^\d+$
        maxLength: 18
    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
  schemas:
    CatalogsFeedIngestionDetails:
      type: object
      properties:
        errors:
          $ref: '#/components/schemas/CatalogsFeedIngestionErrors'
        info:
          $ref: '#/components/schemas/CatalogsFeedIngestionInfo'
        warnings:
          $ref: '#/components/schemas/CatalogsFeedIngestionWarnings'
      required:
      - errors
      - info
      - warnings
    CatalogsFeedIngestionErrors:
      type: object
      properties:
        LINE_LEVEL_INTERNAL_ERROR:
          type: integer
          description: We experienced a technical difficulty and were unable to ingest this some items. The next ingestion will happen in 24 hours.
        LARGE_PRODUCT_COUNT_DECREASE:
          type: integer
          enum:
          - 1
          description: The product count has decreased by more than 99% compared to the last successful ingestion.
        ACCOUNT_FLAGGED:
          type: integer
          description: We detected an issue with your account and are not currently ingesting your items. Please review our policies at policy.pinterest.com/community-guidelines#section-spam or contact us at help.pinterest.com/contact for more information.
        IMAGE_LEVEL_INTERNAL_ERROR:
          type: integer
          description: We experienced a technical difficulty and were unable to download some images. The next download attempt will happen in 24 hours.
        IMAGE_FILE_NOT_ACCESSIBLE:
          type: integer
          description: Image files are unreadable. Please upload new files to continue.
        IMAGE_MALFORMED_URL:
          type: integer
          description: Image files are unreadable. Please check your link and upload new files to continue.
        IMAGE_FILE_NOT_FOUND:
          type: integer
          description: Image files are unreadable. Please upload new files to continue.
        IMAGE_INVALID_FILE:
          type: integer
          description: Image files are unreadable. Please upload new files to continue.
    CatalogsFeed:
      type: object
      title: catalogs_feed
      description: Catalogs Feed object
      oneOf:
      - $ref: '#/components/schemas/CatalogsRetailFeed'
      - $ref: '#/components/schemas/CatalogsHotelFeed'
      - $ref: '#/components/schemas/CatalogsCreativeAssetsFeed'
      discriminator:
        propertyName: catalog_type
        mapping:
          RETAIL: '#/components/schemas/CatalogsRetailFeed'
          HOTEL: '#/components/schemas/CatalogsHotelFeed'
          CREATIVE_ASSETS: '#/components/schemas/CatalogsCreativeAssetsFeed'
    CatalogsFeedValidationWarnings:
      type: object
      properties:
        AD_LINK_FORMAT_WARNING:
          type: integer
          description: Some items have ad links that are formatted incorrectly.
        AD_LINK_SAME_AS_LINK:
          type: integer
          description: Some items have ad link URLs that are duplicates of the link URLs for those items.
        TITLE_LENGTH_TOO_LONG:
          type: integer
          description: The title for some items were truncated because they contain too many characters.
        DESCRIPTION_LENGTH_TOO_LONG:
          type: integer
          description: The description for some items were truncated because they contain too many characters.
        GENDER_INVALID:
          type: integer
          description: Some items have gender values that are formatted incorrectly, which may limit visibility in recommendations, search results and shopping experiences.
        AGE_GROUP_INVALID:
          type: integer
          description: Some items have age group values that are formatted incorrectly, which may limit visibility in recommendations, search results and shopping experiences.
        SIZE_TYPE_INVALID:
          type: integer
          description: Some items have size type values that are formatted incorrectly, which may limit visibility in recommendations, search results and shopping experiences.
        SIZE_SYSTEM_INVALID:
          type: integer
          description: Some items have size system values which are not one of the supported size systems.
        LINK_FORMAT_WARNING:
          type: integer
          description: Some items have an invalid product link which contains invalid UTM tracking paramaters.
        SALES_PRICE_INVALID:
          type: integer
          description: Some items have sale price values that are higher than the original price of the item.
        PRODUCT_CATEGORY_DEPTH_WARNING:
          type: integer
          description: Some items only have 1 or 2 levels of google_product_category values, which may limit visibility in recommendations, search results and shopping experiences.
        ADWORDS_FORMAT_WARNING:
          type: integer
          description: Some items have adwords_redirect links that are formatted incorrectly.
        ADWORDS_SAME_AS_LINK:
          type: integer
          description: Some items have adwords_redirect URLs that are duplicates of the link URLs for those items.
        DUPLICATE_HEADERS:
          type: integer
          description: Your feed contains duplicate headers.
        FETCH_SAME_SIGNATURE:
          type: integer
          description: Ingestion completed early because there are no changes to your feed since the last successful update.
          enum:
          - 1
        ADDITIONAL_IMAGE_LINK_LENGTH_TOO_LONG:
          type: integer
          description: Some items have additional_image_link URLs that contain too many characters, so those items will not be published.
        ADDITIONAL_IMAGE_LINK_WARNING:
          type: integer
          description: Some items have additional_image_link URLs that are formatted incorrectly and will not be published with your items.
        IMAGE_LINK_WARNING:
          type: integer
          description: Some items have image_link URLs that are formatted incorrectly and will not be published with those items.
        SHIPPING_INVALID:
          type: integer
          description: Some items have shipping values that are formatted incorrectly.
        TAX_INVALID:
          type: integer
          description: Some items have tax values that are formatted incorrectly.
        SHIPPING_WEIGHT_INVALID:
          type: integer
          description: Some items have invalid shipping_weight values.
        EXPIRATION_DATE_INVALID:
          type: integer
          description: Some items have expiration_date values that are formatted incorrectly, those items will be published without an expiration date.
        AVAILABILITY_DATE_INVALID:
          type: integer
          description: Some items have availability_date values that are formatted incorrectly, those items will be published without an availability date.
        SALE_DATE_INVALID:
          type: integer
          description: Some items have sale_price_effective_date values that are formatted incorrectly, those items will be published without a sale date.
        WEIGHT_UNIT_INVALID:
          type: integer
          description: Some items have weight_unit values that are formatted incorrectly, those items will be published without a weight unit.
        IS_BUNDLE_INVALID:
          type: integer
          description: Some items have is_bundle values that are formatted incorrectly, those items will be published without being bundled with other products.
        UPDATED_TIME_INVALID:
          type: integer
          description: Some items have updated_time values thate are formatted incorrectly, those items will be published without an updated time.
        CUSTOM_LABEL_LENGTH_TOO_LONG:
          type: integer
          description: Some items have custom_label values that are too long, those items will be published without that custom label.
        PRODUCT_TYPE_LENGTH_TOO_LONG:
          type: integer
          description: Some items have product_type values that are too long, those items will be published without that product type.
        TOO_MANY_ADDITIONAL_IMAGE_LINKS:
          type: integer
          description: Some items have additional_image_link values that exceed the limit for additional images, those items will be published without some of your images.
        MULTIPACK_INVALID:
          type: integer
          description: Some items have invalid multipack values.
        INDEXED_PRODUCT_COUNT_LARGE_DELTA:
          type: integer
          description: The product count has increased or decreased significantly compared to the last successful ingestion.
        ITEM_ADDITIONAL_IMAGE_DOWNLOAD_FAILURE:
          type: integer
          description: Some items include additional_image_links that can't be found.
        OPTIONAL_PRODUCT_CATEGORY_MISSING:
          type: integer
          description: Some items are missing a google_product_category.
        OPTIONAL_PRODUCT_CATEGORY_INVALID:
          type: integer
          description: Some items include google_product_category values that are not formatted correctly according to the GPC taxonomy.
        OPTIONAL_CONDITION_MISSING:
          type: integer
          description: Some items are missing a condition value, which may limit visibility in recommendations, search results and shopping experiences.
        OPTIONAL_CONDITION_INVALID:
          type: integer
          description: Some items include condition values that are formatted incorrectly, which may limit visibility in recommendations, search results and shopping experiences.
        IOS_DEEP_LINK_INVALID:
          type: integer
          description: Some items include invalid ios_deep_link values.
        ANDROID_DEEP_LINK_INVALID:
          type: integer
          description: Some items include invalid android_deep_link.
        UTM_SOURCE_AUTO_CORRECTED:
          type: integer
          description: Some items include utm_source values that are formatted incorrectly and have been automatically corrected.
        COUNTRY_DOES_NOT_MAP_TO_CURRENCY:
          type: integer
          description: Some items include a currency that doesn't match the usual currency for the location where that product is sold or shipped.
        MIN_AD_PRICE_INVALID:
          type: integer
          description: Some items include min_ad_price values that are formatted incorrectly.
        GTIN_INVALID:
          type: integer
          description: Some items include incorrectly formatted GTINs.
        INCONSISTENT_CURRENCY_VALUES:
          type: integer
          description: Some items include inconsistent currencies in price fields.
        SALES_PRICE_TOO_LOW:
          type: integer
          description: Some items include sales price that is much lower than the list price.
        SHIPPING_WIDTH_INVALID:
          type: integer
          description: Some items include incorrectly formatted shipping_width.
        SHIPPING_HEIGHT_INVALID:
          type: integer
          description: Some items include incorrectly formatted shipping_height.
        SALES_PRICE_TOO_HIGH:
          type: integer
          description: Some items include a sales price that is higher than the list price. The sales price has been defaulted to the list price.
        MPN_INVALID:
          type: integer
          description: Some items include incorrectly formatted MPNs.
    Error:
      title: Error
      type: object
      properties:
        code:
          type: integer
        message:
          type: string
      required:
      - code
      - message
    CatalogsFeedProcessingResult:
      type: object
      allOf:
      - $ref: '#/components/schemas/CatalogsDbItem'
      - type: object
        title: catalogs_feed_processing_result_fields
        properties:
          ingestion_details:
            $ref: '#/components/schemas/CatalogsFeedIngestionDetails'
          status:
            $ref: '#/components/schemas/CatalogsFeedProcessingStatus'
          product_counts:
            $ref: '#/components/schemas/CatalogsFeedProductCounts'
          validation_details:
            $ref: '#/components/schemas/CatalogsFeedValidationDetails'
        required:
        - ingestion_details
        - status
        - product_counts
        - validation_details
    CatalogsFeedsUpdateRequest:
      type: object
      title: legacy_retail_only
      description: Request object for updating a feed.
      additionalProperties: false
      properties:
        default_availability:
          $ref: '#/components/schemas/ProductAvailabilityType'
        default_currency:
          $ref: '#/components/schemas/NullableCurrency'
        name:
          description: A human-friendly name associated to a given feed.
          type: string
        format:
          $ref: '#/components/schemas/CatalogsFormat'
        credentials:
          $ref: '#/components/schemas/CatalogsFeedCredentials'
        location:
          type: string
          pattern: ^(http|https|ftp|sftp)://
          description: The URL where a feed is available for download. This URL is what Pinterest will use to download a feed for processing.
        preferred_processing_schedule:
          $ref: '#/components/schemas/CatalogsFeedProcessingSchedule'
        status:
          $ref: '#/components/schemas/CatalogsStatus'
    CatalogsCreativeAssetsFeedsUpdateRequest:
      type: object
      title: catalogs_feeds_update_request
      description: Request object for updating a feed.
      additionalProperties: false
      properties:
        default_currency:
          $ref: '#/components/schemas/NullableCurrency'
        name:
          description: A human-friendly name associated to a given feed.
          type: string
        format:
          $ref: '#/components/schemas/CatalogsFormat'
        credentials:
          $ref: '#/components/schemas/CatalogsFeedCredentials'
        location:
          type: string
          pattern: ^(http|https|ftp|sftp)://
          description: The URL where a feed is available for download. This URL is what Pinterest will use to download a feed for processing.
        preferred_processing_schedule:
          $ref: '#/components/schemas/CatalogsFeedProcessingSchedule'
        status:
          $ref: '#/components/schemas/CatalogsStatus'
        catalog_type:
          $ref: '#/components/schemas/CatalogsType'
      required:
      - catalog_type
    CatalogsFeedProcessingStatus:
      type: string
      enum:
      - COMPLETED
      - COMPLETED_EARLY
      - DISAPPROVED
      - FAILED
      - PROCESSING
      - QUEUED_FOR_PROCESSING
      - UNDER_APPEAL
      - UNDER_REVIEW
    CatalogsVerticalFeedsUpdateRequest:
      type: object
      title: feeds_update_request
      description: Request object for updating a feed.
      oneOf:
      - $ref: '#/components/schemas/CatalogsRetailFeedsUpdateRequest'
      - $ref: '#/components/schemas/CatalogsHotelFeedsUpdateRequest'
      - $ref: '#/components/schemas/CatalogsCreativeAssetsFeedsUpdateRequest'
      discriminator:
        propertyName: catalog_type
        mapping:
          RETAIL: '#/components/schemas/CatalogsRetailFeedsUpdateRequest'
          HOTEL: '#/components/schemas/CatalogsHotelFeedsUpdateRequest'
          CREATIVE_ASSETS: '#/components/schemas/CatalogsCreativeAssetsFeedsUpdateRequest'
    CatalogsDbItem:
      type: object
      title: db_item
      properties:
        created_at:
          type: string
          format: date-time
          example: '2022-03-14T15:15:22Z'
        id:
          type: string
        updated_at:
          type: string
          format: date-time
          example: '2022-03-14T15:16:34Z'
    CatalogsFeedIngestionInfo:
      type: object
      properties:
        IN_STOCK:
         

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