List Connected Agencies
GET
/companies/{id}/connected-agenciesAgency-scoped keys
This endpoint is not available for agency-scoped API keys.
Summary
Returns the agencies connected to a company, including supplier relationship details used for access, tiering, and configuration.
The response includes supplierType (agency or umbrella) from the company connection, defaulting to agency for existing connections. Project settings do not override this classification. For umbrella suppliers, display rate types without an Agency or Umbrella prefix. Stored rateType values remain unchanged.
URL Parameters
| Name | Type | Required | Description |
|---|---|---|---|
| id | string | Yes | Company identifier |
Query Parameters
| Name | Type | Required | Description |
|---|---|---|---|
| page | integer | No | Page number (default 1) |
| limit | integer | No | Records per page (default 50, max 200) |
| query | string | No | Case-insensitive search against connected-agency name and email |
| from | string | No | Created date filter start (YYYY-MM-DD) |
| to | string | No | Created date filter end (YYYY-MM-DD) |
| sortBy | enum(createdAt, updatedAt, name, tier) | No | Sort field (default name) |
| sortOrder | enum(asc, desc) | No | Sort direction (default asc) |
| fields | string | No | Comma-separated list of response fields or dot-path nested fields to return |
Request Example
- cURL
- JavaScript
- Python
- Go
curl -X GET 'https://api.requidex.com/api/open/v1/companies/{id}/connected-agencies' \
-H 'Authorization: Bearer <API_KEY>' \
-H 'Accept: application/json'
const response = await fetch("https://api.requidex.com/api/open/v1/companies/{id}/connected-agencies", {
method: "GET",
headers: {
Authorization: "Bearer <API_KEY>",
Accept: "application/json",
},
});
const json = await response.json();
import requests
response = requests.request(
'GET',
'https://api.requidex.com/api/open/v1/companies/{id}/connected-agencies',
headers={
'Authorization': 'Bearer <API_KEY>',
'Accept': 'application/json',
},
timeout=30,
)
print(response.json())
package main
import (
"fmt"
"io"
"net/http"
)
func main() {
req, _ := http.NewRequest("GET", "https://api.requidex.com/api/open/v1/companies/{id}/connected-agencies", nil)
req.Header.Set("Authorization", "Bearer <API_KEY>")
req.Header.Set("Accept", "application/json")
client := &http.Client{}
resp, err := client.Do(req)
if err != nil {
panic(err)
}
defer resp.Body.Close()
payload, _ := io.ReadAll(resp.Body)
fmt.Println(string(payload))
}
Response Fields
| Field | Type | Description |
|---|---|---|
| afp | boolean | Whether AfP is enabled |
| agency | object | Show child attributes
|
| cis | object | Optional CIS status object Show child attributes
|
| connectionLevel | string | Connection level. Company results always return company |
| createdAt | string | Creation timestamp |
| drc | boolean | Whether domestic reverse charge is enabled |
| string | Override email address for the connected agency | |
| id | string | Connected-agency record id |
| invoice | boolean | Whether invoicing is enabled for the connected agency |
| markupAdjustment | number | Default agency markup adjustment in percentage points |
| paymentTerms | object | Optional payment terms object Show child attributes
|
| rateUplifts | array[object] | Custom uplift rules Show child attributes
|
| restricted | boolean | Whether the connected agency is restricted |
| tier | integer | Agency tier |
| tradeMarkupAdjustments | array[object] | Trade-specific agency markup adjustments. A matching adjustment replaces markupAdjustment for that trade. Each item contains a trade reference and numeric adjustment in percentage points |
| tradeUpliftOverrides | array[object] | Trade-specific agency uplift overrides. A matching override replaces the agency-wide uplift configuration for that trade. Each item contains a trade reference, a mode of standard or enhanced, and the corresponding rateUplifts or enhancedUplifts configuration |
| updatedAt | string | Last update timestamp |
Response Example (200)
{
"success": true,
"data": [
{
"id": "67bc36db80a1616ec3f47070",
"agency": {
"id": "67bc36db80a1616ec3f47060",
"name": "Agency One"
},
"connectionLevel": "company",
"cis": {
"name": "Gross",
"value": 0,
"display": "0%"
},
"tier": 1,
"restricted": false,
"invoice": true,
"drc": false,
"afp": false,
"email": "ops@agency-one.example",
"paymentTerms": {
"days": 30,
"term": "invoice"
},
"markupAdjustment": 12.5,
"tradeMarkupAdjustments": [
{
"trade": {
"id": "67bc36db80a1616ec3f47020",
"name": "Electrician"
},
"adjustment": 4
}
],
"rateUplifts": [
{
"description": "Saturday",
"type": "saturday",
"uplift": 50,
"regions": [
{
"id": "67bc36db80a1616ec3f47010",
"name": "South East",
"uplift": 60
}
]
}
],
"tradeUpliftOverrides": [
{
"trade": {
"id": "67bc36db80a1616ec3f47020",
"name": "Electrician"
},
"mode": "standard",
"rateUplifts": [
{
"description": "Sunday",
"type": "sunday",
"uplift": 75,
"regions": []
}
]
}
],
"createdAt": "2026-01-10T12:00:00.000Z",
"updatedAt": "2026-02-20T14:03:12.111Z"
}
],
"meta": {
"page": 1,
"limit": 50,
"total": 1
}
}
MCP Tool
The MCP server exposes this operation as open_api_list_company_connected_agencies with the inputs id, page, limit, query, from, to, sortBy, sortOrder, and fields.
Errors
| HTTP Status | Description |
|---|---|
| 400 | Invalid filters or parameters |
| 401 | Missing, invalid, revoked, or expired API key |
| 403 | Forbidden due to scope or IP restrictions |
| 404 | Company not found |
| 405 | Method not allowed on Open API routes |
| 429 | Rate limit exceeded |
| 500 | Unexpected internal error |