{
    "openapi": "3.1.0",
    "info": {
        "title": "Registro Nacional CR API",
        "version": "1.0.0",
        "summary": "Datos de vehículos inscritos en el Registro Nacional de Costa Rica.",
        "description": "Consulta por placa o por VIN y devuelve características, motor, propietarios\ny situación registral en JSON.\n\n## Cómo se cobra\n\nSe descuenta **una consulta por cada respuesta completa**. Si el Registro no\nresponde, responde a medias o rechaza la petición, la consulta **no se cobra**:\ncada respuesta lo dice en el campo `cobrada`, y el saldo restante viaja tanto en\nel cuerpo como en los encabezados `X-Consultas-*`.\n\nEl único error que descuenta es `vehiculo_no_encontrado` (404): ahí el Registro\nsí respondió, y la consulta gastó un cupo real.\n\n## Vehículos de prueba\n\nLas placas `DEMO001`, `DEMO002`, `DEMO003` y `DEMO404` responden con datos\nficticios, no tocan el Registro y no consumen saldo. Sirven para programar la\nintegración sin consultar la placa de una persona real.\n\n## Límites\n\nCada plan define su propio máximo de consultas por minuto. Al superarlo se\nrecibe `429 limite_excedido` con los segundos de espera en `reintentar_en`.\n\n## Advertencia\n\nEste servicio presenta información publicada por el Registro Nacional. No la\ngenera, no la valida y no la certifica: **no sustituye una certificación\nregistral**.",
        "contact": {
            "name": "Egobytes",
            "email": "soporte@egobytes.com",
            "url": "https://rnp.egobytes.com/docs"
        }
    },
    "servers": [
        {
            "url": "https://rnp.egobytes.com/api/v1",
            "description": "Producción"
        }
    ],
    "security": [
        {
            "ApiKey": []
        }
    ],
    "tags": [
        {
            "name": "Vehículos",
            "description": "Consulta de un vehículo inscrito en el Registro Nacional de Costa Rica."
        }
    ],
    "paths": {
        "/vehiculos/placa/{placa}": {
            "get": {
                "operationId": "consultarPorPlaca",
                "tags": [
                    "Vehículos"
                ],
                "summary": "Consultar por placa",
                "description": "Devuelve el vehículo inscrito con esa placa. Sin el parámetro `clase` se busca en particulares.",
                "parameters": [
                    {
                        "name": "placa",
                        "in": "path",
                        "required": true,
                        "description": "Placa sin guiones ni espacios. En carga liviana, solo el número: el `CL` va en `clase`.",
                        "schema": {
                            "type": "string",
                            "pattern": "^[A-Za-z0-9]{1,10}$"
                        },
                        "examples": {
                            "particular": {
                                "value": "BJK123"
                            },
                            "cargaLiviana": {
                                "value": "272490"
                            },
                            "dePrueba": {
                                "value": "DEMO001",
                                "summary": "No toca el Registro ni consume saldo"
                            }
                        }
                    },
                    {
                        "name": "clase",
                        "in": "query",
                        "required": false,
                        "description": "Clase de la placa. Por omisión, `particular`.",
                        "schema": {
                            "type": "string",
                            "enum": [
                                "particular",
                                "CL"
                            ],
                            "default": "particular"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "El Registro respondió. Revise `cobrada` para saber si se descontó.",
                        "headers": {
                            "X-Consultas-Restantes": {
                                "description": "Consultas que quedan, sumando plan y créditos.",
                                "schema": {
                                    "type": "integer"
                                }
                            },
                            "X-Consultas-Plan": {
                                "description": "Las que quedan de la cuota del plan.",
                                "schema": {
                                    "type": "integer"
                                }
                            },
                            "X-Consultas-Creditos": {
                                "description": "Las que quedan de créditos prepago.",
                                "schema": {
                                    "type": "integer"
                                }
                            },
                            "X-Plan-Renueva": {
                                "description": "Fecha en que la cuota del plan vuelve a llenarse.",
                                "schema": {
                                    "type": "string",
                                    "format": "date"
                                }
                            }
                        },
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Consulta"
                                }
                            }
                        }
                    },
                    "401": {
                        "$ref": "#/components/responses/E401"
                    },
                    "402": {
                        "$ref": "#/components/responses/E402"
                    },
                    "403": {
                        "$ref": "#/components/responses/E403"
                    },
                    "404": {
                        "$ref": "#/components/responses/E404"
                    },
                    "429": {
                        "$ref": "#/components/responses/E429"
                    },
                    "502": {
                        "$ref": "#/components/responses/E502"
                    },
                    "503": {
                        "$ref": "#/components/responses/E503"
                    },
                    "504": {
                        "$ref": "#/components/responses/E504"
                    }
                }
            }
        },
        "/vehiculos/vin/{vin}": {
            "get": {
                "operationId": "consultarPorVin",
                "tags": [
                    "Vehículos"
                ],
                "summary": "Consultar por VIN",
                "description": "Devuelve el vehículo inscrito con ese número de chasis o VIN.",
                "parameters": [
                    {
                        "name": "vin",
                        "in": "path",
                        "required": true,
                        "description": "Número de VIN o chasis.",
                        "schema": {
                            "type": "string",
                            "pattern": "^[A-Za-z0-9]{3,20}$"
                        },
                        "example": "8AJHA8CD704309461"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "El Registro respondió. Revise `cobrada` para saber si se descontó.",
                        "headers": {
                            "X-Consultas-Restantes": {
                                "description": "Consultas que quedan, sumando plan y créditos.",
                                "schema": {
                                    "type": "integer"
                                }
                            },
                            "X-Consultas-Plan": {
                                "description": "Las que quedan de la cuota del plan.",
                                "schema": {
                                    "type": "integer"
                                }
                            },
                            "X-Consultas-Creditos": {
                                "description": "Las que quedan de créditos prepago.",
                                "schema": {
                                    "type": "integer"
                                }
                            },
                            "X-Plan-Renueva": {
                                "description": "Fecha en que la cuota del plan vuelve a llenarse.",
                                "schema": {
                                    "type": "string",
                                    "format": "date"
                                }
                            }
                        },
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Consulta"
                                }
                            }
                        }
                    },
                    "401": {
                        "$ref": "#/components/responses/E401"
                    },
                    "402": {
                        "$ref": "#/components/responses/E402"
                    },
                    "403": {
                        "$ref": "#/components/responses/E403"
                    },
                    "404": {
                        "$ref": "#/components/responses/E404"
                    },
                    "429": {
                        "$ref": "#/components/responses/E429"
                    },
                    "502": {
                        "$ref": "#/components/responses/E502"
                    },
                    "503": {
                        "$ref": "#/components/responses/E503"
                    },
                    "504": {
                        "$ref": "#/components/responses/E504"
                    }
                }
            }
        }
    },
    "components": {
        "securitySchemes": {
            "ApiKey": {
                "type": "apiKey",
                "in": "header",
                "name": "X-API-Key",
                "description": "Clave generada desde el portal. Empieza con `rnp_`. También se acepta `Authorization: Bearer rnp_...`."
            }
        },
        "schemas": {
            "Consulta": {
                "type": "object",
                "required": [
                    "datos",
                    "cobrada",
                    "completitud"
                ],
                "properties": {
                    "datos": {
                        "$ref": "#/components/schemas/Vehiculo"
                    },
                    "completitud": {
                        "type": "string",
                        "enum": [
                            "completa",
                            "parcial"
                        ],
                        "description": "Una respuesta `parcial` no se cobra: significa que el Registro no entregó todas las secciones."
                    },
                    "secciones_ausentes": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "description": "Qué faltó cuando la respuesta es parcial."
                    },
                    "cobrada": {
                        "type": "boolean",
                        "description": "Si esta consulta descontó del saldo."
                    },
                    "sandbox": {
                        "type": "boolean",
                        "description": "true en las placas DEMO: datos ficticios, sin tocar el Registro."
                    },
                    "saldo": {
                        "$ref": "#/components/schemas/Saldo"
                    },
                    "consultado_en": {
                        "type": "string",
                        "format": "date-time"
                    },
                    "request_id": {
                        "type": "string",
                        "description": "Identificador de esta consulta. Cítelo al reportar un problema."
                    }
                }
            },
            "Vehiculo": {
                "type": "object",
                "description": "Lo que el Registro publica. Un campo que el Registro no publica llega como `null`, nunca supuesto.",
                "properties": {
                    "vehiculo": {
                        "type": "object",
                        "properties": {
                            "placa": {
                                "type": "string",
                                "nullable": true
                            },
                            "marca": {
                                "type": "string",
                                "nullable": true
                            },
                            "estilo": {
                                "type": "string",
                                "nullable": true
                            },
                            "categoria": {
                                "type": "string",
                                "nullable": true
                            },
                            "capacidad": {
                                "type": "string",
                                "nullable": true
                            },
                            "ano_fabricacion": {
                                "type": "string",
                                "nullable": true
                            },
                            "color": {
                                "type": "string",
                                "nullable": true
                            },
                            "estado_actual": {
                                "type": "string",
                                "nullable": true
                            },
                            "valor_hacienda": {
                                "type": "string",
                                "nullable": true
                            },
                            "moneda": {
                                "type": "string",
                                "nullable": true
                            },
                            "vin": {
                                "type": "string",
                                "nullable": true
                            },
                            "chasis": {
                                "type": "string",
                                "nullable": true
                            },
                            "serie": {
                                "type": "string",
                                "nullable": true
                            },
                            "inscripcion": {
                                "$ref": "#/components/schemas/Asiento"
                            }
                        }
                    },
                    "motor": {
                        "type": "object",
                        "properties": {
                            "numero_motor": {
                                "type": "string",
                                "nullable": true
                            },
                            "marca": {
                                "type": "string",
                                "nullable": true
                            },
                            "cilindrada": {
                                "type": "string",
                                "nullable": true
                            },
                            "cilindros": {
                                "type": "string",
                                "nullable": true
                            },
                            "combustible": {
                                "type": "string",
                                "nullable": true
                            }
                        }
                    },
                    "propietarios": {
                        "type": "array",
                        "items": {
                            "type": "object",
                            "properties": {
                                "tipo_identificacion": {
                                    "type": "string",
                                    "nullable": true
                                },
                                "numero_identificacion": {
                                    "type": "string",
                                    "nullable": true
                                },
                                "nombre": {
                                    "type": "string",
                                    "nullable": true
                                }
                            }
                        }
                    },
                    "gravamenes": {
                        "$ref": "#/components/schemas/EstadoRegistral"
                    },
                    "anotaciones": {
                        "$ref": "#/components/schemas/EstadoRegistral"
                    },
                    "infracciones": {
                        "$ref": "#/components/schemas/EstadoRegistral"
                    },
                    "levantamientos": {
                        "$ref": "#/components/schemas/EstadoRegistral"
                    },
                    "fecha_emision": {
                        "type": "string",
                        "nullable": true
                    }
                }
            },
            "EstadoRegistral": {
                "type": "object",
                "description": "`posee` tiene tres estados y no dos. `true` y `false` son lo que el Registro\nafirma; `null` significa que no lo dijo, y no puede tratarse como un \"no\".",
                "properties": {
                    "posee": {
                        "type": "boolean",
                        "nullable": true
                    },
                    "items": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/Asiento"
                        }
                    },
                    "nota": {
                        "type": "string",
                        "nullable": true
                    }
                }
            },
            "Asiento": {
                "type": "object",
                "properties": {
                    "tipo": {
                        "type": "string",
                        "nullable": true
                    },
                    "tomo": {
                        "type": "string",
                        "nullable": true
                    },
                    "asiento": {
                        "type": "string",
                        "nullable": true
                    },
                    "secuencia": {
                        "type": "string",
                        "nullable": true
                    },
                    "fecha": {
                        "type": "string",
                        "nullable": true
                    }
                }
            },
            "Saldo": {
                "type": "object",
                "description": "Se calcula después de cerrar el cobro: siempre refleja lo que de verdad se descontó.",
                "properties": {
                    "plan": {
                        "type": "integer",
                        "description": "Consultas que quedan de la cuota del plan."
                    },
                    "creditos": {
                        "type": "integer",
                        "description": "Créditos prepago disponibles."
                    },
                    "prueba": {
                        "type": "integer",
                        "description": "Consultas de prueba que quedan."
                    },
                    "total": {
                        "type": "integer"
                    },
                    "renueva_en": {
                        "type": "string",
                        "format": "date",
                        "nullable": true
                    },
                    "credito_vence_en": {
                        "type": "string",
                        "format": "date",
                        "nullable": true
                    },
                    "exento": {
                        "type": "boolean",
                        "description": "Presente y en true solo en cuentas sin cobro."
                    }
                }
            },
            "Error": {
                "type": "object",
                "required": [
                    "error",
                    "cobrada"
                ],
                "properties": {
                    "error": {
                        "type": "object",
                        "properties": {
                            "code": {
                                "type": "string",
                                "enum": [
                                    "credencial_invalida",
                                    "credencial_revocada",
                                    "cuenta_suspendida",
                                    "prueba_finalizada",
                                    "saldo_agotado",
                                    "vehiculo_no_encontrado",
                                    "limite_excedido",
                                    "origen_no_disponible",
                                    "sin_capacidad",
                                    "tiempo_agotado"
                                ],
                                "description": "Código estable. El texto de `message` puede cambiar; este no."
                            },
                            "message": {
                                "type": "string"
                            },
                            "doc_url": {
                                "type": "string",
                                "format": "uri"
                            },
                            "reintentar_en": {
                                "type": "integer",
                                "description": "Segundos de espera. Solo en `limite_excedido`."
                            },
                            "recarga_url": {
                                "type": "string",
                                "format": "uri",
                                "description": "Solo cuando falta saldo."
                            },
                            "request_id": {
                                "type": "string"
                            }
                        }
                    },
                    "cobrada": {
                        "type": "boolean"
                    },
                    "saldo": {
                        "$ref": "#/components/schemas/Saldo"
                    },
                    "request_id": {
                        "type": "string"
                    }
                }
            }
        },
        "responses": {
            "E401": {
                "description": "La clave no es válida",
                "headers": {
                    "X-Consultas-Restantes": {
                        "description": "Consultas que quedan, sumando plan y créditos.",
                        "schema": {
                            "type": "integer"
                        }
                    },
                    "X-Consultas-Plan": {
                        "description": "Las que quedan de la cuota del plan.",
                        "schema": {
                            "type": "integer"
                        }
                    },
                    "X-Consultas-Creditos": {
                        "description": "Las que quedan de créditos prepago.",
                        "schema": {
                            "type": "integer"
                        }
                    },
                    "X-Plan-Renueva": {
                        "description": "Fecha en que la cuota del plan vuelve a llenarse.",
                        "schema": {
                            "type": "string",
                            "format": "date"
                        }
                    }
                },
                "content": {
                    "application/json": {
                        "schema": {
                            "$ref": "#/components/schemas/Error"
                        },
                        "examples": {
                            "credencial_invalida": {
                                "summary": "La clave no es válida",
                                "value": {
                                    "error": {
                                        "code": "credencial_invalida",
                                        "message": "No se envió el encabezado X-API-Key, o la clave no existe.",
                                        "doc_url": "https://rnp.egobytes.com/docs/errores#credencial_invalida"
                                    },
                                    "cobrada": false
                                }
                            }
                        }
                    }
                }
            },
            "E402": {
                "description": "Se acabaron las consultas de prueba · Sin saldo",
                "headers": {
                    "X-Consultas-Restantes": {
                        "description": "Consultas que quedan, sumando plan y créditos.",
                        "schema": {
                            "type": "integer"
                        }
                    },
                    "X-Consultas-Plan": {
                        "description": "Las que quedan de la cuota del plan.",
                        "schema": {
                            "type": "integer"
                        }
                    },
                    "X-Consultas-Creditos": {
                        "description": "Las que quedan de créditos prepago.",
                        "schema": {
                            "type": "integer"
                        }
                    },
                    "X-Plan-Renueva": {
                        "description": "Fecha en que la cuota del plan vuelve a llenarse.",
                        "schema": {
                            "type": "string",
                            "format": "date"
                        }
                    }
                },
                "content": {
                    "application/json": {
                        "schema": {
                            "$ref": "#/components/schemas/Error"
                        },
                        "examples": {
                            "prueba_finalizada": {
                                "summary": "Se acabaron las consultas de prueba",
                                "value": {
                                    "error": {
                                        "code": "prueba_finalizada",
                                        "message": "Consumió las consultas gratuitas del periodo de prueba.",
                                        "doc_url": "https://rnp.egobytes.com/docs/errores#prueba_finalizada"
                                    },
                                    "cobrada": false
                                }
                            },
                            "saldo_agotado": {
                                "summary": "Sin saldo",
                                "value": {
                                    "error": {
                                        "code": "saldo_agotado",
                                        "message": "La cuota del plan se agotó y no quedan créditos prepago.",
                                        "doc_url": "https://rnp.egobytes.com/docs/errores#saldo_agotado"
                                    },
                                    "cobrada": false
                                }
                            }
                        }
                    }
                }
            },
            "E403": {
                "description": "La clave fue revocada o expiró · La cuenta está desactivada",
                "headers": {
                    "X-Consultas-Restantes": {
                        "description": "Consultas que quedan, sumando plan y créditos.",
                        "schema": {
                            "type": "integer"
                        }
                    },
                    "X-Consultas-Plan": {
                        "description": "Las que quedan de la cuota del plan.",
                        "schema": {
                            "type": "integer"
                        }
                    },
                    "X-Consultas-Creditos": {
                        "description": "Las que quedan de créditos prepago.",
                        "schema": {
                            "type": "integer"
                        }
                    },
                    "X-Plan-Renueva": {
                        "description": "Fecha en que la cuota del plan vuelve a llenarse.",
                        "schema": {
                            "type": "string",
                            "format": "date"
                        }
                    }
                },
                "content": {
                    "application/json": {
                        "schema": {
                            "$ref": "#/components/schemas/Error"
                        },
                        "examples": {
                            "credencial_revocada": {
                                "summary": "La clave fue revocada o expiró",
                                "value": {
                                    "error": {
                                        "code": "credencial_revocada",
                                        "message": "La clave existe pero ya no sirve: se revocó, se desactivó o venció.",
                                        "doc_url": "https://rnp.egobytes.com/docs/errores#credencial_revocada"
                                    },
                                    "cobrada": false
                                }
                            },
                            "cuenta_suspendida": {
                                "summary": "La cuenta está desactivada",
                                "value": {
                                    "error": {
                                        "code": "cuenta_suspendida",
                                        "message": "La clave es válida pero la cuenta a la que pertenece está suspendida.",
                                        "doc_url": "https://rnp.egobytes.com/docs/errores#cuenta_suspendida"
                                    },
                                    "cobrada": false
                                }
                            }
                        }
                    }
                }
            },
            "E404": {
                "description": "No hay vehículo con ese identificador",
                "headers": {
                    "X-Consultas-Restantes": {
                        "description": "Consultas que quedan, sumando plan y créditos.",
                        "schema": {
                            "type": "integer"
                        }
                    },
                    "X-Consultas-Plan": {
                        "description": "Las que quedan de la cuota del plan.",
                        "schema": {
                            "type": "integer"
                        }
                    },
                    "X-Consultas-Creditos": {
                        "description": "Las que quedan de créditos prepago.",
                        "schema": {
                            "type": "integer"
                        }
                    },
                    "X-Plan-Renueva": {
                        "description": "Fecha en que la cuota del plan vuelve a llenarse.",
                        "schema": {
                            "type": "string",
                            "format": "date"
                        }
                    }
                },
                "content": {
                    "application/json": {
                        "schema": {
                            "$ref": "#/components/schemas/Error"
                        },
                        "examples": {
                            "vehiculo_no_encontrado": {
                                "summary": "No hay vehículo con ese identificador",
                                "value": {
                                    "error": {
                                        "code": "vehiculo_no_encontrado",
                                        "message": "El Registro respondió correctamente y no tiene nada inscrito con esa placa o ese VIN.",
                                        "doc_url": "https://rnp.egobytes.com/docs/errores#vehiculo_no_encontrado"
                                    },
                                    "cobrada": true
                                }
                            }
                        }
                    }
                }
            },
            "E429": {
                "description": "Demasiadas consultas por minuto",
                "headers": {
                    "X-Consultas-Restantes": {
                        "description": "Consultas que quedan, sumando plan y créditos.",
                        "schema": {
                            "type": "integer"
                        }
                    },
                    "X-Consultas-Plan": {
                        "description": "Las que quedan de la cuota del plan.",
                        "schema": {
                            "type": "integer"
                        }
                    },
                    "X-Consultas-Creditos": {
                        "description": "Las que quedan de créditos prepago.",
                        "schema": {
                            "type": "integer"
                        }
                    },
                    "X-Plan-Renueva": {
                        "description": "Fecha en que la cuota del plan vuelve a llenarse.",
                        "schema": {
                            "type": "string",
                            "format": "date"
                        }
                    }
                },
                "content": {
                    "application/json": {
                        "schema": {
                            "$ref": "#/components/schemas/Error"
                        },
                        "examples": {
                            "limite_excedido": {
                                "summary": "Demasiadas consultas por minuto",
                                "value": {
                                    "error": {
                                        "code": "limite_excedido",
                                        "message": "Superó el límite por minuto de su plan.",
                                        "doc_url": "https://rnp.egobytes.com/docs/errores#limite_excedido"
                                    },
                                    "cobrada": false
                                }
                            }
                        }
                    }
                }
            },
            "E502": {
                "description": "El Registro Nacional no responde",
                "headers": {
                    "X-Consultas-Restantes": {
                        "description": "Consultas que quedan, sumando plan y créditos.",
                        "schema": {
                            "type": "integer"
                        }
                    },
                    "X-Consultas-Plan": {
                        "description": "Las que quedan de la cuota del plan.",
                        "schema": {
                            "type": "integer"
                        }
                    },
                    "X-Consultas-Creditos": {
                        "description": "Las que quedan de créditos prepago.",
                        "schema": {
                            "type": "integer"
                        }
                    },
                    "X-Plan-Renueva": {
                        "description": "Fecha en que la cuota del plan vuelve a llenarse.",
                        "schema": {
                            "type": "string",
                            "format": "date"
                        }
                    }
                },
                "content": {
                    "application/json": {
                        "schema": {
                            "$ref": "#/components/schemas/Error"
                        },
                        "examples": {
                            "origen_no_disponible": {
                                "summary": "El Registro Nacional no responde",
                                "value": {
                                    "error": {
                                        "code": "origen_no_disponible",
                                        "message": "El Registro está caído, rechazó la consulta o cambió su estructura.",
                                        "doc_url": "https://rnp.egobytes.com/docs/errores#origen_no_disponible"
                                    },
                                    "cobrada": false
                                }
                            }
                        }
                    }
                }
            },
            "E503": {
                "description": "Sin capacidad momentánea",
                "headers": {
                    "X-Consultas-Restantes": {
                        "description": "Consultas que quedan, sumando plan y créditos.",
                        "schema": {
                            "type": "integer"
                        }
                    },
                    "X-Consultas-Plan": {
                        "description": "Las que quedan de la cuota del plan.",
                        "schema": {
                            "type": "integer"
                        }
                    },
                    "X-Consultas-Creditos": {
                        "description": "Las que quedan de créditos prepago.",
                        "schema": {
                            "type": "integer"
                        }
                    },
                    "X-Plan-Renueva": {
                        "description": "Fecha en que la cuota del plan vuelve a llenarse.",
                        "schema": {
                            "type": "string",
                            "format": "date"
                        }
                    }
                },
                "content": {
                    "application/json": {
                        "schema": {
                            "$ref": "#/components/schemas/Error"
                        },
                        "examples": {
                            "sin_capacidad": {
                                "summary": "Sin capacidad momentánea",
                                "value": {
                                    "error": {
                                        "code": "sin_capacidad",
                                        "message": "Todas nuestras conexiones con el Registro están ocupadas, o el servicio se pausó por degradación.",
                                        "doc_url": "https://rnp.egobytes.com/docs/errores#sin_capacidad"
                                    },
                                    "cobrada": false
                                }
                            }
                        }
                    }
                }
            },
            "E504": {
                "description": "El Registro tardó demasiado",
                "headers": {
                    "X-Consultas-Restantes": {
                        "description": "Consultas que quedan, sumando plan y créditos.",
                        "schema": {
                            "type": "integer"
                        }
                    },
                    "X-Consultas-Plan": {
                        "description": "Las que quedan de la cuota del plan.",
                        "schema": {
                            "type": "integer"
                        }
                    },
                    "X-Consultas-Creditos": {
                        "description": "Las que quedan de créditos prepago.",
                        "schema": {
                            "type": "integer"
                        }
                    },
                    "X-Plan-Renueva": {
                        "description": "Fecha en que la cuota del plan vuelve a llenarse.",
                        "schema": {
                            "type": "string",
                            "format": "date"
                        }
                    }
                },
                "content": {
                    "application/json": {
                        "schema": {
                            "$ref": "#/components/schemas/Error"
                        },
                        "examples": {
                            "tiempo_agotado": {
                                "summary": "El Registro tardó demasiado",
                                "value": {
                                    "error": {
                                        "code": "tiempo_agotado",
                                        "message": "El Registro no respondió dentro del tiempo permitido.",
                                        "doc_url": "https://rnp.egobytes.com/docs/errores#tiempo_agotado"
                                    },
                                    "cobrada": false
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}