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

# Create executable quote for partner transaction pricing

> Creates an executable quote for a token and network. Send exactly one amount mode: `crypto_amount` or `fiat_amount`. Quote responses include an expiry timestamp; expired quote IDs will be rejected during transaction creation.



## OpenAPI

````yaml /openapi/openapi.json post /partner/quotes
openapi: 3.1.0
info:
  title: CashWeb Partner API
  description: >-
    CashWeb Partner API enables crypto-to-fiat offramp transactions. Create
    quotes, manage transactions, receive lifecycle webhooks, and reconcile
    revenue.
  contact:
    name: Michael Anyi
    email: michael@cashweb.cash
  license:
    name: Proprietary
  version: 1.0.0
servers:
  - url: https://api-staging.cashweb.cash/api/v1
    description: Staging environment
  - url: https://api.cashweb.cash/api/v1
    description: Production environment
security: []
paths:
  /partner/quotes:
    post:
      tags:
        - Partner API
      summary: Create executable quote for partner transaction pricing
      description: >-
        Creates an executable quote for a token and network. Send exactly one
        amount mode: `crypto_amount` or `fiat_amount`. Quote responses include
        an expiry timestamp; expired quote IDs will be rejected during
        transaction creation.
      operationId: create_quote
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PartnerQuoteRequest'
        required: true
      responses:
        '200':
          description: Quote generated successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiResponse_PartnerQuoteResponse'
              example:
                data:
                  adjusted_rate: '1615.00'
                  amount: '100.00'
                  base_rate: '1625.00'
                  expires_at: '2026-02-12T12:00:00Z'
                  quote_id: 9f8ad58e-f8d5-4e4f-b3f2-f44eaf8f95d1
                success: true
        '400':
          description: >-
            Invalid quote request (for example both crypto_amount and
            fiat_amount were provided)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              example:
                error:
                  code: BAD_REQUEST
                  message: Provide either crypto_amount or fiat_amount, not both
                  timestamp: '2026-02-12T12:00:00Z'
        '401':
          description: Missing or invalid partner API key
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '429':
          description: Rate limit exceeded
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '500':
          description: Internal server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '502':
          description: Upstream pricing provider failure
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
      security:
        - PartnerApiKey: []
components:
  schemas:
    PartnerQuoteRequest:
      type: object
      description: >-
        Create a price quote for a token-network pair. Send exactly one of
        `crypto_amount` or `fiat_amount`.
      required:
        - crypto_currency
        - network
      properties:
        crypto_amount:
          type:
            - string
            - 'null'
          description: Crypto amount for quote generation.
          example: '100.00'
          minimum: 0
        crypto_currency:
          type: string
          description: Stablecoin symbol for the quote.
          example: usdt
        fiat_amount:
          type:
            - string
            - 'null'
          description: Fiat amount for quote generation.
          example: '161500.00'
          minimum: 0
        network:
          type: string
          description: Blockchain network used for the deposit.
          example: bep20
    ApiResponse_PartnerQuoteResponse:
      type: object
      description: Standard API response wrapper for all successful responses
      required:
        - success
        - data
      properties:
        data:
          type: object
          description: >-
            Quote response with the executable rate and expiry timestamp used
            for transaction creation.
          required:
            - quote_id
            - base_rate
            - adjusted_rate
            - amount
            - expires_at
          properties:
            adjusted_rate:
              type: string
              description: Executable partner rate after spread adjustments.
              example: '1615.00'
            amount:
              type: string
              description: Quoted crypto amount in token units.
              example: '100.00'
            base_rate:
              type: string
              description: Market reference rate at quote time.
              example: '1625.00'
            expires_at:
              type: string
              format: date-time
              description: >-
                Quote expiry in UTC RFC3339. Expired quotes cannot be used for
                transaction creation.
              example: '2026-02-12T12:00:00Z'
            quote_id:
              type: string
              description: Opaque quote identifier that must be used before it expires.
              example: 9f8ad58e-f8d5-4e4f-b3f2-f44eaf8f95d1
        message:
          type:
            - string
            - 'null'
          description: Optional message for additional information
        success:
          type: boolean
          description: Indicates if the request was successful
          example: 'true'
    ErrorResponse:
      type: object
      description: Error response structure for OpenAPI documentation
      required:
        - error
      properties:
        error:
          $ref: '#/components/schemas/ErrorDetails'
          description: Error details
    ErrorDetails:
      type: object
      description: Error details structure
      required:
        - message
        - code
        - timestamp
      properties:
        code:
          type: string
          description: Machine-readable error code
        message:
          type: string
          description: Human-readable error message
        timestamp:
          type: string
          format: date-time
          description: Timestamp when the error occurred
  securitySchemes:
    PartnerApiKey:
      type: apiKey
      in: header
      name: X-API-KEY

````