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

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

# Create Appointment (External ID Variant) (`createOneOnOneCouncil`)

Esta variante de la mutación de registro permite agendar y dar de alta una nueva cita en la plataforma vinculando la taxonomía del encuentro directamente a través de los identificadores e integraciones del sistema del cliente (`companyExternalId` y `statuteExternalId`), evitando depender de los IDs internos de la plataforma. Admite de manera nativa y opcional flujos avanzados con invitados o representación legal.

### Autenticación

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

## Referencia de la API

### Variables Globales de Entrada

| Parámetro | Descripción | Requerido | Tipo |
| --- | --- | --- | --- |
| $notifyCreation | `true`: Envía una notificación automática de confirmación al ciudadano.  <br>`false`: Registra la cita silenciosamente.  <br>Por defecto: `true` | NO | Boolean |
| $checkAgenda | `true`: Valida la disponibilidad horaria del agente antes de insertar.  <br>`false`: Omite la comprobación y fuerza la inserción. | SI | Boolean |
| $council | Configuración técnica, fechas y taxonomía de la cita (Ver desglose abajo). | SI | Object |
| $participant | Datos de identidad y contacto del participante (Ver desglose abajo). | SI | Object |
| $representation | Datos del Representado. (Solo se rellena en flujos de representación legal). | NO | Object |
| $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`)

| Parámetro | Descripción | Requerido | Tipo |
| --- | --- | --- | --- |
| name | Nombre de pila del participante. | SI | String |
| surname | Apellidos completos del participante. | SI | Integer |
| idCardType | Tipo de documento de identidad. Valores admitidos: "`dni`", "`nif`", "`passport`", "`nie`", "`codiceFiscale`" (Identificador Italia), "`otherIDCards`" (cualquier documento de identificación), "`driversLicence`" (Licencia de conducir EEUU), "`europeanDocument`" (documento europeo, solo válido para los documentos de los países de europa) | SI | String |
| dni | Número del documento de identidad o identificación fiscal. | SI | String |
| idCardCountry | Código de país del documento en formato ISO 3166-1 alfa-2 (ej. "ES"). | SI | String |
| email | Dirección de correo electrónico donde el ciudadano recibirá las notificaciones. | SI | String |
| phone | Teléfono móvil de contacto con prefijo internacional (ej. "+34600000000"). | SI | String |
| language | Idioma en el que el ciudadano visualizará la interfaz de OVAC (ej. "es"). Por defecto, se obtiene el de la entidad/ogranización.  <br>Consultar método '`Languages`'. | NO | String |
| zipcode | Código postal de residencia del participante. | NO | String |

### Campos de Respuesta (Payload)

La respuesta exitosa devuelve el objeto `createOneOnOneCouncil` con las claves únicas de la cita generada:

| 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 con Mapeos Externos)

``` json
{
    "council": {
        "name": "test creación cita",
        "companyExternalId": "EXT_COMP_2191",
        "statuteExternalId": "EXT_STAT_4685",
        "councilType": 5,
        "externalId": "SISTEMA_EXTERNO_001",
        "contactEmail": "soporte@entidad.com",
        "dateStart": "2026-05-16T15:00:00Z",
        "conveneText": "",
        "observations": "Estas son observaciones",
        "internalNotes": "Estas son notas internas",
        "language": "gal",
        "comment": "Opcional - Información visible mail de creación de cita",
        "readOnly": 0,
        "tag": "ADMIN"
    },
    "participant": {
        "name": "Name of participant",
        "surname": "Surname of participant",
        "idCardType": "dni",
        "dni": "11111111H",
        "idCardCountry": "ES",
        "email": "participant_email@domain.com",
        "phone": "+34600000000",
        "language": "gal",
        "zipcode": "00000"
    },
    "notifyCreation": true,
    "checkAgenda": true
}

 ```

### 3\. Ejemplo de comando cURL

``` bash
curl --location 'https://api.ovac.pre.councilbox.com/graphql' \
--header 'Content-Type: application/json' \
--header 'x-jwt-token: {{token}}' \
--data '{"query":"mutation createOneOnOneCouncil($council: CouncilInput, $participant: ParticipantInput, $representation: ParticipantInput, $notifyCreation: Boolean, $checkAgenda: Boolean, $guests: [ParticipantInput]){ createOneOnOneCouncil(council: $council, participant: $participant, representation: $representation, notifyCreation: $notifyCreation, checkAgenda: $checkAgenda, guests: $guests) { id accessLink creatorId } }","variables":{"council":{"name":"test creación cita","companyExternalId":"EXT_COMP_2191","statuteExternalId":"EXT_STAT_4685","councilType":5,"externalId":"SISTEMA_EXTERNO_001","contactEmail":"","dateStart":"2026-05-16T15:00:00Z","conveneText":"","observations":"Estas son observaciones","internalNotes":"Estas son notas internas","language":"gal","comment":"","readOnly":0,"tag":"ADMIN"},"participant":{"name":"Name of participant","surname":"Surname of participant","idCardType":"dni","dni":"11111111H","idCardCountry":"ES","email":"participant_email@domain.com","phone":"+34600000000","language":"gal","zipcode":"00000"},"notifyCreation":true,"checkAgenda":true}}'

 ```

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

``` json
{
    "data": {
        "createOneOnOneCouncil": {
            "id": 64917,
            "accessLink": "https://apitest.ovac.pre.councilbox.com/attendance/token/eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJjb3VuY2lsUGFydGljaXBhbnRJZCI6MjQ5MDE2LCJpZCI6MjQ5MDE2LCJpYXQiOjE3NzkzNjE2Njl9.facpLzBhYA-KmDt9j2zMA32gMhyyBzUc47PNlSyFkaA",
            "creatorId": 3476
        }
    }
}

 ```

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

## OpenAPI Specification

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


        Esta variante de la mutación de registro permite agendar y dar de alta
        una nueva cita en la plataforma vinculando la taxonomía del encuentro
        directamente a través de los identificadores e integraciones del sistema
        del cliente (`companyExternalId` y `statuteExternalId`), evitando
        depender de los IDs internos de la plataforma. Admite de manera nativa y
        opcional flujos avanzados con invitados o representación legal.


        ### Autenticación


        > **Tipo:** API Key**  

        Header:** `x-jwt-token`  

        **Ubicación:** Header HTTP_  

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

        ## Referencia de la API


        ### Variables Globales de Entrada


        | Parámetro | Descripción | Requerido | Tipo |

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

        | $notifyCreation | `true`: Envía una notificación automática de
        confirmación al ciudadano.  <br>`false`: Registra la cita
        silenciosamente.  <br>Por defecto: `true` | NO | Boolean |

        | $checkAgenda | `true`: Valida la disponibilidad horaria del agente
        antes de insertar.  <br>`false`: Omite la comprobación y fuerza la
        inserción. | SI | Boolean |

        | $council | Configuración técnica, fechas y taxonomía de la cita (Ver
        desglose abajo). | SI | Object |

        | $participant | Datos de identidad y contacto del participante (Ver
        desglose abajo). | SI | Object |

        | $representation | Datos del Representado. (Solo se rellena en flujos
        de representación legal). | NO | Object |

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


        | Parámetro | Descripción | Requerido | Tipo |

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

        | name | Nombre de pila del participante. | SI | String |

        | surname | Apellidos completos del participante. | SI | Integer |

        | idCardType | Tipo de documento de identidad. Valores admitidos:
        "`dni`", "`nif`", "`passport`", "`nie`", "`codiceFiscale`"
        (Identificador Italia), "`otherIDCards`" (cualquier documento de
        identificación), "`driversLicence`" (Licencia de conducir EEUU),
        "`europeanDocument`" (documento europeo, solo válido para los documentos
        de los países de europa) | SI | String |

        | dni | Número del documento de identidad o identificación fiscal. | SI
        | String |

        | idCardCountry | Código de país del documento en formato ISO 3166-1
        alfa-2 (ej. "ES"). | SI | String |

        | email | Dirección de correo electrónico donde el ciudadano recibirá
        las notificaciones. | SI | String |

        | phone | Teléfono móvil de contacto con prefijo internacional (ej.
        "+34600000000"). | SI | String |

        | language | Idioma en el que el ciudadano visualizará la interfaz de
        OVAC (ej. "es"). Por defecto, se obtiene el de la entidad/ogranización. 
        <br>Consultar método '`Languages`'. | NO | String |

        | zipcode | Código postal de residencia del participante. | NO | String
        |


        ### Campos de Respuesta (Payload)


        La respuesta exitosa devuelve el objeto `createOneOnOneCouncil` con las
        claves únicas de la cita generada:


        | 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 con Mapeos Externos)


        ``` json

        {
            "council": {
                "name": "test creación cita",
                "companyExternalId": "EXT_COMP_2191",
                "statuteExternalId": "EXT_STAT_4685",
                "councilType": 5,
                "externalId": "SISTEMA_EXTERNO_001",
                "contactEmail": "soporte@entidad.com",
                "dateStart": "2026-05-16T15:00:00Z",
                "conveneText": "",
                "observations": "Estas son observaciones",
                "internalNotes": "Estas son notas internas",
                "language": "gal",
                "comment": "Opcional - Información visible mail de creación de cita",
                "readOnly": 0,
                "tag": "ADMIN"
            },
            "participant": {
                "name": "Name of participant",
                "surname": "Surname of participant",
                "idCardType": "dni",
                "dni": "11111111H",
                "idCardCountry": "ES",
                "email": "participant_email@domain.com",
                "phone": "+34600000000",
                "language": "gal",
                "zipcode": "00000"
            },
            "notifyCreation": true,
            "checkAgenda": true
        }

         ```

        ### 3\. Ejemplo de comando cURL


        ``` bash

        curl --location 'https://api.ovac.pre.councilbox.com/graphql' \

        --header 'Content-Type: application/json' \

        --header 'x-jwt-token: {{token}}' \

        --data '{"query":"mutation createOneOnOneCouncil($council: CouncilInput,
        $participant: ParticipantInput, $representation: ParticipantInput,
        $notifyCreation: Boolean, $checkAgenda: Boolean, $guests:
        [ParticipantInput]){ createOneOnOneCouncil(council: $council,
        participant: $participant, representation: $representation,
        notifyCreation: $notifyCreation, checkAgenda: $checkAgenda, guests:
        $guests) { id accessLink creatorId }
        }","variables":{"council":{"name":"test creación
        cita","companyExternalId":"EXT_COMP_2191","statuteExternalId":"EXT_STAT_4685","councilType":5,"externalId":"SISTEMA_EXTERNO_001","contactEmail":"","dateStart":"2026-05-16T15:00:00Z","conveneText":"","observations":"Estas
        son observaciones","internalNotes":"Estas son notas
        internas","language":"gal","comment":"","readOnly":0,"tag":"ADMIN"},"participant":{"name":"Name
        of participant","surname":"Surname of
        participant","idCardType":"dni","dni":"11111111H","idCardCountry":"ES","email":"participant_email@domain.com","phone":"+34600000000","language":"gal","zipcode":"00000"},"notifyCreation":true,"checkAgenda":true}}'

         ```

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


        ``` json

        {
            "data": {
                "createOneOnOneCouncil": {
                    "id": 64917,
                    "accessLink": "https://apitest.ovac.pre.councilbox.com/attendance/token/eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJjb3VuY2lsUGFydGljaXBhbnRJZCI6MjQ5MDE2LCJpZCI6MjQ5MDE2LCJpYXQiOjE3NzkzNjE2Njl9.facpLzBhYA-KmDt9j2zMA32gMhyyBzUc47PNlSyFkaA",
                    "creatorId": 3476
                }
            }
        }

         ```

        > **Nota OpenAPI/Fern:** esta operación GraphQL se documenta como
        `/graphql/createoneononecouncil-4` 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_4_Response_200'
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                query:
                  type: string
                  description: GraphQL operation
                variables:
                  $ref: >-
                    #/components/schemas/GraphqlCreateoneononecouncil4PostRequestBodyContentApplicationJsonSchemaVariables
                  description: GraphQL variables
              required:
                - query
servers:
  - url: https://api.ovac.pre.councilbox.com
  - url: https://api.ovac.councilbox.com
components:
  schemas:
    GraphqlCreateoneononecouncil4PostRequestBodyContentApplicationJsonSchemaVariables:
      type: object
      properties: {}
      description: GraphQL variables
      title: >-
        GraphqlCreateoneononecouncil4PostRequestBodyContentApplicationJsonSchemaVariables
    OVAC_createOneOnOneCouncil_4_Response_200:
      type: object
      properties: {}
      title: OVAC_createOneOnOneCouncil_4_Response_200
  securitySchemes:
    JwtToken:
      type: apiKey
      in: header
      name: x-jwt-token
      description: JWT token obtained from Login.

```

## SDK Code Examples

```python Create Appointment_External
import requests

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

payload = {
    "query": "mutation createOneOnOneCouncil(
    $council: CouncilInput,
    $participant: ParticipantInput,
    $representation: ParticipantInput,
    $notifyCreation: Boolean,
    $checkAgenda: Boolean,
  ",
    "variables": {
        "council": {
            "name": "Consulta Legal sobre Contrato",
            "companyExternalId": "12345",
            "statuteExternalId": "67890",
            "councilType": 5,
            "externalId": "APPT-20240519-001",
            "contactEmail": "contacto@municipioejemplo.es",
            "dateStart": "2026-05-19T15:00Z",
            "conveneText": "Se convoca a la reunión para tratar asuntos legales relacionados con contratos.",
            "observations": "El participante debe traer documentación relevante.",
            "internalNotes": "Revisar historial previo antes de la cita.",
            "language": "es",
            "comment": "Confirmar asistencia vía email.",
            "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"
        },
        "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_External
const url = 'https://api.ovac.pre.councilbox.com/graphql/createoneononecouncil-4';
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 sobre Contrato","companyExternalId":"12345","statuteExternalId":"67890","councilType":5,"externalId":"APPT-20240519-001","contactEmail":"contacto@municipioejemplo.es","dateStart":"2026-05-19T15:00Z","conveneText":"Se convoca a la reunión para tratar asuntos legales relacionados con contratos.","observations":"El participante debe traer documentación relevante.","internalNotes":"Revisar historial previo antes de la cita.","language":"es","comment":"Confirmar asistencia vía email.","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"},"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_External
package main

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

func main() {

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

	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 sobre Contrato\",\n      \"companyExternalId\": \"12345\",\n      \"statuteExternalId\": \"67890\",\n      \"councilType\": 5,\n      \"externalId\": \"APPT-20240519-001\",\n      \"contactEmail\": \"contacto@municipioejemplo.es\",\n      \"dateStart\": \"2026-05-19T15:00Z\",\n      \"conveneText\": \"Se convoca a la reunión para tratar asuntos legales relacionados con contratos.\",\n      \"observations\": \"El participante debe traer documentación relevante.\",\n      \"internalNotes\": \"Revisar historial previo antes de la cita.\",\n      \"language\": \"es\",\n      \"comment\": \"Confirmar asistencia vía email.\",\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    \"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_External
require 'uri'
require 'net/http'

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

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 sobre Contrato\",\n      \"companyExternalId\": \"12345\",\n      \"statuteExternalId\": \"67890\",\n      \"councilType\": 5,\n      \"externalId\": \"APPT-20240519-001\",\n      \"contactEmail\": \"contacto@municipioejemplo.es\",\n      \"dateStart\": \"2026-05-19T15:00Z\",\n      \"conveneText\": \"Se convoca a la reunión para tratar asuntos legales relacionados con contratos.\",\n      \"observations\": \"El participante debe traer documentación relevante.\",\n      \"internalNotes\": \"Revisar historial previo antes de la cita.\",\n      \"language\": \"es\",\n      \"comment\": \"Confirmar asistencia vía email.\",\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    \"notifyCreation\": true,\n    \"checkAgenda\": true\n  }\n}"

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

```java Create Appointment_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-4")
  .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 sobre Contrato\",\n      \"companyExternalId\": \"12345\",\n      \"statuteExternalId\": \"67890\",\n      \"councilType\": 5,\n      \"externalId\": \"APPT-20240519-001\",\n      \"contactEmail\": \"contacto@municipioejemplo.es\",\n      \"dateStart\": \"2026-05-19T15:00Z\",\n      \"conveneText\": \"Se convoca a la reunión para tratar asuntos legales relacionados con contratos.\",\n      \"observations\": \"El participante debe traer documentación relevante.\",\n      \"internalNotes\": \"Revisar historial previo antes de la cita.\",\n      \"language\": \"es\",\n      \"comment\": \"Confirmar asistencia vía email.\",\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    \"notifyCreation\": true,\n    \"checkAgenda\": true\n  }\n}")
  .asString();
```

```php Create Appointment_External
<?php
require_once('vendor/autoload.php');

$client = new \GuzzleHttp\Client();

$response = $client->request('POST', 'https://api.ovac.pre.councilbox.com/graphql/createoneononecouncil-4', [
  '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 sobre Contrato",
      "companyExternalId": "12345",
      "statuteExternalId": "67890",
      "councilType": 5,
      "externalId": "APPT-20240519-001",
      "contactEmail": "contacto@municipioejemplo.es",
      "dateStart": "2026-05-19T15:00Z",
      "conveneText": "Se convoca a la reunión para tratar asuntos legales relacionados con contratos.",
      "observations": "El participante debe traer documentación relevante.",
      "internalNotes": "Revisar historial previo antes de la cita.",
      "language": "es",
      "comment": "Confirmar asistencia vía email.",
      "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"
    },
    "notifyCreation": true,
    "checkAgenda": true
  }
}',
  'headers' => [
    'Content-Type' => 'application/json',
    'x-jwt-token' => '<apiKey>',
  ],
]);

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

```csharp Create Appointment_External
using RestSharp;

var client = new RestClient("https://api.ovac.pre.councilbox.com/graphql/createoneononecouncil-4");
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 sobre Contrato\",\n      \"companyExternalId\": \"12345\",\n      \"statuteExternalId\": \"67890\",\n      \"councilType\": 5,\n      \"externalId\": \"APPT-20240519-001\",\n      \"contactEmail\": \"contacto@municipioejemplo.es\",\n      \"dateStart\": \"2026-05-19T15:00Z\",\n      \"conveneText\": \"Se convoca a la reunión para tratar asuntos legales relacionados con contratos.\",\n      \"observations\": \"El participante debe traer documentación relevante.\",\n      \"internalNotes\": \"Revisar historial previo antes de la cita.\",\n      \"language\": \"es\",\n      \"comment\": \"Confirmar asistencia vía email.\",\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    \"notifyCreation\": true,\n    \"checkAgenda\": true\n  }\n}", ParameterType.RequestBody);
IRestResponse response = client.Execute(request);
```

```swift Create Appointment_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 sobre Contrato",
      "companyExternalId": "12345",
      "statuteExternalId": "67890",
      "councilType": 5,
      "externalId": "APPT-20240519-001",
      "contactEmail": "contacto@municipioejemplo.es",
      "dateStart": "2026-05-19T15:00Z",
      "conveneText": "Se convoca a la reunión para tratar asuntos legales relacionados con contratos.",
      "observations": "El participante debe traer documentación relevante.",
      "internalNotes": "Revisar historial previo antes de la cita.",
      "language": "es",
      "comment": "Confirmar asistencia vía email.",
      "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"
    ],
    "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-4")! 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()
```