Skip to main content
POST
/
invoice-series
/
{id}
/
unlock
Unlock series
curl --request POST \
  --url https://api.contazen.ro/v1/invoice-series/{id}/unlock \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '{
  "force": false
}'
{
  "success": true,
  "data": {
    "id": "<string>",
    "object": "invoice_series",
    "name": "<string>",
    "document_type": "fiscal",
    "description": "<string>",
    "start_number": 123,
    "next_number": 123,
    "format": "FACT-{year}-{number}",
    "is_primary": true,
    "is_used": true,
    "is_locked": true,
    "lock": {
      "device_id": "<string>",
      "session_id": 123,
      "user_id": 123,
      "device_name": "<string>",
      "device_platform": "<string>",
      "locked_at": 123
    },
    "year": 123,
    "created_at": 123
  },
  "meta": {
    "version": "v1",
    "request_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
    "response_time": "23.45ms"
  }
}

Overview

Removes the mobile-device binding on a series. After unlocking, any authenticated caller (web, API key, or mobile) can emit invoices on the series again.
  • The mobile device that owns the lock can always unlock.
  • A different mobile device needs force: true in the body and firm-admin rights to override.
  • Legacy API-key callers bypass the device check and can force-unlock unconditionally (intended for admin tooling).

Body

force
boolean
default:"false"
Required when a caller that does not own the lock wants to break it. Without force, the server returns series_locked_other_device.

Response

Returns the updated series object. is_locked is false and lock is null.
Any offline reservations the previous device had not yet synced are still valid: the lock only gates new invoice creation. If a locked device has queued invoices in its outbox, coordinate with the user before force-unlocking — their next sync will still succeed if their reservation tokens are still pending on the server.

Authorizations

Authorization
string
header
required

Use your API key (sk_live_xxx or sk_test_xxx)

Path Parameters

id
string
required

Body

application/json
force
boolean
default:false

Override the same-device rule when unlocking from another device.

Response

Series unlocked

success
boolean
data
object
meta
object