GET /projects/{id}
Caller
- Company
- Agency
Company-scoped API keys can optionally include the project config object in the response.
Agency-scoped API keys can retrieve connected projects. The config object is never returned for agency-scoped callers.
Summary
Get project
URL Parameters
| Name | Type | Required | Description |
|---|---|---|---|
| id | string | Yes | Project identifier |
Query Parameters
- Company
- Agency
| Name | Type | Required | Description |
|---|---|---|---|
| includeConfig | boolean | No | Include the project config object in the response |
| Name | Type | Required | Description |
|---|---|---|---|
| includeConfig | boolean | No | Ignored for agency-scoped callers; config is hidden |
Request Example
- Company
- Agency
- cURL
- JavaScript
- Python
- Go
curl -X GET 'https://api.requidex.com/api/open/v1/projects/{id}?includeConfig=true' \
-H 'Authorization: Bearer <API_KEY>' \
-H 'Accept: application/json'
const response = await fetch("https://api.requidex.com/api/open/v1/projects/{id}?includeConfig=true", {
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}?includeConfig=true',
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}?includeConfig=true", 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))
}
- cURL
- JavaScript
- Python
- Go
curl -X GET 'https://api.requidex.com/api/open/v1/projects/{id}' \
-H 'Authorization: Bearer <API_KEY>' \
-H 'Accept: application/json'
const response = await fetch("https://api.requidex.com/api/open/v1/projects/{id}", {
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}',
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}", 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 |
|---|---|---|
| active | boolean | Whether project is active |
| code | string | Project code |
| company | object | Show child attributes
|
| config | object | Project config object. Only returned for company-scoped callers when includeConfig=true. Show child attributes
|
| createdAt | string | Creation timestamp |
| dates | object | Optional project date window Show child attributes
|
| string | Project contact email | |
| id | string | Project id |
| name | string | Project name |
| phone | object | Show child attributes
|
| region | object | Show child attributes
|
| sector | object | Show child attributes
|
| singleSite | boolean | Whether project is single-site |
| siteCount | integer | Number of sites linked to project |
| updatedAt | string | Last update timestamp |
Response Example (200)
{
"success": true,
"data": {
"id": "67bc36db80a1616ec3f4739e",
"name": "Northern Rail Electrification",
"code": "NRE-001",
"email": "pm@requidex.com",
"phone": {
"countryCode": "+44",
"number": "1234567890"
},
"active": true,
"singleSite": false,
"siteCount": 3,
"company": {
"id": "67bc36db80a1616ec3f47001",
"name": "Requidex Construction Ltd"
},
"region": {
"id": "67bc36db80a1616ec3f47002",
"name": "North West"
},
"sector": {
"id": "67bc36db80a1616ec3f47003",
"name": "Rail"
},
"dates": {
"start": "2025-01-15T00:00:00.000Z",
"end": "2026-12-31T23:59:59.999Z"
},
"createdAt": "2025-01-10T12:00:00.000Z",
"updatedAt": "2026-02-20T14:03:12.111Z"
}
}
Errors
| HTTP Status | Description |
|---|---|
| 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 |