Before you start
Create your API token as a user with the Admin role. A token can do only what the user who created it can do, as What a token is allowed to do describes. Of the built-in roles, only Admin can create or connect apps. App Admin can configure the AppStore for the apps they administer. Run the steps below in order. Before you setdefault_entitlement or
request_validation_webhook_uuid, you must have the entitlement’s or the inline webhook’s ID.
Setting up the app
1
Create or connect the app
To connect an app through an integration, find the integration’s Create App returns Lumos makes the user who created the token the new app’s admin.
app_class_id with
List Integrations. Then read the credentials it
needs from
Get Integration Connection Schema.
Its auth_schema describes auth, and its settings_schema describes settings. Send
app_class_id, auth, and settings to Create App.201 with the app. Save its id, because every later step uses it. If Create
App returns 422 with code set to app.api_unsupported, the API can’t connect this
integration, so connect it in the Lumos UI.
Create a custom app or connect an integration
lists those integrations, and what to do about an on-prem integration.For an integration that needs browser consent, send auth: {}. Then finish connecting the app in
the Lumos UI.To create a custom app, an app that Lumos has no integration for, send label_override,
category_override, and description_override to
Create App. Don’t send app_class_id. category_override
must be a label from
List App Categories.2
Give it accounts and entitlements
An app connected through an integration gets its accounts and entitlements from syncs. Its
first sync waits for a review of the app’s identity matching rules. To start it without the review,
send Trigger App Sync returns an operation to poll, as
Syncs and their status describes.
The first sync explains when you must send the flag
again.A custom app has no integration, so you supply both. Send its accounts with
Upload Accounts.
Uploading accounts shows the body. Then add each
entitlement people can request with
Create Entitlement:Step 5 shows or hides each entitlement.
Creating, updating, and deleting
explains which entitlements start visible.
skip_first_sync_review: true to Trigger App Sync. To
review the rules first, start it from the Lumos UI instead.3
Give it an admin and approvers
Check the app’s admins with A custom app you created already has an admin. For an app connected through an integration, set
its admins with Set App Admins. Send the complete list,
because it replaces the app’s admins:The app needs at least one admin before you add it to the AppStore in step 4. Otherwise that call
returns
expand=admins:409 with code set to app.admin_required.While the app has no approval workflow bound, Lumos uses the app’s approval settings in the Lumos
UI.The Workflow object explains what a workflow is, and
Bound workflows covers the provisioning workflows,
which work the same way.4
Add it to the AppStore, still hidden
Add the app to the AppStore with
Update AppStore Settings. Set
A new app’s
catalog_visibility to hidden so that requesters don’t see it yet. An entitlement’s AppStore
settings exist only while its app is in the AppStore, so add the app before step 5:catalog_visibility is already hidden. If the app was already visible, this call
hides it.5
Configure its entitlements
List the entitlements by visibility with
List App Entitlements.
Finding entitlements explains the
For an entitlement without AppStore settings, this call returns
visible_in_appstore filter.Show or hide each one with
Update Entitlement AppStore Settings:404. To make that access
requestable anyway, create a separate entitlement for it with
Create Entitlement.
AppStore settings on the Entitlement object
explains which entitlements have AppStore settings, and lists the other fields.6
Make it visible
Set AppStore settings on the App object describes every
field.
catalog_visibility to visible with Update AppStore Settings. You can change other settings
in the same call:7
Check what a requester sees
Get AppStore Catalog lists the apps one user can
request.
Get App Entitlement AppStore Catalog
lists what they can request on one app. Both results depend on that user’s groups.To see someone else’s catalog, pass their user A listing without
id from
List Users as target_user_uuid. Of the built-in roles,
Admin, Read Only Admin, and AppStore Read Only Admin can pass it to both endpoints. App Admin can
pass it to the entitlement catalog for the apps they administer. A custom role can also allow it.search omits apps whose catalog_visibility is search-only, so search by
name when you check a search-only app. The catalog also omits apps whose allowed requester
groups don’t include the user.The entitlement catalog returns an empty page, not 404, while the app isn’t in the AppStore or
its catalog_visibility is hidden. To see every app in the AppStore, call
List Apps with in_app_store=true. Add catalog_visibility
(visible, search-only, or hidden) to filter by visibility.
Access requests and tasks
covers filing a request and following it.Removing an app from the AppStore
Sendin_app_store: false to
Update AppStore Settings. The app keeps its
settings, so sending true again restores it with the same settings. To remove the app from Lumos
instead, disconnect or delete it.
Creating, updating, disconnecting, and deleting apps
explains the difference.