curl --request GET \
--url https://api.studio.prisme.ai/v2/workspaces/{workspaceId}/apps \
--header 'Authorization: Bearer <token>'const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.studio.prisme.ai/v2/workspaces/{workspaceId}/apps', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://api.studio.prisme.ai/v2/workspaces/{workspaceId}/apps"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)[
{
"appSlug": "<string>",
"slug": "<string>",
"automations": [
{
"slug": "<string>",
"name": {
"fr": "Bonjour",
"en": "Hello"
},
"arguments": {},
"description": {
"fr": "Bonjour",
"en": "Hello"
},
"schemas": [
{
"conditions": {},
"payload": {
"type": "string",
"title": {
"en": "User ID"
},
"description": {
"en": "The unique identifier of the user"
}
},
"output": {
"type": "string",
"title": {
"en": "User ID"
},
"description": {
"en": "The unique identifier of the user"
}
}
}
]
}
],
"events": {
"emit": [
"<string>"
],
"listen": [
"<string>"
],
"autocomplete": [
{
"event": "prismeaiMessenger.message",
"autocomplete": {}
}
]
},
"blocks": [
{
"slug": "<string>",
"url": "<string>",
"edit": {
"type": "string",
"title": {
"en": "User ID"
},
"description": {
"en": "The unique identifier of the user"
}
},
"name": {
"fr": "Bonjour",
"en": "Hello"
},
"description": {
"fr": "Bonjour",
"en": "Hello"
},
"arguments": {}
}
],
"appName": {
"fr": "Bonjour",
"en": "Hello"
},
"appVersion": "<string>",
"disabled": true,
"labels": [
"<string>"
],
"updatedAt": "<string>",
"createdAt": "<string>",
"updatedBy": "<string>",
"createdBy": "<string>",
"checksum": "<string>",
"photo": "<string>",
"appMissing": true
}
]{
"error": "BadParameters",
"message": "<string>",
"details": "<unknown>"
}{
"error": "AuthenticationError",
"message": "Unauthenticated"
}{
"error": "ForbiddenError",
"message": "Forbidden"
}{
"error": "ObjectNotFound",
"message": "<string>"
}List App Instances
Get installed aps
curl --request GET \
--url https://api.studio.prisme.ai/v2/workspaces/{workspaceId}/apps \
--header 'Authorization: Bearer <token>'const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.studio.prisme.ai/v2/workspaces/{workspaceId}/apps', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://api.studio.prisme.ai/v2/workspaces/{workspaceId}/apps"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)[
{
"appSlug": "<string>",
"slug": "<string>",
"automations": [
{
"slug": "<string>",
"name": {
"fr": "Bonjour",
"en": "Hello"
},
"arguments": {},
"description": {
"fr": "Bonjour",
"en": "Hello"
},
"schemas": [
{
"conditions": {},
"payload": {
"type": "string",
"title": {
"en": "User ID"
},
"description": {
"en": "The unique identifier of the user"
}
},
"output": {
"type": "string",
"title": {
"en": "User ID"
},
"description": {
"en": "The unique identifier of the user"
}
}
}
]
}
],
"events": {
"emit": [
"<string>"
],
"listen": [
"<string>"
],
"autocomplete": [
{
"event": "prismeaiMessenger.message",
"autocomplete": {}
}
]
},
"blocks": [
{
"slug": "<string>",
"url": "<string>",
"edit": {
"type": "string",
"title": {
"en": "User ID"
},
"description": {
"en": "The unique identifier of the user"
}
},
"name": {
"fr": "Bonjour",
"en": "Hello"
},
"description": {
"fr": "Bonjour",
"en": "Hello"
},
"arguments": {}
}
],
"appName": {
"fr": "Bonjour",
"en": "Hello"
},
"appVersion": "<string>",
"disabled": true,
"labels": [
"<string>"
],
"updatedAt": "<string>",
"createdAt": "<string>",
"updatedBy": "<string>",
"createdBy": "<string>",
"checksum": "<string>",
"photo": "<string>",
"appMissing": true
}
]{
"error": "BadParameters",
"message": "<string>",
"details": "<unknown>"
}{
"error": "AuthenticationError",
"message": "Unauthenticated"
}{
"error": "ForbiddenError",
"message": "Forbidden"
}{
"error": "ObjectNotFound",
"message": "<string>"
}Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Path Parameters
Workspace id
Response
Success Response
App unique id
Unique & human readable id across current workspace's appInstances, which will be used to call this app automations
Hide child attributes
Hide child attributes
Hide child attributes
Hide child attributes
Hide child attributes
Hide child attributes
string, number, integer, object, array, boolean, localized:string, localized:number, localized:boolean Recursive reference to TypedArgument; nesting is truncated here to avoid the infinite expansion that crashes the API reference renderer.
Path-redact this field from runtime execution events (runtime.automations.executed), whatever its size. Redact itself never tracks the value: each automation the value transits through must re-declare redact on its own schema. It does not disable a secret declaration on the same or a nested field — secret takes precedence, so a field marked both is value-tracked AND path-redacted. Only reachable through nested properties: a marker inside items, additionalProperties or oneOf-style keywords is ignored (redact the parent field itself).
{
"type": "string",
"title": { "en": "User ID" },
"description": { "en": "The unique identifier of the user" }
}
Conditional input/output schemas. Takes precedence over arguments for validation when present; arguments-declared secret & redact markers remain enforced on every branch, while branch-declared secrets only apply to calls matching their branch.
Hide child attributes
Hide child attributes
Every entry must equal the corresponding payload variable for the branch to match. Keys are dot-paths resolved from the payload root (method, body.kind…); method is matched case-insensitively. Values are compared as strings after scalar coercion (2 matches "2" — query parameters always arrive as strings); an object or array value never matches.
Hide child attributes
Hide child attributes
string, number, integer, object, array, boolean, localized:string, localized:number, localized:boolean Recursive reference to TypedArgument; nesting is truncated here to avoid the infinite expansion that crashes the API reference renderer.
Path-redact this field from runtime execution events (runtime.automations.executed), whatever its size. Redact itself never tracks the value: each automation the value transits through must re-declare redact on its own schema. It does not disable a secret declaration on the same or a nested field — secret takes precedence, so a field marked both is value-tracked AND path-redacted. Only reachable through nested properties: a marker inside items, additionalProperties or oneOf-style keywords is ignored (redact the parent field itself).
{
"type": "string",
"title": { "en": "User ID" },
"description": { "en": "The unique identifier of the user" }
}
Hide child attributes
Hide child attributes
string, number, integer, object, array, boolean, localized:string, localized:number, localized:boolean Recursive reference to TypedArgument; nesting is truncated here to avoid the infinite expansion that crashes the API reference renderer.
Path-redact this field from runtime execution events (runtime.automations.executed), whatever its size. Redact itself never tracks the value: each automation the value transits through must re-declare redact on its own schema. It does not disable a secret declaration on the same or a nested field — secret takes precedence, so a field marked both is value-tracked AND path-redacted. Only reachable through nested properties: a marker inside items, additionalProperties or oneOf-style keywords is ignored (redact the parent field itself).
{
"type": "string",
"title": { "en": "User ID" },
"description": { "en": "The unique identifier of the user" }
}
Hide child attributes
Hide child attributes
Hide child attributes
Hide child attributes
"prismeaiMessenger.message"
Hide child attributes
Hide child attributes
Hide child attributes
Hide child attributes
string, number, integer, object, array, boolean, localized:string, localized:number, localized:boolean Recursive reference to TypedArgument; nesting is truncated here to avoid the infinite expansion that crashes the API reference renderer.
Path-redact this field from runtime execution events (runtime.automations.executed), whatever its size. Redact itself never tracks the value: each automation the value transits through must re-declare redact on its own schema. It does not disable a secret declaration on the same or a nested field — secret takes precedence, so a field marked both is value-tracked AND path-redacted. Only reachable through nested properties: a marker inside items, additionalProperties or oneOf-style keywords is ignored (redact the parent field itself).
{
"type": "string",
"title": { "en": "User ID" },
"description": { "en": "The unique identifier of the user" }
}
Hide child attributes
Hide child attributes
Hide child attributes
Hide child attributes
string, number, integer, object, array, boolean, localized:string, localized:number, localized:boolean Recursive reference to TypedArgument; nesting is truncated here to avoid the infinite expansion that crashes the API reference renderer.
Path-redact this field from runtime execution events (runtime.automations.executed), whatever its size. Redact itself never tracks the value: each automation the value transits through must re-declare redact on its own schema. It does not disable a secret declaration on the same or a nested field — secret takes precedence, so a field marked both is value-tracked AND path-redacted. Only reachable through nested properties: a marker inside items, additionalProperties or oneOf-style keywords is ignored (redact the parent field itself).
{
"type": "string",
"title": { "en": "User ID" },
"description": { "en": "The unique identifier of the user" }
}
Defaults to the latest known app version
If disabled, this appInstance will be ignored during execution
^[0-9A-Za-z._:-]{2,60}$True when the referenced app no longer exists in the platform (uninstalled/deleted). The instance is kept in the list so it stays visible and removable.
Was this page helpful?