> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://docs.ovac.councilbox.com/llms.txt.
> For full documentation content, see https://docs.ovac.councilbox.com/llms-full.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://docs.ovac.councilbox.com/_mcp/server.

# Create Appointment Representation Guests_External

POST https://api.ovac.pre.councilbox.com/graphql/createoneononecouncil-6
Content-Type: application/json

# Create Appointment with Guest Representation (External ID Variant) (`createOneOnOneCouncil` - Advanced)

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

### Autenticación

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

## Mapeo de Roles (`type`)

En 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:

- **`0`** → Participante sencillo
    
- **`1`** → Invitado
    
- **`2`** → Representante
    
- **`3`** → Representado
    

## 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 |
| $guests | Lista de participantes invitados adicionales (\[ParticipantInput\]). | NO | Array |

### 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 |
| companyExternalId | ID externo de la entidad. No es necesario si se envía companyId. | SI | Integer |
| statuteExternalId | ID externo del trámite. No es necesario si se envía statuteId. | 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` - Principal)

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

### Desglose de Objetos dentro del Array `guests` (`[ParticipantInput]`)

Cada 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:

| 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 |
| type | `0` → Participante sencillo  <br>`1` → Invitado  <br>`2` → Representante  <br>`3` -> Representado | SI | Integer |
| 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 |
| representedParticipant | Subbloque opcional. Contiene los datos de la persona física o jurídica a la que el invitado representa. | NO | Object |

### Desglose del objeto `guests` (`[representedParticipant]`)

| 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 |
| type | `0` → Participante sencillo  <br>`1` → Invitado  <br>`2` → Representante  <br>`3` -> Representado | SI | Integer |
| 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)

| Parámetro | Descripción | Tipo |
| --- | --- | --- |
| createOneOnOneCouncil | Objeto raíz con los datos de la cita generada. | Object |
| createOneOnOneCouncil.**id** | Identificador, interno de OVAC, único de la cita generada. | Integer |
| createOneOnOneCouncil.**accessLink** | Enlace único de acceso directo para auditar la cita. | String |
| createOneOnOneCouncil.**creatorId** | Identificador, interno de OVAC, único del usuario que ha creado la cita. | Integer |

## 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": "Prueba de nombre",
        "companyExternalId": "API_TEST",
        "statuteExternalId": "TRAMITE_TEST",
        "councilType": 5,
        "externalId": "0000_test",
        "contactEmail": "",
        "dateStart": "2026-05-23T09:30:00Z",
        "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
}

 ```

### 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-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":"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}}'

 ```

### 4\. Respuesta Esperada (200 OK)

``` json
{
    "data": {
        "createOneOnOneCouncil": {
            "id": 64919,
            "accessLink": "https://apitest.ovac.pre.councilbox.com/attendance/token/eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJjb3VuY2lsUGFydGljaXBhbnRJZCI6MjQ5MDE5LCJpZCI6MjQ5MDE5LCJpYXQiOjE3NzkzNjQ0MTZ9.AeUze049RfMUrY3SzgcAF9O7dfCrylpGPf1kpFK2FLU",
            "creatorId": 3476
        }
    }
}

 ```

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


Reference: https://docs.ovac.councilbox.com/metodos-api/ovac/create-one-on-one-council-6

## OpenAPI Specification

```yaml
openapi: 3.1.0
info:
  title: ovac
  version: 1.0.0
paths:
  /graphql/createoneononecouncil-6:
    post:
      operationId: create-one-on-one-council-6
      summary: Create Appointment Representation Guests_External
      description: >
        # Create Appointment with Guest Representation (External ID Variant)
        (`createOneOnOneCouncil` - Advanced)


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


        ### Autenticación


        > **Tipo:** API Key**  

        Header:** `x-jwt-token`  

        **Ubicación:** Header HTTP_  

        Ejemplo:_ `x-jwt-token: eyJhbGciOiJIUzI1NiIsInR5cCI6...` 
          

        ## Mapeo de Roles (`type`)


        En 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:


        - **`0`** → Participante sencillo
            
        - **`1`** → Invitado
            
        - **`2`** → Representante
            
        - **`3`** → Representado
            

        ## 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 |

        | $guests | Lista de participantes invitados adicionales
        (\[ParticipantInput\]). | NO | Array |


        ### 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 |

        | companyExternalId | ID externo de la entidad. No es necesario si se
        envía companyId. | SI | Integer |

        | statuteExternalId | ID externo del trámite. No es necesario si se
        envía statuteId. | 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` - Principal)


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


        ### Desglose de Objetos dentro del Array `guests` (`[ParticipantInput]`)


        Cada 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:


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

        | type | `0` → Participante sencillo  <br>`1` → Invitado  <br>`2` →
        Representante  <br>`3` -> Representado | SI | Integer |

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

        | representedParticipant | Subbloque opcional. Contiene los datos de la
        persona física o jurídica a la que el invitado representa. | NO | Object
        |


        ### Desglose del objeto `guests` (`[representedParticipant]`)


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

        | type | `0` → Participante sencillo  <br>`1` → Invitado  <br>`2` →
        Representante  <br>`3` -> Representado | SI | Integer |

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


        | Parámetro | Descripción | Tipo |

        | --- | --- | --- |

        | createOneOnOneCouncil | Objeto raíz con los datos de la cita generada.
        | Object |

        | createOneOnOneCouncil.**id** | Identificador, interno de OVAC, único
        de la cita generada. | Integer |

        | createOneOnOneCouncil.**accessLink** | Enlace único de acceso directo
        para auditar la cita. | String |

        | createOneOnOneCouncil.**creatorId** | Identificador, interno de OVAC,
        único del usuario que ha creado la cita. | Integer |


        ## 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": "Prueba de nombre",
                "companyExternalId": "API_TEST",
                "statuteExternalId": "TRAMITE_TEST",
                "councilType": 5,
                "externalId": "0000_test",
                "contactEmail": "",
                "dateStart": "2026-05-23T09:30:00Z",
                "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
        }

         ```

        ### 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-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":"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}}'

         ```

        ### 4\. Respuesta Esperada (200 OK)


        ``` json

        {
            "data": {
                "createOneOnOneCouncil": {
                    "id": 64919,
                    "accessLink": "https://apitest.ovac.pre.councilbox.com/attendance/token/eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJjb3VuY2lsUGFydGljaXBhbnRJZCI6MjQ5MDE5LCJpZCI6MjQ5MDE5LCJpYXQiOjE3NzkzNjQ0MTZ9.AeUze049RfMUrY3SzgcAF9O7dfCrylpGPf1kpFK2FLU",
                    "creatorId": 3476
                }
            }
        }

         ```

        > **Nota OpenAPI/Fern:** esta operación GraphQL se documenta como
        `/graphql/createoneononecouncil-6` para que Fern pueda mostrarla como
        operación independiente. La ruta técnica real de ejecución es `POST
        /graphql`.
      tags:
        - subpackage_ovac
      parameters:
        - name: x-jwt-token
          in: header
          description: JWT token obtained from Login.
          required: true
          schema:
            type: string
      responses:
        '200':
          description: >-
            Successful response. GraphQL business errors may be returned inside
            the JSON `errors` field while transport status remains HTTP 200.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OVAC_createOneOnOneCouncil_6_Response_200'
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                query:
                  type: string
                  description: GraphQL operation
                variables:
                  $ref: >-
                    #/components/schemas/GraphqlCreateoneononecouncil6PostRequestBodyContentApplicationJsonSchemaVariables
                  description: GraphQL variables
              required:
                - query
servers:
  - url: https://api.ovac.pre.councilbox.com
  - url: https://api.ovac.councilbox.com
components:
  schemas:
    GraphqlCreateoneononecouncil6PostRequestBodyContentApplicationJsonSchemaVariables:
      type: object
      properties: {}
      description: GraphQL variables
      title: >-
        GraphqlCreateoneononecouncil6PostRequestBodyContentApplicationJsonSchemaVariables
    OVAC_createOneOnOneCouncil_6_Response_200:
      type: object
      properties: {}
      title: OVAC_createOneOnOneCouncil_6_Response_200
  securitySchemes:
    JwtToken:
      type: apiKey
      in: header
      name: x-jwt-token
      description: JWT token obtained from Login.

```

## SDK Code Examples

```python Create Appointment Representation Guests_External
import requests

url = "https://api.ovac.pre.councilbox.com/graphql/createoneononecouncil-6"

payload = {
    "query": "mutation createOneOnOneCouncil(
    $council: CouncilInput,
    $participant: ParticipantInput,
    $representation: ParticipantInput,
    $notifyCreation: Boolean,
    $checkAgenda: Boolean,
  ",
    "variables": {
        "council": {
            "name": "Consulta Legal de Vivienda",
            "companyExternalId": "12345",
            "statuteExternalId": "67890",
            "councilType": 5,
            "externalId": "APT-20260520-0930",
            "contactEmail": "soporte@municipio.es",
            "dateStart": "2026-05-20T09:30:00Z",
            "conveneText": "Se convoca a la reunión para tratar asuntos legales relacionados con vivienda.",
            "observations": "El participante principal requiere intérprete.",
            "internalNotes": "Revisar documentación previa al encuentro.",
            "comment": "Cita prioritaria para casos urgentes.",
            "readOnly": 0,
            "tag": "ADMIN"
        },
        "participant": {
            "name": "Carlos",
            "surname": "García López",
            "idCardType": "dni",
            "dni": "12345678Z",
            "idCardCountry": "ES",
            "email": "carlos.garcia@example.com",
            "phone": "+34611222333",
            "language": "es",
            "zipcode": "28013"
        },
        "guests": [
            {
                "name": "Ana",
                "surname": "Martínez Ruiz",
                "idCardType": "passport",
                "dni": "X1234567A",
                "idCardCountry": "ES",
                "type": 2,
                "email": "ana.martinez@example.com",
                "phone": "+34611444555",
                "language": "es",
                "zipcode": "28013",
                "representedParticipant": {
                    "name": "Luis",
                    "surname": "Fernández Gómez",
                    "idCardType": "passport",
                    "dni": "Y7654321B",
                    "idCardCountry": "ES",
                    "type": 3,
                    "email": "luis.fernandez@example.com",
                    "phone": "+34611666777",
                    "language": "es",
                    "zipcode": "28013"
                }
            }
        ],
        "notifyCreation": True,
        "checkAgenda": True
    }
}
headers = {
    "x-jwt-token": "<apiKey>",
    "Content-Type": "application/json"
}

response = requests.post(url, json=payload, headers=headers)

print(response.json())
```

```javascript Create Appointment Representation Guests_External
const url = 'https://api.ovac.pre.councilbox.com/graphql/createoneononecouncil-6';
const options = {
  method: 'POST',
  headers: {'x-jwt-token': '<apiKey>', 'Content-Type': 'application/json'},
  body: '{"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 Legal de Vivienda","companyExternalId":"12345","statuteExternalId":"67890","councilType":5,"externalId":"APT-20260520-0930","contactEmail":"soporte@municipio.es","dateStart":"2026-05-20T09:30:00Z","conveneText":"Se convoca a la reunión para tratar asuntos legales relacionados con vivienda.","observations":"El participante principal requiere intérprete.","internalNotes":"Revisar documentación previa al encuentro.","comment":"Cita prioritaria para casos urgentes.","readOnly":0,"tag":"ADMIN"},"participant":{"name":"Carlos","surname":"García López","idCardType":"dni","dni":"12345678Z","idCardCountry":"ES","email":"carlos.garcia@example.com","phone":"+34611222333","language":"es","zipcode":"28013"},"guests":[{"name":"Ana","surname":"Martínez Ruiz","idCardType":"passport","dni":"X1234567A","idCardCountry":"ES","type":2,"email":"ana.martinez@example.com","phone":"+34611444555","language":"es","zipcode":"28013","representedParticipant":{"name":"Luis","surname":"Fernández Gómez","idCardType":"passport","dni":"Y7654321B","idCardCountry":"ES","type":3,"email":"luis.fernandez@example.com","phone":"+34611666777","language":"es","zipcode":"28013"}}],"notifyCreation":true,"checkAgenda":true}}'
};

try {
  const response = await fetch(url, options);
  const data = await response.json();
  console.log(data);
} catch (error) {
  console.error(error);
}
```

```go Create Appointment Representation Guests_External
package main

import (
	"fmt"
	"strings"
	"net/http"
	"io"
)

func main() {

	url := "https://api.ovac.pre.councilbox.com/graphql/createoneononecouncil-6"

	payload := strings.NewReader("{\n  \"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  \",\n  \"variables\": {\n    \"council\": {\n      \"name\": \"Consulta Legal de Vivienda\",\n      \"companyExternalId\": \"12345\",\n      \"statuteExternalId\": \"67890\",\n      \"councilType\": 5,\n      \"externalId\": \"APT-20260520-0930\",\n      \"contactEmail\": \"soporte@municipio.es\",\n      \"dateStart\": \"2026-05-20T09:30:00Z\",\n      \"conveneText\": \"Se convoca a la reunión para tratar asuntos legales relacionados con vivienda.\",\n      \"observations\": \"El participante principal requiere intérprete.\",\n      \"internalNotes\": \"Revisar documentación previa al encuentro.\",\n      \"comment\": \"Cita prioritaria para casos urgentes.\",\n      \"readOnly\": 0,\n      \"tag\": \"ADMIN\"\n    },\n    \"participant\": {\n      \"name\": \"Carlos\",\n      \"surname\": \"García López\",\n      \"idCardType\": \"dni\",\n      \"dni\": \"12345678Z\",\n      \"idCardCountry\": \"ES\",\n      \"email\": \"carlos.garcia@example.com\",\n      \"phone\": \"+34611222333\",\n      \"language\": \"es\",\n      \"zipcode\": \"28013\"\n    },\n    \"guests\": [\n      {\n        \"name\": \"Ana\",\n        \"surname\": \"Martínez Ruiz\",\n        \"idCardType\": \"passport\",\n        \"dni\": \"X1234567A\",\n        \"idCardCountry\": \"ES\",\n        \"type\": 2,\n        \"email\": \"ana.martinez@example.com\",\n        \"phone\": \"+34611444555\",\n        \"language\": \"es\",\n        \"zipcode\": \"28013\",\n        \"representedParticipant\": {\n          \"name\": \"Luis\",\n          \"surname\": \"Fernández Gómez\",\n          \"idCardType\": \"passport\",\n          \"dni\": \"Y7654321B\",\n          \"idCardCountry\": \"ES\",\n          \"type\": 3,\n          \"email\": \"luis.fernandez@example.com\",\n          \"phone\": \"+34611666777\",\n          \"language\": \"es\",\n          \"zipcode\": \"28013\"\n        }\n      }\n    ],\n    \"notifyCreation\": true,\n    \"checkAgenda\": true\n  }\n}")

	req, _ := http.NewRequest("POST", url, payload)

	req.Header.Add("x-jwt-token", "<apiKey>")
	req.Header.Add("Content-Type", "application/json")

	res, _ := http.DefaultClient.Do(req)

	defer res.Body.Close()
	body, _ := io.ReadAll(res.Body)

	fmt.Println(res)
	fmt.Println(string(body))

}
```

```ruby Create Appointment Representation Guests_External
require 'uri'
require 'net/http'

url = URI("https://api.ovac.pre.councilbox.com/graphql/createoneononecouncil-6")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Post.new(url)
request["x-jwt-token"] = '<apiKey>'
request["Content-Type"] = 'application/json'
request.body = "{\n  \"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  \",\n  \"variables\": {\n    \"council\": {\n      \"name\": \"Consulta Legal de Vivienda\",\n      \"companyExternalId\": \"12345\",\n      \"statuteExternalId\": \"67890\",\n      \"councilType\": 5,\n      \"externalId\": \"APT-20260520-0930\",\n      \"contactEmail\": \"soporte@municipio.es\",\n      \"dateStart\": \"2026-05-20T09:30:00Z\",\n      \"conveneText\": \"Se convoca a la reunión para tratar asuntos legales relacionados con vivienda.\",\n      \"observations\": \"El participante principal requiere intérprete.\",\n      \"internalNotes\": \"Revisar documentación previa al encuentro.\",\n      \"comment\": \"Cita prioritaria para casos urgentes.\",\n      \"readOnly\": 0,\n      \"tag\": \"ADMIN\"\n    },\n    \"participant\": {\n      \"name\": \"Carlos\",\n      \"surname\": \"García López\",\n      \"idCardType\": \"dni\",\n      \"dni\": \"12345678Z\",\n      \"idCardCountry\": \"ES\",\n      \"email\": \"carlos.garcia@example.com\",\n      \"phone\": \"+34611222333\",\n      \"language\": \"es\",\n      \"zipcode\": \"28013\"\n    },\n    \"guests\": [\n      {\n        \"name\": \"Ana\",\n        \"surname\": \"Martínez Ruiz\",\n        \"idCardType\": \"passport\",\n        \"dni\": \"X1234567A\",\n        \"idCardCountry\": \"ES\",\n        \"type\": 2,\n        \"email\": \"ana.martinez@example.com\",\n        \"phone\": \"+34611444555\",\n        \"language\": \"es\",\n        \"zipcode\": \"28013\",\n        \"representedParticipant\": {\n          \"name\": \"Luis\",\n          \"surname\": \"Fernández Gómez\",\n          \"idCardType\": \"passport\",\n          \"dni\": \"Y7654321B\",\n          \"idCardCountry\": \"ES\",\n          \"type\": 3,\n          \"email\": \"luis.fernandez@example.com\",\n          \"phone\": \"+34611666777\",\n          \"language\": \"es\",\n          \"zipcode\": \"28013\"\n        }\n      }\n    ],\n    \"notifyCreation\": true,\n    \"checkAgenda\": true\n  }\n}"

response = http.request(request)
puts response.read_body
```

```java Create Appointment Representation Guests_External
import com.mashape.unirest.http.HttpResponse;
import com.mashape.unirest.http.Unirest;

HttpResponse<String> response = Unirest.post("https://api.ovac.pre.councilbox.com/graphql/createoneononecouncil-6")
  .header("x-jwt-token", "<apiKey>")
  .header("Content-Type", "application/json")
  .body("{\n  \"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  \",\n  \"variables\": {\n    \"council\": {\n      \"name\": \"Consulta Legal de Vivienda\",\n      \"companyExternalId\": \"12345\",\n      \"statuteExternalId\": \"67890\",\n      \"councilType\": 5,\n      \"externalId\": \"APT-20260520-0930\",\n      \"contactEmail\": \"soporte@municipio.es\",\n      \"dateStart\": \"2026-05-20T09:30:00Z\",\n      \"conveneText\": \"Se convoca a la reunión para tratar asuntos legales relacionados con vivienda.\",\n      \"observations\": \"El participante principal requiere intérprete.\",\n      \"internalNotes\": \"Revisar documentación previa al encuentro.\",\n      \"comment\": \"Cita prioritaria para casos urgentes.\",\n      \"readOnly\": 0,\n      \"tag\": \"ADMIN\"\n    },\n    \"participant\": {\n      \"name\": \"Carlos\",\n      \"surname\": \"García López\",\n      \"idCardType\": \"dni\",\n      \"dni\": \"12345678Z\",\n      \"idCardCountry\": \"ES\",\n      \"email\": \"carlos.garcia@example.com\",\n      \"phone\": \"+34611222333\",\n      \"language\": \"es\",\n      \"zipcode\": \"28013\"\n    },\n    \"guests\": [\n      {\n        \"name\": \"Ana\",\n        \"surname\": \"Martínez Ruiz\",\n        \"idCardType\": \"passport\",\n        \"dni\": \"X1234567A\",\n        \"idCardCountry\": \"ES\",\n        \"type\": 2,\n        \"email\": \"ana.martinez@example.com\",\n        \"phone\": \"+34611444555\",\n        \"language\": \"es\",\n        \"zipcode\": \"28013\",\n        \"representedParticipant\": {\n          \"name\": \"Luis\",\n          \"surname\": \"Fernández Gómez\",\n          \"idCardType\": \"passport\",\n          \"dni\": \"Y7654321B\",\n          \"idCardCountry\": \"ES\",\n          \"type\": 3,\n          \"email\": \"luis.fernandez@example.com\",\n          \"phone\": \"+34611666777\",\n          \"language\": \"es\",\n          \"zipcode\": \"28013\"\n        }\n      }\n    ],\n    \"notifyCreation\": true,\n    \"checkAgenda\": true\n  }\n}")
  .asString();
```

```php Create Appointment Representation Guests_External
<?php
require_once('vendor/autoload.php');

$client = new \GuzzleHttp\Client();

$response = $client->request('POST', 'https://api.ovac.pre.councilbox.com/graphql/createoneononecouncil-6', [
  'body' => '{
  "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 Legal de Vivienda",
      "companyExternalId": "12345",
      "statuteExternalId": "67890",
      "councilType": 5,
      "externalId": "APT-20260520-0930",
      "contactEmail": "soporte@municipio.es",
      "dateStart": "2026-05-20T09:30:00Z",
      "conveneText": "Se convoca a la reunión para tratar asuntos legales relacionados con vivienda.",
      "observations": "El participante principal requiere intérprete.",
      "internalNotes": "Revisar documentación previa al encuentro.",
      "comment": "Cita prioritaria para casos urgentes.",
      "readOnly": 0,
      "tag": "ADMIN"
    },
    "participant": {
      "name": "Carlos",
      "surname": "García López",
      "idCardType": "dni",
      "dni": "12345678Z",
      "idCardCountry": "ES",
      "email": "carlos.garcia@example.com",
      "phone": "+34611222333",
      "language": "es",
      "zipcode": "28013"
    },
    "guests": [
      {
        "name": "Ana",
        "surname": "Martínez Ruiz",
        "idCardType": "passport",
        "dni": "X1234567A",
        "idCardCountry": "ES",
        "type": 2,
        "email": "ana.martinez@example.com",
        "phone": "+34611444555",
        "language": "es",
        "zipcode": "28013",
        "representedParticipant": {
          "name": "Luis",
          "surname": "Fernández Gómez",
          "idCardType": "passport",
          "dni": "Y7654321B",
          "idCardCountry": "ES",
          "type": 3,
          "email": "luis.fernandez@example.com",
          "phone": "+34611666777",
          "language": "es",
          "zipcode": "28013"
        }
      }
    ],
    "notifyCreation": true,
    "checkAgenda": true
  }
}',
  'headers' => [
    'Content-Type' => 'application/json',
    'x-jwt-token' => '<apiKey>',
  ],
]);

echo $response->getBody();
```

```csharp Create Appointment Representation Guests_External
using RestSharp;

var client = new RestClient("https://api.ovac.pre.councilbox.com/graphql/createoneononecouncil-6");
var request = new RestRequest(Method.POST);
request.AddHeader("x-jwt-token", "<apiKey>");
request.AddHeader("Content-Type", "application/json");
request.AddParameter("application/json", "{\n  \"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  \",\n  \"variables\": {\n    \"council\": {\n      \"name\": \"Consulta Legal de Vivienda\",\n      \"companyExternalId\": \"12345\",\n      \"statuteExternalId\": \"67890\",\n      \"councilType\": 5,\n      \"externalId\": \"APT-20260520-0930\",\n      \"contactEmail\": \"soporte@municipio.es\",\n      \"dateStart\": \"2026-05-20T09:30:00Z\",\n      \"conveneText\": \"Se convoca a la reunión para tratar asuntos legales relacionados con vivienda.\",\n      \"observations\": \"El participante principal requiere intérprete.\",\n      \"internalNotes\": \"Revisar documentación previa al encuentro.\",\n      \"comment\": \"Cita prioritaria para casos urgentes.\",\n      \"readOnly\": 0,\n      \"tag\": \"ADMIN\"\n    },\n    \"participant\": {\n      \"name\": \"Carlos\",\n      \"surname\": \"García López\",\n      \"idCardType\": \"dni\",\n      \"dni\": \"12345678Z\",\n      \"idCardCountry\": \"ES\",\n      \"email\": \"carlos.garcia@example.com\",\n      \"phone\": \"+34611222333\",\n      \"language\": \"es\",\n      \"zipcode\": \"28013\"\n    },\n    \"guests\": [\n      {\n        \"name\": \"Ana\",\n        \"surname\": \"Martínez Ruiz\",\n        \"idCardType\": \"passport\",\n        \"dni\": \"X1234567A\",\n        \"idCardCountry\": \"ES\",\n        \"type\": 2,\n        \"email\": \"ana.martinez@example.com\",\n        \"phone\": \"+34611444555\",\n        \"language\": \"es\",\n        \"zipcode\": \"28013\",\n        \"representedParticipant\": {\n          \"name\": \"Luis\",\n          \"surname\": \"Fernández Gómez\",\n          \"idCardType\": \"passport\",\n          \"dni\": \"Y7654321B\",\n          \"idCardCountry\": \"ES\",\n          \"type\": 3,\n          \"email\": \"luis.fernandez@example.com\",\n          \"phone\": \"+34611666777\",\n          \"language\": \"es\",\n          \"zipcode\": \"28013\"\n        }\n      }\n    ],\n    \"notifyCreation\": true,\n    \"checkAgenda\": true\n  }\n}", ParameterType.RequestBody);
IRestResponse response = client.Execute(request);
```

```swift Create Appointment Representation Guests_External
import Foundation

let headers = [
  "x-jwt-token": "<apiKey>",
  "Content-Type": "application/json"
]
let parameters = [
  "query": "mutation createOneOnOneCouncil(
    $council: CouncilInput,
    $participant: ParticipantInput,
    $representation: ParticipantInput,
    $notifyCreation: Boolean,
    $checkAgenda: Boolean,
  ",
  "variables": [
    "council": [
      "name": "Consulta Legal de Vivienda",
      "companyExternalId": "12345",
      "statuteExternalId": "67890",
      "councilType": 5,
      "externalId": "APT-20260520-0930",
      "contactEmail": "soporte@municipio.es",
      "dateStart": "2026-05-20T09:30:00Z",
      "conveneText": "Se convoca a la reunión para tratar asuntos legales relacionados con vivienda.",
      "observations": "El participante principal requiere intérprete.",
      "internalNotes": "Revisar documentación previa al encuentro.",
      "comment": "Cita prioritaria para casos urgentes.",
      "readOnly": 0,
      "tag": "ADMIN"
    ],
    "participant": [
      "name": "Carlos",
      "surname": "García López",
      "idCardType": "dni",
      "dni": "12345678Z",
      "idCardCountry": "ES",
      "email": "carlos.garcia@example.com",
      "phone": "+34611222333",
      "language": "es",
      "zipcode": "28013"
    ],
    "guests": [
      [
        "name": "Ana",
        "surname": "Martínez Ruiz",
        "idCardType": "passport",
        "dni": "X1234567A",
        "idCardCountry": "ES",
        "type": 2,
        "email": "ana.martinez@example.com",
        "phone": "+34611444555",
        "language": "es",
        "zipcode": "28013",
        "representedParticipant": [
          "name": "Luis",
          "surname": "Fernández Gómez",
          "idCardType": "passport",
          "dni": "Y7654321B",
          "idCardCountry": "ES",
          "type": 3,
          "email": "luis.fernandez@example.com",
          "phone": "+34611666777",
          "language": "es",
          "zipcode": "28013"
        ]
      ]
    ],
    "notifyCreation": true,
    "checkAgenda": true
  ]
] as [String : Any]

let postData = JSONSerialization.data(withJSONObject: parameters, options: [])

let request = NSMutableURLRequest(url: NSURL(string: "https://api.ovac.pre.councilbox.com/graphql/createoneononecouncil-6")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "POST"
request.allHTTPHeaderFields = headers
request.httpBody = postData as Data

let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
  if (error != nil) {
    print(error as Any)
  } else {
    let httpResponse = response as? HTTPURLResponse
    print(httpResponse)
  }
})

dataTask.resume()
```