Reference
App catalog API
7 operations. Generated from the OpenAPI document, so this page always matches the API.
OpenAPI documentErrors and rate limitsSDK and CLI recipes
On this page
apps.get
Read one app in the catalog: owners, approvers, levels and who has access
POST/api/v1/manage/apps/get
- Read
- Permission apps.get
const result = await shuffl.apps.get({
"appId": "<appId>"
});Request fields (1)
- appId string required
Response object
- approvers object required
- groups object[] required
- id string required
- name string required
- manager boolean required
- people object[] required
- id string required
- name string required
- groups object[] required
- canManage boolean required
- description string required
- expiryDays number required
- granted number required
- id string required
- levels object[] required
- description string required
- groups object[] required
- connectionId string required
- externalId string required
- name string required
- id string required
- name string required
- logoUrl null | string required
- name string required
- owners object[] required
- id string required
- name string required
- pending number required
- policyLabel string required
- requestPolicy "approval" | "closed" | "open" required
- revision number required
- source null | object required
- provider string required
- providerName string required
- updatedAt string required
- websiteUrl null | string required
- yours null | object required
- id string required
- levelId null | string required
- status "approved" | "declined" | "expired" | "failed" | "granted" | "granting" | "pending_approval" | "requested" | "revoked" required
- statusLabel string required
apps.importSources
List the connected identity providers apps can be imported from
POST/api/v1/manage/apps/importSources
- Read
- Permission apps.importSources
const result = await shuffl.apps.importSources();Request fields (none)
This operation takes no input.
Response object[]
- id string required
- label string required
- provider string required
- providerName string required
apps.list
List the apps people can ask for, with owners, levels and your own request
POST/api/v1/manage/apps/list
- Read
- Permission apps.list
const result = await shuffl.apps.list();Request fields (none)
This operation takes no input.
Response object[]
- approvers object required
- groups object[] required
- id string required
- name string required
- manager boolean required
- people object[] required
- id string required
- name string required
- groups object[] required
- canManage boolean required
- description string required
- expiryDays number required
- granted number required
- id string required
- levels object[] required
- description string required
- groups object[] required
- connectionId string required
- externalId string required
- name string required
- id string required
- name string required
- logoUrl null | string required
- name string required
- owners object[] required
- id string required
- name string required
- pending number required
- policyLabel string required
- requestPolicy "approval" | "closed" | "open" required
- revision number required
- source null | object required
- provider string required
- providerName string required
- updatedAt string required
- websiteUrl null | string required
- yours null | object required
- id string required
- levelId null | string required
- status "approved" | "declined" | "expired" | "failed" | "granted" | "granting" | "pending_approval" | "requested" | "revoked" required
- statusLabel string required
apps.members
List who has access to an app through Shuffl
POST/api/v1/manage/apps/members
- Read
- Permission apps.members
const result = await shuffl.apps.members({
"appId": "<appId>"
});Request fields (1)
- appId string required
Response object
- count number required
- members object[] required
- app object required
- id string required
- logoUrl null | string required
- name string required
- approvers object[] required
- id string required
- name string required
- canDecide boolean required
- canGrant boolean required
- canRevoke boolean required
- createdAt string required
- decidedAt null | string required
- decidedBy null | object required
- id string required
- name string required
- decisionNote null | string required
- errorCode null | string required
- expiresAt string required
- grant null | object required
- Option 1 object optional
- kind "manual" required
- Option 2 object optional
- connectionId string required
- groups object[] required
- kind "group" required
- provider string required
- Option 1 object optional
- grantedAt null | string required
- grantsAutomatically boolean required
- id string required
- level null | object required
- id string required
- name string required
- note string required
- person object required
- id string required
- name string required
- revision number required
- revokedAt null | string required
- status "approved" | "declined" | "expired" | "failed" | "granted" | "granting" | "pending_approval" | "requested" | "revoked" required
- statusLabel string required
- app object required
apps.archive
Archive an app so nobody can ask for it; open requests expire
POST/api/v1/manage/apps/archive
- Write
- Permission apps.archive
- Needs a requestKey
- Needs confirm set to apps.archive
const result = await shuffl.apps.archive({
"appId": "<appId>",
"confirm": "apps.archive",
"requestKey": "a-new-unique-key"
});Request fields (3)
- appId string required
- confirm "apps.archive" required
- requestKey string required1 to 128 characters
Response object
- receipt object required
- completedAt string (date-time) | null required
- createdAt string (date-time) required
- id string (uuid) required
- operation string required
- requestKey string required
- status "running" | "succeeded" | "failed" | "unknown" required
- result object | null required
- ok true required
apps.import
Import the apps a connected identity provider lists into the catalog
POST/api/v1/manage/apps/import
- Write
- Permission apps.import
- Needs a requestKey
- Needs confirm set to apps.import
const result = await shuffl.apps.import({
"connectionId": "<connectionId>",
"confirm": "apps.import",
"requestKey": "a-new-unique-key"
});Request fields (3)
- connectionId string required
- confirm "apps.import" required
- requestKey string required1 to 128 characters
Response object
- receipt object required
- completedAt string (date-time) | null required
- createdAt string (date-time) required
- id string (uuid) required
- operation string required
- requestKey string required
- status "running" | "succeeded" | "failed" | "unknown" required
- result object | null required
- added number required
- listed number required
- provider string required
- providerName string required
- updated number required
apps.save
Add or change an app in the catalog: owners, approvers, levels and request policy
POST/api/v1/manage/apps/save
- Write
- Permission apps.save
- Needs a requestKey
- Needs confirm set to apps.save
const result = await shuffl.apps.save({
"name": "<name>",
"confirm": "apps.save",
"requestKey": "a-new-unique-key"
});Request fields (13)
- approvers object optional
- groupIds string[] required
- manager boolean required
- personIds string[] required
- description string optional
- expectedRevision number optional
- expiryDays number optional
- id string optional
- levels object[] optional
- description string optional
- id string optional
- name string required
- logoUrl string optional
- name string required
- ownerPersonIds string[] optional
- requestPolicy "approval" | "closed" | "open" optional
- websiteUrl string optional
- confirm "apps.save" required
- requestKey string required1 to 128 characters
Response object
- receipt object required
- completedAt string (date-time) | null required
- createdAt string (date-time) required
- id string (uuid) required
- operation string required
- requestKey string required
- status "running" | "succeeded" | "failed" | "unknown" required
- result object | null required
- approvers object required
- groups object[] required
- id string required
- name string required
- manager boolean required
- people object[] required
- id string required
- name string required
- groups object[] required
- canManage boolean required
- description string required
- expiryDays number required
- granted number required
- id string required
- levels object[] required
- description string required
- groups object[] required
- connectionId string required
- externalId string required
- name string required
- id string required
- name string required
- logoUrl null | string required
- name string required
- owners object[] required
- id string required
- name string required
- pending number required
- policyLabel string required
- requestPolicy "approval" | "closed" | "open" required
- revision number required
- source null | object required
- provider string required
- providerName string required
- updatedAt string required
- websiteUrl null | string required
- yours null | object required
- id string required
- levelId null | string required
- status "approved" | "declined" | "expired" | "failed" | "granted" | "granting" | "pending_approval" | "requested" | "revoked" required
- statusLabel string required
- approvers object required