Create an app
curl --request POST \
--url https://api.tassyir.io/developer/apps \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"handle": "<string>",
"nameEn": "<string>",
"nameAr": "<string>",
"customBusinessId": "<string>"
}
'const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
handle: '<string>',
nameEn: '<string>',
nameAr: '<string>',
customBusinessId: '<string>'
})
};
fetch('https://api.tassyir.io/developer/apps', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));{
"data": {
"id": "<string>",
"handle": "<string>",
"clientId": "<string>",
"nameEn": "<string>",
"nameAr": "<string>",
"distribution": "<string>",
"customBusinessId": "<string>",
"hostingMode": "<string>",
"status": "<string>",
"suspendedReason": "<string>",
"currentVersion": 4503599627370496,
"installCount": 4503599627370495,
"createdAt": "2023-11-07T05:31:56Z",
"updatedAt": "2023-11-07T05:31:56Z"
}
}{
"code": "APP_CUSTOM_BUSINESS_NOT_FOUND",
"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": "DEVELOPER_ACCOUNT_SUSPENDED",
"message": "<string>",
"statusCode": 123,
"fix": "<string>",
"errors": [
{
"code": "<string>",
"path": "<string>",
"message": "<string>",
"fix": "<string>"
}
],
"path": "<string>",
"requestId": "<string>"
}{
"code": "DEVELOPER_ACCOUNT_NOT_FOUND",
"message": "<string>",
"statusCode": 123,
"fix": "<string>",
"errors": [
{
"code": "<string>",
"path": "<string>",
"message": "<string>",
"fix": "<string>"
}
],
"path": "<string>",
"requestId": "<string>"
}{
"code": "APP_HANDLE_TAKEN",
"message": "<string>",
"statusCode": 123,
"fix": "<string>",
"errors": [
{
"code": "<string>",
"path": "<string>",
"message": "<string>",
"fix": "<string>"
}
],
"path": "<string>",
"requestId": "<string>"
}{
"code": "PAYLOAD_TOO_LARGE",
"message": "<string>",
"statusCode": 123,
"fix": "<string>",
"errors": [
{
"code": "<string>",
"path": "<string>",
"message": "<string>",
"fix": "<string>"
}
],
"path": "<string>",
"requestId": "<string>"
}{
"code": "BAD_REQUEST",
"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>"
}Apps
Create an app
It has no version and no secret yet. handle is permanent (the manifest’s handle rule, unique on Tassyir); clientId is minted here and never changes. hostingMode: tassyir is refused while Tassyir Hosting is switched off; the mode follows the app’s current version.
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.
POST
/
developer
/
apps
Create an app
curl --request POST \
--url https://api.tassyir.io/developer/apps \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"handle": "<string>",
"nameEn": "<string>",
"nameAr": "<string>",
"customBusinessId": "<string>"
}
'const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
handle: '<string>',
nameEn: '<string>',
nameAr: '<string>',
customBusinessId: '<string>'
})
};
fetch('https://api.tassyir.io/developer/apps', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));{
"data": {
"id": "<string>",
"handle": "<string>",
"clientId": "<string>",
"nameEn": "<string>",
"nameAr": "<string>",
"distribution": "<string>",
"customBusinessId": "<string>",
"hostingMode": "<string>",
"status": "<string>",
"suspendedReason": "<string>",
"currentVersion": 4503599627370496,
"installCount": 4503599627370495,
"createdAt": "2023-11-07T05:31:56Z",
"updatedAt": "2023-11-07T05:31:56Z"
}
}{
"code": "APP_CUSTOM_BUSINESS_NOT_FOUND",
"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": "DEVELOPER_ACCOUNT_SUSPENDED",
"message": "<string>",
"statusCode": 123,
"fix": "<string>",
"errors": [
{
"code": "<string>",
"path": "<string>",
"message": "<string>",
"fix": "<string>"
}
],
"path": "<string>",
"requestId": "<string>"
}{
"code": "DEVELOPER_ACCOUNT_NOT_FOUND",
"message": "<string>",
"statusCode": 123,
"fix": "<string>",
"errors": [
{
"code": "<string>",
"path": "<string>",
"message": "<string>",
"fix": "<string>"
}
],
"path": "<string>",
"requestId": "<string>"
}{
"code": "APP_HANDLE_TAKEN",
"message": "<string>",
"statusCode": 123,
"fix": "<string>",
"errors": [
{
"code": "<string>",
"path": "<string>",
"message": "<string>",
"fix": "<string>"
}
],
"path": "<string>",
"requestId": "<string>"
}{
"code": "PAYLOAD_TOO_LARGE",
"message": "<string>",
"statusCode": 123,
"fix": "<string>",
"errors": [
{
"code": "<string>",
"path": "<string>",
"message": "<string>",
"fix": "<string>"
}
],
"path": "<string>",
"requestId": "<string>"
}{
"code": "BAD_REQUEST",
"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.
Body
application/json
Response
The app.
One of your apps.
Show child attributes
Show child attributes