curl --request GET \
--url https://api.tassyir.io/developer/apps/{appId}/webhooks/deliveries \
--header 'Authorization: Bearer <token>'const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.tassyir.io/developer/apps/{appId}/webhooks/deliveries', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));{
"data": [
{
"id": "<string>",
"webhookId": "<string>",
"eventId": "<string>",
"installationId": "<string>",
"businessId": "<string>",
"topic": "orders/created",
"status": "pending",
"attempts": 4503599627370495,
"lastStatusCode": 0,
"lastError": "<string>",
"errorClass": "http",
"lastDurationMs": 4503599627370495,
"nextAttemptAt": "2023-11-07T05:31:56Z",
"deliveredAt": "2023-11-07T05:31:56Z",
"createdAt": "2023-11-07T05:31:56Z"
}
],
"nextCursor": "<string>"
}{
"code": "INVALID_CURSOR",
"message": "<string>",
"statusCode": 123,
"fix": "<string>",
"errors": [
{
"code": "<string>",
"path": "<string>",
"message": "<string>",
"fix": "<string>"
}
],
"path": "<string>",
"requestId": "<string>"
}{
"code": "DEVELOPER_TOKEN_INVALID",
"message": "<string>",
"statusCode": 123,
"fix": "<string>",
"errors": [
{
"code": "<string>",
"path": "<string>",
"message": "<string>",
"fix": "<string>"
}
],
"path": "<string>",
"requestId": "<string>"
}{
"code": "APP_INSTALLATION_NOT_FOUND",
"message": "<string>",
"statusCode": 123,
"fix": "<string>",
"errors": [
{
"code": "<string>",
"path": "<string>",
"message": "<string>",
"fix": "<string>"
}
],
"path": "<string>",
"requestId": "<string>"
}{
"code": "DEVELOPER_TOKEN_RATE_LIMITED",
"message": "<string>",
"statusCode": 123,
"fix": "<string>",
"errors": [
{
"code": "<string>",
"path": "<string>",
"message": "<string>",
"fix": "<string>"
}
],
"path": "<string>",
"requestId": "<string>"
}{
"statusCode": 123,
"message": "<string>",
"path": "<string>",
"requestId": "<string>"
}{
"statusCode": 123,
"message": "<string>",
"path": "<string>",
"requestId": "<string>"
}The app's delivery log
Newest first, the last 30 days, metadata only (never a body or a URL). limit 1-100 (default 50); since is inclusive, until exclusive.
Takes the dashboard session or a developer token (tsy_dt_…); either way the caller is the signed-in user, and only their own account, apps and tokens are reachable.
curl --request GET \
--url https://api.tassyir.io/developer/apps/{appId}/webhooks/deliveries \
--header 'Authorization: Bearer <token>'const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.tassyir.io/developer/apps/{appId}/webhooks/deliveries', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));{
"data": [
{
"id": "<string>",
"webhookId": "<string>",
"eventId": "<string>",
"installationId": "<string>",
"businessId": "<string>",
"topic": "orders/created",
"status": "pending",
"attempts": 4503599627370495,
"lastStatusCode": 0,
"lastError": "<string>",
"errorClass": "http",
"lastDurationMs": 4503599627370495,
"nextAttemptAt": "2023-11-07T05:31:56Z",
"deliveredAt": "2023-11-07T05:31:56Z",
"createdAt": "2023-11-07T05:31:56Z"
}
],
"nextCursor": "<string>"
}{
"code": "INVALID_CURSOR",
"message": "<string>",
"statusCode": 123,
"fix": "<string>",
"errors": [
{
"code": "<string>",
"path": "<string>",
"message": "<string>",
"fix": "<string>"
}
],
"path": "<string>",
"requestId": "<string>"
}{
"code": "DEVELOPER_TOKEN_INVALID",
"message": "<string>",
"statusCode": 123,
"fix": "<string>",
"errors": [
{
"code": "<string>",
"path": "<string>",
"message": "<string>",
"fix": "<string>"
}
],
"path": "<string>",
"requestId": "<string>"
}{
"code": "APP_INSTALLATION_NOT_FOUND",
"message": "<string>",
"statusCode": 123,
"fix": "<string>",
"errors": [
{
"code": "<string>",
"path": "<string>",
"message": "<string>",
"fix": "<string>"
}
],
"path": "<string>",
"requestId": "<string>"
}{
"code": "DEVELOPER_TOKEN_RATE_LIMITED",
"message": "<string>",
"statusCode": 123,
"fix": "<string>",
"errors": [
{
"code": "<string>",
"path": "<string>",
"message": "<string>",
"fix": "<string>"
}
],
"path": "<string>",
"requestId": "<string>"
}{
"statusCode": 123,
"message": "<string>",
"path": "<string>",
"requestId": "<string>"
}{
"statusCode": 123,
"message": "<string>",
"path": "<string>",
"requestId": "<string>"
}Authorizations
The dashboard's session token (Authorization: Bearer <JWT>), as the console sends it. Never paste it into a terminal: it opens every business the user belongs to.
Path Parameters
One of your apps' ids. Another developer's app, or a malformed id, is 404 APP_NOT_FOUND.
^\d{1,20}$Query Parameters
^\d{1,20}$orders/created, abandoned_checkouts/created, orders/confirmed, orders/cancelled, orders/dispatched, orders/delivered, orders/returned, orders/updated, products/created, products/updated, products/deleted, inventory_levels/updated, customers/updated, app/installed, app/uninstalled, app/scopes_updated, customers/data_request, customers/redact, business/redact, bulk/finished pending, delivered, failed, skipped An ISO 8601 date or date and time, e.g. 2026-10-13T09:00:00Z.
An ISO 8601 date or date and time, e.g. 2026-10-13T09:00:00Z.
Page size, 1 to 100. A value outside that range is 400.
1 <= x <= 100The nextCursor of the previous page, unchanged, with the same filters.
512