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

# Tu organización y tus créditos

> No consume créditos. Útil para mostrar el consumo en tu propio panel.



## OpenAPI

````yaml /openapi.yaml get /yo
openapi: 3.1.0
info:
  title: Booklift API
  version: 1.0.0
  description: >
    Agentes de IA que reservan y venden por WhatsApp, para negocios con cita
    previa.


    La API está pensada para **agencias y partners** que gestionan varios
    negocios:

    una sola clave cubre todos los locales de tu organización.


    ### Autenticación

    Todas las llamadas llevan tu clave en la cabecera `Authorization`:


    ```

    Authorization: Bearer bk_live_xxxxxxxxxxxx

    ```


    Usa `bk_test_...` para probar sin consumir créditos de producción.

    **La clave no debe salir del servidor**: llamar desde un navegador la

    expondría a cualquiera que abra el inspector.


    ### Créditos

    Cada conversación atendida consume **1 crédito**. Tu plan define cuántos

    tienes al mes. Al agotarlos, la API responde `402 sin_creditos` y el agente

    deja de contestar hasta el siguiente periodo o hasta que amplíes el plan.


    Consulta tu saldo en cualquier momento con `GET /v1/yo` — no consume
    créditos.


    ### Reintentos seguros

    Envía una cabecera `Idempotency-Key` única en cada `POST
    /v1/negocios/{id}/chat`.

    Si repites la llamada con la misma clave (por un timeout, por ejemplo),

    devolvemos la respuesta original **sin cobrarte otra vez**.
  contact:
    name: Soporte Booklift
    url: https://bookliftagent.com
servers:
  - url: https://api.bookliftagent.com/v1
    description: Producción
security:
  - claveApi: []
tags:
  - name: Cuenta
    description: Tu organización y tu consumo.
  - name: Agentes
    description: Los negocios que gestionas y sus conversaciones.
paths:
  /yo:
    get:
      tags:
        - Cuenta
      summary: Tu organización y tus créditos
      description: No consume créditos. Útil para mostrar el consumo en tu propio panel.
      operationId: obtenerCuenta
      responses:
        '200':
          description: Datos de la organización
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Cuenta'
              example:
                organizacion: agencia-lopez
                entorno: live
                creditos:
                  limite_mes: 25000
                  usados: 3120
                  restantes: 21880
                  periodo: '2026-08-01'
        '401':
          $ref: '#/components/responses/NoAutorizado'
components:
  schemas:
    Cuenta:
      type: object
      properties:
        organizacion:
          type: string
          description: Tu identificador de organización.
        entorno:
          type: string
          enum:
            - test
            - live
        creditos:
          type: object
          properties:
            limite_mes:
              type:
                - integer
                - 'null'
              description: Créditos incluidos al mes. `null` si tu plan no tiene límite.
            usados:
              type: integer
            restantes:
              type:
                - integer
                - 'null'
              description: '`null` si no hay límite.'
            periodo:
              type: string
              format: date
              description: Primer día del periodo en curso.
    Error:
      type: object
      properties:
        error:
          type: object
          properties:
            codigo:
              type: string
              description: Identificador estable para tu código. No cambia entre versiones.
            mensaje:
              type: string
              description: Explicación legible. Puede cambiar; no la uses para bifurcar.
          additionalProperties: true
          description: |
            Algunos errores añaden contexto útil. Por ejemplo, `sin_creditos`
            incluye `limite_mes` y `periodo` para que puedas avisar al cliente
            sin una llamada extra.
  responses:
    NoAutorizado:
      description: Falta la clave o no es válida
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
          example:
            error:
              codigo: clave_invalida
              mensaje: La clave de API no es válida o fue revocada.
  securitySchemes:
    claveApi:
      type: http
      scheme: bearer
      description: Tu clave de API (`bk_live_...` o `bk_test_...`).

````