Getting started
Quickstart
A minimal flow to register a signer, create a session, and check its status from your backend.
01
Register the signer
Store the returned ID to link it to your system.
bashFirmARDigital API
curl --request POST https://www.firmardigital.com/api/v1/registered-signers \
--header "Authorization: Bearer fmr_test_TU_CLAVE" \
--header "Content-Type: application/json" \
--data '{"externalId":"cliente-4821","fullName":"María González","email":"maria@ejemplo.com"}'201
Sandbox response
jsonFirmARDigital API
{
"success": true,
"data": {
"id": "sandbox_signer_0b11…",
"externalId": "cliente-4821",
"status": "ENROLLED",
"enrollmentUrl": null,
"expiresAt": null,
"alreadyEnrolled": false,
"sandbox": true
}
}02
Create the session
The API returns a URL for the signer to complete the process.
bashFirmARDigital API
curl --request POST https://www.firmardigital.com/api/v1/signing-sessions \
--header "Authorization: Bearer fmr_test_TU_CLAVE" \
--header "Idempotency-Key: solicitud-4821" \
--form "file=@acuerdo.pdf;type=application/pdf" \
--form 'data={"externalId":"cliente-4821","title":"Acuerdo comercial","recipient":{"name":"María González","email":"maria@ejemplo.com"}}'201
Sandbox response
jsonFirmARDigital API
{
"success": true,
"data": {
"documentId": "sandbox_document_5c2e…",
"sessionUrl": "http://localhost:3000/sandbox/signing-sessions/sandbox_session_…",
"expiresAt": "2026-08-01T18:00:00.000Z",
"reused": false,
"sandbox": true
}
}03
Check the status
Use polling or webhooks to detect when it finishes.
bashFirmARDigital API
curl https://www.firmardigital.com/api/v1/signing-sessions/DOCUMENT_ID \
--header "Authorization: Bearer fmr_test_TU_CLAVE"