Opply Catalog API

The Catalog API from Opply — 10 operation(s) for catalog.

Operations 24

GET /api/v1/catalog/buyer-items/ Merchant of Record buyer item endpoints #
POST /api/v1/catalog/buyer-items/ Merchant of Record buyer item endpoints #
GET /api/v1/catalog/buyer-items/{uuid}/ Merchant of Record buyer item endpoints #
PUT /api/v1/catalog/buyer-items/{uuid}/ Merchant of Record buyer item endpoints #
PATCH /api/v1/catalog/buyer-items/{uuid}/ Merchant of Record buyer item endpoints #
DELETE /api/v1/catalog/buyer-items/{uuid}/ Merchant of Record buyer item endpoints #
GET /api/v1/catalog/buyer-items/{uuid}/documents/ List documents for a buyer item #
POST /api/v1/catalog/buyer-items/{uuid}/documents/ Upload a document for a buyer item #
DELETE /api/v1/catalog/buyer-items/{uuid}/documents/{document_uuid}/ Delete a document for a buyer item #
GET /api/v1/catalog/items/ Brand-facing catalog item endpoints #
POST /api/v1/catalog/items/ Brand-facing catalog item endpoints #
GET /api/v1/catalog/items/{uuid}/ Brand-facing catalog item endpoints #
PUT /api/v1/catalog/items/{uuid}/ Brand-facing catalog item endpoints #
PATCH /api/v1/catalog/items/{uuid}/ Brand-facing catalog item endpoints #
DELETE /api/v1/catalog/items/{uuid}/ Brand-facing catalog item endpoints #
GET /api/v1/catalog/supplier-items/ Merchant of Record supplier item endpoints #
POST /api/v1/catalog/supplier-items/ Merchant of Record supplier item endpoints #
GET /api/v1/catalog/supplier-items/{uuid}/ Merchant of Record supplier item endpoints #
PUT /api/v1/catalog/supplier-items/{uuid}/ Merchant of Record supplier item endpoints #
PATCH /api/v1/catalog/supplier-items/{uuid}/ Merchant of Record supplier item endpoints #
DELETE /api/v1/catalog/supplier-items/{uuid}/ Merchant of Record supplier item endpoints #
GET /api/v1/catalog/supplier-items/{uuid}/documents/ List documents for a supplier item #
POST /api/v1/catalog/supplier-items/{uuid}/documents/ Upload a document for a supplier item #
DELETE /api/v1/catalog/supplier-items/{uuid}/documents/{document_uuid}/ Delete a document for a supplier item #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/opply-catalog-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

opply-catalog-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Opply Activity Feed Catalog API
  version: 0.0.0
servers:
- url: https://api.opply.com
  description: Base URL declared by the provider in apis.yml (roadmap#122).
tags:
- name: Catalog
paths:
  /api/v1/catalog/buyer-items/:
    get:
      operationId: api_v1_catalog_buyer_items_list
      description: 'ViewSet for MoR users to manage buyer catalogue items.


        Flat resource at /api/v1/catalog/buyer-items/.

        Filter by buyer_company, is_active, category via query params.'
      summary: Merchant of Record buyer item endpoints
      parameters:
      - in: query
        name: buyer_company
        schema:
          type: string
          format: uuid
      - in: query
        name: category
        schema:
          type: string
          format: uuid
      - in: query
        name: is_active
        schema:
          type: boolean
      - in: query
        name: kind
        schema:
          type: string
          enum:
          - ingredient
          - packaging
        description: 'What kind of material this row represents (ingredient, packaging, ...).


          * `ingredient` - Ingredient

          * `packaging` - Packaging'
      - name: page
        required: false
        in: query
        description: A page number within the paginated result set.
        schema:
          type: integer
      - name: page_size
        required: false
        in: query
        description: Number of results to return per page.
        schema:
          type: integer
      - name: search
        required: false
        in: query
        description: A search term.
        schema:
          type: string
      tags:
      - Catalog
      security:
      - tokenAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedBuyerItemListList'
          description: ''
    post:
      operationId: api_v1_catalog_buyer_items_create
      description: 'ViewSet for MoR users to manage buyer catalogue items.


        Flat resource at /api/v1/catalog/buyer-items/.

        Filter by buyer_company, is_active, category via query params.'
      summary: Merchant of Record buyer item endpoints
      tags:
      - Catalog
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/BuyerItemCreate'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/BuyerItemCreate'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/BuyerItemCreate'
        required: true
      security:
      - tokenAuth: []
      - cookieAuth: []
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BuyerItemCreate'
          description: ''
  /api/v1/catalog/buyer-items/{uuid}/:
    get:
      operationId: api_v1_catalog_buyer_items_retrieve
      description: 'ViewSet for MoR users to manage buyer catalogue items.


        Flat resource at /api/v1/catalog/buyer-items/.

        Filter by buyer_company, is_active, category via query params.'
      summary: Merchant of Record buyer item endpoints
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - Catalog
      security:
      - tokenAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BuyerItemDetail'
          description: ''
    put:
      operationId: api_v1_catalog_buyer_items_update
      description: 'ViewSet for MoR users to manage buyer catalogue items.


        Flat resource at /api/v1/catalog/buyer-items/.

        Filter by buyer_company, is_active, category via query params.'
      summary: Merchant of Record buyer item endpoints
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - Catalog
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/BuyerItemDetail'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/BuyerItemDetail'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/BuyerItemDetail'
        required: true
      security:
      - tokenAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BuyerItemDetail'
          description: ''
    patch:
      operationId: api_v1_catalog_buyer_items_partial_update
      description: 'ViewSet for MoR users to manage buyer catalogue items.


        Flat resource at /api/v1/catalog/buyer-items/.

        Filter by buyer_company, is_active, category via query params.'
      summary: Merchant of Record buyer item endpoints
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - Catalog
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PatchedBuyerItemDetail'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/PatchedBuyerItemDetail'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/PatchedBuyerItemDetail'
      security:
      - tokenAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BuyerItemDetail'
          description: ''
    delete:
      operationId: api_v1_catalog_buyer_items_destroy
      description: 'ViewSet for MoR users to manage buyer catalogue items.


        Flat resource at /api/v1/catalog/buyer-items/.

        Filter by buyer_company, is_active, category via query params.'
      summary: Merchant of Record buyer item endpoints
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - Catalog
      security:
      - tokenAuth: []
      - cookieAuth: []
      responses:
        '204':
          description: No response body
  /api/v1/catalog/buyer-items/{uuid}/documents/:
    get:
      operationId: api_v1_catalog_buyer_items_documents_list
      description: 'ViewSet for MoR users to manage buyer catalogue items.


        Flat resource at /api/v1/catalog/buyer-items/.

        Filter by buyer_company, is_active, category via query params.'
      summary: List documents for a buyer item
      parameters:
      - in: query
        name: buyer_company
        schema:
          type: string
          format: uuid
      - in: query
        name: category
        schema:
          type: string
          format: uuid
      - in: query
        name: is_active
        schema:
          type: boolean
      - in: query
        name: kind
        schema:
          type: string
          enum:
          - ingredient
          - packaging
        description: 'What kind of material this row represents (ingredient, packaging, ...).


          * `ingredient` - Ingredient

          * `packaging` - Packaging'
      - name: page
        required: false
        in: query
        description: A page number within the paginated result set.
        schema:
          type: integer
      - name: page_size
        required: false
        in: query
        description: Number of results to return per page.
        schema:
          type: integer
      - name: search
        required: false
        in: query
        description: A search term.
        schema:
          type: string
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - Catalog
      security:
      - tokenAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedBuyerItemDocumentList'
          description: ''
    post:
      operationId: api_v1_catalog_buyer_items_documents_create
      description: 'ViewSet for MoR users to manage buyer catalogue items.


        Flat resource at /api/v1/catalog/buyer-items/.

        Filter by buyer_company, is_active, category via query params.'
      summary: Upload a document for a buyer item
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - Catalog
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/BuyerItemDocumentUpload'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/BuyerItemDocumentUpload'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/BuyerItemDocumentUpload'
        required: true
      security:
      - tokenAuth: []
      - cookieAuth: []
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BuyerItemDocument'
          description: ''
        '400':
          description: Validation error
        '404':
          description: Item not found
  /api/v1/catalog/buyer-items/{uuid}/documents/{document_uuid}/:
    delete:
      operationId: api_v1_catalog_buyer_items_documents_destroy
      description: 'ViewSet for MoR users to manage buyer catalogue items.


        Flat resource at /api/v1/catalog/buyer-items/.

        Filter by buyer_company, is_active, category via query params.'
      summary: Delete a document for a buyer item
      parameters:
      - in: path
        name: document_uuid
        schema:
          type: string
        required: true
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - Catalog
      security:
      - tokenAuth: []
      - cookieAuth: []
      responses:
        '204':
          description: Document deleted successfully
        '404':
          description: Item or document not found
  /api/v1/catalog/items/:
    get:
      operationId: api_v1_catalog_items_list
      description: 'Brand-facing CRUD for the buyer''s own catalogue items (materials).


        Flat resource at /api/v1/catalog/items/. Scoped to the authenticated

        user''s company via `request.user_company`.'
      summary: Brand-facing catalog item endpoints
      parameters:
      - in: query
        name: buyer_company
        schema:
          type: string
          format: uuid
      - in: query
        name: category
        schema:
          type: string
          format: uuid
      - in: query
        name: is_active
        schema:
          type: boolean
      - in: query
        name: kind
        schema:
          type: string
          enum:
          - ingredient
          - packaging
        description: 'What kind of material this row represents (ingredient, packaging, ...).


          * `ingredient` - Ingredient

          * `packaging` - Packaging'
      - name: page
        required: false
        in: query
        description: A page number within the paginated result set.
        schema:
          type: integer
      - name: page_size
        required: false
        in: query
        description: Number of results to return per page.
        schema:
          type: integer
      - name: search
        required: false
        in: query
        description: A search term.
        schema:
          type: string
      tags:
      - Catalog
      security:
      - tokenAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedBrandBuyerItemListList'
          description: ''
    post:
      operationId: api_v1_catalog_items_create
      description: 'Brand-facing CRUD for the buyer''s own catalogue items (materials).


        Flat resource at /api/v1/catalog/items/. Scoped to the authenticated

        user''s company via `request.user_company`.'
      summary: Brand-facing catalog item endpoints
      tags:
      - Catalog
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/BrandBuyerItemCreate'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/BrandBuyerItemCreate'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/BrandBuyerItemCreate'
        required: true
      security:
      - tokenAuth: []
      - cookieAuth: []
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BrandBuyerItemCreate'
          description: ''
  /api/v1/catalog/items/{uuid}/:
    get:
      operationId: api_v1_catalog_items_retrieve
      description: 'Brand-facing CRUD for the buyer''s own catalogue items (materials).


        Flat resource at /api/v1/catalog/items/. Scoped to the authenticated

        user''s company via `request.user_company`.'
      summary: Brand-facing catalog item endpoints
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - Catalog
      security:
      - tokenAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BrandBuyerItemDetail'
          description: ''
    put:
      operationId: api_v1_catalog_items_update
      description: 'Brand-facing CRUD for the buyer''s own catalogue items (materials).


        Flat resource at /api/v1/catalog/items/. Scoped to the authenticated

        user''s company via `request.user_company`.'
      summary: Brand-facing catalog item endpoints
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - Catalog
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/BrandBuyerItemDetail'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/BrandBuyerItemDetail'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/BrandBuyerItemDetail'
        required: true
      security:
      - tokenAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BrandBuyerItemDetail'
          description: ''
    patch:
      operationId: api_v1_catalog_items_partial_update
      description: 'Brand-facing CRUD for the buyer''s own catalogue items (materials).


        Flat resource at /api/v1/catalog/items/. Scoped to the authenticated

        user''s company via `request.user_company`.'
      summary: Brand-facing catalog item endpoints
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - Catalog
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PatchedBrandBuyerItemDetail'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/PatchedBrandBuyerItemDetail'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/PatchedBrandBuyerItemDetail'
      security:
      - tokenAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BrandBuyerItemDetail'
          description: ''
    delete:
      operationId: api_v1_catalog_items_destroy
      description: 'Brand-facing CRUD for the buyer''s own catalogue items (materials).


        Flat resource at /api/v1/catalog/items/. Scoped to the authenticated

        user''s company via `request.user_company`.'
      summary: Brand-facing catalog item endpoints
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - Catalog
      security:
      - tokenAuth: []
      - cookieAuth: []
      responses:
        '204':
          description: No response body
  /api/v1/catalog/supplier-items/:
    get:
      operationId: api_v1_catalog_supplier_items_list
      description: 'ViewSet for MoR users to manage supplier catalogue items.


        Flat resource at /api/v1/catalog/supplier-items/.

        Filter by supplier_company, is_active, category via query params.'
      summary: Merchant of Record supplier item endpoints
      parameters:
      - in: query
        name: category
        schema:
          type: string
          format: uuid
      - in: query
        name: is_active
        schema:
          type: boolean
      - in: query
        name: kind
        schema:
          type: string
          enum:
          - ingredient
          - packaging
        description: 'What kind of material this row represents (ingredient, packaging, ...).


          * `ingredient` - Ingredient

          * `packaging` - Packaging'
      - name: page
        required: false
        in: query
        description: A page number within the paginated result set.
        schema:
          type: integer
      - name: page_size
        required: false
        in: query
        description: Number of results to return per page.
        schema:
          type: integer
      - name: search
        required: false
        in: query
        description: A search term.
        schema:
          type: string
      - in: query
        name: supplier_company
        schema:
          type: string
          format: uuid
      tags:
      - Catalog
      security:
      - tokenAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedSupplierItemListList'
          description: ''
    post:
      operationId: api_v1_catalog_supplier_items_create
      description: 'ViewSet for MoR users to manage supplier catalogue items.


        Flat resource at /api/v1/catalog/supplier-items/.

        Filter by supplier_company, is_active, category via query params.'
      summary: Merchant of Record supplier item endpoints
      tags:
      - Catalog
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SupplierItemCreate'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/SupplierItemCreate'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/SupplierItemCreate'
        required: true
      security:
      - tokenAuth: []
      - cookieAuth: []
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SupplierItemCreate'
          description: ''
  /api/v1/catalog/supplier-items/{uuid}/:
    get:
      operationId: api_v1_catalog_supplier_items_retrieve
      description: 'ViewSet for MoR users to manage supplier catalogue items.


        Flat resource at /api/v1/catalog/supplier-items/.

        Filter by supplier_company, is_active, category via query params.'
      summary: Merchant of Record supplier item endpoints
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - Catalog
      security:
      - tokenAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SupplierItemDetail'
          description: ''
    put:
      operationId: api_v1_catalog_supplier_items_update
      description: 'ViewSet for MoR users to manage supplier catalogue items.


        Flat resource at /api/v1/catalog/supplier-items/.

        Filter by supplier_company, is_active, category via query params.'
      summary: Merchant of Record supplier item endpoints
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - Catalog
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SupplierItemDetail'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/SupplierItemDetail'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/SupplierItemDetail'
        required: true
      security:
      - tokenAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SupplierItemDetail'
          description: ''
    patch:
      operationId: api_v1_catalog_supplier_items_partial_update
      description: 'ViewSet for MoR users to manage supplier catalogue items.


        Flat resource at /api/v1/catalog/supplier-items/.

        Filter by supplier_company, is_active, category via query params.'
      summary: Merchant of Record supplier item endpoints
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - Catalog
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PatchedSupplierItemDetail'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/PatchedSupplierItemDetail'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/PatchedSupplierItemDetail'
      security:
      - tokenAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SupplierItemDetail'
          description: ''
    delete:
      operationId: api_v1_catalog_supplier_items_destroy
      description: 'ViewSet for MoR users to manage supplier catalogue items.


        Flat resource at /api/v1/catalog/supplier-items/.

        Filter by supplier_company, is_active, category via query params.'
      summary: Merchant of Record supplier item endpoints
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - Catalog
      security:
      - tokenAuth: []
      - cookieAuth: []
      responses:
        '204':
          description: No response body
  /api/v1/catalog/supplier-items/{uuid}/documents/:
    get:
      operationId: api_v1_catalog_supplier_items_documents_list
      description: 'ViewSet for MoR users to manage supplier catalogue items.


        Flat resource at /api/v1/catalog/supplier-items/.

        Filter by supplier_company, is_active, category via query params.'
      summary: List documents for a supplier item
      parameters:
      - in: query
        name: category
        schema:
          type: string
          format: uuid
      - in: query
        name: is_active
        schema:
          type: boolean
      - in: query
        name: kind
        schema:
          type: string
          enum:
          - ingredient
          - packaging
        description: 'What kind of material this row represents (ingredient, packaging, ...).


          * `ingredient` - Ingredient

          * `packaging` - Packaging'
      - name: page
        required: false
        in: query
        description: A page number within the paginated result set.
        schema:
          type: integer
      - name: page_size
        required: false
        in: query
        description: Number of results to return per page.
        schema:
          type: integer
      - name: search
        required: false
        in: query
        description: A search term.
        schema:
          type: string
      - in: query
        name: supplier_company
        schema:
          type: string
          format: uuid
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - Catalog
      security:
      - tokenAuth: []
      - cookieAuth: []
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedSupplierItemDocumentList'
          description: ''
    post:
      operationId: api_v1_catalog_supplier_items_documents_create
      description: 'ViewSet for MoR users to manage supplier catalogue items.


        Flat resource at /api/v1/catalog/supplier-items/.

        Filter by supplier_company, is_active, category via query params.'
      summary: Upload a document for a supplier item
      parameters:
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - Catalog
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SupplierItemDocumentUpload'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/SupplierItemDocumentUpload'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/SupplierItemDocumentUpload'
        required: true
      security:
      - tokenAuth: []
      - cookieAuth: []
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SupplierItemDocument'
          description: ''
        '400':
          description: Validation error
        '404':
          description: Item not found
  /api/v1/catalog/supplier-items/{uuid}/documents/{document_uuid}/:
    delete:
      operationId: api_v1_catalog_supplier_items_documents_destroy
      description: 'ViewSet for MoR users to manage supplier catalogue items.


        Flat resource at /api/v1/catalog/supplier-items/.

        Filter by supplier_company, is_active, category via query params.'
      summary: Delete a document for a supplier item
      parameters:
      - in: path
        name: document_uuid
        schema:
          type: string
        required: true
      - in: path
        name: uuid
        schema:
          type: string
          format: uuid
        required: true
      tags:
      - Catalog
      security:
      - tokenAuth: []
      - cookieAuth: []
      responses:
        '204':
          description: Document deleted successfully
        '404':
          description: Item or document not found
components:
  schemas:
    BrandBuyerItemDetail:
      type: object
      properties:
        uuid:
          type: string
          format: uuid
          readOnly: true
        item_name:
          type: string
          maxLength: 255
        sku:
          type:
          - string
          - 'null'
          maxLength: 255
        item_description:
          type:
          - string
          - 'null'
        logo_url:
          type: string
          format: uri
          maxLength: 2048
        category_uuid:
          type:
          - string
          - 'null'
          format: uuid
        kind:
          allOf:
          - $ref: '#/components/schemas/CatalogItemKindEnum'
          description: 'What kind of material this row represents (ingredient, packaging, ...).


            * `ingredient` - Ingredient

            * `packaging` - Packaging'
        unit_of_measurement:
          allOf:
          - $ref: '#/components/schemas/UnitOfMeasurementEnum'
          description: 'Natural unit the material is measured in.


            * `fl oz` - Fluid Ounces

            * `g` - Grams

            * `mg` - milligrams

            * `gals` - Gallons

            * `kg` - Kilograms

            * `L` - Liters

            * `tons` - Metric Tons

            * `oz` - Ounces

            * `lbs` - Pounds

            * `pcs` - Pieces

            * `pt` - Pints

            * `ml` - Milliliter

            * `boxes` - Boxes

            * `pallets` - Pallets

            * `tsp` - Teaspoons

            * `tbsp` - Tablespoons

            * `units` - Units

            * `cases` - Cases

            * `trays` - Trays'
        allergen_requirements:
          type: array
          items:
            $ref: '#/components/schemas/AllergenRequirementsEnum'
        require_allergen_declaration:
          type: boolean
          description: A signed allergen declaration is required to source this material.
        diet_requirements:
          type: array
          items:
            $ref: '#/components/schemas/DietRequirementsEnum'
        require_dietary_certificate:
          type: boolean
          description: A dietary certificate is required to validate the diet requirements.
        is_active:
          type: boolean
        documents:
          type: array
          items:
            $ref: '#/components/schemas/BuyerItemDocument'
          readOnly: true
        created_at:
          type: string
          format: date-time
          readOnly: true
        modified_at:
          type: string
          format: date-time
          readOnly: true
      required:
      - created_at
      - documents
      - item_name
      - modified_at
      - uuid
    PatchedBrandBuyerItemDetail:
      type: object
      properties:
        uuid:
          type: string
          format: uuid
          readOnly: true
        item_name:
          type: string
          maxLength: 255
        sku:
          type:
          - string
          - 'null'
          maxLength: 255
        item_description:
          type:
          - string
          - 'null'
        logo_url:
          type: string
          format: uri
          maxLength: 2048
        category_uuid:
          type:
          - string
          - 'null'
          format: uuid
        kind:
          allOf:
          - $ref: '#/components/schemas/CatalogItemKindEnum'
          description: 'What kind of material this row represents (ingredient, packaging, ...).


            * `ingredient` - Ingredient

            * `packaging` - Packaging'
        unit_of_measurement:
          allOf:
          - $ref: '#/components/schemas/UnitOfMeasurementEnum'
          description: 'Natural unit the material is measured in.


            * `fl oz` - Fluid Ounces

            * `g` - Grams

            * `mg` - milligrams

            * `gals` - Gallons

            * `kg` - Kilograms

            * `L` - Liters

            * `tons` - Metric Tons

            * `oz` - Ounces

            * `lbs` - Pounds

            * `pcs` - Pieces

            * `pt` - Pints

            * `ml` - Milliliter

            * `boxes` - Boxes

            * `pallets` - Pallets

            * `tsp` - Teaspoons

            * `tbsp` - Tablespoons

            * `units` - Units

            * `cases` - Cases

            * `trays` - Trays'
        allergen_requirements:
          type: array
          items:
            $ref: '#/components/schemas/AllergenRequirementsEnum'
        require_allergen_declaration:
          type: boolean
          description: A signed allergen declaration is required to source this material.
        diet_requirements:
          type: array
          items:
            $ref: '#/components/schemas/DietRequirementsEnum'
        require_dietary_certificate:
          type: boolean
          description: A dietary certificate is required to

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