Advanced Forms Report
Digital form submissions with dynamic parameters — requires a specific form_id.
GET
/apidev/v1/reports/gt/advanced-formsPermissionAPICLI_RPTGT_FORMAVANZADO
Rate Limit10 req/min
Cache300s
Max Range31 days
Request
Query Parameters
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
startdate | string | Yes | — | ISO 8601 start date-time (e.g. 2026-03-01T00:00:00). |
enddate | string | Yes | — | ISO 8601 end date-time. Max range 31 days from startdate. |
form_id | string | Yes | — | The form to query. |
devices | string | No | — | Comma-separated device IDs. Max 500. |
drivers | string | No | — | Comma-separated driver IDs. Max 500. |
service_types | string | No | — | Comma-separated service type IDs. Max 100. |
causes | string | No | — | Comma-separated cause IDs. Max 100. |
providers | string | No | — | Comma-separated provider IDs. Max 100. |
provider_types | string | No | — | Comma-separated provider type IDs. Max 50. |
client_id | string | No | — | Filter by client ID. |
account_id | string | No | — | Filter by account ID. |
columns | string | No | — | Comma-separated column names to include. Max 500 chars. |
group_by | enum | No | — | Grouping mode: client, account, task, date. |
detail_group_by | enum | No | — | Detail grouping: number, date. |
include_details | boolean | No | — | Include detail rows. |
include_totals | boolean | No | — | Include totals row. |
limit | integer | No | 25 | Number of records per page (1–100). |
offset | integer | No | 0 | Number of records to skip for pagination. |
Code Examples
- cURL
- JavaScript
- Python
curl -s -H "Authorization: Bearer $TOKEN" \
-H "X-API-Key: $APIKEY" \
-H "tenant: $TENANT" \
"https://$TENANT/apidev/v1/reports/gt/advanced-forms?startdate=2026-03-01T00:00:00&enddate=2026-03-15T23:59:59&form_id=104820579700&limit=25"
const res = await fetch(
`https://${TENANT}/apidev/v1/reports/gt/advanced-forms?startdate=2026-03-01T00:00:00&enddate=2026-03-15T23:59:59&form_id=104820579700&limit=25`,
{
headers: {
'Authorization': `Bearer ${TOKEN}`,
'X-API-Key': APIKEY,
'tenant': TENANT,
},
}
);
const data = await res.json();
import requests
response = requests.get(
f"https://{TENANT}/apidev/v1/reports/gt/advanced-forms",
headers={"Authorization": f"Bearer {TOKEN}", "X-API-Key": APIKEY, "tenant": TENANT},
params={"startdate": "2026-03-01T00:00:00", "enddate": "2026-03-15T23:59:59", "form_id": "104820579700", "limit": 25},
)
data = response.json()
Response
Response Fields
| Field | Type | Description |
|---|---|---|
form_id | string | Form identifier. |
account_id | string | null | Account identifier. |
account_name | string | Account name. |
client_id | string | null | Client identifier. |
client_name | string | Client name. |
task_number | string | null | Task number. |
task_date | string | null | Task date. |
parameters | array | Dynamic form field values. |
Parameters Array Fields
| Field | Type | Description |
|---|---|---|
tab_id | string | null | Tab identifier. |
param_id | string | null | Parameter identifier. |
param_name | string | Parameter name. |
value_string | string | null | Text value. |
value_number | number | null | Numeric value. |
Example Response
{
"success": true,
"data": [
{
"form_id": "104820579700",
"account_id": "104820579800",
"account_name": "Client Corp",
"client_id": "104820579900",
"client_name": "Client Corp S.A.",
"task_number": "104820580001",
"task_date": "2026-03-05",
"parameters": [
{
"tab_id": "1",
"param_id": "10",
"param_name": "Condition",
"value_string": "Good",
"value_number": null
},
{
"tab_id": "1",
"param_id": "11",
"param_name": "Score",
"value_string": null,
"value_number": 85
}
]
}
],
"meta": {
"total": 1,
"limit": 25,
"offset": 0
}
}
Errors
| Code | HTTP | Description |
|---|---|---|
BAD_REQUEST | 400 | Missing required headers. |
VALIDATION_ERROR | 400 | Invalid params: missing dates, missing form_id, range > 31 days. |
UNAUTHORIZED | 401 | Invalid or expired JWT / API Key. |
FORBIDDEN | 403 | User lacks required permission. |
RATE_LIMITED | 429 | Exceeded 10 req/min. |
INTERNAL_ERROR | 500 | Unexpected server error. |