Rotace API přístupu

POST
/api/v2/admin/machine-tokens/{id}/rotate

Pro aktivní přístup vytvoří nový přístup s novým ID a novou hodnotou tokenu a současně původní přístup odvolá. Nový přístup převezme vlastníka, typ, název, IP pravidla i datum expirace původního. Platnost se rotací neprodlužuje. Rotaci může provést i jiný uživatel vaší firmy s modulem 10223.

Po úspěchu stará hodnota tokenu přestane fungovat. Novou hodnotu najdete v poli data.plaintext a zobrazí se jen v této odpovědi, uložte ji proto hned do integrace. Odpověď popisuje nový přístup s novým ID (v ukázce 2), ne ID z adresy (1). Tělo požadavku není potřeba.

Pokud odpověď ztratíte, původní přístup už může být odvolaný a opakovaná rotace jeho ID vrátí chybu. Zkontrolujte seznam přístupů a pokračujte s jiným platným API tokenem.

Pole odpovědi

Přístup obsahuje id, type (BEARER nebo URL), name, zkrácenou předponu tokenu tokenPrefix, IP pravidla (allowAllIps, allowedIps), expiresAt, status (ACTIVE, EXPIRED, REVOKED), vlastníka user (id, name, username), revokedAt, revokedBy, lastUsedAt, lastUsedIp a createdAt. Pole legacy a legacyUid jsou příznakem starého typu přístupu.

Dále obsahuje noExpiration, adresu API apiOrigin, ukázky volání samples, viewerIsOwner (zda přístup patří vám) a plaintext s celou hodnotou nového tokenu. samples jsou šablony volání, ne skutečná hodnota tokenu. Token v ukázce je neplatný.

Nevyplněné časové údaje jsou null. Časy mají formát YYYY-MM-DD HH:MM:SS bez časové zóny. Text <zkrácená předpona> v ukázce je zástupná hodnota.

Operace vyžaduje modul 10223 API přístupy. Odpověď se neukládá do cache (Cache-Control: no-store). Více v sekcích Autentizace, Oprávnění a moduly a Chybové stavy.

Autentizace a oprávnění

Vyžaduje API token: Bearer v hlavičce nebo URL token.

10223 - API přístupy Bez modulu API přístupy vrací operace HTTP 403. Modul musí mít uživatel, kterému patří použitý API token.API přístupy

Parametry

Parametry cesty

NázevTypPovinnýPopisPříklad
idinteger anoČíselné ID API přístupu vaší firmy (pole id), ne předpona ani hodnota tokenu. 1

Příklad požadavku

curl

curl -X POST 'https://www.elpokladny.cz/api/v2/admin/machine-tokens/1/rotate' \
  -H 'Authorization: Bearer elp_live_example.example_secret'

PHP

<?php
$ch = curl_init('https://www.elpokladny.cz/api/v2/admin/machine-tokens/1/rotate');
curl_setopt_array($ch, [
    CURLOPT_CUSTOMREQUEST => 'POST',
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_HTTPHEADER => array (
  0 => 'Authorization: Bearer elp_live_example.example_secret',
),
]);
$response = curl_exec($ch);
curl_close($ch);
echo $response;

javascript

const response = await fetch("https://www.elpokladny.cz/api/v2/admin/machine-tokens/1/rotate", {
    "method": "POST",
    "headers": {
        "Authorization": "Bearer elp_live_example.example_secret"
    }
});
const data = await response.json();

Ukázkové odpovědi

Nový přístup po rotaci (HTTP 200)

application/json

{
  "status": "success",
  "data": {
    "id": 2,
    "type": "BEARER",
    "name": "Ukázkový e-shop",
    "tokenPrefix": "<zkrácená předpona>",
    "legacy": false,
    "legacyUid": null,
    "allowAllIps": false,
    "allowedIps": "192.0.2.10",
    "expiresAt": "2027-10-30 23:59:59",
    "status": "ACTIVE",
    "user": {
      "id": 101,
      "name": "Ukázkový uživatel",
      "username": "integrator.ukazka"
    },
    "revokedAt": null,
    "revokedBy": null,
    "lastUsedAt": null,
    "lastUsedIp": null,
    "createdAt": "2026-10-30 12:00:00",
    "noExpiration": false,
    "apiOrigin": "https://www.elpokladny.cz",
    "samples": {
      "bearerHeader": "Authorization: Bearer elp_live_example.example_secret",
      "urlQuery": "https://www.elpokladny.cz/api/v2/docs?api_token=example.example_secret",
      "curlBearer": "curl -H \"Authorization: Bearer elp_live_example.example_secret\" https://www.elpokladny.cz/api/v2/docs",
      "curlPdf": "curl -H \"Authorization: Bearer elp_live_example.example_secret\" https://www.elpokladny.cz/api/v2/docs/1/pdf -o doklad.pdf"
    },
    "viewerIsOwner": true,
    "plaintext": "elp_live_example.example_secret"
  }
}

Chybí modul API přístupy (HTTP 403)

application/json

{
  "status": "error",
  "message": "Chybí modul API přístupy (#10223)."
}

Přístup nelze rotovat (HTTP 400)

application/json

{
  "status": "error",
  "error": "Token nelze rotovat."
}

API přístup neexistuje v této firmě (HTTP 404)

application/json

{
  "status": "error",
  "message": "Token nebyl nalezen."
}

Možné chyby

Chybové stavy

HTTPKdyPodoba
401Chybí nebo je neplatný API token. status-message
403Chybí modul 10223 nebo požadavek nepřichází z IP adresy povolené pro API token. status-message
400Přístup není aktivní nebo náhradu nelze vytvořit. status-error
404Přístup neexistuje nebo je z jiné firmy. status-message

Související návody