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

Create Appointment

|View as Markdown|Open in Claude|
POST
/graphql/createoneononecouncil
POST
/graphql/createoneononecouncil
$curl -X POST https://api.ovac.pre.councilbox.com/graphql/createoneononecouncil \
> -H "x-jwt-token: <apiKey>" \
> -H "Content-Type: application/json" \
> -d '{
> "query": "mutation createOneOnOneCouncil(\r\n $council: CouncilInput,\r\n $participant: ParticipantInput,\r\n $representation: ParticipantInput,\r\n $notifyCreation: Boolean,\r\n $checkAgenda: Boolean,\r\n ",
> "variables": {
> "council": {
> "name": "Consulta sobre subvenciones municipales",
> "companyId": 2191,
> "statuteId": 4685,
> "councilType": 5,
> "externalId": "SUBV20240519-001",
> "contactEmail": "soporte@ayuntamiento.es",
> "dateStart": "2026-05-19T15:00Z",
> "conveneText": "Se convoca a la reunión para tratar las subvenciones disponibles.",
> "observations": "El participante debe traer documentación acreditativa.",
> "internalNotes": "Revisar historial de solicitudes previas.",
> "language": "es",
> "comment": "Confirmar asistencia vía email.",
> "readOnly": 0,
> "tag": "ADMIN"
> },
> "participant": {
> "name": "María",
> "surname": "García López",
> "idCardType": "dni",
> "dni": "12345678Z",
> "idCardCountry": "ES",
> "email": "maria.garcia@example.com",
> "phone": "+34611222333",
> "language": "es",
> "zipcode": "28013"
> },
> "notifyCreation": true,
> "checkAgenda": true
> }
>}'
200Create Appointment
1{
2 "data": {
3 "createOneOnOneCouncil": {
4 "id": 64917,
5 "accessLink": "https://apitest.ovac.pre.councilbox.com/attendance/token/eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJjb3VuY2lsUGFydGljaXBhbnRJZCI6MjQ5MDE2LCJpZCI6MjQ5MDE2LCJpYXQiOjE3NzkzNjE2Njl9.facpLzBhYA-KmDt9j2zMA32g",
6 "creatorId": 3476
7 }
8 }
9}
# Create Appointment (`createOneOnOneCouncil`) Esta 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. ### Autenticación > **Tipo:** API Key **Header:** `x-jwt-token` **Ubicación:** Header HTTP_ Ejemplo:_ `x-jwt-token: eyJhbGciOiJIUzI1NiIsInR5cCI6...` ## Referencia de la API ### Variables Globales de Entrada | Parámetro | Descripción | Requerido | Tipo | | --- | --- | --- | --- | | $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 | | $checkAgenda | `true`: Valida la disponibilidad horaria del agente antes de insertar. <br>`false`: Omite la comprobación y fuerza la inserción. | SI | Boolean | | $council | Configuración técnica, fechas y taxonomía de la cita (Ver desglose abajo). | SI | Object | | $participant | Datos de identidad y contacto del participante (Ver desglose abajo). | SI | Object | | $representation | Datos del Representado. (Solo se rellena en flujos de representación legal). | NO | Object | ### Desglose del Objeto `council` (`CouncilInput`) | Parámetro | Descripción | Requerido | Tipo | | --- | --- | --- | --- | | name | Título o nombre asignado al trámite de la cita. | SI | String | | companyId | ID numérico interno de la entidad en la plataforma OVAC. | SI | Integer | | statuteId | ID numérico interno del trámite en la plataforma. | SI | Integer | | councilType | Canal de atención: <br>`5` (Videoatención) <br>`6` (Gestión desatendida) <br>`7` (Presencial). | SI | Integer | | dateStart | Fecha y hora programada en formato UTC bajo el estándar ISO 8601 (YYYY-MM-DDTHH:mmZ). | SI | String | | tag | Identificador de origen: "`ADMIN`" (gestores) <br>"`KIOSK`" (tótems) <br>"`INMEDIATE`" (urgente) <br>"`URGENT`" (huecos reservados). | SI | String | | readOnly | Restricción de edición: `0` (permite modificaciones desde el portal) <br>`1` (bloqueada, solo vía API). | SI | Integer | | 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 | | contactEmail | Correo electrónico de soporte o contacto de la entidad. Por defecto se usa el parametrizado en la entidad/organización. | NO | String | | externalId | Identificador propio o ID único de la cita en el sistema del cliente. | NO | String | | conveneText | Texto o cuerpo opcional para la convocatoria de la reunión. | NO | String | | observations | Comentarios u observaciones generales de la cita. | NO | String | | internalNotes | Notas internas dirigidas al agente (no son visibles por el ciudadano). | NO | String | | comment | Comentarios adicionales sobre el registro. | NO | String | ### Desglose del Objeto `participant` (`ParticipantInput`) | Parámetro | Descripción | Requerido | Tipo | | --- | --- | --- | --- | | name | Nombre de pila del participante. | SI | String | | surname | Apellidos completos del participante. | SI | Integer | | 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 | | dni | Número del documento de identidad o identificación fiscal. | SI | String | | idCardCountry | Código de país del documento en formato ISO 3166-1 alfa-2 (ej. "ES"). | SI | String | | email | Dirección de correo electrónico donde el ciudadano recibirá las notificaciones. | SI | String | | phone | Teléfono móvil de contacto con prefijo internacional (ej. "+34600000000"). | SI | String | | 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 | | zipcode | Código postal de residencia del participante. | NO | String | ### Campos de Respuesta (Payload) La respuesta exitosa devuelve el objeto `createOneOnOneCouncil` con los identificadores de acceso seguro: | Campo | Tipo | Descripción | | --- | --- | --- | | **`id`** | Array | Identificador interno único de la cita generada en la plataforma OVAC. | | **`accessLink`** | String | Enlace único de acceso directo (Tokenizado) para auditar, gestionar o iniciar la cita. | | **`creatorId`** | Integer | Identificador único del usuario o API Key que ha dado de alta la cita. | ## Ejemplos de Código y Peticiones ### 1\. Mutación GraphQL ``` graphql 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 } } ``` ### 2\. Variables de la Petición (JSON Payload) ``` json { "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 } ``` ### 3\. Ejemplo de comando cURL ``` bash curl --location --globoff 'https://api.ovac.pre.councilbox.com/graphql' \ --header 'Content-Type: application/json' \ --header 'x-jwt-token: {{token}}' \ --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}}' ``` ### 4\. Respuesta Esperada (200 OK) ``` json { "data": { "createOneOnOneCouncil": { "id": 64917, "accessLink": "https://apitest.ovac.pre.councilbox.com/attendance/token/eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJjb3VuY2lsUGFydGljaXBhbnRJZCI6MjQ5MDE2LCJpZCI6MjQ5MDE2LCJpYXQiOjE3NzkzNjE2Njl9.facpLzBhYA-KmDt9j2zMA32gMhyyBzUc47PNlSyFkaA", "creatorId": 3476 } } } ``` > **Nota OpenAPI/Fern:** esta operación GraphQL se documenta como `/graphql/createoneononecouncil` 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

Languages

Next

Create Appointment Representation

Built with

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

Autenticación

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

Referencia de la API

Variables Globales de Entrada

ParámetroDescripciónRequeridoTipo
$notifyCreationtrue: Envía una notificación automática de confirmación al ciudadano.
false: Registra la cita silenciosamente.
Por defecto: true
NOBoolean
$checkAgendatrue: Valida la disponibilidad horaria del agente antes de insertar.
false: Omite la comprobación y fuerza la inserción.
SIBoolean
$councilConfiguración técnica, fechas y taxonomía de la cita (Ver desglose abajo).SIObject
$participantDatos de identidad y contacto del participante (Ver desglose abajo).SIObject
$representationDatos del Representado. (Solo se rellena en flujos de representación legal).NOObject

Desglose del Objeto council (CouncilInput)

ParámetroDescripciónRequeridoTipo
nameTítulo o nombre asignado al trámite de la cita.SIString
companyIdID numérico interno de la entidad en la plataforma OVAC.SIInteger
statuteIdID numérico interno del trámite en la plataforma.SIInteger
councilTypeCanal de atención:
5 (Videoatención)
6 (Gestión desatendida)
7 (Presencial).
SIInteger
dateStartFecha y hora programada en formato UTC bajo el estándar ISO 8601 (YYYY-MM-DDTHH:mmZ).SIString
tagIdentificador de origen: “ADMIN” (gestores)
“KIOSK” (tótems)
“INMEDIATE” (urgente)
“URGENT” (huecos reservados).
SIString
readOnlyRestricción de edición: 0 (permite modificaciones desde el portal)
1 (bloqueada, solo vía API).
SIInteger
languageIdioma base en el que se configurará la cita(ej. “es”). Por defecto, se emplea el idioma configurado en la organización.
Consultar método ‘Languages’.
NOString
contactEmailCorreo electrónico de soporte o contacto de la entidad. Por defecto se usa el parametrizado en la entidad/organización.NOString
externalIdIdentificador propio o ID único de la cita en el sistema del cliente.NOString
conveneTextTexto o cuerpo opcional para la convocatoria de la reunión.NOString
observationsComentarios u observaciones generales de la cita.NOString
internalNotesNotas internas dirigidas al agente (no son visibles por el ciudadano).NOString
commentComentarios adicionales sobre el registro.NOString

Desglose del Objeto participant (ParticipantInput)

ParámetroDescripciónRequeridoTipo
nameNombre de pila del participante.SIString
surnameApellidos completos del participante.SIInteger
idCardTypeTipo 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)SIString
dniNúmero del documento de identidad o identificación fiscal.SIString
idCardCountryCódigo de país del documento en formato ISO 3166-1 alfa-2 (ej. “ES”).SIString
emailDirección de correo electrónico donde el ciudadano recibirá las notificaciones.SIString
phoneTeléfono móvil de contacto con prefijo internacional (ej. “+34600000000”).SIString
languageIdioma en el que el ciudadano visualizará la interfaz de OVAC (ej. “es”). Por defecto, se obtiene el de la entidad/ogranización.
Consultar método ‘Languages’.
NOString
zipcodeCódigo postal de residencia del participante.NOString

Campos de Respuesta (Payload)

La respuesta exitosa devuelve el objeto createOneOnOneCouncil con los identificadores de acceso seguro:

CampoTipoDescripción
idArrayIdentificador interno único de la cita generada en la plataforma OVAC.
accessLinkStringEnlace único de acceso directo (Tokenizado) para auditar, gestionar o iniciar la cita.
creatorIdIntegerIdentificador único del usuario o API Key que ha dado de alta la cita.

Ejemplos de Código y Peticiones

1. Mutación GraphQL

1mutation CreateOneOnOneCouncil(
2 $council: CouncilInput,
3 $participant: ParticipantInput,
4 $representation: ParticipantInput,
5 $notifyCreation: Boolean,
6 $checkAgenda: Boolean,
7 $guests: [ParticipantInput]
8) {
9 createOneOnOneCouncil(
10 council: $council,
11 participant: $participant,
12 representation: $representation,
13 notifyCreation: $notifyCreation,
14 checkAgenda: $checkAgenda,
15 guests: $guests
16 ) {
17 id
18 accessLink
19 creatorId
20 }
21}

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

1{
2 "council": {
3 "name": "test creación cita",
4 "companyId": 2191,
5 "statuteId": 4685,
6 "councilType": 5,
7 "externalId": "",
8 "contactEmail": "",
9 "dateStart": "2026-05-26T11:00Z",
10 "conveneText": "",
11 "observations": "Estas son observaciones",
12 "internalNotes": "Estas son notas internas",
13 "language": "gal",
14 "comment": "Opcional - Información visible mail de creación de cita",
15 "readOnly": 0,
16 "tag": "ADMIN"
17 },
18 "participant": {
19 "name": "Name of participant",
20 "surname": "Surname of participant",
21 "idCardType": "dni",
22 "dni": "11111111H",
23 "idCardCountry": "ES",
24 "email": "participant_email@domain.com",
25 "phone": "+34600000000",
26 "language": "gal",
27 "zipcode": "00000"
28 },
29 "notifyCreation": true,
30 "checkAgenda": true
31}

3. Ejemplo de comando cURL

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

4. Respuesta Esperada (200 OK)

1{
2 "data": {
3 "createOneOnOneCouncil": {
4 "id": 64917,
5 "accessLink": "https://apitest.ovac.pre.councilbox.com/attendance/token/eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJjb3VuY2lsUGFydGljaXBhbnRJZCI6MjQ5MDE2LCJpZCI6MjQ5MDE2LCJpYXQiOjE3NzkzNjE2Njl9.facpLzBhYA-KmDt9j2zMA32gMhyyBzUc47PNlSyFkaA",
6 "creatorId": 3476
7 }
8 }
9}

Nota OpenAPI/Fern: esta operación GraphQL se documenta como /graphql/createoneononecouncil 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.