> 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 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-8
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 |
| $councilOptions.**notificationType** | Selecciona el método de notificación de la cita/gestión:  <br>`-1`: Sin notificación  <br>`0`: email  <br>`1`: SMS  <br>`2`: WhatsApp  <br>  <br>Si no se selecciona el bloque, se emplea el método por defecto configurado en el trámite. | NO | Integer |
| $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],
    $councilOptions: CouncilOptions
    )
    {
        createOneOnOneCouncil
            (
            council: $council,
            participant: $participant,
            representation: $representation,
            notifyCreation: $notifyCreation,
            checkAgenda: $checkAgenda,
            guests: $guests,
            councilOptions: $councilOptions
            )
        {
            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: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,
    "councilOptions": 
    { 
        "notificationType": 0 
    }  
}

 ```

### 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-8` 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/03-create-appointments/create-one-on-one-council-8

## OpenAPI Specification

```yaml
openapi: 3.1.0
info:
  title: ovac
  version: 1.0.0
paths:
  /graphql/createoneononecouncil-8:
    post:
      operationId: create-one-on-one-council-8
      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 |

        | $councilOptions.**notificationType** | Selecciona el método de
        notificación de la cita/gestión:  <br>`-1`: Sin notificación  <br>`0`:
        email  <br>`1`: SMS  <br>`2`: WhatsApp  <br>  <br>Si no se selecciona el
        bloque, se emplea el método por defecto configurado en el trámite. | NO
        | Integer |

        | $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],
            $councilOptions: CouncilOptions
            )
            {
                createOneOnOneCouncil
                    (
                    council: $council,
                    participant: $participant,
                    representation: $representation,
                    notifyCreation: $notifyCreation,
                    checkAgenda: $checkAgenda,
                    guests: $guests,
                    councilOptions: $councilOptions
                    )
                {
                    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: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,
            "councilOptions": 
            { 
                "notificationType": 0 
            }  
        }

         ```

        ### 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-8` para que Fern pueda mostrarla como
        operación independiente. La ruta técnica real de ejecución es `POST
        /graphql`.
      tags:
        - subpackage_03CreateAppointments
      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/03 - Create
                  Appointments_createOneOnOneCouncil_8_Response_200
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                query:
                  type: string
                  description: GraphQL operation
                variables:
                  $ref: >-
                    #/components/schemas/GraphqlCreateoneononecouncil8PostRequestBodyContentApplicationJsonSchemaVariables
                  description: GraphQL variables
              required:
                - query
servers:
  - url: https://api.ovac.pre.councilbox.com
    description: Pre-production
  - url: https://api.ovac.councilbox.com
    description: Production
components:
  schemas:
    GraphqlCreateoneononecouncil8PostRequestBodyContentApplicationJsonSchemaVariables:
      type: object
      properties: {}
      description: GraphQL variables
      title: >-
        GraphqlCreateoneononecouncil8PostRequestBodyContentApplicationJsonSchemaVariables
    03 - Create Appointments_createOneOnOneCouncil_8_Response_200:
      type: object
      properties: {}
      title: 03 - Create Appointments_createOneOnOneCouncil_8_Response_200
  securitySchemes:
    JwtToken:
      type: apiKey
      in: header
      name: x-jwt-token
      description: JWT token obtained from Login.

```

## Examples



**Request**

```json
{
  "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    $guests: [ParticipantInput],\r\n    $councilOptions: CouncilOptions\r\n    )\r\n    {\r\n        createOneOnOneCouncil\r\n            (\r\n            council: $council,\r\n            participant: $participant,\r\n            representation: $representation,\r\n            notifyCreation: $notifyCreation,\r\n            checkAgenda: $checkAgenda,\r\n            guests: $guests,\r\n            councilOptions: $councilOptions\r\n            )\r\n        {\r\n            id\r\n            accessLink\r\n            creatorId\r\n        }\r\n    }",
  "variables": {
    "council": {
      "name": "",
      "companyExternalId": "",
      "statuteExternalId": "",
      "councilType": 5,
      "externalId": "",
      "contactEmail": "",
      "dateStart": "2026-05-20T09:30Z",
      "conveneText": "",
      "observations": "",
      "internalNotes": "E",
      "comment": "",
      "readOnly": 0,
      "tag": "ADMIN"
    },
    "participant": {
      "name": "",
      "surname": "",
      "idCardType": "dni",
      "dni": "11111111H",
      "idCardCountry": "ES",
      "email": "",
      "phone": "+34600000000",
      "language": "es",
      "zipcode": "00000"
    },
    "guests": [
      {
        "name": "",
        "surname": "",
        "idCardType": "passport",
        "dni": "00000000",
        "idCardCountry": "ES",
        "type": 2,
        "email": "",
        "phone": "+34600000000",
        "language": "es",
        "zipcode": "00000",
        "representedParticipant": {
          "name": "",
          "surname": "",
          "idCardType": "passport",
          "dni": "111111",
          "idCardCountry": "ES",
          "type": 3,
          "email": "",
          "phone": "+34600000000",
          "language": "es",
          "zipcode": "00000"
        }
      }
    ],
    "notifyCreation": true,
    "checkAgenda": true,
    "councilOptions": {
      "notificationType": 0
    }
  }
}
```

**Response**

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

**SDK Code**

```python Create Appointment Representation Guests_External
import requests

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

payload = {
    "query": "mutation createOneOnOneCouncil(
    $council: CouncilInput,
    $participant: ParticipantInput,
    $representation: ParticipantInput,
    $notifyCreation: Boolean,
    $checkAgenda: Boolean,
    $guests: [ParticipantInput],
    $councilOptions: CouncilOptions
    )
    {
        createOneOnOneCouncil
            (
            council: $council,
            participant: $participant,
            representation: $representation,
            notifyCreation: $notifyCreation,
            checkAgenda: $checkAgenda,
            guests: $guests,
            councilOptions: $councilOptions
            )
        {
            id
            accessLink
            creatorId
        }
    }",
    "variables": {
        "council": {
            "name": "",
            "companyExternalId": "",
            "statuteExternalId": "",
            "councilType": 5,
            "externalId": "",
            "contactEmail": "",
            "dateStart": "2026-05-20T09:30Z",
            "conveneText": "",
            "observations": "",
            "internalNotes": "E",
            "comment": "",
            "readOnly": 0,
            "tag": "ADMIN"
        },
        "participant": {
            "name": "",
            "surname": "",
            "idCardType": "dni",
            "dni": "11111111H",
            "idCardCountry": "ES",
            "email": "",
            "phone": "+34600000000",
            "language": "es",
            "zipcode": "00000"
        },
        "guests": [
            {
                "name": "",
                "surname": "",
                "idCardType": "passport",
                "dni": "00000000",
                "idCardCountry": "ES",
                "type": 2,
                "email": "",
                "phone": "+34600000000",
                "language": "es",
                "zipcode": "00000",
                "representedParticipant": {
                    "name": "",
                    "surname": "",
                    "idCardType": "passport",
                    "dni": "111111",
                    "idCardCountry": "ES",
                    "type": 3,
                    "email": "",
                    "phone": "+34600000000",
                    "language": "es",
                    "zipcode": "00000"
                }
            }
        ],
        "notifyCreation": True,
        "checkAgenda": True,
        "councilOptions": { "notificationType": 0 }
    }
}
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-8';
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    $guests: [ParticipantInput],\r\n    $councilOptions: CouncilOptions\r\n    )\r\n    {\r\n        createOneOnOneCouncil\r\n            (\r\n            council: $council,\r\n            participant: $participant,\r\n            representation: $representation,\r\n            notifyCreation: $notifyCreation,\r\n            checkAgenda: $checkAgenda,\r\n            guests: $guests,\r\n            councilOptions: $councilOptions\r\n            )\r\n        {\r\n            id\r\n            accessLink\r\n            creatorId\r\n        }\r\n    }","variables":{"council":{"name":"","companyExternalId":"","statuteExternalId":"","councilType":5,"externalId":"","contactEmail":"","dateStart":"2026-05-20T09:30Z","conveneText":"","observations":"","internalNotes":"E","comment":"","readOnly":0,"tag":"ADMIN"},"participant":{"name":"","surname":"","idCardType":"dni","dni":"11111111H","idCardCountry":"ES","email":"","phone":"+34600000000","language":"es","zipcode":"00000"},"guests":[{"name":"","surname":"","idCardType":"passport","dni":"00000000","idCardCountry":"ES","type":2,"email":"","phone":"+34600000000","language":"es","zipcode":"00000","representedParticipant":{"name":"","surname":"","idCardType":"passport","dni":"111111","idCardCountry":"ES","type":3,"email":"","phone":"+34600000000","language":"es","zipcode":"00000"}}],"notifyCreation":true,"checkAgenda":true,"councilOptions":{"notificationType":0}}}'
};

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

	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    $guests: [ParticipantInput],\\r\\n    $councilOptions: CouncilOptions\\r\\n    )\\r\\n    {\\r\\n        createOneOnOneCouncil\\r\\n            (\\r\\n            council: $council,\\r\\n            participant: $participant,\\r\\n            representation: $representation,\\r\\n            notifyCreation: $notifyCreation,\\r\\n            checkAgenda: $checkAgenda,\\r\\n            guests: $guests,\\r\\n            councilOptions: $councilOptions\\r\\n            )\\r\\n        {\\r\\n            id\\r\\n            accessLink\\r\\n            creatorId\\r\\n        }\\r\\n    }\",\n  \"variables\": {\n    \"council\": {\n      \"name\": \"\",\n      \"companyExternalId\": \"\",\n      \"statuteExternalId\": \"\",\n      \"councilType\": 5,\n      \"externalId\": \"\",\n      \"contactEmail\": \"\",\n      \"dateStart\": \"2026-05-20T09:30Z\",\n      \"conveneText\": \"\",\n      \"observations\": \"\",\n      \"internalNotes\": \"E\",\n      \"comment\": \"\",\n      \"readOnly\": 0,\n      \"tag\": \"ADMIN\"\n    },\n    \"participant\": {\n      \"name\": \"\",\n      \"surname\": \"\",\n      \"idCardType\": \"dni\",\n      \"dni\": \"11111111H\",\n      \"idCardCountry\": \"ES\",\n      \"email\": \"\",\n      \"phone\": \"+34600000000\",\n      \"language\": \"es\",\n      \"zipcode\": \"00000\"\n    },\n    \"guests\": [\n      {\n        \"name\": \"\",\n        \"surname\": \"\",\n        \"idCardType\": \"passport\",\n        \"dni\": \"00000000\",\n        \"idCardCountry\": \"ES\",\n        \"type\": 2,\n        \"email\": \"\",\n        \"phone\": \"+34600000000\",\n        \"language\": \"es\",\n        \"zipcode\": \"00000\",\n        \"representedParticipant\": {\n          \"name\": \"\",\n          \"surname\": \"\",\n          \"idCardType\": \"passport\",\n          \"dni\": \"111111\",\n          \"idCardCountry\": \"ES\",\n          \"type\": 3,\n          \"email\": \"\",\n          \"phone\": \"+34600000000\",\n          \"language\": \"es\",\n          \"zipcode\": \"00000\"\n        }\n      }\n    ],\n    \"notifyCreation\": true,\n    \"checkAgenda\": true,\n    \"councilOptions\": {\n      \"notificationType\": 0\n    }\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-8")

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    $guests: [ParticipantInput],\\r\\n    $councilOptions: CouncilOptions\\r\\n    )\\r\\n    {\\r\\n        createOneOnOneCouncil\\r\\n            (\\r\\n            council: $council,\\r\\n            participant: $participant,\\r\\n            representation: $representation,\\r\\n            notifyCreation: $notifyCreation,\\r\\n            checkAgenda: $checkAgenda,\\r\\n            guests: $guests,\\r\\n            councilOptions: $councilOptions\\r\\n            )\\r\\n        {\\r\\n            id\\r\\n            accessLink\\r\\n            creatorId\\r\\n        }\\r\\n    }\",\n  \"variables\": {\n    \"council\": {\n      \"name\": \"\",\n      \"companyExternalId\": \"\",\n      \"statuteExternalId\": \"\",\n      \"councilType\": 5,\n      \"externalId\": \"\",\n      \"contactEmail\": \"\",\n      \"dateStart\": \"2026-05-20T09:30Z\",\n      \"conveneText\": \"\",\n      \"observations\": \"\",\n      \"internalNotes\": \"E\",\n      \"comment\": \"\",\n      \"readOnly\": 0,\n      \"tag\": \"ADMIN\"\n    },\n    \"participant\": {\n      \"name\": \"\",\n      \"surname\": \"\",\n      \"idCardType\": \"dni\",\n      \"dni\": \"11111111H\",\n      \"idCardCountry\": \"ES\",\n      \"email\": \"\",\n      \"phone\": \"+34600000000\",\n      \"language\": \"es\",\n      \"zipcode\": \"00000\"\n    },\n    \"guests\": [\n      {\n        \"name\": \"\",\n        \"surname\": \"\",\n        \"idCardType\": \"passport\",\n        \"dni\": \"00000000\",\n        \"idCardCountry\": \"ES\",\n        \"type\": 2,\n        \"email\": \"\",\n        \"phone\": \"+34600000000\",\n        \"language\": \"es\",\n        \"zipcode\": \"00000\",\n        \"representedParticipant\": {\n          \"name\": \"\",\n          \"surname\": \"\",\n          \"idCardType\": \"passport\",\n          \"dni\": \"111111\",\n          \"idCardCountry\": \"ES\",\n          \"type\": 3,\n          \"email\": \"\",\n          \"phone\": \"+34600000000\",\n          \"language\": \"es\",\n          \"zipcode\": \"00000\"\n        }\n      }\n    ],\n    \"notifyCreation\": true,\n    \"checkAgenda\": true,\n    \"councilOptions\": {\n      \"notificationType\": 0\n    }\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-8")
  .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    $guests: [ParticipantInput],\\r\\n    $councilOptions: CouncilOptions\\r\\n    )\\r\\n    {\\r\\n        createOneOnOneCouncil\\r\\n            (\\r\\n            council: $council,\\r\\n            participant: $participant,\\r\\n            representation: $representation,\\r\\n            notifyCreation: $notifyCreation,\\r\\n            checkAgenda: $checkAgenda,\\r\\n            guests: $guests,\\r\\n            councilOptions: $councilOptions\\r\\n            )\\r\\n        {\\r\\n            id\\r\\n            accessLink\\r\\n            creatorId\\r\\n        }\\r\\n    }\",\n  \"variables\": {\n    \"council\": {\n      \"name\": \"\",\n      \"companyExternalId\": \"\",\n      \"statuteExternalId\": \"\",\n      \"councilType\": 5,\n      \"externalId\": \"\",\n      \"contactEmail\": \"\",\n      \"dateStart\": \"2026-05-20T09:30Z\",\n      \"conveneText\": \"\",\n      \"observations\": \"\",\n      \"internalNotes\": \"E\",\n      \"comment\": \"\",\n      \"readOnly\": 0,\n      \"tag\": \"ADMIN\"\n    },\n    \"participant\": {\n      \"name\": \"\",\n      \"surname\": \"\",\n      \"idCardType\": \"dni\",\n      \"dni\": \"11111111H\",\n      \"idCardCountry\": \"ES\",\n      \"email\": \"\",\n      \"phone\": \"+34600000000\",\n      \"language\": \"es\",\n      \"zipcode\": \"00000\"\n    },\n    \"guests\": [\n      {\n        \"name\": \"\",\n        \"surname\": \"\",\n        \"idCardType\": \"passport\",\n        \"dni\": \"00000000\",\n        \"idCardCountry\": \"ES\",\n        \"type\": 2,\n        \"email\": \"\",\n        \"phone\": \"+34600000000\",\n        \"language\": \"es\",\n        \"zipcode\": \"00000\",\n        \"representedParticipant\": {\n          \"name\": \"\",\n          \"surname\": \"\",\n          \"idCardType\": \"passport\",\n          \"dni\": \"111111\",\n          \"idCardCountry\": \"ES\",\n          \"type\": 3,\n          \"email\": \"\",\n          \"phone\": \"+34600000000\",\n          \"language\": \"es\",\n          \"zipcode\": \"00000\"\n        }\n      }\n    ],\n    \"notifyCreation\": true,\n    \"checkAgenda\": true,\n    \"councilOptions\": {\n      \"notificationType\": 0\n    }\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-8', [
  '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    $guests: [ParticipantInput],\\r\\n    $councilOptions: CouncilOptions\\r\\n    )\\r\\n    {\\r\\n        createOneOnOneCouncil\\r\\n            (\\r\\n            council: $council,\\r\\n            participant: $participant,\\r\\n            representation: $representation,\\r\\n            notifyCreation: $notifyCreation,\\r\\n            checkAgenda: $checkAgenda,\\r\\n            guests: $guests,\\r\\n            councilOptions: $councilOptions\\r\\n            )\\r\\n        {\\r\\n            id\\r\\n            accessLink\\r\\n            creatorId\\r\\n        }\\r\\n    }",
  "variables": {
    "council": {
      "name": "",
      "companyExternalId": "",
      "statuteExternalId": "",
      "councilType": 5,
      "externalId": "",
      "contactEmail": "",
      "dateStart": "2026-05-20T09:30Z",
      "conveneText": "",
      "observations": "",
      "internalNotes": "E",
      "comment": "",
      "readOnly": 0,
      "tag": "ADMIN"
    },
    "participant": {
      "name": "",
      "surname": "",
      "idCardType": "dni",
      "dni": "11111111H",
      "idCardCountry": "ES",
      "email": "",
      "phone": "+34600000000",
      "language": "es",
      "zipcode": "00000"
    },
    "guests": [
      {
        "name": "",
        "surname": "",
        "idCardType": "passport",
        "dni": "00000000",
        "idCardCountry": "ES",
        "type": 2,
        "email": "",
        "phone": "+34600000000",
        "language": "es",
        "zipcode": "00000",
        "representedParticipant": {
          "name": "",
          "surname": "",
          "idCardType": "passport",
          "dni": "111111",
          "idCardCountry": "ES",
          "type": 3,
          "email": "",
          "phone": "+34600000000",
          "language": "es",
          "zipcode": "00000"
        }
      }
    ],
    "notifyCreation": true,
    "checkAgenda": true,
    "councilOptions": {
      "notificationType": 0
    }
  }
}',
  '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-8");
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    $guests: [ParticipantInput],\\r\\n    $councilOptions: CouncilOptions\\r\\n    )\\r\\n    {\\r\\n        createOneOnOneCouncil\\r\\n            (\\r\\n            council: $council,\\r\\n            participant: $participant,\\r\\n            representation: $representation,\\r\\n            notifyCreation: $notifyCreation,\\r\\n            checkAgenda: $checkAgenda,\\r\\n            guests: $guests,\\r\\n            councilOptions: $councilOptions\\r\\n            )\\r\\n        {\\r\\n            id\\r\\n            accessLink\\r\\n            creatorId\\r\\n        }\\r\\n    }\",\n  \"variables\": {\n    \"council\": {\n      \"name\": \"\",\n      \"companyExternalId\": \"\",\n      \"statuteExternalId\": \"\",\n      \"councilType\": 5,\n      \"externalId\": \"\",\n      \"contactEmail\": \"\",\n      \"dateStart\": \"2026-05-20T09:30Z\",\n      \"conveneText\": \"\",\n      \"observations\": \"\",\n      \"internalNotes\": \"E\",\n      \"comment\": \"\",\n      \"readOnly\": 0,\n      \"tag\": \"ADMIN\"\n    },\n    \"participant\": {\n      \"name\": \"\",\n      \"surname\": \"\",\n      \"idCardType\": \"dni\",\n      \"dni\": \"11111111H\",\n      \"idCardCountry\": \"ES\",\n      \"email\": \"\",\n      \"phone\": \"+34600000000\",\n      \"language\": \"es\",\n      \"zipcode\": \"00000\"\n    },\n    \"guests\": [\n      {\n        \"name\": \"\",\n        \"surname\": \"\",\n        \"idCardType\": \"passport\",\n        \"dni\": \"00000000\",\n        \"idCardCountry\": \"ES\",\n        \"type\": 2,\n        \"email\": \"\",\n        \"phone\": \"+34600000000\",\n        \"language\": \"es\",\n        \"zipcode\": \"00000\",\n        \"representedParticipant\": {\n          \"name\": \"\",\n          \"surname\": \"\",\n          \"idCardType\": \"passport\",\n          \"dni\": \"111111\",\n          \"idCardCountry\": \"ES\",\n          \"type\": 3,\n          \"email\": \"\",\n          \"phone\": \"+34600000000\",\n          \"language\": \"es\",\n          \"zipcode\": \"00000\"\n        }\n      }\n    ],\n    \"notifyCreation\": true,\n    \"checkAgenda\": true,\n    \"councilOptions\": {\n      \"notificationType\": 0\n    }\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,
    $guests: [ParticipantInput],
    $councilOptions: CouncilOptions
    )
    {
        createOneOnOneCouncil
            (
            council: $council,
            participant: $participant,
            representation: $representation,
            notifyCreation: $notifyCreation,
            checkAgenda: $checkAgenda,
            guests: $guests,
            councilOptions: $councilOptions
            )
        {
            id
            accessLink
            creatorId
        }
    }",
  "variables": [
    "council": [
      "name": "",
      "companyExternalId": "",
      "statuteExternalId": "",
      "councilType": 5,
      "externalId": "",
      "contactEmail": "",
      "dateStart": "2026-05-20T09:30Z",
      "conveneText": "",
      "observations": "",
      "internalNotes": "E",
      "comment": "",
      "readOnly": 0,
      "tag": "ADMIN"
    ],
    "participant": [
      "name": "",
      "surname": "",
      "idCardType": "dni",
      "dni": "11111111H",
      "idCardCountry": "ES",
      "email": "",
      "phone": "+34600000000",
      "language": "es",
      "zipcode": "00000"
    ],
    "guests": [
      [
        "name": "",
        "surname": "",
        "idCardType": "passport",
        "dni": "00000000",
        "idCardCountry": "ES",
        "type": 2,
        "email": "",
        "phone": "+34600000000",
        "language": "es",
        "zipcode": "00000",
        "representedParticipant": [
          "name": "",
          "surname": "",
          "idCardType": "passport",
          "dni": "111111",
          "idCardCountry": "ES",
          "type": 3,
          "email": "",
          "phone": "+34600000000",
          "language": "es",
          "zipcode": "00000"
        ]
      ]
    ],
    "notifyCreation": true,
    "checkAgenda": true,
    "councilOptions": ["notificationType": 0]
  ]
] as [String : Any]

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

let request = NSMutableURLRequest(url: NSURL(string: "https://api.ovac.pre.councilbox.com/graphql/createoneononecouncil-8")! 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()
```