Get your app's listing
curl --request GET \
--url https://api.tassyir.io/developer/apps/{appId}/listing \
--header 'Authorization: Bearer <token>'const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.tassyir.io/developer/apps/{appId}/listing', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));{
"data": {
"appId": "<string>",
"distribution": "<string>",
"listedAt": "2023-11-07T05:31:56Z",
"delistedAt": "2023-11-07T05:31:56Z",
"delistedBy": "<string>",
"draft": {
"name": {
"ar": "<string>",
"en": "<string>"
},
"tagline": {
"ar": "<string>",
"en": "<string>"
},
"description": {
"ar": "<string>",
"en": "<string>"
},
"features": [
{
"ar": "<string>",
"en": "<string>"
}
],
"category": "orders",
"searchTerms": [
"<string>"
],
"iconMediaId": "<string>",
"screenshots": {
"desktop": [
{
"mediaId": "<string>",
"alt": {
"ar": "<string>",
"en": "<string>"
}
}
],
"mobile": [
{
"mediaId": "<string>",
"alt": {
"ar": "<string>",
"en": "<string>"
}
}
]
},
"supportUrl": "<string>",
"privacyPolicyUrl": "<string>",
"externalService": {
"name": "<string>",
"url": "<string>",
"paid": true
},
"languages": [
"ar"
]
},
"draftUpdatedAt": "2023-11-07T05:31:56Z",
"issues": [
{
"code": "LISTING_FIELD_UNKNOWN",
"path": "<string>",
"message": "<string>",
"fix": "<string>"
}
],
"live": {
"name": {
"ar": "<string>",
"en": "<string>"
},
"tagline": {
"ar": "<string>",
"en": "<string>"
},
"description": {
"ar": "<string>",
"en": "<string>"
},
"features": [
{
"ar": "<string>",
"en": "<string>"
}
],
"category": "orders",
"searchTerms": [
"<string>"
],
"iconUrl": "<string>",
"screenshots": {
"desktop": [
{
"id": "<string>",
"url": "<string>",
"width": 4503599627370496,
"height": 4503599627370496,
"alt": {
"ar": "<string>",
"en": "<string>"
}
}
],
"mobile": [
{
"id": "<string>",
"url": "<string>",
"width": 4503599627370496,
"height": 4503599627370496,
"alt": {
"ar": "<string>",
"en": "<string>"
}
}
]
},
"supportUrl": "<string>",
"privacyPolicyUrl": "<string>",
"externalService": {
"name": "<string>",
"url": "<string>",
"paid": true
},
"languages": [
"ar"
],
"approvedAt": "2023-11-07T05:31:56Z"
},
"media": [
{
"id": "<string>",
"kind": "<string>",
"url": "<string>",
"contentType": "<string>",
"width": 4503599627370496,
"height": 4503599627370496,
"bytes": 4503599627370496,
"status": "<string>",
"createdAt": "2023-11-07T05:31:56Z",
"retiredAt": "2023-11-07T05:31:56Z"
}
]
}
}{
"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_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>"
}Listing
Get your app's listing
The draft you edit (an app without one reads its names only), what it still needs before you can submit it (issues), the live listing the marketplace shows (null until Tassyir approves one) and every listing image.
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.
GET
/
developer
/
apps
/
{appId}
/
listing
Get your app's listing
curl --request GET \
--url https://api.tassyir.io/developer/apps/{appId}/listing \
--header 'Authorization: Bearer <token>'const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.tassyir.io/developer/apps/{appId}/listing', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));{
"data": {
"appId": "<string>",
"distribution": "<string>",
"listedAt": "2023-11-07T05:31:56Z",
"delistedAt": "2023-11-07T05:31:56Z",
"delistedBy": "<string>",
"draft": {
"name": {
"ar": "<string>",
"en": "<string>"
},
"tagline": {
"ar": "<string>",
"en": "<string>"
},
"description": {
"ar": "<string>",
"en": "<string>"
},
"features": [
{
"ar": "<string>",
"en": "<string>"
}
],
"category": "orders",
"searchTerms": [
"<string>"
],
"iconMediaId": "<string>",
"screenshots": {
"desktop": [
{
"mediaId": "<string>",
"alt": {
"ar": "<string>",
"en": "<string>"
}
}
],
"mobile": [
{
"mediaId": "<string>",
"alt": {
"ar": "<string>",
"en": "<string>"
}
}
]
},
"supportUrl": "<string>",
"privacyPolicyUrl": "<string>",
"externalService": {
"name": "<string>",
"url": "<string>",
"paid": true
},
"languages": [
"ar"
]
},
"draftUpdatedAt": "2023-11-07T05:31:56Z",
"issues": [
{
"code": "LISTING_FIELD_UNKNOWN",
"path": "<string>",
"message": "<string>",
"fix": "<string>"
}
],
"live": {
"name": {
"ar": "<string>",
"en": "<string>"
},
"tagline": {
"ar": "<string>",
"en": "<string>"
},
"description": {
"ar": "<string>",
"en": "<string>"
},
"features": [
{
"ar": "<string>",
"en": "<string>"
}
],
"category": "orders",
"searchTerms": [
"<string>"
],
"iconUrl": "<string>",
"screenshots": {
"desktop": [
{
"id": "<string>",
"url": "<string>",
"width": 4503599627370496,
"height": 4503599627370496,
"alt": {
"ar": "<string>",
"en": "<string>"
}
}
],
"mobile": [
{
"id": "<string>",
"url": "<string>",
"width": 4503599627370496,
"height": 4503599627370496,
"alt": {
"ar": "<string>",
"en": "<string>"
}
}
]
},
"supportUrl": "<string>",
"privacyPolicyUrl": "<string>",
"externalService": {
"name": "<string>",
"url": "<string>",
"paid": true
},
"languages": [
"ar"
],
"approvedAt": "2023-11-07T05:31:56Z"
},
"media": [
{
"id": "<string>",
"kind": "<string>",
"url": "<string>",
"contentType": "<string>",
"width": 4503599627370496,
"height": 4503599627370496,
"bytes": 4503599627370496,
"status": "<string>",
"createdAt": "2023-11-07T05:31:56Z",
"retiredAt": "2023-11-07T05:31:56Z"
}
]
}
}{
"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_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
dashboardSessiondeveloperToken
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.
Pattern:
^\d{1,20}$Response
The listing.
Your app's listing: the draft you edit and the live one.
Show child attributes
Show child attributes