Aller au contenu
Menu de la documentation : Logs

Logs

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

La référence de l’API n’existe qu’en anglais, comme l’API.

Sur cette page

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.