Esta página se genera desde el contrato (data/gateway-v1.json): cada operación muestra su verbo, ruta, parámetros, cuerpo, respuestas, si lleva Idempotency-Key y el método equivalente en los cinco SDK. Para el flujo de punta a punta con ejemplos completos, ve a la guía de implementación.

Operaciones del tag pqrs #

Descripción en el contrato: PQRS (peticiones, quejas, reclamos y sugerencias) for the entity’s CRM / call center: file on behalf of an affiliate (by document), list with filters, detail with history, respond and change status as the entity, and stats.

MétodoRutaOperaciónScopeIdem.
GET/v1/gateway/pqrs/List PQRS (status, type, area, date range, document)pqrs:read—
POST/v1/gateway/pqrs/File a PQRS on behalf of an affiliatepqrs:submitrecomendada
GET/v1/gateway/pqrs/stats/PQRS stats (by status, area, type; overdue)pqrs:read—
GET/v1/gateway/pqrs/{pqrs_id}/PQRS detail (responses and status history)pqrs:read—
POST/v1/gateway/pqrs/{pqrs_id}/respond/Respond to a PQRS as the entitypqrs:managerecomendada
POST/v1/gateway/pqrs/{pqrs_id}/status/Change the status / priority of a PQRSpqrs:managerecomendada

List PQRS (status, type, area, date range, document) #

GET/v1/gateway/pqrs/

  • operationId listPqrs
  • Autenticación X-API-Key · scope pqrs:read
  • Idempotency-Key no aplica

Parámetros

NombreEnTipoDescripción
statusquerystringFilter by status.
issue_typequerystringFilter by type.
service_areaquerystringFilter by area.
date_fromquerystring (date)Filed on/after (YYYY-MM-DD).
date_toquerystring (date)Filed on/before (YYYY-MM-DD).
origin_channelquerystringFilter by origin channel.
documentquerystringAffiliate document.
external_referencequerystringYour CRM case id.
overduequerybooleanOnly overdue (legal deadline passed, not resolved).
pagequeryinteger
page_sizequeryinteger

Respuestas

CódigoDescripciónCuerpo
200Paginated PQRS (newest first).PqrsPage application/json
Errores posibles (400, 401, 403, 404, 409, 422, 429, 500, 502, 504) — application/problem+json
400Malformed request.about:blank
401Missing or invalid API key.about:blank
403The key is valid but lacks the required scope, or the source IP is not allow-listed.about:blank
404The requested resource does not exist.about:blank
409Idempotency conflict — same key, original still processing.https://errors.compense.co/gateway/idempotency-conflict
422Request body failed validation.https://errors.compense.co/gateway/validation
429Per-key rate limit or monthly quota exceeded; see Retry-After.https://errors.compense.co/gateway/rate-limited
500Unexpected gateway error; quote the trace_id to support.about:blank
502The processing engine returned an error.https://errors.compense.co/gateway/upstream-error
504The processing engine did not respond in time.https://errors.compense.co/gateway/upstream-error

Ver Errores problem+json para la excepción equivalente en cada SDK.

Ejemplo

Método del SDK y petición HTTP
client.pqrs.list()

Los métodos de cada SDK salen de su suite de paridad con el contrato. El cURL va contra el sandbox; los valores <campo> son marcadores.

File a PQRS on behalf of an affiliate #

POST/v1/gateway/pqrs/

  • operationId submitPqrs
  • Autenticación X-API-Key · scope pqrs:submit
  • Idempotency-Key recomendada (el SDK la genera)
Requires pqrs:submit. Emits the pqrs.created webhook.

Parámetros

NombreEnTipoDescripción
Idempotency-KeycabecerastringClient-generated key that makes a write safely retryable. Replaying the same key returns the original result with idempotent_replay: true; a replay while the original is still in flight returns 409. Ej.: horizonte-2026-06-26-credit-000123

Cuerpo de la petición

Tipo de contenido: application/json · obligatorio

Esquema PqrsSubmitIn — File a PQRS on behalf of an affiliate. The radicado (PQRS-AAAA-NNNNNN) and the legal deadline (15 business days, Ley 1755/2015) are set by the engine.

CampoTipoDescripción
agentstringYour agent/user reference (traceability). Ej.: "ana.p" Máx. 80 caracteres.
description obligatoriostringEj.: "El afiliado reporta un cobro que no reconoce."
document obligatoriostringAffiliate national document. Ej.: "1032456789"
electronic_notification_consented obligatoriobooleanREQUIRED: whether the affiliate accepted electronic notification (Ley 1437 art. 56).
external_referencestringCase id in your CRM. Ej.: "CRM-88231" Máx. 100 caracteres.
issue_type obligatoriostringValores: petition, complaint, claim, suggestion.
origin_channelstringValores: web, call_center, phone, email, in_person, chat, whatsapp, crm, api, other.
related_credit_application_idstring (nullable)
related_credit_idstring
related_subsidy_active_idstring
related_subsidy_application_idstring (nullable)
related_typestring (nullable)Valores: credit_application, subsidy_application, credit, subsidy, .
service_area obligatoriostringValores: subsidies, credits, health, marketplace, benefits, wallet, payments, general.
subject obligatoriostringEj.: "Cobro no reconocido" Máx. 255 caracteres.

Respuestas

CódigoDescripciónCuerpo
200Processed; data is the PQRS (with history).TransactionEnvelope application/json
Errores posibles (400, 401, 403, 404, 409, 422, 429, 500, 502, 504) — application/problem+json
400Malformed request.about:blank
401Missing or invalid API key.about:blank
403The key is valid but lacks the required scope, or the source IP is not allow-listed.about:blank
404The requested resource does not exist.about:blank
409Idempotency conflict — same key, original still processing.https://errors.compense.co/gateway/idempotency-conflict
422Request body failed validation.https://errors.compense.co/gateway/validation
429Per-key rate limit or monthly quota exceeded; see Retry-After.https://errors.compense.co/gateway/rate-limited
500Unexpected gateway error; quote the trace_id to support.about:blank
502The processing engine returned an error.https://errors.compense.co/gateway/upstream-error
504The processing engine did not respond in time.https://errors.compense.co/gateway/upstream-error

Ver Errores problem+json para la excepción equivalente en cada SDK.

Ejemplo

Método del SDK y petición HTTP
client.pqrs.submit()

Los métodos de cada SDK salen de su suite de paridad con el contrato. El cURL va contra el sandbox; los valores <campo> son marcadores.

PQRS stats (by status, area, type; overdue) #

GET/v1/gateway/pqrs/stats/

  • operationId getPqrsStats
  • Autenticación X-API-Key · scope pqrs:read
  • Idempotency-Key no aplica

Parámetros

NombreEnTipoDescripción
issue_typequerystringFilter by type.
service_areaquerystringFilter by area.
date_fromquerystring (date)Filed on/after (YYYY-MM-DD).
date_toquerystring (date)Filed on/before (YYYY-MM-DD).

Respuestas

CódigoDescripciónCuerpo
200Aggregated counts.PqrsStats application/json
Errores posibles (400, 401, 403, 404, 409, 422, 429, 500, 502, 504) — application/problem+json
400Malformed request.about:blank
401Missing or invalid API key.about:blank
403The key is valid but lacks the required scope, or the source IP is not allow-listed.about:blank
404The requested resource does not exist.about:blank
409Idempotency conflict — same key, original still processing.https://errors.compense.co/gateway/idempotency-conflict
422Request body failed validation.https://errors.compense.co/gateway/validation
429Per-key rate limit or monthly quota exceeded; see Retry-After.https://errors.compense.co/gateway/rate-limited
500Unexpected gateway error; quote the trace_id to support.about:blank
502The processing engine returned an error.https://errors.compense.co/gateway/upstream-error
504The processing engine did not respond in time.https://errors.compense.co/gateway/upstream-error

Ver Errores problem+json para la excepción equivalente en cada SDK.

Ejemplo

Método del SDK y petición HTTP
client.pqrs.stats()

Los métodos de cada SDK salen de su suite de paridad con el contrato. El cURL va contra el sandbox; los valores <campo> son marcadores.

PQRS detail (responses and status history) #

GET/v1/gateway/pqrs/{pqrs_id}/

  • operationId getPqrs
  • Autenticación X-API-Key · scope pqrs:read
  • Idempotency-Key no aplica

Parámetros

NombreEnTipoDescripción
pqrs_id obligatoriorutastringPQRS id (uuid) or radicado. Ej.: PQRS-2026-000123

Respuestas

CódigoDescripciónCuerpo
200The PQRS.Pqrs application/json
Errores posibles (400, 401, 403, 404, 409, 422, 429, 500, 502, 504) — application/problem+json
400Malformed request.about:blank
401Missing or invalid API key.about:blank
403The key is valid but lacks the required scope, or the source IP is not allow-listed.about:blank
404The requested resource does not exist.about:blank
409Idempotency conflict — same key, original still processing.https://errors.compense.co/gateway/idempotency-conflict
422Request body failed validation.https://errors.compense.co/gateway/validation
429Per-key rate limit or monthly quota exceeded; see Retry-After.https://errors.compense.co/gateway/rate-limited
500Unexpected gateway error; quote the trace_id to support.about:blank
502The processing engine returned an error.https://errors.compense.co/gateway/upstream-error
504The processing engine did not respond in time.https://errors.compense.co/gateway/upstream-error

Ver Errores problem+json para la excepción equivalente en cada SDK.

Ejemplo

Método del SDK y petición HTTP
client.pqrs.get()

Los métodos de cada SDK salen de su suite de paridad con el contrato. El cURL va contra el sandbox; los valores <campo> son marcadores.

Respond to a PQRS as the entity #

POST/v1/gateway/pqrs/{pqrs_id}/respond/

  • operationId respondPqrs
  • Autenticación X-API-Key · scope pqrs:manage
  • Idempotency-Key recomendada (el SDK la genera)
Requires pqrs:manage. Only while opened / in_progress / escalated (else 409). is_final resolves it. Emits pqrs.responded (+ pqrs.status_changed when final).

Parámetros

NombreEnTipoDescripción
pqrs_id obligatoriorutastringPQRS id (uuid) or radicado. Ej.: PQRS-2026-000123
Idempotency-KeycabecerastringClient-generated key that makes a write safely retryable. Replaying the same key returns the original result with idempotent_replay: true; a replay while the original is still in flight returns 409. Ej.: horizonte-2026-06-26-credit-000123

Cuerpo de la petición

Tipo de contenido: application/json · obligatorio

Esquema PqrsRespondIn

CampoTipoDescripción
agentstringMáx. 80 caracteres.
is_finalbooleanA final response leaves the PQRS resolved.
response_text obligatoriostringEj.: "Se reversó el cobro el 28-oct."

Respuestas

CódigoDescripciónCuerpo
200Processed; data is the PQRS (with history).TransactionEnvelope application/json
Errores posibles (400, 401, 403, 404, 409, 422, 429, 500, 502, 504) — application/problem+json
400Malformed request.about:blank
401Missing or invalid API key.about:blank
403The key is valid but lacks the required scope, or the source IP is not allow-listed.about:blank
404The requested resource does not exist.about:blank
409Idempotency conflict — same key, original still processing.https://errors.compense.co/gateway/idempotency-conflict
422Request body failed validation.https://errors.compense.co/gateway/validation
429Per-key rate limit or monthly quota exceeded; see Retry-After.https://errors.compense.co/gateway/rate-limited
500Unexpected gateway error; quote the trace_id to support.about:blank
502The processing engine returned an error.https://errors.compense.co/gateway/upstream-error
504The processing engine did not respond in time.https://errors.compense.co/gateway/upstream-error

Ver Errores problem+json para la excepción equivalente en cada SDK.

Ejemplo

Método del SDK y petición HTTP
client.pqrs.respond()

Los métodos de cada SDK salen de su suite de paridad con el contrato. El cURL va contra el sandbox; los valores <campo> son marcadores.

Change the status / priority of a PQRS #

POST/v1/gateway/pqrs/{pqrs_id}/status/

  • operationId changePqrsStatus
  • Autenticación X-API-Key · scope pqrs:manage
  • Idempotency-Key recomendada (el SDK la genera)
Requires pqrs:manage. Invalid transitions are 409. Emits pqrs.status_changed when the status actually changes.

Parámetros

NombreEnTipoDescripción
pqrs_id obligatoriorutastringPQRS id (uuid) or radicado. Ej.: PQRS-2026-000123
Idempotency-KeycabecerastringClient-generated key that makes a write safely retryable. Replaying the same key returns the original result with idempotent_replay: true; a replay while the original is still in flight returns 409. Ej.: horizonte-2026-06-26-credit-000123

Cuerpo de la petición

Tipo de contenido: application/json · obligatorio

Esquema PqrsStatusIn — Change status following the PQRS state machine: closed is terminal, resolved can only be closed; repeating the current status is an idempotent no-op.

CampoTipoDescripción
agentstringMáx. 80 caracteres.
notestringMáx. 1000 caracteres.
prioritystringValores: low, normal, high, urgent.
status obligatoriostringValores: opened, in_progress, escalated, resolved, closed.

Respuestas

CódigoDescripciónCuerpo
200Processed; data is the PQRS (with history).TransactionEnvelope application/json
Errores posibles (400, 401, 403, 404, 409, 422, 429, 500, 502, 504) — application/problem+json
400Malformed request.about:blank
401Missing or invalid API key.about:blank
403The key is valid but lacks the required scope, or the source IP is not allow-listed.about:blank
404The requested resource does not exist.about:blank
409Idempotency conflict — same key, original still processing.https://errors.compense.co/gateway/idempotency-conflict
422Request body failed validation.https://errors.compense.co/gateway/validation
429Per-key rate limit or monthly quota exceeded; see Retry-After.https://errors.compense.co/gateway/rate-limited
500Unexpected gateway error; quote the trace_id to support.about:blank
502The processing engine returned an error.https://errors.compense.co/gateway/upstream-error
504The processing engine did not respond in time.https://errors.compense.co/gateway/upstream-error

Ver Errores problem+json para la excepción equivalente en cada SDK.

Ejemplo

Método del SDK y petición HTTP
client.pqrs.change_status()

Los métodos de cada SDK salen de su suite de paridad con el contrato. El cURL va contra el sandbox; los valores <campo> son marcadores.