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

# Create a shipment quote

> Checks locker availability and returns a fee quote. The origin locker is selected by the server.



## OpenAPI

````yaml /openapi.json post /api/partner/v1/shipment-quote
openapi: 3.1.0
info:
  title: UrbnBox integration API
  version: 1.0.0
  description: >-
    Create and track delivery orders, send parcels between pickup points, and
    connect Shopify.
servers:
  - url: https://portal.urbnbox.io
    description: UrbnBox production and test-key server
security: []
tags:
  - name: Shipments
    description: Quote, create, and retrieve pickup-point shipments.
  - name: Checkout sessions
    description: Hold lockers for partner checkout sessions.
  - name: Public bookings
    description: Create browser-based locker bookings.
  - name: Store discovery
    description: Find active UrbnBox stores.
  - name: Shopify
    description: Callbacks called by Shopify.
  - name: Vendor API
    description: >-
      Vendor-authenticated endpoints for delivery orders, pickup-point shipments
      and webhooks. All require an X-API-Key header with a vendor key.
paths:
  /api/partner/v1/shipment-quote:
    post:
      tags:
        - Shipments
      summary: Create a shipment quote
      description: >-
        Checks locker availability and returns a fee quote. The origin locker is
        selected by the server.
      operationId: createShipmentQuote
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ShipmentQuoteRequest'
            example:
              destination_city: Mombasa
              weight_tier: light
              starts_at: '2026-07-05'
              ends_at: '2026-07-08'
      responses:
        '200':
          description: Availability and quote result.
          content:
            application/json:
              schema:
                oneOf:
                  - $ref: '#/components/schemas/ShipmentQuote'
                  - type: object
                    properties:
                      available:
                        type: boolean
                        const: false
                    required:
                      - available
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '500':
          $ref: '#/components/responses/ServerError'
      security:
        - partnerKey: []
components:
  schemas:
    ShipmentQuoteRequest:
      type: object
      properties:
        destination_city:
          type: string
          example: Mombasa
        weight_tier:
          type: string
          enum:
            - light
            - medium
            - heavy
        starts_at:
          type: string
          format: date
        ends_at:
          type: string
          format: date
      required:
        - destination_city
        - weight_tier
        - starts_at
        - ends_at
    ShipmentQuote:
      type: object
      properties:
        available:
          type: boolean
          const: true
        origin_locker:
          $ref: '#/components/schemas/Locker'
        destination_locker:
          $ref: '#/components/schemas/Locker'
        total_kes:
          type: integer
          format: int64
        fee_breakdown:
          $ref: '#/components/schemas/FeeBreakdown'
      required:
        - available
        - origin_locker
        - destination_locker
        - total_kes
        - fee_breakdown
    Locker:
      type: object
      properties:
        name:
          type: string
        city:
          type: string
        address:
          type: string
      required:
        - name
        - city
        - address
    FeeBreakdown:
      type: object
      properties:
        origin_locker_fee_kes:
          type: integer
          format: int64
        destination_locker_fee_kes:
          type: integer
          format: int64
        transit_rider_fee_kes:
          type: integer
          format: int64
        platform_fee_kes:
          type: integer
          format: int64
        total_kes:
          type: integer
          format: int64
      required:
        - origin_locker_fee_kes
        - destination_locker_fee_kes
        - transit_rider_fee_kes
        - platform_fee_kes
  responses:
    BadRequest:
      description: The request body, date, field, or query parameter is invalid.
      content:
        text/plain:
          schema:
            type: string
    Unauthorized:
      description: The credential is missing, invalid, or inactive.
      content:
        text/plain:
          schema:
            type: string
    Forbidden:
      description: The credential is not authorized for this operation.
      content:
        text/plain:
          schema:
            type: string
    ServerError:
      description: UrbnBox could not complete the request.
      content:
        text/plain:
          schema:
            type: string
  securitySchemes:
    partnerKey:
      type: apiKey
      in: header
      name: X-API-Key
      description: Partner key. Shipment creation requires a secret key.

````

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