{"collection":{"info":{"_postman_id":"75abaa4f-d609-440f-ab82-5c3a7ccd4eb8","name":"API OVAC 8.5","description":"# Councilbox OVAC - API Integration Collection\n\nThis collection contains the full catalog of technical operations for integration with the Councilbox OVAC (Virtual Citizen Assistance Office) platform. It allows for the automation of the appointment lifecycle management, real-time schedule queries, interaction with the organizational structure, and processing of the final documentation for video-assistance sessions.\n\n## 🚀 Quick Start Guide\n\nTo start testing in less than 5 minutes, follow these steps:\n\n1. **Configure the Domain:** Make sure to define the `domain` variable in the **Variables** tab of this collection according to your testing environment:\n    \n    - **Pre-production:** `api.ovac.pre.councilbox.com`\n        \n    - **Production:** `api.ovac.councilbox.com`\n        \n2. **Execute Login:** Head to the `1. Authentication` folder and run the `Login` mutation using your assigned credentials.\n    \n3. **Token Automation:** The Login request includes a script in the **Tests** tab that automatically captures the access token and injects it into the collection variable `{{token}}`. There is no need to manually copy and paste it.\n    \n\n**Private Environments:** If your organization operates on a private cloud or a dedicated deployment, these standard endpoints will change. In this case, please replace the `domain` variable with the custom corporate API URL provided by Councilbox for your specific environment.\n\n## 🔐 Security and Headers\n\nWith the exception of the Login endpoint, all requests in this collection are protected. The authorization mechanism utilizes a custom header inherited globally by all requests:\n\n- **Type:** API Key\n    \n- **Key:** `x-jwt-token`\n    \n- **Value:** `'{{token}}'`\n    \n- **Add to:** Header\n    \n\n## 📂 Collection Structure\n\nRequests are organized into the following functional blocks:\n\n1. **Authentication:** Login operations and session expiration control.\n    \n2. **Availability and Schedules:** Status queries for monthly calendars (`Company Month Schedule`) and extraction of available daily time slots (`Day Slots`) under high and low agent concurrency logic.\n    \n3. **Appointment Management:** Creation of standard appointments, workflows involving legal representation, rescheduling (`Reschedule Appointment`), and generation of access links with a dynamic PIN code (`Share Appointment`).\n    \n4. **Documentation and Processing:** Historical record queries, viewing session attachments (`Council Documentation`), and the native multimedia REST endpoint for injecting the final report with CEA (`Upload Council Act`).\n    \n5. **Organizational Structure:** Global query methods for integrators that allow listing companies and branches associated with the root corporation (`Organization Companies`) and mapping the scope of professional users (`Organization Users`).\n    \n\n## ⚠️ Technical Integration Notes\n\n- **Hybrid Architecture:** 95% of the collection interacts through **GraphQL (POST)** centralized at `/graphql`. Only the act upload method (`Upload Council Act`) uses a **native REST architecture** with a `multipart/form-data` format.\n    \n- **Error Handling:** Responses return standard HTTP codes, but business rules and application logic violations are encapsulated within the `\"errors\"` object inside the JSON response body, maintaining an **HTTP 200 OK** status on the GraphQL transport layer.","schema":"https://schema.getpostman.com/json/collection/v2.1.0/collection.json","createdAt":"2026-05-22T09:43:28.000Z","updatedAt":"2026-06-15T19:14:31.000Z","lastUpdatedBy":"45758186","uid":"45758186-75abaa4f-d609-440f-ab82-5c3a7ccd4eb8"},"item":[{"name":"00 - Authentication","item":[{"name":"Login","event":[{"listen":"test","script":{"exec":["const response = pm.response.json();\r","\r","// Accedemos a la ruta del token según tu JSON\r","const authToken = response.data.login.token;\r","\r","if (authToken) {\r","    // 1. Actualiza la variable en la Colección\r","    pm.collectionVariables.set(\"token\", authToken);\r","    \r","    // 2. Actualiza la variable en el Entorno (Environment)\r","    pm.environment.set(\"token\", authToken);\r","    \r","    console.log(\"✅ Token actualizado en Colección y Entorno\");\r","} else {\r","    console.error(\"❌ No se encontró el token en la respuesta\");\r","}"],"type":"text/javascript","packages":{},"requests":{},"id":"0f88025c-af53-488a-8ef3-d84d6c391444"}}],"id":"8d287a0a-155a-46b8-970f-fb16a47ce405","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"graphql","graphql":{"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":"{\n    \"email\" : \"{{user_email}}\",\n    \"password\" : \"{{user_password}}\"\n}"}},"url":{"raw":"{{domain}}/{{endpoint}}","host":["{{domain}}"],"path":["{{endpoint}}"]},"description":"# Login (`mutation`)\n\nEste 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.\n\n### Detalles de la Solicitud\n\n- **Método HTTP:** `POST`\n    \n- **URL PRE:** `https://api.ovac.pre.councilbox.com/graphql`\n    \n- **URL PRO:** `https://api.ovac.pre.councilbox.com/graphql`\n    \n\n### Cabeceras (Headers)\n\n| **Key** | **Value** | **Requerido** | **Descripción** |\n| --- | --- | --- | --- |\n| **Content-Type** | application/json | Sí | Especifica el formato JSON para el cuerpo de la petición. |\n| **x-jwt-token** | {{token}} | No | No es necesario para el login inicial, se utiliza en llamadas posteriores. |\n\n## Referencia de la API\n\n### Parámetros de Entrada (Variables)\n\n| **Campo** | **Tipo** | **Requerido** | **Descripción** |\n| --- | --- | --- | --- |\n| **email** | String! | SI | Correo electrónico registrado de la cuenta de usuario. |\n| **password** | String! | SI | Contraseña asociada a la cuenta. |\n\n### Campos de Respuesta (Payload)\n\nLa mutación devuelve un objeto `login` con los elementos necesarios para la gestión de la sesión:\n\n| Campo | Tipo | Descripción |\n| --- | --- | --- |\n| **token** | String | oken JWT primario que debe enviarse en la cabecera `x-jwt-token` en las siguientes consultas. |\n| **refreshToken** | String | Token persistente utilizado para solicitar un nuevo token de acceso cuando el actual expire. |\n| **expires** | Integer | Tiempo de vida útil del token expresado en segundos (ej. `21600` equivale a 6 horas). |\n\n## Ejemplos de Código y Peticiones\n\n### 1\\. Mutación GraphQL\n\n``` graphql\nmutation Login($email: String!, $password: String!) {\n    login(email: $email, password: $password) {\n        token\n        refreshToken\n        expires\n    }\n}\n\n ```\n\n### 2\\. Variables de la Petición (JSON Payload)\n\n``` json\n{\n    \"email\": \"ejemplo@dominio.com\",\n    \"password\": \"contraseña123\"\n}\n\n ```\n\n### 3\\. Ejemplo de comando cURL\n\n``` bash\ncurl --location --globoff \"https://api.ovac.pre.councilbox.com/graphql\" \\\n--header \"Content-Type: application/json\" \\\n--data '{\"query\":\"mutation ($email: String!, $password: String!) { login(email: $email, password: $password) { token refreshToken expires } }\",\"variables\":{\"email\":\"ejemplo@dominio.com\",\"password\":\"contraseña123\"}}'\n\n ```\n\n### 4\\. Respuesta Esperada (200 OK)\n\n``` json\n{\n    \"data\": {\n        \"login\": {\n            \"token\": \"eyJhbGciOiJIUzI1NiR5cCI6IkpXVCJ9.eyJqdGkiOiJkZTc0ZTc5YS1kMzZhLTRiOTYtYWEzNC03NmViOGM5ODlkOWEiLCJ1c2VyX2lkIjozNDc2LCJ0b2tlbl90eXBlIjoidXNlciIsImlhdCI6MTc3NjM1NzE5MH0.AHiUq8QwxSPnuQD9FngbS8FZ0Jf3v81AnXdXsJWjXRo\",\n            \"refreshToken\": \"eyJhbGciOiJIUz1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6MzQ3Niwic2Vzc2lvbklkIjoiZGU3NGU3OWEtZDM2YS00Yjk2LWFhMzQtNzZlYjhjOTg5ZDlhIiwiaWF0IjoxNzc2MzU3MTkwfQ.ddJqC8Jd20qYsm6dR8dhb1YkBV9XSsvrTGX2CzGXepM\",\n            \"expires\": 21600\n        }\n    }\n}\n\n ```"},"response":[{"id":"0eb43a06-67a5-4606-b268-b38c8e21a119","name":"Login","originalRequest":{"method":"POST","header":[{"key":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"graphql"},"url":{"raw":"{{domain}}/{{endpoint}}","host":["{{domain}}"],"path":["{{endpoint}}"]}},"status":"OK","code":200,"_postman_previewlanguage":"Text","header":[{"key":":status","value":200},{"key":"date","value":"Wed, 20 May 2026 16:03:22 GMT"},{"key":"content-type","value":"application/json; charset=utf-8"},{"key":"vary","value":"Accept-Encoding"},{"key":"content-security-policy","value":"default-src 'self';base-uri 'self';font-src 'self' https: data:;form-action 'self';frame-ancestors 'self';img-src 'self' data:;object-src 'none';script-src 'self';script-src-attr 'none';style-src 'self' https: 'unsafe-inline';upgrade-insecure-requests"},{"key":"cross-origin-opener-policy","value":"same-origin"},{"key":"cross-origin-resource-policy","value":"cross-origin"},{"key":"origin-agent-cluster","value":"?1"},{"key":"referrer-policy","value":"no-referrer"},{"key":"strict-transport-security","value":"max-age=31536000; includeSubDomains"},{"key":"x-content-type-options","value":"nosniff"},{"key":"x-dns-prefetch-control","value":"off"},{"key":"x-download-options","value":"noopen"},{"key":"x-frame-options","value":"SAMEORIGIN"},{"key":"x-permitted-cross-domain-policies","value":"none"},{"key":"x-xss-protection","value":"0"},{"key":"access-control-allow-origin","value":"*"},{"key":"etag","value":"W/\"1d1-DfPVrx4rNOy15Xsg9I449SIH2LU\""},{"key":"content-encoding","value":"gzip"},{"key":"access-control-allow-methods","value":"GET,HEAD,PUT,PATCH,POST,DELETE"}],"cookie":[],"responseTime":null,"body":"{\n    \"data\": {\n        \"login\": {\n            \"token\": \"eyJhbGciOiJIUzI1sInR5cCI6IkpXVCJ9.eyJqdGkiOiIxOTU4ZGIxZS00ZTg2LTQwMDMtODNjZi0xYzA4NDEwODY1ODkiLCJ1c2VyX2lkIjozNDc2LCJ0b2tlbl90eXBlIjoidXNlciIsImlhdCI6MTc3OTI5MzAwMn0.0M-MaccgBi0SUfNRkvE-CYmEDdxHeHRQkEwfz3P0xjk\",\n            \"refreshToken\": \"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6MzQ3Niwic2Vzc2lvbklkIjoiMTk1OGRiMWUtNGU4Ni00MDAzLTgzY2YtMWMwODQxMDg2NTg5IiwiaWF0IjoxNzc5MjkzMDAyfQ.yZfPXRX3rSyQtMQcjXTVjwkA3p3JCMDhV3xbYmxa6YU\",\n            \"expires\": 21600\n        }\n    }\n}","createdAt":"2026-05-22T09:43:29.000Z","updatedAt":"2026-05-22T09:43:29.000Z","uid":"45758186-0eb43a06-67a5-4606-b268-b38c8e21a119"}],"createdAt":"2026-05-22T09:43:29.000Z","updatedAt":"2026-06-17T15:56:06.000Z","uid":"45758186-8d287a0a-155a-46b8-970f-fb16a47ce405"}],"id":"5de828ec-c3a6-4ad7-8d73-e270966724f7","description":"## EN\n\nThis folder contains the authentication methods required to access the OVAC API. The login request should be executed before calling protected methods, as it provides the credentials or session token needed for subsequent API operations.\n\n## ES\n\nEsta carpeta contiene los métodos de autenticación necesarios para acceder a la API de OVAC. La petición de login debe ejecutarse antes de consumir métodos protegidos, ya que permite obtener las credenciales o el token de sesión necesarios para las operaciones posteriores.","createdAt":"2026-06-10T17:00:17.000Z","updatedAt":"2026-06-10T17:34:41.000Z","uid":"45758186-5de828ec-c3a6-4ad7-8d73-e270966724f7"},{"name":"01 - Load Global Configuration","item":[{"name":"Get Languages","id":"243ee28f-9fb7-4482-acc5-6bc519dba39a","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[],"body":{"mode":"graphql","graphql":{"query":"query{\r\n    languages\r\n    {  \r\n        columnName\r\n        desc\r\n    }\r\n}","variables":""}},"url":{"raw":"{{domain}}/{{endpoint}}","host":["{{domain}}"],"path":["{{endpoint}}"]},"description":"# Languages (`query`)\n\nEsta operación permite consultar el listado de los idiomas soportados en la plataforma OVAC. Su propósito principal es exponer los códigos técnicos normalizados (`columnName`) que los integradores deben capturar y enviar en otras llamadas de la API para establecer el idioma en el cual el ciudadano visualizará su interfaz y recibirá las notificaciones.\n\n### Detalles de la Solicitud\n\n- **Método HTTP:** `POST`\n    \n- **URL PRE:** `https://api.ovac.pre.councilbox.com/graphql`\n    \n- **URL PRO:** `https://api.ovac.pre.councilbox.com/graphql`\n    \n- **Autenticación:** **No requiere**. Este es un endpoint público de parametrización.\n    \n\n### Cabeceras (Headers)\n\n| **Key** | **Value** | **Requerido** | **Descripción** |\n| --- | --- | --- | --- |\n| **Content-Type** | application/json | Sí | Especifica el formato JSON para el cuerpo de la petición. |\n\n## Referencia de la API\n\n### Parámetros de Entrada (Variables)\n\nEste método **no requiere ningún parámetro** ni bloque de variables de entrada.\n\n### Campos de Respuesta (Payload)\n\nLa consulta devuelve un array de objetos dentro del campo `languages`:\n\n| Campo | Tipo | Descripción |\n| --- | --- | --- |\n| **languages** | Array | Colección con todos los idiomas soportados y configurados en la plataforma. |\n| **languages.columnName** | String | Código o identificador técnico del idioma (ej. \"es\", \"en\", \"gal\"). |\n| **languages.desc** | String | Nombre legible y descriptivo del idioma (ej. \"Español\", \"English\"). |\n\n💡 **Nota de Integración:** El valor recuperado en `columnName` es el identificador exacto que espera recibir la API en variables ulteriores (como `participant.language` en el flujo de **Create Appointment**) para personalizar la experiencia del asistente. Se recomienda validar con el administrador del sistema cuáles de estos idiomas están activos para tu organización antes de desplegarlos en la interfaz.\n\n## Ejemplos de Código y Peticiones\n\n### 1\\. Consulta GraphQL\n\n``` graphql\nquery {\n    languages {  \n        columnName\n        desc\n    }\n}\n\n ```\n\n### 2\\. Variables de la Petición (JSON Payload)\n\n``` json\n{}\n\n ```\n\n### 3\\. Ejemplo de comando cURL\n\n``` bash\ncurl --location \"https://api.ovac.pre.councilbox.com/graphql\" \\\n--header \"Content-Type: application/json\" \\\n--data '{\"query\":\"query{\\n    languages\\n    {  \\n        columnName\\n        desc\\n    }\\n}\",\"variables\":{}}'\n\n ```\n\n### 4\\. Respuesta Esperada (200 OK)\n\n``` json\n{\n    \"data\": {\n        \"languages\": [\n            {\n                \"columnName\": \"es\",\n                \"desc\": \"Español\"\n            },\n            {\n                \"columnName\": \"en\",\n                \"desc\": \"English\"\n            },\n            {\n                \"columnName\": \"gal\",\n                \"desc\": \"Galego\"\n            },\n            {\n                \"columnName\": \"vl\",\n                \"desc\": \"Valencià\"\n            },\n            {\n                \"columnName\": \"cat\",\n                \"desc\": \"Català\"\n            },\n            {\n                \"columnName\": \"it\",\n                \"desc\": \"Italiano\"\n            },\n            {\n                \"columnName\": \"eu\",\n                \"desc\": \"Euskera\"\n            }\n        ]\n    }\n}\n\n ```"},"response":[{"id":"31a7d431-030a-4494-8dcc-f16b14592235","name":"Get Languages","originalRequest":{"method":"POST","header":[],"body":{"mode":"graphql"},"url":{"raw":"{{domain}}/{{endpoint}}","host":["{{domain}}"],"path":["{{endpoint}}"]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":":status","value":200},{"key":"date","value":"Thu, 21 May 2026 08:46:45 GMT"},{"key":"content-type","value":"application/json; charset=utf-8"},{"key":"vary","value":"Accept-Encoding"},{"key":"content-security-policy","value":"default-src 'self';base-uri 'self';font-src 'self' https: data:;form-action 'self';frame-ancestors 'self';img-src 'self' data:;object-src 'none';script-src 'self';script-src-attr 'none';style-src 'self' https: 'unsafe-inline';upgrade-insecure-requests"},{"key":"cross-origin-opener-policy","value":"same-origin"},{"key":"cross-origin-resource-policy","value":"cross-origin"},{"key":"origin-agent-cluster","value":"?1"},{"key":"referrer-policy","value":"no-referrer"},{"key":"strict-transport-security","value":"max-age=31536000; includeSubDomains"},{"key":"x-content-type-options","value":"nosniff"},{"key":"x-dns-prefetch-control","value":"off"},{"key":"x-download-options","value":"noopen"},{"key":"x-frame-options","value":"SAMEORIGIN"},{"key":"x-permitted-cross-domain-policies","value":"none"},{"key":"x-xss-protection","value":"0"},{"key":"access-control-allow-origin","value":"*"},{"key":"etag","value":"W/\"121-dbq1jMS17fw/WasXe/YUVRDjj14\""},{"key":"content-encoding","value":"gzip"},{"key":"access-control-allow-methods","value":"GET,HEAD,PUT,PATCH,POST,DELETE"}],"cookie":[],"responseTime":null,"body":"{\n    \"data\": {\n        \"languages\": [\n            {\n                \"columnName\": \"es\",\n                \"desc\": \"Español\"\n            },\n            {\n                \"columnName\": \"en\",\n                \"desc\": \"English\"\n            },\n            {\n                \"columnName\": \"gal\",\n                \"desc\": \"Galego\"\n            },\n            {\n                \"columnName\": \"vl\",\n                \"desc\": \"Valencià\"\n            },\n            {\n                \"columnName\": \"cat\",\n                \"desc\": \"Català\"\n            },\n            {\n                \"columnName\": \"it\",\n                \"desc\": \"Italiano\"\n            },\n            {\n                \"columnName\": \"eu\",\n                \"desc\": \"Euskera\"\n            }\n        ]\n    }\n}","createdAt":"2026-05-22T09:43:29.000Z","updatedAt":"2026-06-15T19:05:36.000Z","uid":"45758186-31a7d431-030a-4494-8dcc-f16b14592235"}],"createdAt":"2026-05-22T09:43:29.000Z","updatedAt":"2026-06-17T15:56:11.000Z","uid":"45758186-243ee28f-9fb7-4482-acc5-6bc519dba39a"},{"name":"Get Organization Companies","id":"1f0c499f-892c-4595-8a38-f3bc51c475fc","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"apikey","apikey":[{"key":"value","value":"{{token}}","type":"string"},{"key":"key","value":"x-jwt-token","type":"string"}]},"method":"POST","header":[],"body":{"mode":"graphql","graphql":{"query":"query OrganizationCompanies\r\n(\r\n    $options: OptionsInput, \r\n    $organizationId: Int!)\r\n    {\r\n    organizationCompanies(\r\n        options: $options, \r\n        organizationId: $organizationId){\r\n            list{\r\n                id\r\n                externalId\r\n                businessName\r\n                tin\r\n                language\r\n            }\r\n        total\r\n        }\r\n    }","variables":"{\r\n\t\"options\": {\r\n\t\t\"limit\": 5,\r\n\t\t\"offset\": 0\r\n\t},\r\n\t\"organizationId\": 1234\r\n}"}},"url":{"raw":"{{domain}}/{{endpoint}}","host":["{{domain}}"],"path":["{{endpoint}}"]},"description":"# Organization Companies (`query`)\n\nEsta operación permite listar todas las entidades vinculadas directamente a una organización. Incluye soporte nativo para paginación a través de un objeto de opciones, lo que permite segmentar y limitar el volumen de registros devueltos en ecosistemas corporativos grandes.\n\n### Detalles de la Solicitud\n\n- **Método HTTP:** `POST`\n    \n- **URL PRE:** `https://api.ovac.pre.councilbox.com/graphql`\n    \n- **URL PRO:** `https://api.ovac.pre.councilbox.com/graphql`\n    \n\n### Autenticación\n\n> **Tipo:** API Key**  \nHeader:** `x-jwt-token`  \n**Ubicación:** Header HTTP_  \nEjemplo:_ `x-jwt-token: eyJhbGciOiJIUzI1NiIsInR5cCI6...` \n  \n\n## Referencia de la API\n\n### Parámetros de Entrada (Variables)\n\n| Parámetro | Descripción | Requerido | Tipo |\n| --- | --- | --- | --- |\n| organizationId | Identificador único de la organización raíz (corporación) en la plataforma. | SI | Integer |\n| options | Objeto de configuración para la paginación de resultados. | NO | OptionsInput |\n| options.**limit** | Cantidad máxima de registros a devolver en la página actual (ej. 5). | NO | Integer |\n| options.**offset** | Número de registros que se omitirán desde el inicio (punto de corte para paginar). | NO | Integer |\n\n### Campos de Respuesta (Payload)\n\nLa consulta devuelve un objeto contenedor `organizationCompanies` con los datos de paginación y el listado de empresas:\n\n| Parámetro | Descripción | Tipo |\n| --- | --- | --- |\n| organizationCompanies | Objeto contenedor con el listado y el total de entidades mapeadas. | Objeto |\n| organizationCompanies.**list** | Array de objetos con el detalle individual de cada entidad vinculada. | Array |\n| organizationCompanies.list\\[\\].**id** | Identificador numérico único de la entidad o empresa en el sistema. | Integer |\n| organizationCompanies.list\\[\\].**externalId** | Identificador externo vincualdo a la entidad u organización | String |\n| organizationCompanies.list\\[\\].**businessName** | Razón social, nombre comercial o denominación oficial de la entidad. | String |\n| organizationCompanies.list\\[\\].**tin** | Número de Identificación Fiscal (NIF/CIF) de la entidad (si no consta, devuelve null). | String |\n| organizationCompanies.list\\[\\].**language** | Muestra los idiomas configurados en la organización | String |\n| organizationCompanies.**total** | Cantidad total absoluta de entidades que pertenecen a la organización. | String |\n\n## Ejemplos de Código y Peticiones\n\n### 1\\. Consulta GraphQL\n\n``` graphql\nquery OrganizationCompanies($options: OptionsInput, $organizationId: Int!) {\n    organizationCompanies(options: $options, organizationId: $organizationId) {\n        list {\n            id\n            externalId\n            businessName\n            tin\n        }\n        total\n    }\n}\n\n ```\n\n### 2\\. Variables de la Petición (JSON Payload)\n\n``` json\n{\n    \"options\": {\n        \"limit\": 5,\n        \"offset\": 0\n    },\n    \"organizationId\": 2191\n}\n\n ```\n\n### 3\\. Ejemplo de comando cURL\n\n``` bash\ncurl --location \"https://api.ovac.pre.councilbox.com/graphql\" \\\n--header \"Content-Type: application/json\" \\\n--header \"x-jwt-token: {{token}}\" \\\n--data '{\"query\":\"query OrganizationCompanies($options: OptionsInput, $organizationId: Int!){ organizationCompanies(options: $options, organizationId: $organizationId){ list{ id businessName tin } total } }\",\"variables\":{\"options\":{\"limit\":5,\"offset\":0},\"organizationId\":2191}}'\n\n ```\n\n### 4\\. Respuesta Esperada (200 OK)\n\n``` json\n{\n    \"data\": {\n        \"organizationCompanies\": {\n            \"list\": [\n                {\n                    \"id\": 2191,\n                    \"externalId\": null,\n                    \"businessName\": \"TEST API\",\n                    \"tin\": null\n                }\n            ],\n            \"total\": 1\n        }\n    }\n}\n\n ```"},"response":[{"id":"8ba5ea11-1cd6-4ec3-9af0-77d92499ec16","name":"Get Organization Companies","originalRequest":{"method":"POST","header":[],"body":{"mode":"graphql","graphql":{"query":"query OrganizationCompanies\r\n(\r\n    $options: OptionsInput, \r\n    $organizationId: Int!)\r\n    {\r\n    organizationCompanies(\r\n        options: $options, \r\n        organizationId: $organizationId){\r\n            list{\r\n                id\r\n                externalId\r\n                businessName\r\n                tin\r\n                language\r\n            }\r\n        total\r\n        }\r\n    }","variables":"{\r\n\t\"options\": {\r\n\t\t\"limit\": 5,\r\n\t\t\"offset\": 0\r\n\t},\r\n\t\"organizationId\": 2191\r\n}"}},"url":{"raw":"{{domain}}/{{endpoint}}","host":["{{domain}}"],"path":["{{endpoint}}"]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":":status","value":200},{"key":"date","value":"Wed, 20 May 2026 16:38:09 GMT"},{"key":"content-type","value":"application/json; charset=utf-8"},{"key":"content-length","value":"105"},{"key":"content-security-policy","value":"default-src 'self';base-uri 'self';font-src 'self' https: data:;form-action 'self';frame-ancestors 'self';img-src 'self' data:;object-src 'none';script-src 'self';script-src-attr 'none';style-src 'self' https: 'unsafe-inline';upgrade-insecure-requests"},{"key":"cross-origin-opener-policy","value":"same-origin"},{"key":"cross-origin-resource-policy","value":"cross-origin"},{"key":"origin-agent-cluster","value":"?1"},{"key":"referrer-policy","value":"no-referrer"},{"key":"strict-transport-security","value":"max-age=31536000; includeSubDomains"},{"key":"x-content-type-options","value":"nosniff"},{"key":"x-dns-prefetch-control","value":"off"},{"key":"x-download-options","value":"noopen"},{"key":"x-frame-options","value":"SAMEORIGIN"},{"key":"x-permitted-cross-domain-policies","value":"none"},{"key":"x-xss-protection","value":"0"},{"key":"access-control-allow-origin","value":"*"},{"key":"etag","value":"W/\"69-aYO6EEZu3kfjenc1gQLxYWAvBd0\""},{"key":"access-control-allow-methods","value":"GET,HEAD,PUT,PATCH,POST,DELETE"}],"cookie":[],"responseTime":null,"body":"{\n    \"data\": {\n        \"organizationCompanies\": {\n            \"list\": [\n                {\n                    \"id\": 2191,\n                    \"externalId\": null,\n                    \"businessName\": \"TEST API\",\n                    \"tin\": null\n                }\n            ],\n            \"total\": 1\n        }\n    }\n}","createdAt":"2026-05-22T09:43:29.000Z","updatedAt":"2026-06-17T16:12:15.000Z","uid":"45758186-8ba5ea11-1cd6-4ec3-9af0-77d92499ec16"}],"createdAt":"2026-05-22T09:43:29.000Z","updatedAt":"2026-06-17T16:15:39.000Z","uid":"45758186-1f0c499f-892c-4595-8a38-f3bc51c475fc"},{"name":"Get Organization Users","id":"160b6e19-864a-4bf8-8ed9-3ecb6cbe679c","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"apikey","apikey":[{"key":"value","value":"{{token}}","type":"string"},{"key":"key","value":"x-jwt-token","type":"string"}]},"method":"POST","header":[],"body":{"mode":"graphql","graphql":{"query":"query OrganizationUsers(\r\n    $organizationId: Int,\r\n    $options: OptionsInput\r\n    $filters: [FilterInput]\r\n) {\r\n    organizationUsers(\r\n        corporationId: $organizationId,\r\n        options: $options\r\n        filters: $filters\r\n    ) {\r\n        list {\r\n            id\r\n            externalId\r\n            name\r\n            surname\r\n            email\r\n            roles\r\n            companies {\r\n                id\r\n                externalId\r\n                businessName\r\n            }\r\n        }\r\n        total\r\n    }\r\n}","variables":"{\r\n    \"organizationId\": 1234,\r\n    \"options\": {\r\n        \"limit\": 100,\r\n        \"offset\": 0\r\n    },\r\n    \"filters\": [{\r\n        \"field\": \"\",\r\n        \"text\": \"\"\r\n    }]\r\n}"}},"url":{"raw":"{{domain}}/{{endpoint}}","host":["{{domain}}"],"path":["{{endpoint}}"]},"description":"# Organization Users (`query`)\n\nEsta operación permite consultar la información detallada de los usuarios pertenecientes a una organización y, de manera específica, obtener el listado de las entidades, delegaciones o centros de atención a los que están vinculados. Está especialmente diseñada para conocer el alcance de gestión de los operarios o filtrar de forma directa por su correo electrónico.\n\n### Detalles de la Solicitud\n\n- **Método HTTP:** `POST`\n    \n- **URL PRE:** `https://api.ovac.pre.councilbox.com/graphql`\n    \n- **URL PRO:** `https://api.ovac.pre.councilbox.com/graphql`\n    \n\n### Autenticación\n\n> **Tipo:** API Key**  \nHeader:** `x-jwt-token`  \n**Ubicación:** Header HTTP_  \nEjemplo:_ `x-jwt-token: eyJhbGciOiJIUzI1NiIsInR5cCI6...` \n  \n\n## Referencia de la API\n\n### Parámetros de entrada (Variables)\n\n| Parámetro | Descripción | Requerido | Tipo |\n| --- | --- | --- | --- |\n| organizationId | Identificador único de la organización. | SI | Integer |\n| options | Parámetros de configuración para paginación (ej. limit y offset). | NO | OptionsInput |\n| filters | Colección de criterios de filtrado para acotar la búsqueda de usuarios. | NO | FilterInput |\n| filters.**field** | Campo del usuario por el que realizar la búsqueda (para este caso técnico: \"email\"). | SI (si se filtra) | String |\n| filters.**text** | Dirección de correo electrónico exacta que se desea buscar en el sistema. | SI (si se filtra) | String |\n\n### Campos de respuesta (Payload)\n\nLa consulta devuelve un objeto contenedor `organizationUsers` estructurado con la siguiente taxonomía de datos:\n\n| Parámetro | Descripción | Tipo |\n| --- | --- | --- |\n| organizationUsers | Objeto raíz contenedor de los resultados de la consulta de organización. | Objeto |\n| organizationUsers.**list** | Array que contiene los usuarios localizados bajo los criterios de filtrado. | Array |\n| organizationUsers.list\\[\\].**id** | Identificador numérico único del usuario en la plataforma (userId). | Integer |\n| organizationUsers.list\\[\\].**externalId** | Identificador único del usuario en los sistemas de origen del cliente (si aplica, si no null). | String |\n| organizationUsers.list\\[\\].**name** | Nombre de pila del usuario. | String |\n| organizationUsers.list\\[\\].**surname** | Apellidos completos del usuario. | String |\n| organizationUsers.list\\[\\].**email** | Dirección de correo electrónico corporativo del usuario. | String |\n| organizationUsers.list\\[\\].**roles** | Rol de permisos asignado al usuario dentro de la organización (ej. \"superadmin\"). | String |\n| organizationUsers.list\\[\\].**companies** | Matriz o colección de entidades específicas a las que pertenece o tiene acceso el usuario. | Array |\n| organizationUsers.list\\[\\].**companies\\[\\].id** | Identificador numérico único de la entidad/empresa en la plataforma. | Integer |\n| organizationUsers.list\\[\\].**companies\\[\\].externalId** | Código identificativo externo de la entidad (si no dispone de él, devuelve null). | String |\n| organizationUsers.list\\[\\].**companies.businessName** | Razón social o denominación oficial de la entidad vinculada. | String |\n| total | Número total de registros de usuarios encontrados que cumplen las condiciones. | Integer |\n\n## Ejemplos de código y peticiones\n\n> 💡 **Nota de Integración:** Se ha ajustado la consulta GraphQL de ejemplo para incluir explícitamente el nodo `companies` y el argumento `filters` en la firma de ejecución. De este modo, la petición reflejará de forma fidedigna los datos de filtrado de entrada y el listado de centros del payload de respuesta. \n  \n\n### 1\\. Consulta GraphQL\n\n``` graphql\nquery OrganizationUsers(\n    $organizationId: Int!, \n    $options: OptionsInput,\n    $filters: [FilterInput]\n) {\n    organizationUsers(\n        corporationId: $organizationId, \n        options: $options,\n        filters: $filters\n    ) {\n        list {\n            id\n            externalId\n            name\n            surname\n            email\n            roles\n            externalId\n            companies {\n                id\n                externalId\n                businessName\n            }\n        }\n        total\n    }\n}\n\n ```\n\n### 2\\. Variables de la petición (JSON Payload)\n\n``` json\n{\n    \"organizationId\": 2191,\n    \"options\": {\n        \"limit\": 100,\n        \"offset\": 0\n    },\n    \"filters\": [\n        {\n            \"field\": \"email\",\n            \"text\": \"alejandro.maneiro+apiprof@councilbox.com\"\n        }\n    ]\n}\n\n ```\n\n### 3\\. Ejemplo de comando cURL\n\n``` bash\ncurl --location \"https://api.ovac.pre.councilbox.com/graphql\" \\\n--header \"Content-Type: application/json\" \\\n--header \"x-jwt-token: {{token}}\" \\\n--data '{\"query\":\"query OrganizationUsers($organizationId: Int!, $options: OptionsInput, $filters: [FilterInput]) { organizationUsers(corporationId: $organizationId, options: $options, filters: $filters) { list { id name surname email roles externalId companies { id externalId businessName } } total } }\",\"variables\":{\"organizationId\":2191,\"options\":{\"limit\":100,\"offset\":0},\"filters\":[{\"field\":\"email\",\"text\":\"alejandro.maneiro+apiprof@councilbox.com\"}]}}'\n\n ```\n\n### 4\\. Respuesta esperada (200 OK)\n\n``` json\n{\n    \"data\": {\n        \"organizationUsers\": {\n            \"list\": [\n                {\n                    \"id\": 3477,\n                    \"externalId\": null,\n                    \"name\": \"API\",\n                    \"surname\": \"PROFESIONAL\",\n                    \"email\": \"alejandro.maneiro+apiprof@councilbox.com\",\n                    \"roles\": \"professionalAdmin\",\n                    \"externalId\": null,\n                    \"companies\": [\n                        {\n                            \"id\": 2191,\n                            \"externalId\": null,\n                            \"businessName\": \"TEST API\"\n                        }\n                    ]\n                }\n            ],\n            \"total\": 1\n        }\n    }\n}\n\n ```"},"response":[{"id":"112b6167-60df-47de-b30b-567938740aa5","name":"Get Organization Users","originalRequest":{"method":"POST","header":[],"body":{"mode":"graphql"},"url":{"raw":"{{domain}}/{{endpoint}}","host":["{{domain}}"],"path":["{{endpoint}}"]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":":status","value":200},{"key":"date","value":"Wed, 20 May 2026 16:38:32 GMT"},{"key":"content-type","value":"application/json; charset=utf-8"},{"key":"vary","value":"Accept-Encoding"},{"key":"content-security-policy","value":"default-src 'self';base-uri 'self';font-src 'self' https: data:;form-action 'self';frame-ancestors 'self';img-src 'self' data:;object-src 'none';script-src 'self';script-src-attr 'none';style-src 'self' https: 'unsafe-inline';upgrade-insecure-requests"},{"key":"cross-origin-opener-policy","value":"same-origin"},{"key":"cross-origin-resource-policy","value":"cross-origin"},{"key":"origin-agent-cluster","value":"?1"},{"key":"referrer-policy","value":"no-referrer"},{"key":"strict-transport-security","value":"max-age=31536000; includeSubDomains"},{"key":"x-content-type-options","value":"nosniff"},{"key":"x-dns-prefetch-control","value":"off"},{"key":"x-download-options","value":"noopen"},{"key":"x-frame-options","value":"SAMEORIGIN"},{"key":"x-permitted-cross-domain-policies","value":"none"},{"key":"x-xss-protection","value":"0"},{"key":"access-control-allow-origin","value":"*"},{"key":"etag","value":"W/\"1f0-Y3GhBhplQhIRgWQIGu/ChXDfGtM\""},{"key":"content-encoding","value":"gzip"},{"key":"access-control-allow-methods","value":"GET,HEAD,PUT,PATCH,POST,DELETE"}],"cookie":[],"responseTime":null,"body":"{\n    \"data\": {\n        \"organizationUsers\": {\n            \"list\": [\n                {\n                    \"id\": 3519,\n                    \"name\": \"alexis\",\n                    \"surname\": \"Sierra\",\n                    \"email\": \"alexis.sierra+api+test@councilbox.com\",\n                    \"roles\": \"professionalAdmin\",\n                    \"externalId\": null,\n                    \"companies\": [\n                        {\n                            \"id\": 2191,\n                            \"externalId\": \"API_TEST\",\n                            \"businessName\": \"TEST API\"\n                        }\n                    ]\n                },\n                {\n                    \"id\": 3477,\n                    \"name\": \"API\",\n                    \"surname\": \"PROFESIONAL\",\n                    \"email\": \"alejandro.maneiro+apiprof@councilbox.com\",\n                    \"roles\": \"professionalAdmin\",\n                    \"externalId\": \"TEST001\",\n                    \"companies\": [\n                        {\n                            \"id\": 2191,\n                            \"externalId\": \"API_TEST\",\n                            \"businessName\": \"TEST API\"\n                        }\n                    ]\n                }\n            ],\n            \"total\": 2\n        }\n    }\n}","createdAt":"2026-05-22T09:43:29.000Z","updatedAt":"2026-06-15T19:12:06.000Z","uid":"45758186-112b6167-60df-47de-b30b-567938740aa5"}],"createdAt":"2026-05-22T09:43:29.000Z","updatedAt":"2026-06-17T16:20:38.000Z","uid":"45758186-160b6e19-864a-4bf8-8ed9-3ecb6cbe679c"},{"name":"Get Company Procedures","id":"8ada1593-7669-419f-97fe-6447573fa7ca","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"apikey","apikey":[{"key":"value","value":"{{token}}","type":"string"},{"key":"key","value":"x-jwt-token","type":"string"}]},"method":"POST","header":[],"body":{"mode":"graphql","graphql":{"query":"query statutes(\r\n    $companyId: Int!,\r\n    $councilType: Int\r\n) {\r\n\tcompanyStatutes(\r\n        companyId: $companyId,\r\n        councilType: $councilType\r\n    ) {\r\n\t\t\tid\r\n\t\t\texternalId\r\n\t\t\ttitle\r\n            councilType\r\n            notificationType\r\n            notificationsAvailable\r\n\t\t}\r\n\t}","variables":"{\r\n    \"companyId\": 1234,\r\n    \"councilType\": null\r\n}"}},"url":{"raw":"{{domain}}/{{endpoint}}","host":["{{domain}}"],"path":["{{endpoint}}"]},"description":"# Company Statutes (`query`)\n\nEsta operación permite consultar el catálogo de trámites configurados y vinculados a una entidad determinada. Ofrece un parámetro de filtrado opcional para segmentar de forma directa los resultados según el canal o tipo de atención requerido.\n\n### Detalles de la Solicitud\n\n- **Método HTTP:** `POST`\n    \n- **URL PRE:** `https://api.ovac.pre.councilbox.com/graphql`\n    \n- **URL PRO:** `https://api.ovac.pre.councilbox.com/graphql`\n    \n\n### Autenticación\n\n> **Tipo:** API Key**  \nHeader:** `x-jwt-token`  \n**Ubicación:** Header HTTP_  \nEjemplo:_ `x-jwt-token: eyJhbGciOiJIUzI1NiIsInR5cCI6...` \n  \n\n## Referencia de la API\n\n### Parámetros de Entrada (Variables)\n\n| Parámetro | Descripción | Requerido | Tipo |\n| --- | --- | --- | --- |\n| companyId | Identificador único de la entidad en OVAC donde se busca la disponibilidad. | SI | Integer |\n| councilType | Filtro por tipo de canal. Admite los siguientes valores:  <br>`null` -> Muestra todos los trámites (por defecto).  <br>`5` -> Videoatención.  <br>`6` -> Gestión desatendida.  <br>`7` -> Presencial. | NO | Integer |\n\n### Campos de Respuesta (Payload)\n\nLa consulta devuelve una colección directa de objetos bajo el campo raíz `companyStatutes`:\n\n| Parámetro | Descripción | Tipo |\n| --- | --- | --- |\n| companyStatutes | Array con el listado de trámites vinculados que cumplen los filtros. | Array |\n| companyStatutes.**id** | Identificador interno único del trámite en la plataforma OVAC. | Integer |\n| companyStatutes.**externalId** | Código o identificador del trámite en el sistema del cliente de origen. | String |\n| companyStatutes.**title** | Nombre o denominación oficial del trámite (ej. \"TEST\"). | String |\n| companyStatutes.**councilType** | Código numérico que representa el canal de atención asignado a ese trámite. | Integer |\n| companyStatutes.**notificationType** | Método de notificación por defecto:  <br>`0` -> email  <br>`1` -> SMS  <br>`2` -> WhatsApp | Integer |\n| companyStatutes.**notificationsAvailable** | Métodos de envío de notificación permitidos, es un array separado por comas: \"`0`,`1`,`2`\", en el ejemplo indica que todos están permitidos. | Array |\n\n## Ejemplos de Código y Peticiones\n\n### 1\\. Consulta GraphQL\n\n``` graphql\nquery Statutes($companyId: Int!, $councilType: Int) {\n    companyStatutes(companyId: $companyId, councilType: $councilType) {\n        id\n        externalId\n        title\n        councilType\n        notificationType\n        notificationsAvailable\n    }\n}\n\n ```\n\n### 2\\. Variables de la Petición (JSON Payload)\n\n``` json\n{\n    \"companyId\": 2191,\n    \"councilType\": null\n}\n\n ```\n\n### 3\\. Ejemplo de comando cURL\n\n``` bash\ncurl --location \"https://api.ovac.pre.councilbox.com/graphql\" \\\n--header \"Content-Type: application/json\" \\\n--header \"x-jwt-token: {{token}}\" \\\n--data '{\"query\":\"query statutes($companyId: Int!, $councilType: Int) { companyStatutes(companyId: $companyId, councilType: $councilType) { id externalId title councilType } }\",\"variables\":{\"companyId\":2191,\"councilType\":null}}'\n\n ```\n\n### 4\\. Respuesta Esperada (200 OK)\n\n``` json\n{\n    \"data\": {\n        \"companyStatutes\": [\n            {\n                \"id\": 4685,\n                \"externalId\": null,\n                \"title\": \"TEST\",\n                \"councilType\": 5\n                \"notificationType\": 0,\n                \"notificationsAvailable\": \"0,1,2\"\n            }\n        ]\n    }\n}\n\n ```"},"response":[{"id":"5350b9c4-1e7a-4410-b24d-9df524acf894","name":"Get Company Procedures","originalRequest":{"method":"POST","header":[],"body":{"mode":"graphql","graphql":{"query":"query statutes(\r\n    $companyId: Int!,\r\n    $councilType: Int\r\n) {\r\n\tcompanyStatutes(\r\n        companyId: $companyId,\r\n        councilType: $councilType\r\n    ) {\r\n\t\t\tid\r\n\t\t\texternalId\r\n\t\t\ttitle\r\n            councilType\r\n            notificationType\r\n            notificationsAvailable\r\n\t\t}\r\n\t}","variables":"{\r\n    \"companyId\": 2191,\r\n    \"councilType\": null\r\n}"}},"url":{"raw":"{{domain}}/{{endpoint}}","host":["{{domain}}"],"path":["{{endpoint}}"]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":":status","value":200},{"key":"date","value":"Wed, 20 May 2026 16:37:15 GMT"},{"key":"content-type","value":"application/json; charset=utf-8"},{"key":"content-length","value":"92"},{"key":"content-security-policy","value":"default-src 'self';base-uri 'self';font-src 'self' https: data:;form-action 'self';frame-ancestors 'self';img-src 'self' data:;object-src 'none';script-src 'self';script-src-attr 'none';style-src 'self' https: 'unsafe-inline';upgrade-insecure-requests"},{"key":"cross-origin-opener-policy","value":"same-origin"},{"key":"cross-origin-resource-policy","value":"cross-origin"},{"key":"origin-agent-cluster","value":"?1"},{"key":"referrer-policy","value":"no-referrer"},{"key":"strict-transport-security","value":"max-age=31536000; includeSubDomains"},{"key":"x-content-type-options","value":"nosniff"},{"key":"x-dns-prefetch-control","value":"off"},{"key":"x-download-options","value":"noopen"},{"key":"x-frame-options","value":"SAMEORIGIN"},{"key":"x-permitted-cross-domain-policies","value":"none"},{"key":"x-xss-protection","value":"0"},{"key":"access-control-allow-origin","value":"*"},{"key":"etag","value":"W/\"5c-7J6uz05U988AzN0AYVFwpqLx6RQ\""},{"key":"access-control-allow-methods","value":"GET,HEAD,PUT,PATCH,POST,DELETE"}],"cookie":[],"responseTime":null,"body":"{\n    \"data\": {\n        \"companyStatutes\": [\n            {\n                \"id\": 4685,\n                \"externalId\": null,\n                \"title\": \"TEST\",\n                \"councilType\": 5,\n                \"notificationType\": 0,\n                \"notificationsAvailable\": \"0,1,2\"\n            }\n        ]\n    }\n}","createdAt":"2026-05-22T09:43:29.000Z","updatedAt":"2026-06-15T19:12:15.000Z","uid":"45758186-5350b9c4-1e7a-4410-b24d-9df524acf894"}],"createdAt":"2026-05-22T09:43:29.000Z","updatedAt":"2026-06-17T15:56:53.000Z","uid":"45758186-8ada1593-7669-419f-97fe-6447573fa7ca"}],"id":"0d6d7ed9-937c-4572-b290-539565d572df","description":"## EN\n\nThis folder contains methods used to retrieve base configuration data required by the integration, such as available languages and company procedures. These methods are usually executed at the beginning of the integration flow to prepare the values needed for appointment creation and management.\n\n## ES\n\nEsta carpeta contiene métodos utilizados para obtener datos básicos de configuración necesarios para la integración, como los idiomas disponibles y los procedimientos de la compañía. Normalmente se ejecutan al inicio del flujo para preparar los valores necesarios en la creación y gestión de citas.","createdAt":"2026-06-10T17:13:29.000Z","updatedAt":"2026-06-15T19:12:31.000Z","uid":"45758186-0d6d7ed9-937c-4572-b290-539565d572df"},{"name":"02 - Create Appointments","item":[{"name":"Create Appointment","id":"dde20fb7-b37b-48c0-909c-dc8eee12e3a3","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"apikey","apikey":[{"key":"key","value":"x-jwt-token","type":"string"},{"key":"value","value":"{{token}}","type":"string"}]},"method":"POST","header":[],"body":{"mode":"graphql","graphql":{"query":"mutation createOneOnOneCouncil(\r\n    $council: CouncilInput,\r\n    $participant: ParticipantInput,\r\n    $notifyCreation: Boolean,\r\n    $checkAgenda: Boolean,\r\n    $councilOptions: CouncilOptions    \r\n    )\r\n    {\r\n        createOneOnOneCouncil\r\n            (\r\n            council: $council,\r\n            participant: $participant,\r\n            notifyCreation: $notifyCreation,\r\n            checkAgenda: $checkAgenda,\r\n            councilOptions: $councilOptions\r\n            )\r\n        {\r\n            id\r\n            accessLink\r\n            creatorId\r\n        }\r\n    }","variables":"{\r\n    \"council\": {\r\n        \"name\": \"\",\r\n        \"companyId\": 0,\r\n        \"statuteId\": 0,\r\n        \"councilType\": 5,\r\n        \"externalId\" : \"\",\r\n        \"contactEmail\": \"\",\r\n        \"dateStart\": \"2026-05-19T15:00Z\",\r\n        \"conveneText\": \"\",\r\n        \"observations\": \"\",\r\n        \"internalNotes\": \"\",\r\n        \"language\":\"es\",\r\n        \"comment\": \"\",\r\n        \"readOnly\": 0,\r\n        \"tag\": \"ADMIN\"\r\n    },\r\n    \"participant\": {\r\n        \"name\": \"\",\r\n        \"surname\": \"\",\r\n        \"idCardType\": \"dni\",\r\n        \"dni\" : \"\",\r\n        \"idCardCountry\": \"ES\",\r\n        \"email\": \"\",\r\n        \"phone\": \"+34600000000\",\r\n        \"language\":\"es\",\r\n        \"zipcode\": \"00000\"\r\n    },\r\n    \"notifyCreation\": true,\r\n    \"checkAgenda\": true,\r\n    \"councilOptions\": \r\n    { \r\n        \"notificationType\": 0 \r\n    }    \r\n}"}},"url":{"raw":"{{domain}}/{{endpoint}}","host":["{{domain}}"],"path":["{{endpoint}}"]},"description":"# Create Appointment (`createOneOnOneCouncil`)\n\nEsta mutación permite registrar una nueva cita en la plataforma, vinculando al ciudadano principal y configurando los metadatos de control y taxonomía del encuentro. Al crearse, el sistema genera de forma automática los enlaces de acceso tanto para los agentes como para los asistentes.\n\n### Detalles de la Solicitud\n\n- **Método HTTP:** `POST`\n    \n- **URL PRE:** `https://api.ovac.pre.councilbox.com/graphql`\n    \n- **URL PRO:** `https://api.ovac.pre.councilbox.com/graphql`\n    \n\n### Autenticación\n\n> **Tipo:** API Key  \n**Header:** `x-jwt-token`  \n**Ubicación:** Header HTTP_  \nEjemplo:_ `x-jwt-token: eyJhbGciOiJIUzI1NiIsInR5cCI6...` \n  \n\n## Referencia de la API\n\n### Variables Globales de Entrada\n\n| Parámetro | Descripción | Requerido | Tipo |\n| --- | --- | --- | --- |\n| $notifyCreation | `true`: Envía una notificación automática de confirmación al ciudadano.  <br>`false`: Registra la cita silenciosamente.  <br>Por defecto: `true` | NO | Boolean |\n| $checkAgenda | `true`: Valida la disponibilidad horaria del agente antes de insertar.  <br>`false`: Omite la comprobación y fuerza la inserción. | SI | Boolean |\n| $councilOptions.**notificationType** | Selecciona el método de notificación de la cita/gestión:  <br>`-1`: Sin notificación  <br>`0`: email  <br>`1`: SMS  <br>`2`: WhatsApp  <br>  <br>Si no se selecciona el bloque, se emplea el método por defecto configurado en el trámite. | NO | Integer |\n| $council | Configuración técnica, fechas y taxonomía de la cita (Ver desglose abajo). | SI | Object |\n| $participant | Datos de identidad y contacto del participante (Ver desglose abajo). | SI | Object |\n\n### Desglose del Objeto `council` (`CouncilInput`)\n\n| Parámetro | Descripción | Requerido | Tipo |\n| --- | --- | --- | --- |\n| name | Título o nombre asignado al trámite de la cita. | SI | String |\n| companyId | ID numérico interno de la entidad en la plataforma OVAC. | SI | Integer |\n| statuteId | ID numérico interno del trámite en la plataforma. | SI | Integer |\n| councilType | Canal de atención:  <br>`5` (Videoatención)  <br>`6` (Gestión desatendida)  <br>`7` (Presencial). | SI | Integer |\n| dateStart | Fecha y hora programada en formato UTC bajo el estándar ISO 8601 (YYYY-MM-DDTHH:mmZ). | SI | String |\n| tag | Identificador de origen: \"`ADMIN`\" (gestores)  <br>\"`KIOSK`\" (tótems)  <br>\"`INMEDIATE`\" (urgente)  <br>\"`URGENT`\" (huecos reservados). | SI | String |\n| readOnly | Restricción de edición: `0` (permite modificaciones desde el portal)  <br>`1` (bloqueada, solo vía API). | SI | Integer |\n| language | Idioma base en el que se configurará la cita(ej. \"es\"). Por defecto, se emplea el idioma configurado en la organización.  <br>Consultar método '`Languages`'. | NO | String |\n| contactEmail | Correo electrónico de soporte o contacto de la entidad. Por defecto se usa el parametrizado en la entidad/organización. | NO | String |\n| externalId | Identificador propio o ID único de la cita en el sistema del cliente. | NO | String |\n| conveneText | Texto o cuerpo opcional para la convocatoria de la reunión. | NO | String |\n| observations | Comentarios u observaciones generales de la cita. | NO | String |\n| internalNotes | Notas internas dirigidas al agente (no son visibles por el ciudadano). | NO | String |\n| comment | Comentarios adicionales sobre el registro. | NO | String |\n\n### Desglose del Objeto `participant` (`ParticipantInput`)\n\n| Parámetro | Descripción | Requerido | Tipo |\n| --- | --- | --- | --- |\n| name | Nombre de pila del participante. | SI | String |\n| surname | Apellidos completos del participante. | SI | Integer |\n| idCardType | Tipo de documento de identidad. Valores admitidos: \"`dni`\", \"`nif`\", \"`passport`\", \"`nie`\", \"`codiceFiscale`\" (Identificador Italia), \"`otherIDCards`\" (cualquier documento de identificación), \"`driversLicence`\" (Licencia de conducir EEUU), \"`europeanDocument`\" (documento europeo, solo válido para los documentos de los países de europa) | SI | String |\n| dni | Número del documento de identidad o identificación fiscal. | SI | String |\n| idCardCountry | Código de país del documento en formato ISO 3166-1 alfa-2 (ej. \"ES\"). | SI | String |\n| email | Dirección de correo electrónico donde el ciudadano recibirá las notificaciones. | SI | String |\n| phone | Teléfono móvil de contacto con prefijo internacional (ej. \"+34600000000\"). | SI | String |\n| language | Idioma en el que el ciudadano visualizará la interfaz de OVAC (ej. \"es\"). Por defecto, se obtiene el de la entidad/ogranización.  <br>Consultar método '`Languages`'. | NO | String |\n| zipcode | Código postal de residencia del participante. | NO | String |\n\n### Campos de Respuesta (Payload)\n\nLa respuesta exitosa devuelve el objeto `createOneOnOneCouncil` con los identificadores de acceso seguro:\n\n| Campo | Tipo | Descripción |\n| --- | --- | --- |\n| **`id`** | Array | Identificador interno único de la cita generada en la plataforma OVAC. |\n| **`accessLink`** | String | Enlace único de acceso directo (Tokenizado) para auditar, gestionar o iniciar la cita. |\n| **`creatorId`** | Integer | Identificador único del usuario o API Key que ha dado de alta la cita. |\n\n## Ejemplos de Código y Peticiones\n\n#### 1\\. Mutación GraphQL\n\n``` graphql\nmutation createOneOnOneCouncil(\n    $council: CouncilInput,\n    $participant: ParticipantInput,\n    $notifyCreation: Boolean,\n    $checkAgenda: Boolean,\n    $councilOptions: CouncilOptions    \n    )\n    {\n        createOneOnOneCouncil\n            (\n            council: $council,\n            participant: $participant,\n            notifyCreation: $notifyCreation,\n            checkAgenda: $checkAgenda,\n            councilOptions: $councilOptions\n            )\n        {\n            id\n            accessLink\n            creatorId\n        }\n    }\n\n ```\n\n### 2\\. Variables de la Petición (JSON Payload)\n\n``` json\n{\n    \"council\": {\n        \"name\": \"\",\n        \"companyId\": 0,\n        \"statuteId\": 0,\n        \"councilType\": 5,\n        \"externalId\" : \"\",\n        \"contactEmail\": \"\",\n        \"dateStart\": \"2026-05-19T15:00Z\",\n        \"conveneText\": \"\",\n        \"observations\": \"\",\n        \"internalNotes\": \"\",\n        \"language\":\"es\",\n        \"comment\": \"\",\n        \"readOnly\": 0,\n        \"tag\": \"ADMIN\"\n    },\n    \"participant\": {\n        \"name\": \"\",\n        \"surname\": \"\",\n        \"idCardType\": \"dni\",\n        \"dni\" : \"\",\n        \"idCardCountry\": \"ES\",\n        \"email\": \"\",\n        \"phone\": \"+34600000000\",\n        \"language\":\"es\",\n        \"zipcode\": \"00000\"\n    },\n    \"notifyCreation\": true,\n    \"checkAgenda\": true,\n    \"councilOptions\": \n    { \n        \"notificationType\": 0 \n    }    \n}\n\n ```\n\n### 3\\. Ejemplo de comando cURL\n\n``` bash\ncurl --location --globoff 'https://api.ovac.pre.councilbox.com/graphql' \\\n--header 'Content-Type: application/json' \\\n--header 'x-jwt-token: {{token}}' \\\n--data-raw '{\"query\":\"mutation createOneOnOneCouncil($council: CouncilInput, $participant: ParticipantInput, $representation: ParticipantInput, $notifyCreation: Boolean, $checkAgenda: Boolean, $guests: [ParticipantInput]){ createOneOnOneCouncil(council: $council, participant: $participant, representation: $representation, notifyCreation: $notifyCreation, checkAgenda: $checkAgenda, guests: $guests) { id accessLink creatorId } }\",\"variables\":{\"council\":{\"name\":\"test creación cita\",\"companyId\":2191,\"statuteId\":4685,\"councilType\":5,\"externalId\":\"\",\"contactEmail\":\"\",\"dateStart\":\"2026-05-26T11:00Z\",\"conveneText\":\"\",\"observations\":\"Estas son observaciones\",\"internalNotes\":\"Estas son notas internas\",\"language\":\"gal\",\"comment\":\"Opcional - Información visible mail de creación de cita\",\"readOnly\":0,\"tag\":\"ADMIN\"},\"participant\":{\"name\":\"Name of participant\",\"surname\":\"Surname of participant\",\"idCardType\":\"dni\",\"dni\":\"11111111H\",\"idCardCountry\":\"ES\",\"email\":\"participant_email@domain.com\",\"phone\":\"+34600000000\",\"language\":\"gal\",\"zipcode\":\"00000\"},\"notifyCreation\":true,\"checkAgenda\":true}}'\n\n ```\n\n### 4\\. Respuesta Esperada (200 OK)\n\n``` json\n{\n    \"data\": {\n        \"createOneOnOneCouncil\": {\n            \"id\": 64917,\n            \"accessLink\": \"https://apitest.ovac.pre.councilbox.com/attendance/token/eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJjb3VuY2lsUGFydGljaXBhbnRJZCI6MjQ5MDE2LCJpZCI6MjQ5MDE2LCJpYXQiOjE3NzkzNjE2Njl9.facpLzBhYA-KmDt9j2zMA32gMhyyBzUc47PNlSyFkaA\",\n            \"creatorId\": 3476\n        }\n    }\n}\n\n ```"},"response":[{"id":"5f7c5e73-e623-4735-b9c1-5a7125b4c525","name":"Create Appointment","originalRequest":{"method":"POST","header":[],"body":{"mode":"graphql","graphql":{"query":"mutation createOneOnOneCouncil(\r\n    $council: CouncilInput,\r\n    $participant: ParticipantInput,\r\n    $notifyCreation: Boolean,\r\n    $checkAgenda: Boolean,\r\n    $councilOptions: CouncilOptions    \r\n    )\r\n    {\r\n        createOneOnOneCouncil\r\n            (\r\n            council: $council,\r\n            participant: $participant,\r\n            notifyCreation: $notifyCreation,\r\n            checkAgenda: $checkAgenda,\r\n            councilOptions: $councilOptions\r\n            )\r\n        {\r\n            id\r\n            accessLink\r\n            creatorId\r\n        }\r\n    }","variables":"{\r\n    \"council\": {\r\n        \"name\": \"test creación cita\",\r\n        \"companyId\": 2191,\r\n        \"statuteId\": 4685,\r\n        \"councilType\": 5,\r\n        \"externalId\" : \"\",\r\n        \"contactEmail\": \"\",\r\n        \"dateStart\": \"2026-05-26T11:00Z\",\r\n        \"conveneText\": \"\",\r\n        \"observations\": \"Estas son observaciones\",\r\n        \"internalNotes\": \"Estas son notas internas\",\r\n        \"language\":\"gal\",\r\n        \"comment\": \"Opcional - Información visible mail de creación de cita\",\r\n        \"readOnly\": 0,\r\n        \"tag\": \"ADMIN\"\r\n    },\r\n    \"participant\": {\r\n        \"name\": \"Name of participant\",\r\n        \"surname\": \"Surname of participant\",\r\n        \"idCardType\": \"dni\",\r\n        \"dni\" : \"11111111H\",\r\n        \"idCardCountry\": \"ES\",\r\n        \"email\": \"participant_email@domain.com\",\r\n        \"phone\": \"+34600000000\",\r\n        \"language\":\"gal\",\r\n        \"zipcode\": \"00000\"\r\n    },\r\n    \"notifyCreation\": true,\r\n    \"checkAgenda\": true,\r\n    \"councilOptions\": \r\n    { \r\n        \"notificationType\": 0 \r\n    } \r\n}"}},"url":{"raw":"{{domain}}/{{endpoint}}","host":["{{domain}}"],"path":["{{endpoint}}"]}},"status":"OK","code":200,"_postman_previewlanguage":"Text","header":[{"key":":status","value":200},{"key":"date","value":"Wed, 06 May 2026 10:28:28 GMT"},{"key":"content-type","value":"application/json; charset=utf-8"},{"key":"vary","value":"Accept-Encoding"},{"key":"content-security-policy","value":"default-src 'self';base-uri 'self';font-src 'self' https: data:;form-action 'self';frame-ancestors 'self';img-src 'self' data:;object-src 'none';script-src 'self';script-src-attr 'none';style-src 'self' https: 'unsafe-inline';upgrade-insecure-requests"},{"key":"cross-origin-opener-policy","value":"same-origin"},{"key":"cross-origin-resource-policy","value":"cross-origin"},{"key":"origin-agent-cluster","value":"?1"},{"key":"referrer-policy","value":"no-referrer"},{"key":"strict-transport-security","value":"max-age=31536000; includeSubDomains"},{"key":"x-content-type-options","value":"nosniff"},{"key":"x-dns-prefetch-control","value":"off"},{"key":"x-download-options","value":"noopen"},{"key":"x-frame-options","value":"SAMEORIGIN"},{"key":"x-permitted-cross-domain-policies","value":"none"},{"key":"x-xss-protection","value":"0"},{"key":"access-control-allow-origin","value":"*"},{"key":"etag","value":"W/\"11a-jcAcoao2uFyovmo9AwqaX736QYA\""},{"key":"content-encoding","value":"gzip"},{"key":"access-control-allow-methods","value":"GET,HEAD,PUT,PATCH,POST,DELETE"}],"cookie":[],"responseTime":null,"body":"{\n    \"data\": {\n        \"createOneOnOneCouncil\": {\n            \"id\": 64917,\n            \"accessLink\": \"https://apitest.ovac.pre.councilbox.com/attendance/token/eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJjb3VuY2lsUGFydGljaXBhbnRJZCI6MjQ5MDE2LCJpZCI6MjQ5MDE2LCJpYXQiOjE3NzkzNjE2Njl9.facpLzBhYA-KmDt9j2zMA32gMhyyBzUc47PNlSyFkaA\",\n            \"creatorId\": 3476\n        }\n    }\n}","createdAt":"2026-05-22T09:43:29.000Z","updatedAt":"2026-06-10T10:26:09.000Z","uid":"45758186-5f7c5e73-e623-4735-b9c1-5a7125b4c525"}],"createdAt":"2026-05-22T09:43:29.000Z","updatedAt":"2026-06-17T15:56:59.000Z","uid":"45758186-dde20fb7-b37b-48c0-909c-dc8eee12e3a3"},{"name":"Create Appointment Management","id":"b83b4f4f-04d9-4332-b0ff-b8083c750ef5","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"apikey","apikey":[{"key":"key","value":"x-jwt-token","type":"string"},{"key":"value","value":"{{token}}","type":"string"}]},"method":"POST","header":[],"body":{"mode":"graphql","graphql":{"query":"mutation createOneOnOneCouncil(\r\n    $council: CouncilInput,\r\n    $participant: ParticipantInput,\r\n    $notifyCreation: Boolean,\r\n    $checkAgenda: Boolean,\r\n    $councilOptions: CouncilOptions,\r\n    $agenda: [AgendaPointInput]\r\n    )\r\n    {\r\n        createOneOnOneCouncil\r\n            (\r\n            council: $council,\r\n            participant: $participant,\r\n            notifyCreation: $notifyCreation,\r\n            checkAgenda: $checkAgenda,\r\n            councilOptions: $councilOptions,\r\n            agenda: $agenda\r\n            )\r\n        {\r\n            id\r\n            accessLink\r\n            creatorId\r\n        }\r\n    }","variables":"{\r\n    \"council\": {\r\n        \"name\": \"\",\r\n        \"companyId\": 0,\r\n        \"statuteId\": 0,\r\n        \"councilType\": 6,\r\n        \"externalId\" : \"\",\r\n        \"contactEmail\": \"\",\r\n        \"dateStart\": \"2026-05-19T15:00Z\",\r\n        \"conveneText\": \"\",\r\n        \"observations\": \"\",\r\n        \"internalNotes\": \"\",\r\n        \"language\":\"es\",\r\n        \"comment\": \"\",\r\n        \"readOnly\": 0,\r\n        \"tag\": \"ADMIN\"\r\n    },\r\n    \"participant\": {\r\n        \"name\": \"\",\r\n        \"surname\": \"\",\r\n        \"idCardType\": \"dni\",\r\n        \"dni\" : \"\",\r\n        \"idCardCountry\": \"ES\",\r\n        \"email\": \"\",\r\n        \"phone\": \"+34600000000\",\r\n        \"language\":\"es\",\r\n        \"zipcode\": \"00000\"\r\n    },\r\n    \"agenda\": [{\r\n        \"type\": 9,\r\n        \"name\": \"\"\r\n    }],\r\n    \"notifyCreation\": true,\r\n    \"checkAgenda\": true,\r\n    \"councilOptions\": \r\n        { \r\n        \"notificationType\": 0 \r\n        }\r\n}"}},"url":{"raw":"{{domain}}/{{endpoint}}","host":["{{domain}}"],"path":["{{endpoint}}"]},"description":"# Create Appointment Management (`createOneOnOneCouncil`)\n\nEsta mutación permite registrar una nueva gestión desatendida en la plataforma, vinculando al ciudadano principal y configurando los metadatos de control y taxonomía del encuentro. Al crearse, el sistema genera de forma automática los enlaces de acceso tanto para los agentes como para los asistentes.\n\n### Detalles de la Solicitud\n\n- **Método HTTP:** `POST`\n    \n- **URL PRE:** `https://api.ovac.pre.councilbox.com/graphql`\n    \n- **URL PRO:** `https://api.ovac.pre.councilbox.com/graphql`\n    \n\n### Autenticación\n\n> **Tipo:** API Key  \n**Header:** `x-jwt-token`  \n**Ubicación:** Header HTTP_  \nEjemplo:_ `x-jwt-token: eyJhbGciOiJIUzI1NiIsInR5cCI6...` \n  \n\n## Referencia de la API\n\n### Variables Globales de Entrada\n\n| Parámetro | Descripción | Requerido | Tipo |\n| --- | --- | --- | --- |\n| $notifyCreation | `true`: Envía una notificación automática de confirmación al ciudadano.  <br>`false`: Registra la cita silenciosamente.  <br>Por defecto: `true` | NO | Boolean |\n| $checkAgenda | `true`: Valida la disponibilidad horaria del agente antes de insertar.  <br>`false`: Omite la comprobación y fuerza la inserción. | SI | Boolean |\n| $councilOptions.**notificationType** | Selecciona el método de notificación de la cita/gestión:  <br>`-1`: Sin notificación  <br>`0`: email  <br>`1`: SMS  <br>`2`: WhatsApp  <br>  <br>Si no se selecciona el bloque, se emplea el método por defecto configurado en el trámite. | NO | Integer |\n| $council | Configuración técnica, fechas y taxonomía de la cita (Ver desglose abajo). | SI | Object |\n| $participant | Datos de identidad y contacto del participante (Ver desglose abajo). | SI | Object |\n\n### Desglose del Objeto `council` (`CouncilInput`)\n\n| Parámetro | Descripción | Requerido | Tipo |\n| --- | --- | --- | --- |\n| name | Título o nombre asignado al trámite de la cita. | SI | String |\n| companyId | ID numérico interno de la entidad en la plataforma OVAC. | SI | Integer |\n| statuteId | ID numérico interno del trámite en la plataforma. | SI | Integer |\n| councilType | Canal de atención:  <br>`5` (Videoatención)  <br>`6` (Gestión desatendida)  <br>`7` (Presencial). | SI | Integer |\n| dateStart | Fecha y hora programada en formato UTC bajo el estándar ISO 8601 (YYYY-MM-DDTHH:mmZ). | SI | String |\n| tag | Identificador de origen: \"`ADMIN`\" (gestores)  <br>\"`KIOSK`\" (tótems)  <br>\"`INMEDIATE`\" (urgente)  <br>\"`URGENT`\" (huecos reservados). | SI | String |\n| readOnly | Restricción de edición: `0` (permite modificaciones desde el portal)  <br>`1` (bloqueada, solo vía API). | SI | Integer |\n| language | Idioma base en el que se configurará la cita(ej. \"es\"). Por defecto, se emplea el idioma configurado en la organización.  <br>Consultar método '`Languages`'. | NO | String |\n| contactEmail | Correo electrónico de soporte o contacto de la entidad. Por defecto se usa el parametrizado en la entidad/organización. | NO | String |\n| externalId | Identificador propio o ID único de la cita en el sistema del cliente. | NO | String |\n| conveneText | Texto o cuerpo opcional para la convocatoria de la reunión. | NO | String |\n| observations | Comentarios u observaciones generales de la cita. | NO | String |\n| internalNotes | Notas internas dirigidas al agente (no son visibles por el ciudadano). | NO | String |\n| comment | Comentarios adicionales sobre el registro. | NO | String |\n\n### Desglose del Objeto `participant` (`ParticipantInput`)\n\n| Parámetro | Descripción | Requerido | Tipo |\n| --- | --- | --- | --- |\n| name | Nombre de pila del participante. | SI | String |\n| surname | Apellidos completos del participante. | SI | Integer |\n| idCardType | Tipo de documento de identidad. Valores admitidos: \"`dni`\", \"`nif`\", \"`passport`\", \"`nie`\", \"`codiceFiscale`\" (Identificador Italia), \"`otherIDCards`\" (cualquier documento de identificación), \"`driversLicence`\" (Licencia de conducir EEUU), \"`europeanDocument`\" (documento europeo, solo válido para los documentos de los países de europa) | SI | String |\n| dni | Número del documento de identidad o identificación fiscal. | SI | String |\n| idCardCountry | Código de país del documento en formato ISO 3166-1 alfa-2 (ej. \"ES\"). | SI | String |\n| email | Dirección de correo electrónico donde el ciudadano recibirá las notificaciones. | SI | String |\n| phone | Teléfono móvil de contacto con prefijo internacional (ej. \"+34600000000\"). | SI | String |\n| language | Idioma en el que el ciudadano visualizará la interfaz de OVAC (ej. \"es\"). Por defecto, se obtiene el de la entidad/ogranización.  <br>Consultar método '`Languages`'. | NO | String |\n| zipcode | Código postal de residencia del participante. | NO | String |\n\n### Desglose del Objeto `agenda` (`[AgendaPointInput]`)\n\n| Parámetro | Descripción | Requerido | Tipo |\n| --- | --- | --- | --- |\n| agenda | Objeto de los pasos dentro de la cita | NO | Object |\n| agenda.**type** | Tipo de paso a realizar:  <br>`9`: Consentimiento aceptación/rechazo | SI | Integer |\n| agenda.**name** | Enunciado, título literal o descripción del consentimiento. | NO | String |\n\n### Campos de Respuesta (Payload)\n\nLa respuesta exitosa devuelve el objeto `createOneOnOneCouncil` con los identificadores de acceso seguro:\n\n| Campo | Tipo | Descripción |\n| --- | --- | --- |\n| **`id`** | Array | Identificador interno único de la cita generada en la plataforma OVAC. |\n| **`accessLink`** | String | Enlace único de acceso directo (Tokenizado) para auditar, gestionar o iniciar la cita. |\n| **`creatorId`** | Integer | Identificador único del usuario o API Key que ha dado de alta la cita. |\n\n## Ejemplos de Código y Peticiones\n\n### 1\\. Mutación GraphQL\n\n``` graphql\nmutation createOneOnOneCouncil(\n    $council: CouncilInput,\n    $participant: ParticipantInput,\n    $notifyCreation: Boolean,\n    $checkAgenda: Boolean,\n    $councilOptions: CouncilOptions,\n    $agenda: [AgendaPointInput]\n    )\n    {\n        createOneOnOneCouncil\n            (\n            council: $council,\n            participant: $participant,\n            notifyCreation: $notifyCreation,\n            checkAgenda: $checkAgenda,\n            councilOptions: $councilOptions,\n            agenda: $agenda\n            )\n        {\n            id\n            accessLink\n            creatorId\n        }\n    }\n\n ```\n\n### 2\\. Variables de la Petición (JSON Payload)\n\n``` json\n{\n    \"council\": {\n        \"name\": \"Gestión desatendida con consentimiento\",\n        \"companyId\": 2191,\n        \"statuteId\": 4703,\n        \"councilType\": 6,\n        \"externalId\" : \"\",\n        \"contactEmail\": \"\",\n        \"dateStart\": \"2026-06-09T15:00Z\",\n        \"conveneText\": \"\",\n        \"observations\": \"\",\n        \"internalNotes\": \"\",\n        \"language\":\"es\",\n        \"comment\": \"\",\n        \"readOnly\": 0,\n        \"tag\": \"ADMIN\"\n    },\n    \"participant\": {\n        \"name\": \"Participante\",\n        \"surname\": \"Apellido1 Apellido2\",\n        \"idCardType\": \"dni\",\n        \"dni\" : \"77777777B\",\n        \"idCardCountry\": \"ES\",\n        \"email\": \"alejandro.maneiro@councilbox.com\",\n        \"phone\": \"+34600000000\",\n        \"language\":\"es\",\n        \"zipcode\": \"15883\"\n    },\n    \"agenda\": [{\n        \"type\": 9,\n        \"name\": \"La dirección proporcionada es Calle Nueva, número 7 en Teo, A Coruña CP 15883\"\n    }],\n    \"notifyCreation\": true,\n    \"checkAgenda\": true,\n    \"councilOptions\": \n        { \n        \"notificationType\": 0 \n        }\n}\n\n ```\n\n### 3\\. Ejemplo de comando cURL\n\n``` bash\ncurl --location --globoff 'https://api.ovac.pre.councilbox.com/graphql' \\\n--header 'Content-Type: application/json' \\\n--header 'x-jwt-token: {{token}}' \\\n--data-raw '{\"query\":\"mutation createOneOnOneCouncil($council: CouncilInput, $participant: ParticipantInput, $representation: ParticipantInput, $notifyCreation: Boolean, $checkAgenda: Boolean, $guests: [ParticipantInput]){ createOneOnOneCouncil(council: $council, participant: $participant, representation: $representation, notifyCreation: $notifyCreation, checkAgenda: $checkAgenda, guests: $guests) { id accessLink creatorId } }\",\"variables\":{\"council\":{\"name\":\"test creación cita\",\"companyId\":2191,\"statuteId\":4685,\"councilType\":5,\"externalId\":\"\",\"contactEmail\":\"\",\"dateStart\":\"2026-05-26T11:00Z\",\"conveneText\":\"\",\"observations\":\"Estas son observaciones\",\"internalNotes\":\"Estas son notas internas\",\"language\":\"gal\",\"comment\":\"Opcional - Información visible mail de creación de cita\",\"readOnly\":0,\"tag\":\"ADMIN\"},\"participant\":{\"name\":\"Name of participant\",\"surname\":\"Surname of participant\",\"idCardType\":\"dni\",\"dni\":\"11111111H\",\"idCardCountry\":\"ES\",\"email\":\"participant_email@domain.com\",\"phone\":\"+34600000000\",\"language\":\"gal\",\"zipcode\":\"00000\"},\"notifyCreation\":true,\"checkAgenda\":true}}'\n\n ```\n\n### 4\\. Respuesta Esperada (200 OK)\n\n``` json\n{\n    \"data\": {\n        \"createOneOnOneCouncil\": {\n            \"id\": 64917,\n            \"accessLink\": \"https://apitest.ovac.pre.councilbox.com/attendance/token/eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJjb3VuY2lsUGFydGljaXBhbnRJZCI6MjQ5MDE2LCJpZCI6MjQ5MDE2LCJpYXQiOjE3NzkzNjE2Njl9.facpLzBhYA-KmDt9j2zMA32gMhyyBzUc47PNlSyFkaA\",\n            \"creatorId\": 3476\n        }\n    }\n}\n\n ```"},"response":[{"id":"44e899cf-04d0-46d9-b200-d96d30679df2","name":"Create Appointment Management","originalRequest":{"method":"POST","header":[],"body":{"mode":"graphql","graphql":{"query":"mutation createAppointment(\r\n    $council: CouncilInput,\r\n    $participant: ParticipantInput,\r\n    $notifyCreation: Boolean,\r\n    $checkAgenda: Boolean,\r\n    $councilOptions: CouncilOptions,\r\n    $agenda: [AgendaPointInput]\r\n    )\r\n    {\r\n        createAppointment\r\n            (\r\n            council: $council,\r\n            participant: $participant,\r\n            notifyCreation: $notifyCreation,\r\n            checkAgenda: $checkAgenda,\r\n            councilOptions: $councilOptions,\r\n            agenda: $agenda\r\n            )\r\n        {\r\n            id\r\n            accessLink\r\n            creatorId\r\n        }\r\n    }","variables":"{\r\n    \"council\": {\r\n        \"name\": \"Gestión desatendida con consentimiento\",\r\n        \"companyId\": 2191,\r\n        \"statuteId\": 4703,\r\n        \"councilType\": 6,\r\n        \"externalId\" : \"\",\r\n        \"contactEmail\": \"\",\r\n        \"dateStart\": \"2026-06-09T15:00Z\",\r\n        \"conveneText\": \"\",\r\n        \"observations\": \"\",\r\n        \"internalNotes\": \"\",\r\n        \"language\":\"es\",\r\n        \"comment\": \"\",\r\n        \"readOnly\": 0,\r\n        \"tag\": \"ADMIN\"\r\n    },\r\n    \"participant\": {\r\n        \"name\": \"Participante\",\r\n        \"surname\": \"Apellido1 Apellido2\",\r\n        \"idCardType\": \"dni\",\r\n        \"dni\" : \"77777777B\",\r\n        \"idCardCountry\": \"ES\",\r\n        \"email\": \"alejandro.maneiro@councilbox.com\",\r\n        \"phone\": \"+34600000000\",\r\n        \"language\":\"es\",\r\n        \"zipcode\": \"15883\"\r\n    },\r\n    \"agenda\": [{\r\n        \"type\": 9,\r\n        \"name\": \"La dirección proporcionada es Calle Nueva, número 7 en Teo, A Coruña CP 15883\"\r\n    }],\r\n    \"notifyCreation\": true,\r\n    \"checkAgenda\": true,\r\n    \"councilOptions\": \r\n        { \r\n        \"notificationType\": 0 \r\n        }\r\n}"}},"url":{"raw":"{{domain}}/{{endpoint}}","host":["{{domain}}"],"path":["{{endpoint}}"]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":":status","value":200},{"key":"date","value":"Wed, 10 Jun 2026 07:44:15 GMT"},{"key":"content-type","value":"application/json; charset=utf-8"},{"key":"vary","value":"Accept-Encoding"},{"key":"content-security-policy","value":"default-src 'self';base-uri 'self';font-src 'self' https: data:;form-action 'self';frame-ancestors 'self';img-src 'self' data:;object-src 'none';script-src 'self';script-src-attr 'none';style-src 'self' https: 'unsafe-inline';upgrade-insecure-requests"},{"key":"cross-origin-opener-policy","value":"same-origin"},{"key":"cross-origin-resource-policy","value":"cross-origin"},{"key":"origin-agent-cluster","value":"?1"},{"key":"referrer-policy","value":"no-referrer"},{"key":"strict-transport-security","value":"max-age=31536000; includeSubDomains"},{"key":"x-content-type-options","value":"nosniff"},{"key":"x-dns-prefetch-control","value":"off"},{"key":"x-download-options","value":"noopen"},{"key":"x-frame-options","value":"SAMEORIGIN"},{"key":"x-permitted-cross-domain-policies","value":"none"},{"key":"x-xss-protection","value":"0"},{"key":"access-control-allow-origin","value":"*"},{"key":"etag","value":"W/\"12b-bCyq1mJRQWfUkp4cgcJnOgbqM5U\""},{"key":"content-encoding","value":"gzip"},{"key":"access-control-allow-methods","value":"GET,HEAD,PUT,PATCH,POST,DELETE"}],"cookie":[],"responseTime":null,"body":"{\n    \"data\": {\n        \"createAppointment\": {\n            \"id\": 65181,\n            \"accessLink\": \"https://apitest.ovac.pre.councilbox.com/attendance/token/eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJjb3VuY2lsUGFydGljaXBhbnRJZCI6MjQ5MjkyLCJpZCI6MjQ5MjkyLCJpYXQiOjE3ODEwNzc0NTV9.ifBc5MwyFdFedfun-eMRPvDclpSc26l-J1I-ua8N-3M\",\n            \"creatorId\": 3476\n        }\n    }\n}","createdAt":"2026-06-10T09:23:17.000Z","updatedAt":"2026-06-12T07:34:53.000Z","uid":"45758186-44e899cf-04d0-46d9-b200-d96d30679df2"}],"createdAt":"2026-06-10T09:23:17.000Z","updatedAt":"2026-06-17T15:57:07.000Z","uid":"45758186-b83b4f4f-04d9-4332-b0ff-b8083c750ef5"},{"name":"Create Appointment Representation","id":"4bcf70df-ecf6-47d5-b7a9-87b707263e66","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"apikey","apikey":[{"key":"key","value":"x-jwt-token","type":"string"},{"key":"value","value":"{{token}}","type":"string"}]},"method":"POST","header":[],"body":{"mode":"graphql","graphql":{"query":"mutation createAppointment(\r\n    $council: CouncilInput,\r\n    $participant: ParticipantInput,\r\n    $representation: ParticipantInput,\r\n    $notifyCreation: Boolean,\r\n    $checkAgenda: Boolean,\r\n    $councilOptions: CouncilOptions\r\n    )\r\n    {\r\n        createAppointment\r\n            (\r\n            council: $council,\r\n            participant: $participant,\r\n            representation: $representation,\r\n            notifyCreation: $notifyCreation,\r\n            checkAgenda: $checkAgenda,\r\n            councilOptions: $councilOptions\r\n            )\r\n        {\r\n            id\r\n            accessLink\r\n            creatorId\r\n        }\r\n    }","variables":"{\r\n    \"council\": {\r\n        \"name\": \"\",\r\n        \"companyId\": 0,\r\n        \"statuteId\": 0,\r\n        \"councilType\": 5,\r\n        \"externalId\" : \"\",\r\n        \"contactEmail\": \"\",\r\n        \"dateStart\": \"2026-05-20T15:30Z\",\r\n        \"conveneText\": \"\",\r\n        \"observations\": \"\",\r\n        \"internalNotes\": \"\",\r\n        \"comment\": \"\",\r\n        \"readOnly\": 0,\r\n        \"tag\": \"ADMIN\"\r\n    },\r\n    \"participant\": {\r\n        \"name\": \"\",\r\n        \"surname\": \"\",\r\n        \"idCardType\": \"dni\",\r\n        \"dni\" : \"11111111H\",\r\n        \"idCardCountry\": \"ES\",\r\n        \"email\": \"\",\r\n        \"phone\": \"+34600000000\",\r\n        \"language\":\"es\",\r\n        \"zipcode\": \"00000\"\r\n   },\r\n   \"representation\": {\r\n        \"name\": \"\",\r\n        \"surname\": \"\",\r\n        \"idCardType\": \"dni\",\r\n        \"dni\" : \"22222222H\",\r\n        \"idCardCountry\": \"ES\",\r\n        \"personOrEntity\": 1,\r\n        \"email\": \"\",\r\n        \"phone\": \"+34600000000\",\r\n        \"language\":\"es\",\r\n        \"zipcode\": \"00000\"\r\n    },\r\n    \"notifyCreation\": true,\r\n    \"checkAgenda\": true,\r\n    \"councilOptions\": \r\n        { \r\n        \"notificationType\": 0 \r\n        }\r\n}"}},"url":{"raw":"{{domain}}/{{endpoint}}","host":["{{domain}}"],"path":["{{endpoint}}"]},"description":"# Create Appointment with Representation (`createAppointment`)\n\nEsta variante de la mutación principal se utiliza cuando el ciudadano que asiste a la reunión actúa en calidad de **representante legal, apoderado o tutor** en nombre de una tercera persona física o jurídica (el Representado). Para este flujo, es estrictamente obligatorio incluir y rellenar el bloque de variables `$representation`.\n\n### Detalles de la Solicitud\n\n- **Método HTTP:** `POST`\n    \n- **URL PRE:** `https://api.ovac.pre.councilbox.com/graphql`\n    \n- **URL PRO:** `https://api.ovac.pre.councilbox.com/graphql`\n    \n\n### Autenticación\n\n> **Tipo:** API Key**  \nHeader:** `x-jwt-token`  \n**Ubicación:** Header HTTP_  \nEjemplo:_ `x-jwt-token: eyJhbGciOiJIUzI1NiIsInR5cCI6...` \n  \n\n## Referencia de la API\n\n### Variables Globales de Entrada\n\n| Parámetro | Descripción | Requerido | Tipo |\n| --- | --- | --- | --- |\n| $notifyCreation | `true`: Envía una notificación automática de confirmación al ciudadano.  <br>`false`: Registra la cita silenciosamente.  <br>Por defecto: `true` | NO | Boolean |\n| $checkAgenda | `true`: Valida la disponibilidad horaria del agente antes de insertar.  <br>`false`: Omite la comprobación y fuerza la inserción. | SI | Boolean |\n| $councilOptions.**notificationType** | Selecciona el método de notificación de la cita/gestión:  <br>`-1`: Sin notificación  <br>`0`: email  <br>`1`: SMS  <br>`2`: WhatsApp  <br>  <br>Si no se selecciona el bloque, se emplea el método por defecto configurado en el trámite. | NO | Integer |\n| $council | Configuración técnica, fechas y taxonomía de la cita (Ver desglose abajo). | SI | Object |\n| $participant | Datos de identidad y contacto del participante (Ver desglose abajo). | SI | Object |\n| $representation | Datos del Representado. (Solo se rellena en flujos de representación legal). | NO | Object |\n\n### Desglose del Objeto `council` (`CouncilInput`)\n\n| Parámetro | Descripción | Requerido | Tipo |\n| --- | --- | --- | --- |\n| name | Título o nombre asignado al trámite de la cita. | SI | String |\n| companyId | ID numérico interno de la entidad en la plataforma OVAC. | SI | Integer |\n| statuteId | ID numérico interno del trámite en la plataforma. | SI | Integer |\n| councilType | Canal de atención:  <br>`5` (Videoatención)  <br>`6` (Gestión desatendida)  <br>`7` (Presencial). | SI | Integer |\n| dateStart | Fecha y hora programada en formato UTC bajo el estándar ISO 8601 (YYYY-MM-DDTHH:mmZ). | SI | String |\n| tag | Identificador de origen: \"`ADMIN`\" (gestores)  <br>\"`KIOSK`\" (tótems)  <br>\"`INMEDIATE`\" (urgente)  <br>\"`URGENT`\" (huecos reservados). | SI | String |\n| readOnly | Restricción de edición: `0` (permite modificaciones desde el portal)  <br>`1` (bloqueada, solo vía API). | SI | Integer |\n| language | Idioma base en el que se configurará la cita(ej. \"es\"). Por defecto, se emplea el idioma configurado en la organización.  <br>Consultar método '`Languages`'. | NO | String |\n| contactEmail | Correo electrónico de soporte o contacto de la entidad. Por defecto se usa el parametrizado en la entidad/organización. | NO | String |\n| externalId | Identificador propio o ID único de la cita en el sistema del cliente. | NO | String |\n| conveneText | Texto o cuerpo opcional para la convocatoria de la reunión. | NO | String |\n| observations | Comentarios u observaciones generales de la cita. | NO | String |\n| internalNotes | Notas internas dirigidas al agente (no son visibles por el ciudadano). | NO | String |\n| comment | Comentarios adicionales sobre el registro. | NO | String |\n\n### Desglose del Objeto `participant` (`ParticipantInput` - Representante)\n\n| Parámetro | Descripción | Requerido | Tipo |\n| --- | --- | --- | --- |\n| name | Nombre de pila del participante. | SI | String |\n| surname | Apellidos completos del participante. | SI | Integer |\n| idCardType | Tipo de documento de identidad. Valores admitidos: \"`dni`\", \"`nif`\", \"`passport`\", \"`nie`\", \"`codiceFiscale`\" (Identificador Italia), \"`otherIDCards`\" (cualquier documento de identificación), \"`driversLicence`\" (Licencia de conducir EEUU), \"`europeanDocument`\" (documento europeo, solo válido para los documentos de los países de europa) | SI | String |\n| dni | Número del documento de identidad o identificación fiscal. | SI | String |\n| idCardCountry | Código de país del documento en formato ISO 3166-1 alfa-2 (ej. \"ES\"). | SI | String |\n| email | Dirección de correo electrónico donde el ciudadano recibirá las notificaciones. | SI | String |\n| phone | Teléfono móvil de contacto con prefijo internacional (ej. \"+34600000000\"). | SI | String |\n| language | Idioma en el que el ciudadano visualizará la interfaz de OVAC (ej. \"es\"). Por defecto, se obtiene el de la entidad/ogranización.  <br>Consultar método '`Languages`'. | NO | String |\n| zipcode | Código postal de residencia del participante. | NO | String |\n\n### Desglose del Objeto `representation` (`ParticipantInput` - Representado)\n\n| Parámetro | Descripción | Requerido | Tipo |\n| --- | --- | --- | --- |\n| name | Nombre de pila del participante. | SI | String |\n| surname | Apellidos completos del participante. | SI | Integer |\n| idCardType | Tipo de documento de identidad. Valores admitidos: \"`dni`\", \"`nif`\", \"`passport`\", \"`nie`\", \"`codiceFiscale`\" (Identificador Italia), \"`otherIDCards`\" (cualquier documento de identificación), \"`driversLicence`\" (Licencia de conducir EEUU), \"`europeanDocument`\" (documento europeo, solo válido para los documentos de los países de europa) | SI | String |\n| dni | Número del documento de identidad o identificación fiscal. | SI | String |\n| idCardCountry | Código de país del documento en formato ISO 3166-1 alfa-2 (ej. \"ES\"). | SI | String |\n| personOrEntity | `0` - persona física  <br>`1` - persona jurídica | SI | Integer |\n| email | Dirección de correo electrónico donde el ciudadano recibirá las notificaciones. | SI | String |\n| phone | Teléfono móvil de contacto con prefijo internacional (ej. \"+34600000000\"). | SI | String |\n| language | Idioma en el que el ciudadano visualizará la interfaz de OVAC (ej. \"es\"). Por defecto, se obtiene el de la entidad/ogranización.  <br>Consultar método '`Languages`'. | NO | String |\n| zipcode | Código postal de residencia del participante. | NO | String |\n\n### Campos de Respuesta (Payload)\n\n| Parámetro | Descripción | Tipo |\n| --- | --- | --- |\n| createOneOnOneCouncil | Objeto raíz con los datos de la cita generada. | Object |\n| createOneOnOneCouncil.**id** | Identificador, interno de OVAC, único de la cita generada. | Integer |\n| createOneOnOneCouncil.**accessLink** | Enlace único de acceso directo para auditar la cita. | String |\n| createOneOnOneCouncil.**creatorId** |  |  |\n\n## Ejemplos de Código y Peticiones\n\n### 1\\. Mutación GraphQL\n\n``` graphql\nmutation createAppointment(\n    $council: CouncilInput,\n    $participant: ParticipantInput,\n    $representation: ParticipantInput,\n    $notifyCreation: Boolean,\n    $checkAgenda: Boolean,\n    $councilOptions: CouncilOptions\n    )\n    {\n        createAppointment\n            (\n            council: $council,\n            participant: $participant,\n            representation: $representation,\n            notifyCreation: $notifyCreation,\n            checkAgenda: $checkAgenda,\n            councilOptions: $councilOptions\n            )\n        {\n            id\n            accessLink\n            creatorId\n        }\n    }\n\n ```\n\n### 2\\. Variables de la Petición (JSON Payload)\n\n``` json\n{\n    \"council\": {\n        \"name\": \"test creación cita\",\n        \"companyId\": 2191,\n        \"statuteId\": 4685,\n        \"councilType\": 5,\n        \"externalId\": \"\",\n        \"companyExternalId\": \"\",\n        \"statuteExternalId\": \"\",\n        \"contactEmail\": \"\",\n        \"dateStart\": \"2026-05-23T15:30Z\",\n        \"conveneText\": \"\",\n        \"observations\": \"Estas son observaciones\",\n        \"internalNotes\": \"Estas son notas internas\",\n        \"comment\": \"Opcional - Información visible mail de creación de cita\",\n        \"readOnly\": 0,\n        \"tag\": \"ADMIN\"\n    },\n    \"participant\": {\n        \"name\": \"Name of participant\",\n        \"surname\": \"Surname of participant\",\n        \"idCardType\": \"dni\",\n        \"dni\": \"11111111H\",\n        \"idCardCountry\": \"ES\",\n        \"email\": \"alejandro.maneiro@councilbox.com\",\n        \"phone\": \"+34600000000\",\n        \"language\": \"gal\",\n        \"zipcode\": \"00000\"\n    },\n    \"representation\": {\n        \"name\": \"REPRESENTADO\",\n        \"surname\": \"Surname of participant\",\n        \"idCardType\": \"dni\",\n        \"dni\": \"22222222H\",\n        \"idCardCountry\": \"ES\",\n        \"personOrEntity\": 1,\n        \"email\": \"participant_email+representado@domain.com\",\n        \"phone\": \"+34600000000\",\n        \"language\": \"es\",\n        \"zipcode\": \"00000\"\n    },\n    \"notifyCreation\": true,\n    \"checkAgenda\": true,\n    \"councilOptions\": \n        { \n        \"notificationType\": 0 \n        }\n}\n\n ```\n\n### 3\\. Ejemplo de comando cURL\n\n``` bash\ncurl --location 'https://api.ovac.pre.councilbox.com/graphql' \\\n--header 'Content-Type: application/json' \\\n--header 'x-jwt-token: {{token}}' \\\n--data-raw '{\"query\":\"mutation createAppointment($council: CouncilInput, $participant: ParticipantInput, $representation: ParticipantInput, $notifyCreation: Boolean, $checkAgenda: Boolean, $guests: [ParticipantInput]){ createOneOnOneCouncil(council: $council, participant: $participant, representation: $representation, notifyCreation: $notifyCreation, checkAgenda: $checkAgenda, guests: $guests) { id accessLink creatorId } }\",\"variables\":{\"council\":{\"name\":\"test creación cita\",\"companyId\":2191,\"statuteId\":4685,\"councilType\":5,\"externalId\":\"\",\"companyExternalId\":\"\",\"statuteExternalId\":\"\",\"contactEmail\":\"\",\"dateStart\":\"2026-05-23T15:30Z\",\"conveneText\":\"\",\"observations\":\"Estas son observaciones\",\"internalNotes\":\"Estas son notas internas\",\"comment\":\"Opcional - Información visible mail de creación de cita\",\"readOnly\":0,\"tag\":\"ADMIN\"},\"participant\":{\"name\":\"Name of participant\",\"surname\":\"Surname of participant\",\"idCardType\":\"dni\",\"dni\":\"11111111H\",\"idCardCountry\":\"ES\",\"email\":\"alejandro.maneiro@councilbox.com\",\"phone\":\"+34600000000\",\"language\":\"gal\",\"zipcode\":\"00000\"},\"representation\":{\"name\":\"REPRESENTADO\",\"surname\":\"Surname of participant\",\"idCardType\":\"dni\",\"dni\":\"22222222H\",\"idCardCountry\":\"ES\",\"personOrEntity\":1,\"email\":\"participant_email+representado@domain.com\",\"phone\":\"+34600000000\",\"language\":\"es\",\"zipcode\":\"00000\"},\"notifyCreation\":true,\"checkAgenda\":true}}'\n\n ```\n\n### 4\\. Respuesta Esperada (200 OK)\n\n``` json\n{\n    \"data\": {\n        \"createAppointment\": {\n            \"id\": 64918,\n            \"accessLink\": \"https://apitest.ovac.pre.councilbox.com/attendance/token/eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJjb3VuY2lsUGFydGljaXBhbnRJZCI6MjQ5MDE3LCJpZCI6MjQ5MDE3LCJpYXQiOjE3NzkzNjE5MTR9.xhqWkiqrWZhrzPjPCqvyDjTCfFUB8VaDBX3N7yNO7Ig\",\n            \"creatorId\": 3476\n        }\n    }\n}\n\n ```"},"response":[{"id":"3b48b8b3-b122-45b1-99e6-fbccacd06ad0","name":"Create Appointment Representation","originalRequest":{"method":"POST","header":[],"body":{"mode":"graphql","graphql":{"query":"mutation createAppointment(\r\n    $council: CouncilInput,\r\n    $participant: ParticipantInput,\r\n    $representation: ParticipantInput,\r\n    $notifyCreation: Boolean,\r\n    $checkAgenda: Boolean,\r\n    $councilOptions: CouncilOptions\r\n    )\r\n    {\r\n        createAppointment\r\n            (\r\n            council: $council,\r\n            participant: $participant,\r\n            representation: $representation,\r\n            notifyCreation: $notifyCreation,\r\n            checkAgenda: $checkAgenda,\r\n            councilOptions: $councilOptions\r\n            )\r\n        {\r\n            id\r\n            accessLink\r\n            creatorId\r\n        }\r\n    }","variables":"{\r\n    \"council\": {\r\n        \"name\": \"test creación cita\",\r\n        \"companyId\": 2191,\r\n        \"statuteId\": 4685,\r\n        \"councilType\": 5,\r\n        \"externalId\" : \"\",\r\n        \"contactEmail\": \"\",\r\n        \"dateStart\": \"2026-05-23T15:30Z\",\r\n        \"conveneText\": \"\",\r\n        \"observations\": \"Estas son observaciones\",\r\n        \"internalNotes\": \"Estas son notas internas\",\r\n        \"comment\": \"Opcional - Información visible mail de creación de cita\",\r\n        \"readOnly\": 0,\r\n        \"tag\": \"ADMIN\"\r\n    },\r\n    \"participant\": {\r\n        \"name\": \"Name of participant\",\r\n        \"surname\": \"Surname of participant\",\r\n        \"idCardType\": \"dni\",\r\n        \"dni\" : \"11111111H\",\r\n        \"idCardCountry\": \"ES\",\r\n        \"email\": \"alejandro.maneiro@councilbox.com\",\r\n        \"phone\": \"+34600000000\",\r\n        \"language\":\"gal\",\r\n        \"zipcode\": \"00000\"\r\n   },\r\n   \"representation\": {\r\n        \"name\": \"REPRESENTADO\",\r\n        \"surname\": \"Surname of participant\",\r\n        \"idCardType\": \"dni\",\r\n        \"dni\" : \"22222222H\",\r\n        \"idCardCountry\": \"ES\",\r\n        \"personOrEntity\": 1,\r\n        \"email\": \"participant_email+representado@domain.com\",\r\n        \"phone\": \"+34600000000\",\r\n        \"language\":\"es\",\r\n        \"zipcode\": \"00000\"\r\n    },\r\n    \"notifyCreation\": true,\r\n    \"checkAgenda\": true,\r\n    \"councilOptions\": \r\n        { \r\n        \"notificationType\": 0 \r\n        }\r\n}"}},"url":{"raw":"{{domain}}/{{endpoint}}","host":["{{domain}}"],"path":["{{endpoint}}"]}},"status":"OK","code":200,"_postman_previewlanguage":"Text","header":[],"cookie":[],"responseTime":null,"body":"{\r\n    \"data\": {\r\n        \"createAppointment\": {\r\n            \"id\": 64918,\r\n            \"accessLink\": \"https://apitest.ovac.pre.councilbox.com/attendance/token/eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJjb3VuY2lsUGFydGljaXBhbnRJZCI6MjQ5MDE3LCJpZCI6MjQ5MDE3LCJpYXQiOjE3NzkzNjE5MTR9.xhqWkiqrWZhrzPjPCqvyDjTCfFUB8VaDBX3N7yNO7Ig\",\r\n            \"creatorId\": 3476\r\n        }\r\n    }\r\n}","createdAt":"2026-05-22T09:43:29.000Z","updatedAt":"2026-06-12T07:35:51.000Z","uid":"45758186-3b48b8b3-b122-45b1-99e6-fbccacd06ad0"}],"createdAt":"2026-05-22T09:43:29.000Z","updatedAt":"2026-06-17T15:57:16.000Z","uid":"45758186-4bcf70df-ecf6-47d5-b7a9-87b707263e66"},{"name":"Create Appointment Representation Guests","id":"baa64752-8c55-4bd4-a35c-239ec5e4baea","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"apikey","apikey":[{"key":"key","value":"x-jwt-token","type":"string"},{"key":"value","value":"{{token}}","type":"string"}]},"method":"POST","header":[],"body":{"mode":"graphql","graphql":{"query":"mutation createAppointment(\r\n    $council: CouncilInput,\r\n    $participant: ParticipantInput,\r\n    $representation: ParticipantInput,\r\n    $notifyCreation: Boolean,\r\n    $checkAgenda: Boolean,\r\n    $guests: [ParticipantInput],\r\n    $councilOptions: CouncilOptions\r\n    )\r\n    {\r\n        createAppointment\r\n            (\r\n            council: $council,\r\n            participant: $participant,\r\n            representation: $representation,\r\n            notifyCreation: $notifyCreation,\r\n            checkAgenda: $checkAgenda,\r\n            guests: $guests,\r\n            councilOptions: $councilOptions\r\n            )\r\n        {\r\n            id\r\n            accessLink\r\n            creatorId\r\n        }\r\n    }","variables":"{\r\n    \"council\": {\r\n        \"name\": \"\",\r\n        \"companyId\": 0,\r\n        \"statuteId\": 0,\r\n        \"councilType\": 5,\r\n        \"externalId\" : \"\",\r\n        \"contactEmail\": \"\",\r\n        \"dateStart\": \"2026-05-20T09:30Z\",\r\n        \"conveneText\": \"\",\r\n        \"observations\": \"\",\r\n        \"internalNotes\": \"E\",\r\n        \"comment\": \"\",\r\n        \"readOnly\": 0,\r\n        \"tag\": \"ADMIN\"\r\n    },\r\n    \"participant\": {\r\n        \"name\": \"\",\r\n        \"surname\": \"\",\r\n        \"idCardType\": \"dni\",\r\n        \"dni\" : \"11111111H\",\r\n        \"idCardCountry\": \"ES\",\r\n        \"email\": \"\",\r\n        \"phone\": \"+34600000000\",\r\n        \"language\":\"es\",\r\n        \"zipcode\": \"00000\"\r\n   },\r\n    \"guests\": [{\r\n        \"name\": \"\",\r\n        \"surname\": \"\",\r\n        \"idCardType\": \"passport\",\r\n        \"dni\" : \"00000000\",\r\n        \"idCardCountry\": \"ES\",\r\n        \"type\": 2,\r\n        \"email\": \"\",\r\n        \"phone\": \"+34600000000\",\r\n        \"language\":\"es\",\r\n        \"zipcode\": \"00000\",\r\n        \"representedParticipant\": {\r\n            \"name\": \"\",\r\n            \"surname\": \"\",\r\n            \"idCardType\": \"passport\",\r\n            \"dni\" : \"111111\",\r\n            \"idCardCountry\": \"ES\",\r\n            \"type\": 3,\r\n            \"email\": \"\",\r\n            \"phone\": \"+34600000000\",\r\n            \"language\":\"es\",\r\n            \"zipcode\": \"00000\"\r\n        }\r\n    }],\r\n    \"notifyCreation\": true,\r\n    \"checkAgenda\": true,\r\n    \"councilOptions\": \r\n        { \r\n        \"notificationType\": 0 \r\n        }\r\n}"}},"url":{"raw":"{{domain}}/{{endpoint}}","host":["{{domain}}"],"path":["{{endpoint}}"]},"description":"# Create Appointment with Guest Representation (`createAppointment`)\n\nEsta variante avanzada de la mutación permite registrar una cita modelando escenarios complejos en una única petición. Es ideal para flujos donde el participante principal asiste con acompañantes o invitados adicionales (`guests`), y donde alguno de estos últimos actúa como representante legal de un tercero a través del subbloque anidado `representedParticipant`.\n\n### Detalles de la Solicitud\n\n- **Método HTTP:** `POST`\n    \n- **URL PRE:** `https://api.ovac.pre.councilbox.com/graphql`\n    \n- **URL PRO:** `https://api.ovac.pre.councilbox.com/graphql`\n    \n\n### Autenticación\n\n> **Tipo:** API Key**  \nHeader:** `x-jwt-token`  \n**Ubicación:** Header HTTP_  \nEjemplo:_ `x-jwt-token: eyJhbGciOiJIUzI1NiIsInR5cCI6...` \n  \n\n## Mapeo de roles (`type`)\n\nEn los bloques de asistentes (`guests` y `representedParticipant`), se utiliza el campo numérico `type` para dictaminar el rol funcional de cada usuario dentro del encuentro:\n\n- **`0`** → Participante sencillo\n    \n- **`1`** → Invitado\n    \n- **`2`** → Representante\n    \n- **`3`** → Representado\n    \n\n## Referencia de la API\n\n### Variables globales de entrada\n\n| Parámetro | Descripción | Requerido | Tipo |\n| --- | --- | --- | --- |\n| $notifyCreation | `true`: Envía una notificación automática de confirmación al ciudadano.  <br>`false`: Registra la cita silenciosamente.  <br>Por defecto: `true` | NO | Boolean |\n| $checkAgenda | `true`: Valida la disponibilidad horaria del agente antes de insertar.  <br>`false`: Omite la comprobación y fuerza la inserción. | SI | Boolean |\n| $councilOptions.**notificationType** | Selecciona el método de notificación de la cita/gestión:  <br>`-1`: Sin notificación  <br>`0`: email  <br>`1`: SMS  <br>`2`: WhatsApp  <br>  <br>Si no se selecciona el bloque, se emplea el método por defecto configurado en el trámite. | NO | Integer |\n| $council | Configuración técnica, fechas y taxonomía de la cita (Ver desglose abajo). | SI | Object |\n| $participant | Datos de identidad y contacto del participante (Ver desglose abajo). | SI | Object |\n| $representation | Datos del Representado. (Solo se rellena en flujos de representación legal). | NO | Object |\n| $guests | Lista de participantes invitados adicionales (\\[ParticipantInput\\]). | NO | Array |\n\n### Desglose del objeto `council` (`CouncilInput`)\n\n| Parámetro | Descripción | Requerido | Tipo |\n| --- | --- | --- | --- |\n| name | Título o nombre asignado al trámite de la cita. | SI | String |\n| companyId | ID numérico interno de la entidad en la plataforma OVAC. | SI | Integer |\n| statuteId | ID numérico interno del trámite en la plataforma. | SI | Integer |\n| councilType | Canal de atención:  <br>`5` (Videoatención)  <br>`6` (Gestión desatendida)  <br>`7` (Presencial). | SI | Integer |\n| dateStart | Fecha y hora programada en formato UTC bajo el estándar ISO 8601 (YYYY-MM-DDTHH:mmZ). | SI | String |\n| tag | Identificador de origen: \"`ADMIN`\" (gestores)  <br>\"`KIOSK`\" (tótems)  <br>\"`INMEDIATE`\" (urgente)  <br>\"`URGENT`\" (huecos reservados). | SI | String |\n| readOnly | Restricción de edición: `0` (permite modificaciones desde el portal)  <br>`1` (bloqueada, solo vía API). | SI | Integer |\n| language | Idioma base en el que se configurará la cita(ej. \"es\"). Por defecto, se emplea el idioma configurado en la organización.  <br>Consultar método '`Languages`'. | NO | String |\n| contactEmail | Correo electrónico de soporte o contacto de la entidad. Por defecto se usa el parametrizado en la entidad/organización. | NO | String |\n| externalId | Identificador propio o ID único de la cita en el sistema del cliente. | NO | String |\n| conveneText | Texto o cuerpo opcional para la convocatoria de la reunión. | NO | String |\n| observations | Comentarios u observaciones generales de la cita. | NO | String |\n| internalNotes | Notas internas dirigidas al agente (no son visibles por el ciudadano). | NO | String |\n| comment | Comentarios adicionales sobre el registro. | NO | String |\n\n### Desglose del objeto `participant` (`ParticipantInput` - Principal)\n\n| Parámetro | Descripción | Requerido | Tipo |\n| --- | --- | --- | --- |\n| name | Nombre de pila del participante. | SI | String |\n| surname | Apellidos completos del participante. | SI | Integer |\n| idCardType | Tipo de documento de identidad. Valores admitidos: \"`dni`\", \"`nif`\", \"`passport`\", \"`nie`\", \"`codiceFiscale`\" (Identificador Italia), \"`otherIDCards`\" (cualquier documento de identificación), \"`driversLicence`\" (Licencia de conducir EEUU), \"`europeanDocument`\" (documento europeo, solo válido para los documentos de los países de europa) | SI | String |\n| dni | Número del documento de identidad o identificación fiscal. | SI | String |\n| idCardCountry | Código de país del documento en formato ISO 3166-1 alfa-2 (ej. \"ES\"). | SI | String |\n| email | Dirección de correo electrónico donde el ciudadano recibirá las notificaciones. | SI | String |\n| phone | Teléfono móvil de contacto con prefijo internacional (ej. \"+34600000000\"). | SI | String |\n| language | Idioma en el que el ciudadano visualizará la interfaz de OVAC (ej. \"es\"). Por defecto, se obtiene el de la entidad/ogranización.  <br>Consultar método '`Languages`'. | NO | String |\n| zipcode | Código postal de residencia del participante. | NO | String |\n\n### Desglose de objetos dentro del Array `guests` (`[ParticipantInput]`)\n\nCada elemento del listado de invitados comparte la estructura base de `ParticipantInput` pero añade capacidades de tipado dinámico y anidación:\n\n| Parámetro | Descripción | Requerido | Tipo |\n| --- | --- | --- | --- |\n| name | Nombre de pila del participante. | SI | String |\n| surname | Apellidos completos del participante. | SI | Integer |\n| idCardType | Tipo de documento de identidad. Valores admitidos: \"`dni`\", \"`nif`\", \"`passport`\", \"`nie`\", \"`codiceFiscale`\" (Identificador Italia), \"`otherIDCards`\" (cualquier documento de identificación), \"`driversLicence`\" (Licencia de conducir EEUU), \"`europeanDocument`\" (documento europeo, solo válido para los documentos de los países de europa) | SI | String |\n| dni | Número del documento de identidad o identificación fiscal. | SI | String |\n| idCardCountry | Código de país del documento en formato ISO 3166-1 alfa-2 (ej. \"ES\"). | SI | String |\n| type | `0` → Participante sencillo  <br>`1` → Invitado  <br>`2` → Representante  <br>`3` -> Representado | SI | Integer |\n| email | Dirección de correo electrónico donde el ciudadano recibirá las notificaciones. | SI | String |\n| phone | Teléfono móvil de contacto con prefijo internacional (ej. \"+34600000000\"). | SI | String |\n| language | Idioma en el que el ciudadano visualizará la interfaz de OVAC (ej. \"es\"). Por defecto, se obtiene el de la entidad/ogranización.  <br>Consultar método '`Languages`'. | NO | String |\n| zipcode | Código postal de residencia del participante. | NO | String |\n| representedParticipant | Subbloque opcional. Contiene los datos de la persona física o jurídica a la que el invitado representa. | NO | Object |\n\n### Desglose de objetos dentro del Array `guests` (`[representedParticipant]`)\n\n| Parámetro | Descripción | Requerido | Tipo |\n| --- | --- | --- | --- |\n| name | Nombre de pila del participante. | SI | String |\n| surname | Apellidos completos del participante. | SI | Integer |\n| idCardType | Tipo de documento de identidad. Valores admitidos: \"`dni`\", \"`nif`\", \"`passport`\", \"`nie`\", \"`codiceFiscale`\" (Identificador Italia), \"`otherIDCards`\" (cualquier documento de identificación), \"`driversLicence`\" (Licencia de conducir EEUU), \"`europeanDocument`\" (documento europeo, solo válido para los documentos de los países de europa) | SI | String |\n| dni | Número del documento de identidad o identificación fiscal. | SI | String |\n| idCardCountry | Código de país del documento en formato ISO 3166-1 alfa-2 (ej. \"ES\"). | SI | String |\n| type | `0` → Participante sencillo  <br>`1` → Invitado  <br>`2` → Representante  <br>`3` -> Representado | SI | Integer |\n| email | Dirección de correo electrónico donde el ciudadano recibirá las notificaciones. | SI | String |\n| phone | Teléfono móvil de contacto con prefijo internacional (ej. \"+34600000000\"). | SI | String |\n| language | Idioma en el que el ciudadano visualizará la interfaz de OVAC (ej. \"es\"). Por defecto, se obtiene el de la entidad/ogranización.  <br>Consultar método '`Languages`'. | NO | String |\n| zipcode | Código postal de residencia del participante. | NO | String |\n\n### Campos de Respuesta (Payload)\n\n| Parámetro | Descripción | Tipo |\n| --- | --- | --- |\n| createOneOnOneCouncil | Objeto raíz con los datos de la cita generada. | Object |\n| createOneOnOneCouncil.**id** | Identificador, interno de OVAC, único de la cita generada. | Integer |\n| createOneOnOneCouncil.**accessLink** | Enlace único de acceso directo para auditar la cita. | String |\n| createOneOnOneCouncil.**creatorId** | Identificador, interno de OVAC, único del usuario que ha creado la cita. | Integer |\n\n## Ejemplos de Código y Peticiones\n\n### 1\\. Mutación GraphQL\n\n``` graphql\nmutation createAppointment(\n    $council: CouncilInput,\n    $participant: ParticipantInput,\n    $representation: ParticipantInput,\n    $notifyCreation: Boolean,\n    $checkAgenda: Boolean,\n    $guests: [ParticipantInput],\n    $councilOptions: CouncilOptions\n    )\n    {\n        createAppointment\n            (\n            council: $council,\n            participant: $participant,\n            representation: $representation,\n            notifyCreation: $notifyCreation,\n            checkAgenda: $checkAgenda,\n            guests: $guests,\n            councilOptions: $councilOptions\n            )\n        {\n            id\n            accessLink\n            creatorId\n        }\n    }\n\n ```\n\n### 2\\. Variables de la Petición (JSON Payload con Anidación)\n\n``` json\n{\n    \"council\": {\n        \"name\": \"test creación cita\",\n        \"companyId\": 2191,\n        \"statuteId\": 4685,\n        \"councilType\": 5,\n        \"externalId\" : \"\",\n        \"contactEmail\": \"\",\n        \"dateStart\": \"2026-05-22T09:30Z\",\n        \"conveneText\": \"\",\n        \"observations\": \"Estas son observaciones\",\n        \"internalNotes\": \"Estas son notas internas\",\n        \"comment\": \"Opcional - Información visible mail de creación de cita\",\n        \"readOnly\": 0,\n        \"tag\": \"ADMIN\"\n    },\n    \"participant\": {\n        \"name\": \"Name of participant\",\n        \"surname\": \"Surname of participant\",\n        \"idCardType\": \"dni\",\n        \"dni\" : \"11111111H\",\n        \"idCardCountry\": \"ES\",\n        \"email\": \"participant_email@domain.com\",\n        \"phone\": \"+34600000000\",\n        \"language\":\"es\",\n        \"zipcode\": \"00000\"\n   },\n    \"guests\": [{\n        \"name\": \"Name of participant\",\n        \"surname\": \"Surname of participant\",\n        \"idCardType\": \"passport\",\n        \"dni\" : \"fake_passport_2\",\n        \"idCardCountry\": \"ES\",\n        \"type\": 2,\n        \"email\": \"participant_email+2@domain.com\",\n        \"phone\": \"+34600000000\",\n        \"language\":\"es\",\n        \"zipcode\": \"00000\",\n        \"representedParticipant\": {\n            \"name\": \"Name of participant\",\n            \"surname\": \"Surname of participant\",\n            \"idCardType\": \"passport\",\n            \"dni\" : \"fake_passport_3\",\n            \"idCardCountry\": \"ES\",\n            \"type\": 3,\n            \"email\": \"representedParticipant_1+@domain.com\",\n            \"phone\": \"+34600000000\",\n            \"language\":\"es\",\n            \"zipcode\": \"00000\"\n        }\n    }],\n    \"notifyCreation\": true,\n    \"checkAgenda\": true,\n    \"councilOptions\": \n        { \n        \"notificationType\": 0 \n        }\n}\n\n ```\n\n### 3\\. Ejemplo de comando cURL\n\n``` bash\ncurl --location --globoff 'https://api.ovac.pre.councilbox.com/graphql' \\\n--header 'Content-Type: application/json' \\\n--header 'x-jwt-token: {{token}}' \\\n--data-raw '{\"query\":\"mutation createAppointment($council: CouncilInput, $participant: ParticipantInput, $representation: ParticipantInput, $notifyCreation: Boolean, $checkAgenda: Boolean, $guests: [ParticipantInput]){ createOneOnOneCouncil(council: $council, participant: $participant, representation: $representation, notifyCreation: $notifyCreation, checkAgenda: $checkAgenda, guests: $guests) { id accessLink creatorId } }\",\"variables\":{\"council\":{\"name\":\"test creación cita\",\"companyId\":2191,\"statuteId\":4685,\"councilType\":5,\"externalId\":\"\",\"companyExternalId\":\"\",\"statuteExternalId\":\"\",\"contactEmail\":\"\",\"dateStart\":\"2026-05-22T09:30Z\",\"conveneText\":\"\",\"observations\":\"Estas son observaciones\",\"internalNotes\":\"Estas son notas internas\",\"comment\":\"Opcional - Información visible mail de creación de cita\",\"readOnly\":0,\"tag\":\"ADMIN\"},\"participant\":{\"name\":\"Name of participant\",\"surname\":\"Surname of participant\",\"idCardType\":\"dni\",\"dni\":\"11111111H\",\"idCardCountry\":\"ES\",\"email\":\"participant_email@domain.com\",\"phone\":\"+34600000000\",\"language\":\"es\",\"zipcode\":\"00000\"},\"guests\":[{\"name\":\"Name of participant\",\"surname\":\"Surname of participant\",\"idCardType\":\"passport\",\"dni\":\"fake_passport_2\",\"idCardCountry\":\"ES\",\"type\":2,\"email\":\"participant_email+2@domain.com\",\"phone\":\"+34600000000\",\"language\":\"es\",\"zipcode\":\"00000\",\"representedParticipant\":{\"name\":\"Name of participant\",\"surname\":\"Surname of participant\",\"idCardType\":\"passport\",\"dni\":\"fake_passport_3\",\"idCardCountry\":\"ES\",\"type\":3,\"email\":\"representedParticipant_1+@domain.com\",\"phone\":\"+34600000000\",\"language\":\"es\",\"zipcode\":\"00000\"}}],\"notifyCreation\":true,\"checkAgenda\":true}}'\n\n ```\n\n### 4\\. Respuesta Esperada (200 OK)\n\n``` json\n{\n    \"data\": {\n        \"createAppointment\": {\n            \"id\": 64919,\n            \"accessLink\": \"https://apitest.ovac.pre.councilbox.com/attendance/token/eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJjb3VuY2lsUGFydGljaXBhbnRJZCI6MjQ5MDE5LCJpZCI6MjQ5MDE5LCJpYXQiOjE3NzkzNjQ0MTZ9.AeUze049RfMUrY3SzgcAF9O7dfCrylpGPf1kpFK2FLU\",\n            \"creatorId\": 3476\n        }\n    }\n}\n\n ```"},"response":[{"id":"ee473086-fbe7-47b8-b3de-4349d92cd95c","name":"Create Appointment Representation Guests","originalRequest":{"method":"POST","header":[],"body":{"mode":"graphql","graphql":{"query":"mutation createAppointment(\r\n    $council: CouncilInput,\r\n    $participant: ParticipantInput,\r\n    $representation: ParticipantInput,\r\n    $notifyCreation: Boolean,\r\n    $checkAgenda: Boolean,\r\n    $guests: [ParticipantInput],\r\n    $councilOptions: CouncilOptions\r\n    )\r\n    {\r\n        createAppointment\r\n            (\r\n            council: $council,\r\n            participant: $participant,\r\n            representation: $representation,\r\n            notifyCreation: $notifyCreation,\r\n            checkAgenda: $checkAgenda,\r\n            guests: $guests,\r\n            councilOptions: $councilOptions\r\n            )\r\n        {\r\n            id\r\n            accessLink\r\n            creatorId\r\n        }\r\n    }","variables":"{\r\n    \"council\": {\r\n        \"name\": \"test creación cita\",\r\n        \"companyId\": 2191,\r\n        \"statuteId\": 4685,\r\n        \"councilType\": 5,\r\n        \"externalId\" : \"\",\r\n        \"contactEmail\": \"\",\r\n        \"dateStart\": \"2026-05-22T09:30Z\",\r\n        \"conveneText\": \"\",\r\n        \"observations\": \"Estas son observaciones\",\r\n        \"internalNotes\": \"Estas son notas internas\",\r\n        \"comment\": \"Opcional - Información visible mail de creación de cita\",\r\n        \"readOnly\": 0,\r\n        \"tag\": \"ADMIN\"\r\n    },\r\n    \"participant\": {\r\n        \"name\": \"Name of participant\",\r\n        \"surname\": \"Surname of participant\",\r\n        \"idCardType\": \"dni\",\r\n        \"dni\" : \"11111111H\",\r\n        \"idCardCountry\": \"ES\",\r\n        \"email\": \"participant_email@domain.com\",\r\n        \"phone\": \"+34600000000\",\r\n        \"language\":\"es\",\r\n        \"zipcode\": \"00000\"\r\n   },\r\n    \"guests\": [{\r\n        \"name\": \"Name of participant\",\r\n        \"surname\": \"Surname of participant\",\r\n        \"idCardType\": \"passport\",\r\n        \"dni\" : \"fake_passport_2\",\r\n        \"idCardCountry\": \"ES\",\r\n        \"type\": 2,\r\n        \"email\": \"participant_email+2@domain.com\",\r\n        \"phone\": \"+34600000000\",\r\n        \"language\":\"es\",\r\n        \"zipcode\": \"00000\",\r\n        \"representedParticipant\": {\r\n            \"name\": \"Name of participant\",\r\n            \"surname\": \"Surname of participant\",\r\n            \"idCardType\": \"passport\",\r\n            \"dni\" : \"fake_passport_3\",\r\n            \"idCardCountry\": \"ES\",\r\n            \"type\": 3,\r\n            \"email\": \"representedParticipant_1+@domain.com\",\r\n            \"phone\": \"+34600000000\",\r\n            \"language\":\"es\",\r\n            \"zipcode\": \"00000\"\r\n        }\r\n    }],\r\n    \"notifyCreation\": true,\r\n    \"checkAgenda\": true,\r\n    \"councilOptions\": \r\n        { \r\n        \"notificationType\": 0 \r\n        }\r\n}"}},"url":{"raw":"{{domain}}/{{endpoint}}","host":["{{domain}}"],"path":["{{endpoint}}"]}},"_postman_previewlanguage":"Text","header":[],"cookie":[],"responseTime":null,"body":"{\r\n    \"data\": {\r\n        \"createAppointment\": {\r\n            \"id\": 64919,\r\n            \"accessLink\": \"https://apitest.ovac.pre.councilbox.com/attendance/token/eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJjb3VuY2lsUGFydGljaXBhbnRJZCI6MjQ5MDE5LCJpZCI6MjQ5MDE5LCJpYXQiOjE3NzkzNjQ0MTZ9.AeUze049RfMUrY3SzgcAF9O7dfCrylpGPf1kpFK2FLU\",\r\n            \"creatorId\": 3476\r\n        }\r\n    }\r\n}","createdAt":"2026-05-22T09:43:29.000Z","updatedAt":"2026-06-12T07:37:13.000Z","uid":"45758186-ee473086-fbe7-47b8-b3de-4349d92cd95c"}],"createdAt":"2026-05-22T09:43:29.000Z","updatedAt":"2026-06-17T15:57:23.000Z","uid":"45758186-baa64752-8c55-4bd4-a35c-239ec5e4baea"},{"name":"Create Appointment_External","id":"f3954e50-5075-492e-8724-5db036142dd1","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"apikey","apikey":[{"key":"key","value":"x-jwt-token","type":"string"},{"key":"value","value":"{{token}}","type":"string"}]},"method":"POST","header":[],"body":{"mode":"graphql","graphql":{"query":"mutation createOneOnOneCouncil(\r\n    $council: CouncilInput,\r\n    $participant: ParticipantInput,\r\n    $notifyCreation: Boolean,\r\n    $checkAgenda: Boolean,\r\n    $councilOptions: CouncilOptions\r\n    )\r\n    {\r\n        createOneOnOneCouncil\r\n            (\r\n            council: $council,\r\n            participant: $participant,\r\n            notifyCreation: $notifyCreation,\r\n            checkAgenda: $checkAgenda,\r\n            councilOptions: $councilOptions\r\n            )\r\n        {\r\n            id\r\n            accessLink\r\n            creatorId\r\n        }\r\n    }","variables":"{\r\n    \"council\": {\r\n        \"name\": \"\",\r\n        \"companyExternalId\": \"\",\r\n        \"statuteExternalId\": \"\",\r\n        \"councilType\": 5,\r\n        \"externalId\" : \"\",\r\n        \"contactEmail\": \"\",\r\n        \"dateStart\": \"2026-05-19T15:00Z\",\r\n        \"conveneText\": \"\",\r\n        \"observations\": \"\",\r\n        \"internalNotes\": \"\",\r\n        \"language\":\"es\",\r\n        \"comment\": \"\",\r\n        \"readOnly\": 0,\r\n        \"tag\": \"ADMIN\"\r\n    },\r\n    \"participant\": {\r\n        \"name\": \"\",\r\n        \"surname\": \"\",\r\n        \"idCardType\": \"dni\",\r\n        \"dni\" : \"\",\r\n        \"idCardCountry\": \"ES\",\r\n        \"email\": \"\",\r\n        \"phone\": \"+34600000000\",\r\n        \"language\":\"es\",\r\n        \"zipcode\": \"00000\"\r\n    },\r\n    \"notifyCreation\": true,\r\n    \"checkAgenda\": true,\r\n    \"councilOptions\": \r\n    { \r\n        \"notificationType\": 0 \r\n    }  \r\n}"}},"url":{"raw":"{{domain}}/{{endpoint}}","host":["{{domain}}"],"path":["{{endpoint}}"]},"description":"# Create Appointment (External ID Variant) (`createOneOnOneCouncil`)\n\nEsta variante de la mutación de registro permite agendar y dar de alta una nueva cita en la plataforma vinculando la taxonomía del encuentro directamente a través de los identificadores e integraciones del sistema del cliente (`companyExternalId` y `statuteExternalId`), evitando depender de los IDs internos de la plataforma. Admite de manera nativa y opcional flujos avanzados con invitados o representación legal.\n\n### Detalles de la Solicitud\n\n- **Método HTTP:** `POST`\n    \n- **URL PRE:** `https://api.ovac.pre.councilbox.com/graphql`\n    \n- **URL PRO:** `https://api.ovac.pre.councilbox.com/graphql`\n    \n\n### Autenticación\n\n> **Tipo:** API Key**  \nHeader:** `x-jwt-token`  \n**Ubicación:** Header HTTP_  \nEjemplo:_ `x-jwt-token: eyJhbGciOiJIUzI1NiIsInR5cCI6...` \n  \n\n## Referencia de la API\n\n### Variables Globales de Entrada\n\n| Parámetro | Descripción | Requerido | Tipo |\n| --- | --- | --- | --- |\n| $notifyCreation | `true`: Envía una notificación automática de confirmación al ciudadano.  <br>`false`: Registra la cita silenciosamente.  <br>Por defecto: `true` | NO | Boolean |\n| $checkAgenda | `true`: Valida la disponibilidad horaria del agente antes de insertar.  <br>`false`: Omite la comprobación y fuerza la inserción. | SI | Boolean |\n| $councilOptions.**notificationType** | Selecciona el método de notificación de la cita/gestión:  <br>`-1`: Sin notificación  <br>`0`: email  <br>`1`: SMS  <br>`2`: WhatsApp  <br>  <br>Si no se selecciona el bloque, se emplea el método por defecto configurado en el trámite. | NO | Integer |\n| $council | Configuración técnica, fechas y taxonomía de la cita (Ver desglose abajo). | SI | Object |\n| $participant | Datos de identidad y contacto del participante (Ver desglose abajo). | SI | Object |\n| $representation | Datos del Representado. (Solo se rellena en flujos de representación legal). | NO | Object |\n| $guests | Lista de participantes invitados adicionales (\\[ParticipantInput\\]). | NO | Array |\n\n### Desglose del Objeto `council` (`CouncilInput`)\n\n| Parámetro | Descripción | Requerido | Tipo |\n| --- | --- | --- | --- |\n| name | Título o nombre asignado al trámite de la cita. | SI | String |\n| companyExternalId | ID externo de la entidad. No es necesario si se envía companyId. | SI | Integer |\n| statuteExternalId | ID externo del trámite. No es necesario si se envía statuteId. | SI | Integer |\n| councilType | Canal de atención:  <br>`5` (Videoatención)  <br>`6` (Gestión desatendida)  <br>`7` (Presencial). | SI | Integer |\n| dateStart | Fecha y hora programada en formato UTC bajo el estándar ISO 8601 (YYYY-MM-DDTHH:mmZ). | SI | String |\n| tag | Identificador de origen: \"`ADMIN`\" (gestores)  <br>\"`KIOSK`\" (tótems)  <br>\"`INMEDIATE`\" (urgente)  <br>\"`URGENT`\" (huecos reservados). | SI | String |\n| readOnly | Restricción de edición: `0` (permite modificaciones desde el portal)  <br>`1` (bloqueada, solo vía API). | SI | Integer |\n| language | Idioma base en el que se configurará la cita(ej. \"es\"). Por defecto, se emplea el idioma configurado en la organización.  <br>Consultar método '`Languages`'. | NO | String |\n| contactEmail | Correo electrónico de soporte o contacto de la entidad. Por defecto se usa el parametrizado en la entidad/organización. | NO | String |\n| externalId | Identificador propio o ID único de la cita en el sistema del cliente. | NO | String |\n| conveneText | Texto o cuerpo opcional para la convocatoria de la reunión. | NO | String |\n| observations | Comentarios u observaciones generales de la cita. | NO | String |\n| internalNotes | Notas internas dirigidas al agente (no son visibles por el ciudadano). | NO | String |\n| comment | Comentarios adicionales sobre el registro. | NO | String |\n\n### Desglose del Objeto `participant` (`ParticipantInput`)\n\n| Parámetro | Descripción | Requerido | Tipo |\n| --- | --- | --- | --- |\n| name | Nombre de pila del participante. | SI | String |\n| surname | Apellidos completos del participante. | SI | Integer |\n| idCardType | Tipo de documento de identidad. Valores admitidos: \"`dni`\", \"`nif`\", \"`passport`\", \"`nie`\", \"`codiceFiscale`\" (Identificador Italia), \"`otherIDCards`\" (cualquier documento de identificación), \"`driversLicence`\" (Licencia de conducir EEUU), \"`europeanDocument`\" (documento europeo, solo válido para los documentos de los países de europa) | SI | String |\n| dni | Número del documento de identidad o identificación fiscal. | SI | String |\n| idCardCountry | Código de país del documento en formato ISO 3166-1 alfa-2 (ej. \"ES\"). | SI | String |\n| email | Dirección de correo electrónico donde el ciudadano recibirá las notificaciones. | SI | String |\n| phone | Teléfono móvil de contacto con prefijo internacional (ej. \"+34600000000\"). | SI | String |\n| language | Idioma en el que el ciudadano visualizará la interfaz de OVAC (ej. \"es\"). Por defecto, se obtiene el de la entidad/ogranización.  <br>Consultar método '`Languages`'. | NO | String |\n| zipcode | Código postal de residencia del participante. | NO | String |\n\n### Campos de Respuesta (Payload)\n\nLa respuesta exitosa devuelve el objeto `createOneOnOneCouncil` con las claves únicas de la cita generada:\n\n| Parámetro | Descripción | Tipo |\n| --- | --- | --- |\n| createOneOnOneCouncil | Objeto raíz con los datos de la cita generada. | Object |\n| createOneOnOneCouncil.**id** | Identificador, interno de OVAC, único de la cita generada. | Integer |\n| createOneOnOneCouncil.**accessLink** | Enlace único de acceso directo para auditar la cita. | String |\n| createOneOnOneCouncil.**creatorId** | Identificador, interno de OVAC, único del usuario que ha creado la cita. | Integer |\n\n## Ejemplos de Código y Peticiones\n\n### 1\\. Mutación GraphQL\n\n``` graphql\nmutation CreateOneOnOneCouncil(\n    $council: CouncilInput,\n    $participant: ParticipantInput,\n    $representation: ParticipantInput,\n    $notifyCreation: Boolean,\n    $checkAgenda: Boolean,\n    $guests: [ParticipantInput]\n) {\n    createOneOnOneCouncil(\n        council: $council,\n        participant: $participant,\n        representation: $representation,\n        notifyCreation: $notifyCreation,\n        checkAgenda: $checkAgenda,\n        guests: $guests\n    ) {\n        id\n        accessLink\n        creatorId\n    }\n}\n\n ```\n\n### 2\\. Variables de la Petición (JSON Payload con Mapeos Externos)\n\n``` json\n{\n    \"council\": {\n        \"name\": \"test creación cita\",\n        \"companyExternalId\": \"EXT_COMP_2191\",\n        \"statuteExternalId\": \"EXT_STAT_4685\",\n        \"councilType\": 5,\n        \"externalId\": \"SISTEMA_EXTERNO_001\",\n        \"contactEmail\": \"soporte@entidad.com\",\n        \"dateStart\": \"2026-05-16T15:00:00Z\",\n        \"conveneText\": \"\",\n        \"observations\": \"Estas son observaciones\",\n        \"internalNotes\": \"Estas son notas internas\",\n        \"language\": \"gal\",\n        \"comment\": \"Opcional - Información visible mail de creación de cita\",\n        \"readOnly\": 0,\n        \"tag\": \"ADMIN\"\n    },\n    \"participant\": {\n        \"name\": \"Name of participant\",\n        \"surname\": \"Surname of participant\",\n        \"idCardType\": \"dni\",\n        \"dni\": \"11111111H\",\n        \"idCardCountry\": \"ES\",\n        \"email\": \"participant_email@domain.com\",\n        \"phone\": \"+34600000000\",\n        \"language\": \"gal\",\n        \"zipcode\": \"00000\"\n    },\n    \"notifyCreation\": true,\n    \"checkAgenda\": true\n}\n\n ```\n\n### 3\\. Ejemplo de comando cURL\n\n``` bash\ncurl --location 'https://api.ovac.pre.councilbox.com/graphql' \\\n--header 'Content-Type: application/json' \\\n--header 'x-jwt-token: {{token}}' \\\n--data '{\"query\":\"mutation createOneOnOneCouncil($council: CouncilInput, $participant: ParticipantInput, $representation: ParticipantInput, $notifyCreation: Boolean, $checkAgenda: Boolean, $guests: [ParticipantInput]){ createOneOnOneCouncil(council: $council, participant: $participant, representation: $representation, notifyCreation: $notifyCreation, checkAgenda: $checkAgenda, guests: $guests) { id accessLink creatorId } }\",\"variables\":{\"council\":{\"name\":\"test creación cita\",\"companyExternalId\":\"EXT_COMP_2191\",\"statuteExternalId\":\"EXT_STAT_4685\",\"councilType\":5,\"externalId\":\"SISTEMA_EXTERNO_001\",\"contactEmail\":\"\",\"dateStart\":\"2026-05-16T15:00:00Z\",\"conveneText\":\"\",\"observations\":\"Estas son observaciones\",\"internalNotes\":\"Estas son notas internas\",\"language\":\"gal\",\"comment\":\"\",\"readOnly\":0,\"tag\":\"ADMIN\"},\"participant\":{\"name\":\"Name of participant\",\"surname\":\"Surname of participant\",\"idCardType\":\"dni\",\"dni\":\"11111111H\",\"idCardCountry\":\"ES\",\"email\":\"participant_email@domain.com\",\"phone\":\"+34600000000\",\"language\":\"gal\",\"zipcode\":\"00000\"},\"notifyCreation\":true,\"checkAgenda\":true}}'\n\n ```\n\n### 4\\. Respuesta Esperada (200 OK)\n\n``` json\n{\n    \"data\": {\n        \"createOneOnOneCouncil\": {\n            \"id\": 64917,\n            \"accessLink\": \"https://apitest.ovac.pre.councilbox.com/attendance/token/eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJjb3VuY2lsUGFydGljaXBhbnRJZCI6MjQ5MDE2LCJpZCI6MjQ5MDE2LCJpYXQiOjE3NzkzNjE2Njl9.facpLzBhYA-KmDt9j2zMA32gMhyyBzUc47PNlSyFkaA\",\n            \"creatorId\": 3476\n        }\n    }\n}\n\n ```"},"response":[{"id":"c22fdd05-3187-408f-8b73-cd5e7c7fe46d","name":"Create Appointment","originalRequest":{"method":"POST","header":[],"body":{"mode":"graphql","graphql":{"query":"mutation createOneOnOneCouncil(\r\n    $council: CouncilInput,\r\n    $participant: ParticipantInput,\r\n    $notifyCreation: Boolean,\r\n    $checkAgenda: Boolean,\r\n    $councilOptions: CouncilOptions    \r\n    )\r\n    {\r\n        createOneOnOneCouncil\r\n            (\r\n            council: $council,\r\n            participant: $participant,\r\n            notifyCreation: $notifyCreation,\r\n            checkAgenda: $checkAgenda,\r\n            councilOptions: $councilOptions\r\n            )\r\n        {\r\n            id\r\n            accessLink\r\n            creatorId\r\n        }\r\n    }","variables":"{\r\n    \"council\": {\r\n        \"name\": \"test creación cita\",\r\n        \"companyExternalId\": \"API_TEST\",\r\n        \"statuteExternalId\": \"TRAMITE_TEST\",\r\n        \"councilType\": 5,\r\n        \"externalId\" : \"\",\r\n        \"contactEmail\": \"\",\r\n        \"dateStart\": \"2026-05-26T15:00Z\",\r\n        \"conveneText\": \"\",\r\n        \"observations\": \"Estas son observaciones\",\r\n        \"internalNotes\": \"Estas son notas internas\",\r\n        \"language\":\"gal\",\r\n        \"comment\": \"Opcional - Información visible mail de creación de cita\",\r\n        \"readOnly\": 0,\r\n        \"tag\": \"ADMIN\"\r\n    },\r\n    \"participant\": {\r\n        \"name\": \"Name of participant\",\r\n        \"surname\": \"Surname of participant\",\r\n        \"idCardType\": \"dni\",\r\n        \"dni\" : \"11111111H\",\r\n        \"idCardCountry\": \"ES\",\r\n        \"email\": \"participant_email@domain.com\",\r\n        \"phone\": \"+34600000000\",\r\n        \"language\":\"gal\",\r\n        \"zipcode\": \"00000\"\r\n    },\r\n    \"notifyCreation\": true,\r\n    \"checkAgenda\": true,\r\n    \"councilOptions\": \r\n    { \r\n        \"notificationType\": 0 \r\n    }  \r\n}"}},"url":{"raw":"{{domain}}/{{endpoint}}","host":["{{domain}}"],"path":["{{endpoint}}"]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":":status","value":200},{"key":"date","value":"Thu, 21 May 2026 09:03:27 GMT"},{"key":"content-type","value":"application/json; charset=utf-8"},{"key":"vary","value":"Accept-Encoding"},{"key":"content-security-policy","value":"default-src 'self';base-uri 'self';font-src 'self' https: data:;form-action 'self';frame-ancestors 'self';img-src 'self' data:;object-src 'none';script-src 'self';script-src-attr 'none';style-src 'self' https: 'unsafe-inline';upgrade-insecure-requests"},{"key":"cross-origin-opener-policy","value":"same-origin"},{"key":"cross-origin-resource-policy","value":"cross-origin"},{"key":"origin-agent-cluster","value":"?1"},{"key":"referrer-policy","value":"no-referrer"},{"key":"strict-transport-security","value":"max-age=31536000; includeSubDomains"},{"key":"x-content-type-options","value":"nosniff"},{"key":"x-dns-prefetch-control","value":"off"},{"key":"x-download-options","value":"noopen"},{"key":"x-frame-options","value":"SAMEORIGIN"},{"key":"x-permitted-cross-domain-policies","value":"none"},{"key":"x-xss-protection","value":"0"},{"key":"access-control-allow-origin","value":"*"},{"key":"etag","value":"W/\"11a-/hzbehJHCRzPe3BDsBYGanhRa1I\""},{"key":"content-encoding","value":"gzip"},{"key":"access-control-allow-methods","value":"GET,HEAD,PUT,PATCH,POST,DELETE"}],"cookie":[],"responseTime":null,"body":"{\n    \"data\": {\n        \"createOneOnOneCouncil\": {\n            \"id\": 64917,\n            \"accessLink\": \"https://apitest.ovac.pre.councilbox.com/attendance/token/eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJjb3VuY2lsUGFydGljaXBhbnRJZCI6MjQ5MDE2LCJpZCI6MjQ5MDE2LCJpYXQiOjE3NzkzNjE2Njl9.facpLzBhYA-KmDt9j2zMA32gMhyyBzUc47PNlSyFkaA\",\n            \"creatorId\": 3476\n        }\n    }\n}","createdAt":"2026-05-22T09:43:29.000Z","updatedAt":"2026-06-10T16:21:51.000Z","uid":"45758186-c22fdd05-3187-408f-8b73-cd5e7c7fe46d"}],"createdAt":"2026-05-22T09:43:29.000Z","updatedAt":"2026-06-17T15:57:32.000Z","uid":"45758186-f3954e50-5075-492e-8724-5db036142dd1"},{"name":"Create Appointment Management_External","id":"326d214d-0185-4fdb-b978-21c1b99c0cc5","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"apikey","apikey":[{"key":"key","value":"x-jwt-token","type":"string"},{"key":"value","value":"{{token}}","type":"string"}]},"method":"POST","header":[],"body":{"mode":"graphql","graphql":{"query":"mutation createOneOnOneCouncil(\r\n    $council: CouncilInput,\r\n    $participant: ParticipantInput,\r\n    $notifyCreation: Boolean,\r\n    $checkAgenda: Boolean,\r\n    $councilOptions: CouncilOptions\r\n    $agenda: [AgendaPointInput]\r\n    )\r\n    {\r\n        createOneOnOneCouncil\r\n            (\r\n            council: $council,\r\n            participant: $participant,\r\n            notifyCreation: $notifyCreation,\r\n            checkAgenda: $checkAgenda,\r\n            councilOptions: $councilOptions\r\n            agenda: $agenda\r\n            )\r\n        {\r\n            id\r\n            accessLink\r\n            creatorId\r\n        }\r\n    }","variables":"{\r\n    \"council\": {\r\n        \"name\": \"\",\r\n        \"companyExternalId\": \"\",\r\n        \"statuteExternalId\": \"\",\r\n        \"councilType\": 6,\r\n        \"externalId\" : \"\",\r\n        \"contactEmail\": \"\",\r\n        \"dateStart\": \"2026-05-19T15:00Z\",\r\n        \"conveneText\": \"\",\r\n        \"observations\": \"\",\r\n        \"internalNotes\": \"\",\r\n        \"language\":\"es\",\r\n        \"comment\": \"\",\r\n        \"readOnly\": 0,\r\n        \"tag\": \"ADMIN\"\r\n    },\r\n    \"participant\": {\r\n        \"name\": \"\",\r\n        \"surname\": \"\",\r\n        \"idCardType\": \"dni\",\r\n        \"dni\" : \"\",\r\n        \"idCardCountry\": \"ES\",\r\n        \"email\": \"\",\r\n        \"phone\": \"+34600000000\",\r\n        \"language\":\"es\",\r\n        \"zipcode\": \"00000\"\r\n    },\r\n    \"agenda\": [{\r\n        \"type\": 9,\r\n        \"name\": \"\"\r\n    }],\r\n    \"notifyCreation\": true,\r\n    \"checkAgenda\": true,\r\n    \"councilOptions\": \r\n        { \r\n        \"notificationType\": 0 \r\n        }\r\n}"}},"url":{"raw":"{{domain}}/{{endpoint}}","host":["{{domain}}"],"path":["{{endpoint}}"]},"description":"# Create Appointment Management_External (`createOneOnOneCouncil`)\n\nEsta mutación permite registrar una nueva gestión desatendida en la plataforma con los identificadores externos, vinculando al ciudadano principal y configurando los metadatos de control y taxonomía del encuentro. Al crearse, el sistema genera de forma automática los enlaces de acceso tanto para los agentes como para los asistentes.\n\n### Detalles de la Solicitud\n\n- **Método HTTP:** `POST`\n    \n- **URL PRE:** `https://api.ovac.pre.councilbox.com/graphql`\n    \n- **URL PRO:** `https://api.ovac.pre.councilbox.com/graphql`\n    \n\n### Autenticación\n\n> **Tipo:** API Key  \n**Header:** `x-jwt-token`  \n**Ubicación:** Header HTTP_  \nEjemplo:_ `x-jwt-token: eyJhbGciOiJIUzI1NiIsInR5cCI6...` \n  \n\n## Referencia de la API\n\n### Variables Globales de Entrada\n\n| Parámetro | Descripción | Requerido | Tipo |\n| --- | --- | --- | --- |\n| $notifyCreation | `true`: Envía una notificación automática de confirmación al ciudadano.  <br>`false`: Registra la cita silenciosamente.  <br>Por defecto: `true` | NO | Boolean |\n| $checkAgenda | `true`: Valida la disponibilidad horaria del agente antes de insertar.  <br>`false`: Omite la comprobación y fuerza la inserción. | SI | Boolean |\n| $councilOptions.**notificationType** | Selecciona el método de notificación de la cita/gestión:  <br>`-1`: Sin notificación  <br>`0`: email  <br>`1`: SMS  <br>`2`: WhatsApp  <br>  <br>Si no se selecciona el bloque, se emplea el método por defecto configurado en el trámite. | NO | Integer |\n| $council | Configuración técnica, fechas y taxonomía de la cita (Ver desglose abajo). | SI | Object |\n| $participant | Datos de identidad y contacto del participante (Ver desglose abajo). | SI | Object |\n| $representation | Datos del Representado. (Solo se rellena en flujos de representación legal). | NO | Object |\n\n### Desglose del Objeto `council` (`CouncilInput`)\n\n| Parámetro | Descripción | Requerido | Tipo |\n| --- | --- | --- | --- |\n| name | Título o nombre asignado al trámite de la cita. | SI | String |\n| companyExternalId | ID externo de la entidad. | SI | String |\n| statuteExternalId | ID externo del trámite | SI | String |\n| councilType | Canal de atención:  <br>`5` (Videoatención)  <br>`6` (Gestión desatendida)  <br>`7` (Presencial). | SI | Integer |\n| dateStart | Fecha y hora programada en formato UTC bajo el estándar ISO 8601 (YYYY-MM-DDTHH:mmZ). | SI | String |\n| tag | Identificador de origen: \"`ADMIN`\" (gestores)  <br>\"`KIOSK`\" (tótems)  <br>\"`INMEDIATE`\" (urgente)  <br>\"`URGENT`\" (huecos reservados). | SI | String |\n| readOnly | Restricción de edición: `0` (permite modificaciones desde el portal)  <br>`1` (bloqueada, solo vía API). | SI | Integer |\n| language | Idioma base en el que se configurará la cita(ej. \"es\"). Por defecto, se emplea el idioma configurado en la organización.  <br>Consultar método '`Languages`'. | NO | String |\n| contactEmail | Correo electrónico de soporte o contacto de la entidad. Por defecto se usa el parametrizado en la entidad/organización. | NO | String |\n| externalId | Identificador propio o ID único de la cita en el sistema del cliente. | NO | String |\n| conveneText | Texto o cuerpo opcional para la convocatoria de la reunión. | NO | String |\n| observations | Comentarios u observaciones generales de la cita. | NO | String |\n| internalNotes | Notas internas dirigidas al agente (no son visibles por el ciudadano). | NO | String |\n| comment | Comentarios adicionales sobre el registro. | NO | String |\n\n### Desglose del Objeto `participant` (`ParticipantInput`)\n\n| Parámetro | Descripción | Requerido | Tipo |\n| --- | --- | --- | --- |\n| name | Nombre de pila del participante. | SI | String |\n| surname | Apellidos completos del participante. | SI | Integer |\n| idCardType | Tipo de documento de identidad. Valores admitidos: \"`dni`\", \"`nif`\", \"`passport`\", \"`nie`\", \"`codiceFiscale`\" (Identificador Italia), \"`otherIDCards`\" (cualquier documento de identificación), \"`driversLicence`\" (Licencia de conducir EEUU), \"`europeanDocument`\" (documento europeo, solo válido para los documentos de los países de europa) | SI | String |\n| dni | Número del documento de identidad o identificación fiscal. | SI | String |\n| idCardCountry | Código de país del documento en formato ISO 3166-1 alfa-2 (ej. \"ES\"). | SI | String |\n| email | Dirección de correo electrónico donde el ciudadano recibirá las notificaciones. | SI | String |\n| phone | Teléfono móvil de contacto con prefijo internacional (ej. \"+34600000000\"). | SI | String |\n| language | Idioma en el que el ciudadano visualizará la interfaz de OVAC (ej. \"es\"). Por defecto, se obtiene el de la entidad/ogranización.  <br>Consultar método '`Languages`'. | NO | String |\n| zipcode | Código postal de residencia del participante. | NO | String |\n\n### Desglose del Objeto `agenda` (`[AgendaPointInput]`)\n\n| Parámetro | Descripción | Requerido | Tipo |\n| --- | --- | --- | --- |\n| agenda | Objeto de los pasos dentro de la cita | NO | Object |\n| agenda.**type** | Tipo de paso a realizar:  <br>`9`: Consentimiento aceptación/rechazo | SI | Integer |\n| agenda.**name** | Enunciado, título literal o descripción del consentimiento. | NO | String |\n\n### Campos de Respuesta (Payload)\n\nLa respuesta exitosa devuelve el objeto `createOneOnOneCouncil` con los identificadores de acceso seguro:\n\n| Campo | Tipo | Descripción |\n| --- | --- | --- |\n| **`id`** | Array | Identificador interno único de la cita generada en la plataforma OVAC. |\n| **`accessLink`** | String | Enlace único de acceso directo (Tokenizado) para auditar, gestionar o iniciar la cita. |\n| **`creatorId`** | Integer | Identificador único del usuario o API Key que ha dado de alta la cita. |\n\n## Ejemplos de Código y Peticiones\n\n### 1\\. Mutación GraphQL\n\n``` graphql\nmutation createOneOnOneCouncil(\n    $council: CouncilInput,\n    $participant: ParticipantInput,\n    $representation: ParticipantInput,\n    $notifyCreation: Boolean,\n    $checkAgenda: Boolean,\n    $guests: [ParticipantInput],\n    $councilOptions: CouncilOptions\n    $agenda: [AgendaPointInput]\n    )\n    {\n        createOneOnOneCouncil\n            (\n            council: $council,\n            participant: $participant,\n            representation: $representation,\n            notifyCreation: $notifyCreation,\n            checkAgenda: $checkAgenda,\n            guests: $guests\n            councilOptions: $councilOptions\n            agenda: $agenda\n            )\n        {\n            id\n            accessLink\n            creatorId\n        }\n    }\n\n ```\n\n### 2\\. Variables de la Petición (JSON Payload)\n\n``` json\n{\n    \"council\": {\n        \"name\": \"Gestión desatendida con IdExterno\",\n        \"companyExternalId\": \"API_TEST\",\n        \"statuteExternalId\": \"GES001\",\n        \"councilType\": 6,\n        \"externalId\" : \"\",\n        \"contactEmail\": \"\",\n        \"dateStart\": \"2026-06-09T15:00Z\",\n        \"conveneText\": \"\",\n        \"observations\": \"\",\n        \"internalNotes\": \"\",\n        \"language\":\"es\",\n        \"comment\": \"\",\n        \"readOnly\": 0,\n        \"tag\": \"ADMIN\"\n    },\n    \"participant\": {\n        \"name\": \"Participante\",\n        \"surname\": \"Apellido1 Apellido2\",\n        \"idCardType\": \"dni\",\n        \"dni\" : \"77777777B\",\n        \"idCardCountry\": \"ES\",\n        \"email\": \"alejandro.maneiro@councilbox.com\",\n        \"phone\": \"+34600000000\",\n        \"language\":\"es\",\n        \"zipcode\": \"15883\"\n    },\n    \"agenda\": [{\n        \"type\": 9,\n        \"name\": \"La dirección proporcionada es Calle Nueva, número 7 en Teo, A Coruña CP 15883\"\n    }],\n    \"notifyCreation\": true,\n    \"checkAgenda\": true,\n    \"councilOptions\": \n        { \n        \"notificationType\": 0 \n        }\n}\n\n ```\n\n### 3\\. Ejemplo de comando cURL\n\n``` bash\ncurl --location --globoff 'https://api.ovac.pre.councilbox.com/graphql' \\\n--header 'Content-Type: application/json' \\\n--header 'x-jwt-token: {{token}}' \\\n--data-raw '{\"query\":\"mutation createOneOnOneCouncil($council: CouncilInput, $participant: ParticipantInput, $representation: ParticipantInput, $notifyCreation: Boolean, $checkAgenda: Boolean, $guests: [ParticipantInput]){ createOneOnOneCouncil(council: $council, participant: $participant, representation: $representation, notifyCreation: $notifyCreation, checkAgenda: $checkAgenda, guests: $guests) { id accessLink creatorId } }\",\"variables\":{\"council\":{\"name\":\"test creación cita\",\"companyId\":2191,\"statuteId\":4685,\"councilType\":5,\"externalId\":\"\",\"contactEmail\":\"\",\"dateStart\":\"2026-05-26T11:00Z\",\"conveneText\":\"\",\"observations\":\"Estas son observaciones\",\"internalNotes\":\"Estas son notas internas\",\"language\":\"gal\",\"comment\":\"Opcional - Información visible mail de creación de cita\",\"readOnly\":0,\"tag\":\"ADMIN\"},\"participant\":{\"name\":\"Name of participant\",\"surname\":\"Surname of participant\",\"idCardType\":\"dni\",\"dni\":\"11111111H\",\"idCardCountry\":\"ES\",\"email\":\"participant_email@domain.com\",\"phone\":\"+34600000000\",\"language\":\"gal\",\"zipcode\":\"00000\"},\"notifyCreation\":true,\"checkAgenda\":true}}'\n\n ```\n\n### 4\\. Respuesta Esperada (200 OK)\n\n``` json\n{\n    \"data\": {\n        \"createOneOnOneCouncil\": {\n            \"id\": 64917,\n            \"accessLink\": \"https://apitest.ovac.pre.councilbox.com/attendance/token/eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJjb3VuY2lsUGFydGljaXBhbnRJZCI6MjQ5MDE2LCJpZCI6MjQ5MDE2LCJpYXQiOjE3NzkzNjE2Njl9.facpLzBhYA-KmDt9j2zMA32gMhyyBzUc47PNlSyFkaA\",\n            \"creatorId\": 3476\n        }\n    }\n}\n\n ```"},"response":[{"id":"b5294c80-9b6c-4b4b-a43c-39f4344fe7da","name":"Create Appointment Management_External","originalRequest":{"method":"POST","header":[],"body":{"mode":"graphql","graphql":{"query":"mutation createOneOnOneCouncil(\r\n    $council: CouncilInput,\r\n    $participant: ParticipantInput,\r\n    $notifyCreation: Boolean,\r\n    $checkAgenda: Boolean,\r\n    $councilOptions: CouncilOptions\r\n    )\r\n    {\r\n        createOneOnOneCouncil\r\n            (\r\n            council: $council,\r\n            participant: $participant,\r\n            notifyCreation: $notifyCreation,\r\n            checkAgenda: $checkAgenda,\r\n            councilOptions: $councilOptions\r\n            )\r\n        {\r\n            id\r\n            accessLink\r\n            creatorId\r\n        }\r\n    }","variables":"{\r\n    \"council\": {\r\n        \"name\": \"Gestión desatendida con IdExterno\",\r\n        \"companyExternalId\": \"API_TEST\",\r\n        \"statuteExternalId\": \"GES001\",\r\n        \"councilType\": 6,\r\n        \"externalId\" : \"\",\r\n        \"contactEmail\": \"\",\r\n        \"dateStart\": \"2026-06-09T15:00Z\",\r\n        \"conveneText\": \"\",\r\n        \"observations\": \"\",\r\n        \"internalNotes\": \"\",\r\n        \"language\":\"es\",\r\n        \"comment\": \"\",\r\n        \"readOnly\": 0,\r\n        \"tag\": \"ADMIN\"\r\n    },\r\n    \"participant\": {\r\n        \"name\": \"Participante\",\r\n        \"surname\": \"Apellido1 Apellido2\",\r\n        \"idCardType\": \"dni\",\r\n        \"dni\" : \"77777777B\",\r\n        \"idCardCountry\": \"ES\",\r\n        \"email\": \"alejandro.maneiro@councilbox.com\",\r\n        \"phone\": \"+34600000000\",\r\n        \"language\":\"es\",\r\n        \"zipcode\": \"15883\"\r\n    },\r\n    \"agenda\": [{\r\n        \"type\": 9,\r\n        \"name\": \"La dirección proporcionada es Calle Nueva, número 7 en Teo, A Coruña CP 15883\"\r\n    }],\r\n    \"notifyCreation\": true,\r\n    \"checkAgenda\": true,\r\n    \"councilOptions\": \r\n        { \r\n        \"notificationType\": 0 \r\n        }\r\n}"}},"url":{"raw":"{{domain}}/{{endpoint}}","host":["{{domain}}"],"path":["{{endpoint}}"]}},"status":"OK","code":200,"_postman_previewlanguage":"Text","header":[{"key":":status","value":200},{"key":"date","value":"Tue, 09 Jun 2026 11:32:46 GMT"},{"key":"content-type","value":"application/json; charset=utf-8"},{"key":"vary","value":"Accept-Encoding"},{"key":"content-security-policy","value":"default-src 'self';base-uri 'self';font-src 'self' https: data:;form-action 'self';frame-ancestors 'self';img-src 'self' data:;object-src 'none';script-src 'self';script-src-attr 'none';style-src 'self' https: 'unsafe-inline';upgrade-insecure-requests"},{"key":"cross-origin-opener-policy","value":"same-origin"},{"key":"cross-origin-resource-policy","value":"cross-origin"},{"key":"origin-agent-cluster","value":"?1"},{"key":"referrer-policy","value":"no-referrer"},{"key":"strict-transport-security","value":"max-age=31536000; includeSubDomains"},{"key":"x-content-type-options","value":"nosniff"},{"key":"x-dns-prefetch-control","value":"off"},{"key":"x-download-options","value":"noopen"},{"key":"x-frame-options","value":"SAMEORIGIN"},{"key":"x-permitted-cross-domain-policies","value":"none"},{"key":"x-xss-protection","value":"0"},{"key":"access-control-allow-origin","value":"*"},{"key":"etag","value":"W/\"12b-zdfC9GRtDzarBxK7wEgBU5nChfU\""},{"key":"content-encoding","value":"gzip"},{"key":"access-control-allow-methods","value":"GET,HEAD,PUT,PATCH,POST,DELETE"}],"cookie":[],"responseTime":null,"body":"{\n    \"data\": {\n        \"createOneOnOneCouncil\": {\n            \"id\": 65167,\n            \"accessLink\": \"https://apitest.ovac.pre.councilbox.com/attendance/token/eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJjb3VuY2lsUGFydGljaXBhbnRJZCI6MjQ5Mjc4LCJpZCI6MjQ5Mjc4LCJpYXQiOjE3ODEwMDQ3NjZ9.htG9H-Kw_zDKOLbN7eN05axIk1en373Dx1MPUWdMVvE\",\n            \"creatorId\": 3476\n        }\n    }\n}","createdAt":"2026-06-10T09:23:17.000Z","updatedAt":"2026-06-10T16:24:26.000Z","uid":"45758186-b5294c80-9b6c-4b4b-a43c-39f4344fe7da"}],"createdAt":"2026-06-10T09:23:17.000Z","updatedAt":"2026-06-17T15:57:40.000Z","uid":"45758186-326d214d-0185-4fdb-b978-21c1b99c0cc5"},{"name":"Create Appointment Representation_External","id":"a8f13c56-1cfb-4c58-97cc-522b2dd0c4d9","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"apikey","apikey":[{"key":"key","value":"x-jwt-token","type":"string"},{"key":"value","value":"{{token}}","type":"string"}]},"method":"POST","header":[],"body":{"mode":"graphql","graphql":{"query":"mutation createAppointment(\r\n    $council: CouncilInput,\r\n    $participant: ParticipantInput,\r\n    $representation: ParticipantInput,\r\n    $notifyCreation: Boolean,\r\n    $checkAgenda: Boolean,\r\n    $councilOptions: CouncilOptions\r\n    )\r\n    {\r\n        createAppointment\r\n            (\r\n            council: $council,\r\n            participant: $participant,\r\n            representation: $representation,\r\n            notifyCreation: $notifyCreation,\r\n            checkAgenda: $checkAgenda,\r\n            councilOptions: $councilOptions\r\n            )\r\n        {\r\n            id\r\n            accessLink\r\n            creatorId\r\n        }\r\n    }","variables":"{\r\n    \"council\": {\r\n        \"name\": \"\",\r\n        \"companyExternalId\": \"\",\r\n        \"statuteExternalId\": \"\", \r\n        \"councilType\": 5,\r\n        \"externalId\" : \"\",\r\n        \"contactEmail\": \"\",\r\n        \"dateStart\": \"2026-05-20T15:30Z\",\r\n        \"conveneText\": \"\",\r\n        \"observations\": \"\",\r\n        \"internalNotes\": \"\",\r\n        \"comment\": \"\",\r\n        \"readOnly\": 0,\r\n        \"tag\": \"ADMIN\"\r\n    },\r\n    \"participant\": {\r\n        \"name\": \"\",\r\n        \"surname\": \"\",\r\n        \"idCardType\": \"dni\",\r\n        \"dni\" : \"11111111H\",\r\n        \"idCardCountry\": \"ES\",\r\n        \"email\": \"\",\r\n        \"phone\": \"+34600000000\",\r\n        \"language\":\"es\",\r\n        \"zipcode\": \"00000\"\r\n   },\r\n   \"representation\": {\r\n        \"name\": \"\",\r\n        \"surname\": \"\",\r\n        \"idCardType\": \"dni\",\r\n        \"dni\" : \"22222222H\",\r\n        \"idCardCountry\": \"ES\",\r\n        \"personOrEntity\": 1,\r\n        \"email\": \"\",\r\n        \"phone\": \"+34600000000\",\r\n        \"language\":\"es\",\r\n        \"zipcode\": \"00000\"\r\n    },\r\n    \"notifyCreation\": true,\r\n    \"checkAgenda\": true,\r\n    \"councilOptions\": \r\n        { \r\n        \"notificationType\": 0 \r\n        }\r\n}"}},"url":{"raw":"{{domain}}/{{endpoint}}","host":["{{domain}}"],"path":["{{endpoint}}"]},"description":"# Create Appointment with Representation (External ID Variant) (`createAppointment`)\n\nEsta variante de la mutación se utiliza cuando el ciudadano que asiste al encuentro actúa en calidad de **representante legal (apoderado o tutor)** en nombre de una tercera persona física o jurídica (el Representado), y además se desea vincular la cita utilizando los identificadores lógicos del sistema del cliente (`companyExternalId` y `statuteExternalId`) en lugar de los IDs internos de la plataforma.\n\n### Detalles de la Solicitud\n\n- **Método HTTP:** `POST`\n    \n- **URL PRE:** `https://api.ovac.pre.councilbox.com/graphql`\n    \n- **URL PRO:** `https://api.ovac.pre.councilbox.com/graphql`\n    \n\n### Autenticación\n\n> **Tipo:** API Key**  \nHeader:** `x-jwt-token`  \n**Ubicación:** Header HTTP_  \nEjemplo:_ `x-jwt-token: eyJhbGciOiJIUzI1NiIsInR5cCI6...` \n  \n\n## Referencia de la API\n\n### Variables Globales de Entrada\n\n| Parámetro | Descripción | Requerido | Tipo |\n| --- | --- | --- | --- |\n| $notifyCreation | `true`: Envía una notificación automática de confirmación al ciudadano.  <br>`false`: Registra la cita silenciosamente.  <br>Por defecto: `true` | NO | Boolean |\n| $checkAgenda | `true`: Valida la disponibilidad horaria del agente antes de insertar.  <br>`false`: Omite la comprobación y fuerza la inserción. | SI | Boolean |\n| $councilOptions.**notificationType** | Selecciona el método de notificación de la cita/gestión:  <br>`-1`: Sin notificación  <br>`0`: email  <br>`1`: SMS  <br>`2`: WhatsApp  <br>  <br>Si no se selecciona el bloque, se emplea el método por defecto configurado en el trámite. | NO | Integer |\n| $council | Configuración técnica, fechas y taxonomía de la cita (Ver desglose abajo). | SI | Object |\n| $participant | Datos de identidad y contacto del participante (Ver desglose abajo). | SI | Object |\n| $representation | Datos del Representado. (Solo se rellena en flujos de representación legal). | NO | Object |\n| $guests | Lista de participantes invitados adicionales (\\[ParticipantInput\\]). | NO | Array |\n\n### Desglose del Objeto `council` (`CouncilInput`)\n\n| Parámetro | Descripción | Requerido | Tipo |\n| --- | --- | --- | --- |\n| name | Título o nombre asignado al trámite de la cita. | SI | String |\n| companyId | ID numérico interno de la entidad en la plataforma OVAC. | SI | Integer |\n| statuteId | ID numérico interno del trámite en la plataforma. | SI | Integer |\n| councilType | Canal de atención:  <br>`5` (Videoatención)  <br>`6` (Gestión desatendida)  <br>`7` (Presencial). | SI | Integer |\n| dateStart | Fecha y hora programada en formato UTC bajo el estándar ISO 8601 (YYYY-MM-DDTHH:mmZ). | SI | String |\n| tag | Identificador de origen: \"`ADMIN`\" (gestores)  <br>\"`KIOSK`\" (tótems)  <br>\"`INMEDIATE`\" (urgente)  <br>\"`URGENT`\" (huecos reservados). | SI | String |\n| readOnly | Restricción de edición: `0` (permite modificaciones desde el portal)  <br>`1` (bloqueada, solo vía API). | SI | Integer |\n| language | Idioma base en el que se configurará la cita(ej. \"es\"). Por defecto, se emplea el idioma configurado en la organización.  <br>Consultar método '`Languages`'. | NO | String |\n| contactEmail | Correo electrónico de soporte o contacto de la entidad. Por defecto se usa el parametrizado en la entidad/organización. | NO | String |\n| externalId | Identificador propio o ID único de la cita en el sistema del cliente. | NO | String |\n| conveneText | Texto o cuerpo opcional para la convocatoria de la reunión. | NO | String |\n| observations | Comentarios u observaciones generales de la cita. | NO | String |\n| internalNotes | Notas internas dirigidas al agente (no son visibles por el ciudadano). | NO | String |\n| comment | Comentarios adicionales sobre el registro. | NO | String |\n\n### Desglose del Objeto `participant` (`ParticipantInput` - Representante)\n\n| Parámetro | Descripción | Requerido | Tipo |\n| --- | --- | --- | --- |\n| name | Nombre de pila del participante. | SI | String |\n| surname | Apellidos completos del participante. | SI | Integer |\n| idCardType | Tipo de documento de identidad. Valores admitidos: \"`dni`\", \"`nif`\", \"`passport`\", \"`nie`\", \"`codiceFiscale`\" (Identificador Italia), \"`otherIDCards`\" (cualquier documento de identificación), \"`driversLicence`\" (Licencia de conducir EEUU), \"`europeanDocument`\" (documento europeo, solo válido para los documentos de los países de europa) | SI | String |\n| dni | Número del documento de identidad o identificación fiscal. | SI | String |\n| idCardCountry | Código de país del documento en formato ISO 3166-1 alfa-2 (ej. \"ES\"). | SI | String |\n| email | Dirección de correo electrónico donde el ciudadano recibirá las notificaciones. | SI | String |\n| phone | Teléfono móvil de contacto con prefijo internacional (ej. \"+34600000000\"). | SI | String |\n| language | Idioma en el que el ciudadano visualizará la interfaz de OVAC (ej. \"es\"). Por defecto, se obtiene el de la entidad/ogranización.  <br>Consultar método '`Languages`'. | NO | String |\n| zipcode | Código postal de residencia del participante. | NO | String |\n\n### Desglose del Objeto `representation` (`ParticipantInput` - Representado)\n\n| Parámetro | Descripción | Requerido | Tipo |\n| --- | --- | --- | --- |\n| name | Nombre de pila del participante. | SI | String |\n| surname | Apellidos completos del participante. | SI | Integer |\n| idCardType | Tipo de documento de identidad. Valores admitidos: \"`dni`\", \"`nif`\", \"`passport`\", \"`nie`\", \"`codiceFiscale`\" (Identificador Italia), \"`otherIDCards`\" (cualquier documento de identificación), \"`driversLicence`\" (Licencia de conducir EEUU), \"`europeanDocument`\" (documento europeo, solo válido para los documentos de los países de europa) | SI | String |\n| dni | Número del documento de identidad o identificación fiscal. | SI | String |\n| idCardCountry | Código de país del documento en formato ISO 3166-1 alfa-2 (ej. \"ES\"). | SI | String |\n| personOrEntity | `0` - persona física  <br>`1` - persona jurídica | SI | Integer |\n| email | Dirección de correo electrónico donde el ciudadano recibirá las notificaciones. | SI | String |\n| phone | Teléfono móvil de contacto con prefijo internacional (ej. \"+34600000000\"). | SI | String |\n| language | Idioma en el que el ciudadano visualizará la interfaz de OVAC (ej. \"es\"). Por defecto, se obtiene el de la entidad/ogranización.  <br>Consultar método '`Languages`'. | NO | String |\n| zipcode | Código postal de residencia del participante. | NO | String |\n\n### Campos de respuesta (Payload)\n\n| Parámetro | Descripción | Tipo |\n| --- | --- | --- |\n| createOneOnOneCouncil | Objeto raíz con los datos de la cita generada. | Object |\n| createOneOnOneCouncil.**id** | Identificador, interno de OVAC, único de la cita generada. | Integer |\n| createOneOnOneCouncil.**accessLink** | Enlace único de acceso directo para auditar la cita. | String |\n| createOneOnOneCouncil.**creatorId** | Identificador, interno de OVAC, único del usuario que ha creado la cita. | Integer |\n\n## Ejemplos de Código y Peticiones\n\n### 1\\. Mutación GraphQL\n\n``` graphql\nmutation createAppointment(\n    $council: CouncilInput,\n    $participant: ParticipantInput,\n    $representation: ParticipantInput,\n    $notifyCreation: Boolean,\n    $checkAgenda: Boolean,\n    $councilOptions: CouncilOptions\n    )\n    {\n        createAppointment\n            (\n            council: $council,\n            participant: $participant,\n            representation: $representation,\n            notifyCreation: $notifyCreation,\n            checkAgenda: $checkAgenda,\n            councilOptions: $councilOptions\n            )\n        {\n            id\n            accessLink\n            creatorId\n        }\n    }\n\n ```\n\n### 2\\. Variables de la Petición (JSON Payload)\n\n``` json\n{\n    \"council\": {\n        \"name\": \"test creación cita\",\n        \"companyExternalId\": \"\",\n        \"statuteExternalId\": \"\",\n        \"councilType\": 5,\n        \"externalId\" : \"\",\n        \"contactEmail\": \"\",\n        \"dateStart\": \"2026-05-23T15:30Z\",\n        \"conveneText\": \"\",\n        \"observations\": \"Estas son observaciones\",\n        \"internalNotes\": \"Estas son notas internas\",\n        \"comment\": \"Opcional - Información visible mail de creación de cita\",\n        \"readOnly\": 0,\n        \"tag\": \"ADMIN\"\n    },\n    \"participant\": {\n        \"name\": \"Name of participant\",\n        \"surname\": \"Surname of participant\",\n        \"idCardType\": \"dni\",\n        \"dni\" : \"11111111H\",\n        \"idCardCountry\": \"ES\",\n        \"email\": \"alejandro.maneiro@councilbox.com\",\n        \"phone\": \"+34600000000\",\n        \"language\":\"gal\",\n        \"zipcode\": \"00000\"\n   },\n   \"representation\": {\n        \"name\": \"REPRESENTADO\",\n        \"surname\": \"Surname of participant\",\n        \"idCardType\": \"dni\",\n        \"dni\" : \"22222222H\",\n        \"idCardCountry\": \"ES\",\n        \"personOrEntity\": 1,\n        \"email\": \"participant_email+representado@domain.com\",\n        \"phone\": \"+34600000000\",\n        \"language\":\"es\",\n        \"zipcode\": \"00000\"\n    },\n    \"notifyCreation\": true,\n    \"checkAgenda\": true,\n    \"councilOptions\": \n        { \n        \"notificationType\": 0 \n        }\n}\n\n ```\n\n### 3\\. Ejemplo de comando cURL\n\n``` bash\ncurl --location 'https://api.ovac.pre.councilbox.com/graphql' \\\n--header 'Content-Type: application/json' \\\n--header 'x-jwt-token: {{token}}' \\\n--data-raw '{\"query\":\"mutation createAppointment($council: CouncilInput, $participant: ParticipantInput, $representation: ParticipantInput, $notifyCreation: Boolean, $checkAgenda: Boolean, $guests: [ParticipantInput]){ createOneOnOneCouncil(council: $council, participant: $participant, representation: $representation, notifyCreation: $notifyCreation, checkAgenda: $checkAgenda, guests: $guests) { id accessLink creatorId } }\",\"variables\":{\"council\":{\"name\":\"test creación cita\",\"companyExternalId\":\"API_TEST\",\"statuteExternalId\":\"TRAMITE_TEST\",\"councilType\":5,\"externalId\":\"REF-CLIENTE-10294\",\"contactEmail\":\"\",\"dateStart\":\"2026-05-23T15:30:00Z\",\"conveneText\":\"\",\"observations\":\"Estas son observaciones\",\"internalNotes\":\"Estas son notas internas\",\"language\":\"gal\",\"comment\":\"\",\"readOnly\":0,\"tag\":\"ADMIN\"},\"participant\":{\"name\":\"Name of participant\",\"surname\":\"Surname of participant\",\"idCardType\":\"dni\",\"dni\":\"11111111H\",\"idCardCountry\":\"ES\",\"email\":\"alejandro.maneiro@councilbox.com\",\"phone\":\"+34600000000\",\"language\":\"gal\",\"zipcode\":\"00000\"},\"representation\":{\"name\":\"REPRESENTADO\",\"surname\":\"Surname of participant\",\"idCardType\":\"dni\",\"dni\":\"22222222H\",\"idCardCountry\":\"ES\",\"personOrEntity\":1,\"email\":\"participant_email+representado@domain.com\",\"phone\":\"+34600000000\",\"language\":\"es\",\"zipcode\":\"00000\"},\"notifyCreation\":true,\"checkAgenda\":true}}'\n\n ```\n\n### 4\\. Respuesta Esperada (200 OK)\n\n``` json\n{\n    \"data\": {\n        \"createAppointment\": {\n            \"id\": 64918,\n            \"accessLink\": \"https://apitest.ovac.pre.councilbox.com/attendance/token/eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJjb3VuY2lsUGFydGljaXBhbnRJZCI6MjQ5MDE3LCJpZCI6MjQ5MDE3LCJpYXQiOjE3NzkzNjE5MTR9.xhqWkiqrWZhrzPjPCqvyDjTCfFUB8VaDBX3N7yNO7Ig\",\n            \"creatorId\": 3476\n        }\n    }\n}\n\n ```"},"response":[{"id":"f844d711-c573-44cc-a66e-c575ee591a97","name":"Create Appointment Representation_External","originalRequest":{"method":"POST","header":[],"body":{"mode":"graphql","graphql":{"query":"mutation createAppointment(\r\n    $council: CouncilInput,\r\n    $participant: ParticipantInput,\r\n    $representation: ParticipantInput,\r\n    $notifyCreation: Boolean,\r\n    $checkAgenda: Boolean,\r\n    $councilOptions: CouncilOptions\r\n    )\r\n    {\r\n        createAppointment\r\n            (\r\n            council: $council,\r\n            participant: $participant,\r\n            representation: $representation,\r\n            notifyCreation: $notifyCreation,\r\n            checkAgenda: $checkAgenda,\r\n            councilOptions: $councilOptions\r\n            )\r\n        {\r\n            id\r\n            accessLink\r\n            creatorId\r\n        }\r\n    }","variables":"{\r\n    \"council\": {\r\n        \"name\": \"test creación cita\",\r\n        \"companyExternalId\": \"\",\r\n        \"statuteExternalId\": \"\",\r\n        \"councilType\": 5,\r\n        \"externalId\" : \"\",\r\n        \"contactEmail\": \"\",\r\n        \"dateStart\": \"2026-05-23T15:30Z\",\r\n        \"conveneText\": \"\",\r\n        \"observations\": \"Estas son observaciones\",\r\n        \"internalNotes\": \"Estas son notas internas\",\r\n        \"comment\": \"Opcional - Información visible mail de creación de cita\",\r\n        \"readOnly\": 0,\r\n        \"tag\": \"ADMIN\"\r\n    },\r\n    \"participant\": {\r\n        \"name\": \"Name of participant\",\r\n        \"surname\": \"Surname of participant\",\r\n        \"idCardType\": \"dni\",\r\n        \"dni\" : \"11111111H\",\r\n        \"idCardCountry\": \"ES\",\r\n        \"email\": \"alejandro.maneiro@councilbox.com\",\r\n        \"phone\": \"+34600000000\",\r\n        \"language\":\"gal\",\r\n        \"zipcode\": \"00000\"\r\n   },\r\n   \"representation\": {\r\n        \"name\": \"REPRESENTADO\",\r\n        \"surname\": \"Surname of participant\",\r\n        \"idCardType\": \"dni\",\r\n        \"dni\" : \"22222222H\",\r\n        \"idCardCountry\": \"ES\",\r\n        \"personOrEntity\": 1,\r\n        \"email\": \"participant_email+representado@domain.com\",\r\n        \"phone\": \"+34600000000\",\r\n        \"language\":\"es\",\r\n        \"zipcode\": \"00000\"\r\n    },\r\n    \"notifyCreation\": true,\r\n    \"checkAgenda\": true,\r\n    \"councilOptions\": \r\n        { \r\n        \"notificationType\": 0 \r\n        }\r\n}"}},"url":{"raw":"{{domain}}/{{endpoint}}","host":["{{domain}}"],"path":["{{endpoint}}"]}},"_postman_previewlanguage":"Text","header":[],"cookie":[],"responseTime":null,"body":"{\r\n    \"data\": {\r\n        \"createAppointment\": {\r\n            \"id\": 64918,\r\n            \"accessLink\": \"https://apitest.ovac.pre.councilbox.com/attendance/token/eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJjb3VuY2lsUGFydGljaXBhbnRJZCI6MjQ5MDE3LCJpZCI6MjQ5MDE3LCJpYXQiOjE3NzkzNjE5MTR9.xhqWkiqrWZhrzPjPCqvyDjTCfFUB8VaDBX3N7yNO7Ig\",\r\n            \"creatorId\": 3476\r\n        }\r\n    }\r\n}","createdAt":"2026-05-22T09:43:29.000Z","updatedAt":"2026-06-12T07:40:21.000Z","uid":"45758186-f844d711-c573-44cc-a66e-c575ee591a97"}],"createdAt":"2026-05-22T09:43:29.000Z","updatedAt":"2026-06-17T15:57:52.000Z","uid":"45758186-a8f13c56-1cfb-4c58-97cc-522b2dd0c4d9"},{"name":"Create Appointment Representation Guests_External","id":"3601370c-55a3-43c2-b051-684cd8a8a894","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"apikey","apikey":[{"key":"key","value":"x-jwt-token","type":"string"},{"key":"value","value":"{{token}}","type":"string"}]},"method":"POST","header":[],"body":{"mode":"graphql","graphql":{"query":"mutation createAppointment(\r\n    $council: CouncilInput,\r\n    $participant: ParticipantInput,\r\n    $representation: ParticipantInput,\r\n    $notifyCreation: Boolean,\r\n    $checkAgenda: Boolean,\r\n    $guests: [ParticipantInput],\r\n    $councilOptions: CouncilOptions\r\n    )\r\n    {\r\n        createAppointment\r\n            (\r\n            council: $council,\r\n            participant: $participant,\r\n            representation: $representation,\r\n            notifyCreation: $notifyCreation,\r\n            checkAgenda: $checkAgenda,\r\n            guests: $guests,\r\n            councilOptions: $councilOptions\r\n            )\r\n        {\r\n            id\r\n            accessLink\r\n            creatorId\r\n        }\r\n    }","variables":"{\r\n    \"council\": {\r\n        \"name\": \"\",\r\n        \"companyExternalId\": \"\",\r\n        \"statuteExternalId\": \"\",\r\n        \"councilType\": 5,\r\n        \"externalId\" : \"\",\r\n        \"contactEmail\": \"\",\r\n        \"dateStart\": \"2026-05-20T09:30Z\",\r\n        \"conveneText\": \"\",\r\n        \"observations\": \"\",\r\n        \"internalNotes\": \"E\",\r\n        \"comment\": \"\",\r\n        \"readOnly\": 0,\r\n        \"tag\": \"ADMIN\"\r\n    },\r\n    \"participant\": {\r\n        \"name\": \"\",\r\n        \"surname\": \"\",\r\n        \"idCardType\": \"dni\",\r\n        \"dni\" : \"11111111H\",\r\n        \"idCardCountry\": \"ES\",\r\n        \"email\": \"\",\r\n        \"phone\": \"+34600000000\",\r\n        \"language\":\"es\",\r\n        \"zipcode\": \"00000\"\r\n   },\r\n    \"guests\": [{\r\n        \"name\": \"\",\r\n        \"surname\": \"\",\r\n        \"idCardType\": \"passport\",\r\n        \"dni\" : \"00000000\",\r\n        \"idCardCountry\": \"ES\",\r\n        \"type\": 2,\r\n        \"email\": \"\",\r\n        \"phone\": \"+34600000000\",\r\n        \"language\":\"es\",\r\n        \"zipcode\": \"00000\",\r\n        \"representedParticipant\": {\r\n            \"name\": \"\",\r\n            \"surname\": \"\",\r\n            \"idCardType\": \"passport\",\r\n            \"dni\" : \"111111\",\r\n            \"idCardCountry\": \"ES\",\r\n            \"type\": 3,\r\n            \"email\": \"\",\r\n            \"phone\": \"+34600000000\",\r\n            \"language\":\"es\",\r\n            \"zipcode\": \"00000\"\r\n        }\r\n    }],\r\n    \"notifyCreation\": true,\r\n    \"checkAgenda\": true,\r\n    \"councilOptions\": \r\n    { \r\n        \"notificationType\": 0 \r\n    }  \r\n}"}},"url":{"raw":"{{domain}}/{{endpoint}}","host":["{{domain}}"],"path":["{{endpoint}}"]},"description":"# Create Appointment with Guest Representation (External ID Variant) (`createAppointment` - Advanced)\n\nEsta variante avanzada de la mutación permite registrar una cita estructurando escenarios complejos en una única petición utilizando los identificadores lógicos del sistema del cliente (`companyExternalId` y `statuteExternalId`). Es ideal para flujos automatizados de integración donde el participante principal asiste con acompañantes o invitados adicionales (`guests`), y donde alguno de estos invitados actúa como representante legal de un tercero a través del subbloque anidado `representedParticipant`.\n\n### Detalles de la Solicitud\n\n- **Método HTTP:** `POST`\n    \n- **URL PRE:** `https://api.ovac.pre.councilbox.com/graphql`\n    \n- **URL PRO:** `https://api.ovac.pre.councilbox.com/graphql`\n    \n\n### Autenticación\n\n> **Tipo:** API Key**  \nHeader:** `x-jwt-token`  \n**Ubicación:** Header HTTP_  \nEjemplo:_ `x-jwt-token: eyJhbGciOiJIUzI1NiIsInR5cCI6...` \n  \n\n## Mapeo de Roles (`type`)\n\nEn los bloques de asistentes (`guests` y `representedParticipant`), se utiliza el campo numérico `type` para dictaminar el rol funcional de cada usuario dentro del encuentro:\n\n- **`0`** → Participante sencillo\n    \n- **`1`** → Invitado\n    \n- **`2`** → Representante\n    \n- **`3`** → Representado\n    \n\n## Referencia de la API\n\n### Variables Globales de Entrada\n\n| Parámetro | Descripción | Requerido | Tipo |\n| --- | --- | --- | --- |\n| $notifyCreation | `true`: Envía una notificación automática de confirmación al ciudadano.  <br>`false`: Registra la cita silenciosamente.  <br>Por defecto: `true` | NO | Boolean |\n| $checkAgenda | `true`: Valida la disponibilidad horaria del agente antes de insertar.  <br>`false`: Omite la comprobación y fuerza la inserción. | SI | Boolean |\n| $councilOptions.**notificationType** | Selecciona el método de notificación de la cita/gestión:  <br>`-1`: Sin notificación  <br>`0`: email  <br>`1`: SMS  <br>`2`: WhatsApp  <br>  <br>Si no se selecciona el bloque, se emplea el método por defecto configurado en el trámite. | NO | Integer |\n| $council | Configuración técnica, fechas y taxonomía de la cita (Ver desglose abajo). | SI | Object |\n| $participant | Datos de identidad y contacto del participante (Ver desglose abajo). | SI | Object |\n| $representation | Datos del Representado. (Solo se rellena en flujos de representación legal). | NO | Object |\n| $guests | Lista de participantes invitados adicionales (\\[ParticipantInput\\]). | NO | Array |\n\n### Desglose del Objeto `council` (`CouncilInput`)\n\n| Parámetro | Descripción | Requerido | Tipo |\n| --- | --- | --- | --- |\n| name | Título o nombre asignado al trámite de la cita. | SI | String |\n| companyExternalId | ID externo de la entidad. No es necesario si se envía companyId. | SI | Integer |\n| statuteExternalId | ID externo del trámite. No es necesario si se envía statuteId. | SI | Integer |\n| councilType | Canal de atención:  <br>`5` (Videoatención)  <br>`6` (Gestión desatendida)  <br>`7` (Presencial). | SI | Integer |\n| dateStart | Fecha y hora programada en formato UTC bajo el estándar ISO 8601 (YYYY-MM-DDTHH:mmZ). | SI | String |\n| tag | Identificador de origen: \"`ADMIN`\" (gestores)  <br>\"`KIOSK`\" (tótems)  <br>\"`INMEDIATE`\" (urgente)  <br>\"`URGENT`\" (huecos reservados). | SI | String |\n| readOnly | Restricción de edición: `0` (permite modificaciones desde el portal)  <br>`1` (bloqueada, solo vía API). | SI | Integer |\n| language | Idioma base en el que se configurará la cita(ej. \"es\"). Por defecto, se emplea el idioma configurado en la organización.  <br>Consultar método '`Languages`'. | NO | String |\n| contactEmail | Correo electrónico de soporte o contacto de la entidad. Por defecto se usa el parametrizado en la entidad/organización. | NO | String |\n| externalId | Identificador propio o ID único de la cita en el sistema del cliente. | NO | String |\n| conveneText | Texto o cuerpo opcional para la convocatoria de la reunión. | NO | String |\n| observations | Comentarios u observaciones generales de la cita. | NO | String |\n| internalNotes | Notas internas dirigidas al agente (no son visibles por el ciudadano). | NO | String |\n| comment | Comentarios adicionales sobre el registro. | NO | String |\n\n### Desglose del Objeto `participant` (`ParticipantInput` - Principal)\n\n| Parámetro | Descripción | Requerido | Tipo |\n| --- | --- | --- | --- |\n| name | Nombre de pila del participante. | SI | String |\n| surname | Apellidos completos del participante. | SI | Integer |\n| idCardType | Tipo de documento de identidad. Valores admitidos: \"`dni`\", \"`nif`\", \"`passport`\", \"`nie`\", \"`codiceFiscale`\" (Identificador Italia), \"`otherIDCards`\" (cualquier documento de identificación), \"`driversLicence`\" (Licencia de conducir EEUU), \"`europeanDocument`\" (documento europeo, solo válido para los documentos de los países de europa) | SI | String |\n| dni | Número del documento de identidad o identificación fiscal. | SI | String |\n| idCardCountry | Código de país del documento en formato ISO 3166-1 alfa-2 (ej. \"ES\"). | SI | String |\n| email | Dirección de correo electrónico donde el ciudadano recibirá las notificaciones. | SI | String |\n| phone | Teléfono móvil de contacto con prefijo internacional (ej. \"+34600000000\"). | SI | String |\n| language | Idioma en el que el ciudadano visualizará la interfaz de OVAC (ej. \"es\"). Por defecto, se obtiene el de la entidad/ogranización.  <br>Consultar método '`Languages`'. | NO | String |\n| zipcode | Código postal de residencia del participante. | NO | String |\n\n### Desglose de Objetos dentro del Array `guests` (`[ParticipantInput]`)\n\nCada elemento del listado de invitados comparte la estructura base de `ParticipantInput` pero añade capacidades de asignación de rol dinámico y anidación de representados:\n\n| Parámetro | Descripción | Requerido | Tipo |\n| --- | --- | --- | --- |\n| name | Nombre de pila del participante. | SI | String |\n| surname | Apellidos completos del participante. | SI | Integer |\n| idCardType | Tipo de documento de identidad. Valores admitidos: \"`dni`\", \"`nif`\", \"`passport`\", \"`nie`\", \"`codiceFiscale`\" (Identificador Italia), \"`otherIDCards`\" (cualquier documento de identificación), \"`driversLicence`\" (Licencia de conducir EEUU), \"`europeanDocument`\" (documento europeo, solo válido para los documentos de los países de europa) | SI | String |\n| dni | Número del documento de identidad o identificación fiscal. | SI | String |\n| idCardCountry | Código de país del documento en formato ISO 3166-1 alfa-2 (ej. \"ES\"). | SI | String |\n| type | `0` → Participante sencillo  <br>`1` → Invitado  <br>`2` → Representante  <br>`3` -> Representado | SI | Integer |\n| email | Dirección de correo electrónico donde el ciudadano recibirá las notificaciones. | SI | String |\n| phone | Teléfono móvil de contacto con prefijo internacional (ej. \"+34600000000\"). | SI | String |\n| language | Idioma en el que el ciudadano visualizará la interfaz de OVAC (ej. \"es\"). Por defecto, se obtiene el de la entidad/ogranización.  <br>Consultar método '`Languages`'. | NO | String |\n| zipcode | Código postal de residencia del participante. | NO | String |\n| representedParticipant | Subbloque opcional. Contiene los datos de la persona física o jurídica a la que el invitado representa. | NO | Object |\n\n### Desglose del objeto `guests` (`[representedParticipant]`)\n\n| Parámetro | Descripción | Requerido | Tipo |\n| --- | --- | --- | --- |\n| name | Nombre de pila del participante. | SI | String |\n| surname | Apellidos completos del participante. | SI | Integer |\n| idCardType | Tipo de documento de identidad. Valores admitidos: \"`dni`\", \"`nif`\", \"`passport`\", \"`nie`\", \"`codiceFiscale`\" (Identificador Italia), \"`otherIDCards`\" (cualquier documento de identificación), \"`driversLicence`\" (Licencia de conducir EEUU), \"`europeanDocument`\" (documento europeo, solo válido para los documentos de los países de europa) | SI | String |\n| dni | Número del documento de identidad o identificación fiscal. | SI | String |\n| idCardCountry | Código de país del documento en formato ISO 3166-1 alfa-2 (ej. \"ES\"). | SI | String |\n| type | `0` → Participante sencillo  <br>`1` → Invitado  <br>`2` → Representante  <br>`3` -> Representado | SI | Integer |\n| email | Dirección de correo electrónico donde el ciudadano recibirá las notificaciones. | SI | String |\n| phone | Teléfono móvil de contacto con prefijo internacional (ej. \"+34600000000\"). | SI | String |\n| language | Idioma en el que el ciudadano visualizará la interfaz de OVAC (ej. \"es\"). Por defecto, se obtiene el de la entidad/ogranización.  <br>Consultar método '`Languages`'. | NO | String |\n| zipcode | Código postal de residencia del participante. | NO | String |\n\n### Campos de respuesta (Payload)\n\n| Parámetro | Descripción | Tipo |\n| --- | --- | --- |\n| createOneOnOneCouncil | Objeto raíz con los datos de la cita generada. | Object |\n| createOneOnOneCouncil.**id** | Identificador, interno de OVAC, único de la cita generada. | Integer |\n| createOneOnOneCouncil.**accessLink** | Enlace único de acceso directo para auditar la cita. | String |\n| createOneOnOneCouncil.**creatorId** | Identificador, interno de OVAC, único del usuario que ha creado la cita. | Integer |\n\n## Ejemplos de Código y Peticiones\n\n### 1\\. Mutación GraphQL\n\n``` graphql\nmutation createAppointment(\n    $council: CouncilInput,\n    $participant: ParticipantInput,\n    $representation: ParticipantInput,\n    $notifyCreation: Boolean,\n    $checkAgenda: Boolean,\n    $guests: [ParticipantInput],\n    $councilOptions: CouncilOptions\n    )\n    {\n        createAppointment\n            (\n            council: $council,\n            participant: $participant,\n            representation: $representation,\n            notifyCreation: $notifyCreation,\n            checkAgenda: $checkAgenda,\n            guests: $guests,\n            councilOptions: $councilOptions\n            )\n        {\n            id\n            accessLink\n            creatorId\n        }\n    }\n\n ```\n\n### 2\\. Variables de la Petición (JSON Payload)\n\n``` json\n{\n    \"council\": {\n        \"name\": \"Prueba de nombre\",\n        \"companyExternalId\": \"API_TEST\",\n        \"statuteExternalId\": \"TRAMITE_TEST\",\n        \"councilType\": 5,\n        \"externalId\" : \"0000_test\",\n        \"contactEmail\": \"\",\n        \"dateStart\": \"2026-05-23T09:30Z\",\n        \"conveneText\": \"\",\n        \"observations\": \"\",\n        \"internalNotes\": \"\",\n        \"comment\": \"\",\n        \"readOnly\": 0,\n        \"tag\": \"ADMIN\"\n    },\n    \"participant\": {\n        \"name\": \"participante\",\n        \"surname\": \"test\",\n        \"idCardType\": \"dni\",\n        \"dni\" : \"11111111H\",\n        \"idCardCountry\": \"ES\",\n        \"email\": \"participante@dominio.dom\",\n        \"phone\": \"+34600000000\",\n        \"language\":\"es\",\n        \"zipcode\": \"00000\"\n   },\n    \"guests\": [{\n        \"name\": \"invitado \",\n        \"surname\": \"representante\",\n        \"idCardType\": \"passport\",\n        \"dni\" : \"00000000\",\n        \"idCardCountry\": \"ES\",\n        \"type\": 2,\n        \"email\": \"representante@dominio.dom\",\n        \"phone\": \"+34600000000\",\n        \"language\":\"es\",\n        \"zipcode\": \"00000\",\n        \"representedParticipant\": {\n            \"name\": \"invitado \",\n            \"surname\": \"representado\",\n            \"idCardType\": \"passport\",\n            \"dni\" : \"111111\",\n            \"idCardCountry\": \"ES\",\n            \"type\": 3,\n            \"email\": \"representado@dominio.dom\",\n            \"phone\": \"+34600000000\",\n            \"language\":\"es\",\n            \"zipcode\": \"00000\"\n        }\n    }],\n    \"notifyCreation\": true,\n    \"checkAgenda\": true,\n    \"councilOptions\": \n    { \n        \"notificationType\": 0 \n    }  \n}\n\n ```\n\n### 3\\. Ejemplo de comando cURL\n\n``` bash\ncurl --location 'https://api.ovac.pre.councilbox.com/graphql' \\\n--header 'Content-Type: application/json' \\\n--header 'x-jwt-token: {{token}}' \\\n--data-raw '{\"query\":\"mutation createAppointment($council: CouncilInput, $participant: ParticipantInput, $representation: ParticipantInput, $notifyCreation: Boolean, $checkAgenda: Boolean, $guests: [ParticipantInput]){ createOneOnOneCouncil(council: $council, participant: $participant, representation: $representation, notifyCreation: $notifyCreation, checkAgenda: $checkAgenda, guests: $guests) { id accessLink creatorId } }\",\"variables\":{\"council\":{\"name\":\"Prueba de nombre\",\"companyExternalId\":\"API_TEST\",\"statuteExternalId\":\"TRAMITE_TEST\",\"councilType\":5,\"externalId\":\"0000_test\",\"contactEmail\":\"\",\"dateStart\":\"2026-05-23T09:30Z\",\"conveneText\":\"\",\"observations\":\"\",\"internalNotes\":\"\",\"comment\":\"\",\"readOnly\":0,\"tag\":\"ADMIN\"},\"participant\":{\"name\":\"participante\",\"surname\":\"test\",\"idCardType\":\"dni\",\"dni\":\"11111111H\",\"idCardCountry\":\"ES\",\"email\":\"participante@dominio.dom\",\"phone\":\"+34600000000\",\"language\":\"es\",\"zipcode\":\"00000\"},\"guests\":[{\"name\":\"invitado \",\"surname\":\"representante\",\"idCardType\":\"passport\",\"dni\":\"00000000\",\"idCardCountry\":\"ES\",\"type\":2,\"email\":\"representante@dominio.dom\",\"phone\":\"+34600000000\",\"language\":\"es\",\"zipcode\":\"00000\",\"representedParticipant\":{\"name\":\"invitado \",\"surname\":\"representado\",\"idCardType\":\"passport\",\"dni\":\"111111\",\"idCardCountry\":\"ES\",\"type\":3,\"email\":\"representado@dominio.dom\",\"phone\":\"+34600000000\",\"language\":\"es\",\"zipcode\":\"00000\"}}],\"notifyCreation\":true,\"checkAgenda\":true}}'\n\n ```\n\n### 4\\. Respuesta Esperada (200 OK)\n\n``` json\n{\n    \"data\": {\n        \"createAppointment\": {\n            \"id\": 64919,\n            \"accessLink\": \"https://apitest.ovac.pre.councilbox.com/attendance/token/eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJjb3VuY2lsUGFydGljaXBhbnRJZCI6MjQ5MDE5LCJpZCI6MjQ5MDE5LCJpYXQiOjE3NzkzNjQ0MTZ9.AeUze049RfMUrY3SzgcAF9O7dfCrylpGPf1kpFK2FLU\",\n            \"creatorId\": 3476\n        }\n    }\n}\n\n ```"},"response":[{"id":"7bdda338-d8c5-4cdf-9e20-7ab1de0afe52","name":"Create Appointment Representation Guests_External","originalRequest":{"method":"POST","header":[],"body":{"mode":"graphql","graphql":{"query":"mutation createAppointment(\r\n    $council: CouncilInput,\r\n    $participant: ParticipantInput,\r\n    $representation: ParticipantInput,\r\n    $notifyCreation: Boolean,\r\n    $checkAgenda: Boolean,\r\n    $guests: [ParticipantInput],\r\n    $councilOptions: CouncilOptions\r\n    )\r\n    {\r\n        createAppointment\r\n            (\r\n            council: $council,\r\n            participant: $participant,\r\n            representation: $representation,\r\n            notifyCreation: $notifyCreation,\r\n            checkAgenda: $checkAgenda,\r\n            guests: $guests,\r\n            councilOptions: $councilOptions\r\n            )\r\n        {\r\n            id\r\n            accessLink\r\n            creatorId\r\n        }\r\n    }","variables":"{\r\n    \"council\": {\r\n        \"name\": \"Prueba de nombre\",\r\n        \"companyExternalId\": \"API_TEST\",\r\n        \"statuteExternalId\": \"TRAMITE_TEST\",\r\n        \"councilType\": 5,\r\n        \"externalId\" : \"0000_test\",\r\n        \"contactEmail\": \"\",\r\n        \"dateStart\": \"2026-05-23T09:30Z\",\r\n        \"conveneText\": \"\",\r\n        \"observations\": \"\",\r\n        \"internalNotes\": \"\",\r\n        \"comment\": \"\",\r\n        \"readOnly\": 0,\r\n        \"tag\": \"ADMIN\"\r\n    },\r\n    \"participant\": {\r\n        \"name\": \"participante\",\r\n        \"surname\": \"test\",\r\n        \"idCardType\": \"dni\",\r\n        \"dni\" : \"11111111H\",\r\n        \"idCardCountry\": \"ES\",\r\n        \"email\": \"participante@dominio.dom\",\r\n        \"phone\": \"+34600000000\",\r\n        \"language\":\"es\",\r\n        \"zipcode\": \"00000\"\r\n   },\r\n    \"guests\": [{\r\n        \"name\": \"invitado \",\r\n        \"surname\": \"representante\",\r\n        \"idCardType\": \"passport\",\r\n        \"dni\" : \"00000000\",\r\n        \"idCardCountry\": \"ES\",\r\n        \"type\": 2,\r\n        \"email\": \"representante@dominio.dom\",\r\n        \"phone\": \"+34600000000\",\r\n        \"language\":\"es\",\r\n        \"zipcode\": \"00000\",\r\n        \"representedParticipant\": {\r\n            \"name\": \"invitado \",\r\n            \"surname\": \"representado\",\r\n            \"idCardType\": \"passport\",\r\n            \"dni\" : \"111111\",\r\n            \"idCardCountry\": \"ES\",\r\n            \"type\": 3,\r\n            \"email\": \"representado@dominio.dom\",\r\n            \"phone\": \"+34600000000\",\r\n            \"language\":\"es\",\r\n            \"zipcode\": \"00000\"\r\n        }\r\n    }],\r\n    \"notifyCreation\": true,\r\n    \"checkAgenda\": true,\r\n    \"councilOptions\": \r\n    { \r\n        \"notificationType\": 0 \r\n    }  \r\n}"}},"url":{"raw":"{{domain}}/{{endpoint}}","host":["{{domain}}"],"path":["{{endpoint}}"]}},"status":"OK","code":200,"_postman_previewlanguage":"Text","header":[{"key":":status","value":200},{"key":"date","value":"Thu, 21 May 2026 12:01:32 GMT"},{"key":"content-type","value":"application/json; charset=utf-8"},{"key":"content-length","value":"230"},{"key":"content-security-policy","value":"default-src 'self';base-uri 'self';font-src 'self' https: data:;form-action 'self';frame-ancestors 'self';img-src 'self' data:;object-src 'none';script-src 'self';script-src-attr 'none';style-src 'self' https: 'unsafe-inline';upgrade-insecure-requests"},{"key":"cross-origin-opener-policy","value":"same-origin"},{"key":"cross-origin-resource-policy","value":"cross-origin"},{"key":"origin-agent-cluster","value":"?1"},{"key":"referrer-policy","value":"no-referrer"},{"key":"strict-transport-security","value":"max-age=31536000; includeSubDomains"},{"key":"x-content-type-options","value":"nosniff"},{"key":"x-dns-prefetch-control","value":"off"},{"key":"x-download-options","value":"noopen"},{"key":"x-frame-options","value":"SAMEORIGIN"},{"key":"x-permitted-cross-domain-policies","value":"none"},{"key":"x-xss-protection","value":"0"},{"key":"access-control-allow-origin","value":"*"},{"key":"etag","value":"W/\"e6-Q6F071xfhxntSnGLR9ELaQkdLkI\""},{"key":"access-control-allow-methods","value":"GET,HEAD,PUT,PATCH,POST,DELETE"}],"cookie":[],"responseTime":null,"body":"{\n    \"data\": {\n        \"createAppointment\": {\n            \"id\": 64923,\n            \"accessLink\": \"https://apitest.ovac.pre.councilbox.com/attendance/token/eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJjb3VuY2lsUGFydGljaXBhbnRJZCI6MjQ5MDI1LCJpZCI6MjQ5MDI1LCJpYXQiOjE3NzkzNjk2ODF9.lSNDCgBIxiea53EzOe45q4S5Ypm78aM9JJ7OXMsDWPY\",\n            \"creatorId\": 3476\n        }\n    }\n}","createdAt":"2026-05-22T09:43:29.000Z","updatedAt":"2026-06-12T07:41:16.000Z","uid":"45758186-7bdda338-d8c5-4cdf-9e20-7ab1de0afe52"}],"createdAt":"2026-05-22T09:43:29.000Z","updatedAt":"2026-06-17T15:58:02.000Z","uid":"45758186-3601370c-55a3-43c2-b051-684cd8a8a894"}],"id":"10bcea63-2477-4aa7-bb83-7123842deaba","description":"## EN\n\nThis folder contains methods used to create appointments in OVAC. It includes the standard appointment creation flow, management appointments, representation appointments, guest representation appointments, and their external integration variants.\n\n## ES\n\nEsta carpeta contiene métodos utilizados para crear citas en OVAC. Incluye el flujo estándar de creación de citas, citas de gestión, citas de representación, citas de representación con invitados y sus variantes para integración externa.","createdAt":"2026-06-10T16:49:39.000Z","updatedAt":"2026-06-15T19:09:58.000Z","uid":"45758186-10bcea63-2477-4aa7-bb83-7123842deaba"},{"name":"03 - Manage Appointments","item":[{"name":"Assign Appointment to Operator","id":"de47f218-6b1a-43e2-8c37-bca9fa7e0812","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"apikey","apikey":[{"key":"key","value":"x-jwt-token","type":"string"},{"key":"value","value":"{{token}}","type":"string"}]},"method":"POST","header":[],"body":{"mode":"graphql","graphql":{"query":"mutation AssignCouncilToUser($councilId: Int!, $userId: Int!)\r\n{\r\n    assignCouncilToUser(\r\n        councilId: $councilId, \r\n        userId: $userId)\r\n        {\r\n            success\r\n            message\r\n        }\r\n}","variables":"{\r\n    \"councilId\": 12345,\r\n    \"userId\": 9999\r\n}"}},"url":{"raw":"{{domain}}/{{endpoint}}","host":["{{domain}}"],"path":["{{endpoint}}"]},"description":"# Assign Appointment to Operator (`assignCouncilToUser`)\n\nEste método permite asignar una cita existente a un agente específico dentro del sistema, utilizando el identificador único de la cita y el identificador del usuario. Al completarse la mutación, el operador seleccionado asumirá el control y la gestión de la sesión de atención.\n\n### Detalles de la Solicitud\n\n- **Método HTTP:** `POST`\n    \n- **URL PRE:** `https://api.ovac.pre.councilbox.com/graphql`\n    \n- **URL PRO:** `https://api.ovac.pre.councilbox.com/graphql`\n    \n\n### Autenticación\n\n> **Tipo:** API Key**  \nHeader:** `x-jwt-token`  \n**Ubicación:** Header HTTP_  \nEjemplo:_ `x-jwt-token: eyJhbGciOiJIUzI1NiIsInR5cCI6...` \n  \n\n## Referencia de la API\n\n### Parámetros de Entrada (Variables)\n\n| Parámetro | Descripción | Requerido | Tipo |\n| --- | --- | --- | --- |\n| councilId | Identificador numérico único de la cita en la plataforma. | SI | Integer |\n| userId | Identificador numérico único del usuario (operador/agente) al que se le va a asignar la cita. | SI |  |\n\n### Campos de Respuesta (Payload)\n\nLa mutación devuelve un objeto `assignCouncilToUser` con el resultado funcional de la operación:\n\n| Parámetro | Descripción | Tipo |\n| --- | --- | --- |\n| data | Objeto dato | Object |\n| data.assignCouncilToUser | Objeto del usuario | Object |\n| data.assignCouncilToUser.success | Valor booleano de verificación de asignación. | Boolean |\n| data.assignCouncilToUser.message | Error que devuelve, por defecto _null_ | String |\n\n## Ejemplos de Código y Peticiones\n\n### 1\\. Mutación GraphQL\n\n``` graphql\nmutation AssignCouncilToUser($councilId: Int!, $userId: Int!)\n{\n    assignCouncilToUser(\n        councilId: $councilId, \n        userId: $userId)\n        {\n            success\n            message\n        }\n}\n\n ```\n\n### 2\\. Variables de la Petición (JSON Payload)\n\n``` json\n{\n    \"councilId\": 64719,\n    \"userId\": 3477\n}\n\n ```\n\n### 3\\. Ejemplo de comando cURL\n\n``` bash\ncurl --location \"https://api.ovac.pre.councilbox.com/graphql\" \\\n--header \"Content-Type: application/json\" \\\n--header \"x-jwt-token: {{token}}\" \\\n--data '{\"query\":\"mutation AssignCouncilToUser($councilId: Int!, $userId: Int!){ assignCouncilToUser(councilId: $councilId, userId: $userId){ success message } }\",\"variables\":{\"councilId\":64719,\"userId\":3477}}'\n\n ```\n\n### 4\\. Respuesta Esperada (200 OK)\n\n``` json\n{\n    \"data\": {\n        \"assignCouncilToUser\": {\n            \"success\": true,\n            \"message\": null\n        }\n    }\n}\n\n ```"},"response":[{"id":"027a4815-4f05-4e82-b552-ae40b333dcc1","name":"Assign Appointment to Operator","originalRequest":{"method":"POST","header":[],"body":{"mode":"graphql"},"url":{"raw":"{{domain}}/{{endpoint}}","host":["{{domain}}"],"path":["{{endpoint}}"]}},"_postman_previewlanguage":"Text","header":[],"cookie":[],"responseTime":null,"body":"{\r\n    \"data\": {\r\n        \"assignCouncilToUser\": {\r\n            \"success\": true,\r\n            \"message\": null\r\n        }\r\n    }\r\n}\r\n","createdAt":"2026-05-22T09:43:29.000Z","updatedAt":"2026-05-22T09:43:29.000Z","uid":"45758186-027a4815-4f05-4e82-b552-ae40b333dcc1"}],"createdAt":"2026-05-22T09:43:29.000Z","updatedAt":"2026-06-17T15:58:11.000Z","uid":"45758186-de47f218-6b1a-43e2-8c37-bca9fa7e0812"},{"name":"Assign Appointment to Operator_External","id":"933f9efa-179c-4401-80dd-9d2608c1d8d3","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"apikey","apikey":[{"key":"key","value":"x-jwt-token","type":"string"},{"key":"value","value":"{{token}}","type":"string"}]},"method":"POST","header":[],"body":{"mode":"graphql","graphql":{"query":"mutation AssignCouncilToUser($councilId: Int!, \r\n$userExternalId: String!, \r\n$companyExternalId: String!) \r\n    {\r\n    assignCouncilToUser(councilId: $councilId, \r\n        userExternalId: $userExternalId, \r\n        companyExternalId: $companyExternalId) \r\n        {\r\n            success\r\n            message\r\n        }\r\n    }","variables":"{\r\n    \"councilId\": 12345,\r\n    \"userExternalId\": \"\",\r\n    \"companyExternalId\": \"\"\r\n}"}},"url":{"raw":"{{domain}}/{{endpoint}}","host":["{{domain}}"],"path":["{{endpoint}}"]},"description":"# Assign Appointment to Operator (External ID Variant) (`assignCouncilToUser`)\n\nEste método permite asignar una cita existente a un agente utilizando el identificador externo del usuario (`userExternalId`) y el identificador externo de la organización o entidad (`companyExternalId`). Esta variante es ideal para integraciones con CRMs o sistemas legados del cliente, ya que permite realizar la asignación sin necesidad de conocer los identificadores numéricos internos de la base de datos de OVAC.\n\n### Detalles de la Solicitud\n\n- **Método HTTP:** `POST`\n    \n- **URL PRE:** `https://api.ovac.pre.councilbox.com/graphql`\n    \n- **URL PRO:** `https://api.ovac.pre.councilbox.com/graphql`\n    \n\n### Autenticación\n\n> **Tipo:** API Key**  \nHeader:** `x-jwt-token`  \n**Ubicación:** Header HTTP_  \nEjemplo:_ `x-jwt-token: eyJhbGciOiJIUzI1NiIsInR5cCI6...` \n  \n\n## Referencia de la API\n\n### Parámetros de Entrada (Variables)\n\n| Parámetro | Descripción | Requerido | Tipo |\n| --- | --- | --- | --- |\n| councilId | Identificador numérico único de la cita en la plataforma. | SI | Integer |\n| userExternalId | Identificador único del usuario en el sistema de origen del cliente. | SI | String |\n| companyExternalId | Identificador único de la entidad u organización en el sistema de origen del cliente. | SI | String |\n\n### Campos de Respuesta (Payload)\n\nLa mutación devuelve un objeto `assignCouncilToUser` con el resultado de la asignación de personal:\n\n| Parámetro | Descripción | Tipo |\n| --- | --- | --- |\n| data | Objeto dato | Object |\n| data.assignCouncilToUser | Objeto del usuario | Object |\n| data.assignCouncilToUser.success | Valor booleano de verificación de asignación. | Boolean |\n| data.assignCouncilToUser.message | Error que devuelve, por defecto _null_ | String |\n\n## Ejemplos de Código y Peticiones\n\n### 1\\. Mutación GraphQL\n\n``` graphql\nmutation AssignCouncilToUser(\n    $councilId: Int!, \n    $userId: Int, \n    $userExternalId: String, \n    $companyExternalId: String\n) {\n    assignCouncilToUser(\n        councilId: $councilId, \n        userId: $userId, \n        userExternalId: $userExternalId, \n        companyExternalId: $companyExternalId\n    ) {\n        success\n        message\n    }\n}\n\n ```\n\n### 2\\. Variables de la Petición (JSON Payload)\n\n``` json\n{\n    \"councilId\": 64886,\n    \"userExternalId\": \"TEST001\",\n    \"companyExternalId\": \"API_TEST\"\n}\n\n ```\n\n### 3\\. Ejemplo de comando cURL\n\n``` bash\ncurl --location \"https://api.ovac.pre.councilbox.com/graphql\" \\\n--header \"Content-Type: application/json\" \\\n--header \"x-jwt-token: {{token}}\" \\\n--data '{\"query\":\"mutation AssignCouncilToUser($councilId: Int!, $userId: Int, $userExternalId: String, $companyExternalId: String) { assignCouncilToUser(councilId: $councilId, userId: $userId, userExternalId: $userExternalId, companyExternalId: $companyExternalId) { success message } }\",\"variables\":{\"councilId\":64886,\"userExternalId\":\"TEST001\",\"companyExternalId\":\"API_TEST\"}}'\n\n ```\n\n### 4\\. Respuesta Esperada (200 OK)\n\n``` json\n{\n    \"data\": {\n        \"assignCouncilToUser\": {\n            \"success\": true,\n            \"message\": null\n        }\n    }\n}\n\n ```"},"response":[{"id":"4ff3ed5f-8da8-4de4-a7f1-a419d11e07d3","name":"Assign Appointment to Operator_External","originalRequest":{"method":"POST","header":[],"body":{"mode":"graphql"},"url":{"raw":"{{domain}}/{{endpoint}}","host":["{{domain}}"],"path":["{{endpoint}}"]}},"_postman_previewlanguage":"Text","header":[],"cookie":[],"responseTime":null,"body":"{\r\n    \"data\": {\r\n        \"assignCouncilToUser\": {\r\n            \"success\": true,\r\n            \"message\": null\r\n        }\r\n    }\r\n}","createdAt":"2026-05-22T09:43:29.000Z","updatedAt":"2026-05-22T09:43:29.000Z","uid":"45758186-4ff3ed5f-8da8-4de4-a7f1-a419d11e07d3"}],"createdAt":"2026-05-22T09:43:29.000Z","updatedAt":"2026-06-17T15:58:18.000Z","uid":"45758186-933f9efa-179c-4401-80dd-9d2608c1d8d3"},{"name":"Reschedule Appointment","id":"50c4edf6-daa0-4994-a097-df8552752b9e","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"apikey","apikey":[{"key":"key","value":"x-jwt-token","type":"string"},{"key":"value","value":"{{token}}","type":"string"}]},"method":"POST","header":[{"key":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"graphql","graphql":{"query":"mutation RescheduleAppointment(\n    $councilId: ID!, \n    $newDate: String!, \n    $message: String, \n    $checkAgenda: Boolean, \n    $assignedUser: Int\n    )\n    {\n        rescheduleAppointment(\n            councilId: $councilId, \n            newDate: $newDate, \n            message: $message, \n            checkAgenda: $checkAgenda, \n            assignedUser: $assignedUser\n        )\n            {\n                success\n                message\n            }\n    }","variables":"{\r\n    \"councilId\": 12345,\r\n    \"newDate\": \"2026-05-20T12:00Z\",\r\n    \"message\": \"\",\r\n    \"checkAgenda\": true,\r\n    \"assignedUser\": -1\r\n}"}},"url":{"raw":"{{domain}}/{{endpoint}}","host":["{{domain}}"],"path":["{{endpoint}}"]},"description":"# Reschedule Appointment (`rescheduleAppointment`)\n\nEsta mutación permite cambiar la fecha y hora de una cita existente en el sistema. El método incluye opciones integradas para validar la disponibilidad del nuevo hueco en tiempo real, inyectar un mensaje personalizado de notificación para el ciudadano y gestionar de forma dinámica la asignación o reasignación del agente encargado de la atención.\n\n### Detalles de la Solicitud\n\n- **Método HTTP:** `POST`\n    \n- **URL PRE:** `https://api.ovac.pre.councilbox.com/graphql`\n    \n- **URL PRO:** `https://api.ovac.pre.councilbox.com/graphql`\n    \n\n### Autenticación\n\n> **Tipo:** API Key**  \nHeader:** `x-jwt-token`  \n**Ubicación:** Header HTTP_  \nEjemplo:_ `x-jwt-token: eyJhbGciOiJIUzI1NiIsInR5cCI6...` \n  \n\n## Referencia de la API\n\n### Parámetros de Entrada (Variables)\n\n| Parámetro | Descripción | Requerido | Tipo |\n| --- | --- | --- | --- |\n| councilId | Identificador único de la cita que se va a modificar. | SI | Integer |\n| newDate | Nueva fecha y hora programada para la cita, expresada en formato UTC (ISO 8601). | SI | String |\n| message | Mensaje de texto opcional que se enviará al ciudadano notificando el cambio. | NO | String |\n| checkagenda | `true` -> El sistema valida que el nuevo slot esté libre.  <br>`false` -> Fuerza el cambio y permite reagendar saltándose la validación de la agenda. | NO | Boolean |\n| assignedUser | Control de asignación del agente profesional:  <br>`-1` -> Delega la gestión en el sistema para una asignación automática.  <br>`ID numérico` -> Fuerza la asignación al ID interno del usuario en OVAC.  <br>`Omitido / null` -> La cita quedará desasignada. | NO | Integer |\n\n> ⚠️ **Regla de Negocio Crítica (Asignación):** Si el parámetro `assignedUser` se omite de las variables o se envía como `null`, la cita pasará automáticamente al estado de **\"Sin asignar\"**, perdiendo el operador original. Se recomienda verificar las reglas del flujo de tu organización antes de dejar este campo vacío. \n  \n\n#### Campos de respuesta (Payload)\n\nLa operación devuelve un objeto funcional con el estado resultante del cambio temporal:\n\n| **Parámetro** | Descripción | **Tipo** |\n| --- | --- | --- |\n| success | Valor booleano que indica si la cita se pudo reagendar correctamente (`true`) o si fue denegada (`false`). | Boolean |\n| message | Cadena de texto explicativa en caso de fallo (ej. \"Slot no disponible\"). Si la operación es exitosa, se devuelve como `null`. | String |\n\n## Ejemplos de Código y Peticiones\n\n### 1\\. Mutación GraphQL\n\n``` graphql\nmutation RescheduleAppointment(\n    $councilId: ID!, \n    $newDate: String!, \n    $message: String, \n    $checkAgenda: Boolean, \n    $assignedUser: Int\n) {\n    rescheduleAppointment(\n        councilId: $councilId, \n        newDate: $newDate, \n        message: $message, \n        checkAgenda: $checkAgenda, \n        assignedUser: $assignedUser\n    ) {\n       success\n       message\n    }\n}\n\n ```\n\n### 2\\. Variables de la Petición (JSON Payload)\n\n``` json\n{\n    \"councilId\": 64876,\n    \"newDate\": \"2026-05-20T12:00Z\",\n    \"message\": \"Su cita ha sido reprogramada por motivos de agenda institucional.\",\n    \"checkAgenda\": true,\n    \"assignedUser\": -1\n}\n\n ```\n\n### 3\\. Ejemplo de comando cURL\n\n``` bash\ncurl --location \"https://api.ovac.pre.councilbox.com/graphql\" \\\n--header \"Content-Type: application/json\" \\\n--header \"x-jwt-token: {{token}}\" \\\n--data '{\"query\":\"mutation RescheduleAppointment($councilId: ID!, $newDate: String!, $message: String, $checkAgenda: Boolean, $assignedUser: Int){ rescheduleAppointment(councilId: $councilId, newDate: $newDate, message: $message, checkAgenda: $checkAgenda, assignedUser: $assignedUser){ success message } }\",\"variables\":{\"councilId\":64876,\"newDate\":\"2026-05-20T12:00Z\",\"message\":\"\",\"checkAgenda\":true,\"assignedUser\":-1}}'\n\n ```\n\n### 4\\. Respuesta Esperada (200 OK)\n\n``` json\n{\n    \"data\": {\n        \"rescheduleAppointment\": {\n            \"success\": true,\n            \"message\": null\n        }\n    }\n}\n\n ```"},"response":[{"id":"08db01e7-d486-4356-9ad2-4a980a363ece","name":"Reschedule Appointment","originalRequest":{"method":"POST","header":[{"key":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"graphql"},"url":{"raw":"{{domain}}/{{endpoint}}","host":["{{domain}}"],"path":["{{endpoint}}"]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":":status","value":200},{"key":"date","value":"Wed, 20 May 2026 16:37:51 GMT"},{"key":"content-type","value":"application/json; charset=utf-8"},{"key":"content-length","value":"67"},{"key":"content-security-policy","value":"default-src 'self';base-uri 'self';font-src 'self' https: data:;form-action 'self';frame-ancestors 'self';img-src 'self' data:;object-src 'none';script-src 'self';script-src-attr 'none';style-src 'self' https: 'unsafe-inline';upgrade-insecure-requests"},{"key":"cross-origin-opener-policy","value":"same-origin"},{"key":"cross-origin-resource-policy","value":"cross-origin"},{"key":"origin-agent-cluster","value":"?1"},{"key":"referrer-policy","value":"no-referrer"},{"key":"strict-transport-security","value":"max-age=31536000; includeSubDomains"},{"key":"x-content-type-options","value":"nosniff"},{"key":"x-dns-prefetch-control","value":"off"},{"key":"x-download-options","value":"noopen"},{"key":"x-frame-options","value":"SAMEORIGIN"},{"key":"x-permitted-cross-domain-policies","value":"none"},{"key":"x-xss-protection","value":"0"},{"key":"access-control-allow-origin","value":"*"},{"key":"etag","value":"W/\"43-dSg1lcptrHZ98ZY9WiPhu6j8DO0\""},{"key":"access-control-allow-methods","value":"GET,HEAD,PUT,PATCH,POST,DELETE"}],"cookie":[],"responseTime":null,"body":"{\n    \"data\": {\n        \"rescheduleAppointment\": {\n            \"success\": true,\n            \"message\": null\n        }\n    }\n}","createdAt":"2026-05-22T09:43:29.000Z","updatedAt":"2026-05-22T09:43:29.000Z","uid":"45758186-08db01e7-d486-4356-9ad2-4a980a363ece"}],"createdAt":"2026-05-22T09:43:29.000Z","updatedAt":"2026-06-17T15:58:24.000Z","uid":"45758186-50c4edf6-daa0-4994-a097-df8552752b9e"},{"name":"Cancel Appointment","id":"d6527080-e522-4734-ba01-0099f208625f","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"apikey","apikey":[{"key":"key","value":"x-jwt-token","type":"string"},{"key":"value","value":"{{token}}","type":"string"}]},"method":"POST","header":[],"body":{"mode":"graphql","graphql":{"query":"mutation CancelAppointment(\r\n  $councilId: Int!\r\n  $notify: Boolean!\r\n  $message: String\r\n) {\r\n  cancelAppointment(\r\n    councilId: $councilId\r\n    notify: $notify\r\n    message: $message\r\n  ) {\r\n    success\r\n    message\r\n  }\r\n}","variables":"{\r\n    \"councilId\": 12345,\r\n    \"notify\": true,\r\n    \"reason\": \"Motivo\",\r\n    \"message\": \"Mensaje con el motivo de cancelación\"\r\n}"}},"url":{"raw":"{{domain}}/{{endpoint}}","host":["{{domain}}"],"path":["{{endpoint}}"]},"description":"# Cancel Appointment (`mutation`)\n\nEste método permite cancelar una cita existente en el sistema identificándola a través de su `councilId`. Opcionalmente, permite notificar al participante e incluir un mensaje con el motivo de la cancelación.\n\n### Detalles de la Solicitud\n\n- **Método HTTP:** `POST`\n    \n- **URL PRE:** `https://api.ovac.pre.councilbox.com/graphql`\n    \n- **URL PRO:** `https://api.ovac.pre.councilbox.com/graphql`\n    \n\n### Autenticación\n\n> **Tipo:** API Key**  \nHeader:** `x-jwt-token`  \n**Ubicación:** Header HTTP_  \nEjemplo:_ `x-jwt-token: eyJhbGciOiJIUzI1NiIsInR5cCI6...` \n  \n\n## Referencia de la API\n\n### Parámetros de Entrada (Variables)\n\n| **Campo** | **Tipo** | **Requerido** | **Descripción** |\n| --- | --- | --- | --- |\n| **councilId** | Integer | Sí | Identificador único de la cita que se desea cancelar. |\n| **notify** | Boolean | Sí | Indica si se debe enviar una notificación automática de cancelación al participante (`true`/`false`). |\n| **message** | String | No | Texto informativo o descripción con el motivo del desestimiento. |\n\n⚠️ **Nota sobre versiones anteriores:** El campo `reason` que aparecía en ejemplos antiguos ha sido depurado. No forma parte de la mutación y será ignorado por el backend.\n\n### Campos de Respuesta (Payload)\n\nAl ejecutar la mutación, el sistema devolverá un objeto `cancelAppointment` con los siguientes campos funcionales:\n\n| **Campo** | **Tipo** | **Descripción** |\n| --- | --- | --- |\n| **success** | Boolean | Devuelve `true` si la cancelación se procesó correctamente; `false` en caso contrario. |\n| **message** | String | Mensaje informativo del sistema o detalle del error. Puede devolver `null` si la operación es limpia. |\n\n## Ejemplos de Código y Peticiones\n\n### 1\\. Mutación GraphQL\n\n``` graphql\nmutation CancelAppointment($councilId: Int!, $notify: Boolean!, $message: String) {\n    cancelAppointment(councilId: $councilId, notify: $notify, message: $message) {\n        success\n        message\n    }\n}\n\n ```\n\n### 2\\. Variables de la Petición (JSON Payload)\n\n``` json\n{\n    \"councilId\": 64683,\n    \"notify\": true,\n    \"message\": \"MOTIVO CANCELACION\"\n}\n\n ```\n\n### 3\\. Ejemplo de comando cURL\n\n``` bash\ncurl --location 'https://api.ovac.pre.councilbox.com/graphql' \\\n--header 'Content-Type: application/json' \\\n--header 'x-jwt-token: {{token}}' \\\n--data '{\"query\":\"mutation CancelAppointment($councilId: Int!, $notify: Boolean!, $message: String){\\n    cancelAppointment(councilId: $councilId, notify:$notify, message: $message){\\n        success\\n        message\\n    }\\n}\\n\",\"variables\":{\"councilId\":64683,\"notify\":true,\"message\":\"MOTIVO CANCELACION\"}}'\n\n ```\n\n### 4\\. Respuesta Esperada (200 OK)\n\n``` json\n{\n    \"data\": {\n        \"cancelAppointment\": {\n            \"success\": true,\n            \"message\": null\n        }\n    }\n}\n\n ```"},"response":[{"id":"b027289a-f0b6-4445-bb1a-c6e4f670c7e1","name":"Cancel Appointment","originalRequest":{"method":"POST","header":[],"body":{"mode":"graphql"},"url":{"raw":"{{domain}}/{{endpoint}}","host":["{{domain}}"],"path":["{{endpoint}}"]}},"status":"OK","code":200,"_postman_previewlanguage":"Text","header":[{"key":":status","value":200},{"key":"date","value":"Wed, 20 May 2026 16:00:21 GMT"},{"key":"content-type","value":"application/json; charset=utf-8"},{"key":"content-length","value":"63"},{"key":"content-security-policy","value":"default-src 'self';base-uri 'self';font-src 'self' https: data:;form-action 'self';frame-ancestors 'self';img-src 'self' data:;object-src 'none';script-src 'self';script-src-attr 'none';style-src 'self' https: 'unsafe-inline';upgrade-insecure-requests"},{"key":"cross-origin-opener-policy","value":"same-origin"},{"key":"cross-origin-resource-policy","value":"cross-origin"},{"key":"origin-agent-cluster","value":"?1"},{"key":"referrer-policy","value":"no-referrer"},{"key":"strict-transport-security","value":"max-age=31536000; includeSubDomains"},{"key":"x-content-type-options","value":"nosniff"},{"key":"x-dns-prefetch-control","value":"off"},{"key":"x-download-options","value":"noopen"},{"key":"x-frame-options","value":"SAMEORIGIN"},{"key":"x-permitted-cross-domain-policies","value":"none"},{"key":"x-xss-protection","value":"0"},{"key":"access-control-allow-origin","value":"*"},{"key":"etag","value":"W/\"3f-ad20u8PjRiZMqA8oqaQ7VyuR3y0\""},{"key":"access-control-allow-methods","value":"GET,HEAD,PUT,PATCH,POST,DELETE"}],"cookie":[],"responseTime":null,"body":"{\n    \"data\": {\n        \"cancelAppointment\": {\n            \"success\": true,\n            \"message\": null\n        }\n    }\n}","createdAt":"2026-05-22T09:43:29.000Z","updatedAt":"2026-05-22T09:43:29.000Z","uid":"45758186-b027289a-f0b6-4445-bb1a-c6e4f670c7e1"}],"createdAt":"2026-05-22T09:43:29.000Z","updatedAt":"2026-06-17T15:58:30.000Z","uid":"45758186-d6527080-e522-4734-ba01-0099f208625f"},{"name":"Cancel Appointment_External","id":"cbe2048d-5d4b-4f15-8b01-8b6b1b96e319","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"apikey","apikey":[{"key":"key","value":"x-jwt-token","type":"string"},{"key":"value","value":"{{token}}","type":"string"}]},"method":"POST","header":[],"body":{"mode":"graphql","graphql":{"query":"mutation CancelAppointment(\r\n  $councilId: Int!\r\n  $notify: Boolean!\r\n  $message: String\r\n) {\r\n  cancelAppointment(\r\n    councilId: $councilId\r\n    notify: $notify\r\n    message: $message\r\n  ) {\r\n    success\r\n    message\r\n  }\r\n}","variables":"{\r\n    \"councilId\": 12345,\r\n    \"notify\": true,\r\n    \"reason\": \"Motivo\",\r\n    \"message\": \"Mensaje con el motivo de cancelación\"\r\n}"}},"url":{"raw":"{{domain}}/{{endpoint}}","host":["{{domain}}"],"path":["{{endpoint}}"]},"description":"# Cancel Appointment (`mutation`)\n\nEste método permite cancelar una cita existente en el sistema identificándola a través de su `councilId`. La operación admite la posibilidad de notificar de forma automática al participante sobre la revocación de la cita mediante el parámetro `notify`, así como incluir un texto descriptivo con el motivo de la cancelación a través del campo `message`.\n\n### Detalles de la Solicitud\n\n- **Método HTTP:** `POST`\n    \n- **URL PRE:** `https://api.ovac.pre.councilbox.com/graphql`\n    \n- **URL PRO:** `https://api.ovac.pre.councilbox.com/graphql`\n    \n\n### Autenticación\n\n> **Tipo:** API Key**  \nHeader:** `x-jwt-token`  \n**Ubicación:** Header HTTP_  \nEjemplo:_ `x-jwt-token: eyJhbGciOiJIUzI1NiIsInR5cCI6...` \n  \n\n## Referencia de la API\n\n### Parámetros de Entrada (Variables)\n\n| Parámetro | Descripción | Requerido | Tipo |\n| --- | --- | --- | --- |\n| councilId | Id de la cita que se desea cancelar. | SI | Integer |\n| notify | Campo para activar o desactivar el aviso de cancelación de la cita al participante. | SI | Boolean |\n| message | Mensaje con el motivo de cancelación de la cita. | NO | String |\n\n> StartFragment⚠️ **Nota de Depuración:** En ejemplos de integración antiguos figuraba el campo `reason` dentro de las variables. Este parámetro no forma parte de la firma de la mutación `cancelAppointment` y el backend lo ignorará por completo. Se recomienda eliminarlo de los payloads activos.EndFragment \n  \n\n### Campos de Respuesta (Payload)\n\nLa operación devuelve un resultado funcional simple bajo el objeto `cancelAppointment`:\n\n| **Campo** | **Tipo** | **Descripción** |\n| --- | --- | --- |\n| **success** | Boolean | Devuelve `true` si la cancelación se procesó correctamente; `false` en caso contrario. |\n| **message** | String | Mensaje informativo del sistema o detalle del error. Puede devolver `null` si la operación es limpia. |\n\n## Ejemplos de Código y Peticiones\n\n### 1\\. Mutación GraphQL\n\n``` graphql\nmutation CancelAppointment($councilId: Int!, $notify: Boolean!, $message: String) {\n    cancelAppointment(councilId: $councilId, notify: $notify, message: $message) {\n        success\n        message\n    }\n}\n\n ```\n\n### 2\\. Variables de la Petición (JSON Payload)\n\n``` json\n{\n    \"councilId\": 64683,\n    \"notify\": true,\n    \"message\": \"MOTIVO CANCELACION\"\n}\n\n ```\n\n### 3\\. Ejemplo de comando cURL\n\n``` bash\ncurl --location 'https://api.ovac.pre.councilbox.com/graphql' \\\n--header 'Content-Type: application/json' \\\n--header 'x-jwt-token: {{token}}' \\\n--data '{\"query\":\"mutation CancelAppointment($councilId: Int!, $notify: Boolean!, $message: String){ cancelAppointment(councilId: $councilId, notify:$notify, message: $message){ success message } }\",\"variables\":{\"councilId\":64683,\"notify\":true,\"message\":\"MOTIVO CANCELACION\"}}'\n\n ```\n\n### 4\\. Respuesta Esperada (200 OK)\n\n``` json\n{\n    \"data\": {\n        \"cancelAppointment\": {\n            \"success\": true,\n            \"message\": null\n        }\n    }\n}\n\n ```"},"response":[{"id":"541e3f9f-bfd8-42e1-be47-3d8f91b02543","name":"Cancel Appointment","originalRequest":{"method":"POST","header":[],"body":{"mode":"graphql"},"url":{"raw":"{{domain}}/{{endpoint}}","host":["{{domain}}"],"path":["{{endpoint}}"]}},"status":"OK","code":200,"_postman_previewlanguage":"Text","header":[{"key":":status","value":200},{"key":"date","value":"Wed, 20 May 2026 16:00:21 GMT"},{"key":"content-type","value":"application/json; charset=utf-8"},{"key":"content-length","value":"63"},{"key":"content-security-policy","value":"default-src 'self';base-uri 'self';font-src 'self' https: data:;form-action 'self';frame-ancestors 'self';img-src 'self' data:;object-src 'none';script-src 'self';script-src-attr 'none';style-src 'self' https: 'unsafe-inline';upgrade-insecure-requests"},{"key":"cross-origin-opener-policy","value":"same-origin"},{"key":"cross-origin-resource-policy","value":"cross-origin"},{"key":"origin-agent-cluster","value":"?1"},{"key":"referrer-policy","value":"no-referrer"},{"key":"strict-transport-security","value":"max-age=31536000; includeSubDomains"},{"key":"x-content-type-options","value":"nosniff"},{"key":"x-dns-prefetch-control","value":"off"},{"key":"x-download-options","value":"noopen"},{"key":"x-frame-options","value":"SAMEORIGIN"},{"key":"x-permitted-cross-domain-policies","value":"none"},{"key":"x-xss-protection","value":"0"},{"key":"access-control-allow-origin","value":"*"},{"key":"etag","value":"W/\"3f-ad20u8PjRiZMqA8oqaQ7VyuR3y0\""},{"key":"access-control-allow-methods","value":"GET,HEAD,PUT,PATCH,POST,DELETE"}],"cookie":[],"responseTime":null,"body":"{\n    \"data\": {\n        \"cancelAppointment\": {\n            \"success\": true,\n            \"message\": null\n        }\n    }\n}","createdAt":"2026-05-22T09:43:29.000Z","updatedAt":"2026-05-22T09:43:29.000Z","uid":"45758186-541e3f9f-bfd8-42e1-be47-3d8f91b02543"}],"createdAt":"2026-05-22T09:43:29.000Z","updatedAt":"2026-06-17T15:58:38.000Z","uid":"45758186-cbe2048d-5d4b-4f15-8b01-8b6b1b96e319"},{"name":"Share Appointment","id":"49e9e7b1-518b-4268-b3e6-fd306f5e479a","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"apikey","apikey":[{"key":"value","value":"{{token}}","type":"string"},{"key":"key","value":"x-jwt-token","type":"string"}]},"method":"POST","header":[],"body":{"mode":"graphql","graphql":{"query":"mutation ShareAppointment (\r\n    $councilId: ID!,\r\n    $requirePin: Int\r\n\r\n){\r\n    shareAppointment(\r\n        councilId: $councilId,\r\n        requirePin: $requirePin,\r\n    ) {\r\n        url\r\n        pin\r\n    }\r\n}","variables":"{\r\n    \"councilId\": 12345,\r\n    \"requirePin\": 1\r\n}"}},"url":{"raw":"{{domain}}/{{endpoint}}","host":["{{domain}}"],"path":["{{endpoint}}"]},"description":"# Share Appointment (`shareAppointment`)\n\nEsta mutación permite generar un enlace único de acceso compartido para una cita específica. Adicionalmente, expone un parámetro de seguridad ajustable que permite condicionar el acceso de terceros mediante un código PIN dinámico generado por el sistema.\n\n### Detalles de la Solicitud\n\n- **Método HTTP:** `POST`\n    \n- **URL PRE:** `https://api.ovac.pre.councilbox.com/graphql`\n    \n- **URL PRO:** `https://api.ovac.pre.councilbox.com/graphql`\n    \n\n### Autenticación\n\n> **Tipo:** API Key**  \nHeader:** `x-jwt-token`  \n**Ubicación:** Header HTTP_  \nEjemplo:_ `x-jwt-token: eyJhbGciOiJIUzI1NiIsInR5cCI6...` \n  \n\n## Referencia de la API\n\n### Parámetros de Entrada (Variables)\n\n| Parámetro | Descripción | Requerido | Tipo |\n| --- | --- | --- | --- |\n| councilId | Identificador único de la cita a la que se desea permitir el acceso. | SI | Integer |\n| requirePin | Parámetro de seguridad para el nivel de acceso:  <br>`0` -> Acceso directo sin autenticación adicional.  <br>`1` -> Requiere PIN de seguridad (se generará en la respuesta). | SI | Integer |\n\n### Campos de Respuesta (Payload)\n\nLa mutación devuelve un objeto `shareAppointment` con el enlace securizado:\n\n| Parámetro | Descripción | Tipo |\n| --- | --- | --- |\n| shareAppointment | Objeto raíz con los datos del enlace compartido generado. | Object |\n| shareAppointment.**url** | Enlace único de acceso directo para auditar la cita. | String |\n| shareAppointment.**pin** | Código numérico secreto de acceso. Este campo solo se devolverá si $requirePin fue enviado con valor 1. | Integer |\n\n## Ejemplos de Código y Peticiones\n\n### 1\\. Mutación GraphQL\n\n``` graphql\nmutation ShareAppointment($councilId: ID!, $requirePin: Int) {\n    shareAppointment(councilId: $councilId, requirePin: $requirePin) {\n        url\n        pin\n    }\n}\n\n ```\n\n### 2\\. Variables de la Petición (JSON Payload)\n\n``` json\n{\n    \"councilId\": 64767,\n    \"requirePin\": 1\n}\n\n ```\n\n### 3\\. Ejemplo de comando cURL\n\n``` bash\ncurl --location \"https://api.ovac.pre.councilbox.com/graphql\" \\\n--header \"Content-Type: application/json\" \\\n--header \"x-jwt-token: {{token}}\" \\\n--data '{\"query\":\"mutation ShareAppointment ($councilId: ID!, $requirePin: Int){ shareAppointment(councilId: $councilId, requirePin: $requirePin) { url pin } }\",\"variables\":{\"councilId\":64767,\"requirePin\":1}}'\n\n ```\n\n### 4\\. Respuesta Esperada (200 OK)\n\n``` json\n{\n    \"data\": {\n        \"shareAppointment\": {\n            \"url\": \"https://l.councilbox.com/to/82e520fb\",\n            \"pin\": 18065\n        }\n    }\n}\n\n ```"},"response":[{"id":"ae2c757f-85f7-4df6-942f-1ff3bd176ab4","name":"Share Appointment","originalRequest":{"method":"POST","header":[],"body":{"mode":"graphql"},"url":{"raw":"{{domain}}/{{endpoint}}","host":["{{domain}}"],"path":["{{endpoint}}"]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":":status","value":200},{"key":"date","value":"Wed, 20 May 2026 16:35:04 GMT"},{"key":"content-type","value":"application/json; charset=utf-8"},{"key":"content-length","value":"89"},{"key":"content-security-policy","value":"default-src 'self';base-uri 'self';font-src 'self' https: data:;form-action 'self';frame-ancestors 'self';img-src 'self' data:;object-src 'none';script-src 'self';script-src-attr 'none';style-src 'self' https: 'unsafe-inline';upgrade-insecure-requests"},{"key":"cross-origin-opener-policy","value":"same-origin"},{"key":"cross-origin-resource-policy","value":"cross-origin"},{"key":"origin-agent-cluster","value":"?1"},{"key":"referrer-policy","value":"no-referrer"},{"key":"strict-transport-security","value":"max-age=31536000; includeSubDomains"},{"key":"x-content-type-options","value":"nosniff"},{"key":"x-dns-prefetch-control","value":"off"},{"key":"x-download-options","value":"noopen"},{"key":"x-frame-options","value":"SAMEORIGIN"},{"key":"x-permitted-cross-domain-policies","value":"none"},{"key":"x-xss-protection","value":"0"},{"key":"access-control-allow-origin","value":"*"},{"key":"etag","value":"W/\"59-K/7bfzoxh1nHmQxpFMY/p2UQbN8\""},{"key":"access-control-allow-methods","value":"GET,HEAD,PUT,PATCH,POST,DELETE"}],"cookie":[],"responseTime":null,"body":"{\n    \"data\": {\n        \"shareAppointment\": {\n            \"url\": \"https://l.councilbox.com/to/f5be6e55\",\n            \"pin\": 18633\n        }\n    }\n}","createdAt":"2026-05-22T09:43:29.000Z","updatedAt":"2026-06-15T19:34:07.000Z","uid":"45758186-ae2c757f-85f7-4df6-942f-1ff3bd176ab4"}],"createdAt":"2026-05-22T09:43:29.000Z","updatedAt":"2026-06-17T15:58:43.000Z","uid":"45758186-49e9e7b1-518b-4268-b3e6-fd306f5e479a"},{"name":"Close Appointment","id":"c802637b-143b-4c9d-aa1b-a37725f0d0a5","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"apikey","apikey":[{"key":"value","value":"{{token}}","type":"string"},{"key":"key","value":"x-jwt-token","type":"string"}]},"method":"POST","header":[],"body":{"mode":"graphql","graphql":{"query":"mutation endCouncil (\r\n    $councilId: Int!\r\n    $internalNotes: String\r\n){\r\n    endCouncil(\r\n        councilId: $councilId\r\n        internalNotes: $internalNotes\r\n    ) {\r\n        success\r\n    }\r\n}","variables":"{\r\n    \"councilId\": 12345,\r\n    \"internalNotes\": \"Se finaliza la gestión de forma correcta\"\r\n}"}},"url":{"raw":"{{domain}}/{{endpoint}}","host":["{{domain}}"],"path":["{{endpoint}}"]},"description":"# Close Appointment (`mutation`)\n\nEsta operación permite finalizar una cita o gestión. Al ejecutar esta mutación, el sistema bloquea cualquier interacción posterior, actualiza el estado del encuentro al ciclo de cierre y consolida de forma definitiva el rastro de auditoría junto con las anotaciones administrativas aportadas por el agente o el sistema de origen.\n\n### Detalles de la Solicitud\n\n- **Método HTTP:** `POST`\n    \n- **URL PRE:** `https://api.ovac.pre.councilbox.com/graphql`\n    \n- **URL PRO:** `https://api.ovac.pre.councilbox.com/graphql`\n    \n\n### Autenticación\n\n> **Tipo:** API Key**  \nHeader:** `x-jwt-token`  \n**Ubicación:** Header HTTP_  \nEjemplo:_ `x-jwt-token: eyJhbGciOiJIUzI1NiIsInR5cCI6...` \n  \n\n## Referencia de la API\n\n### Parámetros de entrada (variables)\n\n| Parámetro | Descripción | Requerido | Tipo |\n| --- | --- | --- | --- |\n| councilId | Identificador numérico único de la cita o gestión que se desea consultar. | SI | Int |\n| internalNotes | Texto libre para incorporar notas internas sobre la resolución de la cita/gestión. | NO | String |\n\n### Campos de respuesta (Payload)\n\nLa mutación devuelve un objeto de confirmación bajo el campo raíz `endCouncil`:\n\n| Parámetro | Descripción | Tipo |\n| --- | --- | --- |\n| endCouncil | Objeto contenedor con el resultado de la solicitud de finalización. | Object |\n| endCouncil.success | Bandera booleana que confirma si el proceso de cierre de la cita fue satisfactorio (`true` | `false`). |\n\n## Ejemplos de código y peticiones\n\n### 1\\. Consulta GraphQL\n\n``` graphql\nmutation endCouncil (\n    $councilId: Int!\n    $internalNotes: String\n){\n    endCouncil(\n        councilId: $councilId\n        internalNotes: $internalNotes\n    ) {\n        success\n    }\n}\n\n ```\n\n### 2\\. Variables de la petición (JSON Payload)\n\n``` json\n{\n    \"councilId\": 65164,\n    \"internalNotes\": \"Se finaliza la gestión de forma correcta\"\n}\n\n ```\n\n### 3\\. Ejemplo de comando cURL\n\n``` bash\ncurl --location 'https://api.ovac.pre.councilbox.com/graphql' \\\n--header 'Content-Type: application/json' \\\n--header 'x-jwt-token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJqdGkiOiJiNmQxOTY3ZS04MDY3LTRiMDUtYjQ0MS0zZmFhYWVlN2M3ZDUiLCJ1c2VyX2lkIjozNDc2LCJ0b2tlbl90eXBlIjoidXNlciIsImlhdCI6MTt4MTA3NjAyMH0.aXYLM7tX0xYjzi4m7gGNUlZ4Dj15cG-iIakmzGwhDTs' \\\n--data '{\"query\":\"mutation endCouncil ($councilId: Int!, $internalNotes: String){ endCouncil(councilId: $councilId, internalNotes: $internalNotes) { success } }\",\"variables\":{\"councilId\":65164,\"internalNotes\":\"Se finaliza la gestión de forma correcta\"}}'\n\n ```\n\n### 4\\. Respuesta esperada (200 OK)\n\n``` json\n{\n    \"data\": {\n        \"endCouncil\": {\n            \"success\": true\n        }\n    }\n}\n\n ```"},"response":[{"id":"caf72703-9c1a-4299-b647-b0dbd3b08c89","name":"Close Appointment","originalRequest":{"method":"POST","header":[],"body":{"mode":"graphql"},"url":{"raw":"{{domain}}/{{endpoint}}","host":["{{domain}}"],"path":["{{endpoint}}"]}},"status":"OK","code":200,"_postman_previewlanguage":"Text","header":[{"key":":status","value":200},{"key":"date","value":"Tue, 09 Jun 2026 13:39:25 GMT"},{"key":"content-type","value":"application/json; charset=utf-8"},{"key":"content-length","value":"41"},{"key":"content-security-policy","value":"default-src 'self';base-uri 'self';font-src 'self' https: data:;form-action 'self';frame-ancestors 'self';img-src 'self' data:;object-src 'none';script-src 'self';script-src-attr 'none';style-src 'self' https: 'unsafe-inline';upgrade-insecure-requests"},{"key":"cross-origin-opener-policy","value":"same-origin"},{"key":"cross-origin-resource-policy","value":"cross-origin"},{"key":"origin-agent-cluster","value":"?1"},{"key":"referrer-policy","value":"no-referrer"},{"key":"strict-transport-security","value":"max-age=31536000; includeSubDomains"},{"key":"x-content-type-options","value":"nosniff"},{"key":"x-dns-prefetch-control","value":"off"},{"key":"x-download-options","value":"noopen"},{"key":"x-frame-options","value":"SAMEORIGIN"},{"key":"x-permitted-cross-domain-policies","value":"none"},{"key":"x-xss-protection","value":"0"},{"key":"access-control-allow-origin","value":"*"},{"key":"etag","value":"W/\"29-MBw7Ix9pzQDOorcxgTM8r84VafA\""},{"key":"access-control-allow-methods","value":"GET,HEAD,PUT,PATCH,POST,DELETE"}],"cookie":[],"responseTime":null,"body":"{\n    \"data\": {\n        \"endCouncil\": {\n            \"success\": true\n        }\n    }\n}","createdAt":"2026-06-10T09:16:34.000Z","updatedAt":"2026-06-10T09:16:34.000Z","uid":"45758186-caf72703-9c1a-4299-b647-b0dbd3b08c89"}],"createdAt":"2026-06-10T09:16:34.000Z","updatedAt":"2026-06-17T15:58:52.000Z","uid":"45758186-c802637b-143b-4c9d-aa1b-a37725f0d0a5"},{"name":"Add Step to Appointment","id":"3254dc7e-a05e-4dcc-bd50-300dde700dc2","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"apikey","apikey":[{"key":"value","value":"{{token}}","type":"string"},{"key":"key","value":"x-jwt-token","type":"string"}]},"method":"POST","header":[],"body":{"mode":"graphql","graphql":{"query":"mutation AddAgendaPoint (\r\n    $agenda: AgendaInput\r\n){\r\n    addAgendaPoint(\r\n        agenda: $agenda\r\n    ) {\r\n        id\r\n    }\r\n}","variables":"{\r\n    \"agenda\": {\r\n        \"councilId\": 65167,\r\n        \"subjectType\": 9,\r\n        \"agendaSubject\": \"TEST API\"\r\n    }\r\n}"}},"url":{"raw":"{{domain}}/{{endpoint}}","host":["{{domain}}"],"path":["{{endpoint}}"]},"description":"# Add step to appointment (`mutation`)\n\nEsta operación permite añadir dinámicamente un nuevo paso durante la ejecución de la cita/gestión, por ejemplo, un consentimiento explícito. De forma automática, en vivo, se añadirá un nuevo paso en la plataforma como complemento a la cita/gestión.\n\n### Detalles de la Solicitud\n\n- **Método HTTP:** `POST`\n    \n- **URL PRE:** `https://api.ovac.pre.councilbox.com/graphql`\n    \n- **URL PRO:** `https://api.ovac.pre.councilbox.com/graphql`\n    \n\n### Autenticación\n\n> **Tipo:** API Key**  \nHeader:** `x-jwt-token`  \n**Ubicación:** Header HTTP_  \nEjemplo:_ `x-jwt-token: eyJhbGciOiJIUzI1NiIsInR5cCI6...` \n  \n\n## Referencia de la API\n\n### Parámetros de entrada (variables)\n\n| Parámetro | Descripción | Requerido | Tipo |\n| --- | --- | --- | --- |\n| agenda | Objeto contenedor principal con las propiedades técnicas del punto a insertar. | SI | Object |\n| agenda.**councilId** | Identificador numérico único de la cita existente a la cual se asociará el punto. | SI | Integer |\n| agenda.**subjectType** | Código numérico que define el comportamiento del punto en la interfaz:  <br>`9` -> Consentimiento explícito . | SI |  |\n| agenda.**agendaSubject** | Enunciado, título literal o descripción pública de la votación o consentimiento legal. | NO | String |\n\n### Campos de respuesta (Payload)\n\nLa mutación devuelve un objeto estructurado bajo el campo raíz `addAgendaPoint:`\n\n| Parámetro | Descripción | Tipo |\n| --- | --- | --- |\n| addAgendaPoint | Objeto con el resultado del punto del orden del día registrado. | Object |\n| addAgendaPoint.id | Identificador único generado para el nuevo punto del orden del día insertado | Integer |\n\n## Ejemplos de código y peticiones\n\n### 1\\. Consulta GraphQL\n\n``` graphql\nmutation AddAgendaPoint (\n    $agenda: AgendaInput\n){\n    addAgendaPoint(\n        agenda: $agenda\n    ) {\n        id\n    }\n}\n\n ```\n\n### 2\\. Variables de la Petición (JSON Payload)\n\n``` json\n{\n    \"agenda\": {\n        \"councilId\": 65167,\n        \"subjectType\": 9,\n        \"agendaSubject\": \"TEST API\"\n    }\n}\n\n ```\n\n### 3\\. Ejemplo de comando cURL\n\n``` bash\ncurl --location 'https://api.ovac.pre.councilbox.com/graphql' \\\n--header 'Content-Type: application/json' \\\n--header 'x-jwt-token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJqdGkiOiJiNmQxOTY3ZS04MDY3LTRiMDUtYjQ0MS0zZmFhYWVlN2M3ZDUiLCJ1c2VyX2lkIjozND76LCJ0b2tlbl90eXBlIjoidXNlciIsImlhdCI6MTc4MTA3NjAyMH0.aXYLM7tX0xYjzi4m7gGNUlZ4Dj15cG-iIakmzGwhDTs' \\\n--data '{\"query\":\"mutation AddAgendaPoint ($agenda: AgendaInput){ addAgendaPoint(agenda: $agenda) { id } }\",\"variables\":{\"agenda\":{\"councilId\":65167,\"subjectType\":9,\"agendaSubject\":\"TEST API\"}}}'\n\n ```\n\n### 4\\. Respuesta Esperada (200 OK)\n\n``` json\n{\n    \"data\": {\n        \"addAgendaPoint\": {\n            \"id\": 91051\n        }\n    }\n}\n\n ```"},"response":[{"id":"94bec997-3325-491d-b0bb-b660801312d0","name":"Add step to Appointment","originalRequest":{"method":"POST","header":[],"body":{"mode":"graphql"},"url":{"raw":"{{domain}}/{{endpoint}}","host":["{{domain}}"],"path":["{{endpoint}}"]}},"status":"OK","code":200,"_postman_previewlanguage":"Text","header":[{"key":":status","value":200},{"key":"date","value":"Tue, 09 Jun 2026 13:34:12 GMT"},{"key":"content-type","value":"application/json; charset=utf-8"},{"key":"content-length","value":"41"},{"key":"content-security-policy","value":"default-src 'self';base-uri 'self';font-src 'self' https: data:;form-action 'self';frame-ancestors 'self';img-src 'self' data:;object-src 'none';script-src 'self';script-src-attr 'none';style-src 'self' https: 'unsafe-inline';upgrade-insecure-requests"},{"key":"cross-origin-opener-policy","value":"same-origin"},{"key":"cross-origin-resource-policy","value":"cross-origin"},{"key":"origin-agent-cluster","value":"?1"},{"key":"referrer-policy","value":"no-referrer"},{"key":"strict-transport-security","value":"max-age=31536000; includeSubDomains"},{"key":"x-content-type-options","value":"nosniff"},{"key":"x-dns-prefetch-control","value":"off"},{"key":"x-download-options","value":"noopen"},{"key":"x-frame-options","value":"SAMEORIGIN"},{"key":"x-permitted-cross-domain-policies","value":"none"},{"key":"x-xss-protection","value":"0"},{"key":"access-control-allow-origin","value":"*"},{"key":"etag","value":"W/\"29-UMzK3mqh+EE60McjN9ocVzFyuAw\""},{"key":"access-control-allow-methods","value":"GET,HEAD,PUT,PATCH,POST,DELETE"}],"cookie":[],"responseTime":null,"body":"{\n    \"data\": {\n        \"addAgendaPoint\": {\n            \"id\": 91051\n        }\n    }\n}","createdAt":"2026-06-10T09:16:34.000Z","updatedAt":"2026-06-15T19:33:47.000Z","uid":"45758186-94bec997-3325-491d-b0bb-b660801312d0"}],"createdAt":"2026-06-10T09:16:34.000Z","updatedAt":"2026-06-17T15:58:57.000Z","uid":"45758186-3254dc7e-a05e-4dcc-bd50-300dde700dc2"},{"name":"Update Appointment External ID","id":"b161bc7c-ca7f-41d4-a4c2-004ae56db7b9","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"apikey","apikey":[{"key":"value","value":"{{token}}","type":"string"},{"key":"key","value":"x-jwt-token","type":"string"}]},"method":"POST","header":[],"body":{"mode":"graphql","graphql":{"query":"mutation UpdateCouncil (\r\n    $council: CouncilInput!\r\n){\r\n    updateCouncil(\r\n        council: $council\r\n    ) {\r\n        id\r\n        externalId\r\n    }\r\n}","variables":"{\r\n    \"council\": {\r\n        \"id\": 64919,\r\n        \"externalId\": \"IdExterno000007\" \r\n    }\r\n}"}},"url":{"raw":"{{domain}}/{{endpoint}}","host":["{{domain}}"],"path":["{{endpoint}}"]},"description":"# Update Appointment External ID (`mutation`)\n\nEsta mutación permite actualizar de manera dinámica el identificador alfanumérico externo (`externalId`) asignado a una cita existente. Es una herramienta operativa clave para corregir, sincronizar o remapear las claves de correspondencia entre la plataforma y los sistemas de origen del integrador (como CRMs, gestores de expedientes o plataformas de tramitación).\n\n⚠️ **Regla crítica de estado (Business Rule):** Para que la actualización sea procesada con éxito por el backend, la cita debe encontrarse estrictamente en un estado activo o pendiente. El motor de validación de la API denegará la mutación lanzando una excepción si la cita se encuentra en alguno de los siguientes estados de cierre o bloqueo:\n\n- **Cancelado** (`-1`)\n    \n- **Finalizado** (`60`)\n    \n- **Incompleto** (`65`)\n    \n\n### Detalles de la Solicitud\n\n- **Método HTTP:** `POST`\n    \n- **URL PRE:** `https://api.ovac.pre.councilbox.com/council/:councilId/act`\n    \n- **URL PRO:** `https://api.ovac.councilbox.com/council/:councilId/act`\n    \n- **Content-Type:** `multipart/form-data`\n    \n\n### Cabeceras (Headers)\n\n| **Key** | **Value** | **Requerido** | **Descripción** |\n| --- | --- | --- | --- |\n| **x-jwt-token** | {{token}} | SI | Token JWT de autenticación obtenido previamente en el método de login. |\n\n## Referencia de la API\n\n### Parámetros de entrada (Path parameters)\n\n| Parámetro | Descripción | Requerido | Tipo |\n| --- | --- | --- | --- |\n| **council** | Objeto contenedor principal con las propiedades de la cita que se desean modificar. | SI | CouncilInput |\n| council.**id** | Identificador numérico único de la cita (`councilId`) sobre la cual se aplicará el cambio. | SI | Integer |\n| council.**externalId** | Nuevo código o cadena alfanumérica de correspondencia externa aportada por el sistema externo. | SI | String |\n\n### Campos de respuesta (Payload)\n\nLa mutación devuelve un objeto de confirmación estructurado bajo el campo raíz `updateCouncil`:\n\n| Parámetro | Descripción | Tipo |\n| --- | --- | --- |\n| **updateCouncil** | Objeto contenedor con los datos actualizados de la cita. | Object |\n| updateCouncil.**id** | Identificador único de la cita procesada. | Integer |\n| updateCouncil.**externalId** | Confirmación del nuevo identificador externo persistido de forma correcta en la base de datos. | String |\n\n## Ejemplos de código y peticiones\n\n### 1\\. Consulta GraphQL\n\n``` graphql\nmutation UpdateCouncil (\n    $council: CouncilInput!\n){\n    updateCouncil(\n        council: $council\n    ) {\n        id\n        externalId\n    }\n}\n\n ```\n\n### 2\\. Variables de la petición (JSON Payload)\n\n``` json\n{\n    \"council\": {\n        \"id\": 65245,\n        \"externalId\": \"IdExterno000001\" \n    }\n}\n\n ```\n\n### 3\\. Ejemplo de comando cURL\n\n``` bash\ncurl --location 'https://api.ovac.pre.councilbox.com/graphql' \\\n--header 'Content-Type: application/json' \\\n--header 'x-jwt-token: *****************' \\\n--data '{\"query\":\"mutation UpdateCouncil ($council: CouncilInput!){ updateCouncil(council: $council) { id externalId } }\",\"variables\":{\"council\":{\"id\":65245,\"externalId\":\"IdExterno000001\"}}}'\n\n ```\n\n### 4\\. Respuesta esperada (200 OK)\n\n``` json\n{\n    \"data\": {\n        \"updateCouncil\": {\n            \"id\": 65245,\n            \"externalId\": \"IdExterno000001\"\n        }\n    }\n}\n\n ```\n\n### 5\\. Respuesta cita Cancelada, Finalizada o Incompleta (400 KO)\n\n``` json\n{\n    \"errors\": [\n        {\n            \"message\": \"The externalId is not available in this company\",\n            \"code\": 400,\n            \"locations\": [\n                {\n                    \"line\": 4,\n                    \"column\": 5\n                }\n            ],\n            \"path\": [\n                \"updateCouncil\"\n            ],\n            \"originalError\": {\n                \"name\": \"UserError\",\n                \"code\": 400\n            }\n        }\n    ],\n    \"data\": {\n        \"updateCouncil\": null\n    }\n}\n\n ```"},"response":[{"id":"18b39f80-146e-4e5b-b87b-b8b129c920ea","name":"Update Appointment External ID","originalRequest":{"method":"POST","header":[],"body":{"mode":"graphql"},"url":{"raw":"{{domain}}/{{endpoint}}","host":["{{domain}}"],"path":["{{endpoint}}"]}},"status":"OK","code":200,"_postman_previewlanguage":"Text","header":[{"key":":status","value":200},{"key":"date","value":"Mon, 22 Jun 2026 20:33:35 GMT"},{"key":"content-type","value":"application/json; charset=utf-8"},{"key":"content-length","value":"71"},{"key":"content-security-policy","value":"default-src 'self';base-uri 'self';font-src 'self' https: data:;form-action 'self';frame-ancestors 'self';img-src 'self' data:;object-src 'none';script-src 'self';script-src-attr 'none';style-src 'self' https: 'unsafe-inline';upgrade-insecure-requests"},{"key":"cross-origin-opener-policy","value":"same-origin"},{"key":"cross-origin-resource-policy","value":"cross-origin"},{"key":"origin-agent-cluster","value":"?1"},{"key":"referrer-policy","value":"no-referrer"},{"key":"strict-transport-security","value":"max-age=31536000; includeSubDomains"},{"key":"x-content-type-options","value":"nosniff"},{"key":"x-dns-prefetch-control","value":"off"},{"key":"x-download-options","value":"noopen"},{"key":"x-frame-options","value":"SAMEORIGIN"},{"key":"x-permitted-cross-domain-policies","value":"none"},{"key":"x-xss-protection","value":"0"},{"key":"access-control-allow-origin","value":"*"},{"key":"etag","value":"W/\"47-CS5kp0zF8ByiDrWGm7i+/yoUVHw\""},{"key":"access-control-allow-methods","value":"GET,HEAD,PUT,PATCH,POST,DELETE"}],"cookie":[],"responseTime":null,"body":"{\n    \"data\": {\n        \"updateCouncil\": {\n            \"id\": 65245,\n            \"externalId\": \"IdExterno000001\"\n        }\n    }\n}","createdAt":"2026-06-25T09:37:21.000Z","updatedAt":"2026-06-25T09:37:21.000Z","uid":"45758186-18b39f80-146e-4e5b-b87b-b8b129c920ea"}],"createdAt":"2026-06-25T09:37:21.000Z","updatedAt":"2026-06-25T10:09:10.000Z","uid":"45758186-b161bc7c-ca7f-41d4-a4c2-004ae56db7b9"}],"id":"98de44c8-e237-49d5-ac15-e1b73ef3dbb6","description":"## EN\n\nThis folder contains methods used to manage the lifecycle of an existing appointment. It includes assigning an appointment to an operator, rescheduling, cancelling and sharing appointments, including the available external integration variants where applicable.\n\n## ES\n\nEsta carpeta contiene métodos utilizados para gestionar el ciclo de vida de una cita existente. Incluye la asignación de una cita a un operador, la reprogramación, la cancelación y la compartición de citas, incluyendo las variantes de integración externa cuando correspondan.","createdAt":"2026-06-10T17:20:04.000Z","updatedAt":"2026-06-25T11:07:27.000Z","uid":"45758186-98de44c8-e237-49d5-ac15-e1b73ef3dbb6"},{"name":"04 - Get Appointment Information","item":[{"name":"Get Appointments","id":"084e3e00-c13e-49bc-a980-e24e024407dc","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"apikey","apikey":[{"key":"key","value":"x-jwt-token","type":"string"},{"key":"value","value":"{{token}}","type":"string"}]},"method":"POST","header":[],"body":{"mode":"graphql","graphql":{"query":"query Councils(\r\n    $companyId: Int\r\n\t$state: [Int]\r\n    $externalId: String\r\n\t$options: OptionsInput\r\n\t$fromDate: String,\r\n    $toDate: String\r\n) {\r\n    councils (\r\n            companyId: $companyId\r\n            companyExternalId: $companyExternalId\r\n            state: $state\r\n            externalId: $externalId\r\n            options: $options\r\n            fromDate: $fromDate,\r\n            toDate: $toDate\r\n    ){\r\n        list {\r\n            id\r\n            name\r\n            observations\r\n            state\r\n            councilType\r\n            creationDate\r\n            dateStart\r\n            dateRealEnd\r\n            dateRealStart\r\n            participants {\r\n                name\r\n                surname\r\n            }\r\n            statute {\r\n                    id\r\n                    title\r\n            }\r\n        }\r\n        total\r\n    }\r\n}","variables":"{\r\n    \"companyId\": 12345,\r\n    \"fromDate\": \"2026-05-17T00:00Z\",\r\n    \"toDate\": \"2026-05-19T00:00Z\",\r\n    \"state\": [60],\r\n    \"externalId\": \"\",\r\n    \"councilTypes\": [5,6,7]\r\n}"}},"url":{"raw":"{{domain}}/{{endpoint}}","host":["{{domain}}"],"path":["{{endpoint}}"]},"description":"# Appointments (`query`)\n\nEste método permite obtener un listado paginado o filtrado de las citas que cumplan con los criterios de búsqueda especificados. Devuelve la información general y de control de cada registro junto con el recuento total de resultados coincidentes, siendo de gran utilidad para la sincronización de agendas y la generación de reportes consolidados por organización, rango de fechas o estados.\n\n### Detalles de la Solicitud\n\n- **Método HTTP:** `POST`\n    \n- **URL PRE:** `https://api.ovac.pre.councilbox.com/graphql`\n    \n- **URL PRO:** `https://api.ovac.pre.councilbox.com/graphql`\n    \n\n### Autenticación\n\n> **Tipo:** API Key**  \nHeader:** `x-jwt-token`  \n**Ubicación:** Header HTTP_  \nEjemplo:_ `x-jwt-token: eyJhbGciOiJIUzI1NiIsInR5cCI6...` \n  \n\n## Referencia de la API\n\n### Parámetros de Entrada (Variables)\n\n| Parámetro | Descripción | Requerido | Tipo |\n| --- | --- | --- | --- |\n| companyId | Identificador de la organización | SI | Integer |\n| externalId | Identificador externo de la organización. Si se indica el externalId no se debe indicar companyId | NO | String |\n| state | lista de estados por los que filtrar las citas:  <br>'`-1`' -> Cancelado  <br>`10` -> Confirmado  <br>`20` -> Sala abierta  <br>`25` -> Pausa  <br>`40` -> Finalizada la sesión de vídeoatención/Gestión  <br>`45` -> Procesando informe  <br>`60` -> Completada  <br>`65` -> Incompleta | SI | Integer |\n| fromDate | fecha inicial del rango de búsqueda, formato UTC. | SI | String |\n| toDate | fecha final del rango de búsqueda, formato UTC. | SI | String |\n| councilTypes | Filtro de tipo de cita:  <br>`5` -> Videoatención  <br>`6` -> Gestión  <br>`7` -> Presencial | NO | Integer |\n\n⚠️ **Nota sobre** **`councilTypes`****:** Aunque en algunos ejemplos heredados de variables se incluye el campo `councilTypes`, este no se encuentra declarado en la firma de la consulta base provista por el backend. Cualquier intento de enviarlo sin modificar la declaración de la query será ignorado de forma silenciosa.\n\n### Campos de Respuesta (Payload)\n\nLa consulta devuelve un objeto raíz `councils` compuesto por las siguientes propiedades:\n\n|  | Descripción | Tipo |\n| --- | --- | --- |\n| **data** | Objeto del conjunto de datos | Object |\n| data.**councils** | Objeto de la cita | Object |\n| data.councils.**list** | Array de las citas obtenidas aplicando el filtro | Object |\n| data.councils.list\\[\\].**id** | Identificador de la cita | Integer |\n| data.councils.list\\[\\].**name** | Nombre del trámite o cita modificado tras la creación | String |\n| data.councils.list\\[\\].**observations** | Observaciones que se han añadido para la cita | String |\n| data.councils.list\\[\\].**state** | Estado de la cita | Integer |\n| data.councils.list\\[\\].**councilType** | Tipo de cita (videoatención \\[5\\], gestión\\[6\\] o presencial\\[7\\]) | Integer |\n| data.councils.list\\[\\].**creationDate** | Fecha de creación de cita, en formato UTC | String |\n| data.councils.list\\[\\].**dateStart** | Fecha determinada en la cual se va a realizar el trámite, en formato UTC | String |\n| data.councils.list\\[\\].**dateRealEnd** | Fecha en la que se ha finalizado oficialmente la cita, en formato UTC | String |\n| data.councils.list\\[\\].**dateRealStart** | echa en la que se iniciado oficialmente la cita, en formato UTC | String |\n| data.councils.list\\[\\].**participants** | Array de los participantes | Array |\n| data.councils.list\\[\\].participants\\[\\].**name** | Nombre del participante | String |\n| data.councils.list\\[\\].participants\\[\\].**surname** | Apellido del participante | String |\n| data.councils.list\\[\\].**statute** | Objeto del trámite | Object |\n| data.councils.list\\[\\].statute.**title** | Nombre del trámite en OVAC | String |\n| data.councils.list\\[\\].statute.**statuteId** | Identificador único del trámite | Integer |\n| data.councils.total | Recuento del número de citas obtenidas con el filtro aplcado | Integer |\n\n## Ejemplos de Código y Peticiones\n\n### 1\\. Consulta GraphQL\n\n``` graphql\nquery Councils(\n    $companyId: Int\n    $companyExternalId: String\n    $state: [Int]\n    $externalId: String\n    $options: OptionsInput\n    $fromDate: String\n    $toDate: String\n) {\n    councils(\n        companyId: $companyId\n        companyExternalId: $companyExternalId\n        state: $state\n        externalId: $externalId\n        options: $options\n        fromDate: $fromDate\n        toDate: $toDate\n    ) {\n        list {\n            id\n            name\n            observations\n            state\n            councilType\n            creationDate\n            dateStart\n            dateRealEnd\n            dateRealStart\n            participants {\n                name\n                surname\n            }\n            statute {\n                    title\n                    statuteId\n            }            \n        }\n        total\n    }\n}\n\n ```\n\n### 2\\. Variables de la Petición (JSON Payload)\n\n``` json\n{\n    \"companyId\": 2191,\n    \"fromDate\": \"2026-05-17T00:00Z\",\n    \"toDate\": \"2026-05-19T00:00Z\",\n    \"state\": [60],\n    \"externalId\": \"\"\n}\n\n ```\n\n### 3\\. Ejemplo de comando cURL\n\n``` bash\ncurl --location \"https://api.ovac.pre.councilbox.com/graphql\" \\\n--header \"Content-Type: application/json\" \\\n--header \"x-jwt-token: {{token}}\" \\\n--data '{\"query\":\"query Councils($companyId: Int, $companyExternalId: String, $state: [Int], $externalId: String, $options: OptionsInput, $fromDate: String, $toDate: String) { councils (companyId: $companyId, companyExternalId: $companyExternalId, state: $state, externalId: $externalId, options: $options, fromDate: $fromDate, toDate: $toDate ){ list { id name observations state councilType creationDate dateStart dateRealEnd dateRealStart participants { name surname } } total } }\",\"variables\":{\"companyId\":2191,\"fromDate\":\"2026-05-17T00:00Z\",\"toDate\":\"2026-05-19T00:00Z\",\"state\":[60],\"externalId\":\"\"}}'\n\n ```\n\n### 4\\. Respuesta Esperada (200 OK)\n\n``` json\n{\n    \"data\": {\n        \"councils\": {\n            \"list\": [\n                {\n                    \"id\": 64767,\n                    \"name\": \"test creación cita\",\n                    \"observations\": \"opcional\",\n                    \"state\": 60,\n                    \"councilType\": 5,\n                    \"creationDate\": \"2026-04-23T15:16:10.085Z\",\n                    \"dateStart\": \"2026-05-18T15:00:00.000Z\",\n                    \"dateRealEnd\": \"2026-05-18T09:48:53.988Z\",\n                    \"dateRealStart\": \"2026-05-18T09:48:37.215Z\",\n                    \"participants\": [\n                        {\n                            \"name\": \"Name of participant\",\n                            \"surname\": \"Surname of participant\"\n                        }\n                    ],\n                    \"statute\": {\n                        \"id\": 64888,\n                        \"title\": \"TEST\",\n                        \"statuteId\": 4685\n                    }\n                }\n            ],\n            \"total\": 1\n        }\n    }\n}\n\n ```"},"response":[{"id":"f27e09a3-b0f6-4cb7-87ed-12938935df3c","name":"Get Appointments","originalRequest":{"method":"POST","header":[],"body":{"mode":"graphql","graphql":{"query":"query Councils(\r\n    $companyId: Int\r\n    $companyExternalId: String\r\n\t$state: [Int]\r\n    $externalId: String\r\n\t$options: OptionsInput\r\n\t$fromDate: String,\r\n    $toDate: String\r\n) {\r\n    councils (\r\n            companyId: $companyId\r\n            companyExternalId: $companyExternalId\r\n            state: $state\r\n            externalId: $externalId\r\n            options: $options\r\n            fromDate: $fromDate,\r\n            toDate: $toDate\r\n    ){\r\n        list {\r\n            id\r\n            name\r\n            observations\r\n            state\r\n            councilType\r\n            creationDate\r\n            dateStart\r\n            dateRealEnd\r\n            dateRealStart\r\n            participants {\r\n                name\r\n                surname\r\n            }\r\n            statute {\r\n                    title\r\n                    statuteId\r\n            }\r\n        }\r\n        total\r\n    }\r\n}","variables":"{\r\n    \"companyId\": 2191,\r\n    \"fromDate\": \"2022-01-01T00:00Z\",\r\n    \"toDate\": \"2026-05-21T00:00Z\",\r\n    \"state\": [60,70],\r\n    \"externalId\": \"\",\r\n    \"councilTypes\": [5,6,7]\r\n}"}},"url":{"raw":"{{domain}}/{{endpoint}}","host":["{{domain}}"],"path":["{{endpoint}}"]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":":status","value":200},{"key":"date","value":"Wed, 20 May 2026 16:32:26 GMT"},{"key":"content-type","value":"application/json; charset=utf-8"},{"key":"vary","value":"Accept-Encoding"},{"key":"content-security-policy","value":"default-src 'self';base-uri 'self';font-src 'self' https: data:;form-action 'self';frame-ancestors 'self';img-src 'self' data:;object-src 'none';script-src 'self';script-src-attr 'none';style-src 'self' https: 'unsafe-inline';upgrade-insecure-requests"},{"key":"cross-origin-opener-policy","value":"same-origin"},{"key":"cross-origin-resource-policy","value":"cross-origin"},{"key":"origin-agent-cluster","value":"?1"},{"key":"referrer-policy","value":"no-referrer"},{"key":"strict-transport-security","value":"max-age=31536000; includeSubDomains"},{"key":"x-content-type-options","value":"nosniff"},{"key":"x-dns-prefetch-control","value":"off"},{"key":"x-download-options","value":"noopen"},{"key":"x-frame-options","value":"SAMEORIGIN"},{"key":"x-permitted-cross-domain-policies","value":"none"},{"key":"x-xss-protection","value":"0"},{"key":"access-control-allow-origin","value":"*"},{"key":"etag","value":"W/\"9d9-Rx2xIjwGy6CNQDxsPvbXCTqgPFQ\""},{"key":"content-encoding","value":"gzip"},{"key":"access-control-allow-methods","value":"GET,HEAD,PUT,PATCH,POST,DELETE"}],"cookie":[],"responseTime":null,"body":"{\n    \"data\": {\n        \"councils\": {\n            \"list\": [\n                {\n                    \"id\": 64879,\n                    \"name\": \"TEST\",\n                    \"state\": 60,\n                    \"councilType\": 5,\n                    \"creationDate\": \"2026-05-18T14:54:55.478Z\",\n                    \"dateStart\": \"2026-05-18T17:00:44.244Z\",\n                    \"dateRealEnd\": \"2026-05-20T16:36:45.828Z\",\n                    \"dateRealStart\": \"2026-05-18T15:27:37.328Z\",\n                    \"participants\": [\n                        {\n                            \"name\": \"SOY EL PARTICIPANTE\",\n                            \"surname\": \"TEST\"\n                        }\n                    ],\n                    \"statute\": {\n                        \"title\": \"TEST\",\n                        \"statuteId\": 4685\n                    }\n                },\n                {\n                    \"id\": 64767,\n                    \"name\": \"test creación cita\",\n                    \"state\": 60,\n                    \"councilType\": 5,\n                    \"creationDate\": \"2026-04-23T15:16:10.085Z\",\n                    \"dateStart\": \"2026-05-18T15:00:00.000Z\",\n                    \"dateRealEnd\": \"2026-05-18T09:48:53.988Z\",\n                    \"dateRealStart\": \"2026-05-18T09:48:37.215Z\",\n                    \"participants\": [\n                        {\n                            \"name\": \"Name of participant\",\n                            \"surname\": \"Surname of participant\"\n                        },\n                        {\n                            \"name\": \"Name of participant\",\n                            \"surname\": \"Surname of participant\"\n                        },\n                        {\n                            \"name\": \"Name of participant\",\n                            \"surname\": \"Surname of participant\"\n                        },\n                        {\n                            \"name\": \"Name of participant\",\n                            \"surname\": \"Surname of participant\"\n                        }\n                    ],\n                    \"statute\": {\n                        \"title\": \"TEST\",\n                        \"statuteId\": 4685\n                    }\n                },\n                {\n                    \"id\": 64817,\n                    \"name\": \"test creación cita\",\n                    \"state\": 60,\n                    \"councilType\": 5,\n                    \"creationDate\": \"2026-05-06T10:28:28.123Z\",\n                    \"dateStart\": \"2026-05-16T15:00:00.000Z\",\n                    \"dateRealEnd\": \"2026-05-18T09:54:30.864Z\",\n                    \"dateRealStart\": \"2026-05-18T09:49:51.227Z\",\n                    \"participants\": [\n                        {\n                            \"name\": \"Name of participant\",\n                            \"surname\": \"Surname of participant\"\n                        }\n                    ],\n                    \"statute\": {\n                        \"title\": \"TEST\",\n                        \"statuteId\": 4685\n                    }\n                },\n                {\n                    \"id\": 64706,\n                    \"name\": \"TEST\",\n                    \"state\": 60,\n                    \"councilType\": 5,\n                    \"creationDate\": \"2026-04-21T07:30:28.381Z\",\n                    \"dateStart\": \"2026-04-21T08:00:47.339Z\",\n                    \"dateRealEnd\": \"2026-04-21T07:58:30.345Z\",\n                    \"dateRealStart\": \"2026-04-21T07:31:23.016Z\",\n                    \"participants\": [\n                        {\n                            \"name\": \"SOY EL PARTICIPANTE\",\n                            \"surname\": \"TEST\"\n                        }\n                    ],\n                    \"statute\": {\n                        \"title\": \"TEST\",\n                        \"statuteId\": 4685\n                    }\n                },\n                {\n                    \"id\": 64692,\n                    \"name\": \"TEST\",\n                    \"state\": 60,\n                    \"councilType\": 5,\n                    \"creationDate\": \"2026-04-17T10:00:01.636Z\",\n                    \"dateStart\": \"2026-04-17T10:30:51.581Z\",\n                    \"dateRealEnd\": \"2026-04-17T10:01:37.188Z\",\n                    \"dateRealStart\": \"2026-04-17T10:00:40.635Z\",\n                    \"participants\": [\n                        {\n                            \"name\": \"SOY EL PARTICIPANTE\",\n                            \"surname\": \"TEST\"\n                        }\n                    ],\n                    \"statute\": {\n                        \"title\": \"TEST\",\n                        \"statuteId\": 4685\n                    }\n                },\n                {\n                    \"id\": 64690,\n                    \"name\": \"TEST\",\n                    \"state\": 60,\n                    \"councilType\": 5,\n                    \"creationDate\": \"2026-04-17T09:35:42.743Z\",\n                    \"dateStart\": \"2026-04-17T10:00:27.195Z\",\n                    \"dateRealEnd\": \"2026-04-17T09:37:51.758Z\",\n                    \"dateRealStart\": \"2026-04-17T09:36:34.266Z\",\n                    \"participants\": [\n                        {\n                            \"name\": \"SOY EL PARTICIPANTE\",\n                            \"surname\": \"TEST\"\n                        }\n                    ],\n                    \"statute\": {\n                        \"title\": \"TEST\",\n                        \"statuteId\": 4685\n                    }\n                },\n                {\n                    \"id\": 64687,\n                    \"name\": \"TEST\",\n                    \"state\": 60,\n                    \"councilType\": 5,\n                    \"creationDate\": \"2026-04-17T07:53:05.205Z\",\n                    \"dateStart\": \"2026-04-17T08:00:40.436Z\",\n                    \"dateRealEnd\": \"2026-04-17T08:33:45.051Z\",\n                    \"dateRealStart\": \"2026-04-17T08:33:37.537Z\",\n                    \"participants\": [\n                        {\n                            \"name\": \"SOY EL PARTICIPANTE\",\n                            \"surname\": \"TEST\"\n                        }\n                    ],\n                    \"statute\": {\n                        \"title\": \"TEST\",\n                        \"statuteId\": 4685\n                    }\n                }\n            ],\n            \"total\": 7\n        }\n    }\n}\n","createdAt":"2026-05-22T09:43:29.000Z","updatedAt":"2026-06-15T19:10:25.000Z","uid":"45758186-f27e09a3-b0f6-4cb7-87ed-12938935df3c"}],"createdAt":"2026-05-22T09:43:29.000Z","updatedAt":"2026-06-17T15:59:50.000Z","uid":"45758186-084e3e00-c13e-49bc-a980-e24e024407dc"},{"name":"Get Appointments_External","id":"1fc8b408-b8d4-4983-8acd-161720fdcdf0","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"apikey","apikey":[{"key":"key","value":"x-jwt-token","type":"string"},{"key":"value","value":"{{token}}","type":"string"}]},"method":"POST","header":[],"body":{"mode":"graphql","graphql":{"query":"query Councils(\r\n    $companyExternalId: String!\r\n\t$state: [Int]\r\n    $externalId: String\r\n\t$options: OptionsInput\r\n\t$fromDate: String,\r\n    $toDate: String\r\n) {\r\n    councils (\r\n            companyExternalId: $companyExternalId\r\n            state: $state\r\n            externalId: $externalId\r\n            options: $options\r\n            fromDate: $fromDate,\r\n            toDate: $toDate\r\n    ){\r\n        list {\r\n            id\r\n            name\r\n            observations\r\n            state\r\n            councilType\r\n            creationDate\r\n            dateStart\r\n            dateRealEnd\r\n            dateRealStart\r\n            participants {\r\n                name\r\n                surname\r\n            }\r\n        }\r\n        total\r\n    }\r\n}","variables":"{\r\n    \"companyExternalId\": \"abcd\",\r\n    \"fromDate\": \"2026-05-17T00:00Z\",\r\n    \"toDate\": \"2026-05-19T00:00Z\",\r\n    \"state\": [60],\r\n    \"externalId\": \"\",\r\n    \"councilTypes\": [5,6,7]\r\n}"}},"url":{"raw":"{{domain}}/{{endpoint}}","host":["{{domain}}"],"path":["{{endpoint}}"]},"description":"# Appointments (External ID Variant) (`query`)\n\nEste método permite obtener un listado filtrado o paginado de las citas correspondientes a una organización a través de su identificador externo (`companyExternalId`). Devuelve la información general y de control de cada registro junto con el recuento total de resultados coincidentes, facilitando la búsqueda por estados, identificadores externos de citas y rangos de fechas sin depender de los IDs internos de la base de datos de la plataforma.\n\n### Detalles de la Solicitud\n\n- **Método HTTP:** `POST`\n    \n- **URL PRE:** `https://api.ovac.pre.councilbox.com/graphql`\n    \n- **URL PRO:** `https://api.ovac.pre.councilbox.com/graphql`\n    \n\n### Autenticación\n\n> **Tipo:** API Key**  \nHeader:** `x-jwt-token`  \n**Ubicación:** Header HTTP_  \nEjemplo:_ `x-jwt-token: eyJhbGciOiJIUzI1NiIsInR5cCI6...` \n  \n\n## Referencia de la API\n\n### Parámetros de Entrada (Variables)\n\n| Parámetro | Descripción | Requerido | Tipo |\n| --- | --- | --- | --- |\n| companyExternalId | Identificador externo de la organización | SI | String |\n| state | lista de estados por los que filtrar las citas:  <br>'`-1`' -> Cancelado  <br>`10` -> Confirmado  <br>`20` -> Sala abierta  <br>`25` -> Pausa  <br>`40` -> Finalizada la sesión de vídeoatención/Gestión  <br>`45` -> Procesando informe  <br>`60` -> Completada  <br>`65` -> Incompleta | SI | Integer |\n| fromDate | fecha inicial del rango de búsqueda, formato UTC. | SI | String |\n| toDate | fecha final del rango de búsqueda, formato UTC. | SI | String |\n| externalId | Identificador externo de la cita | NO | String |\n| councilTypes | Filtro de tipo de cita:  <br>`5` -> Videoatención  <br>`6` -> Gestión  <br>`7` -> Presencial | NO | Integer |\n\n> Nota: en el ejemplo de variables de la petición aparece `councilTypes`, pero actualmente **no forma parte de la query enviada** por este request, por lo que no interviene en la ejecución mientras no se añada explícitamente a la consulta. \n  \n\n### Campos de Respuesta (Payload)\n\nLa consulta devuelve un objeto raíz `councils` compuesto por las siguientes propiedades:\n\n| Parámetro | Descripción | Tipo |\n| --- | --- | --- |\n| data | Objeto del conjunto de datos | Object |\n| data.councils | Objeto de la cita | Object |\n| data.councils.list | Array de las citas obtenidas aplicando el filtro | Object |\n| data.councils.list\\[\\].id | Identificador de la cita | Integer |\n| data.councils.list\\[\\].name | Nombre de la cita | String |\n| data.councils.list\\[\\].observations | Observaciones que se han añadido para la cita | String |\n| data.councils.list\\[\\].state | Estado de la cita | Integer |\n| data.councils.list\\[\\].councilType | Tipo de cita (videoatención \\[5\\], gestión\\[6\\] o presencial\\[7\\]) | Integer |\n| data.councils.list\\[\\].creationDate | Fecha de creación de cita, en formato UTC | String |\n| data.councils.list\\[\\].dateStart | Fecha determinada en la cual se va a realizar el trámite, en formato UTC | String |\n| data.councils.list\\[\\].dateRealEnd | Fecha en la que se ha finalizado oficialmente la cita, en formato UTC | String |\n| data.councils.list\\[\\].dateRealStart | echa en la que se iniciado oficialmente la cita, en formato UTC | String |\n| data.councils.list\\[\\].participants | Array de los participantes | Array |\n| data.councils.list\\[\\].participants\\[\\].name | Nombre del participante | String |\n| data.councils.list\\[\\].participants\\[\\].surname | Apellido del participante | String |\n| data.councils.total | Recuento del número de citas obtenidas con el filtro aplcado | Integer |\n\n## Ejemplos de Código y Peticiones\n\n### 1\\. Consulta GraphQL\n\n``` graphql\nquery Councils(\n    $companyExternalId: String\n    $state: [Int]\n    $externalId: String\n    $options: OptionsInput\n    $fromDate: String\n    $toDate: String\n) {\n    councils(\n        companyExternalId: $companyExternalId\n        state: $state\n        externalId: $externalId\n        options: $options\n        fromDate: $fromDate\n        toDate: $toDate\n    ) {\n        list {\n            id\n            name\n            observations\n            state\n            councilType\n            creationDate\n            dateStart\n            dateRealEnd\n            dateRealStart\n            participants {\n                name\n                surname\n            }\n        }\n        total\n    }\n}\n\n ```\n\n### 2\\. Variables de la Petición (JSON Payload)\n\n``` json\n{\n    \"companyExternalId\": \"API_TEST\",\n    \"fromDate\": \"2026-05-17T00:00:00Z\",\n    \"toDate\": \"2026-05-19T00:00:00Z\",\n    \"state\": [60],\n    \"externalId\": \"\"\n}\n\n ```\n\n### 3\\. Ejemplo de comando cURL\n\n``` bash\ncurl --location --globoff 'https://api.ovac.pre.councilbox.com/graphql' \\\n--header 'Content-Type: application/json' \\\n--header 'x-jwt-token: {{token}}' \\\n--data '{\"query\":\"query Councils($companyExternalId: String, $state: [Int], $externalId: String, $options: OptionsInput, $fromDate: String, $toDate: String) { councils (companyExternalId: $companyExternalId, state: $state, externalId: $externalId, options: $options, fromDate: $fromDate, toDate: $toDate ){ list { id name observations state councilType creationDate dateStart dateRealEnd dateRealStart participants { name surname } } total } }\",\"variables\":{\"companyExternalId\":\"API_TEST\",\"fromDate\":\"2026-05-17T00:00Z\",\"toDate\":\"2026-05-19T00:00Z\",\"state\":[60],\"externalId\":\"\"}}'\n\n ```\n\n### 4\\. Respuesta Esperada (200 OK)\n\n``` json\n{\n    \"data\": {\n        \"councils\": {\n            \"list\": [\n                {\n                    \"id\": 64767,\n                    \"name\": \"test creación cita\",\n                    \"observations\": \"opcional\",\n                    \"state\": 60,\n                    \"councilType\": 5,\n                    \"creationDate\": \"2026-04-23T15:16:10.085Z\",\n                    \"dateStart\": \"2026-05-18T15:00:00.000Z\",\n                    \"dateRealEnd\": \"2026-05-18T09:48:53.988Z\",\n                    \"dateRealStart\": \"2026-05-18T09:48:37.215Z\",\n                    \"participants\": [\n                        {\n                            \"name\": \"Name of participant\",\n                            \"surname\": \"Surname of participant\"\n                        },\n                        {\n                            \"name\": \"Name of participant\",\n                            \"surname\": \"Surname of participant\"\n                        }\n                    ]\n                }\n            ],\n            \"total\": 1\n        }\n    }\n}\n\n ```"},"response":[{"id":"a32b5489-728b-41b6-9124-8c7437164c93","name":"Get Appointments_External","originalRequest":{"method":"POST","header":[],"body":{"mode":"graphql"},"url":{"raw":"{{domain}}/{{endpoint}}","host":["{{domain}}"],"path":["{{endpoint}}"]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":":status","value":200},{"key":"date","value":"Wed, 20 May 2026 17:33:20 GMT"},{"key":"content-type","value":"application/json; charset=utf-8"},{"key":"vary","value":"Accept-Encoding"},{"key":"content-security-policy","value":"default-src 'self';base-uri 'self';font-src 'self' https: data:;form-action 'self';frame-ancestors 'self';img-src 'self' data:;object-src 'none';script-src 'self';script-src-attr 'none';style-src 'self' https: 'unsafe-inline';upgrade-insecure-requests"},{"key":"cross-origin-opener-policy","value":"same-origin"},{"key":"cross-origin-resource-policy","value":"cross-origin"},{"key":"origin-agent-cluster","value":"?1"},{"key":"referrer-policy","value":"no-referrer"},{"key":"strict-transport-security","value":"max-age=31536000; includeSubDomains"},{"key":"x-content-type-options","value":"nosniff"},{"key":"x-dns-prefetch-control","value":"off"},{"key":"x-download-options","value":"noopen"},{"key":"x-frame-options","value":"SAMEORIGIN"},{"key":"x-permitted-cross-domain-policies","value":"none"},{"key":"x-xss-protection","value":"0"},{"key":"access-control-allow-origin","value":"*"},{"key":"etag","value":"W/\"376-fUrefVUID7MTCSaPVkd7PJ/bb+k\""},{"key":"content-encoding","value":"gzip"},{"key":"access-control-allow-methods","value":"GET,HEAD,PUT,PATCH,POST,DELETE"}],"cookie":[],"responseTime":null,"body":"{\n    \"data\": {\n        \"councils\": {\n            \"list\": [\n                {\n                    \"id\": 64879,\n                    \"name\": \"TEST\",\n                    \"observations\": \"\",\n                    \"state\": 60,\n                    \"councilType\": 5,\n                    \"creationDate\": \"2026-05-18T14:54:55.478Z\",\n                    \"dateStart\": \"2026-05-18T17:00:44.244Z\",\n                    \"dateRealEnd\": \"2026-05-20T16:36:45.828Z\",\n                    \"dateRealStart\": \"2026-05-18T15:27:37.328Z\",\n                    \"participants\": [\n                        {\n                            \"name\": \"SOY EL PARTICIPANTE\",\n                            \"surname\": \"TEST\"\n                        }\n                    ]\n                },\n                {\n                    \"id\": 64767,\n                    \"name\": \"test creación cita\",\n                    \"observations\": \"opcional\",\n                    \"state\": 60,\n                    \"councilType\": 5,\n                    \"creationDate\": \"2026-04-23T15:16:10.085Z\",\n                    \"dateStart\": \"2026-05-18T15:00:00.000Z\",\n                    \"dateRealEnd\": \"2026-05-18T09:48:53.988Z\",\n                    \"dateRealStart\": \"2026-05-18T09:48:37.215Z\",\n                    \"participants\": [\n                        {\n                            \"name\": \"Name of participant\",\n                            \"surname\": \"Surname of participant\"\n                        },\n                        {\n                            \"name\": \"Name of participant\",\n                            \"surname\": \"Surname of participant\"\n                        },\n                        {\n                            \"name\": \"Name of participant\",\n                            \"surname\": \"Surname of participant\"\n                        },\n                        {\n                            \"name\": \"Name of participant\",\n                            \"surname\": \"Surname of participant\"\n                        }\n                    ]\n                }\n            ],\n            \"total\": 2\n        }\n    }\n}","createdAt":"2026-05-22T09:43:29.000Z","updatedAt":"2026-06-15T19:10:33.000Z","uid":"45758186-a32b5489-728b-41b6-9124-8c7437164c93"}],"createdAt":"2026-05-22T09:43:29.000Z","updatedAt":"2026-06-17T15:59:57.000Z","uid":"45758186-1fc8b408-b8d4-4983-8acd-161720fdcdf0"},{"name":"Get Appointment Information","id":"d6c9b785-134e-4097-a8d0-f057a867176e","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"apikey","apikey":[{"key":"key","value":"x-jwt-token","type":"string"},{"key":"value","value":"{{token}}","type":"string"}]},"method":"POST","header":[],"body":{"mode":"graphql","graphql":{"query":"query CouncilInfo($councilId: Int!){\r\n    council(id: $councilId){\r\n        state\r\n        councilType\r\n        dateStart\r\n        dateRealStart\r\n        dateEnd\r\n        adminUrl\r\n        noCelebrateComment\r\n        observations\r\n        internalNotes\r\n        comment\r\n        assignedUser {\r\n            id\r\n            name\r\n            surname\r\n            email\r\n            externalId\r\n        }\r\n        participants {\r\n            name\r\n            surname\r\n            email\r\n            dni\r\n            idCardType\r\n            idCardCountry\r\n            zipcode\r\n        }\r\n        statute {\r\n                id\r\n                title\r\n                statuteId\r\n        }\r\n        agendas {\r\n            id\r\n            name\r\n            attachments {\r\n                user {\r\n                    id\r\n                    name\r\n                    surname\r\n                }\r\n                filename\r\n                downloadUrl\r\n                filesize\r\n            }\r\n            participants {\r\n                type\r\n                agendaSignatoriesParticipantsAttachments {\r\n                    id\r\n                    filename\r\n                    url\r\n                }\r\n            }\r\n        }\r\n    }\r\n}","variables":"{\r\n    \"councilId\": 12345\r\n}"}},"url":{"raw":"{{domain}}/{{endpoint}}","host":["{{domain}}"],"path":["{{endpoint}}"]},"description":"# Get Appointment Information (`query`)\n\nEste método permite obtener información detallada y estructurada de una cita a partir de su identificador único (`councilId`). Devuelve el estado de la convocatoria, el canal de atención, las marcas de tiempo de control, los datos del agente asignado, los datos de los ciudadanos participantes, el trámite asociado y el desglose de los puntos de la agenda (pasos, firmas y documentación recolectada).\n\n### Detalles de la Solicitud\n\n- **Método HTTP:** `POST`\n    \n- **URL PRE:** `https://api.ovac.pre.councilbox.com/graphql`\n    \n- **URL PRO:** `https://api.ovac.pre.councilbox.com/graphql`\n    \n\n### Autenticación\n\n> **Tipo:** API Key**  \nHeader:** `x-jwt-token`  \n**Ubicación:** Header HTTP_  \nEjemplo:_ `x-jwt-token: eyJhbGciOiJIUzI1NiIsInR5cCI6...` \n  \n\n## Referencia de la API\n\n### Parámetros de Entrada (Variables)\n\n| Parámetro | Descripción | Requerido | Tipo |\n| --- | --- | --- | --- |\n| councilId | Identificador numérico único de la cita en la plataforma. | SI | Integer |\n\n### Campos de Respuesta (Payload)\n\n#### 1\\. Datos Generales de la Cita (`council`)\n\n| Parámetro | Descripción | Tipo |\n| --- | --- | --- |\n| data | Objeto del conjunto de datos | Object |\n| data.council | Objeto del la cita | Object |\n| data.council.state | Estado de la cita:  <br>\\- '`-1`': Cancelada  <br>\\- 10: Confirmada  <br>\\- 20: Sala abierta  <br>\\- 25: Pausada  <br>\\- 40: Finalizada  <br>\\- 45: Procesando informe  <br>\\- 60: Completa  <br>\\- 65: Incompleta (no se ha realizado un paso requerido dentro del trámite propuesto) | Integer |\n| data.council.councilType | Tipo de cita, puede tomar los siguientes valores:  <br>\\- `5` -> Videoatención  <br>\\- `6` -> Gestión  <br>\\- `7` -> Presencial | Integer |\n| data.council.dateStart | Fecha de la cita en UTC | String |\n| data.council.dateRealStart | Fecha en la que se ha iniciado la cita en UTC | String |\n| data.council.dateEnd | Fecha de fin de la cita en UTC | String |\n| data.council.adminUrl | Enlace de acceso del administrador | String |\n| data.council.noCelebrateComment | Puede tomar estos valores:  <br>'**unavailable**' -> No disponible  <br>'**not_interested**' -> No interesado  <br>'**procedure_already_completed**' -> Proceso ya realizado  <br>'**incorrect_data**' -> Datos incorrectos  <br>'**difficult_access**' -> Problemas en el acceso  <br>'**incompatible_browser**' -> Navegador incompatible  <br>'**others**' -> Otro motivo | String |\n| data.council.observations | Se almacena el detalle que introduce el agente para información previa de la cita, se muestra un pop-up y también son visibles desde el panel de la cita | String |\n| data.council.internalNotes | Notas internas añadidas por el usuarios, no visibles por el participante | String |\n| data.council.comment | Comentario, usado en citas anteriores a OVAC 7.0  <br>\\-obsoleto- | String |\n| data.council.assignedUser | Objeto de usuario asignado | Object |\n| data.council.assignedUser.id | Identificador del usuario asignado | Integer |\n| data.council.assignedUser.name | Nombre del usuario asignado | String |\n| data.council.assignedUser.surname | Apellidos del usuario asignado | String |\n| data.council.assignedUser.email | Email del usuario asignado para la recepción de notificaciones | String |\n| data.council.assignedUser.externalId | Identificador externo del usuario asignado a la cita | String |\n| data.council.participants | Conjunto de participantes | Array |\n| data.council.participants\\[\\].name | Nombre del participante | String |\n| data.council.participants\\[\\].surname | Apellidos del participante | String |\n| data.council.participants\\[\\].email | Email para envío de notificación, en base al método de notificación solicitado. | String |\n| data.council.participants\\[\\].dni | Número de identificación del participante | String |\n| data.council.participants\\[\\].idCardType | Tipo de documento:  <br>**cif**: Documento para empresas de España.  <br>**codiceFiscale**: Documento de Italia.  <br>**dni**: Documento de España.  <br>**europeanDocument**: Documentos identificativos de europa.  <br>**nie**: Documento extrajeros España  <br>**passport**: Pasaporte | String |\n| data.council.participants\\[\\].idCardCountry | Código de país bajo ISO 3166-1 alfa-2 | String |\n| data.council.participants\\[\\].zipcode | Código postal | String |\n| data.council.statute | Objeto del trámite realizado | Object |\n| data.council.statute.id | Identificador del trámite | Integer |\n| data.council.statute.title | Nombre del trámite | String |\n| data.council.statute.statuteId | Identificador único del trámite | Integer |\n| data.council.agendas | Conjunto de datos correspondientes a los puntos de la cita | Array |\n| data.council.agendas\\[\\].id | Identificador único | Integer |\n| data.council.agendas\\[\\].name | Nombre el punto | String |\n| data.council.agendas\\[\\].attachments | Conjunto de adjuntos | Array |\n| data.council.agendas\\[\\].attachments\\[\\].user | Objeto correspondiente al usuario que adjunta documentación, siempre que haya sido el profesional, en el caso de haber sido subido por el participante el objeto estará vacío. | Object |\n| data.council.agendas\\[\\].attachments\\[\\].user.id | Identificador único del usuario | Integer |\n| data.council.agendas\\[\\].attachments\\[\\].user.name | Nombre del usuario | String |\n| data.council.agendas\\[\\].attachments\\[\\].user.surname | Apellidos del usuario | String |\n| data.council.agendas\\[\\].attachments\\[\\].filename | Nombre del documento adjunto y extenión | String |\n| data.council.agendas\\[\\].attachments\\[\\].downloadUrl | Enlace de acceso al documento | String |\n| data.council.agendas\\[\\].attachments\\[\\].filesize | Tamaño del documento en bytes | String |\n| data.council.agendas\\[\\].participants | Conjunto de participantes que realizan el punto abierto | Array |\n| data.council.agendas\\[\\].participants\\[\\].type | Identifica el tipo de paso iniciado, puede tomar los siguietnes valores:  <br>**SIGNATURE** -> Punto de firma.  <br>**BIOMETRIC** -> Punto de biometría.  <br>**INTERACTIVE_DOCS** -> PDFs interactivos.  <br>**SCREEN_CAPTURE** -> Escáner de documentación. | String |\n| data.council.agendas\\[\\].participants\\[\\].agendaSignatoriesParticipantsAttachments | Información sobre el punto | Array |\n| data.council.agendas\\[\\].participants\\[\\].agendaSignatoriesParticipantsAttachments\\[\\].id | Identificador único | Integer |\n| data.council.agendas\\[\\].participants\\[\\].agendaSignatoriesParticipantsAttachments\\[\\].filename | Nombre del documento | String |\n| data.council.agendas\\[\\].participants\\[\\].agendaSignatoriesParticipantsAttachments\\[\\].url | Enlace de acceso al binario | String |\n\n#### 2\\. Bloques de Objetos Anidados\n\n##### Objeto `assignedUser` (Agente Asignado)\n\nContiene la información del profesional que gestiona o atenderá la cita.\n\n- **`id`** (`Int`): ID interno del usuario.\n    \n- **`name`** / **`surname`** (`String`): Nombre y apellidos del agente.\n    \n- **`email`** (`String`): Correo corporativo del agente.\n    \n- **`externalId`** (`String`): Identificador del agente en los sistemas del cliente.\n    \n\n##### Array `participants` (Ciudadanos Convocados)\n\nListado con los datos identificativos del ciudadano o ciudadanos que asisten.\n\n- **`name`** / **`surname`** (`String`): Nombre y apellidos del participante.\n    \n- **`email`** (`String`): Destino de las notificaciones.\n    \n- **`dni`** (`String`): Documento de identidad.\n    \n- **`idCardType`** (`String`): Tipo de documento (`\"dni\"`, `\"nie\"`, `\"nif\"`, `\"passport\"`, `\"codiceFiscale\"`, `\"europeanDocument\"`).\n    \n- **`idCardCountry`** (`String`): Código del país emisor (ISO 3166-1 alfa-2).\n    \n\n##### Objeto `statute` (Trámite / Procedimiento)\n\nTaxonomía del trámite asociado a la cita.\n\n- **`id`** (`Int`): ID de la instancia del trámite.\n    \n- **`title`** (`String`): Nombre comercial o técnico del trámite (ej. \"TEST\").\n    \n- **`statuteId`** (`Int`): Identificador maestro del procedimiento dentro de la organización.\n    \n\n##### Array `agendas` (Puntos de Control y Flujo de Trabajo)\n\nDesglose secuencial de los puntos y acciones que componen la atención.\n\n- **`id`** (`Int`): ID único del punto del orden del día/trámite.\n    \n- **`name`** (`String`): Título identificativo del paso (ej. \"Escaneo de documentación\").\n    \n- **`attachments`** (`Array`): Documentos aportados al punto _por el profesional_. Si fue subido por el ciudadano, este objeto se devuelve vacío. Contiene:\n    \n    - `user` (`Object`): Datos del profesional que lo adjuntó (`id`, `name`, `surname`).\n        \n    - `filename` (`String`): Nombre y extensión del archivo.\n        \n    - `downloadUrl` (`String`): Enlace directo de descarga.\n        \n    - `filesize` (`String`): Tamaño del archivo en bytes.\n        \n- **`participants`** (`Array`): Tareas e interacciones ejecutadas por los participantes en este punto:\n    \n    - `type` (`String`): Tipo de acción realizada (`SIGNATURE` \\[Firma\\], `BIOMETRIC` \\[Biometría\\], `INTERACTIVE_DOCS` \\[Formulario PDF\\], `SCREEN_CAPTURE` \\[Captura/Escáner de documento\\]).\n        \n    - `agendaSignatoriesParticipantsAttachments` (`Array`): Listado de evidencias binarias generadas por el ciudadano en este paso (ej. su DNI escaneado o el PDF interactivo ya firmado), incluyendo su `id`, `filename` y la `url` de acceso al archivo.\n        \n\n## Ejemplos de Código y Peticiones\n\n### 1\\. Consulta GraphQL\n\n``` graphql\nquery CouncilInfo($councilId: Int!) {\n    council(id: $councilId) {\n        state\n        councilType\n        dateStart\n        dateRealStart\n        dateEnd\n        adminUrl\n        noCelebrateComment\n        observations\n        internalNotes\n        comment\n        assignedUser {\n            id\n            name\n            surname\n            email\n            externalId\n        }\n        participants {\n            name\n            surname\n            email\n            dni\n            idCardType\n            idCardCountry\n        }\n        statute {\n            id\n            title\n            statuteId\n        }\n        agendas {\n            id\n            name\n            attachments {\n                user {\n                    id\n                    name\n                    surname\n                }\n                filename\n                downloadUrl\n                filesize\n            }\n            participants {\n                type\n                agendaSignatoriesParticipantsAttachments {\n                    id\n                    filename\n                    url\n                }\n            }\n        }\n    }\n}\n\n ```\n\n### 2\\. Variables de la Petición (JSON Payload)\n\n``` json\n{\n    \"councilId\": 64706\n}\n\n ```\n\n### 3\\. Ejemplo de comando cURL\n\n``` bash\ncurl --location 'https://api.ovac.pre.councilbox.com/graphql' \\\n--header 'Content-Type: application/json' \\\n--header 'x-jwt-token: {{token}}' \\\n--data '{\"query\":\"query CouncilInfo($councilId: Int!){ council(id: $councilId){ state councilType dateStart dateRealStart dateEnd adminUrl noCelebrateComment observations internalNotes comment assignedUser { id name surname email externalId } participants { name surname email dni idCardType idCardCountry } statute { id title statuteId } agendas { id name attachments { user { id name surname } filename downloadUrl filesize } participants { type agendaSignatoriesParticipantsAttachments { id filename url } } } } }\",\"variables\":{\"councilId\":64706}}'\n\n ```\n\n### 4\\. Respuesta Esperada (200 OK)\n\n``` json\n{\n    \"data\": {\n        \"council\": {\n            \"state\": 60,\n            \"councilType\": 5,\n            \"dateStart\": \"2026-04-21T08:00:47.339Z\",\n            \"dateRealStart\": \"2026-04-21T07:31:23.016Z\",\n            \"dateEnd\": \"2026-04-21T07:58:12.113Z\",\n            \"adminUrl\": \"https://apitest.ovac.pre.councilbox.com/company/2191/council/64706/\",\n            \"noCelebrateComment\": \"\",\n            \"observations\": \"Observaciones de la cita\",\n            \"internalNotes\": \"Notas internas del trámite\",\n            \"comment\": null,\n            \"assignedUser\": {\n                \"id\": 3477,\n                \"name\": \"API\",\n                \"surname\": \"PROFESIONAL\",\n                \"email\": \"alejandro.maneiro+apiprof@councilbox.com\",\n                \"externalId\": null\n            },\n            \"participants\": [\n                {\n                    \"name\": \"SOY EL PARTICIPANTE\",\n                    \"surname\": \"TEST\",\n                    \"email\": \"alejandro.maneiro+participante@councilbox.com\",\n                    \"dni\": \"77777777B\",\n                    \"idCardType\": \"dni\",\n                    \"idCardCountry\": \"ES\"\n                }\n            ],\n            \"statute\": {\n                \"id\": 64888,\n                \"title\": \"TEST\",\n                \"statuteId\": 4685\n            },\n            \"agendas\": [\n                {\n                    \"id\": 88520,\n                    \"name\": \"Escaneo de documentación\",\n                    \"attachments\": [],\n                    \"participants\": [\n                        {\n                            \"type\": \"SCREEN_CAPTURE\",\n                            \"agendaSignatoriesParticipantsAttachments\": [\n                                {\n                                    \"id\": 2664,\n                                    \"filename\": \"Documento_identificativo.png\",\n                                    \"url\": \"https://api.ovac.pre.councilbox.com/file/eyJhbGciOiJIUzI1NiIsInR5cCI6... \"\n                                }\n                            ]\n                        }\n                    ]\n                },\n                {\n                    \"id\": 88519,\n                    \"name\": \"PDF Interactivo\",\n                    \"attachments\": [\n                        {\n                            \"user\": {\n                                \"id\": 3477,\n                                \"name\": \"API\",\n                                \"surname\": \"PROFESIONAL\"\n                            },\n                            \"filename\": \"formulario_interactivo.pdf\",\n                            \"downloadUrl\": \"https://api.ovac.pre.councilbox.com/agendaAttachment/42106\",\n                            \"filesize\": \"3885\"\n                        }\n                    ],\n                    \"participants\": [\n                        {\n                            \"type\": \"INTERACTIVE_DOCS\",\n                            \"agendaSignatoriesParticipantsAttachments\": [\n                                {\n                                    \"id\": 2667,\n                                    \"filename\": \"formulario_interactivo.pdf\",\n                                    \"url\": \"https://api.ovac.pre.councilbox.com/file/eyJhbGciOiJIUzI1... \"\n                                }\n                            ]\n                        }\n                    ]\n                }\n            ]\n        }\n    }\n}\n\n ```"},"response":[{"id":"103d12d4-0004-41de-b040-069ace6db89a","name":"Get Appointment Information","originalRequest":{"method":"POST","header":[],"body":{"mode":"graphql"},"url":{"raw":"{{domain}}/{{endpoint}}","host":["{{domain}}"],"path":["{{endpoint}}"]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":":status","value":200},{"key":"date","value":"Wed, 20 May 2026 17:27:25 GMT"},{"key":"content-type","value":"application/json; charset=utf-8"},{"key":"vary","value":"Accept-Encoding"},{"key":"content-security-policy","value":"default-src 'self';base-uri 'self';font-src 'self' https: data:;form-action 'self';frame-ancestors 'self';img-src 'self' data:;object-src 'none';script-src 'self';script-src-attr 'none';style-src 'self' https: 'unsafe-inline';upgrade-insecure-requests"},{"key":"cross-origin-opener-policy","value":"same-origin"},{"key":"cross-origin-resource-policy","value":"cross-origin"},{"key":"origin-agent-cluster","value":"?1"},{"key":"referrer-policy","value":"no-referrer"},{"key":"strict-transport-security","value":"max-age=31536000; includeSubDomains"},{"key":"x-content-type-options","value":"nosniff"},{"key":"x-dns-prefetch-control","value":"off"},{"key":"x-download-options","value":"noopen"},{"key":"x-frame-options","value":"SAMEORIGIN"},{"key":"x-permitted-cross-domain-policies","value":"none"},{"key":"x-xss-protection","value":"0"},{"key":"access-control-allow-origin","value":"*"},{"key":"etag","value":"W/\"9ef-PIlaO12/azaDoq5KE8f1TmkZVoU\""},{"key":"content-encoding","value":"gzip"},{"key":"access-control-allow-methods","value":"GET,HEAD,PUT,PATCH,POST,DELETE"}],"cookie":[],"responseTime":null,"body":"{\n    \"data\": {\n        \"council\": {\n            \"state\": 60,\n            \"councilType\": 5,\n            \"dateStart\": \"2026-04-21T08:00:47.339Z\",\n            \"dateRealStart\": \"2026-04-21T07:31:23.016Z\",\n            \"dateEnd\": \"2026-04-21T07:58:12.113Z\",\n            \"adminUrl\": \"https://apitest.ovac.pre.councilbox.com/company/2191/council/64706/\",\n            \"noCelebrateComment\": \"\",\n            \"observations\": \"Observaciones de la cita\",\n            \"internalNotes\": \"Notas internas del trámite\",\n            \"comment\": null,\n            \"assignedUser\": {\n                \"id\": 3477,\n                \"name\": \"API\",\n                \"surname\": \"PROFESIONAL\",\n                \"email\": \"alejandro.maneiro+apiprof@councilbox.com\",\n                \"externalId\": \"TEST001\"\n            },\n            \"participants\": [\n                {\n                    \"name\": \"SOY EL PARTICIPANTE\",\n                    \"surname\": \"TEST\",\n                    \"email\": \"alejandro.maneiro+participante@councilbox.com\",\n                    \"dni\": \"77777777B\",\n                    \"idCardType\": \"dni\",\n                    \"idCardCountry\": \"ES\",\n                    \"zipcode\": \"12345\"\n                }\n            ],\n            \"statute\": {\n                \"id\": 64888,\n                \"title\": \"TEST\",\n                \"statuteId\": 4685\n            },\n            \"agendas\": [\n                {\n                    \"id\": 88522,\n                    \"name\": \"test\",\n                    \"attachments\": [],\n                    \"participants\": []\n                },\n                {\n                    \"id\": 88520,\n                    \"name\": \"Escaneo de documentación\",\n                    \"attachments\": [],\n                    \"participants\": [\n                        {\n                            \"type\": \"SCREEN_CAPTURE\",\n                            \"agendaSignatoriesParticipantsAttachments\": [\n                                {\n                                    \"id\": 2664,\n                                    \"filename\": \"Documento_identificativo.png\",\n                                    \"url\": \"https://api.ovac.pre.councilbox.com/file/eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6MTA0ODksImlhdCI6MTc3OTI5ODA0NX0.vals0aRTn7xkmUS-iiYUYHij4VfBoUhZB4ZSXi559rw\"\n                                }\n                            ]\n                        }\n                    ]\n                },\n                {\n                    \"id\": 88519,\n                    \"name\": \"PDF Interactivo\",\n                    \"attachments\": [\n                        {\n                            \"user\": {\n                                \"id\": 3477,\n                                \"name\": \"API\",\n                                \"surname\": \"PROFESIONAL\"\n                            },\n                            \"filename\": \"formulario_interactivo.pdf\",\n                            \"downloadUrl\": \"https://api.ovac.pre.councilbox.com/agendaAttachment/42106\",\n                            \"filesize\": \"3885\"\n                        }\n                    ],\n                    \"participants\": [\n                        {\n                            \"type\": \"INTERACTIVE_DOCS\",\n                            \"agendaSignatoriesParticipantsAttachments\": [\n                                {\n                                    \"id\": 2667,\n                                    \"filename\": \"formulario_interactivo.pdf\",\n                                    \"url\": \"https://api.ovac.pre.councilbox.com/file/eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6MTA0OTMsImlhdCI6MTc3OTI5ODA0NX0.U8pXjbEThXGIpbXDSrhm1BK2vOnHT9drzsoCnFdxN7E\"\n                                },\n                                {\n                                    \"id\": 2668,\n                                    \"filename\": \"formulario_interactivo.pdf\",\n                                    \"url\": \"https://api.ovac.pre.councilbox.com/file/eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6MTA0OTQsImlhdCI6MTc3OTI5ODA0NX0.x294GOQ43r9EJ9h33gFvyAWDVQhgSXREj-7vEXWOLSM\"\n                                }\n                            ]\n                        }\n                    ]\n                },\n                {\n                    \"id\": 88524,\n                    \"name\": \"Consentimiento expreso\",\n                    \"attachments\": [],\n                    \"participants\": []\n                },\n                {\n                    \"id\": 88523,\n                    \"name\": \"Firma de documentación\",\n                    \"attachments\": [\n                        {\n                            \"user\": {\n                                \"id\": 3477,\n                                \"name\": \"API\",\n                                \"surname\": \"PROFESIONAL\"\n                            },\n                            \"filename\": \"Test.pdf\",\n                            \"downloadUrl\": \"https://api.ovac.pre.councilbox.com/agendaAttachment/42107\",\n                            \"filesize\": \"29909\"\n                        }\n                    ],\n                    \"participants\": [\n                        {\n                            \"type\": \"SIGNATURE\",\n                            \"agendaSignatoriesParticipantsAttachments\": []\n                        }\n                    ]\n                },\n                {\n                    \"id\": 88521,\n                    \"name\": \"Respuestas múltipes\",\n                    \"attachments\": [],\n                    \"participants\": []\n                },\n                {\n                    \"id\": 88525,\n                    \"name\": \"Formulario\",\n                    \"attachments\": [],\n                    \"participants\": []\n                }\n            ]\n        }\n    }\n}","createdAt":"2026-05-22T09:43:29.000Z","updatedAt":"2026-06-10T11:04:11.000Z","uid":"45758186-103d12d4-0004-41de-b040-069ace6db89a"}],"createdAt":"2026-05-22T09:43:29.000Z","updatedAt":"2026-06-17T16:00:04.000Z","uid":"45758186-d6c9b785-134e-4097-a8d0-f057a867176e"},{"name":"Get Appointment Information_External","id":"62fd6bea-b7b0-4d97-ab70-a8aa54e7111f","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"apikey","apikey":[{"key":"key","value":"x-jwt-token","type":"string"},{"key":"value","value":"{{token}}","type":"string"}]},"method":"POST","header":[],"body":{"mode":"graphql","graphql":{"query":"query CouncilInfo($councilExternalId: String!, \r\n$companyExternalId: String!)\r\n    {\r\n    council(externalId: $councilExternalId, \r\n    companyExternalId: $companyExternalId)\r\n        {\r\n        state\r\n        councilType\r\n        dateStart\r\n        dateRealStart\r\n        dateEnd\r\n        adminUrl\r\n        councilType\r\n        noCelebrateComment\r\n        observations\r\n        internalNotes\r\n        comment\r\n        assignedUser {\r\n            id\r\n            name\r\n            surname\r\n            email\r\n            externalId\r\n        }\r\n        participants {\r\n            name\r\n            surname\r\n            email\r\n            dni\r\n            idCardType\r\n            idCardCountry\r\n            zipcode\r\n        }\r\n        statute {\r\n                id\r\n                title\r\n                statuteId\r\n        }\r\n        agendas {\r\n            id\r\n            name\r\n            attachments {\r\n                user {\r\n                    id\r\n                    name\r\n                    surname\r\n                }\r\n                filename\r\n                downloadUrl\r\n                filesize\r\n            }\r\n            participants {\r\n                type\r\n                agendaSignatoriesParticipantsAttachments {\r\n                    id\r\n                    filename\r\n                    url\r\n                }\r\n            }\r\n        }\r\n    }\r\n}","variables":"{\r\n    \"councilExternalId\": \"IdentificadorExternoCita\",\r\n    \"companyExternalId\": \"IdentificadorExternoOrg\"\r\n}"}},"url":{"raw":"{{domain}}/{{endpoint}}","host":["{{domain}}"],"path":["{{endpoint}}"]},"description":"# Get Appointment Information (External ID Variant) (`council`)\n\nEste método permite obtener información detallada y estructurada de una cita a partir de sus identificadores externos corporativos (`councilExternalId` y `companyExternalId`). Devuelve el estado actual de la convocatoria, el canal de atención, las marcas de tiempo de control, los datos del agente asignado, los datos de los ciudadanos participantes, el trámite asociado y el desglose de las fases de la agenda junto con las evidencias digitales recolectadas.\n\n### Detalles de la Solicitud\n\n- **Método HTTP:** `POST`\n    \n- **URL PRE:** `https://api.ovac.pre.councilbox.com/graphql`\n    \n- **URL PRO:** `https://api.ovac.pre.councilbox.com/graphql`\n    \n\n### Autenticación\n\n> **Tipo:** API Key**  \nHeader:** `x-jwt-token`  \n**Ubicación:** Header HTTP_  \nEjemplo:_ `x-jwt-token: eyJhbGciOiJIUzI1NiIsInR5cCI6...` \n  \n\n## Referencia de la API\n\n### Parámetros de Entrada (Variables)\n\n| Parámetro | Descripción | Requerido | Tipo |\n| --- | --- | --- | --- |\n| councilExternalId | Id de la cita externo | SI | String |\n| companyExternalId | Identificador externo de la organización o entidad | SI | String |\n\n### Campos de Respuesta (Payload)\n\nLa consulta agrupa la información del encuentro bajo el nodo raíz `council` con la siguiente taxonomía:\n\n#### 1\\. Datos Generales de la Cita (`council`)\n\n| Parámetro | Descripción | Tipo |\n| --- | --- | --- |\n| data | Objeto del conjunto de datos | Object |\n| data.council | Objeto del la cita | Object |\n| data.council.state | Estado de la cita:  <br>\\- '`-1`': Cancelada  <br>\\- 10: Confirmada  <br>\\- 20: Sala abierta  <br>\\- 25: Pausada  <br>\\- 40: Finalizada  <br>\\- 45: Procesando informe  <br>\\- 60: Completa  <br>\\- 65: Incompleta (no se ha realizado un paso requerido dentro del trámite propuesto) | Integer |\n| data.council.councilType | Tipo de cita, puede tomar los siguientes valores:  <br>\\- `5` -> Videoatención  <br>\\- `6` -> Gestión  <br>\\- `7` -> Presencial | Integer |\n| data.council.dateStart | Fecha de la cita en UTC | String |\n| data.council.dateRealStart | Fecha en la que se ha iniciado la cita en UTC | String |\n| data.council.dateEnd | Fecha de fin de la cita en UTC | String |\n| data.council.adminUrl | Enlace de acceso del administrador | String |\n| data.council.noCelebrateComment | Puede tomar estos valores:  <br>'**unavailable**' -> No disponible  <br>'**not_interested**' -> No interesado  <br>'**procedure_already_completed**' -> Proceso ya realizado  <br>'**incorrect_data**' -> Datos incorrectos  <br>'**difficult_access**' -> Problemas en el acceso  <br>'**incompatible_browser**' -> Navegador incompatible  <br>'**others**' -> Otro motivo | String |\n| data.council.observations | Se almacena el detalle que introduce el agente para información previa de la cita, se muestra un pop-up y también son visibles desde el panel de la cita | String |\n| data.council.internalNotes | Notas internas añadidas por el usuarios, no visibles por el participante | String |\n| data.council.comment | Comentario, usado en citas anteriores a OVAC 7.0  <br>\\-obsoleto- | String |\n| data.council.assignedUser | Objeto de usuario asignado | Object |\n| data.council.assignedUser.id | Identificador del usuario asignado | Integer |\n| data.council.assignedUser.name | Nombre del usuario asignado | String |\n| data.council.assignedUser.surname | Apellidos del usuario asignado | String |\n| data.council.assignedUser.email | Email del usuario asignado para la recepción de notificaciones | String |\n| data.council.assignedUser.externalId | Identificador externo del usuario asignado a la cita | String |\n| data.council.participants | Conjunto de participantes | Array |\n| data.council.participants\\[\\].name | Nombre del participante | String |\n| data.council.participants\\[\\].surname | Apellidos del participante | String |\n| data.council.participants\\[\\].email | Email para envío de notificación, en base al método de notificación solicitado. | String |\n| data.council.participants\\[\\].dni | Número de identificación del participante | String |\n| data.council.participants\\[\\].idCardType | Tipo de documento:  <br>**cif**: Documento para empresas de España.  <br>**codiceFiscale**: Documento de Italia.  <br>**dni**: Documento de España.  <br>**europeanDocument**: Documentos identificativos de europa.  <br>**nie**: Documento extrajeros España  <br>**passport**: Pasaporte | String |\n| data.council.participants\\[\\].idCardCountry | Código de país bajo ISO 3166-1 alfa-2 | String |\n| data.council.participants\\[\\].zipcode | Código postal | String |\n| data.council.statute | Objeto del trámite realizado | Object |\n| data.council.statute.id | Identificador del trámite | Integer |\n| data.council.statute.title | Nombre del trámite | String |\n| data.council.statute.statuteId | Identificador único del trámite | Integer |\n| data.council.agendas | Conjunto de datos correspondientes a los puntos de la cita | Array |\n| data.council.agendas\\[\\].id | Identificador único | Integer |\n| data.council.agendas\\[\\].name | Nombre el punto | String |\n| data.council.agendas\\[\\].attachments | Conjunto de adjuntos | Array |\n| data.council.agendas\\[\\].attachments\\[\\].user | Objeto correspondiente al usuario que adjunta documentación, siempre que haya sido el profesional, en el caso de haber sido subido por el participante el objeto estará vacío. | Object |\n| data.council.agendas\\[\\].attachments\\[\\].user.id | Identificador único del usuario | Integer |\n| data.council.agendas\\[\\].attachments\\[\\].user.name | Nombre del usuario | String |\n| data.council.agendas\\[\\].attachments\\[\\].user.surname | Apellidos del usuario | String |\n| data.council.agendas\\[\\].attachments\\[\\].filename | Nombre del documento adjunto y extenión | String |\n| data.council.agendas\\[\\].attachments\\[\\].downloadUrl | Enlace de acceso al documento | String |\n| data.council.agendas\\[\\].attachments\\[\\].filesize | Tamaño del documento en bytes | String |\n| data.council.agendas\\[\\].participants | Conjunto de participantes que realizan el punto abierto | Array |\n| data.council.agendas\\[\\].participants\\[\\].type | Identifica el tipo de paso iniciado, puede tomar los siguietnes valores:  <br>**SIGNATURE** -> Punto de firma.  <br>**BIOMETRIC** -> Punto de biometría.  <br>**INTERACTIVE_DOCS** -> PDFs interactivos.  <br>**SCREEN_CAPTURE** -> Escáner de documentación. | String |\n| data.council.agendas\\[\\].participants\\[\\].agendaSignatoriesParticipantsAttachments | Información sobre el punto | Array |\n| data.council.agendas\\[\\].participants\\[\\].agendaSignatoriesParticipantsAttachments\\[\\].id | Identificador único | Integer |\n| data.council.agendas\\[\\].participants\\[\\].agendaSignatoriesParticipantsAttachments\\[\\].filename | Nombre del documento | String |\n| data.council.agendas\\[\\].participants\\[\\].agendaSignatoriesParticipantsAttachments\\[\\].url | Enlace de acceso al binario | String |\n\n#### 2\\. Desglose de Objetos y Arrays Anidados\n\n##### Objeto `assignedUser` (Agente Asignado)\n\nPerfil del profesional responsable de atender o gestionar la cita.\n\n- **`id`** (`Int`): Identificador único interno del agente en OVAC.\n    \n- **`name`** / **`surname`** (`String`): Nombre y apellidos del profesional.\n    \n- **`email`** (`String`): Correo electrónico corporativo del operario.\n    \n- **`externalId`** (`String`): ID único del agente en el sistema externo del cliente.\n    \n\n##### Array `participants` (Ciudadanos Convocados)\n\nListado de los ciudadanos registrados en la cita (asistentes principales, representantes o invitados).\n\n- **`name`** / **`surname`** (`String`): Nombre y apellidos del participante. _(Nota: Corregido de Integer a String)_.\n    \n- **`email`** (`String`): Dirección de correo donde el ciudadano recibe las alertas y enlaces.\n    \n- **`dni`** (`String`): Documento identificativo o código fiscal.\n    \n- **`idCardType`** (`String`): Tipo de identificación (`\"dni\"`, `\"nif\"`, `\"nie\"`, `\"passport\"`, `\"codiceFiscale\"`, `\"europeanDocument\"`).\n    \n- **`idCardCountry`** (`String`): Código del país emisor de la documentación (ISO 3166-1 alfa-2).\n    \n- **`zipcode`** (`String`): Código postal registrado.\n    \n\n##### Objeto `statute` (Trámite Asociado)\n\nInformación sobre el tipo de trámite o procedimiento administrativo que se ejecuta en la cita.\n\n- **`id`** (`Int`): ID de la instancia de asignación del trámite.\n    \n- **`title`** (`String`): Nombre oficial del trámite (ej. `\"TEST\"`).\n    \n- **`statuteId`** (`Int`): Identificador maestro del procedimiento dentro de la plataforma.\n    \n\n##### Array `agendas` (Puntos de Control y Flujo de Trabajo)\n\nListado secuencial con las tareas, hitos y recolección de evidencias configuradas para el trámite.\n\n- **`id`** (`Int`): Identificador único del punto o paso de la agenda.\n    \n- **`name`** (`String`): Nombre descriptivo de la acción (ej. `\"Escaneo de documentación\"`, `\"Firma de documentación\"`).\n    \n- **`attachments`** (`Array`): Documentos aportados al punto _por el profesional de la entidad_. Contiene el objeto `user` (operador que lo subió), `filename`, `downloadUrl` y el `filesize` en bytes. Si fue subido de manera autónoma por el ciudadano, este objeto se devuelve vacío.\n    \n- **`participants`** (`Array`): Colección con las interacciones multimedia y firmas ejecutadas por el ciudadano en este paso:\n    \n    - `type` (`String`): Tipo de acción interactiva ejecutada (`SIGNATURE` \\[Firma electrónica\\], `BIOMETRIC` \\[Validación biométrica\\], `INTERACTIVE_DOCS` \\[Formularios PDF interactivos\\], `SCREEN_CAPTURE` \\[Escáner o captura de documentación\\]).\n        \n    - `agendaSignatoriesParticipantsAttachments` (`Array`): Listado que aloja las evidencias binarias finales resultantes de la acción del ciudadano (ej. el DNI digitalizado o el contrato firmado), detallando su `id`, `filename` y la `url` segura de acceso al archivo.\n        \n\n## Ejemplos de Código y Peticiones\n\n### 1\\. Consulta GraphQL\n\n``` graphql\nquery CouncilInfo($councilExternalId: String!, $companyExternalId: String!) {\n    council(externalId: $councilExternalId, companyExternalId: $companyExternalId) {\n        state\n        councilType\n        dateStart\n        dateRealStart\n        dateEnd\n        adminUrl\n        noCelebrateComment\n        observations\n        internalNotes\n        comment\n        assignedUser {\n            id\n            name\n            surname\n            email\n            externalId\n        }\n        participants {\n            name\n            surname\n            email\n            dni\n            idCardType\n            idCardCountry\n            zipcode\n        }\n        statute {\n            id\n            title\n            statuteId\n        }\n        agendas {\n            id\n            name\n            attachments {\n                user {\n                    id\n                    name\n                    surname\n                }\n                filename\n                downloadUrl\n                filesize\n            }\n            participants {\n                type\n                agendaSignatoriesParticipantsAttachments {\n                    id\n                    filename\n                    url\n                }\n            }\n        }\n    }\n}\n\n ```\n\n### 2\\. Variables de la Petición (JSON Payload)\n\n``` json\n{\n    \"councilExternalId\": \"Council_ID_EXT_9982\",\n    \"companyExternalId\": \"API_TEST\"\n}\n\n ```\n\n### 3\\. Ejemplo de comando cURL\n\n``` bash\ncurl --location --globoff 'https://api.ovac.pre.councilbox.com/graphql' \\\n--header 'Content-Type: application/json' \\\n--header 'x-jwt-token: {{token}}' \\\n--data '{\"query\":\"query CouncilInfo($councilExternalId: String!, $companyExternalId: String!){ council(externalId: $councilExternalId, companyExternalId: $companyExternalId){ state councilType dateStart dateRealStart dateEnd adminUrl noCelebrateComment observations internalNotes comment assignedUser { id name surname email externalId } participants { name surname email dni idCardType idCardCountry zipcode } statute { id title statuteId } agendas { id name attachments { user { id name surname } filename downloadUrl filesize } participants { type agendaSignatoriesParticipantsAttachments { id filename url } } } } }\",\"variables\":{\"councilExternalId\":\"Council_ID_EXT_9982\",\"companyExternalId\":\"API_TEST\"}}'\n\n ```\n\n### 4\\. Respuesta Esperada (200 OK)\n\n``` json\n{\n    \"data\": {\n        \"council\": {\n            \"state\": 60,\n            \"councilType\": 5,\n            \"dateStart\": \"2026-04-21T08:00:47.339Z\",\n            \"dateRealStart\": \"2026-04-21T07:31:23.016Z\",\n            \"dateEnd\": \"2026-04-21T07:58:12.113Z\",\n            \"adminUrl\": \"https://apitest.ovac.pre.councilbox.com/company/2191/council/64706/\",\n            \"noCelebrateComment\": \"\",\n            \"observations\": \"Observaciones de la cita\",\n            \"internalNotes\": \"Notas internas del trámite\",\n            \"comment\": null,\n            \"assignedUser\": {\n                \"id\": 3477,\n                \"name\": \"API\",\n                \"surname\": \"PROFESIONAL\",\n                \"email\": \"alejandro.maneiro+apiprof@councilbox.com\",\n                \"externalId\": null\n            },\n            \"participants\": [\n                {\n                    \"name\": \"SOY EL PARTICIPANTE\",\n                    \"surname\": \"TEST\",\n                    \"email\": \"alejandro.maneiro+participante@councilbox.com\",\n                    \"dni\": \"77777777B\",\n                    \"idCardType\": \"dni\",\n                    \"idCardCountry\": \"ES\"\n                }\n            ],\n            \"statute\": {\n                \"id\": 64888,\n                \"title\": \"TEST\",\n                \"statuteId\": 4685\n            },\n            \"agendas\": [\n                {\n                    \"id\": 88520,\n                    \"name\": \"Escaneo de documentación\",\n                    \"attachments\": [],\n                    \"participants\": [\n                        {\n                            \"type\": \"SCREEN_CAPTURE\",\n                            \"agendaSignatoriesParticipantsAttachments\": [\n                                {\n                                    \"id\": 2664,\n                                    \"filename\": \"Documento_identificativo.png\",\n                                    \"url\": \"https://api.ovac.pre.councilbox.com/file/eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6MTA0ODksImlhdCI6MTc3Njc1ODM0N30.NpfjhF50QayagYCgE59xbnIau5sOxTKsXtL_HRYOJOs\"\n                                }\n                            ]\n                        }\n                    ]\n                },\n                {\n                    \"id\": 88519,\n                    \"name\": \"PDF Interactivo\",\n                    \"attachments\": [\n                        {\n                            \"user\": {\n                                \"id\": 3477,\n                                \"name\": \"API\",\n                                \"surname\": \"PROFESIONAL\"\n                            },\n                            \"filename\": \"formulario_interactivo.pdf\",\n                            \"downloadUrl\": \"https://api.ovac.pre.councilbox.com/agendaAttachment/42106\",\n                            \"filesize\": \"3885\"\n                        }\n                    ],\n                    \"participants\": [\n                        {\n                            \"type\": \"INTERACTIVE_DOCS\",\n                            \"agendaSignatoriesParticipantsAttachments\": [\n                                {\n                                    \"id\": 2667,\n                                    \"filename\": \"formulario_interactivo.pdf\",\n                                    \"url\": \"https://api.ovac.pre.councilbox.com/file/eyJhbGciOiJIUzI1NiIsInR5cCI6... \"\n                                }\n                            ]\n                        }\n                    ]\n                }\n            ]\n        }\n    }\n}\n\n ```"},"response":[{"id":"cb032623-8969-474d-9818-93237cf18a02","name":"Get Appointment Information_External","originalRequest":{"method":"POST","header":[],"body":{"mode":"graphql"},"url":{"raw":"{{domain}}/{{endpoint}}","host":["{{domain}}"],"path":["{{endpoint}}"]}},"_postman_previewlanguage":"Text","header":[],"cookie":[],"responseTime":null,"body":"{\r\n    \"data\": {\r\n        \"council\": {\r\n            \"state\": 10,\r\n            \"councilType\": 5,\r\n            \"dateStart\": \"2026-05-23T15:30:00.000Z\",\r\n            \"dateRealStart\": null,\r\n            \"dateEnd\": null,\r\n            \"adminUrl\": \"https://apitest.ovac.pre.councilbox.com/company/2191/council/64905/\",\r\n            \"noCelebrateComment\": \"\",\r\n            \"observations\": \"Estas son observaciones\",\r\n            \"internalNotes\": \"<p>Estas son notas internas</p>\",\r\n            \"comment\": \"Opcional - Información visible mail de creación de cita\",\r\n            \"assignedUser\": {\r\n                \"id\": 3477,\r\n                \"name\": \"API\",\r\n                \"surname\": \"PROFESIONAL\",\r\n                \"email\": \"alejandro.maneiro+apiprof@councilbox.com\",\r\n                \"externalId\": \"TEST001\"\r\n            },\r\n            \"participants\": [\r\n                {\r\n                    \"name\": \"Name of participant\",\r\n                    \"surname\": \"Surname of participant\",\r\n                    \"email\": \"alejandro.maneiro@councilbox.com\",\r\n                    \"dni\": \"11111111H\",\r\n                    \"idCardType\": \"dni\",\r\n                    \"idCardCountry\": \"ES\",\r\n                    \"zipcode\": \"00000\"\r\n                },\r\n                {\r\n                    \"name\": \"REPRESENTADO\",\r\n                    \"surname\": \"Surname of participant\",\r\n                    \"email\": \"participant_email+representado@domain.com\",\r\n                    \"dni\": \"22222222H\",\r\n                    \"idCardType\": \"dni\",\r\n                    \"idCardCountry\": \"ES\",\r\n                    \"zipcode\": \"00000\"\r\n                }\r\n            ],\r\n            \"statute\": {\r\n                \"id\": 65087,\r\n                \"title\": \"TEST\",\r\n                \"statuteId\": 4685\r\n            },\r\n            \"agendas\": [\r\n                {\r\n                    \"id\": 89891,\r\n                    \"name\": \"test\",\r\n                    \"attachments\": [],\r\n                    \"participants\": []\r\n                },\r\n                {\r\n                    \"id\": 89887,\r\n                    \"name\": \"Escaneo de documentación\",\r\n                    \"attachments\": [],\r\n                    \"participants\": []\r\n                },\r\n                {\r\n                    \"id\": 89886,\r\n                    \"name\": \"PDF Interactivo\",\r\n                    \"attachments\": [],\r\n                    \"participants\": []\r\n                },\r\n                {\r\n                    \"id\": 89888,\r\n                    \"name\": \"Consentimiento expreso\",\r\n                    \"attachments\": [],\r\n                    \"participants\": []\r\n                },\r\n                {\r\n                    \"id\": 89889,\r\n                    \"name\": \"Firma de documentación\",\r\n                    \"attachments\": [],\r\n                    \"participants\": []\r\n                },\r\n                {\r\n                    \"id\": 89890,\r\n                    \"name\": \"Respuestas múltipes\",\r\n                    \"attachments\": [],\r\n                    \"participants\": []\r\n                },\r\n                {\r\n                    \"id\": 89885,\r\n                    \"name\": \"Formulario\",\r\n                    \"attachments\": [],\r\n                    \"participants\": []\r\n                }\r\n            ]\r\n        }\r\n    }\r\n}\r\n","createdAt":"2026-05-22T09:43:29.000Z","updatedAt":"2026-06-10T15:52:40.000Z","uid":"45758186-cb032623-8969-474d-9818-93237cf18a02"}],"createdAt":"2026-05-22T09:43:29.000Z","updatedAt":"2026-06-17T16:00:12.000Z","uid":"45758186-62fd6bea-b7b0-4d97-ab70-a8aa54e7111f"},{"name":"Get Appointment Evidence Summary","id":"0b821c1a-c161-478d-ba5e-ec399b3047c0","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"apikey","apikey":[{"key":"key","value":"x-jwt-token","type":"string"},{"key":"value","value":"{{token}}","type":"string"}]},"method":"POST","header":[],"body":{"mode":"graphql","graphql":{"query":"query CouncilEvidenceSummary(\r\n    $councilId: Int!,\r\n    ){\r\n    councilEvidenceSummary(\r\n        councilId: $councilId,\r\n    ){\r\n    councilId\r\n    act {\r\n      id\r\n      downloadLink\r\n    }\r\n    evidences {\r\n        date\r\n        userId\r\n        content\r\n        type\r\n        hash\r\n    }\r\n    recordings {\r\n      size\r\n      url\r\n      createdAt\r\n      signatureDocumentUrl\r\n      signatureUrl\r\n      sessionId\r\n      id\r\n      duration\r\n    }\r\n  }       \r\n}","variables":"{\r\n    \"councilId\": 12345 \r\n}"}},"url":{"raw":"{{domain}}/{{endpoint}}","host":["{{domain}}"],"path":["{{endpoint}}"]},"description":"# Get Appointment Evidence Summary (`query`)\n\nEste método permite recuperar de forma centralizada toda la pista de auditoría, metadatos de control, encuestas, grabaciones multimedia y el acta/informe digital oficial asociados a una cita completada o programada dentro de la plataforma OVAC.\n\n### Detalles de la Solicitud\n\n- **Método HTTP:** `POST`\n    \n- **URL PRE:** `https://api.ovac.pre.councilbox.com/graphql`\n    \n- **URL PRO:** `https://api.ovac.pre.councilbox.com/graphql`\n    \n\n### Autenticación\n\n> **Tipo:** API Key**  \nHeader:** `x-jwt-token`  \n**Ubicación:** Header HTTP_  \nEjemplo:_ `x-jwt-token: eyJhbGciOiJIUzI1NiIsInR5cCI6...` \n  \n\n## Referencia de la API\n\n### Parámetros de Entrada (Variables)\n\n| Parámetro | Descripción | Requerido | Tipo |\n| --- | --- | --- | --- |\n| councilId | dentificador numérico único de la cita en OVAC. | SI | Integer |\n\n### Campos de Respuesta (Payload)\n\nLa consulta agrupa la información del encuentro en cuatro grandes bloques funcionales (`act`, `evidences`, `recordings`, `surveys`):\n\n| `Parámetro` | `Descripción` | `Tipo` |\n| --- | --- | --- |\n| data | Objeto de Data | Object |\n| data.councilEvidenceSummary | Objeto de la evidencia | Object |\n| data.councilEvidenceSummary.councilId | Identificador de la cita | Integer |\n| data.councilEvidenceSummary.act | Objeto del acta (informe), si no hay informe los valores estarán a `_null_` | Object |\n| data.councilEvidenceSummary.act.id | Identificador único del informe | Integer |\n| data.councilEvidenceSummary.act.downloadLink | Enlace de descarga, para descargarlo es necesario añadir autenticación, es decir API Key con el token adquirido en el login | String |\n| data.councilEvidenceSummary.evidences | Conjunto de evidencias de la cita. en formato JSON | Array |\n| data.councilEvidenceSummary.evidences\\[\\].date | Fecha de creación | String |\n| data.councilEvidenceSummary.evidences\\[\\].userId | Identificador único del usuario que crea la cita | Integer |\n| data.councilEvidenceSummary.evidences\\[\\].content | Contenido en JSON sobre la cita. | String |\n| data.councilEvidenceSummary.evidences\\[\\].type | Tipo de cita | String |\n| data.councilEvidenceSummary.evidences\\[\\].hash | Hash atribuido a la evidencia | String |\n| data.councilEvidenceSummary.recordings | Conjunto de información para la evidencia de grabación | Array |\n| data.councilEvidenceSummary.recordings\\[\\].size | Tamaño en bytes | String |\n| data.councilEvidenceSummary.recordings\\[\\].url | Enlace de descarga del vídeo de la cita, se mostrarán tantos enlaces como vídeos exista, para descargar es necesario usar autenticación API Key con el token generado en el login | String |\n| data.councilEvidenceSummary.recordings\\[\\].createdAt | Fecha de creación de la grabación | String |\n| data.councilEvidenceSummary.recordings\\[\\].signatureDocumentUrl | Indica si el vídeo está firmado, si es así, muestra la firma | String |\n| data.councilEvidenceSummary.recordings\\[\\].signatureUrl | Enlace para descarga del vídeo firmado. | String |\n| data.councilEvidenceSummary.recordings\\[\\].sessionId | Identificador del vídeo | String |\n| data.councilEvidenceSummary.recordings\\[\\].id | identificador único de cita y vídeo, usado para la descarga de los vídeos | String |\n| data.councilEvidenceSummary.recordings\\[\\].duration | Duración de la grabación en segundos | String |\n\n## Ejemplos de Código y Peticiones\n\n### 1\\. Consulta GraphQL\n\n``` graphql\nquery CouncilEvidenceSummary($councilId: Int, $externalId: String) {\n    councilEvidenceSummary(councilId: $councilId, externalId: $externalId) {\n        councilId\n        act {\n            id\n            downloadLink\n        }\n        evidences {\n            date\n            userId\n            content\n            type\n            hash\n        }\n        recordings {\n            size\n            url\n            createdAt\n            signatureDocumentUrl\n            signatureUrl\n            sessionId\n            id\n            duration\n        }\n        surveys {\n            id\n            councilId\n            creationDate\n            participantId\n            data\n            participant {\n                id\n                email\n                surname\n                dni\n                name\n                councilId\n                externalId\n            }\n        }\n    } \n}\n\n ```\n\n### 2\\. Variables de la Petición (JSON Payload)\n\n``` json\n{\n    \"councilId\": 64687\n}\n\n ```\n\n### 3\\. Ejemplo de comando cURL\n\n``` bash\ncurl --location 'https://api.ovac.pre.councilbox.com/graphql' \\\n--header 'Content-Type: application/json' \\\n--header 'x-jwt-token: {{token}}' \\\n--data '{\"query\":\"query CouncilEvidenceSummary($councilId: Int, $externalId: String){ councilEvidenceSummary(councilId: $councilId, externalId: $externalId){ councilId act { id downloadLink } evidences { date userId content type hash } recordings { size url createdAt signatureDocumentUrl signatureUrl sessionId id duration } surveys { id councilId creationDate participantId data participant { id email surname dni name councilId externalId } } } }\",\"variables\":{\"councilId\":64687}}'\n\n ```\n\n### 4\\. Respuesta Esperada (200 OK)\n\n``` json\n{\n  \"data\": {\n    \"councilEvidenceSummary\": {\n      \"councilId\": 64687,\n      \"act\": {\n        \"id\": 7571,\n        \"downloadLink\": \"https://api.ovac.pre.councilbox.com/council/64687/act\"\n      },\n      \"evidences\": [\n        {\n          \"date\": \"2026-04-17T07:53:05.685Z\",\n          \"userId\": 3477,\n          \"content\": \"{\\\"data\\\":{\\\"council\\\":{\\\"company\\\":{\\\"address\\\":\\\"TEST API\\\",\\\"businessName\\\":\\\"TEST API\\\",\\\"id\\\":2191},\\\"dateStart\\\":\\\"2026-04-17T08:00:40.436Z\\\",\\\"id\\\":64687,\\\"name\\\":\\\"TEST\\\"}}}\",\n          \"type\": \"CONVENE_COUNCIL_WITH_NOTICE\",\n          \"hash\": \"4557033a-0318-441c-9615-d2c24e1c020c\"\n        },\n        {\n          \"date\": \"2026-04-17T08:33:37.442Z\",\n          \"userId\": 3477,\n          \"content\": \"{\\\"data\\\":{\\\"council\\\":{\\\"id\\\":64687,\\\"name\\\":\\\"TEST\\\",\\\"dateStartRecording\\\":\\\"2026-04-17T08:33:37.441Z\\\"}}}\",\n          \"type\": \"START_RECORDING\",\n          \"hash\": \"80bb946e-0f3f-4c07-b66e-8eca096f79aa\"\n        }\n      ],\n      \"recordings\": [\n        {\n          \"size\": \"20905\",\n          \"url\": \"https://api.ovac.pre.councilbox.com/api/recording/64687-69e1f050c246e6ee55055021\",\n          \"createdAt\": \"1776414811764\",\n          \"signatureDocumentUrl\": null,\n          \"signatureUrl\": null,\n          \"sessionId\": \"69e1f050c246e6ee55055021\",\n          \"id\": \"64687-69e1f050c246e6ee55055021\",\n          \"duration\": \"2.036\"\n        }\n      ],\n      \"surveys\": []\n    }\n  }\n}\n\n ```"},"response":[{"id":"c10e5a1d-1502-42d8-b3ac-252aa0686ece","name":"Get Appointment Evidence Summary","originalRequest":{"method":"POST","header":[],"body":{"mode":"graphql"},"url":{"raw":"{{domain}}/{{endpoint}}","host":["{{domain}}"],"path":["{{endpoint}}"]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":":status","value":200},{"key":"date","value":"Wed, 20 May 2026 16:30:54 GMT"},{"key":"content-type","value":"application/json; charset=utf-8"},{"key":"vary","value":"Accept-Encoding"},{"key":"content-security-policy","value":"default-src 'self';base-uri 'self';font-src 'self' https: data:;form-action 'self';frame-ancestors 'self';img-src 'self' data:;object-src 'none';script-src 'self';script-src-attr 'none';style-src 'self' https: 'unsafe-inline';upgrade-insecure-requests"},{"key":"cross-origin-opener-policy","value":"same-origin"},{"key":"cross-origin-resource-policy","value":"cross-origin"},{"key":"origin-agent-cluster","value":"?1"},{"key":"referrer-policy","value":"no-referrer"},{"key":"strict-transport-security","value":"max-age=31536000; includeSubDomains"},{"key":"x-content-type-options","value":"nosniff"},{"key":"x-dns-prefetch-control","value":"off"},{"key":"x-download-options","value":"noopen"},{"key":"x-frame-options","value":"SAMEORIGIN"},{"key":"x-permitted-cross-domain-policies","value":"none"},{"key":"x-xss-protection","value":"0"},{"key":"access-control-allow-origin","value":"*"},{"key":"etag","value":"W/\"88de-uKCh8+wgf3Wwc4oh53kSw07thTE\""},{"key":"content-encoding","value":"gzip"},{"key":"access-control-allow-methods","value":"GET,HEAD,PUT,PATCH,POST,DELETE"}],"cookie":[],"responseTime":null,"body":"{\n    \"data\": {\n        \"councilEvidenceSummary\": {\n            \"councilId\": 64817,\n            \"act\": {\n                \"id\": 7654,\n                \"downloadLink\": \"https://api.ovac.pre.councilbox.com/council/64817/act\"\n            },\n            \"evidences\": [\n                {\n                    \"date\": \"2026-05-06T10:28:28.705Z\",\n                    \"userId\": 3476,\n                    \"content\": \"{\\\"data\\\":{\\\"council\\\":{\\\"company\\\":{\\\"address\\\":\\\"TEST API\\\",\\\"businessName\\\":\\\"TEST API\\\",\\\"id\\\":2191,\\\"testUrl\\\":null},\\\"dateStart\\\":\\\"2026-05-16T15:00:00.000Z\\\",\\\"dateStart2NdCall\\\":null,\\\"id\\\":64817,\\\"name\\\":\\\"test creación cita\\\",\\\"userScheduleId\\\":null},\\\"councilId\\\":64817,\\\"date\\\":\\\"2026-05-06T10:28:28.705Z\\\",\\\"id\\\":617287,\\\"participantId\\\":null,\\\"type\\\":\\\"CONVENE_COUNCIL_WITH_NOTICE\\\",\\\"user\\\":{\\\"email\\\":\\\"alejandro.maneiro+apitest@councilbox.com\\\",\\\"externalId\\\":null,\\\"id\\\":3476,\\\"name\\\":\\\"API TEST\\\",\\\"phone\\\":\\\"+34-666123456\\\",\\\"surname\\\":\\\"Postman\\\"},\\\"userId\\\":3476,\\\"uuid\\\":\\\"a36e511c-6f9a-430a-a3e8-06a78c43db0b\\\"}}\",\n                    \"type\": \"CONVENE_COUNCIL_WITH_NOTICE\",\n                    \"hash\": \"5b6142dd-9c4d-4172-9178-4510f3a57e66\"\n                },\n                {\n                    \"date\": \"2026-05-06T10:28:28.710Z\",\n                    \"userId\": 3476,\n                    \"content\": \"{\\\"data\\\":{\\\"council\\\":{\\\"dateStart\\\":\\\"2026-05-16T15:00:00.000Z\\\",\\\"id\\\":64817,\\\"name\\\":\\\"test creación cita\\\"},\\\"councilId\\\":64817,\\\"date\\\":\\\"2026-05-06T10:28:28.710Z\\\",\\\"id\\\":617288,\\\"participantId\\\":null,\\\"type\\\":\\\"COUNCIL_ASSIGNED\\\",\\\"user\\\":{\\\"email\\\":\\\"alejandro.maneiro+apitest@councilbox.com\\\",\\\"externalId\\\":null,\\\"id\\\":3476,\\\"name\\\":\\\"API TEST\\\",\\\"phone\\\":\\\"+34-666123456\\\",\\\"surname\\\":\\\"Postman\\\"},\\\"userId\\\":3476,\\\"uuid\\\":\\\"2b300ab2-f900-40ce-895a-5d8a212299f1\\\"}}\",\n                    \"type\": \"COUNCIL_ASSIGNED\",\n                    \"hash\": \"58610a6b-08bd-4c89-9768-c9b82e4ff8ef\"\n                },\n                {\n                    \"date\": \"2026-05-18T09:49:08.910Z\",\n                    \"userId\": 3477,\n                    \"content\": \"{\\\"data\\\":{\\\"council\\\":{\\\"dateStart\\\":\\\"2026-05-16T15:00:00.000Z\\\",\\\"id\\\":64817,\\\"name\\\":\\\"test creación cita\\\"},\\\"councilId\\\":64817,\\\"date\\\":\\\"2026-05-18T09:49:08.910Z\\\",\\\"id\\\":619652,\\\"participantId\\\":null,\\\"type\\\":\\\"COUNCIL_ASSIGNED\\\",\\\"user\\\":{\\\"email\\\":\\\"alejandro.maneiro+apiprof@councilbox.com\\\",\\\"externalId\\\":null,\\\"id\\\":3477,\\\"name\\\":\\\"API\\\",\\\"phone\\\":\\\"+34-666123456\\\",\\\"surname\\\":\\\"PROFESIONAL\\\"},\\\"userId\\\":3477,\\\"userSchedule\\\":{\\\"email\\\":\\\"alejandro.maneiro+apiprof@councilbox.com\\\",\\\"externalId\\\":null,\\\"id\\\":3477,\\\"name\\\":\\\"API\\\",\\\"phone\\\":\\\"+34-666123456\\\",\\\"surname\\\":\\\"PROFESIONAL\\\"},\\\"uuid\\\":\\\"8a25a891-f80a-4593-995b-89f051dc258e\\\"}}\",\n                    \"type\": \"COUNCIL_ASSIGNED\",\n                    \"hash\": \"2ef5efef-77d9-4a74-8a42-f603efca329f\"\n                },\n                {\n                    \"date\": \"2026-05-18T09:49:08.985Z\",\n                    \"userId\": 3477,\n                    \"content\": \"{\\\"data\\\":{\\\"council\\\":{\\\"company\\\":{\\\"businessName\\\":\\\"TEST API\\\",\\\"id\\\":2191},\\\"id\\\":64817,\\\"name\\\":\\\"test creación cita\\\",\\\"sendDate\\\":\\\"2026-05-18T09:49:08.972Z\\\"},\\\"councilId\\\":64817,\\\"date\\\":\\\"2026-05-18T09:49:08.985Z\\\",\\\"id\\\":619653,\\\"participantId\\\":null,\\\"type\\\":\\\"SEND_ROOM_ACCESS_EMAIL\\\",\\\"user\\\":{\\\"email\\\":\\\"alejandro.maneiro+apiprof@councilbox.com\\\",\\\"externalId\\\":null,\\\"id\\\":3477,\\\"name\\\":\\\"API\\\",\\\"phone\\\":\\\"+34-666123456\\\",\\\"surname\\\":\\\"PROFESIONAL\\\"},\\\"userId\\\":3477,\\\"uuid\\\":\\\"157617a8-6694-4b0c-81a2-a237aa755369\\\"}}\",\n                    \"type\": \"SEND_ROOM_ACCESS_EMAIL\",\n                    \"hash\": \"94e4a532-d20e-45de-9a4e-1f7eb00712ac\"\n                },\n                {\n                    \"date\": \"2026-05-18T09:49:08.986Z\",\n                    \"userId\": 3477,\n                    \"content\": \"{\\\"data\\\":{\\\"council\\\":{\\\"company\\\":{\\\"businessName\\\":\\\"TEST API\\\",\\\"id\\\":2191},\\\"id\\\":64817,\\\"name\\\":\\\"test creación cita\\\",\\\"openDate\\\":\\\"2026-05-18T09:49:08.972Z\\\"},\\\"councilId\\\":64817,\\\"date\\\":\\\"2026-05-18T09:49:08.986Z\\\",\\\"id\\\":619654,\\\"participantId\\\":null,\\\"type\\\":\\\"OPEN_COUNCIL_ROOM\\\",\\\"user\\\":{\\\"email\\\":\\\"alejandro.maneiro+apiprof@councilbox.com\\\",\\\"externalId\\\":null,\\\"id\\\":3477,\\\"name\\\":\\\"API\\\",\\\"phone\\\":\\\"+34-666123456\\\",\\\"surname\\\":\\\"PROFESIONAL\\\"},\\\"userId\\\":3477,\\\"uuid\\\":\\\"dfda6a0d-f5c2-4675-800e-49cf86814657\\\"}}\",\n                    \"type\": \"OPEN_COUNCIL_ROOM\",\n                    \"hash\": \"dcadc5c8-7617-4239-95cc-bda4d3aa0b21\"\n                },\n                {\n                    \"date\": \"2026-05-18T09:49:09.502Z\",\n                    \"userId\": 3477,\n                    \"content\": \"{\\\"data\\\":{\\\"council\\\":{\\\"company\\\":{\\\"id\\\":2191},\\\"dateStart\\\":\\\"2026-05-16T15:00:00.000Z\\\",\\\"id\\\":64817,\\\"name\\\":\\\"test creación cita\\\",\\\"requestInfo\\\":{\\\"cbxDeviceId\\\":\\\"3289qja\\\",\\\"fullIpData\\\":\\\"178.60.62.174\\\",\\\"httpVersion\\\":\\\"1.1\\\",\\\"ip\\\":\\\"178.60.62.174\\\",\\\"method\\\":\\\"POST\\\",\\\"referer\\\":\\\"https://apitest.ovac.pre.councilbox.com/\\\",\\\"ua\\\":{\\\"browser\\\":{\\\"major\\\":\\\"147\\\",\\\"name\\\":\\\"Chrome\\\",\\\"version\\\":\\\"147.0.0.0\\\"},\\\"cpu\\\":{\\\"architecture\\\":\\\"amd64\\\"},\\\"device\\\":{},\\\"engine\\\":{\\\"name\\\":\\\"Blink\\\",\\\"version\\\":\\\"147.0.0.0\\\"},\\\"os\\\":{\\\"name\\\":\\\"Windows\\\",\\\"version\\\":\\\"10\\\"},\\\"ua\\\":\\\"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\\\"},\\\"url\\\":\\\"/\\\"}},\\\"councilId\\\":64817,\\\"date\\\":\\\"2026-05-18T09:49:09.502Z\\\",\\\"id\\\":619655,\\\"participantId\\\":null,\\\"type\\\":\\\"ADMIN_TAKES_ROOM_CONTROL\\\",\\\"user\\\":{\\\"email\\\":\\\"alejandro.maneiro+apiprof@councilbox.com\\\",\\\"externalId\\\":null,\\\"id\\\":3477,\\\"name\\\":\\\"API\\\",\\\"phone\\\":\\\"+34-666123456\\\",\\\"surname\\\":\\\"PROFESIONAL\\\"},\\\"userId\\\":3477,\\\"uuid\\\":\\\"58d4af92-547c-4cf4-85d5-edaf3dd6c2d1\\\"}}\",\n                    \"type\": \"ADMIN_TAKES_ROOM_CONTROL\",\n                    \"hash\": \"e9db5e9f-6fb0-487c-8dcc-e9d1c1213329\"\n                },\n                {\n                    \"date\": \"2026-05-18T09:49:34.030Z\",\n                    \"userId\": null,\n                    \"content\": \"{\\\"data\\\":{\\\"agendaId\\\":null,\\\"councilId\\\":64817,\\\"date\\\":\\\"2026-05-18T09:49:34.030Z\\\",\\\"id\\\":619657,\\\"participant\\\":{\\\"accessId\\\":\\\"Name of participant Surname of participant | 248904\\\",\\\"actReadId\\\":null,\\\"blocked\\\":0,\\\"category\\\":null,\\\"chatEnabled\\\":1,\\\"company\\\":{\\\"businessName\\\":\\\"TEST API\\\",\\\"id\\\":2191,\\\"tin\\\":null},\\\"companyParticipantId\\\":null,\\\"council\\\":{\\\"dateStart\\\":\\\"2026-05-16T15:00:00.000Z\\\",\\\"id\\\":64817,\\\"name\\\":\\\"test creación cita\\\"},\\\"councilId\\\":64817,\\\"customData\\\":null,\\\"date\\\":\\\"2026-05-06T10:28:28.179Z\\\",\\\"dni\\\":\\\"11111111H\\\",\\\"email\\\":\\\"participant_email@domain.com\\\",\\\"externalId\\\":null,\\\"faceId\\\":null,\\\"hasVoted\\\":false,\\\"id\\\":156676,\\\"idCardCountry\\\":\\\"ES\\\",\\\"idCardType\\\":\\\"dni\\\",\\\"lastDateConnection\\\":\\\"2026-05-18T09:49:34.020Z\\\",\\\"lastRequestDate\\\":null,\\\"name\\\":\\\"Name of participant\\\",\\\"numParticipations\\\":1,\\\"participantId\\\":248904,\\\"phone\\\":\\\"+34-600000000\\\",\\\"position\\\":\\\"\\\",\\\"presentAtTheStart\\\":false,\\\"procedureFirstConnectionDate\\\":null,\\\"procedureLastConnectionDate\\\":null,\\\"requester\\\":true,\\\"requestingIdentification\\\":0,\\\"role\\\":null,\\\"screen\\\":\\\"COUNCIL_ROOM\\\",\\\"secondaryEmail\\\":null,\\\"socialCapital\\\":1,\\\"state\\\":0,\\\"surname\\\":\\\"Surname of participant\\\",\\\"trackInfo\\\":{\\\"geoLocation\\\":{\\\"as\\\":\\\"AS12334 R Cable y Telecable Telecomunicaciones, S.A.U.\\\",\\\"city\\\":\\\"Muros\\\",\\\"country\\\":\\\"Spain\\\",\\\"countryCode\\\":\\\"ES\\\",\\\"isp\\\":\\\"R Cable y Telecomunicaciones Galicia, S.A\\\",\\\"lat\\\":42.7891,\\\"lon\\\":-9.0775,\\\"org\\\":\\\"Grupo Gallego de Cable\\\",\\\"query\\\":\\\"178.60.62.174\\\",\\\"region\\\":\\\"GA\\\",\\\"regionName\\\":\\\"Galicia\\\",\\\"status\\\":\\\"success\\\",\\\"timezone\\\":\\\"Europe/Madrid\\\",\\\"zip\\\":\\\"15259\\\"},\\\"requestInfo\\\":{\\\"cbxDeviceId\\\":\\\"md7yxo9\\\",\\\"fullIpData\\\":\\\"178.60.62.174\\\",\\\"httpVersion\\\":\\\"1.1\\\",\\\"ip\\\":\\\"178.60.62.174\\\",\\\"method\\\":\\\"POST\\\",\\\"referer\\\":\\\"https://apitest.ovac.pre.councilbox.com/\\\",\\\"ua\\\":{\\\"browser\\\":{\\\"major\\\":\\\"147\\\",\\\"name\\\":\\\"Chrome\\\",\\\"version\\\":\\\"147.0.0.0\\\"},\\\"cpu\\\":{\\\"architecture\\\":\\\"amd64\\\"},\\\"device\\\":{},\\\"engine\\\":{\\\"name\\\":\\\"Blink\\\",\\\"version\\\":\\\"147.0.0.0\\\"},\\\"os\\\":{\\\"name\\\":\\\"Windows\\\",\\\"version\\\":\\\"10\\\"},\\\"ua\\\":\\\"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\\\"},\\\"url\\\":\\\"/\\\"}},\\\"videoId\\\":null,\\\"voteDenied\\\":false,\\\"voteDeniedReason\\\":null},\\\"participantId\\\":156676,\\\"type\\\":\\\"PARTICIPANT_CONNECT\\\",\\\"userId\\\":null,\\\"uuid\\\":\\\"d2d69c67-945e-466b-93cf-4403472a6d74\\\"}}\",\n                    \"type\": \"PARTICIPANT_CONNECT\",\n                    \"hash\": \"92bbd6d9-6d3f-457e-80fd-bf0439b582d4\"\n                },\n                {\n                    \"date\": \"2026-05-18T09:49:51.091Z\",\n                    \"userId\": 3477,\n                    \"content\": \"{\\\"data\\\":{\\\"council\\\":{\\\"company\\\":{\\\"businessName\\\":\\\"TEST API\\\",\\\"id\\\":2191},\\\"dateStartRecording\\\":\\\"2026-05-18T09:49:51.088Z\\\",\\\"id\\\":64817,\\\"name\\\":\\\"test creación cita\\\"},\\\"councilId\\\":64817,\\\"date\\\":\\\"2026-05-18T09:49:51.091Z\\\",\\\"id\\\":619658,\\\"participantId\\\":null,\\\"type\\\":\\\"START_RECORDING\\\",\\\"user\\\":{\\\"email\\\":\\\"alejandro.maneiro+apiprof@councilbox.com\\\",\\\"externalId\\\":null,\\\"id\\\":3477,\\\"name\\\":\\\"API\\\",\\\"phone\\\":\\\"+34-666123456\\\",\\\"surname\\\":\\\"PROFESIONAL\\\"},\\\"userId\\\":3477,\\\"uuid\\\":\\\"70cc5cf5-a47d-462c-b6ea-f622ec7eb15d\\\"}}\",\n                    \"type\": \"START_RECORDING\",\n                    \"hash\": \"58b93ae1-7b01-46f8-90e3-88fcb859cfa3\"\n                },\n                {\n                    \"date\": \"2026-05-18T09:49:51.247Z\",\n                    \"userId\": 3477,\n                    \"content\": \"{\\\"data\\\":{\\\"council\\\":{\\\"actPointMajority\\\":1,\\\"actPointMajorityDivider\\\":3,\\\"actPointMajorityType\\\":1,\\\"actPointQuorum\\\":0,\\\"actPointQuorumDivider\\\":3,\\\"actPointQuorumType\\\":-1,\\\"actVisible\\\":false,\\\"active\\\":1,\\\"adminsToUnlock\\\":null,\\\"approveActDraft\\\":0,\\\"askWordMenu\\\":false,\\\"autoCancel\\\":null,\\\"autoClose\\\":0,\\\"businessName\\\":\\\"TEST API\\\",\\\"caseNumber\\\":\\\"21912191648172026731f7\\\",\\\"city\\\":\\\"TEO\\\",\\\"closeDate\\\":null,\\\"comment\\\":\\\"Opcional - Información visible mail de creación de cita\\\",\\\"company\\\":{\\\"businessName\\\":\\\"TEST API\\\",\\\"id\\\":2191},\\\"companyId\\\":2191,\\\"confirmAssistance\\\":1,\\\"contactEmail\\\":\\\"alejandro.maneiro@councilbox.com\\\",\\\"conveneFooter\\\":\\\"<p>Pie del trámite TEST</p>\\\",\\\"conveneSendDate\\\":\\\"2026-05-06T10:28:28.532Z\\\",\\\"conveneText\\\":\\\"<p>Descripción del trámite TEST</p>\\\",\\\"conveneUserId\\\":3476,\\\"councilStarted\\\":1,\\\"councilType\\\":5,\\\"country\\\":\\\"ES\\\",\\\"countryState\\\":\\\"Coruña, A\\\",\\\"creationDate\\\":\\\"2026-05-06T10:28:28.123Z\\\",\\\"creationMethod\\\":\\\"API\\\",\\\"creatorId\\\":3476,\\\"current\\\":null,\\\"currentQuorum\\\":1,\\\"customConvene\\\":false,\\\"dataAccessRestriction\\\":0,\\\"dateEnd\\\":null,\\\"dateOpenRoom\\\":\\\"2026-05-18T09:49:08.972Z\\\",\\\"dateRealEnd\\\":null,\\\"dateRealStart\\\":\\\"2026-05-18T09:49:51.227Z\\\",\\\"dateStart\\\":\\\"2026-05-16T15:00:00.000Z\\\",\\\"dateStart2NdCall\\\":null,\\\"displayName\\\":null,\\\"duration\\\":null,\\\"emailApp\\\":null,\\\"emailText\\\":\\\"\\\",\\\"endpoint\\\":null,\\\"externalId\\\":null,\\\"fileNumber\\\":null,\\\"firstOrSecondConvene\\\":1,\\\"fullVideoRecord\\\":1,\\\"hasLimitDate\\\":0,\\\"hasVideo\\\":0,\\\"hash\\\":\\\"2191-2026/05/16-15:00-3477\\\",\\\"headerLogo\\\":null,\\\"id\\\":64817,\\\"incomplete\\\":0,\\\"initialQuorum\\\":1,\\\"internalNotes\\\":\\\"Estas son notas internas\\\",\\\"language\\\":\\\"es\\\",\\\"limitDateResponse\\\":null,\\\"locked\\\":0,\\\"name\\\":\\\"test creación cita\\\",\\\"neededQuorum\\\":0,\\\"noCelebrateComment\\\":\\\"\\\",\\\"observations\\\":\\\"Estas son observaciones\\\",\\\"openRoomType\\\":0,\\\"operationId\\\":\\\"947849e7-b112-4d4e-a442-46da07b58188\\\",\\\"portalBlocked\\\":0,\\\"preconveneSendDate\\\":null,\\\"preconveneUserId\\\":null,\\\"presentVoteOverwrite\\\":1,\\\"president\\\":null,\\\"presidentId\\\":null,\\\"price\\\":null,\\\"promoCode\\\":null,\\\"proposedActSent\\\":0,\\\"prototypeFirstCallQuorum\\\":null,\\\"prototypeSecondCallQuorum\\\":null,\\\"publicConvene\\\":0,\\\"qualityVoteId\\\":null,\\\"qualityVoteName\\\":\\\"\\\",\\\"quorumPrototype\\\":0,\\\"readOnly\\\":0,\\\"remoteCelebration\\\":1,\\\"satisfyQuorum\\\":1,\\\"secretary\\\":null,\\\"secretaryId\\\":null,\\\"securityEmailTemplate\\\":null,\\\"securityKey\\\":null,\\\"securityType\\\":0,\\\"selectedCensusId\\\":null,\\\"sendActDate\\\":null,\\\"sendDate\\\":null,\\\"sendPointsMode\\\":1,\\\"shortname\\\":null,\\\"state\\\":20,\\\"step\\\":6,\\\"street\\\":\\\"TEST API\\\",\\\"subdomain\\\":\\\"apitest\\\",\\\"supportEmail\\\":\\\"alejandro.maneiro@councilbox.com\\\",\\\"tag\\\":\\\"ADMIN\\\",\\\"timezone\\\":120,\\\"tin\\\":null,\\\"treasuryShares\\\":null,\\\"userScheduleId\\\":3477,\\\"videoEmailTemplate\\\":null,\\\"videoEmailsDate\\\":\\\"2026-05-18T09:49:08.972Z\\\",\\\"videoMode\\\":0,\\\"videoRecodingInitialized\\\":0,\\\"videoRecording\\\":0,\\\"votationType\\\":1,\\\"wallActive\\\":1,\\\"weightedVoting\\\":0,\\\"zipcode\\\":\\\"99999\\\"},\\\"councilId\\\":64817,\\\"date\\\":\\\"2026-05-18T09:49:51.247Z\\\",\\\"id\\\":619659,\\\"participantId\\\":null,\\\"type\\\":\\\"START_COUNCIL\\\",\\\"user\\\":{\\\"email\\\":\\\"alejandro.maneiro+apiprof@councilbox.com\\\",\\\"externalId\\\":null,\\\"id\\\":3477,\\\"name\\\":\\\"API\\\",\\\"phone\\\":\\\"+34-666123456\\\",\\\"surname\\\":\\\"PROFESIONAL\\\"},\\\"userId\\\":3477,\\\"uuid\\\":\\\"35ec4b43-4bfb-43a0-be3e-6e3faa8fe169\\\"}}\",\n                    \"type\": \"START_COUNCIL\",\n                    \"hash\": \"ed1709b6-1041-42f8-9186-c52a55a9296b\"\n                },\n                {\n                    \"date\": \"2026-05-18T09:50:24.758Z\",\n                    \"userId\": 3477,\n                    \"content\": \"{\\\"data\\\":{\\\"agendaId\\\":89220,\\\"agendaPoint\\\":{\\\"company\\\":{\\\"businessName\\\":\\\"TEST API\\\",\\\"id\\\":2191},\\\"council\\\":{\\\"id\\\":64817,\\\"name\\\":\\\"test creación cita\\\"},\\\"dateStart\\\":\\\"2026-05-18T09:50:24.751Z\\\",\\\"id\\\":89220,\\\"name\\\":\\\"test\\\",\\\"type\\\":\\\"INFORMATIVE\\\"},\\\"councilId\\\":64817,\\\"date\\\":\\\"2026-05-18T09:50:24.758Z\\\",\\\"id\\\":619660,\\\"type\\\":\\\"OPEN_POINT_DISCUSSION\\\",\\\"user\\\":{\\\"email\\\":\\\"alejandro.maneiro+apiprof@councilbox.com\\\",\\\"externalId\\\":null,\\\"id\\\":3477,\\\"name\\\":\\\"API\\\",\\\"phone\\\":\\\"+34-666123456\\\",\\\"surname\\\":\\\"PROFESIONAL\\\"},\\\"userId\\\":3477,\\\"uuid\\\":\\\"255fcd1b-a87d-49cc-b4a7-9a7e04b9e2e6\\\"}}\",\n                    \"type\": \"OPEN_POINT_DISCUSSION\",\n                    \"hash\": \"e813c5e1-6060-48f1-a7f1-a860cbcc4a46\"\n                },\n                {\n                    \"date\": \"2026-05-18T09:50:31.254Z\",\n                    \"userId\": 3477,\n                    \"content\": \"{\\\"data\\\":{\\\"agendaId\\\":89220,\\\"agendaPoint\\\":{\\\"company\\\":{\\\"businessName\\\":\\\"TEST API\\\",\\\"id\\\":2191},\\\"council\\\":{\\\"id\\\":64817,\\\"name\\\":\\\"test creación cita\\\"},\\\"dateEnd\\\":\\\"2026-05-18T09:50:31.249Z\\\",\\\"dateStart\\\":\\\"2026-05-18T09:50:24.751Z\\\",\\\"id\\\":89220,\\\"name\\\":\\\"test\\\",\\\"type\\\":\\\"INFORMATIVE\\\"},\\\"councilId\\\":64817,\\\"date\\\":\\\"2026-05-18T09:50:31.254Z\\\",\\\"id\\\":619661,\\\"type\\\":\\\"CLOSE_POINT_DISCUSSION\\\",\\\"user\\\":{\\\"email\\\":\\\"alejandro.maneiro+apiprof@councilbox.com\\\",\\\"externalId\\\":null,\\\"id\\\":3477,\\\"name\\\":\\\"API\\\",\\\"phone\\\":\\\"+34-666123456\\\",\\\"surname\\\":\\\"PROFESIONAL\\\"},\\\"userId\\\":3477,\\\"uuid\\\":\\\"6294d3a2-1d1c-47e0-86c5-b25ab82060d0\\\"}}\",\n                    \"type\": \"CLOSE_POINT_DISCUSSION\",\n                    \"hash\": \"c6b411eb-4d87-41ae-a789-b0500b0e467f\"\n                },\n                {\n                    \"date\": \"2026-05-18T09:50:39.699Z\",\n                    \"userId\": 3477,\n                    \"content\": \"{\\\"data\\\":{\\\"agendaId\\\":89216,\\\"agendaPoint\\\":{\\\"council\\\":{\\\"id\\\":64817,\\\"name\\\":\\\"test creación cita\\\"},\\\"dateStart\\\":\\\"2026-05-18T09:50:39.696Z\\\",\\\"id\\\":89216,\\\"name\\\":\\\"Escaneo de documentación\\\",\\\"participants\\\":{\\\"156676\\\":{\\\"email\\\":\\\"participant_email@domain.com\\\",\\\"id\\\":156676,\\\"name\\\":\\\"Name of participant\\\",\\\"phone\\\":\\\"+34-600000000\\\",\\\"surname\\\":\\\"Surname of participant\\\"}}},\\\"councilId\\\":64817,\\\"date\\\":\\\"2026-05-18T09:50:39.699Z\\\",\\\"id\\\":619662,\\\"type\\\":\\\"OPEN_SCREEN_CAPTURE_POINT\\\",\\\"user\\\":{\\\"email\\\":\\\"alejandro.maneiro+apiprof@councilbox.com\\\",\\\"externalId\\\":null,\\\"id\\\":3477,\\\"name\\\":\\\"API\\\",\\\"phone\\\":\\\"+34-666123456\\\",\\\"surname\\\":\\\"PROFESIONAL\\\"},\\\"userId\\\":3477,\\\"uuid\\\":\\\"c0abc292-a96a-4f0b-9f5e-6f30d9a9b72f\\\"}}\",\n                    \"type\": \"OPEN_SCREEN_CAPTURE_POINT\",\n                    \"hash\": \"5127a955-7288-40e5-add8-b3d6db234c4e\"\n                },\n                {\n                    \"date\": \"2026-05-18T09:50:58.483Z\",\n                    \"userId\": null,\n                    \"content\": \"{\\\"data\\\":{\\\"agendaId\\\":null,\\\"councilId\\\":64817,\\\"date\\\":\\\"2026-05-18T09:50:58.483Z\\\",\\\"id\\\":619663,\\\"participant\\\":{\\\"council\\\":{\\\"id\\\":64817},\\\"id\\\":156676,\\\"name\\\":\\\"Name of participant\\\",\\\"surname\\\":\\\"Surname of participant\\\",\\\"trackInfo\\\":{\\\"cbxDeviceId\\\":\\\"svuesf1\\\",\\\"fullIpData\\\":\\\"89.18.200.128\\\",\\\"httpVersion\\\":\\\"1.1\\\",\\\"ip\\\":\\\"89.18.200.128\\\",\\\"method\\\":\\\"POST\\\",\\\"referer\\\":\\\"https://apitest.ovac.pre.councilbox.com/\\\",\\\"ua\\\":{\\\"browser\\\":{\\\"major\\\":\\\"148\\\",\\\"name\\\":\\\"Chrome\\\",\\\"version\\\":\\\"148.0.0.0\\\"},\\\"cpu\\\":{},\\\"device\\\":{\\\"model\\\":\\\"K\\\",\\\"type\\\":\\\"mobile\\\"},\\\"engine\\\":{\\\"name\\\":\\\"Blink\\\",\\\"version\\\":\\\"148.0.0.0\\\"},\\\"os\\\":{\\\"name\\\":\\\"Android\\\",\\\"version\\\":\\\"10\\\"},\\\"ua\\\":\\\"Mozilla/5.0 (Linux; Android 10; K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/148.0.0.0 Mobile Safari/537.36\\\"},\\\"url\\\":\\\"/\\\"}},\\\"participantId\\\":156676,\\\"type\\\":\\\"PARTICIPANT_SCAN_QR_IDENTIFY\\\",\\\"userId\\\":null,\\\"uuid\\\":\\\"c2492503-f4c6-4ca3-82f0-f616ac3e7d84\\\"}}\",\n                    \"type\": \"PARTICIPANT_SCAN_QR_IDENTIFY\",\n                    \"hash\": \"b285749c-9ca6-481e-bcc2-b898d1d7cbc9\"\n                },\n                {\n                    \"date\": \"2026-05-18T09:51:07.276Z\",\n                    \"userId\": null,\n                    \"content\": \"{\\\"data\\\":{\\\"agendaId\\\":89216,\\\"councilId\\\":64817,\\\"date\\\":\\\"2026-05-18T09:51:07.276Z\\\",\\\"id\\\":619664,\\\"participant\\\":{\\\"agendaId\\\":89216,\\\"attachment\\\":{\\\"agendaSignatureParticipantId\\\":5683,\\\"attachmentId\\\":2911,\\\"filename\\\":\\\"Documento_identificativo.png\\\",\\\"filesize\\\":514992,\\\"filetype\\\":\\\"image/png\\\",\\\"hash\\\":\\\"ef1c0814d9d930ec69201f239c659a34\\\",\\\"hashType\\\":\\\"md5\\\"},\\\"council\\\":{\\\"id\\\":64817},\\\"email\\\":\\\"participant_email@domain.com\\\",\\\"geoLocation\\\":{\\\"as\\\":\\\"AS136787 PacketHub S.A.\\\",\\\"city\\\":\\\"Madrid\\\",\\\"country\\\":\\\"Spain\\\",\\\"countryCode\\\":\\\"ES\\\",\\\"isp\\\":\\\"PacketHub S.A.\\\",\\\"lat\\\":40.4153,\\\"lon\\\":-3.694,\\\"org\\\":\\\"PacketHubSA\\\",\\\"query\\\":\\\"89.18.200.128\\\",\\\"region\\\":\\\"MD\\\",\\\"regionName\\\":\\\"Madrid\\\",\\\"status\\\":\\\"success\\\",\\\"timezone\\\":\\\"Europe/Madrid\\\",\\\"zip\\\":\\\"28085\\\"},\\\"id\\\":156676,\\\"name\\\":\\\"Name of participant\\\",\\\"requestInfo\\\":{\\\"fullIpData\\\":\\\"89.18.200.128\\\",\\\"httpVersion\\\":\\\"1.1\\\",\\\"ip\\\":\\\"89.18.200.128\\\",\\\"method\\\":\\\"POST\\\",\\\"referer\\\":\\\"https://apitest.ovac.pre.councilbox.com/\\\",\\\"ua\\\":{\\\"browser\\\":{\\\"major\\\":\\\"148\\\",\\\"name\\\":\\\"Chrome\\\",\\\"version\\\":\\\"148.0.0.0\\\"},\\\"cpu\\\":{},\\\"device\\\":{\\\"model\\\":\\\"K\\\",\\\"type\\\":\\\"mobile\\\"},\\\"engine\\\":{\\\"name\\\":\\\"Blink\\\",\\\"version\\\":\\\"148.0.0.0\\\"},\\\"os\\\":{\\\"name\\\":\\\"Android\\\",\\\"version\\\":\\\"10\\\"},\\\"ua\\\":\\\"Mozilla/5.0 (Linux; Android 10; K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/148.0.0.0 Mobile Safari/537.36\\\"},\\\"url\\\":\\\"/api/agendaSignatureParticipantAttachment\\\"},\\\"surname\\\":\\\"Surname of participant\\\"},\\\"participantId\\\":156676,\\\"type\\\":\\\"PARTICIPANT_ADD_SCREEN_CAPTURE\\\",\\\"userId\\\":null,\\\"uuid\\\":\\\"2dcdf38b-0b0a-4563-914c-563740e3d498\\\"}}\",\n                    \"type\": \"PARTICIPANT_ADD_SCREEN_CAPTURE\",\n                    \"hash\": \"450c5bd5-b7ad-4017-a831-b693b94ac8b8\"\n                },\n                {\n                    \"date\": \"2026-05-18T09:51:07.300Z\",\n                    \"userId\": null,\n                    \"content\": \"{\\\"data\\\":{\\\"agendaId\\\":89216,\\\"agendaPoint\\\":{\\\"council\\\":{\\\"id\\\":64817,\\\"name\\\":\\\"test creación cita\\\"},\\\"dateEnd\\\":\\\"2026-05-18T09:51:07.294Z\\\",\\\"id\\\":89216,\\\"name\\\":\\\"Escaneo de documentación\\\"},\\\"councilId\\\":64817,\\\"date\\\":\\\"2026-05-18T09:51:07.300Z\\\",\\\"id\\\":619665,\\\"type\\\":\\\"SCREEN_CAPTURE_POINT_COMPLETED\\\",\\\"user\\\":{},\\\"uuid\\\":\\\"0b92b7e9-a43b-4e3a-aaab-3106d961badc\\\"}}\",\n                    \"type\": \"SCREEN_CAPTURE_POINT_COMPLETED\",\n                    \"hash\": \"c8006aee-6413-42e5-a714-9047b9e0c3f5\"\n                },\n                {\n                    \"date\": \"2026-05-18T09:52:25.160Z\",\n                    \"userId\": 3477,\n                    \"content\": \"{\\\"data\\\":{\\\"agendaId\\\":89217,\\\"agendaPoint\\\":{\\\"company\\\":2191,\\\"council\\\":{\\\"id\\\":64817,\\\"name\\\":\\\"test creación cita\\\"},\\\"id\\\":89217,\\\"name\\\":\\\"Consentimiento expreso\\\",\\\"type\\\":9,\\\"votingStart\\\":\\\"2026-05-18T09:52:25.138Z\\\"},\\\"councilId\\\":64817,\\\"date\\\":\\\"2026-05-18T09:52:25.160Z\\\",\\\"id\\\":619666,\\\"type\\\":\\\"OPEN_VOTING\\\",\\\"user\\\":{\\\"email\\\":\\\"alejandro.maneiro+apiprof@councilbox.com\\\",\\\"externalId\\\":null,\\\"id\\\":3477,\\\"name\\\":\\\"API\\\",\\\"phone\\\":\\\"+34-666123456\\\",\\\"surname\\\":\\\"PROFESIONAL\\\"},\\\"userId\\\":3477,\\\"uuid\\\":\\\"809d5f79-e001-46cb-a645-98c209bd2551\\\"}}\",\n                    \"type\": \"OPEN_VOTING\",\n                    \"hash\": \"4a78d860-1759-49e7-ae09-908bf3776d4a\"\n                },\n                {\n                    \"date\": \"2026-05-18T09:52:27.364Z\",\n                    \"userId\": null,\n                    \"content\": \"{\\\"data\\\":{\\\"agendaId\\\":89217,\\\"councilId\\\":64817,\\\"date\\\":\\\"2026-05-18T09:52:27.364Z\\\",\\\"id\\\":619667,\\\"participant\\\":{\\\"accessId\\\":\\\"Name of participant Surname of participant | 248904\\\",\\\"actReadId\\\":null,\\\"agenda\\\":{\\\"id\\\":89217,\\\"name\\\":\\\"Consentimiento expreso\\\"},\\\"blocked\\\":0,\\\"category\\\":null,\\\"chatEnabled\\\":1,\\\"company\\\":{\\\"businessName\\\":\\\"TEST API\\\",\\\"id\\\":2191},\\\"companyParticipantId\\\":null,\\\"council\\\":{\\\"councilType\\\":5,\\\"dateStart\\\":\\\"2026-05-16T15:00:00.000Z\\\",\\\"id\\\":64817,\\\"language\\\":\\\"es\\\",\\\"name\\\":\\\"test creación cita\\\"},\\\"councilId\\\":64817,\\\"customData\\\":null,\\\"date\\\":\\\"2026-05-06T10:28:28.179Z\\\",\\\"dni\\\":\\\"11111111H\\\",\\\"email\\\":\\\"participant_email@domain.com\\\",\\\"externalId\\\":null,\\\"faceId\\\":null,\\\"hasVoted\\\":false,\\\"id\\\":156676,\\\"idCardCountry\\\":\\\"ES\\\",\\\"idCardType\\\":\\\"dni\\\",\\\"lastDateConnection\\\":\\\"2026-05-18T09:52:11.961Z\\\",\\\"lastRequestDate\\\":null,\\\"name\\\":\\\"Name of participant\\\",\\\"numParticipations\\\":1,\\\"participantId\\\":248904,\\\"phone\\\":\\\"+34-600000000\\\",\\\"position\\\":\\\"\\\",\\\"presentAtTheStart\\\":true,\\\"procedureFirstConnectionDate\\\":\\\"2026-05-18T09:50:00.978Z\\\",\\\"procedureLastConnectionDate\\\":\\\"2026-05-18T09:52:11.961Z\\\",\\\"requester\\\":true,\\\"requestingIdentification\\\":0,\\\"role\\\":null,\\\"screen\\\":\\\"COUNCIL_ROOM\\\",\\\"secondaryEmail\\\":null,\\\"socialCapital\\\":1,\\\"state\\\":0,\\\"surname\\\":\\\"Surname of participant\\\",\\\"videoId\\\":\\\"6a0ae0ae643df03686ccdf37\\\",\\\"vote\\\":{\\\"id\\\":40120,\\\"previousValue\\\":\\\"NO VOTE\\\",\\\"type\\\":\\\"ONLINE\\\",\\\"value\\\":\\\"IN FAVOR\\\"},\\\"voteDenied\\\":false,\\\"voteDeniedReason\\\":null},\\\"participantId\\\":156676,\\\"type\\\":\\\"VOTE\\\",\\\"userId\\\":null,\\\"uuid\\\":\\\"08649230-cc0e-4f0e-9bae-e554bcc5d4be\\\"}}\",\n                    \"type\": \"VOTE\",\n                    \"hash\": \"367ba838-d9df-4856-b05d-d6469315088f\"\n                },\n                {\n                    \"date\": \"2026-05-18T09:52:31.300Z\",\n                    \"userId\": 3477,\n                    \"content\": \"{\\\"data\\\":{\\\"agendaId\\\":89217,\\\"agendaPoint\\\":{\\\"company\\\":{\\\"businessName\\\":\\\"TEST API\\\",\\\"id\\\":2191},\\\"council\\\":{\\\"id\\\":64817,\\\"name\\\":\\\"test creación cita\\\"},\\\"id\\\":89217,\\\"name\\\":\\\"Consentimiento expreso\\\",\\\"results\\\":{\\\"abstention\\\":0,\\\"negative\\\":0,\\\"noVote\\\":0,\\\"positive\\\":0},\\\"type\\\":9,\\\"votingClose\\\":\\\"2026-05-18T09:52:31.298Z\\\",\\\"votingStart\\\":\\\"2026-05-18T09:52:25.144Z\\\"},\\\"councilId\\\":64817,\\\"date\\\":\\\"2026-05-18T09:52:31.300Z\\\",\\\"id\\\":619668,\\\"type\\\":\\\"CLOSE_VOTING\\\",\\\"user\\\":{\\\"email\\\":\\\"alejandro.maneiro+apiprof@councilbox.com\\\",\\\"externalId\\\":null,\\\"id\\\":3477,\\\"name\\\":\\\"API\\\",\\\"phone\\\":\\\"+34-666123456\\\",\\\"surname\\\":\\\"PROFESIONAL\\\"},\\\"userId\\\":3477,\\\"uuid\\\":\\\"71c0460c-cba2-41e5-8481-8fcaaa7ca5f8\\\"}}\",\n                    \"type\": \"CLOSE_VOTING\",\n                    \"hash\": \"001d15c5-2b74-4ddc-bb68-3532940347fd\"\n                },\n                {\n                    \"date\": \"2026-05-18T09:52:52.304Z\",\n                    \"userId\": 3477,\n                    \"content\": \"{\\\"data\\\":{\\\"council\\\":{\\\"agenda\\\":{\\\"id\\\":89218,\\\"title\\\":\\\"Firma de documentación\\\",\\\"type\\\":10},\\\"attachment\\\":{\\\"fileId\\\":\\\"11213\\\",\\\"filename\\\":\\\"Test.pdf\\\",\\\"id\\\":42620},\\\"id\\\":64817,\\\"name\\\":\\\"test creación cita\\\"},\\\"councilId\\\":64817,\\\"date\\\":\\\"2026-05-18T09:52:52.304Z\\\",\\\"id\\\":619669,\\\"participantId\\\":null,\\\"type\\\":\\\"AGENDA_ATTACHMENT_DOWNLOAD\\\",\\\"user\\\":{\\\"email\\\":\\\"alejandro.maneiro+apiprof@councilbox.com\\\",\\\"externalId\\\":null,\\\"id\\\":3477,\\\"name\\\":\\\"API\\\",\\\"phone\\\":\\\"+34-666123456\\\",\\\"surname\\\":\\\"PROFESIONAL\\\"},\\\"userId\\\":3477,\\\"uuid\\\":\\\"c29504f5-ff8b-482f-bbcb-c8afc3ee25d3\\\"}}\",\n                    \"type\": \"AGENDA_ATTACHMENT_DOWNLOAD\",\n                    \"hash\": \"02bbd5a0-a9a8-43ea-8dd7-fe4fc883a99f\"\n                },\n                {\n                    \"date\": \"2026-05-18T09:52:53.231Z\",\n                    \"userId\": 3477,\n                    \"content\": \"{\\\"data\\\":{\\\"agendaId\\\":89218,\\\"agendaPoint\\\":{\\\"attachments\\\":{\\\"42620\\\":{\\\"filename\\\":\\\"Test.pdf\\\",\\\"filesize\\\":\\\"29909\\\",\\\"filetype\\\":\\\"application/pdf\\\",\\\"hash\\\":\\\"038f99550325d9f74033d775848a2590\\\",\\\"hashType\\\":\\\"md5\\\"}},\\\"council\\\":{\\\"id\\\":64817,\\\"name\\\":\\\"test creación cita\\\"},\\\"id\\\":89218,\\\"name\\\":\\\"Firma de documentación\\\",\\\"restarted\\\":false,\\\"signatories\\\":{\\\"156676\\\":{\\\"email\\\":\\\"participant_email@domain.com\\\",\\\"id\\\":156676,\\\"name\\\":\\\"Name of participant\\\",\\\"phone\\\":\\\"+34-600000000\\\",\\\"surname\\\":\\\"Surname of participant\\\"}},\\\"signatureStart\\\":\\\"2026-05-18T09:52:53.230Z\\\"},\\\"councilId\\\":64817,\\\"date\\\":\\\"2026-05-18T09:52:53.231Z\\\",\\\"id\\\":619670,\\\"type\\\":\\\"OPEN_SIGNATURE_POINT\\\",\\\"user\\\":{\\\"email\\\":\\\"alejandro.maneiro+apiprof@councilbox.com\\\",\\\"externalId\\\":null,\\\"id\\\":3477,\\\"name\\\":\\\"API\\\",\\\"phone\\\":\\\"+34-666123456\\\",\\\"surname\\\":\\\"PROFESIONAL\\\"},\\\"userId\\\":3477,\\\"uuid\\\":\\\"e5a7a880-d9c7-449d-bfad-7ad9f60e53a1\\\"}}\",\n                    \"type\": \"OPEN_SIGNATURE_POINT\",\n                    \"hash\": \"eaf408b9-4a78-4042-a0a8-8fa58775c226\"\n                },\n                {\n                    \"date\": \"2026-05-18T09:52:56.055Z\",\n                    \"userId\": null,\n                    \"content\": \"{\\\"data\\\":{\\\"council\\\":{\\\"agenda\\\":{\\\"id\\\":89218,\\\"title\\\":\\\"Firma de documentación\\\",\\\"type\\\":10},\\\"attachment\\\":{\\\"fileId\\\":\\\"11213\\\",\\\"filename\\\":\\\"Test.pdf\\\",\\\"id\\\":42620},\\\"id\\\":64817,\\\"name\\\":\\\"test creación cita\\\"},\\\"councilId\\\":64817,\\\"date\\\":\\\"2026-05-18T09:52:56.055Z\\\",\\\"id\\\":619671,\\\"participantId\\\":156676,\\\"type\\\":\\\"AGENDA_ATTACHMENT_DOWNLOAD\\\",\\\"user\\\":{\\\"email\\\":\\\"participant_email@domain.com\\\",\\\"externalId\\\":null,\\\"id\\\":156676,\\\"name\\\":\\\"Name of participant\\\",\\\"phone\\\":\\\"+34-600000000\\\",\\\"surname\\\":\\\"Surname of participant\\\"},\\\"uuid\\\":\\\"e4b26356-8772-4f50-a985-c5a3fd762fa5\\\"}}\",\n                    \"type\": \"AGENDA_ATTACHMENT_DOWNLOAD\",\n                    \"hash\": \"922048ca-e2eb-42be-b851-758f47323c01\"\n                },\n                {\n                    \"date\": \"2026-05-18T09:53:03.824Z\",\n                    \"userId\": null,\n                    \"content\": \"{\\\"data\\\":{\\\"council\\\":{\\\"agenda\\\":{\\\"id\\\":89218,\\\"signatureStatus\\\":0,\\\"title\\\":\\\"Firma de documentación\\\",\\\"type\\\":10},\\\"attachment\\\":{\\\"fileId\\\":\\\"11213\\\",\\\"filename\\\":\\\"Test.pdf\\\",\\\"id\\\":42620},\\\"id\\\":64817,\\\"name\\\":\\\"test creación cita\\\"},\\\"councilId\\\":64817,\\\"date\\\":\\\"2026-05-18T09:53:03.824Z\\\",\\\"id\\\":619672,\\\"participantId\\\":156676,\\\"type\\\":\\\"AGENDA_ATTACHMENT_DOWNLOAD\\\",\\\"user\\\":{\\\"email\\\":\\\"participant_email@domain.com\\\",\\\"externalId\\\":null,\\\"id\\\":156676,\\\"name\\\":\\\"Name of participant\\\",\\\"phone\\\":\\\"+34-600000000\\\",\\\"surname\\\":\\\"Surname of participant\\\"},\\\"uuid\\\":\\\"e65d52d7-543f-4abf-b424-3b1e18f73ace\\\"}}\",\n                    \"type\": \"AGENDA_ATTACHMENT_DOWNLOAD\",\n                    \"hash\": \"39556b1c-3373-4a2f-b3da-bffc4db5a4d6\"\n                },\n                {\n                    \"date\": \"2026-05-18T09:53:08.506Z\",\n                    \"userId\": null,\n                    \"content\": \"{\\\"data\\\":{\\\"agendaId\\\":null,\\\"councilId\\\":64817,\\\"date\\\":\\\"2026-05-18T09:53:08.506Z\\\",\\\"id\\\":619673,\\\"participant\\\":{\\\"attachment\\\":{\\\"_changed\\\":{},\\\"_options\\\":{\\\"_schema\\\":null,\\\"_schemaDelimiter\\\":\\\"\\\",\\\"attributes\\\":[\\\"id\\\",\\\"agendaId\\\",\\\"filename\\\",\\\"base64\\\",\\\"filesize\\\",\\\"filetype\\\",\\\"councilId\\\",\\\"state\\\",\\\"creationDate\\\",\\\"documentId\\\",\\\"hash\\\",\\\"hashType\\\",\\\"orderIndex\\\",\\\"userId\\\",\\\"fileId\\\",\\\"csv\\\",\\\"clonedFrom\\\",\\\"metadata\\\"],\\\"isNewRecord\\\":false,\\\"raw\\\":true},\\\"_previousDataValues\\\":{\\\"agendaId\\\":89218,\\\"base64\\\":\\\"-1\\\",\\\"clonedFrom\\\":null,\\\"councilId\\\":64817,\\\"creationDate\\\":\\\"2026-05-18T09:52:50.077Z\\\",\\\"csv\\\":null,\\\"documentId\\\":null,\\\"fileId\\\":\\\"11213\\\",\\\"filename\\\":\\\"Test.pdf\\\",\\\"filesize\\\":\\\"29909\\\",\\\"filetype\\\":\\\"application/pdf\\\",\\\"hash\\\":\\\"038f99550325d9f74033d775848a2590\\\",\\\"hashType\\\":\\\"md5\\\",\\\"id\\\":42620,\\\"metadata\\\":{\\\"filesize\\\":29909,\\\"numpages\\\":1,\\\"originalFilename\\\":\\\"Test.pdf\\\"},\\\"orderIndex\\\":1,\\\"state\\\":0,\\\"userId\\\":3477},\\\"dataValues\\\":{\\\"agendaId\\\":89218,\\\"base64\\\":\\\"-1\\\",\\\"clonedFrom\\\":null,\\\"councilId\\\":64817,\\\"creationDate\\\":\\\"2026-05-18T09:52:50.077Z\\\",\\\"csv\\\":null,\\\"documentId\\\":null,\\\"fileId\\\":\\\"11213\\\",\\\"filename\\\":\\\"Test.pdf\\\",\\\"filesize\\\":\\\"29909\\\",\\\"filetype\\\":\\\"application/pdf\\\",\\\"hash\\\":\\\"038f99550325d9f74033d775848a2590\\\",\\\"hashType\\\":\\\"md5\\\",\\\"id\\\":42620,\\\"metadata\\\":{\\\"filesize\\\":29909,\\\"numpages\\\":1,\\\"originalFilename\\\":\\\"Test.pdf\\\"},\\\"orderIndex\\\":1,\\\"state\\\":0,\\\"userId\\\":3477},\\\"isNewRecord\\\":false,\\\"uniqno\\\":1},\\\"council\\\":{\\\"id\\\":64817},\\\"email\\\":\\\"participant_email@domain.com\\\",\\\"geoLocation\\\":{\\\"as\\\":\\\"AS12334 R Cable y Telecable Telecomunicaciones, S.A.U.\\\",\\\"city\\\":\\\"Muros\\\",\\\"country\\\":\\\"Spain\\\",\\\"countryCode\\\":\\\"ES\\\",\\\"isp\\\":\\\"R Cable y Telecomunicaciones Galicia, S.A\\\",\\\"lat\\\":42.7891,\\\"lon\\\":-9.0775,\\\"org\\\":\\\"Grupo Gallego de Cable\\\",\\\"query\\\":\\\"178.60.62.174\\\",\\\"region\\\":\\\"GA\\\",\\\"regionName\\\":\\\"Galicia\\\",\\\"status\\\":\\\"success\\\",\\\"timezone\\\":\\\"Europe/Madrid\\\",\\\"zip\\\":\\\"15259\\\"},\\\"id\\\":156676,\\\"name\\\":\\\"Name of participant\\\",\\\"requestInfo\\\":{\\\"cbxDeviceId\\\":\\\"md7yxo9\\\",\\\"fullIpData\\\":\\\"178.60.62.174\\\",\\\"httpVersion\\\":\\\"1.1\\\",\\\"ip\\\":\\\"178.60.62.174\\\",\\\"method\\\":\\\"POST\\\",\\\"referer\\\":\\\"https://apitest.ovac.pre.councilbox.com/\\\",\\\"ua\\\":{\\\"browser\\\":{\\\"major\\\":\\\"147\\\",\\\"name\\\":\\\"Chrome\\\",\\\"version\\\":\\\"147.0.0.0\\\"},\\\"cpu\\\":{\\\"architecture\\\":\\\"amd64\\\"},\\\"device\\\":{},\\\"engine\\\":{\\\"name\\\":\\\"Blink\\\",\\\"version\\\":\\\"147.0.0.0\\\"},\\\"os\\\":{\\\"name\\\":\\\"Windows\\\",\\\"version\\\":\\\"10\\\"},\\\"ua\\\":\\\"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36\\\"},\\\"url\\\":\\\"/\\\"},\\\"surname\\\":\\\"Surname of participant\\\"},\\\"participantId\\\":156676,\\\"type\\\":\\\"PARTICIPANT_READ_ATTACHMENT\\\",\\\"user\\\":{\\\"email\\\":\\\"participant_email@domain.com\\\",\\\"externalId\\\":null,\\\"id\\\":156676,\\\"name\\\":\\\"Name of participant\\\",\\\"phone\\\":\\\"+34-600000000\\\",\\\"surname\\\":\\\"Surname of participant\\\"},\\\"userId\\\":null,\\\"uuid\\\":\\\"dc62b9bc-cb85-495e-a3e8-1a90d41fd5e1\\\"}}\",\n                    \"type\": \"PARTICIPANT_READ_ATTACHMENT\",\n                    \"hash\": \"a6328e5b-b0c6-4f18-a8ca-d23ba0857688\"\n                },\n                {\n                    \"date\": \"2026-05-18T09:53:20.720Z\",\n                    \"userId\": null,\n                    \"content\": \"{\\\"data\\\":{\\\"agendaId\\\":\\\"89218\\\",\\\"councilId\\\":64817,\\\"date\\\":\\\"2026-05-18T09:53:20.720Z\\\",\\\"id\\\":619674,\\\"participant\\\":{\\\"agendaId\\\":\\\"89218\\\",\\\"council\\\":{\\\"id\\\":64817},\\\"id\\\":156676,\\\"name\\\":\\\"Name of participant\\\",\\\"participantType\\\":\\\"dni\\\",\\\"signatureId\\\":null,\\\"signatureType\\\":1,\\\"surname\\\":\\\"Surname of participant\\\"},\\\"participantId\\\":156676,\\\"type\\\":\\\"PARTICIPANT_SIGNED_DOCUMENT_ERROR\\\",\\\"userId\\\":null,\\\"uuid\\\":\\\"7c80d818-1b0e-4dc6-9d64-32c3a61f0986\\\"}}\",\n                    \"type\": \"PARTICIPANT_SIGNED_DOCUMENT_ERROR\",\n                    \"hash\": \"2379833c-b565-4b71-9eea-27a2e8745067\"\n                },\n                {\n                    \"date\": \"2026-05-18T09:53:29.895Z\",\n                    \"userId\": 3477,\n                    \"content\": \"{\\\"data\\\":{\\\"agendaId\\\":89219,\\\"agendaPoint\\\":{\\\"company\\\":2191,\\\"council\\\":{\\\"id\\\":64817,\\\"name\\\":\\\"test creación cita\\\"},\\\"id\\\":89219,\\\"name\\\":\\\"Respuestas múltipes\\\",\\\"type\\\":11,\\\"votingStart\\\":\\\"2026-05-18T09:53:29.868Z\\\"},\\\"councilId\\\":64817,\\\"date\\\":\\\"2026-05-18T09:53:29.895Z\\\",\\\"id\\\":619675,\\\"type\\\":\\\"OPEN_VOTING\\\",\\\"user\\\":{\\\"email\\\":\\\"alejandro.maneiro+apiprof@councilbox.com\\\",\\\"externalId\\\":null,\\\"id\\\":3477,\\\"name\\\":\\\"API\\\",\\\"phone\\\":\\\"+34-666123456\\\",\\\"surname\\\":\\\"PROFESIONAL\\\"},\\\"userId\\\":3477,\\\"uuid\\\":\\\"3ae86336-ad24-4733-b245-995d0624f9c0\\\"}}\",\n                    \"type\": \"OPEN_VOTING\",\n                    \"hash\": \"ec624301-f242-4b90-ae96-2bdf43e091e7\"\n                },\n                {\n                    \"date\": \"2026-05-18T09:53:34.131Z\",\n                    \"userId\": null,\n                    \"content\": \"{\\\"data\\\":{\\\"agendaId\\\":89219,\\\"councilId\\\":64817,\\\"date\\\":\\\"2026-05-18T09:53:34.131Z\\\",\\\"id\\\":619676,\\\"participant\\\":{\\\"agenda\\\":{\\\"id\\\":89219,\\\"name\\\":\\\"Respuestas múltipes\\\"},\\\"council\\\":{\\\"id\\\":64817,\\\"name\\\":\\\"test creación cita\\\"},\\\"id\\\":156676,\\\"name\\\":\\\"Name of participant\\\",\\\"surname\\\":\\\"Surname of participant\\\",\\\"vote\\\":{\\\"id\\\":40121,\\\"previousValue\\\":\\\"NO VOTE\\\",\\\"selections\\\":[{\\\"id\\\":30894,\\\"required\\\":1,\\\"value\\\":\\\"Lunes\\\"},{\\\"id\\\":30897,\\\"required\\\":1,\\\"value\\\":\\\"Jueves\\\"}],\\\"type\\\":\\\"MULTIVALUE\\\",\\\"value\\\":\\\"Lunes, Jueves\\\"}},\\\"participantId\\\":156676,\\\"type\\\":\\\"VOTE\\\",\\\"userId\\\":null,\\\"uuid\\\":\\\"7dfa1082-2d6b-4476-b076-723595b7a341\\\"}}\",\n                    \"type\": \"VOTE\",\n                    \"hash\": \"1f2bee87-4364-4e2f-8619-dccbb9dd29a5\"\n                },\n                {\n                    \"date\": \"2026-05-18T09:53:36.767Z\",\n                    \"userId\": 3477,\n                    \"content\": \"{\\\"data\\\":{\\\"agendaId\\\":89219,\\\"agendaPoint\\\":{\\\"company\\\":{\\\"businessName\\\":\\\"TEST API\\\",\\\"id\\\":2191},\\\"council\\\":{\\\"id\\\":64817,\\\"name\\\":\\\"test creación cita\\\"},\\\"id\\\":89219,\\\"name\\\":\\\"Respuestas múltipes\\\",\\\"results\\\":{\\\"abstention\\\":0,\\\"negative\\\":0,\\\"noVote\\\":0,\\\"positive\\\":0},\\\"type\\\":11,\\\"votingClose\\\":\\\"2026-05-18T09:53:36.764Z\\\",\\\"votingStart\\\":\\\"2026-05-18T09:53:29.875Z\\\"},\\\"councilId\\\":64817,\\\"date\\\":\\\"2026-05-18T09:53:36.767Z\\\",\\\"id\\\":619677,\\\"type\\\":\\\"CLOSE_VOTING\\\",\\\"user\\\":{\\\"email\\\":\\\"alejandro.maneiro+apiprof@councilbox.com\\\",\\\"externalId\\\":null,\\\"id\\\":3477,\\\"name\\\":\\\"API\\\",\\\"phone\\\":\\\"+34-666123456\\\",\\\"surname\\\":\\\"PROFESIONAL\\\"},\\\"userId\\\":3477,\\\"uuid\\\":\\\"e6f64aa8-7400-473e-86cc-6beea52bcd16\\\"}}\",\n                    \"type\": \"CLOSE_VOTING\",\n                    \"hash\": \"dec734ec-80d7-4c07-bddf-7c8b51fd22f6\"\n                },\n                {\n                    \"date\": \"2026-05-18T09:53:39.896Z\",\n                    \"userId\": 3477,\n                    \"content\": \"{\\\"data\\\":{\\\"agendaId\\\":89214,\\\"agendaPoint\\\":{\\\"company\\\":2191,\\\"council\\\":{\\\"id\\\":64817,\\\"name\\\":\\\"test creación cita\\\"},\\\"id\\\":89214,\\\"name\\\":\\\"Formulario\\\",\\\"type\\\":12,\\\"votingStart\\\":\\\"2026-05-18T09:53:39.879Z\\\"},\\\"councilId\\\":64817,\\\"date\\\":\\\"2026-05-18T09:53:39.896Z\\\",\\\"id\\\":619678,\\\"type\\\":\\\"OPEN_VOTING\\\",\\\"user\\\":{\\\"email\\\":\\\"alejandro.maneiro+apiprof@councilbox.com\\\",\\\"externalId\\\":null,\\\"id\\\":3477,\\\"name\\\":\\\"API\\\",\\\"phone\\\":\\\"+34-666123456\\\",\\\"surname\\\":\\\"PROFESIONAL\\\"},\\\"userId\\\":3477,\\\"uuid\\\":\\\"23b09a1c-793d-41fa-a165-72f5c35f30cf\\\"}}\",\n                    \"type\": \"OPEN_VOTING\",\n                    \"hash\": \"eb3ac129-2115-4a96-8b20-b438dca75ff1\"\n                },\n                {\n                    \"date\": \"2026-05-18T09:53:46.023Z\",\n                    \"userId\": null,\n                    \"content\": \"{\\\"data\\\":{\\\"agendaId\\\":89214,\\\"councilId\\\":64817,\\\"date\\\":\\\"2026-05-18T09:53:46.023Z\\\",\\\"id\\\":619679,\\\"participant\\\":{\\\"agenda\\\":{\\\"id\\\":89214,\\\"name\\\":\\\"Formulario\\\"},\\\"council\\\":{\\\"id\\\":64817,\\\"name\\\":\\\"test creación cita\\\"},\\\"id\\\":156676,\\\"name\\\":\\\"Name of participant\\\",\\\"surname\\\":\\\"Surname of participant\\\",\\\"vote\\\":{\\\"id\\\":40122,\\\"previousValue\\\":\\\"NO VOTE\\\",\\\"selections\\\":[{\\\"id\\\":30891,\\\"value\\\":\\\"asdf\\\"},{\\\"id\\\":30892,\\\"value\\\":\\\"asdf\\\"},{\\\"id\\\":30893,\\\"value\\\":\\\"333\\\"}],\\\"type\\\":\\\"INPUT\\\",\\\"value\\\":\\\"Nombre: asdf, Apellidos: asdf, CP: 333\\\"}},\\\"participantId\\\":156676,\\\"type\\\":\\\"VOTE\\\",\\\"userId\\\":null,\\\"uuid\\\":\\\"9e2bae7e-f95a-42b4-88a5-77c4c5c9490b\\\"}}\",\n                    \"type\": \"VOTE\",\n                    \"hash\": \"eb7daceb-4215-4bcf-aaa6-9879d584cb1e\"\n                },\n                {\n                    \"date\": \"2026-05-18T09:53:49.779Z\",\n                    \"userId\": 3477,\n                    \"content\": \"{\\\"data\\\":{\\\"agendaId\\\":89214,\\\"agendaPoint\\\":{\\\"company\\\":{\\\"businessName\\\":\\\"TEST API\\\",\\\"id\\\":2191},\\\"council\\\":{\\\"id\\\":64817,\\\"name\\\":\\\"test creación cita\\\"},\\\"id\\\":89214,\\\"name\\\":\\\"Formulario\\\",\\\"results\\\":{\\\"abstention\\\":0,\\\"negative\\\":0,\\\"noVote\\\":0,\\\"positive\\\":0},\\\"type\\\":12,\\\"votingClose\\\":\\\"2026-05-18T09:53:49.776Z\\\",\\\"votingStart\\\":\\\"2026-05-18T09:53:39.883Z\\\"},\\\"councilId\\\":64817,\\\"date\\\":\\\"2026-05-18T09:53:49.779Z\\\",\\\"id\\\":619680,\\\"type\\\":\\\"CLOSE_VOTING\\\",\\\"user\\\":{\\\"email\\\":\\\"alejandro.maneiro+apiprof@councilbox.com\\\",\\\"externalId\\\":null,\\\"id\\\":3477,\\\"name\\\":\\\"API\\\",\\\"phone\\\":\\\"+34-666123456\\\",\\\"surname\\\":\\\"PROFESIONAL\\\"},\\\"userId\\\":3477,\\\"uuid\\\":\\\"975ce45f-f5ac-4ff0-8401-f07efd795161\\\"}}\",\n                    \"type\": \"CLOSE_VOTING\",\n                    \"hash\": \"3257ca7c-ed74-4f26-b0c9-7b207aa85612\"\n                },\n                {\n                    \"date\": \"2026-05-18T09:53:57.438Z\",\n                    \"userId\": 3477,\n                    \"content\": \"{\\\"data\\\":{\\\"council\\\":{\\\"company\\\":{\\\"active\\\":1,\\\"address\\\":\\\"TEST API\\\",\\\"adminAlias\\\":null,\\\"alias\\\":\\\"TESTAPI\\\",\\\"apikeyId\\\":null,\\\"balance\\\":null,\\\"businessName\\\":\\\"TEST API\\\",\\\"category\\\":\\\"society\\\",\\\"city\\\":\\\"TEO\\\",\\\"contactEmail\\\":\\\"alejandro.maneiro@councilbox.com\\\",\\\"corporationId\\\":2191,\\\"country\\\":\\\"ES\\\",\\\"countryState\\\":\\\"Coruña, A\\\",\\\"creationCode\\\":null,\\\"creationDate\\\":\\\"2026-04-15T17:34:44.782Z\\\",\\\"creatorId\\\":2017,\\\"customerCode\\\":null,\\\"deletedAt\\\":null,\\\"demo\\\":0,\\\"domain\\\":null,\\\"endpoint\\\":null,\\\"externalId\\\":null,\\\"file\\\":null,\\\"governingBodyData\\\":null,\\\"governingBodyType\\\":0,\\\"hasLogo\\\":true,\\\"icon\\\":null,\\\"id\\\":2191,\\\"language\\\":\\\"es\\\",\\\"linkKey\\\":null,\\\"location\\\":null,\\\"supportEmail\\\":\\\"alejandro.maneiro@councilbox.com\\\",\\\"testUrl\\\":null,\\\"timezone\\\":\\\"Europe/Madrid\\\",\\\"tin\\\":null,\\\"treasuryShares\\\":null,\\\"type\\\":5,\\\"zipcode\\\":\\\"99999\\\"},\\\"dateEnd\\\":\\\"2026-05-18T09:53:57.109Z\\\",\\\"id\\\":64817,\\\"name\\\":\\\"test creación cita\\\",\\\"state\\\":\\\"WRITING_ACT\\\"},\\\"councilId\\\":64817,\\\"date\\\":\\\"2026-05-18T09:53:57.438Z\\\",\\\"id\\\":619682,\\\"participantId\\\":null,\\\"type\\\":\\\"END_COUNCIL\\\",\\\"user\\\":{\\\"email\\\":\\\"alejandro.maneiro+apiprof@councilbox.com\\\",\\\"externalId\\\":null,\\\"id\\\":3477,\\\"name\\\":\\\"API\\\",\\\"phone\\\":\\\"+34-666123456\\\",\\\"surname\\\":\\\"PROFESIONAL\\\"},\\\"userId\\\":3477,\\\"uuid\\\":\\\"52eea39e-e807-42ca-9cbf-154ab2fe3fe8\\\"}}\",\n                    \"type\": \"END_COUNCIL\",\n                    \"hash\": \"dfe0e710-2871-475e-9fb5-e47a0349c427\"\n                },\n                {\n                    \"date\": \"2026-05-18T09:54:30.870Z\",\n                    \"userId\": 3477,\n                    \"content\": \"{\\\"data\\\":{\\\"council\\\":{\\\"company\\\":{\\\"businessName\\\":\\\"TEST API\\\",\\\"corporationId\\\":2191,\\\"externalId\\\":null,\\\"id\\\":2191},\\\"date\\\":\\\"2026-05-18T09:54:30.866Z\\\",\\\"id\\\":64817,\\\"name\\\":\\\"test creación cita\\\"},\\\"councilId\\\":64817,\\\"date\\\":\\\"2026-05-18T09:54:30.870Z\\\",\\\"id\\\":619684,\\\"participantId\\\":null,\\\"type\\\":\\\"APPROVE_COUNCIL_ACT\\\",\\\"user\\\":{\\\"email\\\":\\\"alejandro.maneiro+apiprof@councilbox.com\\\",\\\"externalId\\\":null,\\\"id\\\":3477,\\\"name\\\":\\\"API\\\",\\\"phone\\\":\\\"+34-666123456\\\",\\\"surname\\\":\\\"PROFESIONAL\\\"},\\\"userId\\\":3477,\\\"uuid\\\":\\\"4c0c9206-1260-4908-bc11-9cc1782215b3\\\"}}\",\n                    \"type\": \"APPROVE_COUNCIL_ACT\",\n                    \"hash\": \"1284e0f9-215c-4be0-9a96-7be697825bf4\"\n                }\n            ],\n            \"recordings\": [\n                {\n                    \"size\": \"1711111\",\n                    \"url\": \"https://api.ovac.pre.councilbox.com/api/recording/64817-6a0ae095643df03686ccdf23\",\n                    \"createdAt\": \"1779097785515\",\n                    \"signatureDocumentUrl\": null,\n                    \"signatureUrl\": null,\n                    \"sessionId\": \"6a0ae095643df03686ccdf23\",\n                    \"id\": \"64817-6a0ae095643df03686ccdf23\",\n                    \"duration\": \"244.271\"\n                }\n            ]\n        }\n    }\n}","createdAt":"2026-05-22T09:43:29.000Z","updatedAt":"2026-06-10T11:03:55.000Z","uid":"45758186-c10e5a1d-1502-42d8-b3ac-252aa0686ece"}],"createdAt":"2026-05-22T09:43:29.000Z","updatedAt":"2026-06-17T16:00:18.000Z","uid":"45758186-0b821c1a-c161-478d-ba5e-ec399b3047c0"},{"name":"Get Appointment Evidence Summary_External","id":"a0962062-a7a2-4be2-ace2-af508d342a83","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"apikey","apikey":[{"key":"key","value":"x-jwt-token","type":"string"},{"key":"value","value":"{{token}}","type":"string"}]},"method":"POST","header":[],"body":{"mode":"graphql","graphql":{"query":"query CouncilEvidenceSummary($externalId: String) {\r\n  councilEvidenceSummary(externalId: $externalId) {\r\n    councilId\r\n    act {\r\n      id\r\n      downloadLink\r\n    }\r\n    evidences {\r\n      date\r\n      userId\r\n      content\r\n      type\r\n      hash\r\n    }\r\n    recordings {\r\n      id\r\n      sessionId\r\n      duration\r\n      size\r\n      url\r\n      createdAt\r\n      signatureUrl\r\n      signatureDocumentUrl\r\n    }\r\n  }\r\n}","variables":"{\r\n    \"externalId\": \"\"\r\n}"}},"url":{"raw":"{{domain}}/{{endpoint}}","host":["{{domain}}"],"path":["{{endpoint}}"]},"description":"# Get Appointment Evidence Summary (`query`)\n\nEste método permite recuperar de forma centralizada toda la pista de auditoría, metadatos de control, encuestas, grabaciones multimedia y el acta o informe digital oficial asociados a una cita específica dentro de la plataforma OVAC.\n\n### Detalles de la Solicitud\n\n- **Método HTTP:** `POST`\n    \n- **URL PRE:** `https://api.ovac.pre.councilbox.com/graphql`\n    \n- **URL PRO:** `https://api.ovac.pre.councilbox.com/graphql`\n    \n\n### Autenticación\n\n> **Tipo:** API Key**  \nHeader:** `x-jwt-token`  \n**Ubicación:** Header HTTP_  \nEjemplo:_ `x-jwt-token: eyJhbGciOiJIUzI1NiIsInR5cCI6...` \n  \n\n## Referencia de la API\n\n### Parámetros de Entrada (Variables)\n\n| Parámetro | Descripción | Requerido | Tipo |\n| --- | --- | --- | --- |\n| councilId | Identificador numérico único de la cita en OVAC. | SI | Integer |\n| externalId | Identificador propio único de la cita en el sistema del cliente. | NO | String |\n\n### Campos de Respuesta (Payload)\n\nLa consulta agrupa la información del encuentro en cuatro grandes bloques funcionales (`act`, `evidences`, `recordings`, `surveys`):\n\n| `Parámetro` | `Descripción` | `Tipo` |\n| --- | --- | --- |\n| data | Objeto de Data | Object |\n| data.councilEvidenceSummary | Objeto de la evidencia | Object |\n| data.councilEvidenceSummary.councilId | Identificador de la cita | Integer |\n| data.councilEvidenceSummary.act | Objeto del acta (informe), si no hay informe los valores estarán a _null_ | Object |\n| data.councilEvidenceSummary.act.id | Identificador único del informe | Integer |\n| data.councilEvidenceSummary.act.downloadLink | Enlace de descarga, para descargarlo es necesario añadir autenticación, es decir API Key con el token adquirido en el login | String |\n| data.councilEvidenceSummary.evidences | Conjunto de evidencias de la cita. en formato JSON | Array |\n| data.councilEvidenceSummary.evidences\\[\\].date | Fecha de creación | String |\n| data.councilEvidenceSummary.evidences\\[\\].userId | Identificador único del usuario que crea la cita | Integer |\n| data.councilEvidenceSummary.evidences\\[\\].content | Contenido en JSON sobre la cita. | String |\n| data.councilEvidenceSummary.evidences\\[\\].type | Tipo de cita | String |\n| data.councilEvidenceSummary.evidences\\[\\].hash | Hash atribuido a la evidencia | String |\n| data.councilEvidenceSummary.recordings | Conjunto de información para la evidencia de grabación | Array |\n| data.councilEvidenceSummary.recordings\\[\\].size | Tamaño en bytes | String |\n| data.councilEvidenceSummary.recordings\\[\\].url | Enlace de descarga del vídeo de la cita, se mostrarán tantos enlaces como vídeos exista, para descargar es necesario usar autenticación API Key con el token generado en el login | String |\n| data.councilEvidenceSummary.recordings\\[\\].createdAt | Fecha de creación de la grabación | String |\n| data.councilEvidenceSummary.recordings\\[\\].signatureDocumentUrl | Indica si el vídeo está firmado, si es así, muestra la firma | String |\n| data.councilEvidenceSummary.recordings\\[\\].signatureUrl | Enlace para descarga del vídeo firmado. | String |\n| data.councilEvidenceSummary.recordings\\[\\].sessionId | Identificador del vídeo | String |\n| data.councilEvidenceSummary.recordings\\[\\].id | identificador único de cita y vídeo, usado para la descarga de los vídeos | String |\n| data.councilEvidenceSummary.recordings\\[\\].duration | Duración de la grabación en segundos | String |\n\n## Ejemplos de Código y Peticiones\n\n### 1\\. Consulta GraphQL\n\n``` graphql\nquery CouncilEvidenceSummary($councilId: Int, $externalId: String) {\n    councilEvidenceSummary(councilId: $councilId, externalId: $externalId) {\n        councilId\n        act {\n            id\n            downloadLink\n        }\n        evidences {\n            date\n            userId\n            content\n            type\n            hash\n        }\n        recordings {\n            size\n            url\n            createdAt\n            signatureDocumentUrl\n            signatureUrl\n            sessionId\n            id\n            duration\n        }\n        surveys {\n            id\n            councilId\n            creationDate\n            participantId\n            data\n            participant {\n                id\n                email\n                surname\n                dni\n                name\n                councilId\n                externalId\n            }\n        }\n    } \n}\n\n ```\n\n### 2\\. Variables de la Petición (JSON Payload)\n\n``` json\n{\n    \"councilId\": 64687\n}\n\n ```\n\n### 3\\. Ejemplo de comando cURL\n\n``` bash\ncurl --location 'https://api.ovac.pre.councilbox.com/graphql' \\\n--header 'Content-Type: application/json' \\\n--header 'x-jwt-token: {{token}}' \\\n--data '{\"query\":\"query CouncilEvidenceSummary($councilId: Int, $externalId: String){ councilEvidenceSummary(councilId: $councilId, externalId: $externalId){ councilId act { id downloadLink } evidences { date userId content type hash } recordings { size url createdAt signatureDocumentUrl signatureUrl sessionId id duration } surveys { id councilId creationDate participantId data participant { id email surname dni name councilId externalId } } } }\",\"variables\":{\"councilId\":64687}}'\n\n ```\n\n### 4\\. Respuesta Esperada (200 OK)\n\n``` json\n{\n  \"data\": {\n    \"councilEvidenceSummary\": {\n      \"councilId\": 64687,\n      \"act\": {\n        \"id\": 7571,\n        \"downloadLink\": \"https://api.ovac.pre.councilbox.com/council/64687/act\"\n      },\n      \"evidences\": [\n        {\n          \"date\": \"2026-04-17T07:53:05.685Z\",\n          \"userId\": 3477,\n          \"content\": \"{\\\"data\\\":{\\\"council\\\":{\\\"company\\\":{\\\"address\\\":\\\"TEST API\\\",\\\"businessName\\\":\\\"TEST API\\\",\\\"id\\\":2191},\\\"dateStart\\\":\\\"2026-04-17T08:00:40.436Z\\\",\\\"id\\\":64687,\\\"name\\\":\\\"TEST\\\"}}}\",\n          \"type\": \"CONVENE_COUNCIL_WITH_NOTICE\",\n          \"hash\": \"4557033a-0318-441c-9615-d2c24e1c020c\"\n        },\n        {\n          \"date\": \"2026-04-17T08:33:37.442Z\",\n          \"userId\": 3477,\n          \"content\": \"{\\\"data\\\":{\\\"council\\\":{\\\"id\\\":64687,\\\"name\\\":\\\"TEST\\\",\\\"dateStartRecording\\\":\\\"2026-04-17T08:33:37.441Z\\\"}}}\",\n          \"type\": \"START_RECORDING\",\n          \"hash\": \"80bb946e-0f3f-4c07-b66e-8eca096f79aa\"\n        }\n      ],\n      \"recordings\": [\n        {\n          \"size\": \"20905\",\n          \"url\": \"https://api.ovac.pre.councilbox.com/api/recording/64687-69e1f050c246e6ee55055021\",\n          \"createdAt\": \"1776414811764\",\n          \"signatureDocumentUrl\": null,\n          \"signatureUrl\": null,\n          \"sessionId\": \"69e1f050c246e6ee55055021\",\n          \"id\": \"64687-69e1f050c246e6ee55055021\",\n          \"duration\": \"2.036\"\n        }\n      ],\n      \"surveys\": []\n    }\n  }\n}\n\n ```"},"response":[{"id":"078d7557-8afb-46a8-8acd-b9e01329fcd3","name":"Get Appointment Evidence Summary_External","originalRequest":{"method":"POST","header":[],"body":{"mode":"graphql"},"url":{"raw":"{{domain}}/{{endpoint}}","host":["{{domain}}"],"path":["{{endpoint}}"]}},"_postman_previewlanguage":"Text","header":[],"cookie":[],"responseTime":null,"body":"{\r\n    \"data\": {\r\n        \"councilEvidenceSummary\": {\r\n            \"councilId\": 64905,\r\n            \"act\": null,\r\n            \"evidences\": [\r\n                {\r\n                    \"date\": \"2026-05-20T16:06:48.007Z\",\r\n                    \"userId\": 3476,\r\n                    \"content\": \"{\\\"data\\\":{\\\"council\\\":{\\\"company\\\":{\\\"address\\\":\\\"TEST API\\\",\\\"businessName\\\":\\\"TEST API\\\",\\\"id\\\":2191,\\\"testUrl\\\":null},\\\"dateStart\\\":\\\"2026-05-23T15:30:00.000Z\\\",\\\"dateStart2NdCall\\\":null,\\\"id\\\":64905,\\\"name\\\":\\\"test creación cita\\\",\\\"userScheduleId\\\":null},\\\"councilId\\\":64905,\\\"date\\\":\\\"2026-05-20T16:06:48.007Z\\\",\\\"id\\\":620228,\\\"participantId\\\":null,\\\"type\\\":\\\"CONVENE_COUNCIL_WITH_NOTICE\\\",\\\"user\\\":{\\\"email\\\":\\\"alejandro.maneiro+apitest@councilbox.com\\\",\\\"externalId\\\":null,\\\"id\\\":3476,\\\"name\\\":\\\"API TEST\\\",\\\"phone\\\":\\\"+34-666123456\\\",\\\"surname\\\":\\\"Postman\\\"},\\\"userId\\\":3476,\\\"uuid\\\":\\\"0614a5d6-a3ef-4699-8a05-59014c5a23f4\\\"}}\",\r\n                    \"type\": \"CONVENE_COUNCIL_WITH_NOTICE\",\r\n                    \"hash\": \"5ef22da8-c4d9-4ae0-9397-ecd3359a4464\"\r\n                },\r\n                {\r\n                    \"date\": \"2026-05-20T16:06:48.010Z\",\r\n                    \"userId\": 3476,\r\n                    \"content\": \"{\\\"data\\\":{\\\"council\\\":{\\\"dateStart\\\":\\\"2026-05-23T15:30:00.000Z\\\",\\\"id\\\":64905,\\\"name\\\":\\\"test creación cita\\\"},\\\"councilId\\\":64905,\\\"date\\\":\\\"2026-05-20T16:06:48.010Z\\\",\\\"id\\\":620229,\\\"participantId\\\":null,\\\"type\\\":\\\"COUNCIL_ASSIGNED\\\",\\\"user\\\":{\\\"email\\\":\\\"alejandro.maneiro+apitest@councilbox.com\\\",\\\"externalId\\\":null,\\\"id\\\":3476,\\\"name\\\":\\\"API TEST\\\",\\\"phone\\\":\\\"+34-666123456\\\",\\\"surname\\\":\\\"Postman\\\"},\\\"userId\\\":3476,\\\"uuid\\\":\\\"41fa6c03-5080-4b62-831e-ee97f8244f41\\\"}}\",\r\n                    \"type\": \"COUNCIL_ASSIGNED\",\r\n                    \"hash\": \"b1167a26-0cae-4dce-8101-8b255bcaa6f6\"\r\n                },\r\n                {\r\n                    \"date\": \"2026-05-20T16:08:03.234Z\",\r\n                    \"userId\": null,\r\n                    \"content\": \"{\\\"data\\\":{\\\"agendaId\\\":null,\\\"councilId\\\":64905,\\\"date\\\":\\\"2026-05-20T16:08:03.234Z\\\",\\\"id\\\":620230,\\\"participant\\\":{\\\"accessId\\\":\\\"Name of participant Surname of participant | 249003\\\",\\\"actReadId\\\":null,\\\"blocked\\\":0,\\\"category\\\":null,\\\"chatEnabled\\\":1,\\\"company\\\":{\\\"businessName\\\":\\\"TEST API\\\",\\\"id\\\":2191,\\\"tin\\\":null},\\\"companyParticipantId\\\":null,\\\"council\\\":{\\\"dateStart\\\":\\\"2026-05-23T15:30:00.000Z\\\",\\\"id\\\":64905,\\\"name\\\":\\\"test creación cita\\\"},\\\"councilId\\\":64905,\\\"customData\\\":null,\\\"date\\\":\\\"2026-05-20T16:06:47.687Z\\\",\\\"dni\\\":\\\"11111111H\\\",\\\"email\\\":\\\"alejandro.maneiro@councilbox.com\\\",\\\"externalId\\\":null,\\\"faceId\\\":null,\\\"hasVoted\\\":false,\\\"id\\\":156775,\\\"idCardCountry\\\":\\\"ES\\\",\\\"idCardType\\\":\\\"dni\\\",\\\"lastDateConnection\\\":\\\"2026-05-20T16:08:03.183Z\\\",\\\"lastRequestDate\\\":null,\\\"name\\\":\\\"Name of participant\\\",\\\"numParticipations\\\":1,\\\"participantId\\\":249003,\\\"phone\\\":\\\"+34-600000000\\\",\\\"position\\\":\\\"\\\",\\\"presentAtTheStart\\\":false,\\\"procedureFirstConnectionDate\\\":null,\\\"procedureLastConnectionDate\\\":null,\\\"requester\\\":true,\\\"requestingIdentification\\\":0,\\\"role\\\":null,\\\"screen\\\":\\\"PARTICIPANT_PANEL\\\",\\\"secondaryEmail\\\":null,\\\"socialCapital\\\":1,\\\"state\\\":0,\\\"surname\\\":\\\"Surname of participant\\\",\\\"trackInfo\\\":{\\\"geoLocation\\\":{\\\"as\\\":\\\"AS3352 TELEFONICA DE ESPANA S.A.U.\\\",\\\"city\\\":\\\"Santiago de Compostela\\\",\\\"country\\\":\\\"Spain\\\",\\\"countryCode\\\":\\\"ES\\\",\\\"isp\\\":\\\"Telefonica de Espana SAU\\\",\\\"lat\\\":42.877,\\\"lon\\\":-8.5475,\\\"org\\\":\\\"RIMA (Red IP Multi Acceso)\\\",\\\"query\\\":\\\"83.35.162.239\\\",\\\"region\\\":\\\"GA\\\",\\\"regionName\\\":\\\"Galicia\\\",\\\"status\\\":\\\"success\\\",\\\"timezone\\\":\\\"Europe/Madrid\\\",\\\"zip\\\":\\\"15706\\\"},\\\"requestInfo\\\":{\\\"cbxDeviceId\\\":\\\"oxlqesp\\\",\\\"fullIpData\\\":\\\"83.35.162.239\\\",\\\"httpVersion\\\":\\\"1.1\\\",\\\"ip\\\":\\\"83.35.162.239\\\",\\\"method\\\":\\\"POST\\\",\\\"referer\\\":\\\"https://apitest.ovac.pre.councilbox.com/\\\",\\\"ua\\\":{\\\"browser\\\":{\\\"major\\\":\\\"148\\\",\\\"name\\\":\\\"Chrome\\\",\\\"version\\\":\\\"148.0.0.0\\\"},\\\"cpu\\\":{\\\"architecture\\\":\\\"amd64\\\"},\\\"device\\\":{},\\\"engine\\\":{\\\"name\\\":\\\"Blink\\\",\\\"version\\\":\\\"148.0.0.0\\\"},\\\"os\\\":{\\\"name\\\":\\\"Windows\\\",\\\"version\\\":\\\"10\\\"},\\\"ua\\\":\\\"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/148.0.0.0 Safari/537.36\\\"},\\\"url\\\":\\\"/\\\"}},\\\"videoId\\\":null,\\\"voteDenied\\\":false,\\\"voteDeniedReason\\\":null},\\\"participantId\\\":156775,\\\"type\\\":\\\"PARTICIPANT_CONNECT\\\",\\\"userId\\\":null,\\\"uuid\\\":\\\"49af5d1a-a22e-4b00-9e45-658aa13ec3d0\\\"}}\",\r\n                    \"type\": \"PARTICIPANT_CONNECT\",\r\n                    \"hash\": \"8c5a66cd-045d-4079-b7ba-7238652d44dc\"\r\n                },\r\n                {\r\n                    \"date\": \"2026-05-20T16:15:16.475Z\",\r\n                    \"userId\": 3476,\r\n                    \"content\": \"{\\\"data\\\":{\\\"council\\\":{\\\"dateStart\\\":\\\"2026-05-23T15:30:00.000Z\\\",\\\"id\\\":64905,\\\"name\\\":\\\"test creación cita\\\"},\\\"councilId\\\":64905,\\\"date\\\":\\\"2026-05-20T16:15:16.475Z\\\",\\\"id\\\":620231,\\\"participantId\\\":null,\\\"type\\\":\\\"COUNCIL_ASSIGNED\\\",\\\"user\\\":{\\\"email\\\":\\\"alejandro.maneiro+apitest@councilbox.com\\\",\\\"externalId\\\":null,\\\"id\\\":3476,\\\"name\\\":\\\"API TEST\\\",\\\"phone\\\":\\\"+34-666123456\\\",\\\"surname\\\":\\\"Postman\\\"},\\\"userId\\\":3476,\\\"userSchedule\\\":{\\\"email\\\":\\\"alejandro.maneiro+apiprof@councilbox.com\\\",\\\"externalId\\\":\\\"TEST001\\\",\\\"id\\\":3477,\\\"name\\\":\\\"API\\\",\\\"phone\\\":\\\"+34-666123456\\\",\\\"surname\\\":\\\"PROFESIONAL\\\"},\\\"uuid\\\":\\\"406a6b43-f660-4346-87b9-a3cb214e81aa\\\"}}\",\r\n                    \"type\": \"COUNCIL_ASSIGNED\",\r\n                    \"hash\": \"b157cf72-7673-4e42-924f-4a78526afd7f\"\r\n                }\r\n            ],\r\n            \"recordings\": []\r\n        }\r\n    }\r\n}\r\n","createdAt":"2026-05-22T09:43:29.000Z","updatedAt":"2026-06-10T16:18:39.000Z","uid":"45758186-078d7557-8afb-46a8-8acd-b9e01329fcd3"}],"createdAt":"2026-05-22T09:43:29.000Z","updatedAt":"2026-06-17T16:00:24.000Z","uid":"45758186-a0962062-a7a2-4be2-ace2-af508d342a83"},{"name":"Get Appointment Documentation","id":"492a5e62-8c60-452b-8bdc-c566e255d49e","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"apikey","apikey":[{"key":"key","value":"x-jwt-token","type":"string"},{"key":"value","value":"{{token}}","type":"string"}]},"method":"POST","header":[],"body":{"mode":"graphql","graphql":{"query":"    query AppointmentDocuments($id: Int!){\r\n        council(id: $id){\r\n            id\r\n            recordings {\r\n                duration\r\n                id\r\n                createdAt\r\n                size\r\n                hash\r\n                finishDate\r\n                downloadUrl\r\n                hash\r\n            }\r\n            documents {\r\n                id\r\n                title\r\n                attachments {\r\n                    id\r\n                    hash\r\n                    uploadedBy {\r\n                        id\r\n                        name\r\n                        surname\r\n                        email\r\n                    }\r\n                    uploadedByAdmin {\r\n                        id\r\n                        name\r\n                        surname\r\n                        email\r\n                    }\r\n                    filename\r\n                    filetype\r\n                    filesize\r\n                    downloadUrl\r\n                }\r\n            }\r\n            videoCaptures {\r\n                participant {\r\n                    name\r\n                    surname\r\n                    id\r\n                    email\r\n                }\r\n                id\r\n                name\r\n                date\r\n                downloadUrl\r\n            }\r\n            agendas {\r\n                id\r\n                orderIndex\r\n                name\r\n                attachments {\r\n                    user {\r\n                        id\r\n                        name\r\n                        surname\r\n                        email\r\n                    }\r\n                    id\r\n                    hash\r\n                    filename\r\n                    filetype\r\n                    filesize\r\n                    downloadUrl\r\n                }\r\n            }\r\n        }\r\n    }","variables":"{\r\n    \"id\": 12345\r\n}"}},"url":{"raw":"{{domain}}/{{endpoint}}","host":["{{domain}}"],"path":["{{endpoint}}"]},"description":"# Appointment Documentation (`query`)\n\nEste método permite recuperar de forma centralizada todos los recursos binarios y archivos digitales asociados a una cita a partir de su identificador único (`id`). La respuesta consolida en una sola llamada las grabaciones de videoatención, los documentos intercambiados entre las partes, las capturas de pantalla tomadas durante la sesión y los archivos adjuntos vinculados a cada punto de la agenda.\n\n### Detalles de la Solicitud\n\n- **Método HTTP:** `POST`\n    \n- **URL PRE:** `https://api.ovac.pre.councilbox.com/graphql`\n    \n- **URL PRO:** `https://api.ovac.pre.councilbox.com/graphql`\n    \n\n### Autenticación\n\n> **Tipo:** API Key**  \nHeader:** `x-jwt-token`  \n**Ubicación:** Header HTTP_  \nEjemplo:_ `x-jwt-token: eyJhbGciOiJIUzI1NiIsInR5cCI6...` \n  \n\n## Referencia de la API\n\n### Parámetros de Entrada (Variables)\n\n|  | Descripción | Requerido | Tipo |\n| --- | --- | --- | --- |\n| id | Identificador numérico único de la cita en la plataforma OVAC. | SI | Integer |\n\n### Campos de Respuesta (Payload)\n\nLa consulta agrupa los elementos multimedia y documentales en cuatro nodos principales bajo el objeto raíz `council`:\n\n| Parámetro | Descripción | Tipo |\n| --- | --- | --- |\n| data | Información del objeto data | Object |\n| data.council | Información de la cita | Object |\n| data.council.id | Identificador único de la cita | Integer |\n| data.council.recordings | Datos acerca de la grabación o grabaciones | Array |\n| data.council.recordings\\[\\].duration | Duración, en segundos | String |\n| data.council.recordings\\[\\].id | Identificador de la grabación | String |\n| data.council.recordings\\[\\].createdAt | Fecha de inicio de la grabación | String |\n| data.council.recordings\\[\\].size | Tamaño del binario en bytes | String |\n| data.council.recordings\\[\\].hash | Identificación hash del archivo | String |\n| data.council.recordings\\[\\].finishDate | Fecha de finalización | String |\n| data.council.recordings\\[\\].downloadUrl | Enlace de descarga del vídeo, es necesario emplear cabecera x-jwt-token: {{token}} para descargar vídeo | String |\n| data.council.documents | Conjunto de datos de los documentos | Array |\n| data.council.documents\\[\\].id | identificador único del documento | Integer |\n| data.council.documents\\[\\].title | Título de la carpeta contenedora de la documentación | String |\n| data.council.documents\\[\\].attachments | Conjunto de binarios adjuntos |  |\n| data.council.documents\\[\\].attachments\\[\\].id | Identificador del binario | Integer |\n| data.council.documents\\[\\].attachments\\[\\].hash | Hash del binario en MD5 | String |\n| data.council.documents\\[\\].attachments\\[\\].uploadedBy | Indica el participante que ha subido el documento | Object |\n| data.council.documents\\[\\].attachments\\[\\].uploadedBy.id | Identificador el paticipante | Integer |\n| data.council.documents\\[\\].attachments\\[\\].uploadedBy.name | Nombre del participante | String |\n| data.council.documents\\[\\].attachments\\[\\].uploadedBy.surname | Apellido del participante | String |\n| data.council.documents\\[\\].attachments\\[\\].uploadedBy.email | Email del participante | String |\n| data.council.documents\\[\\].attachments\\[\\].uploadedByAdmin | Objeto del usuario que ha subido el adjunto | Object |\n| data.council.documents\\[\\].attachments\\[\\].uploadedByAdmin.id | Identificador del usuario | Integer |\n| data.council.documents\\[\\].attachments\\[\\].uploadedByAdmin.name | Nombre del usuario | String |\n| data.council.documents\\[\\].attachments\\[\\].uploadedByAdmin.surname | Apellido del usuario | String |\n| data.council.documents\\[\\].attachments\\[\\].uploadedByAdmin.email | email del usuario | String |\n| data.council.documents\\[\\].attachments\\[\\].filename | Nombre del documento y formato | String |\n| data.council.documents\\[\\].attachments\\[\\].filetype | Tipo de archivo | String |\n| data.council.documents\\[\\].attachments\\[\\].filesize | Tamaño del archivo en bytes | String |\n| data.council.documents\\[\\].attachments\\[\\].downloadUrl | Url de descarga del binario | String |\n| data.council.videoCaptures | Array de capturas de frame realizadas durante la videoatención | Array |\n| data.council.videoCaptures\\[\\].participant | Array de participantes | Object |\n| data.council.videoCaptures\\[\\].participant.name | Nombre | String |\n| data.council.videoCaptures\\[\\].participant.surname | Apellido | String |\n| data.council.videoCaptures\\[\\].participant.id | Identificador del participante | Integer |\n| data.council.videoCaptures\\[\\].participant.email | email del participante | String |\n| data.council.videoCaptures\\[\\].id | Identificador de la videocaptura | Integer |\n| data.council.videoCaptures\\[\\].name | Nombre de la captura | String |\n| data.council.videoCaptures\\[\\].date | fecha en la que se ha realizado la captura con formato UTC | String |\n| data.council.videoCaptures\\[\\].downloadUrl | Url de descarga de la captura | String |\n| data.council.agendas | Puntos a realizar durante la cita | Array |\n| data.council.agendas\\[\\].id | Identificador único del punto | Integer |\n| data.council.agendas\\[\\].orderIndex | Orden en la que están generados para su lanzamiento | Integer |\n| data.council.agendas\\[\\].name | Nombre del punto | String |\n| data.council.agendas\\[\\].attachments | Array de los pasos dentro de la videocita | Array |\n| data.council.agendas\\[\\].attachments\\[\\].user | Usuario que sube el documento | Object |\n| data.council.agendas\\[\\].attachments\\[\\].user.id | identificador del usuario que abre el punto | Integer |\n| data.council.agendas\\[\\].attachments\\[\\].user.name | Nombre del usuario que abre el punto | String |\n| data.council.agendas\\[\\].attachments\\[\\].user.surname | Apellido del usuario que abre el punto | String |\n| data.council.agendas\\[\\].attachments\\[\\].user.email | email del usuario que abre el punto | String |\n| data.council.agendas\\[\\].attachments\\[\\].id | Identificador del binario adjunto | Integer |\n| data.council.agendas\\[\\].attachments\\[\\].hash | Hash MD5 del binario | String |\n| data.council.agendas\\[\\].attachments\\[\\].filename | Nombre y formato del binario | String |\n| data.council.agendas\\[\\].attachments\\[\\].filetype | Tipo de archivo | String |\n| data.council.agendas\\[\\].attachments\\[\\].filesize | Tamaño del archivo en bytes | String |\n| data.council.agendas\\[\\].attachments\\[\\].downloadUrl | Url de descarga del binario | String |\n\n#### 1\\. Grabaciones de la Sesión (`recordings`)\n\nColección de los archivos de vídeo y audio generados durante el encuentro.\n\n- **`id`** (`String`): Identificador único de la grabación.\n    \n- **`duration`** (`String`): Duración total de la grabación expresada en segundos.\n    \n- **`size`** (`String`): Tamaño del archivo binario en bytes.\n    \n- **`hash`** (`String`): Identificación hash criptográfica del archivo para verificación de integridad.\n    \n- **`createdAt`** / **`finishDate`** (`String`): Marcas de tiempo de inicio y fin de la grabación (formato Unix Timestamp / UTC).\n    \n- **`downloadUrl`** (`String`): Enlace de descarga directa del vídeo. _Requiere incluir la cabecera_ `_x-jwt-token_` _autorizada._\n    \n\n#### 2\\. Gestión Documental General (`documents`)\n\nRepositorio de documentos compartidos o aportados de forma global en la cita.\n\n- **`id`** (`Int`): Identificador único del contenedor de documentos.\n    \n- **`title`** (`String`): Título o nombre de la carpeta/categoría contenedora (ej. \"Documentación intercambiada\").\n    \n- **`attachments`** (`Array`): Colección de archivos binarios específicos. Cada elemento incluye:\n    \n    - `id` (`Int`), `filename` (`String`), `filetype` (`String`), `filesize` (`String`), `hash` (`String`): Metadatos completos del archivo.\n        \n    - `downloadUrl` (`String`): URL segura para la descarga del archivo binario.\n        \n    - `uploadedBy` (`Object`): Datos del ciudadano/participante si este subió el archivo (`id`, `name`, `surname`, `email`). De lo contrario, devuelve `null`.\n        \n    - `uploadedByAdmin` (`Object`): Datos del profesional o gestor de la entidad si fue quien aportó el documento.\n        \n\n#### 3\\. Capturas de Vídeo (`videoCaptures`)\n\nFotogramas congelados (historias o capturas de pantalla) tomados por el agente durante la sesión de videoatención como prueba visual.\n\n- **`id`** (`Int`): Identificador único de la videocaptura.\n    \n- **`name`** (`String`): Nombre asignado al archivo de la captura.\n    \n- **`date`** (`String`): Fecha y hora en formato UTC en la que se realizó la captura.\n    \n- **`downloadUrl`** (`String`): Enlace directo de descarga de la imagen.\n    \n- **`participant`** (`Object`): Datos del participante del cual se extrajo o vinculó el frame visual (`id`, `name`, `surname`, `email`).\n    \n\n#### 4\\. Adjuntos de los Puntos de la Agenda (`agendas`)\n\nDocumentos de trabajo vinculados estrictamente a flujos del trámite (como PDFs dinámicos o plantillas de firma).\n\n- **`id`** (`Int`): Identificador único del punto de la agenda.\n    \n- **`orderIndex`** (`Int`): Índice que dictamina el orden cronológico del paso dentro de la cita.\n    \n- **`name`** (`String`): Nombre del hito o paso (ej. \"PDF Interactivo\").\n    \n- **`attachments`** (`Array`): Colección de archivos requeridos o resultantes de ese paso en particular. Incluye metadatos idénticos a los del nodo `documents` y un objeto `user` que detalla el operador que inició o cargó dicho punto.\n    \n\n## Ejemplos de Código y Peticiones\n\n### 1\\. Consulta GraphQL\n\n``` graphql\nquery AppointmentDocuments($id: Int!) {\n    council(id: $id) {\n        id\n        recordings {\n            duration\n            id\n            createdAt\n            size\n            hash\n            finishDate\n            downloadUrl\n        }\n        documents {\n            id\n            title\n            attachments {\n                id\n                hash\n                uploadedBy {\n                    id\n                    name\n                    surname\n                    email\n                }\n                uploadedByAdmin {\n                    id\n                    name\n                    surname\n                    email\n                }\n                filename\n                filetype\n                filesize\n                downloadUrl\n            }\n        }\n        videoCaptures {\n            participant {\n                name\n                surname\n                id\n                email\n            }\n            id\n            name\n            date\n            downloadUrl\n        }\n        agendas {\n            id\n            orderIndex\n            name\n            attachments {\n                user {\n                    id\n                    name\n                    surname\n                    email\n                }\n                id\n                hash\n                filename\n                filetype\n                filesize\n                downloadUrl\n            }\n        }\n    }\n}\n\n ```\n\n### 2\\. Variables de la Petición (JSON Payload)\n\n``` json\n{\n    \"id\": 64706\n}\n\n ```\n\n### 3\\. Ejemplo de comando cURL\n\n``` bash\ncurl --location \"https://api.ovac.pre.councilbox.com/graphql\" \\\n--header \"Content-Type: application/json\" \\\n--header \"x-jwt-token: {{token}}\" \\\n--data '{\"query\":\"query AppointmentDocuments($id: Int!){ council(id: $id){ id recordings { duration id createdAt size hash finishDate downloadUrl } documents { id title attachments { id hash uploadedBy { id name surname email } uploadedByAdmin { id name surname email } filename filetype filesize downloadUrl } } videoCaptures { participant { name surname id email } id name date downloadUrl } agendas { id orderIndex name attachments { user { id name surname email } id hash filename filetype filesize downloadUrl } } } }\",\"variables\":{\"id\":64706}}'\n\n ```\n\n### 4\\. Respuesta Esperada (200 OK)\n\n``` json\n{\n    \"data\": {\n        \"council\": {\n            \"id\": 64706,\n            \"recordings\": [\n                {\n                    \"duration\": \"0\",\n                    \"id\": \"64706-69e7279ca146c77d133a40e5\",\n                    \"createdAt\": \"1776756677334\",\n                    \"size\": \"0\",\n                    \"hash\": null,\n                    \"finishDate\": \"0\",\n                    \"downloadUrl\": \"https://api.ovac.pre.councilbox.com/api/recording/64706-69e7279ca146c77d133a40e5\"\n                }\n            ],\n            \"documents\": [\n                {\n                    \"id\": 62463,\n                    \"title\": \"Documentación intercambiada\",\n                    \"attachments\": []\n                }\n            ],\n            \"videoCaptures\": [],\n            \"agendas\": [\n                {\n                    \"id\": 88520,\n                    \"orderIndex\": 2,\n                    \"name\": \"Escaneo de documentación\",\n                    \"attachments\": []\n                },\n                {\n                    \"id\": 88519,\n                    \"orderIndex\": 3,\n                    \"name\": \"PDF Interactivo\",\n                    \"attachments\": [\n                        {\n                            \"user\": {\n                                \"id\": 3477,\n                                \"name\": \"API\",\n                                \"surname\": \"PROFESIONAL\",\n                                \"email\": \"alejandro.maneiro+apiprof@councilbox.com\"\n                            },\n                            \"id\": 42106,\n                            \"hash\": \"f8784be80a0058f269317ca10daa24a3\",\n                            \"filename\": \"formulario_interactivo.pdf\",\n                            \"filetype\": \"application/pdf\",\n                            \"filesize\": \"3885\",\n                            \"downloadUrl\": \"https://api.ovac.pre.councilbox.com/agendaAttachment/42106\"\n                        }\n                    ]\n                }\n            ]\n        }\n    }\n}\n\n ```"},"response":[{"id":"0fe06343-1c45-4694-aee0-7370a5281df7","name":"Get Appointment Documentation","originalRequest":{"method":"POST","header":[],"body":{"mode":"graphql"},"url":{"raw":"{{domain}}/{{endpoint}}","host":["{{domain}}"],"path":["{{endpoint}}"]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":":status","value":200},{"key":"date","value":"Wed, 20 May 2026 16:33:17 GMT"},{"key":"content-type","value":"application/json; charset=utf-8"},{"key":"vary","value":"Accept-Encoding"},{"key":"content-security-policy","value":"default-src 'self';base-uri 'self';font-src 'self' https: data:;form-action 'self';frame-ancestors 'self';img-src 'self' data:;object-src 'none';script-src 'self';script-src-attr 'none';style-src 'self' https: 'unsafe-inline';upgrade-insecure-requests"},{"key":"cross-origin-opener-policy","value":"same-origin"},{"key":"cross-origin-resource-policy","value":"cross-origin"},{"key":"origin-agent-cluster","value":"?1"},{"key":"referrer-policy","value":"no-referrer"},{"key":"strict-transport-security","value":"max-age=31536000; includeSubDomains"},{"key":"x-content-type-options","value":"nosniff"},{"key":"x-dns-prefetch-control","value":"off"},{"key":"x-download-options","value":"noopen"},{"key":"x-frame-options","value":"SAMEORIGIN"},{"key":"x-permitted-cross-domain-policies","value":"none"},{"key":"x-xss-protection","value":"0"},{"key":"access-control-allow-origin","value":"*"},{"key":"etag","value":"W/\"608-b/R6Sss4UsR2AxhX8TylWj54YB8\""},{"key":"content-encoding","value":"gzip"},{"key":"access-control-allow-methods","value":"GET,HEAD,PUT,PATCH,POST,DELETE"}],"cookie":[],"responseTime":null,"body":"{\n    \"data\": {\n        \"council\": {\n            \"id\": 64706,\n            \"recordings\": [\n                {\n                    \"duration\": \"28793.996\",\n                    \"id\": \"64706-69e7279ca146c77d133a40e5\",\n                    \"createdAt\": \"1776756677334\",\n                    \"size\": \"259181828\",\n                    \"hash\": null,\n                    \"finishDate\": \"1776785478977\",\n                    \"downloadUrl\": \"https://api.ovac.pre.councilbox.com/api/recording/64706-69e7279ca146c77d133a40e5\"\n                }\n            ],\n            \"documents\": [\n                {\n                    \"id\": 62463,\n                    \"title\": \"Documentación intercambiada\",\n                    \"attachments\": []\n                }\n            ],\n            \"videoCaptures\": [],\n            \"agendas\": [\n                {\n                    \"id\": 88522,\n                    \"orderIndex\": 1,\n                    \"name\": \"test\",\n                    \"attachments\": []\n                },\n                {\n                    \"id\": 88520,\n                    \"orderIndex\": 2,\n                    \"name\": \"Escaneo de documentación\",\n                    \"attachments\": []\n                },\n                {\n                    \"id\": 88519,\n                    \"orderIndex\": 3,\n                    \"name\": \"PDF Interactivo\",\n                    \"attachments\": [\n                        {\n                            \"user\": {\n                                \"id\": 3477,\n                                \"name\": \"API\",\n                                \"surname\": \"PROFESIONAL\",\n                                \"email\": \"alejandro.maneiro+apiprof@councilbox.com\"\n                            },\n                            \"id\": 42106,\n                            \"hash\": \"f8784be80a0058f269317ca10daa24a3\",\n                            \"filename\": \"formulario_interactivo.pdf\",\n                            \"filetype\": \"application/pdf\",\n                            \"filesize\": \"3885\",\n                            \"downloadUrl\": \"https://api.ovac.pre.councilbox.com/agendaAttachment/42106\"\n                        }\n                    ]\n                },\n                {\n                    \"id\": 88524,\n                    \"orderIndex\": 4,\n                    \"name\": \"Consentimiento expreso\",\n                    \"attachments\": []\n                },\n                {\n                    \"id\": 88523,\n                    \"orderIndex\": 5,\n                    \"name\": \"Firma de documentación\",\n                    \"attachments\": [\n                        {\n                            \"user\": {\n                                \"id\": 3477,\n                                \"name\": \"API\",\n                                \"surname\": \"PROFESIONAL\",\n                                \"email\": \"alejandro.maneiro+apiprof@councilbox.com\"\n                            },\n                            \"id\": 42107,\n                            \"hash\": \"038f99550325d9f74033d775848a2590\",\n                            \"filename\": \"Test.pdf\",\n                            \"filetype\": \"application/pdf\",\n                            \"filesize\": \"29909\",\n                            \"downloadUrl\": \"https://api.ovac.pre.councilbox.com/agendaAttachment/42107\"\n                        }\n                    ]\n                },\n                {\n                    \"id\": 88521,\n                    \"orderIndex\": 6,\n                    \"name\": \"Respuestas múltipes\",\n                    \"attachments\": []\n                },\n                {\n                    \"id\": 88525,\n                    \"orderIndex\": 7,\n                    \"name\": \"Formulario\",\n                    \"attachments\": []\n                }\n            ]\n        }\n    }\n}","createdAt":"2026-05-22T09:43:29.000Z","updatedAt":"2026-06-15T19:11:20.000Z","uid":"45758186-0fe06343-1c45-4694-aee0-7370a5281df7"}],"createdAt":"2026-05-22T09:43:29.000Z","updatedAt":"2026-06-17T16:00:33.000Z","uid":"45758186-492a5e62-8c60-452b-8bdc-c566e255d49e"},{"name":"Get Appointment Document Folders","id":"457b8a49-0146-4978-981a-07e5ea0b1bae","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"apikey","apikey":[{"key":"key","value":"x-jwt-token","type":"string"},{"key":"value","value":"{{token}}","type":"string"}]},"method":"POST","header":[{"key":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"graphql","graphql":{"query":"query CouncilDocumentation($councilId: Int!){\n    council(id: $councilId){\n        documents {\n            id\n            title\n            attachments {\n                user {\n                    name\n                    surname\n                    id\n                    email\n                }\n                participant {\n                    name\n                    surname\n                    email\n                    id\n                }\n                filename\n                downloadUrl\n                filesize\n            }\n        }\n        agendas {\n            id\n            name\n            attachments {\n                user {\n                    id\n                    name\n                    surname\n                }\n                filename\n                downloadUrl\n                filesize\n            }\n        }\n    }\n}","variables":"{\r\n    \"councilId\": 12345\r\n}"}},"url":{"raw":"{{domain}}/{{endpoint}}","host":["{{domain}}"],"path":["{{endpoint}}"]},"description":"# Appointment Document Folders (`query`)\n\nEsta operación permite consultar de forma consolidada todos los elementos documentales, carpetas de intercambio general, puntos del orden del día (`agendas`) y archivos adjuntos cargados o generados durante el transcurso de una cita específica utilizando su identificador único.\n\n### Detalles de la Solicitud\n\n- **Método HTTP:** `POST`\n    \n- **URL PRE:** `https://api.ovac.pre.councilbox.com/graphql`\n    \n- **URL PRO:** `https://api.ovac.pre.councilbox.com/graphql`\n    \n\n### Autenticación\n\n> **Tipo:** API Key**  \nHeader:** `x-jwt-token`  \n**Ubicación:** Header HTTP_  \nEjemplo:_ `x-jwt-token: eyJhbGciOiJIUzI1NiIsInR5cCI6...` \n  \n\n## Referencia de la API\n\n### Parámetros de Entrada (Variables)\n\n| Parámetro | Descripción | Requerido | Tipo |\n| --- | --- | --- | --- |\n| councilId | Identificador de la cita | SI | Integer |\n\n### Campos de Respuesta (Payload)\n\nLa respuesta devuelve un objeto raíz `council` que segrega los recursos digitales en dos grandes categorías (documentos de intercambio libre y documentos estructurados por pasos):\n\n|  | Descripción | Tipo |\n| --- | --- | --- |\n| council | Objeto raíz que contiene toda la información y adjuntos de la cita solicitada | Objeto |\n| council.documents | Listado de documentos asociados a la cita | Array |\n| council.documents\\[\\].id | Identificador único del documento global en el sistema. | Int |\n| council.documents\\[\\].title | Título, descripción o categoría de la documentación intercambiada. | String |\n| council.documents\\[\\].attachments | Archivos adjuntos asociados directamente al bloque de documentos globales. | Array |\n| council.agendas | Listado de puntos del orden del día, fases del trámite o acciones realizadas en la sesión. | Array |\n| council.agendas\\[\\].id | Identificador único del punto del orden del día. | Int |\n| council.agendas\\[\\].name | Nombre o etiqueta descriptiva de la acción (ej. \"Firma de documentación\", \"Formulario\"). | String |\n| council.agendas\\[\\].attachments | Colección de archivos físicos generados, firmados o subidos en este punto específico. | Array |\n| council.agendas\\[\\].attachments.user | Objeto con los datos de identidad del profesional u operador que gestionó el archivo. | Object |\n| council.agendas\\[\\].attachments.user.id | Identificador único del usuario profesional en la plataforma. | Int |\n| council.agendas\\[\\].attachments.user.name | Nombre del usuario profesional. | String |\n| council.agendas\\[\\].attachments.user.surname | Apellidos del usuario profesional. | String |\n| council.agendas\\[\\].attachments.filename | Nombre original del archivo adjunto junto con su extensión (ej. \"Test.pdf\") | String |\n| council.agendas\\[\\].attachments.downloadUrl | Enlace URL para proceder a la descarga directa del archivo. | String |\n| council.agendas\\[\\].attachments.filesize | Tamaño total del archivo en disco expresado en bytes. | String |\n\n#### 1\\. Documentación Intercambiada (`documents`)\n\nColección de carpetas y archivos compartidos de forma global en la cita (fuera de los flujos de la agenda).\n\n- **`id`** (`Int`): Identificador único del contenedor de documentos.\n    \n- **`title`** (`String`): Descripción o etiqueta de la categoría (ej. \"Documentación intercambiada\").\n    \n- **`attachments`** (`Array`): Archivos binarios individuales cargados. Cada archivo contiene:\n    \n    - `filename` (`String`): Nombre original y extensión del archivo.\n        \n    - `downloadUrl` (`String`): Enlace URL seguro para descargar el archivo.\n        \n    - `filesize` (`String`): Tamaño total del archivo en bytes.\n        \n    - `user` (`Object`): Datos del usuario profesional/agente si este subió el archivo (`id`, `name`, `surname`, `email`). Devolverá `null` si lo subió un ciudadano.\n        \n    - `participant` (`Object`): Datos del ciudadano/asistente si fue quien aportó el documento (`id`, `name`, `surname`, `email`). Devolverá `null` si lo subió un agente.\n        \n\n#### 2\\. Adjuntos por Puntos de la Agenda (`agendas`)\n\nHistorial de archivos físicos generados, firmados o requeridos de manera específica en cada fase del trámite.\n\n- **`id`** (`Int`): Identificador único del punto del orden del día.\n    \n- **`name`** (`String`): Nombre o etiqueta de la acción o fase (ej. \"Firma de documentación\", \"Escaneo de documentación\").\n    \n- **`attachments`** (`Array`): Colección de archivos adjuntos asociados a este paso concreto. Contiene:\n    \n    - `filename` (`String`): Nombre del archivo (ej. `\"Test.pdf\"`).\n        \n    - `downloadUrl` (`String`): Enlace URL de acceso para la descarga directa del binario.\n        \n    - `filesize` (`String`): Tamaño del archivo en bytes.\n        \n    - `user` (`Object`): Identidad del operador profesional que gestionó, cargó o activó este archivo en la sesión (`id`, `name`, `surname`).\n        \n\n## Ejemplos de Código y Peticiones\n\n### 1\\. Consulta GraphQL\n\n``` graphql\nquery CouncilDocumentation($councilId: Int!) {\n    council(id: $councilId) {\n        documents {\n            id\n            title\n            attachments {\n                user {\n                    name\n                    surname\n                    id\n                    email\n                }\n                participant {\n                    name\n                    surname\n                    email\n                    id\n                }\n                filename\n                downloadUrl\n                filesize\n            }\n        }\n        agendas {\n            id\n            name\n            attachments {\n                user {\n                    id\n                    name\n                    surname\n                }\n                filename\n                downloadUrl\n                filesize\n            }\n        }\n    }\n}\n\n ```\n\n### 2\\. Variables de la Petición (JSON Payload)\n\n``` json\n{\n    \"councilId\": 64817\n}\n\n ```\n\n### 3\\. Ejemplo de comando cURL\n\n``` bash\ncurl --location \"https://api.ovac.pre.councilbox.com/graphql\" \\\n--header \"Content-Type: application/json\" \\\n--header \"x-jwt-token: {{token}}\" \\\n--data '{\"query\":\"query CouncilDocumentation($councilId: Int!){ council(id: $councilId){ documents { id title attachments { user { name surname id email } participant { name surname email id } filename downloadUrl filesize } } agendas { id name attachments { user { id name surname } filename downloadUrl filesize } } } }\",\"variables\":{\"councilId\":64817}}'\n\n ```\n\n### 4\\. Respuesta Esperada (200 OK)\n\n``` json\n{\n    \"data\": {\n        \"council\": {\n            \"documents\": [\n                {\n                    \"id\": 62718,\n                    \"title\": \"Documentación intercambiada\",\n                    \"attachments\": []\n                }\n            ],\n            \"agendas\": [\n                {\n                    \"id\": 89216,\n                    \"name\": \"Escaneo de documentación\",\n                    \"attachments\": []\n                },\n                {\n                    \"id\": 89215,\n                    \"name\": \"PDF Interactivo\",\n                    \"attachments\": []\n                },\n                {\n                    \"id\": 89218,\n                    \"name\": \"Firma de documentación\",\n                    \"attachments\": [\n                        {\n                            \"user\": {\n                                \"id\": 3477,\n                                \"name\": \"API\",\n                                \"surname\": \"PROFESIONAL\"\n                            },\n                            \"filename\": \"Test.pdf\",\n                            \"downloadUrl\": \"https://api.ovac.pre.councilbox.com/agendaAttachment/42620\",\n                            \"filesize\": \"29909\"\n                        }\n                    ]\n                },\n                {\n                    \"id\": 89214,\n                    \"name\": \"Formulario\",\n                    \"attachments\": []\n                }\n            ]\n        }\n    }\n}\n\n ```"},"response":[{"id":"efb0470b-3492-4185-95bf-7d8234c325c0","name":"Get Appointment Document Folders","originalRequest":{"method":"POST","header":[{"key":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"graphql"},"url":{"raw":"{{domain}}/{{endpoint}}","host":["{{domain}}"],"path":["{{endpoint}}"]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":":status","value":200},{"key":"date","value":"Wed, 20 May 2026 16:33:31 GMT"},{"key":"content-type","value":"application/json; charset=utf-8"},{"key":"vary","value":"Accept-Encoding"},{"key":"content-security-policy","value":"default-src 'self';base-uri 'self';font-src 'self' https: data:;form-action 'self';frame-ancestors 'self';img-src 'self' data:;object-src 'none';script-src 'self';script-src-attr 'none';style-src 'self' https: 'unsafe-inline';upgrade-insecure-requests"},{"key":"cross-origin-opener-policy","value":"same-origin"},{"key":"cross-origin-resource-policy","value":"cross-origin"},{"key":"origin-agent-cluster","value":"?1"},{"key":"referrer-policy","value":"no-referrer"},{"key":"strict-transport-security","value":"max-age=31536000; includeSubDomains"},{"key":"x-content-type-options","value":"nosniff"},{"key":"x-dns-prefetch-control","value":"off"},{"key":"x-download-options","value":"noopen"},{"key":"x-frame-options","value":"SAMEORIGIN"},{"key":"x-permitted-cross-domain-policies","value":"none"},{"key":"x-xss-protection","value":"0"},{"key":"access-control-allow-origin","value":"*"},{"key":"etag","value":"W/\"2b2-Bjzf7dV006eSTNcOZMtat21vyCw\""},{"key":"content-encoding","value":"gzip"},{"key":"access-control-allow-methods","value":"GET,HEAD,PUT,PATCH,POST,DELETE"}],"cookie":[],"responseTime":null,"body":"{\n    \"data\": {\n        \"council\": {\n            \"documents\": [\n                {\n                    \"id\": 62718,\n                    \"title\": \"Documentación intercambiada\",\n                    \"attachments\": []\n                }\n            ],\n            \"agendas\": [\n                {\n                    \"id\": 89220,\n                    \"name\": \"test\",\n                    \"attachments\": []\n                },\n                {\n                    \"id\": 89216,\n                    \"name\": \"Escaneo de documentación\",\n                    \"attachments\": []\n                },\n                {\n                    \"id\": 89215,\n                    \"name\": \"PDF Interactivo\",\n                    \"attachments\": []\n                },\n                {\n                    \"id\": 89217,\n                    \"name\": \"Consentimiento expreso\",\n                    \"attachments\": []\n                },\n                {\n                    \"id\": 89218,\n                    \"name\": \"Firma de documentación\",\n                    \"attachments\": [\n                        {\n                            \"user\": {\n                                \"id\": 3477,\n                                \"name\": \"API\",\n                                \"surname\": \"PROFESIONAL\"\n                            },\n                            \"filename\": \"Test.pdf\",\n                            \"downloadUrl\": \"https://api.ovac.pre.councilbox.com/agendaAttachment/42620\",\n                            \"filesize\": \"29909\"\n                        }\n                    ]\n                },\n                {\n                    \"id\": 89219,\n                    \"name\": \"Respuestas múltipes\",\n                    \"attachments\": []\n                },\n                {\n                    \"id\": 89214,\n                    \"name\": \"Formulario\",\n                    \"attachments\": []\n                }\n            ]\n        }\n    }\n}","createdAt":"2026-05-22T09:43:29.000Z","updatedAt":"2026-06-15T19:11:30.000Z","uid":"45758186-efb0470b-3492-4185-95bf-7d8234c325c0"}],"createdAt":"2026-05-22T09:43:29.000Z","updatedAt":"2026-06-17T16:00:41.000Z","uid":"45758186-457b8a49-0146-4978-981a-07e5ea0b1bae"},{"name":"Get Agenda Information","id":"1ad4baa1-cf3a-4902-be88-2ddf25279832","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"apikey","apikey":[{"key":"value","value":"{{token}}","type":"string"},{"key":"key","value":"x-jwt-token","type":"string"}]},"method":"POST","header":[],"body":{"mode":"graphql","graphql":{"query":"query Agenda (\r\n    $id: Int!\r\n\r\n){\r\n    agenda(\r\n        id: $id\r\n    ) {\r\n        id\r\n        subjectType\r\n        agendaSubject\r\n        votings {\r\n            id\r\n            vote\r\n        }\r\n    }\r\n}","variables":"{\r\n    \"id\": 12345\r\n}"}},"url":{"raw":"{{domain}}/{{endpoint}}","host":["{{domain}}"],"path":["{{endpoint}}"]},"description":"# Request agenda information (`query`)\n\nEsta operación permite consultar el detalle técnico y el estado de consolidación de un paso específico a partir de su identificador único. Su principal función es auditar las interacciones en tiempo real, recuperando el tipo de punto, el enunciado legal y la colección completa de respuestas o consentimientos emitidos (`votings`) por los intervinientes de la sesión.\n\n### Detalles de la Solicitud\n\n- **Método HTTP:** `POST`\n    \n- **URL PRE:** `https://api.ovac.pre.councilbox.com/graphql`\n    \n- **URL PRO:** `https://api.ovac.pre.councilbox.com/graphql`\n    \n\n### Autenticación\n\n> **Tipo:** API Key**  \nHeader:** `x-jwt-token`  \n**Ubicación:** Header HTTP_  \nEjemplo:_ `x-jwt-token: eyJhbGciOiJIUzI1NiIsInR5cCI6...` \n  \n\n## Referencia de la API\n\n### Parámetros de entrada (variables)\n\n| Parámetro | Descripción | Requerido | Tipo |\n| --- | --- | --- | --- |\n| id | Identificador único del punto del paso de la cita/gestión que se desea consultar. | SI | Int |\n\n### Campos de respuesta (Payload)\n\nLa consulta devuelve una estructura detallada bajo el resolvedor raíz `addAgendaPoint:`\n\n| Parámetro | Descripción | Tipo |\n| --- | --- | --- |\n| agenda | Objeto contenedor con las propiedades del paso consultado. | Object |\n| agenda.id | Identificador interno único del paso de la cita/gestión. | Integer |\n| agenda.subjectType | Código numérico taxonómico que representa la tipología del punto.  <br>`9` -> Consentimiento explícito | Integer |\n| agenda.agendaSubject | Título literal, enunciado o pregunta formulada a los participantes. | String |\n| agenda.votings\\[\\] | Colección o array de registros con las interacciones recopiladas. | Array |\n| agenda.votings\\[\\].id | Identificador único del registro de consentimiento individual. | Integer |\n| agenda.votings\\[\\].vote | Valor numérico que representa estado de la respuesta, para los pasos de tipo 9 (consentimiento de aceptación/rechazo)  <br>`-1` -> Sin acción  <br>`0` -> Rechazado  <br>`1` -> Aceptado | Integer |\n\n## Ejemplos de código y peticiones\n\n### 1\\. Consulta GraphQL\n\n``` graphql\nquery Agenda (\n    $id: Int!\n){\n    agenda(\n        id: $id\n    ) {\n        id\n        subjectType\n        agendaSubject\n        votings {\n            id\n            vote\n        }\n    }\n}\n\n ```\n\n### 2\\. Variables de la Petición (JSON Payload)\n\n``` json\n{\n    \"id\": 91051\n}\n\n ```\n\n### 3\\. Ejemplo de comando cURL\n\n``` bash\ncurl --location 'https://api.ovac.pre.councilbox.com/graphql' \n--header 'Content-Type: application/json' \n--header 'x-jwt-token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJqOTY3ZS04MDY3LTRiMDUtYjQ0MS0zZmFhYWVlN2M3ZDUiLCJ1c2VyX2lkIjozNDc2LCJ0b2tlbl90eXBlIjoidXNlciIsImlhdCI6MTc4MTA3NjAyMH0.aXYLM7tX0xYjzi4m7gGNUlZ4Dj15cG-iIakmzGwhDTs' \n--data '{\"query\":\"query Agenda (\\r\\n    $id: Int!\\r\\n\\r\\n){\\r\\n    agenda(\\r\\n        id: $id\\r\\n    ) {\\r\\n        id\\r\\n        subjectType\\r\\n        agendaSubject\\r\\n        votings {\\r\\n            id\\r\\n            vote\\r\\n        }\\r\\n    }\\r\\n}\",\"variables\":{\"id\":12345}}'\n\n ```\n\n### 4\\. Respuesta esperada (200 OK)\n\n``` json\n{\n    \"data\": {\n        \"agenda\": {\n            \"id\": 91051,\n            \"subjectType\": 9,\n            \"agendaSubject\": \"TEST API\",\n            \"votings\": [\n                {\n                    \"id\": 40290,\n                    \"vote\": -1\n                }\n            ]\n        }\n    }\n}\n\n ```"},"response":[{"id":"f27db20b-19ac-42b7-bc6e-5db758fc75b8","name":"Get Agenda Information","originalRequest":{"method":"POST","header":[],"body":{"mode":"graphql"},"url":{"raw":"{{domain}}/{{endpoint}}","host":["{{domain}}"],"path":["{{endpoint}}"]}},"status":"OK","code":200,"_postman_previewlanguage":"Text","header":[{"key":":status","value":200},{"key":"date","value":"Tue, 09 Jun 2026 13:35:18 GMT"},{"key":"content-type","value":"application/json; charset=utf-8"},{"key":"content-length","value":"111"},{"key":"content-security-policy","value":"default-src 'self';base-uri 'self';font-src 'self' https: data:;form-action 'self';frame-ancestors 'self';img-src 'self' data:;object-src 'none';script-src 'self';script-src-attr 'none';style-src 'self' https: 'unsafe-inline';upgrade-insecure-requests"},{"key":"cross-origin-opener-policy","value":"same-origin"},{"key":"cross-origin-resource-policy","value":"cross-origin"},{"key":"origin-agent-cluster","value":"?1"},{"key":"referrer-policy","value":"no-referrer"},{"key":"strict-transport-security","value":"max-age=31536000; includeSubDomains"},{"key":"x-content-type-options","value":"nosniff"},{"key":"x-dns-prefetch-control","value":"off"},{"key":"x-download-options","value":"noopen"},{"key":"x-frame-options","value":"SAMEORIGIN"},{"key":"x-permitted-cross-domain-policies","value":"none"},{"key":"x-xss-protection","value":"0"},{"key":"access-control-allow-origin","value":"*"},{"key":"etag","value":"W/\"6f-4RwaDfcEiFHj95wB/aPw/5HGojg\""},{"key":"access-control-allow-methods","value":"GET,HEAD,PUT,PATCH,POST,DELETE"}],"cookie":[],"responseTime":null,"body":"{\n    \"data\": {\n        \"agenda\": {\n            \"id\": 91051,\n            \"subjectType\": 9,\n            \"agendaSubject\": \"TEST API\",\n            \"votings\": [\n                {\n                    \"id\": 40290,\n                    \"vote\": -1\n                }\n            ]\n        }\n    }\n}","createdAt":"2026-06-10T09:16:34.000Z","updatedAt":"2026-06-15T19:15:54.000Z","uid":"45758186-f27db20b-19ac-42b7-bc6e-5db758fc75b8"}],"createdAt":"2026-06-10T09:16:34.000Z","updatedAt":"2026-06-17T16:00:48.000Z","uid":"45758186-1ad4baa1-cf3a-4902-be88-2ddf25279832"},{"name":"Get Available Appointment Agendas","id":"0cce049e-1c08-4856-ad21-04a1f3edc97f","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"apikey","apikey":[{"key":"value","value":"{{token}}","type":"string"},{"key":"key","value":"x-jwt-token","type":"string"}]},"method":"POST","header":[],"body":{"mode":"graphql","graphql":{"query":"query Council($councilId: Int!){\r\n    council(id: $councilId){\r\n        agendas {\r\n            id\r\n            name\r\n            votings {\r\n                id\r\n                vote\r\n            }\r\n        }\r\n    }\r\n}","variables":"{\r\n    \"councilId\": 65167\r\n}"}},"url":{"raw":"{{domain}}/{{endpoint}}","host":["{{domain}}"],"path":["{{endpoint}}"]},"description":"# Get available appointment agendas (`query`)\n\nEsta operación permite obtener el desglose estructurado de todos los pasos (`agendas`) vinculados a una cita o gestión específica. Es el método idóneo para recuperar de forma masiva la configuración interactiva de una sesión junto con el histórico completo de respuestas (`votings`) recopiladas.\n\n### Detalles de la Solicitud\n\n- **Método HTTP:** `POST`\n    \n- **URL PRE:** `https://api.ovac.pre.councilbox.com/graphql`\n    \n- **URL PRO:** `https://api.ovac.pre.councilbox.com/graphql`\n    \n\n### Autenticación\n\n> **Tipo:** API Key**  \nHeader:** `x-jwt-token`  \n**Ubicación:** Header HTTP_  \nEjemplo:_ `x-jwt-token: eyJhbGciOiJIUzI1NiIsInR5cCI6...` \n  \n\n## Referencia de la API\n\n### Parámetros de entrada (variables)\n\n| Parámetro | Descripción | Requerido | Tipo |\n| --- | --- | --- | --- |\n| councilId | Identificador numérico único de la cita o gestión que se desea consultar. | SI | Int |\n\n### Campos de respuesta (Payload)\n\nLa consulta devuelve un árbol jerárquico bajo el campo raíz de datos `council`:\n\n| Parámetro | Descripción | Tipo |\n| --- | --- | --- |\n| council | Objeto contenedor con las propiedades de la cita localizada. | Object |\n| council.**agendas\\[\\]** | Array o lista que recopila cada uno de los pasos configurados para la cita/gestión. | Array |\n| council.agendas\\[\\].**id** | Identificador interno único del paso. | Integer |\n| council.agendas\\[\\].**name** | Descripción pública del paso dentro de la cita/gestión (ej. \"TEST API\"). | String |\n| council.agendas\\[\\].**votings\\[\\]** | Colección de registros con las interacciones y respuestas emitidas por los participantes. | Array |\n| council.agendas\\[\\].votings\\[\\].**id** | Identificador único del registro de la interacción. | Integer |\n| council.agendas\\[\\].votings\\[\\].**vote** | Código numérico que representa el sentido o estado de la respuesta.  <br>Para los pasos de tipo consentimiento de aceptación/rechazo:  <br>`-1` -> Sin respuesta  <br>`0` -> Rechazado  <br>`1` -> Aceptado | Integer |\n\n## Ejemplos de código y peticiones\n\n### 1\\. Consulta GraphQL\n\n``` graphql\nquery Council($councilId: Int!){\n    council(id: $councilId){\n        agendas {\n            id\n            name\n            votings {\n                id\n                vote\n            }\n        }\n    }\n}\n\n ```\n\n### 2\\. Variables de la Petición (JSON Payload)\n\n``` json\n{\n    \"councilId\": 65181\n}\n\n ```\n\n### 3\\. Ejemplo de comando cURL\n\n``` bash\ncurl --location 'https://api.ovac.pre.councilbox.com/graphql' \\\n--header 'Content-Type: application/json' \\\n--header 'x-jwt-token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJqdGkiOiJiNmQxOTY3ZS04MDY3LTRiMDUtYjQ0MS0zZmFhYWVlN2M3ZDUiLCJ1c2VyX2lkIjozNDc2LCJ0b2tlbl90eXBlIjoidXNlciIsImlhdCI6MTc4MTA3NjAyMH0.aXYLM7tX0xYjzi4m7gGNUlZ4Dj15cG-iIakmzGwhDTs' \\\n--data '{\"query\":\"query Council($councilId: Int!){ council(id: $councilId){ agendas { id name votings { id vote } } } }\",\"variables\":{\"councilId\":65167}}'\n\n ```\n\n### 4\\. Respuesta esperada (200 OK)\n\n``` json\n{\n    \"data\": {\n        \"council\": {\n            \"agendas\": [\n                {\n                    \"id\": 91079,\n                    \"name\": \"La dirección proporcionada es Calle Nueva, número 7 en Teo, A Coruña CP 15883\",\n                    \"votings\": [\n                        {\n                            \"id\": 40291,\n                            \"vote\": -1\n                        }\n                    ]\n                },\n                {\n                    \"id\": 91080,\n                    \"name\": \"Nueva dirección\",\n                    \"votings\": [\n                        {\n                            \"id\": 40292,\n                            \"vote\": 0\n                        }\n                    ]\n                },\n                {\n                    \"id\": 91081,\n                    \"name\": \"\",\n                    \"votings\": [\n                        {\n                            \"id\": 40293,\n                            \"vote\": 1\n                        }\n                    ]\n                }\n            ]\n        }\n    }\n}\n\n ```"},"response":[{"id":"8adb72e3-6158-4695-acf3-7d36e40f7f55","name":"Get Available Appointment Agendas","originalRequest":{"method":"POST","header":[],"body":{"mode":"graphql"},"url":{"raw":"{{domain}}/{{endpoint}}","host":["{{domain}}"],"path":["{{endpoint}}"]}},"status":"OK","code":200,"_postman_previewlanguage":"Text","header":[{"key":":status","value":200},{"key":"date","value":"Tue, 09 Jun 2026 13:38:38 GMT"},{"key":"content-type","value":"application/json; charset=utf-8"},{"key":"content-length","value":"101"},{"key":"content-security-policy","value":"default-src 'self';base-uri 'self';font-src 'self' https: data:;form-action 'self';frame-ancestors 'self';img-src 'self' data:;object-src 'none';script-src 'self';script-src-attr 'none';style-src 'self' https: 'unsafe-inline';upgrade-insecure-requests"},{"key":"cross-origin-opener-policy","value":"same-origin"},{"key":"cross-origin-resource-policy","value":"cross-origin"},{"key":"origin-agent-cluster","value":"?1"},{"key":"referrer-policy","value":"no-referrer"},{"key":"strict-transport-security","value":"max-age=31536000; includeSubDomains"},{"key":"x-content-type-options","value":"nosniff"},{"key":"x-dns-prefetch-control","value":"off"},{"key":"x-download-options","value":"noopen"},{"key":"x-frame-options","value":"SAMEORIGIN"},{"key":"x-permitted-cross-domain-policies","value":"none"},{"key":"x-xss-protection","value":"0"},{"key":"access-control-allow-origin","value":"*"},{"key":"etag","value":"W/\"65-1mGpjImiJNSHMx7s3SgAbZbZzqI\""},{"key":"access-control-allow-methods","value":"GET,HEAD,PUT,PATCH,POST,DELETE"}],"cookie":[],"responseTime":null,"body":"{\n    \"data\": {\n        \"council\": {\n            \"agendas\": [\n                {\n                    \"id\": 91051,\n                    \"name\": \"TEST API\",\n                    \"votings\": [\n                        {\n                            \"id\": 40290,\n                            \"vote\": -1\n                        }\n                    ]\n                }\n            ]\n        }\n    }\n}","createdAt":"2026-06-10T09:16:34.000Z","updatedAt":"2026-06-25T20:53:10.000Z","uid":"45758186-8adb72e3-6158-4695-acf3-7d36e40f7f55"}],"createdAt":"2026-06-10T09:16:34.000Z","updatedAt":"2026-06-25T20:53:06.000Z","uid":"45758186-0cce049e-1c08-4856-ad21-04a1f3edc97f"}],"id":"0024ab30-ae3d-44f3-b5b9-556b0cd6368e","description":"## EN\n\nThis folder contains read-oriented methods used to search appointments and retrieve appointment details. It includes appointment listings, detailed appointment information, and evidence summaries for both internal and external appointment flows.\n\n## ES\n\nEsta carpeta contiene métodos orientados a consulta para buscar citas y obtener información detallada de las mismas. Incluye listados de citas, información específica de una cita y resúmenes de evidencias, tanto para flujos internos como externos.","createdAt":"2026-06-10T17:16:54.000Z","updatedAt":"2026-06-16T07:26:47.000Z","uid":"45758186-0024ab30-ae3d-44f3-b5b9-556b0cd6368e"},{"name":"05 - Check Schedule Availability","item":[{"name":"Get Company Month Schedule","id":"770297b9-c76c-4a8b-addb-a5f304f841bf","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"noauth"},"method":"POST","header":[],"body":{"mode":"graphql","graphql":{"query":"query CompanyOVACSchedule (\r\n    $companyId: ID!,\r\n    $statuteId: ID,\r\n    $month: String!\r\n    $reservedMode: Boolean\r\n){\r\n    companyOVACSchedule(\r\n        companyId: $companyId,\r\n        statuteId: $statuteId,\r\n        month: $month,\r\n        reservedMode: $reservedMode\r\n    )\r\n}","variables":"{\r\n    \"companyId\": \"1234\",\r\n    \"statuteId\": \"\",\r\n    \"month\": \"05-2026\",\r\n    \"reservedMode\": false\r\n}"}},"url":{"raw":"{{domain}}/{{endpoint}}","host":["{{domain}}"],"path":["{{endpoint}}"]},"description":"# Company OVAC Schedule (`query`)\n\nEsta operación permite consultar la disponibilidad y el estado global de la agenda de una entidad para un mes específico. Devuelve una estructura mapeada e indexada por los días del mes, lo que facilita enormemente la representación visual de los días libres y ocupados en componentes de tipo calendario o selectores de fechas en el frontend.\n\n### Detalles de la Solicitud\n\n- **Método HTTP:** `POST`\n    \n- **URL PRE:** `https://api.ovac.pre.councilbox.com/graphql`\n    \n- **URL PRO:** `https://api.ovac.pre.councilbox.com/graphql`\n    \n\n### Autenticación\n\n> **Tipo:** API Key**  \nHeader:** `x-jwt-token`  \n**Ubicación:** Header HTTP_  \nEjemplo:_ `x-jwt-token: eyJhbGciOiJIUzI1NiIsInR5cCI6...` \n  \n\n## Referencia de la API\n\n### Parámetros de Entrada (Variables)\n\n| Parámetro | Descripción | Requerido | Tipo |\n| --- | --- | --- | --- |\n| companyId | Identificador único de la entidad en OVAC donde se busca la disponibilidad. | SI | Integer |\n| statuteId | Identificador interno en OVAC asociado al trámite específico. | NO | Integer |\n| month | Mes objeto de la consulta utilizando el formato estricto MM-AAAA (ej. 05-2026) | SI | String |\n| reservedMode | `true` -> Muestra/aísla los tramos reservados por profesionales.  <br>`false` -> Muestra el horario de atención al público habitual (Valor por defecto). | NO | Boolean |\n\n### Campos de Respuesta (Payload)\n\nLa consulta devuelve un objeto `companyOVACSchedule` con el desglose del almanaque y las reglas de negocio de las citas:\n\n| Parámetro | Descripción | Tipo |\n| --- | --- | --- |\n| companyOVACSchedule | Objeto contenedor con el resumen de disponibilidad mensual. | Object |\n| companyOVACSchedule.monthSchedule | Mapa dinámico donde cada clave representa el día del mes (\"1\", \"2\", ...) y su valor el estado de la agenda. | Object |\n| companyOVACSchedule.monthSchedule\\[día\\] | Estado del día: 0 (Sin agenda disponible), 1 (Huecos disponibles), 2 (Agenda completa). | Integer |\n| companyOVACSchedule.monthSchedule.timeStart | Hora de inicio general de la actividad de la agenda para el mes consultado. | Integer |\n| companyOVACSchedule.monthSchedule.timeEnd | Hora de finalización general de la actividad de la agenda. | Integer |\n| companyOVACSchedule.monthSchedule.appointmentDuration | Duración base de cada intervalo o hueco de cita expresada en minutos. | Integer |\n\n## Ejemplos de Código y Peticiones\n\n### 1\\. Consulta GraphQL\n\n``` graphql\nquery CompanyOVACSchedule (\n    $companyId: ID!,\n    $statuteId: ID,\n    $month: String!,\n    $reservedMode: Boolean\n){\n    companyOVACSchedule(\n        companyId: $companyId,\n        statuteId: $statuteId,\n        month: $month,\n        reservedMode: $reservedMode\n    )\n}\n\n ```\n\n### 2\\. Variables de la Petición (JSON Payload)\n\n``` json\n{\n    \"companyId\": \"2191\",\n    \"statuteId\": \"\",\n    \"month\": \"05-2026\",\n    \"reservedMode\": false\n}\n\n ```\n\n### 3\\. Ejemplo de comando cURL\n\n``` bash\ncurl --location \"https://api.ovac.pre.councilbox.com/graphql\" \\\n--header \"Content-Type: application/json\" \\\n--header \"x-jwt-token: {{token}}\" \\\n--data '{\"query\":\"query CompanyOVACSchedule ($companyId: ID!, $statuteId: ID, $month: String!, $reservedMode: Boolean){ companyOVACSchedule(companyId: $companyId, statuteId: $statuteId, month: $month, reservedMode: $reservedMode) }\",\"variables\":{\"companyId\":\"2191\",\"statuteId\":\"\",\"month\":\"05-2026\",\"reservedMode\":false}}'\n\n ```\n\n### 4\\. Respuesta Esperada (200 OK)\n\n``` json\n{\n    \"data\": {\n        \"companyOVACSchedule\": {\n            \"monthSchedule\": {\n                \"1\": 0,\n                \"2\": 0,\n                \"3\": 0,\n                \"4\": 0,\n                \"5\": 0,\n                \"6\": 0,\n                \"7\": 0,\n                \"8\": 0,\n                \"9\": 0,\n                \"10\": 0,\n                \"11\": 0,\n                \"12\": 0,\n                \"13\": 0,\n                \"14\": 0,\n                \"15\": 0,\n                \"16\": 0,\n                \"17\": 0,\n                \"18\": 1,\n                \"19\": 1,\n                \"20\": 1,\n                \"21\": 1,\n                \"22\": 1,\n                \"23\": 1,\n                \"24\": 1,\n                \"25\": 1,\n                \"26\": 1,\n                \"27\": 1,\n                \"28\": 1,\n                \"29\": 1,\n                \"30\": 1,\n                \"31\": 1\n            },\n            \"timeStart\": 8,\n            \"timeEnd\": 20,\n            \"appointmentDuration\": 30\n        }\n    }\n}\n\n ```\n\nEndFragment"},"response":[{"id":"8351f01b-7a4b-48dc-836a-576a5743033e","name":"Get Company Month Schedule","originalRequest":{"method":"POST","header":[],"body":{"mode":"graphql"},"url":{"raw":"{{domain}}/{{endpoint}}","host":["{{domain}}"],"path":["{{endpoint}}"]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":":status","value":200},{"key":"date","value":"Wed, 20 May 2026 16:33:45 GMT"},{"key":"content-type","value":"application/json; charset=utf-8"},{"key":"vary","value":"Accept-Encoding"},{"key":"content-security-policy","value":"default-src 'self';base-uri 'self';font-src 'self' https: data:;form-action 'self';frame-ancestors 'self';img-src 'self' data:;object-src 'none';script-src 'self';script-src-attr 'none';style-src 'self' https: 'unsafe-inline';upgrade-insecure-requests"},{"key":"cross-origin-opener-policy","value":"same-origin"},{"key":"cross-origin-resource-policy","value":"cross-origin"},{"key":"origin-agent-cluster","value":"?1"},{"key":"referrer-policy","value":"no-referrer"},{"key":"strict-transport-security","value":"max-age=31536000; includeSubDomains"},{"key":"x-content-type-options","value":"nosniff"},{"key":"x-dns-prefetch-control","value":"off"},{"key":"x-download-options","value":"noopen"},{"key":"x-frame-options","value":"SAMEORIGIN"},{"key":"x-permitted-cross-domain-policies","value":"none"},{"key":"x-xss-protection","value":"0"},{"key":"access-control-allow-origin","value":"*"},{"key":"etag","value":"W/\"139-n7oO1HjwZEdhcW9TukJINCGC3MA\""},{"key":"content-encoding","value":"gzip"},{"key":"access-control-allow-methods","value":"GET,HEAD,PUT,PATCH,POST,DELETE"}],"cookie":[],"responseTime":null,"body":"{\n    \"data\": {\n        \"companyOVACSchedule\": {\n            \"monthSchedule\": {\n                \"1\": 0,\n                \"2\": 0,\n                \"3\": 0,\n                \"4\": 0,\n                \"5\": 0,\n                \"6\": 0,\n                \"7\": 0,\n                \"8\": 0,\n                \"9\": 0,\n                \"10\": 0,\n                \"11\": 0,\n                \"12\": 0,\n                \"13\": 0,\n                \"14\": 0,\n                \"15\": 0,\n                \"16\": 0,\n                \"17\": 0,\n                \"18\": 0,\n                \"19\": 0,\n                \"20\": 1,\n                \"21\": 1,\n                \"22\": 1,\n                \"23\": 1,\n                \"24\": 1,\n                \"25\": 1,\n                \"26\": 1,\n                \"27\": 1,\n                \"28\": 1,\n                \"29\": 1,\n                \"30\": 1,\n                \"31\": 1\n            },\n            \"timeStart\": 8,\n            \"timeEnd\": 20,\n            \"appointmentDuration\": 30\n        }\n    }\n}","createdAt":"2026-05-22T09:43:29.000Z","updatedAt":"2026-06-15T19:09:41.000Z","uid":"45758186-8351f01b-7a4b-48dc-836a-576a5743033e"}],"createdAt":"2026-05-22T09:43:29.000Z","updatedAt":"2026-06-17T16:01:02.000Z","uid":"45758186-770297b9-c76c-4a8b-addb-a5f304f841bf"},{"name":"Get Day slots","id":"a2839a1a-912e-4479-99ab-d8fbcf69025f","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"noauth"},"method":"POST","header":[],"body":{"mode":"graphql","graphql":{"query":"query companyOVACDaySlots (\r\n    $companyId: ID!,\r\n    $statuteId: ID,\r\n    $date: String!\r\n    $reservedMode: Boolean\r\n){\r\n    companyOVACDaySlots(\r\n        companyId: $companyId,\r\n        statuteId: $statuteId,\r\n        date: $date,\r\n        reservedMode: $reservedMode\r\n    )\r\n}","variables":"{\r\n    \"companyId\": \"1234\",\r\n    \"statuteId\": \"\",\r\n    \"date\": \"2026-05-19T00:00:00.000Z\",\r\n    \"reservedMode\": false\r\n}"}},"url":{"raw":"{{domain}}/{{endpoint}}","host":["{{domain}}"],"path":["{{endpoint}}"]},"description":"# Company OVAC Day Slots (`query`)\n\nEsta operación permite obtener el desglose detallado de los tramos horarios (`slots`) disponibles para una fecha específica. El método cuenta con una regla de filtrado dinámico del pasado: si se consulta el día en curso, el backend omitirá automáticamente los intervalos anteriores y solo devolverá aquellos cuya hora sea posterior a la hora actual de la solicitud.\n\n### Detalles de la Solicitud\n\n- **Método HTTP:** `POST`\n    \n- **URL PRE:** `https://api.ovac.pre.councilbox.com/graphql`\n    \n- **URL PRO:** `https://api.ovac.pre.councilbox.com/graphql`\n    \n\n### Autenticación\n\n> **Tipo:** API Key**  \nHeader:** `x-jwt-token`  \n**Ubicación:** Header HTTP_  \nEjemplo:_ `x-jwt-token: eyJhbGciOiJIUzI1NiIsInR5cCI6...` \n  \n\n## Referencia de la API\n\n### Parámetros de Entrada (Variables)\n\n| Parámetro | Descripción | Requerido | Tipo |\n| --- | --- | --- | --- |\n| companyId | Identificador único de la entidad en OVAC donde se busca la disponibilidad. | SI | Integer |\n| statuteId | Identificador interno en OVAC asociado al trámite específico. | NO | Integer |\n| date | Fecha de consulta en formato UTC bajo el estándar ISO 8601 (YYYY-MM-DDTHH:mm:ss.sssZ). | SI | String |\n| reservedMode | `true` -> Muestra/aísla los tramos reservados por profesionales.  <br>`false` -> Muestra el horario de atención al público habitual (Valor por defecto). | NO | Boolean |\n\n### Campos de Respuesta (Payload)\n\nLa consulta devuelve un array directo de objetos con todos los tramos horarios calculados bajo el campo raíz `companyOVACDaySlots`:\n\n| Parámetro | Descripción | Tipo |\n| --- | --- | --- |\n| companyOVACDaySlots | Array con la colección de todos los slots horarios calculados para el día. | Array |\n| companyOVACDaySlots.**length** | Duración de cada intervalo o hueco de cita expresado en minutos. | Integer |\n| companyOVACDaySlots.**utcHour** | Hora de inicio del slot en formato UTC decimal (ej. 6.0 = 06:00, 6.5 = 06:30, 6.25 = 06:15). | Float |\n| companyOVACDaySlots.**date** | Fecha y hora específica de inicio del slot en formato ISO 8601 UTC. | String |\n| companyOVACDaySlots.**disabled** | Estado de bloqueo del slot. true: Deshabilitado (no se puede reservar); false: Habilitado. | Boolean |\n| companyOVACDaySlots.**availability** | Número de huecos netos que quedan libres actualmente en este tramo para agendar. | Integer |\n| companyOVACDaySlots.**assignedUsers** | Array con los identificadores numéricos de los agentes disponibles en este tramo. En alta concurrencia. | Array |\n| companyOVACDaySlots.**totalAvailability** | Capacidad máxima o concurrencia total de citas simultáneas configurada para el slot. | Integer |\n\n💡 **Nota Aclaratoria: Gestión de Agentes según el Tipo de Concurrencia**\n\nDependiendo de cómo esté parametrizada la agenda de la entidad o trámite en el backend, la API responderá con lógicas distintas para determinar la ocupación:\n\n- **Baja Concurrencia (****`assignedUsers`****):** No se realiza una asignación dinámica en tiempo real. El array `assignedUsers` expone los IDs de los usuarios/agentes que **ya se encuentran ocupados** con una cita en esa franja. Sirve para descartar de forma preventiva a dichos profesionales.\n    \n- **Alta Concurrencia (****`users`****):** Se computa la disponibilidad activa por agente en tiempo real. El método puede alternar o exponer un array de usuarios **completamente disponibles**. Este array se ordena automáticamente por carga de trabajo (desde el agente con menos citas hasta el que tiene más) para equilibrar el reparto.\n    \n\n## Ejemplos de Código y Peticiones\n\n### 1\\. Consulta GraphQL\n\n``` graphql\nquery CompanyOVACDaySlots (\n    $companyId: ID!,\n    $statuteId: ID,\n    $date: String!,\n    $reservedMode: Boolean\n){\n    companyOVACDaySlots(\n        companyId: $companyId,\n        statuteId: $statuteId,\n        date: $date,\n        reservedMode: $reservedMode\n    )\n}\n\n ```\n\n### 2\\. Variables de la Petición (JSON Payload)\n\n``` json\n{\n    \"companyId\": \"2191\",\n    \"statuteId\": \"\",\n    \"date\": \"2026-05-19T00:00:00.000Z\",\n    \"reservedMode\": false\n}\n\n ```\n\n### 3\\. Ejemplo de comando cURL\n\n``` bash\ncurl --location \"https://api.ovac.pre.councilbox.com/graphql\" \\\n--header \"Content-Type: application/json\" \\\n--header \"x-jwt-token: {{token}}\" \\\n--data '{\"query\":\"query companyOVACDaySlots ($companyId: ID!, $statuteId: ID, $date: String!, $reservedMode: Boolean){ companyOVACDaySlots(companyId: $companyId, statuteId: $statuteId, date: $date, reservedMode: $reservedMode) }\",\"variables\":{\"companyId\":\"2191\",\"statuteId\":\"\",\"date\":\"2026-05-19T00:00:00.000Z\",\"reservedMode\":false}}'\n\n ```\n\n### 4\\. Respuesta Esperada (200 OK)\n\n``` json\n{\n    \"data\": {\n        \"companyOVACDaySlots\": [\n            {\n                \"length\": 30,\n                \"utcHour\": 14.5,\n                \"date\": \"2026-05-19T14:30:00.000Z\",\n                \"disabled\": false,\n                \"availability\": 1,\n                \"assignedUsers\": [],\n                \"totalAvailability\": 1\n            },\n            {\n                \"length\": 30,\n                \"utcHour\": 15.0,\n                \"date\": \"2026-05-19T15:00:00.000Z\",\n                \"disabled\": true,\n                \"availability\": 0,\n                \"assignedUsers\": [],\n                \"totalAvailability\": 1\n            },\n            {\n                \"length\": 30,\n                \"utcHour\": 15.5,\n                \"date\": \"2026-05-19T15:30:00.000Z\",\n                \"disabled\": true,\n                \"availability\": 0,\n                \"assignedUsers\": [\n                    3477\n                ],\n                \"totalAvailability\": 1\n            },\n            {\n                \"length\": 30,\n                \"utcHour\": 16.0,\n                \"date\": \"2026-05-19T16:00:00.000Z\",\n                \"disabled\": false,\n                \"availability\": 1,\n                \"assignedUsers\": [],\n                \"totalAvailability\": 1\n            }\n        ]\n    }\n}\n\n ```"},"response":[{"id":"c5e1b2c9-5568-437d-8ba4-9c1e7263d06e","name":"Get Day slots","originalRequest":{"method":"POST","header":[],"body":{"mode":"graphql"},"url":{"raw":"{{domain}}/{{endpoint}}","host":["{{domain}}"],"path":["{{endpoint}}"]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":":status","value":200},{"key":"date","value":"Wed, 20 May 2026 16:34:14 GMT"},{"key":"content-type","value":"application/json; charset=utf-8"},{"key":"vary","value":"Accept-Encoding"},{"key":"content-security-policy","value":"default-src 'self';base-uri 'self';font-src 'self' https: data:;form-action 'self';frame-ancestors 'self';img-src 'self' data:;object-src 'none';script-src 'self';script-src-attr 'none';style-src 'self' https: 'unsafe-inline';upgrade-insecure-requests"},{"key":"cross-origin-opener-policy","value":"same-origin"},{"key":"cross-origin-resource-policy","value":"cross-origin"},{"key":"origin-agent-cluster","value":"?1"},{"key":"referrer-policy","value":"no-referrer"},{"key":"strict-transport-security","value":"max-age=31536000; includeSubDomains"},{"key":"x-content-type-options","value":"nosniff"},{"key":"x-dns-prefetch-control","value":"off"},{"key":"x-download-options","value":"noopen"},{"key":"x-frame-options","value":"SAMEORIGIN"},{"key":"x-permitted-cross-domain-policies","value":"none"},{"key":"x-xss-protection","value":"0"},{"key":"access-control-allow-origin","value":"*"},{"key":"etag","value":"W/\"cf3-7hwLETeOF7P339y2YyFwqLa/P2U\""},{"key":"content-encoding","value":"gzip"},{"key":"access-control-allow-methods","value":"GET,HEAD,PUT,PATCH,POST,DELETE"}],"cookie":[],"responseTime":null,"body":"{\n    \"data\": {\n        \"companyOVACDaySlots\": [\n            {\n                \"length\": 30,\n                \"utcHour\": 6,\n                \"date\": \"2026-05-30T06:00:00.000Z\",\n                \"disabled\": false,\n                \"availability\": 1,\n                \"assignedUsers\": [],\n                \"totalAvailability\": 1\n            },\n            {\n                \"length\": 30,\n                \"utcHour\": 6.5,\n                \"date\": \"2026-05-30T06:30:00.000Z\",\n                \"disabled\": false,\n                \"availability\": 1,\n                \"assignedUsers\": [],\n                \"totalAvailability\": 1\n            },\n            {\n                \"length\": 30,\n                \"utcHour\": 7,\n                \"date\": \"2026-05-30T07:00:00.000Z\",\n                \"disabled\": false,\n                \"availability\": 1,\n                \"assignedUsers\": [],\n                \"totalAvailability\": 1\n            },\n            {\n                \"length\": 30,\n                \"utcHour\": 7.5,\n                \"date\": \"2026-05-30T07:30:00.000Z\",\n                \"disabled\": false,\n                \"availability\": 1,\n                \"assignedUsers\": [],\n                \"totalAvailability\": 1\n            },\n            {\n                \"length\": 30,\n                \"utcHour\": 8,\n                \"date\": \"2026-05-30T08:00:00.000Z\",\n                \"disabled\": false,\n                \"availability\": 1,\n                \"assignedUsers\": [],\n                \"totalAvailability\": 1\n            },\n            {\n                \"length\": 30,\n                \"utcHour\": 8.5,\n                \"date\": \"2026-05-30T08:30:00.000Z\",\n                \"disabled\": false,\n                \"availability\": 1,\n                \"assignedUsers\": [],\n                \"totalAvailability\": 1\n            },\n            {\n                \"length\": 30,\n                \"utcHour\": 9,\n                \"date\": \"2026-05-30T09:00:00.000Z\",\n                \"disabled\": false,\n                \"availability\": 1,\n                \"assignedUsers\": [],\n                \"totalAvailability\": 1\n            },\n            {\n                \"length\": 30,\n                \"utcHour\": 9.5,\n                \"date\": \"2026-05-30T09:30:00.000Z\",\n                \"disabled\": false,\n                \"availability\": 1,\n                \"assignedUsers\": [],\n                \"totalAvailability\": 1\n            },\n            {\n                \"length\": 30,\n                \"utcHour\": 10,\n                \"date\": \"2026-05-30T10:00:00.000Z\",\n                \"disabled\": false,\n                \"availability\": 1,\n                \"assignedUsers\": [],\n                \"totalAvailability\": 1\n            },\n            {\n                \"length\": 30,\n                \"utcHour\": 10.5,\n                \"date\": \"2026-05-30T10:30:00.000Z\",\n                \"disabled\": false,\n                \"availability\": 1,\n                \"assignedUsers\": [],\n                \"totalAvailability\": 1\n            },\n            {\n                \"length\": 30,\n                \"utcHour\": 11,\n                \"date\": \"2026-05-30T11:00:00.000Z\",\n                \"disabled\": false,\n                \"availability\": 1,\n                \"assignedUsers\": [],\n                \"totalAvailability\": 1\n            },\n            {\n                \"length\": 30,\n                \"utcHour\": 11.5,\n                \"date\": \"2026-05-30T11:30:00.000Z\",\n                \"disabled\": false,\n                \"availability\": 1,\n                \"assignedUsers\": [],\n                \"totalAvailability\": 1\n            },\n            {\n                \"length\": 30,\n                \"utcHour\": 12,\n                \"date\": \"2026-05-30T12:00:00.000Z\",\n                \"disabled\": false,\n                \"availability\": 1,\n                \"assignedUsers\": [],\n                \"totalAvailability\": 1\n            },\n            {\n                \"length\": 30,\n                \"utcHour\": 12.5,\n                \"date\": \"2026-05-30T12:30:00.000Z\",\n                \"disabled\": false,\n                \"availability\": 1,\n                \"assignedUsers\": [],\n                \"totalAvailability\": 1\n            },\n            {\n                \"length\": 30,\n                \"utcHour\": 13,\n                \"date\": \"2026-05-30T13:00:00.000Z\",\n                \"disabled\": false,\n                \"availability\": 1,\n                \"assignedUsers\": [],\n                \"totalAvailability\": 1\n            },\n            {\n                \"length\": 30,\n                \"utcHour\": 13.5,\n                \"date\": \"2026-05-30T13:30:00.000Z\",\n                \"disabled\": false,\n                \"availability\": 1,\n                \"assignedUsers\": [],\n                \"totalAvailability\": 1\n            },\n            {\n                \"length\": 30,\n                \"utcHour\": 14,\n                \"date\": \"2026-05-30T14:00:00.000Z\",\n                \"disabled\": false,\n                \"availability\": 1,\n                \"assignedUsers\": [],\n                \"totalAvailability\": 1\n            },\n            {\n                \"length\": 30,\n                \"utcHour\": 14.5,\n                \"date\": \"2026-05-30T14:30:00.000Z\",\n                \"disabled\": false,\n                \"availability\": 1,\n                \"assignedUsers\": [],\n                \"totalAvailability\": 1\n            },\n            {\n                \"length\": 30,\n                \"utcHour\": 15,\n                \"date\": \"2026-05-30T15:00:00.000Z\",\n                \"disabled\": false,\n                \"availability\": 1,\n                \"assignedUsers\": [],\n                \"totalAvailability\": 1\n            },\n            {\n                \"length\": 30,\n                \"utcHour\": 15.5,\n                \"date\": \"2026-05-30T15:30:00.000Z\",\n                \"disabled\": false,\n                \"availability\": 1,\n                \"assignedUsers\": [],\n                \"totalAvailability\": 1\n            },\n            {\n                \"length\": 30,\n                \"utcHour\": 16,\n                \"date\": \"2026-05-30T16:00:00.000Z\",\n                \"disabled\": false,\n                \"availability\": 1,\n                \"assignedUsers\": [],\n                \"totalAvailability\": 1\n            },\n            {\n                \"length\": 30,\n                \"utcHour\": 16.5,\n                \"date\": \"2026-05-30T16:30:00.000Z\",\n                \"disabled\": false,\n                \"availability\": 1,\n                \"assignedUsers\": [],\n                \"totalAvailability\": 1\n            },\n            {\n                \"length\": 30,\n                \"utcHour\": 17,\n                \"date\": \"2026-05-30T17:00:00.000Z\",\n                \"disabled\": false,\n                \"availability\": 1,\n                \"assignedUsers\": [],\n                \"totalAvailability\": 1\n            },\n            {\n                \"length\": 30,\n                \"utcHour\": 17.5,\n                \"date\": \"2026-05-30T17:30:00.000Z\",\n                \"disabled\": false,\n                \"availability\": 1,\n                \"assignedUsers\": [],\n                \"totalAvailability\": 1\n            }\n        ]\n    }\n}","createdAt":"2026-05-22T09:43:29.000Z","updatedAt":"2026-06-15T19:09:46.000Z","uid":"45758186-c5e1b2c9-5568-437d-8ba4-9c1e7263d06e"}],"createdAt":"2026-05-22T09:43:29.000Z","updatedAt":"2026-06-17T16:01:09.000Z","uid":"45758186-a2839a1a-912e-4479-99ab-d8fbcf69025f"}],"id":"ed913668-e308-43d1-a225-786363abfa30","description":"## EN\n\nThis folder contains methods used to check appointment availability. It includes requests to retrieve monthly schedules and daily available time slots, allowing external systems or operators to select a valid date and time before creating or rescheduling an appointment.\n\n## ES\n\nEsta carpeta contiene métodos utilizados para consultar la disponibilidad de citas. Incluye peticiones para obtener la agenda mensual y las franjas horarias disponibles por día, permitiendo a sistemas externos u operadores seleccionar una fecha y hora válidas antes de crear o reprogramar una cita.","createdAt":"2026-06-10T16:50:59.000Z","updatedAt":"2026-06-15T19:14:38.000Z","uid":"45758186-ed913668-e308-43d1-a225-786363abfa30"}],"auth":{"type":"apikey","apikey":[{"key":"value","value":"{{token}}","type":"string"},{"key":"key","value":"x-jwt-token","type":"string"}]},"event":[{"listen":"prerequest","script":{"id":"6a5a2bae-276b-4905-babd-faef717d1ebb","type":"text/javascript","requests":{},"exec":[""]}},{"listen":"test","script":{"id":"ac38cfba-f764-4940-a671-3ab6d1ec253b","type":"text/javascript","requests":{},"exec":[""]}}],"variable":[{"key":"domain","value":"https://api.ovac.councilbox.com","disabled":true},{"key":"endpoint","value":"graphql"},{"key":"token","value":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJqdGkiOiJkNDcyNjExNS04YjY4LTRlODAtOGJhZi0wZGJhYmVkNjQ3NGMiLCJ1c2VyX2lkIjoyNDk5LCJ0b2tlbl90eXBlIjoidXNlciIsImlhdCI6MTc0MDM5MTI0NX0.dLaxSpCCGSikXRKpF7AOEyalQMMtvNrQwIEu-Io--H"},{"key":"user_email","value":""},{"key":"user_password","value":""}]}}