GET /projects/{id}/connected-agencies
Summary
List connected agencies
URL Parameters
| Name | Type | Required | Description |
|---|---|---|---|
| id | string | Yes | Project 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) |
Request Body Fields
No request body is accepted for this endpoint.
Request Example
- cURL
- JavaScript
- Python
- Go
curl -X GET 'https://api.requidex.com/api/open/v1/projects/{id}/connected-agencies' \
-H 'Authorization: Bearer <API_KEY>' \
-H 'Accept: application/json'
const response = await fetch("https://api.requidex.com/api/open/v1/projects/{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/projects/{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/projects/{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 |
|---|---|---|
| id | string | Connected-agency record id |
| agency | object | Show child attributes
|
| connectionLevel | string | Whether the connection comes from the project itself or from the parent company |
| cis | object | Optional CIS status object Show child attributes
|
| tier | integer | Agency tier |
| restricted | boolean | Whether the connected agency is restricted |
| invoice | boolean | Whether invoicing is enabled for the connected agency |
| drc | boolean | Whether domestic reverse charge is enabled |
| afp | boolean | Whether AfP is enabled |
| string | Override email address for the connected agency | |
| paymentTerms | object | Optional payment terms object Show child attributes
|
| markupAdjustment | number | Markup adjustment value |
| rateUplifts | array[object] | Custom uplift rules Show child attributes
|
| createdAt | string | Creation timestamp |
| updatedAt | string | Last update timestamp |
Response Example (200)
{
"success": true,
"data": [
{
"id": "67bc36db80a1616ec3f47071",
"agency": {
"id": "67bc36db80a1616ec3f47060",
"name": "Agency One"
},
"connectionLevel": "project",
"cis": {
"name": "Gross",
"value": 0,
"display": "0%"
},
"tier": 1,
"restricted": false,
"invoice": true,
"drc": false,
"afp": false,
"email": "project-ops@agency-one.example",
"paymentTerms": {
"days": 14,
"term": "invoice"
},
"markupAdjustment": 10,
"rateUplifts": [
{
"description": "Nightwork (Mon-Fri)",
"type": "nightworkWeekday",
"uplift": 25,
"regions": []
}
],
"createdAt": "2026-01-12T12:00:00.000Z",
"updatedAt": "2026-02-21T14:03:12.111Z"
},
{
"id": "67bc36db80a1616ec3f47072",
"agency": {
"id": "67bc36db80a1616ec3f47061",
"name": "Agency Two"
},
"connectionLevel": "company",
"cis": null,
"tier": 2,
"restricted": false,
"invoice": true,
"drc": false,
"afp": false,
"email": null,
"paymentTerms": null,
"markupAdjustment": 8,
"rateUplifts": [
{
"description": "Bank Holiday",
"type": "bankHoliday",
"uplift": 100,
"regions": []
}
],
"createdAt": "2026-01-05T12:00:00.000Z",
"updatedAt": "2026-02-19T14:03:12.111Z"
}
],
"meta": {
"page": 1,
"limit": 50,
"total": 2
}
}
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 | Project not found |
| 405 | Method not allowed on Open API routes |
| 429 | Rate limit exceeded |
| 500 | Unexpected internal error |