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

# List All Prices

> Retrieve all prices for your workspace

Returns a list of all prices in your workspace with enriched data including product variant, pricebook, currency, and tax information.

## Authentication

<ParamField header="Authorization" type="string" required>
  Bearer token for authentication
</ParamField>

## Query Parameters

<ParamField query="limit" type="number" default="100">
  Maximum number of prices to return. Min: 1, Max: 1000.
</ParamField>

<ParamField query="offset" type="number" default="0">
  Number of prices to skip (for pagination).
</ParamField>

## Response

<ResponseField name="success" type="boolean">
  Indicates if the request was successful
</ResponseField>

<ResponseField name="data" type="array">
  Array of price objects with enriched data

  <Expandable title="Price Object">
    <ResponseField name="id" type="uuid">
      Unique identifier for the price
    </ResponseField>

    <ResponseField name="product_id" type="uuid">
      ID of the product this price applies to
    </ResponseField>

    <ResponseField name="product_variant_name" type="string">
      Name of the product variant (enriched)
    </ResponseField>

    <ResponseField name="pricebook_id" type="uuid">
      ID of the pricebook containing this price
    </ResponseField>

    <ResponseField name="pricebook_name" type="string">
      Name of the pricebook (enriched)
    </ResponseField>

    <ResponseField name="pricebook_type" type="string">
      Type of pricebook: `fixed` or `dynamic` (enriched)
    </ResponseField>

    <ResponseField name="currency_id" type="uuid">
      ID of the currency for this price
    </ResponseField>

    <ResponseField name="currency_name" type="string">
      Name of the currency (enriched)
    </ResponseField>

    <ResponseField name="currency_api_name" type="string">
      API name/code of the currency, e.g., `EUR`, `USD` (enriched)
    </ResponseField>

    <ResponseField name="pricing_model" type="string">
      Pricing model: `flat`, `volume`, `graduated`, `percent`, `cost_based`, or `none`
    </ResponseField>

    <ResponseField name="amount" type="number | null">
      Fixed amount for flat pricing model
    </ResponseField>

    <ResponseField name="volume_tiers" type="array | null">
      Array of volume tier objects for volume pricing
    </ResponseField>

    <ResponseField name="is_volume_grid_displayed" type="boolean">
      Whether to display volume tiers to customers
    </ResponseField>

    <ResponseField name="graduated_tiers" type="array | null">
      Array of graduated tier objects for graduated pricing
    </ResponseField>

    <ResponseField name="is_graduated_grid_displayed" type="boolean">
      Whether to display graduated tiers to customers
    </ResponseField>

    <ResponseField name="percent" type="number | null">
      Percentage value (0-100) for percent pricing
    </ResponseField>

    <ResponseField name="price_percentage_type" type="string | null">
      Scope of percentage pricing: `all`, `product_type`, or `product`
    </ResponseField>

    <ResponseField name="cost_multiplier" type="number | null">
      Multiplier for cost-based pricing
    </ResponseField>

    <ResponseField name="cost" type="number | null">
      Cost price
    </ResponseField>

    <ResponseField name="floor_price" type="number | null">
      Minimum price threshold
    </ResponseField>

    <ResponseField name="is_setup" type="boolean">
      Whether this is a setup or one-time fee
    </ResponseField>

    <ResponseField name="is_pay_as_you_go" type="boolean">
      Whether this uses pay-as-you-go billing
    </ResponseField>

    <ResponseField name="default_tax_id" type="uuid | null">
      ID of the default sales tax
    </ResponseField>

    <ResponseField name="default_tax_name" type="string | null">
      Name of the default tax (enriched)
    </ResponseField>

    <ResponseField name="default_tax_rate" type="number | null">
      Tax rate percentage (enriched)
    </ResponseField>

    <ResponseField name="default_tax_amount" type="number | null">
      Fixed tax amount (enriched)
    </ResponseField>

    <ResponseField name="default_tax_is_percentage" type="boolean | null">
      Whether tax is percentage-based (enriched)
    </ResponseField>

    <ResponseField name="billing_frequency_id" type="uuid | null">
      ID of the billing frequency for recurring prices
    </ResponseField>

    <ResponseField name="billing_frequency_period" type="number | null">
      Number of periods (enriched)
    </ResponseField>

    <ResponseField name="billing_frequency_unit" type="string | null">
      Unit of period: `day`, `week`, `month`, or `year` (enriched)
    </ResponseField>

    <ResponseField name="engagement_type" type="string | null">
      Type of engagement: `forever` or `fixed_period`
    </ResponseField>

    <ResponseField name="period_duration" type="number | null">
      Duration in periods for fixed engagements
    </ResponseField>

    <ResponseField name="parent_price_id" type="uuid | null">
      ID of parent price for dynamic pricebooks
    </ResponseField>

    <ResponseField name="identifiers" type="object">
      External system identifiers

      <Expandable title="identifiers properties">
        <ResponseField name="crm" type="string | null">
          External CRM system identifier
        </ResponseField>

        <ResponseField name="erp" type="string | null">
          External ERP system identifier
        </ResponseField>

        <ResponseField name="accounting" type="string | null">
          External accounting system identifier
        </ResponseField>
      </Expandable>
    </ResponseField>

    <ResponseField name="created_at" type="timestamp">
      Timestamp of price creation
    </ResponseField>

    <ResponseField name="updated_at" type="timestamp">
      Timestamp of last update
    </ResponseField>

    <ResponseField name="workspace_id" type="uuid">
      Workspace this price belongs to
    </ResponseField>
  </Expandable>
</ResponseField>

<ResponseField name="total" type="number">
  Total number of prices in the workspace
</ResponseField>

<ResponseField name="limit" type="number">
  Number of items returned per page
</ResponseField>

<ResponseField name="offset" type="number">
  Number of items skipped
</ResponseField>

<ResponseExample>
  ```json Success Response theme={null}
  {
    "success": true,
    "data": [
      {
        "id": "550e8400-e29b-41d4-a716-446655440000",
        "product_id": "660e8400-e29b-41d4-a716-446655440001",
        "product_variant_name": "Premium Widget",
        "pricebook_id": "880e8400-e29b-41d4-a716-446655440003",
        "pricebook_name": "Standard Pricebook",
        "pricebook_type": "fixed",
        "currency_id": "990e8400-e29b-41d4-a716-446655440004",
        "currency_name": "Euro",
        "currency_api_name": "EUR",
        "pricing_model": "flat",
        "amount": 99.99,
        "volume_tiers": null,
        "is_volume_grid_displayed": false,
        "graduated_tiers": null,
        "is_graduated_grid_displayed": false,
        "percent": null,
        "price_percentage_type": null,
        "cost_multiplier": null,
        "cost": 50.0,
        "floor_price": 80.0,
        "is_setup": false,
        "is_pay_as_you_go": false,
        "default_tax_id": "aa0e8400-e29b-41d4-a716-446655440005",
        "default_tax_name": "VAT 20%",
        "default_tax_rate": 20.0,
        "default_tax_amount": null,
        "default_tax_is_percentage": true,
        "billing_frequency_id": null,
        "billing_frequency_period": null,
        "billing_frequency_unit": null,
        "engagement_type": null,
        "period_duration": null,
        "parent_price_id": null,
        "identifiers": {
          "crm": "crm_price_001",
          "erp": "erp_price_001",
          "accounting": "acc_price_001"
        },
        "workspace_id": "cc0e8400-e29b-41d4-a716-446655440007",
        "created_at": "2024-12-21T10:30:00Z",
        "updated_at": "2024-12-21T14:45:00Z"
      }
    ],
    "total": 1,
    "limit": 100,
    "offset": 0
  }
  ```

  ```json Empty Response theme={null}
  {
    "success": true,
    "data": [],
    "total": 0,
    "limit": 100,
    "offset": 0
  }
  ```

  ```json Error Response theme={null}
  {
    "success": false,
    "error": "Failed to fetch prices"
  }
  ```
</ResponseExample>

<RequestExample>
  ```bash cURL theme={null}
  curl -X GET "https://qwoty.app/api/prices?limit=50&offset=0" \
    -H "Authorization: Bearer qwoty_your_token"
  ```

  ```javascript JavaScript theme={null}
  const response = await fetch('https://qwoty.app/api/prices?limit=50&offset=0', {
    headers: {
      Authorization: 'Bearer qwoty_your_token',
    },
  })

  const { success, data, total, limit, offset } = await response.json()
  ```

  ```python Python theme={null}
  import requests

  response = requests.get(
      'https://qwoty.app/api/prices',
      params={'limit': 50, 'offset': 0},
      headers={'Authorization': 'Bearer qwoty_your_token'},
  )

  body = response.json()
  ```
</RequestExample>
