# Uso por día

`GET https://app.openfactura.co/api/v1/uso`

Documentos emitidos, procesados y rechazados y monto procesado por día en el ambiente activo. Sin fechas: los últimos 30 días (hora de El Salvador). Rango máximo: 366 días. Sólo incluye los días con movimiento.

Permiso: `dte:read`.

## Parámetros

| Nombre | En | Requerido | Tipo | Descripción |
| --- | --- | --- | --- | --- |
| `desde` | query | no | string |  |
| `hasta` | query | no | string |  |

## Respuestas

- **200**: Totales del rango y detalle por día. Esquema: `Uso`.
- **400**: Cuerpo o parámetros inválidos (`details` = `[{ ruta, mensaje }]`), o el DTE no cumple el esquema del MH (`details.problemas`). Códigos: `datos_invalidos`, `dte_invalido`. Esquema: `Error`.
- **401**: Falta sesión, o la clave de API no es válida, fue revocada o expiró. Códigos: `no_autenticado`. Esquema: `Error`.
- **403**: Falta un permiso (`details.permiso`) o el origen de la petición con cookie no está permitido. Códigos: `sin_permiso`, `origen_no_permitido`. Esquema: `Error`.
- **429**: Límite de peticiones excedido (`Retry-After` indica cuántos segundos esperar) o, en distribuciones con planes, límite del plan alcanzado (`limite_plan`). Códigos: `limite_excedido`, `limite_plan`. Esquema: `Error`.

## Esquemas

### Uso

```json
{
  "type": "object",
  "properties": {
    "ambiente": {
      "type": "string",
      "enum": [
        "00",
        "01"
      ]
    },
    "desde": {
      "type": "string"
    },
    "hasta": {
      "type": "string"
    },
    "totales": {
      "type": "object",
      "properties": {
        "emitidos": {
          "type": "integer"
        },
        "procesados": {
          "type": "integer"
        },
        "rechazados": {
          "type": "integer"
        },
        "monto": {
          "type": "number"
        }
      }
    },
    "dias": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "fecha": {
            "type": "string"
          },
          "emitidos": {
            "type": "integer"
          },
          "procesados": {
            "type": "integer"
          },
          "rechazados": {
            "type": "integer"
          },
          "monto": {
            "type": "number"
          }
        }
      }
    }
  }
}
```
