Ejemplos de solicitud y respuesta
Un flujo completo de crear un crédito por cobrar a registrar un pago, además de respuestas comunes de error.
Situación de la API pública
La API v1 utiliza las teclas de portador con un sistema operativo y requiere un período de plan activo. Los puntos finales de facturación y borrado no envían mensajes de clientes. Ejemplos usan los marcadores de posición — nunca pegan una clave real en código compartido.
Estos ejemplos utilizan claves de marcador de posición y datos ficticios. Ejecutarlos únicamente contra su propia empresa.
1. Crear un proyecto de crédito
curl https://api.remindcash.com/v1/receivables \
--request POST \
--header "Authorization: Bearer $REMINDCASH_API_KEY" \
--header "Idempotency-Key: create-inv-1042-0001" \
--header "Content-Type: application/json" \
--data '{
"customer": { "display_name": "Studio North", "email": "billing@studionorth.example" },
"amount": "1250.00",
"currency": "USD",
"due_date": "2026-10-15",
"external_reference": "INV-1042",
"description": "Website redesign"
}'{
"data": {
"id": 1,
"customer_id": 1,
"amount_minor": 125000,
"paid_minor": 0,
"currency": "USD",
"due_date": "2026-10-15",
"status": "draft",
"external_reference": "INV-1042",
"description": "Website redesign",
"version": "4e6fea39ae2fab8ccb843657f081d276513739a71787c060a007b65e3acbbbc1"
}
}Enviar la misma solicitud de nuevo con el mismo Idempotency-Key devuelve esta misma respuesta.
2. Mueva la fecha prevista
curl https://api.remindcash.com/v1/receivables/1 \
--request PATCH \
--header "Authorization: Bearer $REMINDCASH_API_KEY" \
--header "Idempotency-Key: update-inv-1042-0001" \
--header "Content-Type: application/json" \
--data '{
"expected_version": "4e6fea39ae2fab8ccb843657f081d276513739a71787c060a007b65e3acbbbc1",
"due_date": "2026-10-20"
}'{
"data": {
"id": 1,
"customer_id": 1,
"amount_minor": 125000,
"paid_minor": 0,
"currency": "USD",
"due_date": "2026-10-20",
"status": "draft",
"external_reference": "INV-1042",
"description": "Website redesign",
"version": "aed5e5d947a49b4805d8389b618896872615e9e46f13536a11fbaad167d04b93"
}
}3. Registrar un pago parcial
curl https://api.remindcash.com/v1/receivables/1/payments \
--request POST \
--header "Authorization: Bearer $REMINDCASH_API_KEY" \
--header "Idempotency-Key: payment-inv-1042-0001" \
--header "Content-Type: application/json" \
--data '{ "amount": "250.00" }'{
"data": {
"id": 1,
"receivable_id": 1,
"amount_minor": 25000,
"remaining_after_minor": 100000,
"status_after": "draft",
"recorded_at": "2026-10-11T12:58:05.000000Z"
}
}4. Cancelación del crédito por cobrar
curl https://api.remindcash.com/v1/receivables/1/cancel \
--request POST \
--header "Authorization: Bearer $REMINDCASH_API_KEY" \
--header "Idempotency-Key: cancel-inv-1042-00001" \
--header "Content-Type: application/json" \
--data '{ "reason": "Customer cancelled the project." }'{
"data": {
"id": 1,
"status": "cancelled",
"paid_minor": 25000,
"version": "049a6c669d9211215001be5a324c3f5c9e057797ef4d89e21c8aa632578a87ae"
}
}Errores comunes
Reutilizando una tecla de idempotencia con un cuerpo diferente:
{
"error": {
"code": "conflict",
"message": "Request conflicts with current state."
},
"request_id": "13676e74-1d59-47c7-b7d0-b6e763cb8766"
}Actualización con un expected_version de establo también devuelve 409 conflict. Una clave desaparecida devuelve:
{
"error": {
"code": "validation_failed",
"message": "Validation failed.",
"fields": {
"Idempotency-Key": [
"Provide a 16–128 character Idempotency-Key using letters, digits, dots, underscores, colons or hyphens."
]
}
},
"request_id": "249b739e-00f7-41ee-875a-266cfd4870bc"
}Un cambio de estatus que no se permite, por ejemplo, pausando un proyecto:
{
"error": {
"code": "validation_failed",
"message": "Validation failed.",
"fields": {
"action": [
"This status change is not available for the receivable."
]
}
},
"request_id": "f9e414bd-5508-4c43-82bb-ce56ced55f77"
}