# Admins ## List admins **get** `/v2/admins` Returns all admins for your organization. This endpoint returns all admins at once (typically a small list). No pagination is supported. ### Response Format Returns a list object with: - `object` - Always "list" - `data` - Array of admin objects - `nextCursor` - Always null ### Admin Object Each admin includes: - `id` - Unique admin identifier - `name` - Admin's display name - `email` - Admin's email address - `picture` - Profile picture URL - `roleId` - ID of the role assigned to this admin ### Header Parameters - `"Featurebase-Version": optional "2026-01-01.nova" or "2025-12-12.clover"` - `"2026-01-01.nova"` - `"2025-12-12.clover"` ### Returns - `data: array of Admin` Array of admins - `id: string` Unique identifier - `object: "admin"` Object type identifier - `"admin"` - `email: optional string` Admin email address - `name: optional string` Admin display name - `profilePicture: optional string` Profile picture URL - `roleId: optional string` Role ID assigned to this admin - `nextCursor: string` Cursor for fetching the next page (cursor-based pagination) - `object: "list"` Object type identifier - `"list"` - `pagination: optional object { limit, page, total, totalPages }` Pagination metadata for page-based requests - `limit: number` Items per page - `page: number` Current page number - `total: number` Total number of items - `totalPages: number` Total number of pages ### Example ```http curl https://do.featurebase.app/v2/admins \ -H "Authorization: Bearer $FEATUREBASE_API_KEY" ``` #### Response ```json { "data": [ { "id": "5fef50c5e9458a0012f82456", "object": "admin", "email": "john@example.com", "name": "John Doe", "profilePicture": "https://example.com/avatar.png", "roleId": "6648f22b7b23fb2f4307aafe" } ], "nextCursor": null, "object": "list", "pagination": { "limit": 10, "page": 1, "total": 42, "totalPages": 5 } } ``` ## Get an admin by ID **get** `/v2/admins/{id}` Retrieves a single admin by their unique identifier. Returns the admin object if found and they belong to your organization. ### Response Returns an admin object with: - `id` - Unique admin identifier - `name` - Admin's display name - `email` - Admin's email address - `picture` - Profile picture URL - `roleId` - ID of the role assigned to this admin ### Errors - `404` - Admin not found or doesn't belong to your organization ### Path Parameters - `id: string` Admin unique identifier ### Header Parameters - `"Featurebase-Version": optional "2026-01-01.nova" or "2025-12-12.clover"` - `"2026-01-01.nova"` - `"2025-12-12.clover"` ### Returns - `Admin object { id, object, email, 3 more }` - `id: string` Unique identifier - `object: "admin"` Object type identifier - `"admin"` - `email: optional string` Admin email address - `name: optional string` Admin display name - `profilePicture: optional string` Profile picture URL - `roleId: optional string` Role ID assigned to this admin ### Example ```http curl https://do.featurebase.app/v2/admins/$ID \ -H "Authorization: Bearer $FEATUREBASE_API_KEY" ``` #### Response ```json { "id": "5fef50c5e9458a0012f82456", "object": "admin", "email": "john@example.com", "name": "John Doe", "profilePicture": "https://example.com/avatar.png", "roleId": "6648f22b7b23fb2f4307aafe" } ``` ## List admin roles **get** `/v2/admins/roles` Returns all available admin roles and their permissions. This endpoint returns all roles at once (typically a small list). No pagination is supported. ### Response Format Returns a list object with: - `object` - Always "list" - `data` - Array of admin role objects - `nextCursor` - Always null ### Admin Role Object Each role includes: - `id` - Unique role identifier - `name` - Role name (e.g., "Admin", "Viewer") - `permissions` - Object containing permission flags ### Permissions The permissions object contains boolean flags for each permission: - `view_comments_private` - Can view private comments - `manage_comments` - Can manage comments - `manage_comments_private` - Can manage private comments - `set_comment_pinned` - Can pin comments - `moderate_comments` - Can moderate comments - `set_post_category` - Can change post categories - `set_post_pinned` - Can pin posts - `set_post_eta` - Can set post ETA - `set_post_tags` - Can manage post tags - `set_post_author` - Can change post author - `set_post_status` - Can change post status - `set_post_assignee` - Can assign posts - `set_post_custom_fields` - Can edit custom fields - `post_vote_on_behalf` - Can vote on behalf of users - `post_merge` - Can merge posts - `post_import` - Can import posts - `post_export` - Can export posts - `moderate_posts` - Can moderate posts - `view_users` - Can view users - `manage_users` - Can manage users - `view_posts_private` - Can view private posts - `view_private_post_tags` - Can view private tags - `manage_changelogs` - Can manage changelogs - `manage_surveys` - Can manage surveys - `manage_branding` - Can manage branding - `manage_billing` - Can manage billing - `manage_team_members` - Can manage team members - `manage_sso` - Can manage SSO settings - `manage_api` - Can manage API settings - `manage_statuses` - Can manage statuses - `manage_boards` - Can manage boards - `manage_post_tags` - Can manage post tags - `manage_custom_fields` - Can manage custom fields - `manage_moderation_settings` - Can manage moderation - `manage_roadmap` - Can manage roadmap - `manage_user_roles` - Can manage user roles - `manage_prioritization` - Can manage prioritization - `manage_notifications` - Can manage notifications - `manage_custom_domain` - Can manage custom domain - `manage_integrations` - Can manage integrations - `use_integrations` - Can use integrations - `manage_help_center` - Can manage help center - `auto_approve_posts` - Posts auto-approved ### Header Parameters - `"Featurebase-Version": optional "2026-01-01.nova" or "2025-12-12.clover"` - `"2026-01-01.nova"` - `"2025-12-12.clover"` ### Returns - `data: array of object { id, name, object, permissions }` Array of admin roles - `id: string` Role unique identifier - `name: string` Role name - `object: "admin_role"` Object type identifier - `"admin_role"` - `permissions: object { auto_approve_posts, manage_api, manage_billing, 42 more }` Role permissions - `auto_approve_posts: optional boolean` Auto-approve posts - `manage_api: optional boolean` Manage API settings - `manage_billing: optional boolean` Manage billing - `manage_boards: optional boolean` Manage boards - `manage_branding: optional boolean` Manage branding - `manage_changelogs: optional boolean` Manage changelogs - `manage_comments: optional boolean` Manage comments - `manage_comments_private: optional boolean` Manage private comments - `manage_conversation_tags: optional boolean` Manage conversation tag definitions - `manage_custom_domain: optional boolean` Manage custom domain - `manage_custom_fields: optional boolean` Manage custom fields - `manage_help_center: optional boolean` Manage help center - `manage_integrations: optional boolean` Manage integrations - `manage_moderation_settings: optional boolean` Manage moderation settings - `manage_notifications: optional boolean` Manage notifications - `manage_post_tags: optional boolean` Manage post tags - `manage_prioritization: optional boolean` Manage prioritization - `manage_roadmap: optional boolean` Manage roadmap - `manage_sso: optional boolean` Manage SSO - `manage_statuses: optional boolean` Manage post statuses - `manage_surveys: optional boolean` Manage surveys - `manage_team_members: optional boolean` Manage team members - `manage_user_roles: optional boolean` Manage user roles - `manage_users: optional boolean` Manage users - `moderate_comments: optional boolean` Moderate comments - `moderate_posts: optional boolean` Moderate posts - `post_export: optional boolean` Export posts - `post_import: optional boolean` Import posts - `post_merge: optional boolean` Merge posts - `post_vote_on_behalf: optional boolean` Vote on posts on behalf of users - `set_comment_pinned: optional boolean` Pin/unpin comments - `set_conversation_tags: optional boolean` Apply and remove conversation tags - `set_post_assignee: optional boolean` Assign posts - `set_post_author: optional boolean` Set post author - `set_post_category: optional boolean` Set post category/board - `set_post_custom_fields: optional boolean` Set post custom fields - `set_post_eta: optional boolean` Set post ETA - `set_post_pinned: optional boolean` Pin/unpin posts - `set_post_status: optional boolean` Set post status - `set_post_tags: optional boolean` Set post tags - `use_integrations: optional boolean` Use integrations - `view_comments_private: optional boolean` View private comments - `view_posts_private: optional boolean` View private posts - `view_private_post_tags: optional boolean` View private post tags - `view_users: optional boolean` View users - `nextCursor: string` Cursor for fetching the next page (cursor-based pagination) - `object: "list"` Object type identifier - `"list"` ### Example ```http curl https://do.featurebase.app/v2/admins/roles \ -H "Authorization: Bearer $FEATUREBASE_API_KEY" ``` #### Response ```json { "data": [ { "id": "6648f22b7b23fb2f4307aafe", "name": "Admin", "object": "admin_role", "permissions": { "auto_approve_posts": false, "manage_api": false, "manage_billing": false, "manage_boards": true, "manage_branding": false, "manage_changelogs": true, "manage_comments": true, "manage_comments_private": false, "manage_conversation_tags": false, "manage_custom_domain": false, "manage_custom_fields": true, "manage_help_center": true, "manage_integrations": false, "manage_moderation_settings": true, "manage_notifications": true, "manage_post_tags": true, "manage_prioritization": true, "manage_roadmap": true, "manage_sso": false, "manage_statuses": true, "manage_surveys": true, "manage_team_members": true, "manage_user_roles": true, "manage_users": true, "moderate_comments": true, "moderate_posts": true, "post_export": true, "post_import": false, "post_merge": true, "post_vote_on_behalf": false, "set_comment_pinned": true, "set_conversation_tags": true, "set_post_assignee": true, "set_post_author": true, "set_post_category": true, "set_post_custom_fields": true, "set_post_eta": true, "set_post_pinned": true, "set_post_status": true, "set_post_tags": true, "use_integrations": true, "view_comments_private": false, "view_posts_private": false, "view_private_post_tags": false, "view_users": true } } ], "nextCursor": null, "object": "list" } ``` ## Domain Types ### Admin - `Admin object { id, object, email, 3 more }` - `id: string` Unique identifier - `object: "admin"` Object type identifier - `"admin"` - `email: optional string` Admin email address - `name: optional string` Admin display name - `profilePicture: optional string` Profile picture URL - `roleId: optional string` Role ID assigned to this admin ### Admin List Response - `AdminListResponse object { data, nextCursor, object, pagination }` - `data: array of Admin` Array of admins - `id: string` Unique identifier - `object: "admin"` Object type identifier - `"admin"` - `email: optional string` Admin email address - `name: optional string` Admin display name - `profilePicture: optional string` Profile picture URL - `roleId: optional string` Role ID assigned to this admin - `nextCursor: string` Cursor for fetching the next page (cursor-based pagination) - `object: "list"` Object type identifier - `"list"` - `pagination: optional object { limit, page, total, totalPages }` Pagination metadata for page-based requests - `limit: number` Items per page - `page: number` Current page number - `total: number` Total number of items - `totalPages: number` Total number of pages ### Admin List Roles Response - `AdminListRolesResponse object { data, nextCursor, object }` - `data: array of object { id, name, object, permissions }` Array of admin roles - `id: string` Role unique identifier - `name: string` Role name - `object: "admin_role"` Object type identifier - `"admin_role"` - `permissions: object { auto_approve_posts, manage_api, manage_billing, 42 more }` Role permissions - `auto_approve_posts: optional boolean` Auto-approve posts - `manage_api: optional boolean` Manage API settings - `manage_billing: optional boolean` Manage billing - `manage_boards: optional boolean` Manage boards - `manage_branding: optional boolean` Manage branding - `manage_changelogs: optional boolean` Manage changelogs - `manage_comments: optional boolean` Manage comments - `manage_comments_private: optional boolean` Manage private comments - `manage_conversation_tags: optional boolean` Manage conversation tag definitions - `manage_custom_domain: optional boolean` Manage custom domain - `manage_custom_fields: optional boolean` Manage custom fields - `manage_help_center: optional boolean` Manage help center - `manage_integrations: optional boolean` Manage integrations - `manage_moderation_settings: optional boolean` Manage moderation settings - `manage_notifications: optional boolean` Manage notifications - `manage_post_tags: optional boolean` Manage post tags - `manage_prioritization: optional boolean` Manage prioritization - `manage_roadmap: optional boolean` Manage roadmap - `manage_sso: optional boolean` Manage SSO - `manage_statuses: optional boolean` Manage post statuses - `manage_surveys: optional boolean` Manage surveys - `manage_team_members: optional boolean` Manage team members - `manage_user_roles: optional boolean` Manage user roles - `manage_users: optional boolean` Manage users - `moderate_comments: optional boolean` Moderate comments - `moderate_posts: optional boolean` Moderate posts - `post_export: optional boolean` Export posts - `post_import: optional boolean` Import posts - `post_merge: optional boolean` Merge posts - `post_vote_on_behalf: optional boolean` Vote on posts on behalf of users - `set_comment_pinned: optional boolean` Pin/unpin comments - `set_conversation_tags: optional boolean` Apply and remove conversation tags - `set_post_assignee: optional boolean` Assign posts - `set_post_author: optional boolean` Set post author - `set_post_category: optional boolean` Set post category/board - `set_post_custom_fields: optional boolean` Set post custom fields - `set_post_eta: optional boolean` Set post ETA - `set_post_pinned: optional boolean` Pin/unpin posts - `set_post_status: optional boolean` Set post status - `set_post_tags: optional boolean` Set post tags - `use_integrations: optional boolean` Use integrations - `view_comments_private: optional boolean` View private comments - `view_posts_private: optional boolean` View private posts - `view_private_post_tags: optional boolean` View private post tags - `view_users: optional boolean` View users - `nextCursor: string` Cursor for fetching the next page (cursor-based pagination) - `object: "list"` Object type identifier - `"list"`