---
updatedAt: 2026-05-26T21:35:11.000Z
agentTools:
  projectIndex: https://developers.lumos.com/llms.txt
---

# Get Appstore Permissions

Get AppStore permissions for an application.

# OpenAPI definition

```json
{
  "openapi": "3.1.0",
  "info": {
    "title": "Lumos",
    "description": "\n    The Lumos API gives you the building blocks to administer and extend Lumos programmatically.\n    Our REST API provides a management interface for the AppStore and a read interface\n    for the Lumos Core.\n    Go to https://developers.lumos.com to see our complete documentation.\n",
    "version": "0.1.0"
  },
  "servers": [
    {
      "url": "https://api.lumos.com"
    }
  ],
  "paths": {
    "/appstore/requestable_permissions": {
      "get": {
        "tags": [
          "AppStore"
        ],
        "summary": "Get Appstore Permissions",
        "description": "Get AppStore permissions for an application.",
        "operationId": "get_appstore_permissions_appstore_requestable_permissions_get",
        "security": [
          {
            "HTTPBearer": []
          }
        ],
        "parameters": [
          {
            "name": "app_id",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Filters requestable permissions by the ID of the app to which they belong.",
              "title": "App Id"
            },
            "description": "Filters requestable permissions by the ID of the app to which they belong."
          },
          {
            "name": "search_term",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "null"
                }
              ],
              "description": "\n    Searches permissions by the permission's group name,\n    request configuration name, or specific integration ID.\n",
              "title": "Search Term"
            },
            "description": "\n    Searches permissions by the permission's group name,\n    request configuration name, or specific integration ID.\n"
          },
          {
            "name": "exact_match",
            "in": "query",
            "required": false,
            "schema": {
              "type": "boolean",
              "description": "Search filter should be an exact match.",
              "default": false,
              "title": "Exact Match"
            },
            "description": "Search filter should be an exact match."
          },
          {
            "name": "in_app_store",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "boolean"
                },
                {
                  "type": "null"
                }
              ],
              "description": "\n    Filters permissions by visibility in the AppStore.\n",
              "title": "In App Store"
            },
            "description": "\n    Filters permissions by visibility in the AppStore.\n"
          },
          {
            "name": "include_inherited_configs",
            "in": "query",
            "required": false,
            "schema": {
              "type": "boolean",
              "description": "Include inherited configurations from parent app.",
              "default": true,
              "title": "Include Inherited Configs"
            },
            "description": "Include inherited configurations from parent app."
          },
          {
            "name": "page",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "minimum": 1,
              "description": "Page number",
              "default": 1,
              "title": "Page"
            },
            "description": "Page number"
          },
          {
            "name": "size",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "maximum": 100,
              "minimum": 1,
              "description": "Page size",
              "default": 50,
              "title": "Size"
            },
            "description": "Page size"
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Page_RequestablePermissionOutput_"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        }
      }
    }
  },
  "components": {
    "schemas": {
      "AllowedGroupsConfigOutput": {
        "properties": {
          "type": {
            "$ref": "#/components/schemas/AllowedGroupsConfigType",
            "description": "The type of this allowed groups config, can be all groups or specific.",
            "default": "ALL_GROUPS"
          },
          "groups": {
            "items": {
              "$ref": "#/components/schemas/Group"
            },
            "type": "array",
            "title": "Groups",
            "description": "The groups allowed to request this permission.",
            "default": []
          }
        },
        "type": "object",
        "title": "AllowedGroupsConfigOutput"
      },
      "AllowedGroupsConfigType": {
        "type": "string",
        "enum": [
          "ALL_GROUPS",
          "SPECIFIED_GROUPS"
        ],
        "title": "AllowedGroupsConfigType"
      },
      "AppApproversOutput": {
        "properties": {
          "groups": {
            "items": {
              "$ref": "#/components/schemas/Group"
            },
            "type": "array",
            "title": "Groups",
            "description": "Groups assigned as support request approvers.",
            "default": []
          },
          "users": {
            "items": {
              "$ref": "#/components/schemas/User"
            },
            "type": "array",
            "title": "Users",
            "description": "Users assigned as support request approvers.",
            "default": []
          }
        },
        "type": "object",
        "title": "AppApproversOutput"
      },
      "AppStoreVisibilityOption": {
        "type": "string",
        "enum": [
          "HIDDEN",
          "VISIBLE"
        ],
        "title": "AppStoreVisibilityOption"
      },
      "ApproverOutput": {
        "properties": {
          "type": {
            "$ref": "#/components/schemas/ApproverType",
            "description": "The type of this approver."
          },
          "user": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/User"
              },
              {
                "type": "null"
              }
            ],
            "description": "Optionally, the approver can be a user."
          },
          "group": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/Group"
              },
              {
                "type": "null"
              }
            ],
            "description": "Optionally, the approver can be a group."
          }
        },
        "type": "object",
        "required": [
          "type"
        ],
        "title": "ApproverOutput"
      },
      "ApproverType": {
        "type": "string",
        "enum": [
          "USER",
          "GROUP"
        ],
        "title": "ApproverType"
      },
      "Group": {
        "properties": {
          "id": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Id",
            "description": "The ID of this group."
          },
          "app_id": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "App Id",
            "description": "The ID of the app that sources this group."
          },
          "integration_specific_id": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Integration Specific Id",
            "description": "The ID of this group, specific to the integration."
          },
          "name": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Name",
            "description": "The name of this group."
          },
          "description": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Description",
            "description": "The description of this group."
          },
          "group_lifecycle": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/Lifecycle"
              },
              {
                "type": "null"
              }
            ],
            "description": "The lifecycle of this group.",
            "default": "SYNCED"
          },
          "source_app_id": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Source App Id",
            "description": "The ID of the app that sources this group."
          }
        },
        "type": "object",
        "title": "Group"
      },
      "HTTPValidationError": {
        "properties": {
          "detail": {
            "items": {
              "$ref": "#/components/schemas/ValidationError"
            },
            "type": "array",
            "title": "Detail"
          }
        },
        "type": "object",
        "title": "HTTPValidationError"
      },
      "InlineWebhook": {
        "properties": {
          "id": {
            "type": "string",
            "title": "Id",
            "description": "The ID of this inline webhook."
          },
          "hook_type": {
            "$ref": "#/components/schemas/InlineWebhookType",
            "description": "The type of this inline webhook."
          },
          "name": {
            "type": "string",
            "title": "Name",
            "description": "The name of this inline webhook."
          },
          "description": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Description",
            "description": "The description of this inline webhook."
          }
        },
        "type": "object",
        "required": [
          "id",
          "hook_type",
          "name"
        ],
        "title": "InlineWebhook"
      },
      "InlineWebhookType": {
        "type": "string",
        "enum": [
          "PRE_APPROVAL",
          "PROVISION",
          "DEPROVISION",
          "REQUEST_VALIDATION",
          "SIEM"
        ],
        "title": "InlineWebhookType",
        "description": "What an inline webhook is wired into."
      },
      "Lifecycle": {
        "type": "string",
        "enum": [
          "SYNCED",
          "NATIVE"
        ],
        "title": "Lifecycle"
      },
      "ManagerApprovalOption": {
        "type": "string",
        "enum": [
          "NONE",
          "INITIAL_APPROVAL"
        ],
        "title": "ManagerApprovalOption"
      },
      "Page_RequestablePermissionOutput_": {
        "properties": {
          "items": {
            "items": {
              "$ref": "#/components/schemas/RequestablePermissionOutput"
            },
            "type": "array",
            "title": "Items"
          },
          "total": {
            "anyOf": [
              {
                "type": "integer",
                "minimum": 0
              },
              {
                "type": "null"
              }
            ],
            "title": "Total"
          },
          "page": {
            "anyOf": [
              {
                "type": "integer",
                "minimum": 1
              },
              {
                "type": "null"
              }
            ],
            "title": "Page"
          },
          "size": {
            "anyOf": [
              {
                "type": "integer",
                "minimum": 1
              },
              {
                "type": "null"
              }
            ],
            "title": "Size"
          },
          "pages": {
            "anyOf": [
              {
                "type": "integer",
                "minimum": 0
              },
              {
                "type": "null"
              }
            ],
            "title": "Pages"
          }
        },
        "type": "object",
        "required": [
          "items",
          "total",
          "page",
          "size"
        ],
        "title": "Page[RequestablePermissionOutput]"
      },
      "PermissionType": {
        "type": "string",
        "enum": [
          "SYNCED",
          "NATIVE"
        ],
        "title": "PermissionType"
      },
      "RequestApprovalConfigOutput": {
        "properties": {
          "request_approval_config_override": {
            "anyOf": [
              {
                "type": "boolean"
              },
              {
                "type": "null"
              }
            ],
            "title": "Request Approval Config Override",
            "description": "Indicates if approval flow is overridden."
          },
          "manager_approval": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/ManagerApprovalOption"
              },
              {
                "type": "null"
              }
            ],
            "description": "Manager approval can be configured as necessary to continue",
            "default": "NONE"
          },
          "require_additional_approval": {
            "anyOf": [
              {
                "type": "boolean"
              },
              {
                "type": "null"
              }
            ],
            "title": "Require Additional Approval",
            "description": "When true, enables a second approval stage so requests require approval from both stage 1 and stage 2 approvers. When false, disables the second approval stage and merges any existing stage 2 approvers into stage 1. When omitted, the current multi-stage approval setting is left unchanged."
          },
          "custom_approval_message": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Custom Approval Message",
            "description": "After the approval step, send a custom message to requesters. Note that the permission level approval message will override the App level approval message if custom_approval_message_override is set. Markdown for links and text formatting is supported."
          },
          "custom_approval_message_override": {
            "anyOf": [
              {
                "type": "boolean"
              },
              {
                "type": "null"
              }
            ],
            "title": "Custom Approval Message Override",
            "description": "Indicates if custom_approval_message is overridden."
          },
          "approvers": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/AppApproversOutput"
              },
              {
                "type": "null"
              }
            ],
            "description": "AppStore App approvers assigned."
          },
          "approvers_stage_2": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/AppApproversOutput"
              },
              {
                "type": "null"
              }
            ],
            "description": "AppStore App stage 2 approvers assigned."
          },
          "request_approval_stages": {
            "anyOf": [
              {
                "items": {
                  "$ref": "#/components/schemas/RequestApprovalStageOutput"
                },
                "type": "array"
              },
              {
                "type": "null"
              }
            ],
            "title": "Request Approval Stages",
            "description": "The stages of this request approval.",
            "default": [
              {}
            ]
          },
          "response_describes_entire_approval_workflow": {
            "anyOf": [
              {
                "type": "boolean"
              },
              {
                "type": "null"
              }
            ],
            "title": "Response Describes Entire Approval Workflow",
            "description": "Indicates whether the approval configuration is fully represented by the existing API. If False, the approval configuration may contain additional stages or conditional approval chains not reflected in the v1 API."
          }
        },
        "type": "object",
        "title": "RequestApprovalConfigOutput"
      },
      "RequestApprovalStageOutput": {
        "properties": {
          "approvers": {
            "anyOf": [
              {
                "items": {
                  "$ref": "#/components/schemas/ApproverOutput"
                },
                "type": "array"
              },
              {
                "type": "null"
              }
            ],
            "title": "Approvers",
            "description": "The approvers of this stage."
          }
        },
        "type": "object",
        "title": "RequestApprovalStageOutput"
      },
      "RequestConfigOutput": {
        "properties": {
          "appstore_visibility": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/AppStoreVisibilityOption"
              },
              {
                "type": "null"
              }
            ],
            "description": "The appstore visibility of this request config.",
            "default": "HIDDEN"
          },
          "allowed_groups_override": {
            "anyOf": [
              {
                "type": "boolean"
              },
              {
                "type": "null"
              }
            ],
            "title": "Allowed Groups Override",
            "description": "Indicates if allowed groups is overriden from the app-level settings."
          },
          "allowed_groups": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/AllowedGroupsConfigOutput"
              },
              {
                "type": "null"
              }
            ],
            "description": "The allowed groups config associated with this config.",
            "default": {
              "type": "ALL_GROUPS",
              "groups": []
            }
          },
          "request_approval_config": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/RequestApprovalConfigOutput"
              },
              {
                "type": "null"
              }
            ],
            "description": "A request approval config can be optionally associated with this config",
            "default": {
              "manager_approval": "NONE",
              "request_approval_stages": [
                {}
              ]
            }
          },
          "request_fulfillment_config": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/RequestFulfillmentConfigOutput"
              },
              {
                "type": "null"
              }
            ],
            "description": "A request fulfillment config can be optionally associated with this config",
            "default": {}
          },
          "access_removal_inline_webhook": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/InlineWebhook"
              },
              {
                "type": "null"
              }
            ],
            "description": "A deprovisioning webhook can be optionally associated with this config."
          },
          "request_validation_inline_webhook": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/InlineWebhook"
              },
              {
                "type": "null"
              }
            ],
            "description": "A request validation webhook can be optionally associated with this config."
          }
        },
        "type": "object",
        "title": "RequestConfigOutput"
      },
      "RequestFulfillmentConfigOutput": {
        "properties": {
          "manual_steps_needed": {
            "anyOf": [
              {
                "type": "boolean"
              },
              {
                "type": "null"
              }
            ],
            "title": "Manual Steps Needed",
            "description": "Whether manual steps are needed."
          },
          "manual_instructions": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Manual Instructions",
            "description": "The manual instructions that go along."
          },
          "time_based_access": {
            "items": {
              "type": "string"
            },
            "type": "array",
            "title": "Time Based Access",
            "description": "If enabled, users can request an app for a selected duration. After expiry, Lumos will automatically remove user's access."
          },
          "time_based_access_override": {
            "anyOf": [
              {
                "type": "boolean"
              },
              {
                "type": "null"
              }
            ],
            "title": "Time Based Access Override",
            "description": "Indicates if time based access is overriden."
          },
          "provisioning_group": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/Group"
              },
              {
                "type": "null"
              }
            ],
            "description": "The provisioning group optionally assocated with this config."
          },
          "provisioning_webhook": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/InlineWebhook"
              },
              {
                "type": "null"
              }
            ],
            "description": "The provisioning webhook optionally associated with this config."
          }
        },
        "type": "object",
        "title": "RequestFulfillmentConfigOutput"
      },
      "RequestablePermissionOutput": {
        "properties": {
          "id": {
            "type": "string",
            "title": "Id",
            "description": "The ID of this requestable permission."
          },
          "type": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/PermissionType"
              },
              {
                "type": "null"
              }
            ],
            "description": "The type of this requestable permission."
          },
          "label": {
            "type": "string",
            "title": "Label",
            "description": "The label of this requestable permission."
          },
          "app_id": {
            "type": "string",
            "title": "App Id",
            "description": "The ID of the app associated with this requestable permission."
          },
          "app_class_id": {
            "type": "string",
            "title": "App Class Id",
            "description": "The non-unique ID of the service associated with this requestable permission. Depending on how it is sourced in Lumos, this may be the app's name, website,  or other identifier."
          },
          "app_instance_id": {
            "type": "string",
            "title": "App Instance Id",
            "description": "The ID of the instance associated with this requestable permission. This may be an empty string."
          },
          "request_config": {
            "$ref": "#/components/schemas/RequestConfigOutput",
            "description": "The request config associated with this requestable permission."
          }
        },
        "type": "object",
        "required": [
          "label",
          "app_id",
          "app_class_id",
          "app_instance_id"
        ],
        "title": "RequestablePermissionOutput"
      },
      "User": {
        "properties": {
          "id": {
            "type": "string",
            "title": "Id",
            "description": "The ID of this user."
          },
          "email": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Email",
            "description": "The email of this user."
          },
          "given_name": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Given Name",
            "description": "The given name of this user."
          },
          "family_name": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Family Name",
            "description": "The family name of this user."
          },
          "status": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/UserLifecycleStatus"
              },
              {
                "type": "null"
              }
            ],
            "description": "The status of this user."
          }
        },
        "type": "object",
        "required": [
          "id"
        ],
        "title": "User"
      },
      "UserLifecycleStatus": {
        "type": "string",
        "enum": [
          "STAGED",
          "ACTIVE",
          "SUSPENDED",
          "INACTIVE"
        ],
        "title": "UserLifecycleStatus"
      },
      "ValidationError": {
        "properties": {
          "loc": {
            "items": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "integer"
                }
              ]
            },
            "type": "array",
            "title": "Location"
          },
          "msg": {
            "type": "string",
            "title": "Message"
          },
          "type": {
            "type": "string",
            "title": "Error Type"
          }
        },
        "type": "object",
        "required": [
          "loc",
          "msg",
          "type"
        ],
        "title": "ValidationError"
      }
    },
    "securitySchemes": {
      "HTTPBearer": {
        "type": "http",
        "scheme": "bearer"
      }
    }
  }
}
```