openapi: 3.2.0 info: title: Bigtincan Hub Public Admin API version: '1.0' description: 'The Bigtincan Hub Public API provides programmatic access to the Bigtincan sales enablement platform: stories, files, channels, tabs, groups, users, tags, bookmarks, forms, public file shares, search, CRM story recommendations, interaction tracking and admin management.' contact: name: Bigtincan Support url: https://www.bigtincan.com/contact/ termsOfService: https://www.bigtincan.com/eula/ servers: - url: https://pubapi.bigtincan.com/ security: - oauth2_password: [] - oauth2_authorization_code: [] tags: - name: Admin paths: /v1/admin/channels: get: tags: - Admin summary: Get all admin channels description: Retrieve all company channels. operationId: get-v1-admin-channels parameters: - name: tab_id in: query description: Tab ID to filter channels required: false schema: type: string - name: search in: query description: Key word for searching by channel name required: false schema: type: string - name: page in: query description: 'Pagination: current page' required: false schema: type: integer - name: limit in: query description: 'Pagination: results per page. Max 100' required: false schema: type: integer default: 10 responses: '200': description: A list of channels '400': $ref: '#/components/responses/400' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' /v1/admin/channels/{channel_id}: patch: tags: - Admin summary: Modify a channel description: Modify a channel operationId: patch-v1-admin-channels-by-channel-id parameters: - name: channel_id in: path description: Channel id required: true schema: type: string responses: '200': description: Channel updated '400': $ref: '#/components/responses/400' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' '422': description: Validation error requestBody: content: application/json: schema: $ref: '#/components/schemas/Modify_channel_request' description: Channel object required: true /v1/admin/groups/{group_id}: delete: tags: - Admin summary: Delete a group. description: Delete a group. operationId: delete-v1-admin-groups-by-group-id parameters: - name: group_id in: path description: Group ID required: true schema: type: string responses: '204': description: Group Deleted '400': $ref: '#/components/responses/400' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '422': $ref: '#/components/responses/422' patch: tags: - Admin summary: Modify a group. description: Modify a group. operationId: patch-v1-admin-groups-by-group-id parameters: - name: group_id in: path description: Group id required: true schema: type: string - $ref: '#/components/schemas/As-User' name: As-User in: header required: false responses: '200': description: Group updated '400': $ref: '#/components/responses/400' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' '422': description: Validation error requestBody: content: application/json: schema: $ref: '#/components/schemas/Modify_Group_Request' description: Group object required: true /v1/admin/group/get/{group_id}: get: tags: - Admin summary: Get a group. description: Get a group. operationId: get-v1-admin-group-get-by-group-id parameters: - name: group_id in: path description: Group ID required: true schema: type: string responses: '200': description: Group object '401': $ref: '#/components/responses/401' /v1/admin/groups/{group_id}/users/{user_id}: delete: tags: - Admin summary: Remove user from a group description: Remove a user from a group operationId: delete-v1-admin-groups-by-group-id-users-by-user-id parameters: - name: group_id in: path description: Group Id required: true schema: type: string - name: user_id in: path description: User Id required: true schema: type: string responses: '204': description: Remove user from group '400': $ref: '#/components/responses/400' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' '422': $ref: '#/components/responses/422' /v1/admin/tabs: get: tags: - Admin summary: Retrieve admin tabs. description: Get all tabs as an admin. operationId: get-v1-admin-tabs parameters: - name: search in: query description: Search by tab name required: false schema: type: string - name: include_channel_count in: query description: Include channel count of tab required: false schema: type: boolean default: false - name: page in: query description: 'Pagination: current page' required: false schema: type: integer - name: limit in: query description: 'Pagination: results per page. Max 100' required: false schema: type: integer default: 10 responses: '200': description: A list of tabs '400': $ref: '#/components/responses/400' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' /v1/admin/tabs/{tab_id}: patch: tags: - Admin summary: Modify a tab description: Modify a tab operationId: patch-v1-admin-tabs-by-tab-id parameters: - name: tab_id in: path description: Tab id required: true schema: type: string responses: '200': description: Tab updated '400': $ref: '#/components/responses/400' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' '422': description: Validation error requestBody: content: application/json: schema: $ref: '#/components/schemas/Modify_tab_request' description: Tab object required: true /v1.1/admin/group/all: get: tags: - Admin summary: Retrieve groups. description: Retrieve groups. operationId: get-v1-1-admin-group-all parameters: - name: channel_id in: query description: Filter groups by channel ID required: false schema: type: string - name: filter in: query description: Set filter required: false schema: type: string - name: search in: query description: Search by group name or external id required: false schema: type: string - name: include_child_data in: query description: Set to true to retrieve an array of users for each group required: false schema: type: boolean - name: include_parent_ids in: query description: Set to true to retrieve an array of channel IDs for each group (admin only) required: false schema: type: boolean - name: include_personal_groups in: query description: Set to true to include personal user groups required: false schema: type: boolean - name: sort_by in: query description: Sort by fields required: false schema: type: string - name: page in: query description: 'Pagination: current page' required: false schema: type: integer - name: limit in: query description: 'Pagination: results per page. Max 100' required: false schema: type: integer default: 10 - name: include_inactive in: query description: Set to true to include inactive users in per-group member counts and child data required: false schema: type: boolean default: false - name: include_invited in: query description: Set to true to include invited users in per-group member counts and child data required: false schema: type: boolean default: false responses: '200': description: A list of groups '401': $ref: '#/components/responses/401' /v1.1/admin/user/get/{user_id}: get: tags: - Admin summary: Get a user. description: Get a user. operationId: get-v1-1-admin-user-get-by-user-id parameters: - name: user_id in: path description: User ID required: true schema: type: string responses: '200': description: User object '401': $ref: '#/components/responses/401' /v1.3/admin/user/all: get: tags: - Admin summary: Retrieve users. description: Retrieve users. operationId: get-v1-3-admin-user-all parameters: - name: group_id in: query description: Filter users by group ID required: false schema: type: string - name: role in: query description: Filter users by role. required: false schema: type: string enum: - user - structure_admin - admin - company_manager - super_admin - name: search in: query description: Key word for searching by user full name or email required: false schema: type: string - name: include_groups in: query description: Include user group information. required: false schema: type: boolean - name: sort_by in: query description: Sort by fields required: false schema: type: string enum: - badges - firstname - jobtitle - lastname - name: page in: query description: 'Pagination: current page' required: false schema: type: integer - name: limit in: query description: 'Pagination: results per page. Max 100' required: false schema: type: integer default: 10 - name: include_metadata in: query description: Include user metadata required: false schema: type: boolean default: false - name: include_inactive in: query description: 'Include users with status ''inactive'' in the response. Default: false (active users only).' required: false schema: type: boolean default: false - name: include_invited in: query description: 'Include users with status ''invited'' in the response. Default: false (active users only).' required: false schema: type: boolean default: false responses: '200': description: A list of users '401': $ref: '#/components/responses/401' '422': $ref: '#/components/responses/422' components: responses: '404': description: Not found '403': description: Forbidden '422': description: Validation error '401': description: Unauthorized '400': description: Bad request schemas: As-User: description: Perform action on behalf of this user ID. type: string Modify_channel_request: required: - name properties: name: description: Channel name type: string description: description: Channel description type: string tabs: description: tab to be assigned to the new channel type: array items: required: - id properties: id: description: Tab ID type: string type: object cover_art_url: description: Cover Art URL type: string default: '' default_order: description: Tab assigned to the new channel type: string default: date type: object Modify_Group_Request: required: - name properties: name: description: Group name type: string external_id: description: Group external id type: string notes: description: Group notes type: string type: object Modify_tab_request: properties: name: description: Tab name type: string description: description: Tab description type: string cover_art_url: description: Cover Art URL type: string default: '' type: object securitySchemes: oauth2_password: type: oauth2 flows: password: scopes: {} tokenUrl: https://pubapi.bigtincan.com/services/oauth2/token description: 'Client ID + Client Secret + API Key exchanged at /services/oauth2/token with grant_type=password. Returns access_token + refresh_token. The As-User header is available only with this flow. Source: https://pubapi.bigtincan.com/doc/interactive/' oauth2_authorization_code: type: oauth2 flows: authorizationCode: scopes: {} authorizationUrl: https://pubapi.bigtincan.com/services/oauth2/authorize tokenUrl: https://pubapi.bigtincan.com/services/oauth2/token description: 'Interactive Bigtincan Hub user login. The As-User header is disabled for this flow. Source: https://pubapi.bigtincan.com/doc/interactive/'