openapi: 3.1.0 info: title: Business Central Administration Center Accounts Permission Sets API description: REST API for programmatic administration of Dynamics 365 Business Central environments. Enables querying and managing production and sandbox environments, setting up administrative notifications, viewing tenant telemetry, managing apps, scheduling updates, and performing environment operations such as copy, rename, restore, and delete. version: '2.28' contact: name: Microsoft Dynamics Support email: bcsupport@microsoft.com url: https://dynamics.microsoft.com/support/ license: name: Microsoft APIs Terms of Use url: https://learn.microsoft.com/en-us/legal/microsoft-apis/terms-of-use termsOfService: https://learn.microsoft.com/en-us/legal/microsoft-apis/terms-of-use servers: - url: https://api.businesscentral.dynamics.com/admin/v2.28 description: Business Central Administration Center security: - oauth2: [] - bearerAuth: [] tags: - name: Permission Sets description: Manage permission sets and user permissions paths: /companies({company_id})/users({user_id})/userPermissions: get: summary: List User Permissions description: Returns permission sets assigned to the user. operationId: listUserPermissions tags: - Permission Sets parameters: - $ref: '#/components/parameters/company_id' - $ref: '#/components/parameters/user_id' responses: '200': description: Successfully retrieved user permissions content: application/json: schema: type: object properties: value: type: array items: $ref: '#/components/schemas/UserPermission' examples: Listuserpermissions200Example: summary: Default listUserPermissions 200 response x-microcks-default: true value: value: - id: abc123 roleId: '500123' displayName: example_value company: example_value scope: System appId: '500123' '401': $ref: '#/components/responses/Unauthorized' x-microcks-operation: delay: 0 dispatcher: FALLBACK post: summary: Assign a Permission Set to a User description: Assigns a permission set to the specified user. operationId: createUserPermission tags: - Permission Sets parameters: - $ref: '#/components/parameters/company_id' - $ref: '#/components/parameters/user_id' requestBody: required: true content: application/json: schema: type: object required: - roleId properties: roleId: type: string description: The permission set role ID examples: CreateuserpermissionRequestExample: summary: Default createUserPermission request x-microcks-default: true value: roleId: '500123' responses: '201': description: Permission set assigned content: application/json: schema: $ref: '#/components/schemas/UserPermission' examples: Createuserpermission201Example: summary: Default createUserPermission 201 response x-microcks-default: true value: id: abc123 roleId: '500123' displayName: example_value company: example_value scope: System appId: '500123' '401': $ref: '#/components/responses/Unauthorized' x-microcks-operation: delay: 0 dispatcher: FALLBACK /companies({company_id})/permissionSets: get: summary: List Permission Sets description: Returns a list of available permission sets. operationId: listPermissionSets tags: - Permission Sets parameters: - $ref: '#/components/parameters/company_id' responses: '200': description: Successfully retrieved permission sets content: application/json: schema: type: object properties: value: type: array items: $ref: '#/components/schemas/PermissionSet' examples: Listpermissionsets200Example: summary: Default listPermissionSets 200 response x-microcks-default: true value: value: - id: abc123 roleId: '500123' displayName: example_value scope: System appId: '500123' extensionName: example_value '401': $ref: '#/components/responses/Unauthorized' x-microcks-operation: delay: 0 dispatcher: FALLBACK components: responses: Unauthorized: description: Unauthorized - authentication required content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' schemas: ErrorResponse: type: object properties: error: type: object properties: code: type: string message: type: string example: example_value UserPermission: type: object properties: id: type: string format: uuid example: abc123 roleId: type: string description: The permission set role ID example: '500123' displayName: type: string description: The permission set display name example: example_value company: type: string description: The company name scope example: example_value scope: type: string enum: - System - Tenant example: System appId: type: string format: uuid example: '500123' PermissionSet: type: object properties: id: type: string format: uuid example: abc123 roleId: type: string description: The permission set role ID example: '500123' displayName: type: string description: The permission set display name example: example_value scope: type: string enum: - System - Tenant example: System appId: type: string format: uuid example: '500123' extensionName: type: string example: example_value parameters: user_id: name: user_id in: path required: true description: The user security ID schema: type: string format: uuid company_id: name: company_id in: path required: true description: The unique identifier of the company schema: type: string format: uuid securitySchemes: oauth2: type: oauth2 description: OAuth 2.0 authentication via Microsoft Entra ID flows: authorizationCode: authorizationUrl: https://login.microsoftonline.com/{tenantId}/oauth2/v2.0/authorize tokenUrl: https://login.microsoftonline.com/{tenantId}/oauth2/v2.0/token scopes: https://api.businesscentral.dynamics.com/.default: Access Business Central Admin APIs clientCredentials: tokenUrl: https://login.microsoftonline.com/{tenantId}/oauth2/v2.0/token scopes: https://api.businesscentral.dynamics.com/.default: Access Business Central Admin APIs bearerAuth: type: http scheme: bearer bearerFormat: JWT externalDocs: description: Administration Center API Documentation url: https://learn.microsoft.com/en-us/dynamics365/business-central/dev-itpro/administration/administration-center-api