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

# Organization companies

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

# Organization Companies (`query`)

Esta operación permite listar todas las entidades o empresas vinculadas directamente a una organización raíz (corporación). Incluye soporte nativo para paginación a través de un objeto de opciones, lo que permite segmentar y limitar el volumen de registros devueltos en ecosistemas corporativos grandes.

### 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 |
| --- | --- | --- | --- |
| organizationId | Identificador único de la organización raíz (corporación) en la plataforma. | SI | Integer |
| options | Objeto de configuración para la paginación de resultados. | NO | OptionsInput |
| options.**limit** | Cantidad máxima de registros a devolver en la página actual (ej. 5). | NO | Integer |
| options.**offset** | Número de registros que se omitirán desde el inicio (punto de corte para paginar). | NO | Integer |

### Campos de Respuesta (Payload)

La consulta devuelve un objeto contenedor `organizationCompanies` con los datos de paginación y el listado de empresas:

| Parámetro | Descripción | Tipo |
| --- | --- | --- |
| organizationCompanies | Objeto contenedor con el listado y el total de entidades mapeadas. | Objeto |
| organizationCompanies.list | Array de objetos con el detalle individual de cada entidad vinculada. | Array |
| organizationCompanies.list\[\].**id** | Identificador numérico único de la entidad o empresa en el sistema. | Integer |
| organizationCompanies.list\[\].**businessName** | Razón social, nombre comercial o denominación oficial de la entidad. | String |
| organizationCompanies.list\[\].**tin** | Número de Identificación Fiscal (NIF/CIF) de la entidad (si no consta, devuelve null). | String |
| organizationCompanies.list\[\].**language** | Muestra los idiomas configurados en la organización | String |
| organizationCompanies.**total** | Cantidad total absoluta de entidades que pertenecen a la organización. | String |

## Ejemplos de Código y Peticiones

### 1\. Consulta GraphQL

``` graphql
query OrganizationCompanies($options: OptionsInput, $organizationId: Int!) {
    organizationCompanies(options: $options, organizationId: $organizationId) {
        list {
            id
            businessName
            tin
        }
        total
    }
}

 ```

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

``` json
{
    "options": {
        "limit": 5,
        "offset": 0
    },
    "organizationId": 2191
}

 ```

### 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":"query OrganizationCompanies($options: OptionsInput, $organizationId: Int!){ organizationCompanies(options: $options, organizationId: $organizationId){ list{ id businessName tin } total } }","variables":{"options":{"limit":5,"offset":0},"organizationId":2191}}'

 ```

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

``` json
{
    "data": {
        "organizationCompanies": {
            "list": [
                {
                    "id": 2191,
                    "businessName": "TEST API",
                    "tin": null
                }
            ],
            "total": 1
        }
    }
}

 ```

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

## OpenAPI Specification

```yaml
openapi: 3.1.0
info:
  title: ovac
  version: 1.0.0
paths:
  /graphql/organizationcompanies:
    post:
      operationId: organization-companies
      summary: Organization companies
      description: >
        # Organization Companies (`query`)


        Esta operación permite listar todas las entidades o empresas vinculadas
        directamente a una organización raíz (corporación). Incluye soporte
        nativo para paginación a través de un objeto de opciones, lo que permite
        segmentar y limitar el volumen de registros devueltos en ecosistemas
        corporativos grandes.


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

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

        | organizationId | Identificador único de la organización raíz
        (corporación) en la plataforma. | SI | Integer |

        | options | Objeto de configuración para la paginación de resultados. |
        NO | OptionsInput |

        | options.**limit** | Cantidad máxima de registros a devolver en la
        página actual (ej. 5). | NO | Integer |

        | options.**offset** | Número de registros que se omitirán desde el
        inicio (punto de corte para paginar). | NO | Integer |


        ### Campos de Respuesta (Payload)


        La consulta devuelve un objeto contenedor `organizationCompanies` con
        los datos de paginación y el listado de empresas:


        | Parámetro | Descripción | Tipo |

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

        | organizationCompanies | Objeto contenedor con el listado y el total de
        entidades mapeadas. | Objeto |

        | organizationCompanies.list | Array de objetos con el detalle
        individual de cada entidad vinculada. | Array |

        | organizationCompanies.list\[\].**id** | Identificador numérico único
        de la entidad o empresa en el sistema. | Integer |

        | organizationCompanies.list\[\].**businessName** | Razón social, nombre
        comercial o denominación oficial de la entidad. | String |

        | organizationCompanies.list\[\].**tin** | Número de Identificación
        Fiscal (NIF/CIF) de la entidad (si no consta, devuelve null). | String |

        | organizationCompanies.list\[\].**language** | Muestra los idiomas
        configurados en la organización | String |

        | organizationCompanies.**total** | Cantidad total absoluta de entidades
        que pertenecen a la organización. | String |


        ## Ejemplos de Código y Peticiones


        ### 1\. Consulta GraphQL


        ``` graphql

        query OrganizationCompanies($options: OptionsInput, $organizationId:
        Int!) {
            organizationCompanies(options: $options, organizationId: $organizationId) {
                list {
                    id
                    businessName
                    tin
                }
                total
            }
        }

         ```

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


        ``` json

        {
            "options": {
                "limit": 5,
                "offset": 0
            },
            "organizationId": 2191
        }

         ```

        ### 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":"query OrganizationCompanies($options: OptionsInput,
        $organizationId: Int!){ organizationCompanies(options: $options,
        organizationId: $organizationId){ list{ id businessName tin } total }
        }","variables":{"options":{"limit":5,"offset":0},"organizationId":2191}}'

         ```

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


        ``` json

        {
            "data": {
                "organizationCompanies": {
                    "list": [
                        {
                            "id": 2191,
                            "businessName": "TEST API",
                            "tin": null
                        }
                    ],
                    "total": 1
                }
            }
        }

         ```

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

```

## SDK Code Examples

```python Organization companies
import requests

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

payload = {
    "query": "query OrganizationCompanies
(
    $options: OptionsInput, 
    $organizationId: Int!)
    {
    organizationCompanies(
        options: $options, 
        organizationId: $organizationId){
            list{
                id
                businessName
                tin
                language
            }
        total
        }
    }",
    "variables": {
        "options": {
            "limit": 5,
            "offset": 0
        },
        "organizationId": 1234
    }
}
headers = {
    "x-jwt-token": "<apiKey>",
    "Content-Type": "application/json"
}

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

print(response.json())
```

```javascript Organization companies
const url = 'https://api.ovac.pre.councilbox.com/graphql/organizationcompanies';
const options = {
  method: 'POST',
  headers: {'x-jwt-token': '<apiKey>', 'Content-Type': 'application/json'},
  body: '{"query":"query OrganizationCompanies\r\n(\r\n    $options: OptionsInput, \r\n    $organizationId: Int!)\r\n    {\r\n    organizationCompanies(\r\n        options: $options, \r\n        organizationId: $organizationId){\r\n            list{\r\n                id\r\n                businessName\r\n                tin\r\n                language\r\n            }\r\n        total\r\n        }\r\n    }","variables":{"options":{"limit":5,"offset":0},"organizationId":1234}}'
};

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

```go Organization companies
package main

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

func main() {

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

	payload := strings.NewReader("{\n  \"query\": \"query OrganizationCompanies\\r\\n(\\r\\n    $options: OptionsInput, \\r\\n    $organizationId: Int!)\\r\\n    {\\r\\n    organizationCompanies(\\r\\n        options: $options, \\r\\n        organizationId: $organizationId){\\r\\n            list{\\r\\n                id\\r\\n                businessName\\r\\n                tin\\r\\n                language\\r\\n            }\\r\\n        total\\r\\n        }\\r\\n    }\",\n  \"variables\": {\n    \"options\": {\n      \"limit\": 5,\n      \"offset\": 0\n    },\n    \"organizationId\": 1234\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 Organization companies
require 'uri'
require 'net/http'

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

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\": \"query OrganizationCompanies\\r\\n(\\r\\n    $options: OptionsInput, \\r\\n    $organizationId: Int!)\\r\\n    {\\r\\n    organizationCompanies(\\r\\n        options: $options, \\r\\n        organizationId: $organizationId){\\r\\n            list{\\r\\n                id\\r\\n                businessName\\r\\n                tin\\r\\n                language\\r\\n            }\\r\\n        total\\r\\n        }\\r\\n    }\",\n  \"variables\": {\n    \"options\": {\n      \"limit\": 5,\n      \"offset\": 0\n    },\n    \"organizationId\": 1234\n  }\n}"

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

```java Organization companies
import com.mashape.unirest.http.HttpResponse;
import com.mashape.unirest.http.Unirest;

HttpResponse<String> response = Unirest.post("https://api.ovac.pre.councilbox.com/graphql/organizationcompanies")
  .header("x-jwt-token", "<apiKey>")
  .header("Content-Type", "application/json")
  .body("{\n  \"query\": \"query OrganizationCompanies\\r\\n(\\r\\n    $options: OptionsInput, \\r\\n    $organizationId: Int!)\\r\\n    {\\r\\n    organizationCompanies(\\r\\n        options: $options, \\r\\n        organizationId: $organizationId){\\r\\n            list{\\r\\n                id\\r\\n                businessName\\r\\n                tin\\r\\n                language\\r\\n            }\\r\\n        total\\r\\n        }\\r\\n    }\",\n  \"variables\": {\n    \"options\": {\n      \"limit\": 5,\n      \"offset\": 0\n    },\n    \"organizationId\": 1234\n  }\n}")
  .asString();
```

```php Organization companies
<?php
require_once('vendor/autoload.php');

$client = new \GuzzleHttp\Client();

$response = $client->request('POST', 'https://api.ovac.pre.councilbox.com/graphql/organizationcompanies', [
  'body' => '{
  "query": "query OrganizationCompanies\\r\\n(\\r\\n    $options: OptionsInput, \\r\\n    $organizationId: Int!)\\r\\n    {\\r\\n    organizationCompanies(\\r\\n        options: $options, \\r\\n        organizationId: $organizationId){\\r\\n            list{\\r\\n                id\\r\\n                businessName\\r\\n                tin\\r\\n                language\\r\\n            }\\r\\n        total\\r\\n        }\\r\\n    }",
  "variables": {
    "options": {
      "limit": 5,
      "offset": 0
    },
    "organizationId": 1234
  }
}',
  'headers' => [
    'Content-Type' => 'application/json',
    'x-jwt-token' => '<apiKey>',
  ],
]);

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

```csharp Organization companies
using RestSharp;

var client = new RestClient("https://api.ovac.pre.councilbox.com/graphql/organizationcompanies");
var request = new RestRequest(Method.POST);
request.AddHeader("x-jwt-token", "<apiKey>");
request.AddHeader("Content-Type", "application/json");
request.AddParameter("application/json", "{\n  \"query\": \"query OrganizationCompanies\\r\\n(\\r\\n    $options: OptionsInput, \\r\\n    $organizationId: Int!)\\r\\n    {\\r\\n    organizationCompanies(\\r\\n        options: $options, \\r\\n        organizationId: $organizationId){\\r\\n            list{\\r\\n                id\\r\\n                businessName\\r\\n                tin\\r\\n                language\\r\\n            }\\r\\n        total\\r\\n        }\\r\\n    }\",\n  \"variables\": {\n    \"options\": {\n      \"limit\": 5,\n      \"offset\": 0\n    },\n    \"organizationId\": 1234\n  }\n}", ParameterType.RequestBody);
IRestResponse response = client.Execute(request);
```

```swift Organization companies
import Foundation

let headers = [
  "x-jwt-token": "<apiKey>",
  "Content-Type": "application/json"
]
let parameters = [
  "query": "query OrganizationCompanies
(
    $options: OptionsInput, 
    $organizationId: Int!)
    {
    organizationCompanies(
        options: $options, 
        organizationId: $organizationId){
            list{
                id
                businessName
                tin
                language
            }
        total
        }
    }",
  "variables": [
    "options": [
      "limit": 5,
      "offset": 0
    ],
    "organizationId": 1234
  ]
] as [String : Any]

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

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