For AI agents: a documentation index is available at the root level at /llms.txt and /llms-full.txt. Append /llms.txt to any URL for a page-level index, or .md for the markdown version of any page.
  • Métodos API
      • POSTLogin
      • POSTLanguages
      • POSTCreate Appointment
      • POSTCreate Appointment Representation
      • POSTCreate Appointment Representation Guests
      • POSTCancel Appointment
      • POSTCouncil evidence summary
      • POSTCouncil Info
      • POSTCouncils
      • POSTAssign Appointment to Operator
      • POSTAppointment Documentation
      • POSTCouncil Documentation
      • POSTCompany Month Schedule
      • POSTDay slots
      • POSTShare appointment
      • POSTUpload council Act
      • POSTCompany Procedures
      • POSTReschedule Appointment
      • POSTOrganization companies
      • POSTOrganization Users
      • POSTCreate Appointment_External
      • POSTCreate Appointment Representation_External
      • POSTCreate Appointment Representation Guests_External
      • POSTCouncils_External
      • POSTCouncil Info_External
      • POSTCancel Appointment_External
      • POSTCouncil evidence summary_External
      • POSTAssign Appointment to Operator_External
LogoLogo
Métodos APIOvac

Login

|View as Markdown|Open in Claude|
POST
/graphql/login
POST
/graphql/login
$curl -X POST https://api.ovac.pre.councilbox.com/graphql/login \
> -H "Content-Type: application/json" \
> -d '{
> "query": "mutation (\n $email: String!,\n $password: String!\n ){\n login(\n email: $email, \n password: $password)\n {\n token\n refreshToken\n expires\n }\n }",
> "variables": {
> "email": "{{user_email}}",
> "password": "{{user_password}}"
> }
>}'
200Login
1{
2 "data": {
3 "login": {
4 "token": "eyJhbGciOiJIUzI1sInR5cCI6IkpXVCJ9.eyJqdGkiOiIxOTU4ZGIxZS00ZTg2LTQwMDMtODNjZi0xYzA4NDEwODY1ODkiLCJ1c2VyX2lkIjozNDc2LCJ0b2tlbl90eXBlIjoidXNlciIsImlhdCI6MTc3OTI5MzAwMn0.0M-MaccgBi0SUfNRkvE-CYmEDdxHeHRQkEwfz3P0xjk",
5 "refreshToken": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6MzQ3Niwic2Vzc2lvbklkIjoiMTk1OGRiMWUtNGU4Ni00MDAzLTgzY2YtMWMwODQxMDg2NTg5IiwiaWF0IjoxNzc5MjkzMDAyfQ.yZfPXRX3rSyQtMQcjXTVjwkA3p3JCMDhV3xbYmxa6YU",
6 "expires": 21600
7 }
8 }
9}
# Login (`mutation`) Este método realiza la autenticación de un usuario en el sistema mediante sus credenciales (correo electrónico y contraseña). Al completarse con éxito, genera un token de acceso principal (`token`) y un token de renovación (`refreshToken`) necesarios para consumir el resto de endpoints protegidos de la API. ### Detalles de la Solicitud - **Método HTTP:** `POST` - **URL:** `https://api.ovac.pre.councilbox.com/graphql` ### Cabeceras (Headers) | **Key** | **Value** | **Requerido** | **Descripción** | | --- | --- | --- | --- | | **Content-Type** | application/json | Sí | Especifica el formato JSON para el cuerpo de la petición. | | **x-jwt-token** | {{token}} | No | No es necesario para el login inicial, se utiliza en llamadas posteriores. | ## Referencia de la API ### Parámetros de Entrada (Variables) | **Campo** | **Tipo** | **Requerido** | **Descripción** | | --- | --- | --- | --- | | **email** | String! | SI | Correo electrónico registrado de la cuenta de usuario. | | **password** | String! | SI | Contraseña asociada a la cuenta. | ### Campos de Respuesta (Payload) La mutación devuelve un objeto `login` con los elementos necesarios para la gestión de la sesión: | Campo | Tipo | Descripción | | --- | --- | --- | | **token** | String | oken JWT primario que debe enviarse en la cabecera `x-jwt-token` en las siguientes consultas. | | **refreshToken** | String | Token persistente utilizado para solicitar un nuevo token de acceso cuando el actual expire. | | **expires** | Integer | Tiempo de vida útil del token expresado en segundos (ej. `21600` equivale a 6 horas). | ## Ejemplos de Código y Peticiones ### 1\. Mutación GraphQL ``` graphql mutation Login($email: String!, $password: String!) { login(email: $email, password: $password) { token refreshToken expires } } ``` ### 2\. Variables de la Petición (JSON Payload) ``` json { "email": "ejemplo@dominio.com", "password": "contraseña123" } ``` ### 3\. Ejemplo de comando cURL ``` bash curl --location --globoff "https://api.ovac.pre.councilbox.com/graphql" \ --header "Content-Type: application/json" \ --data '{"query":"mutation ($email: String!, $password: String!) { login(email: $email, password: $password) { token refreshToken expires } }","variables":{"email":"ejemplo@dominio.com","password":"contraseña123"}}' ``` ### 4\. Respuesta Esperada (200 OK) ``` json { "data": { "login": { "token": "eyJhbGciOiJIUzI1NiR5cCI6IkpXVCJ9.eyJqdGkiOiJkZTc0ZTc5YS1kMzZhLTRiOTYtYWEzNC03NmViOGM5ODlkOWEiLCJ1c2VyX2lkIjozNDc2LCJ0b2tlbl90eXBlIjoidXNlciIsImlhdCI6MTc3NjM1NzE5MH0.AHiUq8QwxSPnuQD9FngbS8FZ0Jf3v81AnXdXsJWjXRo", "refreshToken": "eyJhbGciOiJIUz1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6MzQ3Niwic2Vzc2lvbklkIjoiZGU3NGU3OWEtZDM2YS00Yjk2LWFhMzQtNzZlYjhjOTg5ZDlhIiwiaWF0IjoxNzc2MzU3MTkwfQ.ddJqC8Jd20qYsm6dR8dhb1YkBV9XSsvrTGX2CzGXepM", "expires": 21600 } } } ``` > **Nota OpenAPI/Fern:** esta operación GraphQL se documenta como `/graphql/login` para que Fern pueda mostrarla como operación independiente. La ruta técnica real de ejecución es `POST /graphql`.
Was this page helpful?
Previous

Métodos API

Next

Languages

Built with

Este método realiza la autenticación de un usuario en el sistema mediante sus credenciales (correo electrónico y contraseña). Al completarse con éxito, genera un token de acceso principal (token) y un token de renovación (refreshToken) necesarios para consumir el resto de endpoints protegidos de la API.

Detalles de la Solicitud

  • Método HTTP: POST

  • URL: https://api.ovac.pre.councilbox.com/graphql

Cabeceras (Headers)

KeyValueRequeridoDescripción
Content-Typeapplication/jsonSíEspecifica el formato JSON para el cuerpo de la petición.
x-jwt-token{{token}}NoNo es necesario para el login inicial, se utiliza en llamadas posteriores.

Referencia de la API

Parámetros de Entrada (Variables)

CampoTipoRequeridoDescripción
emailString!SICorreo electrónico registrado de la cuenta de usuario.
passwordString!SIContraseña asociada a la cuenta.

Campos de Respuesta (Payload)

La mutación devuelve un objeto login con los elementos necesarios para la gestión de la sesión:

CampoTipoDescripción
tokenStringoken JWT primario que debe enviarse en la cabecera x-jwt-token en las siguientes consultas.
refreshTokenStringToken persistente utilizado para solicitar un nuevo token de acceso cuando el actual expire.
expiresIntegerTiempo de vida útil del token expresado en segundos (ej. 21600 equivale a 6 horas).

Ejemplos de Código y Peticiones

1. Mutación GraphQL

1mutation Login($email: String!, $password: String!) {
2 login(email: $email, password: $password) {
3 token
4 refreshToken
5 expires
6 }
7}

2. Variables de la Petición (JSON Payload)

1{
2 "email": "ejemplo@dominio.com",
3 "password": "contraseña123"
4}

3. Ejemplo de comando cURL

$curl --location --globoff "https://api.ovac.pre.councilbox.com/graphql" \
>--header "Content-Type: application/json" \
>--data '{"query":"mutation ($email: String!, $password: String!) { login(email: $email, password: $password) { token refreshToken expires } }","variables":{"email":"ejemplo@dominio.com","password":"contraseña123"}}'

4. Respuesta Esperada (200 OK)

1{
2 "data": {
3 "login": {
4 "token": "eyJhbGciOiJIUzI1NiR5cCI6IkpXVCJ9.eyJqdGkiOiJkZTc0ZTc5YS1kMzZhLTRiOTYtYWEzNC03NmViOGM5ODlkOWEiLCJ1c2VyX2lkIjozNDc2LCJ0b2tlbl90eXBlIjoidXNlciIsImlhdCI6MTc3NjM1NzE5MH0.AHiUq8QwxSPnuQD9FngbS8FZ0Jf3v81AnXdXsJWjXRo",
5 "refreshToken": "eyJhbGciOiJIUz1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6MzQ3Niwic2Vzc2lvbklkIjoiZGU3NGU3OWEtZDM2YS00Yjk2LWFhMzQtNzZlYjhjOTg5ZDlhIiwiaWF0IjoxNzc2MzU3MTkwfQ.ddJqC8Jd20qYsm6dR8dhb1YkBV9XSsvrTGX2CzGXepM",
6 "expires": 21600
7 }
8 }
9}

Nota OpenAPI/Fern: esta operación GraphQL se documenta como /graphql/login para que Fern pueda mostrarla como operación independiente. La ruta técnica real de ejecución es POST /graphql.

Request

This endpoint expects an object.
querystringRequired
GraphQL operation
variablesobjectOptional
GraphQL variables

Response

Successful response. GraphQL business errors may be returned inside the JSON errors field while transport status remains HTTP 200.