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

# Create Customer Pricelist



## OpenAPI

````yaml /openapi/public.openapi.json post /v1/pricelists
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/pricelists:
    post:
      tags:
        - Catalog
      summary: Create Customer Pricelist
      operationId: createCustomerPricelist
      parameters: []
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreatePublicCustomerPricelistDto'
        required: true
      responses:
        '201':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicCatalogItemResponse__type'
components:
  schemas:
    CreatePublicCustomerPricelistDto:
      type: object
      properties:
        sourcePriceListId:
          type: string
          format: uuid
        customerId:
          type: string
          format: uuid
        name:
          type: string
          minLength: 1
          maxLength: 255
        includeAll:
          type: boolean
          title: >-
            Set true to clone every SKU. When omitted or false, skuSelections is
            required
          description: >-
            Set true to clone every SKU. When omitted or false, skuSelections is
            required.
        skuSelections:
          type: array
          items:
            $ref: '#/components/schemas/PublicSkuSelection'
          title: Required when includeAll is not true
          description: Required when includeAll is not true.
        chargeRemovals:
          type: array
          items:
            type: string
            format: uuid
      required:
        - sourcePriceListId
        - customerId
        - name
    PublicCatalogItemResponse__type:
      type: object
      properties:
        data:
          type: object
          properties:
            priceListId:
              type: string
            skuCount:
              type: number
            chargeCount:
              type: number
          required:
            - priceListId
            - skuCount
            - chargeCount
      required:
        - data
    PublicSkuSelection:
      type: object
      properties:
        skuId:
          type: string
          format: uuid
        price:
          type: number
          minimum: 0
      required:
        - skuId
        - price
  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.