Úprava API přístupu
/api/v2/admin/machine-tokens/{id}Upraví název, IP pravidla a expiraci aktivního přístupu vaší firmy. Typ, vlastníka, firmu ani hodnotu tokenu nemění. Tělo nesmí obsahovat user_id, userId, company_id ani companyId.
Jde o úplnou úpravu, ne o částečnou. name je povinný. Chybějící allowAllIps a noExpiration se berou jako false, chybějící allowedIps jako prázdný seznam. Posílejte proto vždy celá IP pravidla.
Expirace:
expiresAtve formátuYYYY-MM-DDnastaví platnost do 23:59:59 daného dne.noExpiration: trueexpiraci zruší.- Bez
expiresAta snoExpiration: falsezůstane současná expirace.
Odvolaný nebo expirovaný přístup upravit nelze, vrátí se chyba 400. Úprava ho znovu neaktivuje.
Úspěch vrací detail přístupu bez hodnoty tokenu. Token funguje dál se stejnou hodnotou.
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 a viewerIsOwner (zda přístup patří vám). samples jsou šablony volání, ne skutečná hodnota tokenu.
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ázev | Typ | Povinný | Popis | Příklad |
|---|---|---|---|---|
id | integer | ano | Číselné ID API přístupu vaší firmy (pole id), ne předpona ani hodnota tokenu. | 1 |
Tělo požadavku
| Název | Typ | Povinný | Popis | Příklad |
|---|---|---|---|---|
name | string | ano | Neprázdný název, nejvýše 120 znaků. Delší název se zkrátí. | Ukázkový e-shop |
allowAllIps | boolean | ne | Výchozí false. Hodnota true povolí všechny IP adresy, allowedIps se pak nepoužije. | |
allowedIps | string | ne | Povinné při allowAllIps=false. IP adresy nebo rozsahy CIDR oddělené čárkou nebo mezerou, případně pole řetězců. | 192.0.2.10 |
noExpiration | boolean | ne | Výchozí false. Hodnota true nastaví přístup bez expirace. | |
expiresAt | date | ne | Datum ve formátu YYYY-MM-DD. Přístup platí do 23:59:59 tohoto dne. | 2027-10-30 |
Příklad požadavku
curl
curl -X PUT 'https://www.elpokladny.cz/api/v2/admin/machine-tokens/1' \
-H 'Authorization: Bearer elp_live_example.example_secret' \
-H 'Content-Type: application/json' \
--data-raw '{
"name": "Ukázkový e-shop",
"allowAllIps": false,
"allowedIps": "192.0.2.10",
"noExpiration": false,
"expiresAt": "2027-10-30"
}'PHP
<?php
$ch = curl_init('https://www.elpokladny.cz/api/v2/admin/machine-tokens/1');
curl_setopt_array($ch, [
CURLOPT_CUSTOMREQUEST => 'PUT',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => array (
0 => 'Authorization: Bearer elp_live_example.example_secret',
1 => 'Content-Type: application/json',
),
CURLOPT_POSTFIELDS => '{
"name": "Ukázkový e-shop",
"allowAllIps": false,
"allowedIps": "192.0.2.10",
"noExpiration": false,
"expiresAt": "2027-10-30"
}',
]);
$response = curl_exec($ch);
curl_close($ch);
echo $response;javascript
const response = await fetch("https://www.elpokladny.cz/api/v2/admin/machine-tokens/1", {
"method": "PUT",
"headers": {
"Authorization": "Bearer elp_live_example.example_secret",
"Content-Type": "application/json"
},
"body": "{\n \"name\": \"Ukázkový e-shop\",\n \"allowAllIps\": false,\n \"allowedIps\": \"192.0.2.10\",\n \"noExpiration\": false,\n \"expiresAt\": \"2027-10-30\"\n}"
});
const data = await response.json();Ukázkové odpovědi
Upravený detail přístupu (HTTP 200)
application/json
{
"status": "success",
"data": {
"id": 1,
"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
}
}
Chybí modul API přístupy (HTTP 403)
application/json
{
"status": "error",
"message": "Chybí modul API přístupy (#10223)."
}
Přístup už není aktivní (HTTP 400)
application/json
{
"status": "error",
"error": "Revokovaný nebo expirovaný token nelze upravit."
}
API přístup neexistuje v této firmě (HTTP 404)
application/json
{
"status": "error",
"message": "Token nebyl nalezen."
}
Možné chyby
| HTTP | Kdy | Podoba |
|---|---|---|
| 401 | Chybí nebo je neplatný API token. | status-message |
| 403 | Chybí modul 10223 nebo požadavek nepřichází z IP adresy povolené pro API token. | status-message |
| 400 | Neplatný název, neplatná IP pravidla, tělo obsahuje ID uživatele či firmy, nebo přístup není aktivní. | status-error |
| 400 | Tělo není platný JSON. | status-message |
| 404 | Přístup neexistuje nebo je z jiné firmy. | status-message |