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

Council Info

|View as Markdown|Open in Claude|
POST
/graphql/councilinfo
POST
/graphql/councilinfo
$curl -X POST https://api.ovac.pre.councilbox.com/graphql/councilinfo \
> -H "x-jwt-token: <apiKey>" \
> -H "Content-Type: application/json" \
> -d '{
> "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": {
> "councilId": 12345
> }
>}'
200Council Info
1{
2 "data": {
3 "council": {
4 "state": 60,
5 "councilType": 5,
6 "dateStart": "2026-04-21T08:00:47.339Z",
7 "dateRealStart": "2026-04-21T07:31:23.016Z",
8 "dateEnd": "2026-04-21T07:58:12.113Z",
9 "adminUrl": "https://apitest.ovac.pre.councilbox.com/company/2191/council/64706/",
10 "noCelebrateComment": "",
11 "observations": "Observaciones de la cita",
12 "internalNotes": "Notas internas del trámite",
13 "comment": null,
14 "assignedUser": {
15 "id": 3477,
16 "name": "API",
17 "surname": "PROFESIONAL",
18 "email": "alejandro.maneiro+apiprof@councilbox.com",
19 "externalId": "TEST001"
20 },
21 "participants": [
22 {
23 "name": "SOY EL PARTICIPANTE",
24 "surname": "TEST",
25 "email": "alejandro.maneiro+participante@councilbox.com",
26 "dni": "77777777B",
27 "idCardType": "dni",
28 "idCardCountry": "ES",
29 "zipcode": "12345"
30 }
31 ],
32 "statute": {
33 "id": 64888,
34 "title": "TEST",
35 "statuteId": 4685
36 },
37 "agendas": [
38 {
39 "id": 88522,
40 "name": "test",
41 "attachments": [],
42 "participants": []
43 },
44 {
45 "id": 88520,
46 "name": "Escaneo de documentación",
47 "attachments": [],
48 "participants": [
49 {
50 "type": "SCREEN_CAPTURE",
51 "agendaSignatoriesParticipantsAttachments": [
52 {
53 "id": 2664,
54 "filename": "Documento_identificativo.png",
55 "url": "https://api.ovac.pre.councilbox.com/file/eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6MTA0ODksImlhdCI6MTc3OTI5ODA0NX0.vals0aRTn7xkmUS-iiYUYHij4VfBoUhZB4ZSXi559rw"
56 }
57 ]
58 }
59 ]
60 },
61 {
62 "id": 88519,
63 "name": "PDF Interactivo",
64 "attachments": [
65 {
66 "user": {
67 "id": 3477,
68 "name": "API",
69 "surname": "PROFESIONAL"
70 },
71 "filename": "formulario_interactivo.pdf",
72 "downloadUrl": "https://api.ovac.pre.councilbox.com/agendaAttachment/42106",
73 "filesize": "3885"
74 }
75 ],
76 "participants": [
77 {
78 "type": "INTERACTIVE_DOCS",
79 "agendaSignatoriesParticipantsAttachments": [
80 {
81 "id": 2667,
82 "filename": "formulario_interactivo.pdf",
83 "url": "https://api.ovac.pre.councilbox.com/file/eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6MTA0OTMsImlhdCI6MTc3OTI5ODA0NX0.U8pXjbEThXGIpbXDSrhm1BK2vOnHT9drzsoCnFdxN7E"
84 },
85 {
86 "id": 2668,
87 "filename": "formulario_interactivo.pdf",
88 "url": "https://api.ovac.pre.councilbox.com/file/eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6MTA0OTQsImlhdCI6MTc3OTI5ODA0NX0.x294GOQ43r9EJ9h33gFvyAWDVQhgSXREj-7vEXWOLSM"
89 }
90 ]
91 }
92 ]
93 },
94 {
95 "id": 88524,
96 "name": "Consentimiento expreso",
97 "attachments": [],
98 "participants": []
99 },
100 {
101 "id": 88523,
102 "name": "Firma de documentación",
103 "attachments": [
104 {
105 "user": {
106 "id": 3477,
107 "name": "API",
108 "surname": "PROFESIONAL"
109 },
110 "filename": "Test.pdf",
111 "downloadUrl": "https://api.ovac.pre.councilbox.com/agendaAttachment/42107",
112 "filesize": "29909"
113 }
114 ],
115 "participants": [
116 {
117 "type": "SIGNATURE",
118 "agendaSignatoriesParticipantsAttachments": []
119 }
120 ]
121 },
122 {
123 "id": 88521,
124 "name": "Respuestas múltipes",
125 "attachments": [],
126 "participants": []
127 },
128 {
129 "id": 88525,
130 "name": "Formulario",
131 "attachments": [],
132 "participants": []
133 }
134 ]
135 }
136 }
137}
# Council Info (`query`) Este 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). ### Autenticación > **Tipo:** API Key** Header:** `x-jwt-token` **Ubicación:** Header HTTP_ Ejemplo:_ `x-jwt-token: eyJhbGciOiJIUzI1NiIsInR5cCI6...` ## Referencia de la API ### Parámetros de Entrada (Variables) | Parámetro | Descripción | Requerido | Tipo | | --- | --- | --- | --- | | councilId | Identificador numérico único de la cita en la plataforma. | SI | Integer | ### Campos de Respuesta (Payload) #### 1\. Datos Generales de la Cita (`council`) | Parámetro | Descripción | Tipo | | --- | --- | --- | | data | Objeto del conjunto de datos | Object | | data.council | Objeto del la cita | Object | | 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 | | data.council.councilType | Tipo de cita, puede tomar los siguientes valores: <br>\- `5` -> Videoatención <br>\- `6` -> Gestión <br>\- `7` -> Presencial | Integer | | data.council.dateStart | Fecha de la cita en UTC | String | | data.council.dateRealStart | Fecha en la que se ha iniciado la cita en UTC | String | | data.council.dateEnd | Fecha de fin de la cita en UTC | String | | data.council.adminUrl | Enlace de acceso del administrador | String | | 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 | | 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 | | data.council.internalNotes | Notas internas añadidas por el usuarios, no visibles por el participante | String | | data.council.comment | Comentario, usado en citas anteriores a OVAC 7.0 <br>\-obsoleto- | String | | data.council.assignedUser | Objeto de usuario asignado | Object | | data.council.assignedUser.id | Identificador del usuario asignado | Integer | | data.council.assignedUser.name | Nombre del usuario asignado | String | | data.council.assignedUser.surname | Apellidos del usuario asignado | String | | data.council.assignedUser.email | Email del usuario asignado para la recepción de notificaciones | String | | data.council.assignedUser.externalId | Identificador externo del usuario asignado a la cita | String | | data.council.participants | Conjunto de participantes | Array | | data.council.participants\[\].name | Nombre del participante | String | | data.council.participants\[\].surname | Apellidos del participante | String | | data.council.participants\[\].email | Email para envío de notificación, en base al método de notificación solicitado. | String | | data.council.participants\[\].dni | Número de identificación del participante | String | | 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 | | data.council.participants\[\].idCardCountry | Código de país bajo ISO 3166-1 alfa-2 | String | | data.council.participants\[\].zipcode | Código postal | String | | data.council.statute | Objeto del trámite realizado | Object | | data.council.statute.id | Identificador del trámite | Integer | | data.council.statute.title | Nombre del trámite | String | | data.council.statute.statuteId | Identificador único del trámite | Integer | | data.council.agendas | Conjunto de datos correspondientes a los puntos de la cita | Array | | data.council.agendas\[\].id | Identificador único | Integer | | data.council.agendas\[\].name | Nombre el punto | String | | data.council.agendas\[\].attachments | Conjunto de adjuntos | Array | | 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 | | data.council.agendas\[\].attachments\[\].user.id | Identificador único del usuario | Integer | | data.council.agendas\[\].attachments\[\].user.name | Nombre del usuario | String | | data.council.agendas\[\].attachments\[\].user.surname | Apellidos del usuario | String | | data.council.agendas\[\].attachments\[\].filename | Nombre del documento adjunto y extenión | String | | data.council.agendas\[\].attachments\[\].downloadUrl | Enlace de acceso al documento | String | | data.council.agendas\[\].attachments\[\].filesize | Tamaño del documento en bytes | String | | data.council.agendas\[\].participants | Conjunto de participantes que realizan el punto abierto | Array | | 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 | | data.council.agendas\[\].participants\[\].agendaSignatoriesParticipantsAttachments | Información sobre el punto | Array | | data.council.agendas\[\].participants\[\].agendaSignatoriesParticipantsAttachments\[\].id | Identificador único | Integer | | data.council.agendas\[\].participants\[\].agendaSignatoriesParticipantsAttachments\[\].filename | Nombre del documento | String | | data.council.agendas\[\].participants\[\].agendaSignatoriesParticipantsAttachments\[\].url | Enlace de acceso al binario | String | #### 2\. Bloques de Objetos Anidados ##### Objeto `assignedUser` (Agente Asignado) Contiene la información del profesional que gestiona o atenderá la cita. - **`id`** (`Int`): ID interno del usuario. - **`name`** / **`surname`** (`String`): Nombre y apellidos del agente. - **`email`** (`String`): Correo corporativo del agente. - **`externalId`** (`String`): Identificador del agente en los sistemas del cliente. ##### Array `participants` (Ciudadanos Convocados) Listado con los datos identificativos del ciudadano o ciudadanos que asisten. - **`name`** / **`surname`** (`String`): Nombre y apellidos del participante. - **`email`** (`String`): Destino de las notificaciones. - **`dni`** (`String`): Documento de identidad. - **`idCardType`** (`String`): Tipo de documento (`"dni"`, `"nie"`, `"nif"`, `"passport"`, `"codiceFiscale"`, `"europeanDocument"`). - **`idCardCountry`** (`String`): Código del país emisor (ISO 3166-1 alfa-2). ##### Objeto `statute` (Trámite / Procedimiento) Taxonomía del trámite asociado a la cita. - **`id`** (`Int`): ID de la instancia del trámite. - **`title`** (`String`): Nombre comercial o técnico del trámite (ej. "TEST"). - **`statuteId`** (`Int`): Identificador maestro del procedimiento dentro de la organización. ##### Array `agendas` (Puntos de Control y Flujo de Trabajo) Desglose secuencial de los puntos y acciones que componen la atención. - **`id`** (`Int`): ID único del punto del orden del día/trámite. - **`name`** (`String`): Título identificativo del paso (ej. "Escaneo de documentación"). - **`attachments`** (`Array`): Documentos aportados al punto _por el profesional_. Si fue subido por el ciudadano, este objeto se devuelve vacío. Contiene: - `user` (`Object`): Datos del profesional que lo adjuntó (`id`, `name`, `surname`). - `filename` (`String`): Nombre y extensión del archivo. - `downloadUrl` (`String`): Enlace directo de descarga. - `filesize` (`String`): Tamaño del archivo en bytes. - **`participants`** (`Array`): Tareas e interacciones ejecutadas por los participantes en este punto: - `type` (`String`): Tipo de acción realizada (`SIGNATURE` \[Firma\], `BIOMETRIC` \[Biometría\], `INTERACTIVE_DOCS` \[Formulario PDF\], `SCREEN_CAPTURE` \[Captura/Escáner de documento\]). - `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. ## Ejemplos de Código y Peticiones ### 1\. Consulta GraphQL ``` graphql 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 } } } } } ``` ### 2\. Variables de la Petición (JSON Payload) ``` json { "councilId": 64706 } ``` ### 3\. Ejemplo de comando cURL ``` bash curl --location 'https://api.ovac.pre.councilbox.com/graphql' \ --header 'Content-Type: application/json' \ --header 'x-jwt-token: {{token}}' \ --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}}' ``` ### 4\. Respuesta Esperada (200 OK) ``` json { "data": { "council": { "state": 60, "councilType": 5, "dateStart": "2026-04-21T08:00:47.339Z", "dateRealStart": "2026-04-21T07:31:23.016Z", "dateEnd": "2026-04-21T07:58:12.113Z", "adminUrl": "https://apitest.ovac.pre.councilbox.com/company/2191/council/64706/", "noCelebrateComment": "", "observations": "Observaciones de la cita", "internalNotes": "Notas internas del trámite", "comment": null, "assignedUser": { "id": 3477, "name": "API", "surname": "PROFESIONAL", "email": "alejandro.maneiro+apiprof@councilbox.com", "externalId": null }, "participants": [ { "name": "SOY EL PARTICIPANTE", "surname": "TEST", "email": "alejandro.maneiro+participante@councilbox.com", "dni": "77777777B", "idCardType": "dni", "idCardCountry": "ES" } ], "statute": { "id": 64888, "title": "TEST", "statuteId": 4685 }, "agendas": [ { "id": 88520, "name": "Escaneo de documentación", "attachments": [], "participants": [ { "type": "SCREEN_CAPTURE", "agendaSignatoriesParticipantsAttachments": [ { "id": 2664, "filename": "Documento_identificativo.png", "url": "https://api.ovac.pre.councilbox.com/file/eyJhbGciOiJIUzI1NiIsInR5cCI6... " } ] } ] }, { "id": 88519, "name": "PDF Interactivo", "attachments": [ { "user": { "id": 3477, "name": "API", "surname": "PROFESIONAL" }, "filename": "formulario_interactivo.pdf", "downloadUrl": "https://api.ovac.pre.councilbox.com/agendaAttachment/42106", "filesize": "3885" } ], "participants": [ { "type": "INTERACTIVE_DOCS", "agendaSignatoriesParticipantsAttachments": [ { "id": 2667, "filename": "formulario_interactivo.pdf", "url": "https://api.ovac.pre.councilbox.com/file/eyJhbGciOiJIUzI1... " } ] } ] } ] } } } ``` > **Nota OpenAPI/Fern:** esta operación GraphQL se documenta como `/graphql/councilinfo` para que Fern pueda mostrarla como operación independiente. La ruta técnica real de ejecución es `POST /graphql`.
Was this page helpful?
Previous

Council evidence summary

Next

Councils

Built with

Este 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).

Autenticación

Tipo: API Key**
Header:** x-jwt-token
Ubicación: Header HTTP_
Ejemplo:_ x-jwt-token: eyJhbGciOiJIUzI1NiIsInR5cCI6...

Referencia de la API

Parámetros de Entrada (Variables)

ParámetroDescripciónRequeridoTipo
councilIdIdentificador numérico único de la cita en la plataforma.SIInteger

Campos de Respuesta (Payload)

1. Datos Generales de la Cita (council)

ParámetroDescripciónTipo
dataObjeto del conjunto de datosObject
data.councilObjeto del la citaObject
data.council.stateEstado de la cita:
- ‘-1’: Cancelada
- 10: Confirmada
- 20: Sala abierta
- 25: Pausada
- 40: Finalizada
- 45: Procesando informe
- 60: Completa
- 65: Incompleta (no se ha realizado un paso requerido dentro del trámite propuesto)
Integer
data.council.councilTypeTipo de cita, puede tomar los siguientes valores:
- 5 -> Videoatención
- 6 -> Gestión
- 7 -> Presencial
Integer
data.council.dateStartFecha de la cita en UTCString
data.council.dateRealStartFecha en la que se ha iniciado la cita en UTCString
data.council.dateEndFecha de fin de la cita en UTCString
data.council.adminUrlEnlace de acceso del administradorString
data.council.noCelebrateCommentPuede tomar estos valores:
‘unavailable’ -> No disponible
‘not_interested’ -> No interesado
‘procedure_already_completed’ -> Proceso ya realizado
‘incorrect_data’ -> Datos incorrectos
‘difficult_access’ -> Problemas en el acceso
‘incompatible_browser’ -> Navegador incompatible
‘others’ -> Otro motivo
String
data.council.observationsSe 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 citaString
data.council.internalNotesNotas internas añadidas por el usuarios, no visibles por el participanteString
data.council.commentComentario, usado en citas anteriores a OVAC 7.0
-obsoleto-
String
data.council.assignedUserObjeto de usuario asignadoObject
data.council.assignedUser.idIdentificador del usuario asignadoInteger
data.council.assignedUser.nameNombre del usuario asignadoString
data.council.assignedUser.surnameApellidos del usuario asignadoString
data.council.assignedUser.emailEmail del usuario asignado para la recepción de notificacionesString
data.council.assignedUser.externalIdIdentificador externo del usuario asignado a la citaString
data.council.participantsConjunto de participantesArray
data.council.participants[].nameNombre del participanteString
data.council.participants[].surnameApellidos del participanteString
data.council.participants[].emailEmail para envío de notificación, en base al método de notificación solicitado.String
data.council.participants[].dniNúmero de identificación del participanteString
data.council.participants[].idCardTypeTipo de documento:
cif: Documento para empresas de España.
codiceFiscale: Documento de Italia.
dni: Documento de España.
europeanDocument: Documentos identificativos de europa.
nie: Documento extrajeros España
passport: Pasaporte
String
data.council.participants[].idCardCountryCódigo de país bajo ISO 3166-1 alfa-2String
data.council.participants[].zipcodeCódigo postalString
data.council.statuteObjeto del trámite realizadoObject
data.council.statute.idIdentificador del trámiteInteger
data.council.statute.titleNombre del trámiteString
data.council.statute.statuteIdIdentificador único del trámiteInteger
data.council.agendasConjunto de datos correspondientes a los puntos de la citaArray
data.council.agendas[].idIdentificador únicoInteger
data.council.agendas[].nameNombre el puntoString
data.council.agendas[].attachmentsConjunto de adjuntosArray
data.council.agendas[].attachments[].userObjeto 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
data.council.agendas[].attachments[].user.idIdentificador único del usuarioInteger
data.council.agendas[].attachments[].user.nameNombre del usuarioString
data.council.agendas[].attachments[].user.surnameApellidos del usuarioString
data.council.agendas[].attachments[].filenameNombre del documento adjunto y exteniónString
data.council.agendas[].attachments[].downloadUrlEnlace de acceso al documentoString
data.council.agendas[].attachments[].filesizeTamaño del documento en bytesString
data.council.agendas[].participantsConjunto de participantes que realizan el punto abiertoArray
data.council.agendas[].participants[].typeIdentifica el tipo de paso iniciado, puede tomar los siguietnes valores:
SIGNATURE -> Punto de firma.
BIOMETRIC -> Punto de biometría.
INTERACTIVE_DOCS -> PDFs interactivos.
SCREEN_CAPTURE -> Escáner de documentación.
String
data.council.agendas[].participants[].agendaSignatoriesParticipantsAttachmentsInformación sobre el puntoArray
data.council.agendas[].participants[].agendaSignatoriesParticipantsAttachments[].idIdentificador únicoInteger
data.council.agendas[].participants[].agendaSignatoriesParticipantsAttachments[].filenameNombre del documentoString
data.council.agendas[].participants[].agendaSignatoriesParticipantsAttachments[].urlEnlace de acceso al binarioString

2. Bloques de Objetos Anidados

Objeto assignedUser (Agente Asignado)

Contiene la información del profesional que gestiona o atenderá la cita.

  • id (Int): ID interno del usuario.

  • name / surname (String): Nombre y apellidos del agente.

  • email (String): Correo corporativo del agente.

  • externalId (String): Identificador del agente en los sistemas del cliente.

Array participants (Ciudadanos Convocados)

Listado con los datos identificativos del ciudadano o ciudadanos que asisten.

  • name / surname (String): Nombre y apellidos del participante.

  • email (String): Destino de las notificaciones.

  • dni (String): Documento de identidad.

  • idCardType (String): Tipo de documento ("dni", "nie", "nif", "passport", "codiceFiscale", "europeanDocument").

  • idCardCountry (String): Código del país emisor (ISO 3166-1 alfa-2).

Objeto statute (Trámite / Procedimiento)

Taxonomía del trámite asociado a la cita.

  • id (Int): ID de la instancia del trámite.

  • title (String): Nombre comercial o técnico del trámite (ej. “TEST”).

  • statuteId (Int): Identificador maestro del procedimiento dentro de la organización.

Array agendas (Puntos de Control y Flujo de Trabajo)

Desglose secuencial de los puntos y acciones que componen la atención.

  • id (Int): ID único del punto del orden del día/trámite.

  • name (String): Título identificativo del paso (ej. “Escaneo de documentación”).

  • attachments (Array): Documentos aportados al punto por el profesional. Si fue subido por el ciudadano, este objeto se devuelve vacío. Contiene:

    • user (Object): Datos del profesional que lo adjuntó (id, name, surname).

    • filename (String): Nombre y extensión del archivo.

    • downloadUrl (String): Enlace directo de descarga.

    • filesize (String): Tamaño del archivo en bytes.

  • participants (Array): Tareas e interacciones ejecutadas por los participantes en este punto:

    • type (String): Tipo de acción realizada (SIGNATURE [Firma], BIOMETRIC [Biometría], INTERACTIVE_DOCS [Formulario PDF], SCREEN_CAPTURE [Captura/Escáner de documento]).

    • 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.

Ejemplos de Código y Peticiones

1. Consulta GraphQL

1query CouncilInfo($councilId: Int!) {
2 council(id: $councilId) {
3 state
4 councilType
5 dateStart
6 dateRealStart
7 dateEnd
8 adminUrl
9 noCelebrateComment
10 observations
11 internalNotes
12 comment
13 assignedUser {
14 id
15 name
16 surname
17 email
18 externalId
19 }
20 participants {
21 name
22 surname
23 email
24 dni
25 idCardType
26 idCardCountry
27 }
28 statute {
29 id
30 title
31 statuteId
32 }
33 agendas {
34 id
35 name
36 attachments {
37 user {
38 id
39 name
40 surname
41 }
42 filename
43 downloadUrl
44 filesize
45 }
46 participants {
47 type
48 agendaSignatoriesParticipantsAttachments {
49 id
50 filename
51 url
52 }
53 }
54 }
55 }
56}

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

1{
2 "councilId": 64706
3}

3. Ejemplo de comando cURL

$curl --location 'https://api.ovac.pre.councilbox.com/graphql' \
>--header 'Content-Type: application/json' \
>--header 'x-jwt-token: {{token}}' \
>--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}}'

4. Respuesta Esperada (200 OK)

1{
2 "data": {
3 "council": {
4 "state": 60,
5 "councilType": 5,
6 "dateStart": "2026-04-21T08:00:47.339Z",
7 "dateRealStart": "2026-04-21T07:31:23.016Z",
8 "dateEnd": "2026-04-21T07:58:12.113Z",
9 "adminUrl": "https://apitest.ovac.pre.councilbox.com/company/2191/council/64706/",
10 "noCelebrateComment": "",
11 "observations": "Observaciones de la cita",
12 "internalNotes": "Notas internas del trámite",
13 "comment": null,
14 "assignedUser": {
15 "id": 3477,
16 "name": "API",
17 "surname": "PROFESIONAL",
18 "email": "alejandro.maneiro+apiprof@councilbox.com",
19 "externalId": null
20 },
21 "participants": [
22 {
23 "name": "SOY EL PARTICIPANTE",
24 "surname": "TEST",
25 "email": "alejandro.maneiro+participante@councilbox.com",
26 "dni": "77777777B",
27 "idCardType": "dni",
28 "idCardCountry": "ES"
29 }
30 ],
31 "statute": {
32 "id": 64888,
33 "title": "TEST",
34 "statuteId": 4685
35 },
36 "agendas": [
37 {
38 "id": 88520,
39 "name": "Escaneo de documentación",
40 "attachments": [],
41 "participants": [
42 {
43 "type": "SCREEN_CAPTURE",
44 "agendaSignatoriesParticipantsAttachments": [
45 {
46 "id": 2664,
47 "filename": "Documento_identificativo.png",
48 "url": "https://api.ovac.pre.councilbox.com/file/eyJhbGciOiJIUzI1NiIsInR5cCI6... "
49 }
50 ]
51 }
52 ]
53 },
54 {
55 "id": 88519,
56 "name": "PDF Interactivo",
57 "attachments": [
58 {
59 "user": {
60 "id": 3477,
61 "name": "API",
62 "surname": "PROFESIONAL"
63 },
64 "filename": "formulario_interactivo.pdf",
65 "downloadUrl": "https://api.ovac.pre.councilbox.com/agendaAttachment/42106",
66 "filesize": "3885"
67 }
68 ],
69 "participants": [
70 {
71 "type": "INTERACTIVE_DOCS",
72 "agendaSignatoriesParticipantsAttachments": [
73 {
74 "id": 2667,
75 "filename": "formulario_interactivo.pdf",
76 "url": "https://api.ovac.pre.councilbox.com/file/eyJhbGciOiJIUzI1... "
77 }
78 ]
79 }
80 ]
81 }
82 ]
83 }
84 }
85}

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

Authentication

x-jwt-tokenstring
JWT token obtained from Login.

Request

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

Response

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