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

# List Skus



## OpenAPI

````yaml /openapi/public.openapi.json get /v1/skus
openapi: 3.1.0
info:
  title: CurbWaste Public API
  version: 1.0.0
  description: >-
    Partner-facing public API under /v1. Authenticate with a company API key
    (Authorization: Bearer cw_live_…). Outbound webhooks (customer.created /
    customer.updated / location.created / location.updated / pricelist.created)
    use HMAC and are documented separately.
  contact:
    name: CurbWaste
  license:
    name: UNLICENSED 1
servers:
  - url: https://api.curbwaste.com
    description: Production public API
security:
  - ApiKeyBearer: []
tags:
  - name: Customers
    description: >-
      Company CRM customers under /v1/customers. Requires customers:read or
      customers:write.
  - name: Catalog
  - name: Locations
  - name: Zones
paths:
  /v1/skus:
    get:
      tags:
        - Catalog
      summary: List Skus
      operationId: listSkus
      parameters:
        - name: q
          in: query
          schema:
            type: string
            maxLength: 255
          required: false
        - name: serviceId
          in: query
          schema:
            type: string
            format: uuid
          required: false
        - name: productId
          in: query
          schema:
            type: string
            format: uuid
          required: false
        - name: priceListId
          in: query
          schema:
            type: string
            format: uuid
          required: false
        - name: loadCompositionId
          in: query
          schema:
            type: string
            format: uuid
          required: false
        - name: materialTypeId
          in: query
          schema:
            type: string
            format: uuid
          required: false
        - name: pricingTypeId
          in: query
          schema:
            type: string
            format: uuid
          required: false
        - name: mode
          in: query
          schema:
            type: string
            maxLength: 32
          required: false
        - name: zipcode
          in: query
          schema:
            type: string
            maxLength: 16
          required: false
        - name: page
          in: query
          schema:
            type: integer
            minimum: 1
          required: false
        - name: limit
          in: query
          schema:
            type: integer
            minimum: 1
            maximum: 100
          required: false
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicCatalogListResponsePublicSku'
components:
  schemas:
    PublicCatalogListResponsePublicSku:
      type: object
      properties:
        data:
          type: array
          items:
            $ref: '#/components/schemas/PublicSku.o1'
        page:
          type: number
        limit:
          type: number
        total:
          type: number
      required:
        - data
        - page
        - limit
        - total
    PublicSku.o1:
      type: object
      properties:
        id:
          type: string
        name:
          type: string
        code:
          oneOf:
            - type: 'null'
            - type: string
        description:
          oneOf:
            - type: 'null'
            - type: string
        status:
          oneOf:
            - type: 'null'
            - type: string
        price:
          oneOf:
            - type: 'null'
            - type: number
        pricingType:
          oneOf:
            - type: 'null'
            - type: string
        product:
          oneOf:
            - type: 'null'
            - type: object
              properties:
                id:
                  type: string
                name:
                  type: string
              required:
                - id
                - name
        material:
          oneOf:
            - type: 'null'
            - type: string
        loadComposition:
          oneOf:
            - type: 'null'
            - type: string
        serviceId:
          oneOf:
            - type: 'null'
            - type: string
        priceListIds:
          type: array
          items:
            type: string
        fees:
          $ref: '#/components/schemas/RecordstringPublicSkuFee.o1'
      required:
        - id
        - name
        - code
        - description
        - status
        - price
        - pricingType
        - product
        - material
        - loadComposition
        - serviceId
        - priceListIds
        - fees
    RecordstringPublicSkuFee.o1:
      type: object
      properties: {}
      required: []
      description: Construct a type with a set of properties K of type T
      additionalProperties:
        $ref: '#/components/schemas/PublicSkuFee.o1'
    PublicSkuFee.o1:
      type: object
      properties:
        type:
          oneOf:
            - type: 'null'
            - type: string
        price:
          oneOf:
            - type: 'null'
            - type: number
        per:
          oneOf:
            - type: 'null'
            - type: string
        limit:
          oneOf:
            - type: 'null'
            - type: number
        limitType:
          oneOf:
            - type: 'null'
            - type: string
      required:
        - type
        - price
        - per
        - limit
        - limitType
  securitySchemes:
    ApiKeyBearer:
      type: http
      scheme: bearer
      bearerFormat: API key
      description: >-
        Company API key from the developer platform. Header: Authorization:
        Bearer cw_live_…. Key must include customers:read and/or
        customers:write.

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.