Read-only endpoints that expose your company's configuration catalogs and return the real IDs that task creation needs. Before creating a task, your integration queries these catalogs to resolve which origin, product, coverage, service, cause, geography, finalization, form, and dynamic fields it can send.
Every catalog returns the real ID alongside the human-readable name — so you can reference each entry exactly when building a task payload.
All endpoints require a valid JWT token, API key, and tenant header. See Authentication .
Several catalogs are hierarchical: a child catalog is filtered by its parent's ID, passed in the path. For example, to list the products of an origin you call /catalogs/origins/{proid}/products; to list cities you walk country → department → city → zone. Always list a level to discover the IDs you'll feed into the next level — there is no name-based lookup.
An unknown parent returns an empty list
A child catalog called with a parent ID that does not exist responds 200 with an empty data array , not 404. The endpoint answers "there are no children for that parent" without verifying the parent separately. Treat an empty list as "no results"; if you need to tell the two cases apart, validate the parent ID against its own catalog first.
IDs are opaque strings (BigInt) — never parse them as numbers. Pass them back exactly as received.
Active records only. Every catalog returns active entries; inactive ones are never listed.
No pagination. Catalogs are small — the full flat list is returned. The name query filter narrows results by a case-insensitive substring match.
Rate limit: all catalog endpoints share a budget of 60 req/min (sliding window).
Response envelope: { success, data, meta } where meta.count is the number of rows.
Geographic
The geographic catalogs form a strict four-level cascade: Country → Department → City → Zone . Each level is filtered by the IDs of the levels above it, all passed in the path.
Countries
GET /apidev/v1/catalogs/countries
Permission APICLI_CATALOGS_READ
Rate Limit 60 req/min (sliding window)
Query Parameters
Parameter Type Required Description namestring No Partial, case-insensitive match on the country name. Omit to list all.
Response Fields
Field Type Description paiidstring Country ID (use in task creation). namestring Country name. gmtnumber Timezone offset (whole hours).
curl -s "https://$TENANT/apidev/v1/catalogs/countries" \
-H "Authorization: Bearer $TOKEN" \
-H "X-API-Key: $APIKEY" \
-H "tenant: $TENANT"
const response = await fetch (
` https:// ${ TENANT } /apidev/v1/catalogs/countries ` ,
{ headers }
) ;
const { data } = await response . json ( ) ;
console . log ( data . map ( ( c ) => ` ${ c . paiid } : ${ c . name } ` ) ) ;
response = requests . get (
f"https:// { TENANT } /apidev/v1/catalogs/countries" ,
headers = headers ,
)
for country in response . json ( ) [ "data" ] :
print ( f" { country [ 'paiid' ] } : { country [ 'name' ] } " )
Example Response
{
"success" : true ,
"data" : [
{ "paiid" : "1" , "name" : "Uruguay" , "gmt" : -3 } ,
{ "paiid" : "2" , "name" : "Argentina" , "gmt" : -3 }
] ,
"meta" : { "count" : 2 }
}
Departments of a Country
GET /apidev/v1/catalogs/countries/{paiid}/departments
Permission APICLI_CATALOGS_READ
Rate Limit 60 req/min (sliding window)
Path Parameters
Parameter Type Required Description paiidstring Yes Country ID (parent).
Query Parameters
Parameter Type Required Description namestring No Partial, case-insensitive match on the department name.
Response Fields
Field Type Description paiidstring Country ID (parent). paideplinstring Department ID (use in task creation). namestring Department name.
curl -s "https://$TENANT/apidev/v1/catalogs/countries/1/departments" \
-H "Authorization: Bearer $TOKEN" \
-H "X-API-Key: $APIKEY" \
-H "tenant: $TENANT"
const response = await fetch (
` https:// ${ TENANT } /apidev/v1/catalogs/countries/1/departments ` ,
{ headers }
) ;
const { data } = await response . json ( ) ;
response = requests . get (
f"https:// { TENANT } /apidev/v1/catalogs/countries/1/departments" ,
headers = headers ,
)
data = response . json ( ) [ "data" ]
Example Response
{
"success" : true ,
"data" : [
{ "paiid" : "1" , "paideplin" : "4" , "name" : "Montevideo" } ,
{ "paiid" : "1" , "paideplin" : "5" , "name" : "Canelones" }
] ,
"meta" : { "count" : 2 }
}
Cities of a Department
GET /apidev/v1/catalogs/countries/{paiid}/departments/{paideplin}/cities
Permission APICLI_CATALOGS_READ
Rate Limit 60 req/min (sliding window)
Path Parameters
Parameter Type Required Description paiidstring Yes Country ID. paideplinstring Yes Department ID.
Query Parameters
Parameter Type Required Description namestring No Partial, case-insensitive match on the city name.
Response Fields
Field Type Description paiidstring Country ID. paideplinstring Department ID. paidepciulinstring City ID (use in task creation). namestring City name.
curl -s "https://$TENANT/apidev/v1/catalogs/countries/1/departments/4/cities?name=mont" \
-H "Authorization: Bearer $TOKEN" \
-H "X-API-Key: $APIKEY" \
-H "tenant: $TENANT"
const response = await fetch (
` https:// ${ TENANT } /apidev/v1/catalogs/countries/1/departments/4/cities?name=mont ` ,
{ headers }
) ;
const { data } = await response . json ( ) ;
response = requests . get (
f"https:// { TENANT } /apidev/v1/catalogs/countries/1/departments/4/cities" ,
headers = headers ,
params = { "name" : "mont" } ,
)
data = response . json ( ) [ "data" ]
Example Response
{
"success" : true ,
"data" : [
{ "paiid" : "1" , "paideplin" : "4" , "paidepciulin" : "21" , "name" : "Montevideo" }
] ,
"meta" : { "count" : 1 }
}
Zones of a City
GET /apidev/v1/catalogs/countries/{paiid}/departments/{paideplin}/cities/{paidepciulin}/zones
Permission APICLI_CATALOGS_READ
Rate Limit 60 req/min (sliding window)
Path Parameters
Parameter Type Required Description paiidstring Yes Country ID. paideplinstring Yes Department ID. paidepciulinstring Yes City ID.
Query Parameters
Parameter Type Required Description namestring No Partial, case-insensitive match on the zone name.
Response Fields
Field Type Description paiidstring Country ID. paideplinstring Department ID. paidepciulinstring City ID. paidepciuzonlinstring Zone ID (use in task creation). namestring Zone name.
Example Response
{
"success" : true ,
"data" : [
{ "paiid" : "1" , "paideplin" : "4" , "paidepciulin" : "21" , "paidepciuzonlin" : "7" , "name" : "Centro" }
] ,
"meta" : { "count" : 1 }
}
Special Places
Points of interest defined for your company. Returns only the places the integration user is allowed to see.
GET /apidev/v1/catalogs/special-places
Permission APICLI_CATALOGS_READ
Rate Limit 60 req/min (sliding window)
Query Parameters
Parameter Type Required Description namestring No Partial, case-insensitive match on the place name.
Response Fields
Field Type Description lugespidstring Special place ID. namestring Place name. latitudestring | null Latitude (raw decimal string). longitudestring | null Longitude (raw decimal string).
Example Response
{
"success" : true ,
"data" : [
{ "lugespid" : "31" , "name" : "Central Warehouse" , "latitude" : "-34.8721" , "longitude" : "-56.1234" }
] ,
"meta" : { "count" : 1 }
}
Special Place Types
GET /apidev/v1/catalogs/special-place-types
Permission APICLI_CATALOGS_READ
Rate Limit 60 req/min (sliding window)
Query Parameters
Parameter Type Required Description namestring No Partial, case-insensitive match on the type name.
Response Fields
Field Type Description tiplugidstring Special place type ID. namestring Type name.
Example Response
{
"success" : true ,
"data" : [
{ "tiplugid" : "1" , "name" : "Warehouse" } ,
{ "tiplugid" : "2" , "name" : "Branch office" }
] ,
"meta" : { "count" : 2 }
}
Domain
Classification catalogs used to describe a task: where it comes from, what product and coverage apply, the service requested, and its cause/subcause.
Origins
Origins (procedences) — the source that generates a task.
GET /apidev/v1/catalogs/origins
Permission APICLI_CATALOGS_READ
Rate Limit 60 req/min (sliding window)
Query Parameters
Parameter Type Required Description namestring No Partial, case-insensitive match on the origin name.
Response Fields
Field Type Description proidstring Origin ID (use in task creation). namestring Origin name. statestring Always "A" (active).
curl -s "https://$TENANT/apidev/v1/catalogs/origins" \
-H "Authorization: Bearer $TOKEN" \
-H "X-API-Key: $APIKEY" \
-H "tenant: $TENANT"
const response = await fetch (
` https:// ${ TENANT } /apidev/v1/catalogs/origins ` ,
{ headers }
) ;
const { data } = await response . json ( ) ;
response = requests . get (
f"https:// { TENANT } /apidev/v1/catalogs/origins" ,
headers = headers ,
)
data = response . json ( ) [ "data" ]
Example Response
{
"success" : true ,
"data" : [
{ "proid" : "12" , "name" : "Seguros ACME" , "state" : "A" }
] ,
"meta" : { "count" : 1 }
}
Products of an Origin
GET /apidev/v1/catalogs/origins/{proid}/products
Permission APICLI_CATALOGS_READ
Rate Limit 60 req/min (sliding window)
Path Parameters
Parameter Type Required Description proidstring Yes Origin ID (parent).
Query Parameters
Parameter Type Required Description namestring No Partial, case-insensitive match on the product name.
Response Fields
Field Type Description proidstring Origin ID (parent). protipclilinstring Product ID (use in task creation). namestring Product name.
curl -s "https://$TENANT/apidev/v1/catalogs/origins/12/products?name=gru" \
-H "Authorization: Bearer $TOKEN" \
-H "X-API-Key: $APIKEY" \
-H "tenant: $TENANT"
const response = await fetch (
` https:// ${ TENANT } /apidev/v1/catalogs/origins/12/products?name=gru ` ,
{ headers }
) ;
const { data } = await response . json ( ) ;
response = requests . get (
f"https:// { TENANT } /apidev/v1/catalogs/origins/12/products" ,
headers = headers ,
params = { "name" : "gru" } ,
)
data = response . json ( ) [ "data" ]
Example Response
{
"success" : true ,
"data" : [
{ "proid" : "12" , "protipclilin" : "3" , "name" : "Light Tow Truck" } ,
{ "proid" : "12" , "protipclilin" : "7" , "name" : "Heavy Tow Truck" }
] ,
"meta" : { "count" : 2 }
}
Coverages of a Product
GET /apidev/v1/catalogs/origins/{proid}/products/{protipclilin}/coverages
Permission APICLI_CATALOGS_READ
Rate Limit 60 req/min (sliding window)
Path Parameters
Parameter Type Required Description proidstring Yes Origin ID. protipclilinstring Yes Product ID.
Query Parameters
Parameter Type Required Description namestring No Partial, case-insensitive match on the coverage name.
Response Fields
Field Type Description proidstring Origin ID. protipclilinstring Product ID. procoblinstring Coverage ID (use in task creation). namestring Coverage name. monthly_quotanumber Configured monthly quota. yearly_quotanumber Configured yearly quota. quota_controlstring | null Quota control flag/code.
Example Response
{
"success" : true ,
"data" : [
{
"proid" : "12" ,
"protipclilin" : "7" ,
"procoblin" : "5" ,
"name" : "Premium Coverage" ,
"monthly_quota" : 4 ,
"yearly_quota" : 24 ,
"quota_control" : "S"
}
] ,
"meta" : { "count" : 1 }
}
Services
Services (prestaciones) — the type of service requested for a task.
GET /apidev/v1/catalogs/services
Permission APICLI_CATALOGS_READ
Rate Limit 60 req/min (sliding window)
Query Parameters
Parameter Type Required Description namestring No Partial, case-insensitive match on the service name.
Response Fields
Field Type Description prestaidstring Service ID (use in task creation). namestring Service name. requires_destinationboolean Whether a destination cause/subcause is required. statestring Always "A" (active).
Example Response
{
"success" : true ,
"data" : [
{ "prestaid" : "20" , "name" : "Roadside Assistance" , "requires_destination" : false , "state" : "A" }
] ,
"meta" : { "count" : 1 }
}
Causes of a Service
Returns only the causes assigned to the service — not the general cause catalog. This is what task creation expects.
GET /apidev/v1/catalogs/services/{prestaid}/causes
Permission APICLI_CATALOGS_READ
Rate Limit 60 req/min (sliding window)
Path Parameters
Parameter Type Required Description prestaidstring Yes Service ID (parent).
Query Parameters
Parameter Type Required Description namestring No Partial, case-insensitive match on the cause name.
Response Fields
Field Type Description prestaidstring Service ID (parent). cauidstring Cause ID (use in task creation). namestring Cause name. assigned_subcausesnumber How many subcauses are assigned under this service.
Example Response
{
"success" : true ,
"data" : [
{ "prestaid" : "20" , "cauid" : "8" , "name" : "Flat Tire" , "assigned_subcauses" : 3 }
] ,
"meta" : { "count" : 1 }
}
Listing causes by service guarantees you only get causes that the service actually accepts. A cause that exists in the general catalog but is not assigned to the service would be rejected at task creation.
Subcauses of a Cause
GET /apidev/v1/catalogs/causes/{cauid}/subcauses
Permission APICLI_CATALOGS_READ
Rate Limit 60 req/min (sliding window)
Path Parameters
Parameter Type Required Description cauidstring Yes Cause ID (parent).
Query Parameters
Parameter Type Required Description namestring No Partial, case-insensitive match on the subcause name.
Response Fields
Field Type Description cauidstring Cause ID (parent). causubcaulinstring Subcause ID (use in task creation). namestring Subcause name. priority_namestring | null Associated priority name (may be null).
Example Response
{
"success" : true ,
"data" : [
{ "cauid" : "8" , "causubcaulin" : "15" , "name" : "Front Left" , "priority_name" : "High" }
] ,
"meta" : { "count" : 1 }
}
Reasons
Service reasons (motivos) — used in the simple task-creation mode.
GET /apidev/v1/catalogs/reasons
Permission APICLI_CATALOGS_READ
Rate Limit 60 req/min (sliding window)
Query Parameters
Parameter Type Required Description namestring No Partial, case-insensitive match on the reason name.
Response Fields
Field Type Description motidstring Reason ID (use in task creation). namestring Reason name.
Example Response
{
"success" : true ,
"data" : [
{ "motid" : "3" , "name" : "Vehicle breakdown" }
] ,
"meta" : { "count" : 1 }
}
Priorities
GET /apidev/v1/catalogs/priorities
Permission APICLI_CATALOGS_READ
Rate Limit 60 req/min (sliding window)
Query Parameters
Parameter Type Required Description namestring No Partial, case-insensitive match on the priority name.
Response Fields
Field Type Description priidstring Priority ID. namestring Priority name. valuenumber Numeric ordering value (typically 1–3).
Example Response
{
"success" : true ,
"data" : [
{ "priid" : "1" , "name" : "High" , "value" : 1 } ,
{ "priid" : "2" , "name" : "Medium" , "value" : 2 }
] ,
"meta" : { "count" : 2 }
}
Task Statuses
GET /apidev/v1/catalogs/task-statuses
Permission APICLI_CATALOGS_READ
Rate Limit 60 req/min (sliding window)
Query Parameters
Parameter Type Required Description namestring No Partial, case-insensitive match on the status name.
Response Fields
Field Type Description estidstring Status ID. codestring Status code (SA, ASI, ACE, INI, USU, FIN, CAN). namestring Human-readable status label.
Example Response
{
"success" : true ,
"data" : [
{ "estid" : "1" , "code" : "SA" , "name" : "Unassigned" } ,
{ "estid" : "6" , "code" : "FIN" , "name" : "Finished" }
] ,
"meta" : { "count" : 2 }
}
Shifts
GET /apidev/v1/catalogs/shifts
Permission APICLI_CATALOGS_READ
Rate Limit 60 req/min (sliding window)
Query Parameters
Parameter Type Required Description namestring No Partial, case-insensitive match on the shift name.
Response Fields
Field Type Description turidstring Shift ID (use in task reserve). namestring Shift name.
Example Response
{
"success" : true ,
"data" : [
{ "turid" : "1" , "name" : "Morning" } ,
{ "turid" : "2" , "name" : "Night" }
] ,
"meta" : { "count" : 2 }
}
Resources
Operational catalogs: end reasons, forms, form lists, vehicle types, and the two flota-sensitive catalogs (providers and devices) that require a dedicated permission.
End Reasons
GET /apidev/v1/catalogs/end-reasons
Permission APICLI_CATALOGS_READ
Rate Limit 60 req/min (sliding window)
Query Parameters
Parameter Type Required Description namestring No Partial, case-insensitive match on the end reason name.
Response Fields