> ## Documentation Index
> Fetch the complete documentation index at: https://docs.cardapioweb.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Listar insumos

> Retorna a lista paginada de insumos do estabelecimento.

Este endpoint exige autenticação OAuth 2.0 com escopo `catalog`. Não aceita API Key.



## OpenAPI

````yaml /reference/api-catalogo.json get /api/partner/v1/catalog/inventory/supplies
openapi: 3.1.0
info:
  title: API Catálogo
  version: '1.0'
  description: >-
    A API de catálogo fornece e gerencia o catálogo completo do estabelecimento,
    incluindo categorias, itens, grupos de complementos, opções e insumos.


    ## Autenticação


    Apps da CW App Store usam `Authorization: Bearer <access_token>` (OAuth 2.0)
    com escopo `catalog`.


    Integrações legadas exigem `X-API-KEY` e `X-PARTNER-KEY` nos endpoints de
    cardápio. Os endpoints de insumos exigem OAuth 2.0 e não aceitam API Key.


    Consulte a documentação em /autenticacao/modelos-de-autenticacao.


    ## Rate Limits


    Para o endpoint `GET /api/partner/v1/catalog`, o limite é de **5 requisições
    por minuto**.


    Para os demais endpoints do módulo de Catálogo (`/catalog/*`), o limite é de
    **100 requisições a cada 3 minutos**. Consulte /sobre-a-api#rate-limits.
  contact:
    email: integracao@cardapioweb.com
    url: https://cardapioweb.com
    name: Cardápio Web
servers:
  - url: https://integracao.sandbox.cardapioweb.com
    description: Sandbox
  - description: Produção
    url: https://integracao.cardapioweb.com
security:
  - bearerAuth: []
  - partnerKey: []
    apiKey: []
tags:
  - name: Catálogo completo
    description: Consulta do catálogo completo do estabelecimento.
  - name: Categorias
    description: Gerenciamento de categorias do cardápio.
  - name: Itens
    description: Gerenciamento de itens (produtos) do cardápio.
  - name: Grupos de complementos
    description: Gerenciamento de grupos de complementos (option groups) do cardápio.
  - name: Opções
    description: Gerenciamento de opções (subitens/complementos individuais) do cardápio.
  - name: Imagens
    description: Upload e remoção de imagens de categorias, itens e opções.
  - name: Categorias de insumos
    description: Gerenciamento de categorias de insumos do estabelecimento.
  - name: Insumos
    description: Gerenciamento de insumos do estabelecimento.
paths:
  /api/partner/v1/catalog/inventory/supplies:
    get:
      tags:
        - Insumos
      summary: Listar insumos
      description: >-
        Retorna a lista paginada de insumos do estabelecimento.


        Este endpoint exige autenticação OAuth 2.0 com escopo `catalog`. Não
        aceita API Key.
      operationId: listSupplies
      parameters:
        - $ref: '#/components/parameters/Page'
        - $ref: '#/components/parameters/PerPage'
        - name: supply_category_id
          in: query
          required: false
          schema:
            type: integer
          description: Retorna apenas os insumos da categoria informada.
      responses:
        '200':
          description: Lista de insumos retornada com sucesso.
          content:
            application/json:
              schema:
                type: object
                properties:
                  supplies:
                    type: array
                    items:
                      $ref: '#/components/schemas/Supply'
                  meta:
                    $ref: '#/components/schemas/PaginationMeta'
              example:
                supplies:
                  - id: 45
                    external_code: FAR-001
                    name: Farinha
                    unit_type: KG
                    allow_negative_stock: true
                    cost_price: 3.5
                    active_stock_control: true
                    stock: 12.5
                    minimum_stock: 2
                    created_at: '2025-06-15T10:40:33.744-03:00'
                    supply_category:
                      id: 12
                      name: Massas
                meta:
                  page: 1
                  per_page: 30
                  total: 1
                  total_pages: 1
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        '429':
          $ref: '#/components/responses/TooManyRequests'
components:
  parameters:
    Page:
      name: page
      in: query
      schema:
        type: integer
        minimum: 1
        default: 1
      description: Número da página.
    PerPage:
      name: per_page
      in: query
      required: false
      schema:
        type: integer
        minimum: 1
        maximum: 100
      description: Quantidade de itens por página.
  schemas:
    Supply:
      title: Supply
      type: object
      description: Insumo do estabelecimento.
      properties:
        id:
          type: integer
          description: Identificador único do insumo.
        external_code:
          type:
            - string
            - 'null'
          description: Código externo do insumo.
        name:
          type: string
          description: Nome do insumo.
        unit_type:
          type: string
          enum:
            - UN
            - KG
            - L
          default: UN
          description: |-
            Unidade de medida do insumo.
            - `UN`: unidade (padrão).
            - `KG`: quilograma.
            - `L`: litro.
        allow_negative_stock:
          type: boolean
          description: Indica se o estoque pode ficar negativo.
        cost_price:
          type:
            - number
            - 'null'
          description: >-
            Preço de custo do insumo. Deve ser um número positivo com no máximo
            2 casas decimais.
          minimum: 0
        active_stock_control:
          type: boolean
          description: Indica se o controle de estoque está ativo. Somente leitura.
        stock:
          type: number
          description: Quantidade disponível em estoque. Somente leitura.
        minimum_stock:
          type:
            - number
            - 'null'
          description: Estoque mínimo. Somente leitura.
        created_at:
          type: string
          format: date-time
          description: Data e hora de criação do insumo.
        supply_category:
          type: object
          description: Categoria à qual o insumo pertence.
          properties:
            id:
              type: integer
              description: ID da categoria de insumos.
            name:
              type: string
              description: Nome da categoria de insumos.
    PaginationMeta:
      title: PaginationMeta
      type: object
      description: Metadados de paginação.
      properties:
        page:
          type: integer
          description: Página atual.
        per_page:
          type: integer
          description: Quantidade de itens por página.
        total:
          type: integer
          description: Quantidade total de registros.
        total_pages:
          type: integer
          description: Quantidade total de páginas.
    Unauthorized:
      type: object
      title: Unauthorized
      description: >-
        Resposta de erro de autenticação. Retornado quando os headers
        `X-API-KEY` ou `X-PARTNER-KEY` estão ausentes ou são inválidos.
      examples:
        - code: 4010
          message: Token inválido.
      properties:
        code:
          type: integer
          description: Código interno de identificação do erro.
        message:
          type: string
          description: Mensagem de resumo do erro.
      required:
        - code
        - message
    Error:
      title: Error
      type: object
      description: Resposta de erro padrão da API.
      properties:
        code:
          type: integer
          description: Código interno de identificação do erro.
        message:
          type: string
          description: Mensagem de resumo do erro.
        details:
          type: string
          description: Detalhes adicionais do erro (quando disponível).
        errors:
          type: object
          description: Erros de validação por campo (quando disponível).
          additionalProperties:
            type: array
            items:
              type: string
      required:
        - code
        - message
  responses:
    Unauthorized:
      description: >-
        Não autorizado. Token OAuth inválido ou ausente, ou headers X-API-KEY /
        X-PARTNER-KEY inválidos ou ausentes no modelo legado.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Unauthorized'
          example:
            code: 4010
            message: Token inválido.
    NotFound:
      description: Recurso não encontrado.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
          example:
            code: 4041
            message: Recurso não encontrado.
    TooManyRequests:
      description: >-
        Muitas requisições foram feitas em um curto período. Verifique as regras
        de rate limit na descrição da API.
      content: {}
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: OAuth2
      description: >-
        Access token OAuth 2.0 de app instalado na CW App Store. Escopo:
        catalog.
    partnerKey:
      name: X-PARTNER-KEY
      type: apiKey
      in: header
      description: >-
        Token de autenticação da integradora. Para ter esse token, a integradora
        precisa estar previamente cadastrada em nosso sistema. Deve ser enviado
        no header `X-PARTNER-KEY`.
    apiKey:
      name: X-API-KEY
      type: apiKey
      in: header
      description: Token de autenticação da API. Deve ser enviado no header `X-API-KEY`.

````