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

# List commerce items

> Requires `commerce:items:read`.



## OpenAPI

````yaml /openapi.json get /commerce/items
openapi: 3.0.3
info:
  title: Visito M2M API
  version: 1.0.0
  description: >-
    Tenant-scoped server-to-server API for channels, conversations, commerce,
    custom AI tools, and WhatsApp templates. Send operations are asynchronous
    and return queued acknowledgements. Expansion adds conversation controls,
    knowledge, sales opportunities, delivery status, reporting, and signed
    webhooks.
servers:
  - url: https://platform-api.visitoai.com/m2m/v1
    description: Production
security:
  - bearerAuth: []
tags:
  - name: Channels
  - name: Conversations
  - name: Commerce
  - name: Custom tools
  - name: WhatsApp templates
  - name: Properties
  - name: Knowledge
  - name: Sales CRM
  - name: Delivery
  - name: Reporting
  - name: Webhooks
paths:
  /commerce/items:
    get:
      tags:
        - Commerce
      summary: List commerce items
      description: Requires `commerce:items:read`.
      operationId: listCommerceItems
      responses:
        '200':
          description: Commerce catalog items
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CommerceItemsResponse'
        default:
          $ref: '#/components/responses/Error'
components:
  schemas:
    CommerceItemsResponse:
      type: object
      required:
        - items
      properties:
        items:
          type: array
          items:
            $ref: '#/components/schemas/CommerceItem'
      additionalProperties: false
    CommerceItem:
      type: object
      required:
        - itemId
        - tenantId
        - name
        - amountMinor
        - currency
        - active
        - scope
        - allowQuantity
        - minQuantity
        - maxQuantity
        - fields
      properties:
        itemId:
          type: string
        tenantId:
          type: string
        name:
          type: string
        description:
          type: string
        amountMinor:
          type: integer
          minimum: 1
        currency:
          type: string
          minLength: 3
          maxLength: 3
        active:
          type: boolean
        scope:
          type: string
          enum:
            - global
            - property
        propertyId:
          type: string
        allowQuantity:
          type: boolean
        minQuantity:
          type: integer
          minimum: 1
        maxQuantity:
          type: integer
          minimum: 1
        fields:
          type: array
          items:
            $ref: '#/components/schemas/CommerceItemField'
        createdAt:
          type: string
          format: date-time
        updatedAt:
          type: string
          format: date-time
      additionalProperties: false
    ErrorResponse:
      type: object
      required:
        - error
      properties:
        error:
          type: object
          required:
            - code
            - message
          properties:
            code:
              type: string
              example: M2M_AUTH_INSUFFICIENT_SCOPE
            message:
              type: string
            details:
              type: object
              additionalProperties: true
      example:
        error:
          code: M2M_AUTH_INSUFFICIENT_SCOPE
          message: M2M credential does not have required scope.
          details:
            requiredScopes:
              - conversations:write
            missingScopes:
              - conversations:write
    CommerceItemField:
      type: object
      required:
        - key
        - label
        - type
        - required
      properties:
        key:
          type: string
        label:
          type: string
        type:
          type: string
          enum:
            - text
            - number
            - email
            - phone
            - date
            - select
        required:
          type: boolean
        options:
          type: array
          items:
            type: string
      additionalProperties: false
  responses:
    Error:
      description: Structured error
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: Visito M2M API key
      description: Server-side tenant-scoped credential created from Build > API Keys.

````