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 sandbox #

Descripción en el contrato: Deterministic simulation surface for sandbox API keys (E6/E7): test clocks, time advance and wallet/credit simulations. Production keys are refused with 403.

MétodoRutaOperaciónScopeIdem.
POST/v1/gateway/sandbox/credits/{app_id}/advance/Advance a credit lifecycle (sandbox only)——
POST/v1/gateway/sandbox/test-clocks/Create a test clock (sandbox only)——
GET/v1/gateway/sandbox/test-clocks/{clock_id}/Read a test clock (sandbox only)——
POST/v1/gateway/sandbox/test-clocks/{clock_id}/advance/Advance a test clock (sandbox only)——
POST/v1/gateway/sandbox/wallet/simulate/Simulate a wallet movement (sandbox only)——

Advance a credit lifecycle (sandbox only) #

POST/v1/gateway/sandbox/credits/{app_id}/advance/

  • operationId advanceCreditDisbursement
  • Autenticación X-API-Key · solo llaves de sandbox
  • Idempotency-Key no aplica

Parámetros

NombreEnTipoDescripción
app_id obligatoriorutastringCredit application id. Ej.: CRED-2026-000123

Cuerpo de la petición

Tipo de contenido: application/json · obligatorio

Objeto libre.

Respuestas

CódigoDescripciónCuerpo
200Advanced lifecycle state.object application/json
Errores posibles (400, 401, 403, 404, 409, 422, 429, 500) — 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

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

Ejemplo

Método del SDK y petición HTTP
client.sandbox.simulate.credit_disbursement()

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.

Create a test clock (sandbox only) #

POST/v1/gateway/sandbox/test-clocks/

  • operationId createTestClock
  • Autenticación X-API-Key · solo llaves de sandbox
  • Idempotency-Key no aplica
Stateless: the clock state travels in the returned id (tcl-…, tamper-evident).

Cuerpo de la petición

Tipo de contenido: application/json

Objeto libre.

Respuestas

CódigoDescripciónCuerpo
200Test clock created; state encoded in clock_id.object application/json
Errores posibles (400, 401, 403, 404, 409, 422, 429, 500) — 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

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

Ejemplo

Método del SDK y petición HTTP
client.sandbox.test_clocks.create()

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.

Read a test clock (sandbox only) #

GET/v1/gateway/sandbox/test-clocks/{clock_id}/

  • operationId getTestClock
  • Autenticación X-API-Key · solo llaves de sandbox
  • Idempotency-Key no aplica

Parámetros

NombreEnTipoDescripción
clock_id obligatoriorutastringTest clock id (state-carrying). Ej.: tcl-eyJmcm96ZW4i-a1b2c3d4e5f6a7b8

Respuestas

CódigoDescripciónCuerpo
200Current clock state.object application/json
Errores posibles (400, 401, 403, 404, 409, 422, 429, 500) — 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

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

Ejemplo

Método del SDK y petición HTTP
client.sandbox.test_clocks.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.

Advance a test clock (sandbox only) #

POST/v1/gateway/sandbox/test-clocks/{clock_id}/advance/

  • operationId advanceTestClock
  • Autenticación X-API-Key · solo llaves de sandbox
  • Idempotency-Key no aplica
Forward-only and capped; returns the NEW clock id.

Parámetros

NombreEnTipoDescripción
clock_id obligatoriorutastringTest clock id (state-carrying). Ej.: tcl-eyJmcm96ZW4i-a1b2c3d4e5f6a7b8

Cuerpo de la petición

Tipo de contenido: application/json · obligatorio

Objeto libre.

Respuestas

CódigoDescripciónCuerpo
200Clock advanced; use the returned id from now on.object application/json
Errores posibles (400, 401, 403, 404, 409, 422, 429, 500) — 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

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

Ejemplo

Método del SDK y petición HTTP
client.sandbox.test_clocks.advance()

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.

Simulate a wallet movement (sandbox only) #

POST/v1/gateway/sandbox/wallet/simulate/

  • operationId simulateWalletTransfer
  • Autenticación X-API-Key · solo llaves de sandbox
  • Idempotency-Key no aplica
Deterministic transform — no ledger behind it, no money moves.

Cuerpo de la petición

Tipo de contenido: application/json · obligatorio

Objeto libre.

Respuestas

CódigoDescripciónCuerpo
200Simulated result.object application/json
Errores posibles (400, 401, 403, 404, 409, 422, 429, 500) — 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

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

Ejemplo

Método del SDK y petición HTTP
client.sandbox.simulate.wallet_transfer()

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.