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

# Add step to appointment

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

# Add step to appointment (`mutation`)

Esta operación permite añadir dinámicamente un nuevo paso durante la ejecución de la cita/gestión, por ejemplo, un consentimiento explícito. De forma automática, en vivo, se añadirá un nuevo paso en la plataforma como complemento a la cita/gestión.

### Autenticación

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

## Referencia de la API

### Parámetros de entrada (variables)

| Parámetro | Descripción | Requerido | Tipo |
| --- | --- | --- | --- |
| agenda | Objeto contenedor principal con las propiedades técnicas del punto a insertar. | SI | Object |
| agenda.**councilId** | Identificador numérico único de la cita existente a la cual se asociará el punto. | SI | Integer |
| agenda.**subjectType** | Código numérico que define el comportamiento del punto en la interfaz:  <br>`9` -> Consentimiento explícito . | SI |  |
| agenda.**agendaSubject** | Enunciado, título literal o descripción pública de la votación o consentimiento legal. | NO | String |

### Campos de respuesta (Payload)

La mutación devuelve un objeto estructurado bajo el campo raíz `addAgendaPoint:`

| Parámetro | Descripción | Tipo |
| --- | --- | --- |
| addAgendaPoint | Objeto con el resultado del punto del orden del día registrado. | Object |
| addAgendaPoint.id | Identificador único generado para el nuevo punto del orden del día insertado | Integer |

## Ejemplos de código y peticiones

### 1\. Consulta GraphQL

``` graphql
mutation AddAgendaPoint (
    $agenda: AgendaInput
){
    addAgendaPoint(
        agenda: $agenda
    ) {
        id
    }
}

 ```

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

``` json
{
    "agenda": {
        "councilId": 65167,
        "subjectType": 9,
        "agendaSubject": "TEST API"
    }
}

 ```

### 3\. Ejemplo de comando cURL

``` bash
curl --location 'https://api.ovac.pre.councilbox.com/graphql' \
--header 'Content-Type: application/json' \
--header 'x-jwt-token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJqdGkiOiJiNmQxOTY3ZS04MDY3LTRiMDUtYjQ0MS0zZmFhYWVlN2M3ZDUiLCJ1c2VyX2lkIjozND76LCJ0b2tlbl90eXBlIjoidXNlciIsImlhdCI6MTc4MTA3NjAyMH0.aXYLM7tX0xYjzi4m7gGNUlZ4Dj15cG-iIakmzGwhDTs' \
--data '{"query":"mutation AddAgendaPoint ($agenda: AgendaInput){ addAgendaPoint(agenda: $agenda) { id } }","variables":{"agenda":{"councilId":65167,"subjectType":9,"agendaSubject":"TEST API"}}}'

 ```

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

``` json
{
    "data": {
        "addAgendaPoint": {
            "id": 91051
        }
    }
}

 ```

> **Nota OpenAPI/Fern:** esta operación GraphQL se documenta como `/graphql/addagendapoint` 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/08-remote-council-actions/add-agenda-point

## OpenAPI Specification

```yaml
openapi: 3.1.0
info:
  title: ovac
  version: 1.0.0
paths:
  /graphql/addagendapoint:
    post:
      operationId: add-agenda-point
      summary: Add step to appointment
      description: >
        # Add step to appointment (`mutation`)


        Esta operación permite añadir dinámicamente un nuevo paso durante la
        ejecución de la cita/gestión, por ejemplo, un consentimiento explícito.
        De forma automática, en vivo, se añadirá un nuevo paso en la plataforma
        como complemento a la cita/gestión.


        ### Autenticación


        > **Tipo:** API Key**  

        Header:** `x-jwt-token`  

        **Ubicación:** Header HTTP_  

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

        ## Referencia de la API


        ### Parámetros de entrada (variables)


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

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

        | agenda | Objeto contenedor principal con las propiedades técnicas del
        punto a insertar. | SI | Object |

        | agenda.**councilId** | Identificador numérico único de la cita
        existente a la cual se asociará el punto. | SI | Integer |

        | agenda.**subjectType** | Código numérico que define el comportamiento
        del punto en la interfaz:  <br>`9` -> Consentimiento explícito . | SI | 
        |

        | agenda.**agendaSubject** | Enunciado, título literal o descripción
        pública de la votación o consentimiento legal. | NO | String |


        ### Campos de respuesta (Payload)


        La mutación devuelve un objeto estructurado bajo el campo raíz
        `addAgendaPoint:`


        | Parámetro | Descripción | Tipo |

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

        | addAgendaPoint | Objeto con el resultado del punto del orden del día
        registrado. | Object |

        | addAgendaPoint.id | Identificador único generado para el nuevo punto
        del orden del día insertado | Integer |


        ## Ejemplos de código y peticiones


        ### 1\. Consulta GraphQL


        ``` graphql

        mutation AddAgendaPoint (
            $agenda: AgendaInput
        ){
            addAgendaPoint(
                agenda: $agenda
            ) {
                id
            }
        }

         ```

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


        ``` json

        {
            "agenda": {
                "councilId": 65167,
                "subjectType": 9,
                "agendaSubject": "TEST API"
            }
        }

         ```

        ### 3\. Ejemplo de comando cURL


        ``` bash

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

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

        --header 'x-jwt-token:
        eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJqdGkiOiJiNmQxOTY3ZS04MDY3LTRiMDUtYjQ0MS0zZmFhYWVlN2M3ZDUiLCJ1c2VyX2lkIjozND76LCJ0b2tlbl90eXBlIjoidXNlciIsImlhdCI6MTc4MTA3NjAyMH0.aXYLM7tX0xYjzi4m7gGNUlZ4Dj15cG-iIakmzGwhDTs'
        \

        --data '{"query":"mutation AddAgendaPoint ($agenda: AgendaInput){
        addAgendaPoint(agenda: $agenda) { id }
        }","variables":{"agenda":{"councilId":65167,"subjectType":9,"agendaSubject":"TEST
        API"}}}'

         ```

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


        ``` json

        {
            "data": {
                "addAgendaPoint": {
                    "id": 91051
                }
            }
        }

         ```

        > **Nota OpenAPI/Fern:** esta operación GraphQL se documenta como
        `/graphql/addagendapoint` para que Fern pueda mostrarla como operación
        independiente. La ruta técnica real de ejecución es `POST /graphql`.
      tags:
        - subpackage_08RemoteCouncilActions
      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/08 - Remote Council
                  Actions_addAgendaPoint_Response_200
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                query:
                  type: string
                  description: GraphQL operation
                variables:
                  $ref: >-
                    #/components/schemas/GraphqlAddagendapointPostRequestBodyContentApplicationJsonSchemaVariables
                  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:
    GraphqlAddagendapointPostRequestBodyContentApplicationJsonSchemaVariables:
      type: object
      properties: {}
      description: GraphQL variables
      title: >-
        GraphqlAddagendapointPostRequestBodyContentApplicationJsonSchemaVariables
    08 - Remote Council Actions_addAgendaPoint_Response_200:
      type: object
      properties: {}
      title: 08 - Remote Council Actions_addAgendaPoint_Response_200
  securitySchemes:
    JwtToken:
      type: apiKey
      in: header
      name: x-jwt-token
      description: JWT token obtained from Login.

```

## Examples



**Request**

```json
{
  "query": "mutation AddAgendaPoint (\r\n    $agenda: AgendaInput\r\n){\r\n    addAgendaPoint(\r\n        agenda: $agenda\r\n    ) {\r\n        id\r\n    }\r\n}",
  "variables": {
    "agenda": {
      "councilId": 65167,
      "subjectType": 9,
      "agendaSubject": "TEST API"
    }
  }
}
```

**Response**

```json
{
  "data": {
    "addAgendaPoint": {
      "id": 91051
    }
  }
}
```

**SDK Code**

```python Add step to appointment
import requests

url = "https://api.ovac.pre.councilbox.com/graphql/addagendapoint"

payload = {
    "query": "mutation AddAgendaPoint (
    $agenda: AgendaInput
){
    addAgendaPoint(
        agenda: $agenda
    ) {
        id
    }
}",
    "variables": { "agenda": {
            "councilId": 65167,
            "subjectType": 9,
            "agendaSubject": "TEST API"
        } }
}
headers = {
    "x-jwt-token": "<apiKey>",
    "Content-Type": "application/json"
}

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

print(response.json())
```

```javascript Add step to appointment
const url = 'https://api.ovac.pre.councilbox.com/graphql/addagendapoint';
const options = {
  method: 'POST',
  headers: {'x-jwt-token': '<apiKey>', 'Content-Type': 'application/json'},
  body: '{"query":"mutation AddAgendaPoint (\r\n    $agenda: AgendaInput\r\n){\r\n    addAgendaPoint(\r\n        agenda: $agenda\r\n    ) {\r\n        id\r\n    }\r\n}","variables":{"agenda":{"councilId":65167,"subjectType":9,"agendaSubject":"TEST API"}}}'
};

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

```go Add step to appointment
package main

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

func main() {

	url := "https://api.ovac.pre.councilbox.com/graphql/addagendapoint"

	payload := strings.NewReader("{\n  \"query\": \"mutation AddAgendaPoint (\\r\\n    $agenda: AgendaInput\\r\\n){\\r\\n    addAgendaPoint(\\r\\n        agenda: $agenda\\r\\n    ) {\\r\\n        id\\r\\n    }\\r\\n}\",\n  \"variables\": {\n    \"agenda\": {\n      \"councilId\": 65167,\n      \"subjectType\": 9,\n      \"agendaSubject\": \"TEST API\"\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 Add step to appointment
require 'uri'
require 'net/http'

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

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 AddAgendaPoint (\\r\\n    $agenda: AgendaInput\\r\\n){\\r\\n    addAgendaPoint(\\r\\n        agenda: $agenda\\r\\n    ) {\\r\\n        id\\r\\n    }\\r\\n}\",\n  \"variables\": {\n    \"agenda\": {\n      \"councilId\": 65167,\n      \"subjectType\": 9,\n      \"agendaSubject\": \"TEST API\"\n    }\n  }\n}"

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

```java Add step to appointment
import com.mashape.unirest.http.HttpResponse;
import com.mashape.unirest.http.Unirest;

HttpResponse<String> response = Unirest.post("https://api.ovac.pre.councilbox.com/graphql/addagendapoint")
  .header("x-jwt-token", "<apiKey>")
  .header("Content-Type", "application/json")
  .body("{\n  \"query\": \"mutation AddAgendaPoint (\\r\\n    $agenda: AgendaInput\\r\\n){\\r\\n    addAgendaPoint(\\r\\n        agenda: $agenda\\r\\n    ) {\\r\\n        id\\r\\n    }\\r\\n}\",\n  \"variables\": {\n    \"agenda\": {\n      \"councilId\": 65167,\n      \"subjectType\": 9,\n      \"agendaSubject\": \"TEST API\"\n    }\n  }\n}")
  .asString();
```

```php Add step to appointment
<?php
require_once('vendor/autoload.php');

$client = new \GuzzleHttp\Client();

$response = $client->request('POST', 'https://api.ovac.pre.councilbox.com/graphql/addagendapoint', [
  'body' => '{
  "query": "mutation AddAgendaPoint (\\r\\n    $agenda: AgendaInput\\r\\n){\\r\\n    addAgendaPoint(\\r\\n        agenda: $agenda\\r\\n    ) {\\r\\n        id\\r\\n    }\\r\\n}",
  "variables": {
    "agenda": {
      "councilId": 65167,
      "subjectType": 9,
      "agendaSubject": "TEST API"
    }
  }
}',
  'headers' => [
    'Content-Type' => 'application/json',
    'x-jwt-token' => '<apiKey>',
  ],
]);

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

```csharp Add step to appointment
using RestSharp;

var client = new RestClient("https://api.ovac.pre.councilbox.com/graphql/addagendapoint");
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 AddAgendaPoint (\\r\\n    $agenda: AgendaInput\\r\\n){\\r\\n    addAgendaPoint(\\r\\n        agenda: $agenda\\r\\n    ) {\\r\\n        id\\r\\n    }\\r\\n}\",\n  \"variables\": {\n    \"agenda\": {\n      \"councilId\": 65167,\n      \"subjectType\": 9,\n      \"agendaSubject\": \"TEST API\"\n    }\n  }\n}", ParameterType.RequestBody);
IRestResponse response = client.Execute(request);
```

```swift Add step to appointment
import Foundation

let headers = [
  "x-jwt-token": "<apiKey>",
  "Content-Type": "application/json"
]
let parameters = [
  "query": "mutation AddAgendaPoint (
    $agenda: AgendaInput
){
    addAgendaPoint(
        agenda: $agenda
    ) {
        id
    }
}",
  "variables": ["agenda": [
      "councilId": 65167,
      "subjectType": 9,
      "agendaSubject": "TEST API"
    ]]
] as [String : Any]

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

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