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

# Detalle del precio

> Obtiene los datos de un precio específico de tu catálogo.

Obtiene los detalles de un precio específico. Devuelve `404` si el precio no pertenece a tu empresa o si no es un precio de catálogo (sin producto asociado).

### Path Parameters

<ParamField path="id" type="string" required placeholder="9f5d85a0-2222-7000-aaaa-000000000002">
  ID del precio a consultar. [Crear precio](/client/prices/create).
</ParamField>

<RequestExample>
  ```bash cURL theme={null}
  curl https://api.onepay.la/v1/prices/9f5d85a0-2222-7000-aaaa-000000000002 \
    -H "Authorization: Bearer sk_test_xxx"
  ```

  ```javascript JavaScript theme={null}
  const response = await fetch('https://api.onepay.la/v1/prices/9f5d85a0-2222-7000-aaaa-000000000002', {
    method: 'GET',
    headers: {
      'Authorization': 'Bearer sk_test_xxx'
    }
  });

  const data = await response.json();
  ```

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

  response = requests.get(
      'https://api.onepay.la/v1/prices/9f5d85a0-2222-7000-aaaa-000000000002',
      headers={
          'Authorization': 'Bearer sk_test_xxx'
      }
  )

  data = response.json()
  ```

  ```php PHP theme={null}
  <?php
  $curl = curl_init();

  curl_setopt_array($curl, [
      CURLOPT_URL => "https://api.onepay.la/v1/prices/9f5d85a0-2222-7000-aaaa-000000000002",
      CURLOPT_RETURNTRANSFER => true,
      CURLOPT_HTTPHEADER => [
          "Authorization: Bearer sk_test_xxx"
      ]
  ]);

  $data = json_decode(curl_exec($curl), true);
  ?>
  ```
</RequestExample>

### Response

<ResponseField name="id" type="string">
  Identificador único del precio (UUID).
</ResponseField>

<ResponseField name="object" type="string">
  Tipo de objeto, siempre `price`.
</ResponseField>

<ResponseField name="product" type="string">
  ID del producto padre al que pertenece el precio.
</ResponseField>

<ResponseField name="active" type="boolean">
  Indica si el precio está vigente. Un precio archivado es `false`.
</ResponseField>

<ResponseField name="nickname" type="string">
  Etiqueta interna del precio. Puede ser `null`.
</ResponseField>

<ResponseField name="lookup_key" type="string">
  Clave estable para re-apuntar el precio vigente sin cambiar tu código. Puede ser `null`.
</ResponseField>

<ResponseField name="currency" type="string">
  Moneda ISO del cobro (por ejemplo `COP`).
</ResponseField>

<ResponseField name="unit_amount_in_cents" type="integer">
  Monto a cobrar, expresado en centavos.
</ResponseField>

<ResponseField name="type" type="string">
  Tipo de precio, siempre `recurring`.
</ResponseField>

<ResponseField name="recurring" type="object">
  Configuración de recurrencia del cobro.

  <Expandable title="recurring">
    <ResponseField name="interval" type="string">
      Unidad del ciclo: `day` o `month`.
    </ResponseField>

    <ResponseField name="interval_count" type="integer">
      Número de intervalos por ciclo.
    </ResponseField>

    <ResponseField name="total_cycles" type="integer">
      Número total de ciclos. `null` cuando es indefinido.
    </ResponseField>

    <ResponseField name="trial_period_days" type="integer">
      Días de prueba antes del primer cobro.
    </ResponseField>
  </Expandable>
</ResponseField>

<ResponseField name="created_at" type="string">
  Fecha de creación en formato ISO 8601.
</ResponseField>

<ResponseExample>
  ```json 200 theme={null}
  {
    "id": "9f5d85a0-2222-7000-aaaa-000000000002",
    "object": "price",
    "product": "9f5d85a0-1111-7000-aaaa-000000000001",
    "active": true,
    "nickname": "Mensual",
    "lookup_key": "pro_monthly",
    "currency": "COP",
    "unit_amount_in_cents": 7990000,
    "type": "recurring",
    "recurring": {
      "interval": "month",
      "interval_count": 1,
      "total_cycles": null,
      "trial_period_days": 0
    },
    "created_at": "2026-07-13T12:00:00.000000Z"
  }
  ```

  ```json 404 theme={null}
  {
    "message": "No encontrado",
    "code": 10004,
    "code_name": "not_found"
  }
  ```
</ResponseExample>
