## App **Type:** GraphQL objects **Description:** Third-party or internal app credential allowing scoped access for user groups. Tokens are never exposed via queries — only returned once at creation. ### Fields - _id (String) - isEnabled (Boolean) - createdAt (Date) - lastUsedAt (Date) - name (String) - userGroupId (String) - workspaceId (String) - expireDate (Date) - allowAllPermission (Boolean) - noExpire (Boolean) - accessToken (String) - userGroupName (String) --- ## AppListResponse **Type:** GraphQL objects **Description:** Paginated response wrapper for app list queries. Uses standard Pagination type from permission schema. ### Fields - data (App): undefined - _id (String) - isEnabled (Boolean) - createdAt (Date) - lastUsedAt (Date) - name (String) - userGroupId (String) - workspaceId (String) - expireDate (Date) - allowAllPermission (Boolean) - noExpire (Boolean) - accessToken (String) - userGroupName (String) - pagination (PaginationInfo, Not Null): undefined - currentPage (Int): The current page number (1-based). - perPage (Int): Number of items per page. - totalCount (Int): Total number of items matching the query. - totalPages (Int): Total number of pages. - hasNextPage (Boolean): Whether there are more pages after the current one. - hasPreviousPage (Boolean): Whether there are pages before the current one. --- ## AppTokenResult **Type:** GraphQL objects **Description:** Returned only from the appsAdd mutation. Contains the access token which is shown once and never again. ### Fields - _id (String) - accessToken (String)