Μετάβαση στο περιεχόμενο
Μενού τεκμηρίωσης: Logs

Logs

Your requests to the API and the calls Tallio made to providers for you.

Η αναφορά API είναι διαθέσιμη μόνο στα αγγλικά, όπως και το API.

Σε αυτή τη σελίδα

List provider calls #

GET /api/v1/provider_calls

Returns the calls Tallio made to providers for your key's mode, newest first, as metadata: what was asked, how it ended and the provider's error. Filter by document and by when the call started.

  • Bearer API key

Query parameters

limitinteger

How many items to return, 1 to 100; 10 by default.

From 1 to 100 · Default: 10

starting_afterstring

An id (pcl_…) from this list: return the items after it, older ones (pass the last id of the current page). Not with ending_before.

Up to 64 characters

ending_beforestring

An id (pcl_…) from this list: return the items before it, newer ones (pass the first id of the current page). Not with starting_after.

Up to 64 characters

documentstring

Only calls about this document (doc_…).

Show patternHide pattern^doc_[0-9A-Za-z]{22}$
created[gte]string

Only provider calls started at or after this moment (ISO 8601, e.g. 2026-10-11T09:30:00Z).

Format: date-time

created[lte]string

Only provider calls started at or before this moment (ISO 8601, e.g. 2026-10-11T09:30:00Z).

Format: date-time

Request

curl
curl -X GET 'https://tallio.dev/api/v1/provider_calls' \
  -H "Authorization: Bearer $TALLIO_API_KEY"
Responses
StatusDescription
200A page of provider calls.
4XX, 5XXAn error: see Errors below.

Response body · 200

objectstringrequired

Always "list".

Always list

dataobject[]required

This page's items, newest first.

Each item: One call Tallio made to a provider on your behalf, as the provider-call log keeps it: metadata only.

Show nested fields (16)Hide nested fields (16)
idstringrequired

Id of the provider call (pcl_…).

Show patternHide pattern^pcl_[0-9A-Za-z]{22}$
objectstringrequired

Always "provider_call".

Always provider_call

livemodebooleanrequired

True for a call made for live documents, false for test ones.

providerstringrequired

The licensed e-invoicing provider (or direct myDATA, or Tallio's sandbox) that issues the document.

One of: sandbox, mydata, wrapp, impact, epsilon, softone, prosvasis

operationstringrequired

What Tallio asked the provider: issue, status (a status check), fetchPdf, lookup, verify (the connection's credentials), cancel or onboard.

One of: issue, status, fetchPdf, lookup, verify, cancel, onboard

purposestringrequired

operation: the operation's own exchange; auth: a login made for it, which never carries its verdict.

One of: operation, auth

outcomestringrequired

How the call ended: ok, rejected (the provider refused it), transient (worth retrying), unknown (no clear answer, e.g. a timeout) or not_supported (the provider does not offer the operation).

One of: ok, rejected, transient, unknown, not_supported

settled_atstring | nullrequired

When Tallio recorded its verdict on the call's outcome; null while the outcome is only read from the HTTP status, and always null for an auth call.

Format: date-time

http_statusinteger | nullrequired

The provider's HTTP status; null when no answer came back.

From 100 to 599

duration_msintegerrequired

How long the call took.

From 0 to 9007199254740991

errorobject | nullrequired

The provider's error, without its raw body (that is in response); null when the call succeeded. provider_message is removed (null) when the bodies are purged.

Show nested fields (4)Hide nested fields (4)
codestringrequired

Stable machine-readable error code. Branch on this, never on message.

One of: validation_failed, unauthorized, not_found, idempotency_conflict, idempotency_in_progress, already_exists, invalid_state, payload_too_large, unsupported_media_type, rate_limited, not_supported, regime_mismatch, connection_unavailable, provider_credentials_invalid, provider_rejected, balance_exceeded, provider_unavailable, pdf_not_ready, service_unavailable, internal_error

messagestringrequired

Tallio's own explanation, safe to show to a developer; the provider's words are in provider_message.

provider_codestring | nullrequired

The provider's own error code, or null when the error did not come from a provider.

provider_messagestring | nullrequired

The provider's own error message, verbatim, or null when the error did not come from a provider. On a document or connection it is removed (null), like provider_raw, once the retention window ends or by a data-subject erasure.

urlstring | nullrequired

The provider URL called, origin and path only; the query is in request.

merchantstringrequired

The merchant the call was made for (mer_…).

Show patternHide pattern^mer_[0-9A-Za-z]{22}$
documentstring | nullrequired

The document the call was about (doc_…); null when none.

Show patternHide pattern^doc_[0-9A-Za-z]{22}$
connectionstring | nullrequired

The connection used (con_…); null for the sandbox.

Show patternHide pattern^con_[0-9A-Za-z]{22}$
started_atstringrequired

When the call started.

Format: date-time

has_morebooleanrequired

Whether more items exist past this page in the direction you paged (starting_after or ending_before).

Example response · 200
{
  "object": "list",
  "data": [],
  "has_more": false
}

Response headers

x-request-idstring

The request's correlation id; quote it when reporting a problem. One of: req_ plus a uuid (Tallio made it), client: plus the x-request-id you sent (8-128 of A-Z a-z 0-9 . _ : -), or the hosting platform's id.

With every response

Show patternHide pattern^(?:req_[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}|client:[A-Za-z0-9._:-]{8,128}|[A-Za-z0-9._-]{1,16}::[A-Za-z0-9._:-]{6,110})$
ratelimit-limitinteger

Requests allowed in the current window for the bucket this request counted against.

With 200, 400, 429 · At least 1

ratelimit-remaininginteger

Requests left in the current window; 0 means the next one is refused until the window resets.

With 200, 400, 429 · At least 0

ratelimit-resetinteger

Seconds until the current window resets.

With 200, 400, 429 · At least 0

www-authenticatestring

The bearer challenge: send a vendor secret key as Authorization: Bearer <key>.

With 401 · Always Bearer realm="tallio"

retry-afterinteger

Seconds to wait before retrying a request refused with 429 rate_limited.

With 429 · At least 1

Errors
CodeStatusRetryableMeaning
validation_failed400NoRequest validation failed.
unauthorized401NoAuthentication is required.
rate_limited429YesA rate limit was reached. Retry later.
internal_error500NoAn unexpected server error occurred.

Retrieve a provider call #

GET /api/v1/provider_calls/{id}

Returns one provider call of your key's mode with what Tallio sent and what the provider answered, credentials removed. Past the retention window, or after a data-subject erasure, the bodies are null and bodies_purged_at says when.

  • Bearer API key

Path parameters

idstringrequired

The provider call's id (pcl_…).

Request

curl
curl -X GET 'https://tallio.dev/api/v1/provider_calls/pcl_02y9O8rh7F50tGi0QcWRrx' \
  -H "Authorization: Bearer $TALLIO_API_KEY"
Responses
StatusDescription
200The provider call.
4XX, 5XXAn error: see Errors below.

Response body · 200

dataobjectrequired

One provider call with its request and response bodies.

Show nested fields (21)Hide nested fields (21)
idstringrequired

Id of the provider call (pcl_…).

Show patternHide pattern^pcl_[0-9A-Za-z]{22}$
objectstringrequired

Always "provider_call".

Always provider_call

livemodebooleanrequired

True for a call made for live documents, false for test ones.

providerstringrequired

The licensed e-invoicing provider (or direct myDATA, or Tallio's sandbox) that issues the document.

One of: sandbox, mydata, wrapp, impact, epsilon, softone, prosvasis

operationstringrequired

What Tallio asked the provider: issue, status (a status check), fetchPdf, lookup, verify (the connection's credentials), cancel or onboard.

One of: issue, status, fetchPdf, lookup, verify, cancel, onboard

purposestringrequired

operation: the operation's own exchange; auth: a login made for it, which never carries its verdict.

One of: operation, auth

outcomestringrequired

How the call ended: ok, rejected (the provider refused it), transient (worth retrying), unknown (no clear answer, e.g. a timeout) or not_supported (the provider does not offer the operation).

One of: ok, rejected, transient, unknown, not_supported

settled_atstring | nullrequired

When Tallio recorded its verdict on the call's outcome; null while the outcome is only read from the HTTP status, and always null for an auth call.

Format: date-time

http_statusinteger | nullrequired

The provider's HTTP status; null when no answer came back.

From 100 to 599

duration_msintegerrequired

How long the call took.

From 0 to 9007199254740991

errorobject | nullrequired

The provider's error, without its raw body (that is in response); null when the call succeeded. provider_message is removed (null) when the bodies are purged.

Show nested fields (4)Hide nested fields (4)
codestringrequired

Stable machine-readable error code. Branch on this, never on message.

One of: validation_failed, unauthorized, not_found, idempotency_conflict, idempotency_in_progress, already_exists, invalid_state, payload_too_large, unsupported_media_type, rate_limited, not_supported, regime_mismatch, connection_unavailable, provider_credentials_invalid, provider_rejected, balance_exceeded, provider_unavailable, pdf_not_ready, service_unavailable, internal_error

messagestringrequired

Tallio's own explanation, safe to show to a developer; the provider's words are in provider_message.

provider_codestring | nullrequired

The provider's own error code, or null when the error did not come from a provider.

provider_messagestring | nullrequired

The provider's own error message, verbatim, or null when the error did not come from a provider. On a document or connection it is removed (null), like provider_raw, once the retention window ends or by a data-subject erasure.

urlstring | nullrequired

The provider URL called, origin and path only; the query is in request.

merchantstringrequired

The merchant the call was made for (mer_…).

Show patternHide pattern^mer_[0-9A-Za-z]{22}$
documentstring | nullrequired

The document the call was about (doc_…); null when none.

Show patternHide pattern^doc_[0-9A-Za-z]{22}$
connectionstring | nullrequired

The connection used (con_…); null for the sandbox.

Show patternHide pattern^con_[0-9A-Za-z]{22}$
started_atstringrequired

When the call started.

Format: date-time

requestobject | nullrequired

The request Tallio sent as logged: method, full URL, headers and body, plus error when no answer came. Credentials were removed before it was stored. body is parsed JSON or text; a body over 64 KB is a string ending in …[truncated: N bytes]. When even the headers would not fit, the whole side is {omitted: "[envelope omitted: N bytes]"}. Null when no body was kept (an operation that logs none, or none arrived), once the bodies were purged (see bodies_purged_at), or when it could not be opened (see bodies_unreadable), or always for a login exchange (see bodies_withheld).

Show nested fields (1)Hide nested fields (1)
{key}any
responseobject | nullrequired

The provider's answer as logged: status, headers and body. Credentials were removed before it was stored. body is parsed JSON or text; a body over 64 KB is a string ending in …[truncated: N bytes]. When even the headers would not fit, the whole side is {omitted: "[envelope omitted: N bytes]"}. Null when no body was kept (an operation that logs none, or none arrived), once the bodies were purged (see bodies_purged_at), or when it could not be opened (see bodies_unreadable), or always for a login exchange (see bodies_withheld).

Show nested fields (1)Hide nested fields (1)
{key}any
bodies_purged_atstring | nullrequired

When the bodies were removed, by the retention window or a data-subject erasure; null while they are kept.

Format: date-time

bodies_unreadablebooleanrequired

True when a stored body could not be opened; that side is null, and Tallio logs it to look into.

bodies_withheldbooleanrequired

True for a login exchange with the provider (purpose auth): its bodies can hold the merchant's session, so request and response are always null.

Example response · 200
{
  "data": {
    "id": "pcl_02y9O8rh7F50tGi0QcWRrx",
    "object": "provider_call",
    "livemode": false,
    "provider": "sandbox",
    "operation": "issue",
    "purpose": "operation",
    "outcome": "ok",
    "settled_at": "2026-10-11T09:30:00.000Z",
    "http_status": 100,
    "duration_ms": 0,
    "error": {
      "code": "validation_failed",
      "message": "string",
      "provider_code": "string",
      "provider_message": "string"
    },
    "url": "string",
    "merchant": "mer_02y9O8rh7F50tGi0QcWRrx",
    "document": "doc_02y9O8rh7F50tGi0QcWRrx",
    "connection": "con_02y9O8rh7F50tGi0QcWRrx",
    "started_at": "2026-10-11T09:30:00.000Z",
    "request": {},
    "response": {},
    "bodies_purged_at": "2026-10-11T09:30:00.000Z",
    "bodies_unreadable": false,
    "bodies_withheld": false
  }
}

Response headers

x-request-idstring

The request's correlation id; quote it when reporting a problem. One of: req_ plus a uuid (Tallio made it), client: plus the x-request-id you sent (8-128 of A-Z a-z 0-9 . _ : -), or the hosting platform's id.

With every response

Show patternHide pattern^(?:req_[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}|client:[A-Za-z0-9._:-]{8,128}|[A-Za-z0-9._-]{1,16}::[A-Za-z0-9._:-]{6,110})$
ratelimit-limitinteger

Requests allowed in the current window for the bucket this request counted against.

With 200, 404, 429 · At least 1

ratelimit-remaininginteger

Requests left in the current window; 0 means the next one is refused until the window resets.

With 200, 404, 429 · At least 0

ratelimit-resetinteger

Seconds until the current window resets.

With 200, 404, 429 · At least 0

www-authenticatestring

The bearer challenge: send a vendor secret key as Authorization: Bearer <key>.

With 401 · Always Bearer realm="tallio"

retry-afterinteger

Seconds to wait before retrying a request refused with 429 rate_limited.

With 429 · At least 1

Errors
CodeStatusRetryableMeaning
unauthorized401NoAuthentication is required.
not_found404NoThe requested resource was not found.
rate_limited429YesA rate limit was reached. Retry later.
internal_error500NoAn unexpected server error occurred.

List requests #

GET /api/v1/requests

Returns the requests your key's mode made to the API, newest first, as metadata. Filter by HTTP status, operation, document, request id and creation time.

  • Bearer API key

Query parameters

limitinteger

How many items to return, 1 to 100; 10 by default.

From 1 to 100 · Default: 10

starting_afterstring

An id (rql_…) from this list: return the items after it, older ones (pass the last id of the current page). Not with ending_before.

Up to 64 characters

ending_beforestring

An id (rql_…) from this list: return the items before it, newer ones (pass the first id of the current page). Not with starting_after.

Up to 64 characters

statusinteger

Only requests answered with this HTTP status, e.g. 422.

From 100 to 599

operation_idstring

Only requests to this operation, by its id (e.g. createDocument); an unknown id lists nothing.

Up to 64 characters

Show patternHide pattern^[A-Za-z][A-Za-z0-9]*$
documentstring

Only requests that answered with this document (doc_…).

Show patternHide pattern^doc_[0-9A-Za-z]{22}$
request_idstring

Only requests with this x-request-id.

Show patternHide pattern^(?:req_[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}|client:[A-Za-z0-9._:-]{8,128}|[A-Za-z0-9._-]{1,16}::[A-Za-z0-9._:-]{6,110})$
created[gte]string

Only requests created at or after this moment (ISO 8601, e.g. 2026-10-11T09:30:00Z).

Format: date-time

created[lte]string

Only requests created at or before this moment (ISO 8601, e.g. 2026-10-11T09:30:00Z).

Format: date-time

Request

curl
curl -X GET 'https://tallio.dev/api/v1/requests' \
  -H "Authorization: Bearer $TALLIO_API_KEY"
Responses
StatusDescription
200A page of logged requests.
4XX, 5XXAn error: see Errors below.

Response body · 200

objectstringrequired

Always "list".

Always list

dataobject[]required

This page's items, newest first.

Each item: One request your key made to the API, as the request log keeps it: metadata only.

Show nested fields (14)Hide nested fields (14)
idstringrequired

Id of the logged request (rql_…).

Show patternHide pattern^rql_[0-9A-Za-z]{22}$
objectstringrequired

Always "api_request".

Always api_request

request_idstringrequired

The request's x-request-id. Not unique: an MCP tool call logs two requests under one id.

livemodebooleanrequired

True for a live key's request, false for a test key's.

sourcestringrequired

api: a call to the REST API; mcp: a tool call made through the MCP server.

One of: api, mcp

methodstringrequired

The HTTP method.

pathstringrequired

The operation's route template, e.g. /api/v1/documents/{id}.

operation_idstring | nullrequired

The operation's id, e.g. getDocument; null when none matched.

statusintegerrequired

The HTTP status Tallio answered with.

From 100 to 599

duration_msintegerrequired

How long Tallio took to answer, until the response's headers were ready.

From 0 to 9007199254740991

idempotency_keystring | nullrequired

The Idempotency-Key the request carried; null if none.

merchantstring | nullrequired

The merchant the request was about (mer_…); null when none.

Show patternHide pattern^mer_[0-9A-Za-z]{22}$
documentstring | nullrequired

The document the request answered with (doc_…); null when none.

Show patternHide pattern^doc_[0-9A-Za-z]{22}$
createdstringrequired

When the request arrived.

Format: date-time

has_morebooleanrequired

Whether more items exist past this page in the direction you paged (starting_after or ending_before).

Example response · 200
{
  "object": "list",
  "data": [],
  "has_more": false
}

Response headers

x-request-idstring

The request's correlation id; quote it when reporting a problem. One of: req_ plus a uuid (Tallio made it), client: plus the x-request-id you sent (8-128 of A-Z a-z 0-9 . _ : -), or the hosting platform's id.

With every response

Show patternHide pattern^(?:req_[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}|client:[A-Za-z0-9._:-]{8,128}|[A-Za-z0-9._-]{1,16}::[A-Za-z0-9._:-]{6,110})$
ratelimit-limitinteger

Requests allowed in the current window for the bucket this request counted against.

With 200, 400, 429 · At least 1

ratelimit-remaininginteger

Requests left in the current window; 0 means the next one is refused until the window resets.

With 200, 400, 429 · At least 0

ratelimit-resetinteger

Seconds until the current window resets.

With 200, 400, 429 · At least 0

www-authenticatestring

The bearer challenge: send a vendor secret key as Authorization: Bearer <key>.

With 401 · Always Bearer realm="tallio"

retry-afterinteger

Seconds to wait before retrying a request refused with 429 rate_limited.

With 429 · At least 1

Errors
CodeStatusRetryableMeaning
validation_failed400NoRequest validation failed.
unauthorized401NoAuthentication is required.
rate_limited429YesA rate limit was reached. Retry later.
internal_error500NoAn unexpected server error occurred.

Retrieve a request #

GET /api/v1/requests/{id}

Returns one logged request of your key's mode with its request and response bodies, credentials removed. Past the retention window, or after a data-subject erasure, the bodies are null and bodies_purged_at says when.

  • Bearer API key

Path parameters

idstringrequired

The logged request's id (rql_…).

Request

curl
curl -X GET 'https://tallio.dev/api/v1/requests/rql_02y9O8rh7F50tGi0QcWRrx' \
  -H "Authorization: Bearer $TALLIO_API_KEY"
Responses
StatusDescription
200The logged request.
4XX, 5XXAn error: see Errors below.

Response body · 200

dataobjectrequired

One logged request with its request and response bodies.

Show nested fields (18)Hide nested fields (18)
idstringrequired

Id of the logged request (rql_…).

Show patternHide pattern^rql_[0-9A-Za-z]{22}$
objectstringrequired

Always "api_request".

Always api_request

request_idstringrequired

The request's x-request-id. Not unique: an MCP tool call logs two requests under one id.

livemodebooleanrequired

True for a live key's request, false for a test key's.

sourcestringrequired

api: a call to the REST API; mcp: a tool call made through the MCP server.

One of: api, mcp

methodstringrequired

The HTTP method.

pathstringrequired

The operation's route template, e.g. /api/v1/documents/{id}.

operation_idstring | nullrequired

The operation's id, e.g. getDocument; null when none matched.

statusintegerrequired

The HTTP status Tallio answered with.

From 100 to 599

duration_msintegerrequired

How long Tallio took to answer, until the response's headers were ready.

From 0 to 9007199254740991

idempotency_keystring | nullrequired

The Idempotency-Key the request carried; null if none.

merchantstring | nullrequired

The merchant the request was about (mer_…); null when none.

Show patternHide pattern^mer_[0-9A-Za-z]{22}$
documentstring | nullrequired

The document the request answered with (doc_…); null when none.

Show patternHide pattern^doc_[0-9A-Za-z]{22}$
createdstringrequired

When the request arrived.

Format: date-time

requestobject | nullrequired

The request as logged: method, path with its query, headers and body. Credentials were removed before it was stored. body is parsed JSON or text; a body over 64 KB is a string ending in …[truncated: N bytes]. When even the headers would not fit, the whole side is {omitted: "[envelope omitted: N bytes]"}. Null when no body was kept (an operation that logs none, or none arrived), once the bodies were purged (see bodies_purged_at), or when it could not be opened (see bodies_unreadable).

Show nested fields (1)Hide nested fields (1)
{key}any
responseobject | nullrequired

The response as logged: status, headers and body. Credentials were removed before it was stored. body is parsed JSON or text; a body over 64 KB is a string ending in …[truncated: N bytes]. When even the headers would not fit, the whole side is {omitted: "[envelope omitted: N bytes]"}. Null when no body was kept (an operation that logs none, or none arrived), once the bodies were purged (see bodies_purged_at), or when it could not be opened (see bodies_unreadable).

Show nested fields (1)Hide nested fields (1)
{key}any
bodies_purged_atstring | nullrequired

When the bodies were removed, by the retention window or a data-subject erasure; null while they are kept.

Format: date-time

bodies_unreadablebooleanrequired

True when a stored body could not be opened; that side is null, and Tallio logs it to look into.

Example response · 200
{
  "data": {
    "id": "rql_02y9O8rh7F50tGi0QcWRrx",
    "object": "api_request",
    "request_id": "req_0192f4c1-7a40-7c42-9b1d-4e5f6a7b8c9d",
    "livemode": false,
    "source": "api",
    "method": "string",
    "path": "string",
    "operation_id": "string",
    "status": 100,
    "duration_ms": 0,
    "idempotency_key": "string",
    "merchant": "mer_02y9O8rh7F50tGi0QcWRrx",
    "document": "doc_02y9O8rh7F50tGi0QcWRrx",
    "created": "2026-10-11T09:30:00.000Z",
    "request": {},
    "response": {},
    "bodies_purged_at": "2026-10-11T09:30:00.000Z",
    "bodies_unreadable": false
  }
}

Response headers

x-request-idstring

The request's correlation id; quote it when reporting a problem. One of: req_ plus a uuid (Tallio made it), client: plus the x-request-id you sent (8-128 of A-Z a-z 0-9 . _ : -), or the hosting platform's id.

With every response

Show patternHide pattern^(?:req_[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}|client:[A-Za-z0-9._:-]{8,128}|[A-Za-z0-9._-]{1,16}::[A-Za-z0-9._:-]{6,110})$
ratelimit-limitinteger

Requests allowed in the current window for the bucket this request counted against.

With 200, 404, 429 · At least 1

ratelimit-remaininginteger

Requests left in the current window; 0 means the next one is refused until the window resets.

With 200, 404, 429 · At least 0

ratelimit-resetinteger

Seconds until the current window resets.

With 200, 404, 429 · At least 0

www-authenticatestring

The bearer challenge: send a vendor secret key as Authorization: Bearer <key>.

With 401 · Always Bearer realm="tallio"

retry-afterinteger

Seconds to wait before retrying a request refused with 429 rate_limited.

With 429 · At least 1

Errors
CodeStatusRetryableMeaning
unauthorized401NoAuthentication is required.
not_found404NoThe requested resource was not found.
rate_limited429YesA rate limit was reached. Retry later.
internal_error500NoAn unexpected server error occurred.