FirmARDigital

Developer documentation

API reference · Sessions

Signing sessions

A session represents a document and signer workflow. Create it from your backend and track its status until the final document is ready.

POST/api/v1/signing-sessionsCreate session

Requires `signing-sessions:write`. Accepts `multipart/form-data`: a PDF in `file` and the JSON object in `data`.

bashFirmARDigital API
curl --request POST https://www.firmardigital.com/api/v1/signing-sessions \
  --header "Authorization: Bearer fmr_live_TU_CLAVE" \
  --header "Idempotency-Key: contrato-4821-v1" \
  --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"}
  }'

Multipart `data` part

CampoTipoObligatorioDescripción
titlestringSíVisible document title, up to 255 characters.
registeredSignerIdstringNoID returned when creating the signer. Provide this or externalId.
externalIdstringNoYour own ID used during enrollment. Provide this or registeredSignerId.
recipient.namestringSíSession recipient's name.
recipient.emailemailSíEmail that receives the signing request.
signaturePlacementsarrayNoOptional. Positions with pageIndex, x, y, width, and height; without them the signer chooses the location.
201

Session created

jsonFirmARDigital API
{
  "success": true,
  "data": {
    "documentId": "cme0tc1tw0003s6a1c4g2n8fj",
    "sessionUrl": "https://www.firmardigital.com/f/cme0tc1tw…",
    "expiresAt": "2026-08-01T18:00:00.000Z",
    "reused": false
  }
}
GET/api/v1/signing-sessions/:idCheck status

Requires `signing-sessions:read`. When the status is `SIGNED`, the response may include a download URL.

bashFirmARDigital API
curl https://www.firmardigital.com/api/v1/signing-sessions/DOCUMENT_ID \
  --header "Authorization: Bearer fmr_live_TU_CLAVE"
200

Signed document

jsonFirmARDigital API
{
  "success": true,
  "data": {
    "documentId": "cme0tc1tw0003s6a1c4g2n8fj",
    "status": "SIGNED",
    "registeredSignerId": "cme0s9s8r0001s6a1wz6w2d4f",
    "recipientEmail": "maria@ejemplo.com",
    "signedAt": "2026-08-01T16:22:41.000Z",
    "createdAt": "2026-08-01T16:00:00.000Z",
    "downloadUrl": "https://www.firmardigital.com/api/v1/signing-sessions/cme0tc1tw…/download"
  }
}
GET/api/v1/signing-sessions/:id/downloadGet signed PDF

Requires `signing-sessions:read`. Returns a temporary URL only for signed sessions whose verified copy is available. The URL expires after 3,600 seconds.

200

Temporary download URL

jsonFirmARDigital API
{
  "success": true,
  "data": {
    "url": "https://storage.example.com/signed/…",
    "sha256": "ab47…f0c2",
    "expiresInSeconds": 3600
  }
}