# Internacional

## GET /api/quantis/v3/rates/international/

Devuelve tasas de cambio para aproximadamente 170 monedas del mundo relativas al USD, obtenidas de openexchangerates.

| | |
|---|---|
| **Método** | `GET` |
| **URL** | `https://app.vzla.io/api/quantis/v3/rates/international/` |
| **Autenticación** | `Authorization: Bearer qapi_...` |
| **Parámetros** | Ninguno |

### Solicitud

```bash
curl --request GET \
  --url 'https://app.vzla.io/api/quantis/v3/rates/international/' \
  --header 'Authorization: Bearer qapi_TU_CLAVE_AQUI'
```

---

### Respuesta

#### `data`

| Campo | Tipo | Descripción |
|---|---|---|
| `timestamp` | string (datetime ISO 8601) | Cuándo se obtuvieron estos datos de openexchangerates |
| `base` | string | Siempre `"USD"` — todas las tasas son relativas a 1 USD |
| `rates` | object | Mapa de código de moneda → tasa de cambio (número) |

Los valores de tasa son números, no strings. El objeto `rates` contiene aproximadamente 170 códigos de moneda.

#### `meta`

| Campo | Tipo | Descripción |
|---|---|---|
| `source` | string | Siempre `"openexchangerates"` |

---

### Ejemplo de respuesta

```json
{
  "data": {
    "timestamp": "2026-05-06T19:46:46.339127+00:00",
    "base": "USD",
    "rates": {
      "AED": 3.67315,
      "ARS": 1387.7501,
      "BRL": 4.9412,
      "CLP": 896.65,
      "COP": 3713.473403,
      "EUR": 0.851096,
      "GBP": 0.735602,
      "JPY": 144.886,
      "MXN": 19.5831,
      "PEN": 3.65965
    }
  },
  "meta": {
    "source": "openexchangerates"
  }
}
```

Arriba se muestra solo un subconjunto representativo de las ~170 monedas disponibles.

---

### Códigos de estado HTTP

| Código | Significado |
|---|---|
| `200 OK` | Éxito. |
| `401 Unauthorized` | Clave ausente, inválida o revocada. |
| `405 Method Not Allowed` | Solo se admite GET. |
| `429 Too Many Requests` | Cuota mensual agotada (`quota_exceeded`) o límite de velocidad alcanzado (`throttled`). Ver [Planes y límites](/es/quantis/v3/tiers-and-limits/). |
| `500 Internal Server Error` | Error del servidor. Reintenta después de un momento. |

#### 401: sin encabezado Authorization

```json
{
  "error": {
    "code": "auth_missing",
    "message": "Authentication credentials were not provided"
  }
}
```

#### 401: clave inválida

```json
{
  "error": {
    "code": "auth_token_unknown",
    "message": "Invalid token format"
  }
}
```

#### 429: cuota mensual agotada

```json
{
  "error": {
    "code": "quota_exceeded",
    "message": "Monthly quota exceeded. It resets on the 1st of next month."
  }
}
```

#### 429: límite de velocidad alcanzado

```json
{
  "error": {
    "code": "throttled",
    "message": "Rate limit exceeded",
    "details": {
      "retry_after": 1
    }
  }
}
```
**Note:** Este endpoint tiene caché de **30 minutos**.