Microsoft Dynamics NAV Users API

Manage Business Central users

Operations 5

GET /companies({company_id})/users List Users #
GET /companies({company_id})/users({user_id}) Get a User #
PATCH /companies({company_id})/users({user_id}) Update a User #
POST /companies({company_id})/users/Microsoft.NAV.getNewUsersFromOffice365 Get New Users From Office 365 #
POST /companies({company_id})/users/Microsoft.NAV.getNewUsersFromOffice365Async Get New Users From Office 365 (async) #

Documentation

Specifications

Other Resources

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/navision-users-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

navision-users-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Business Central Automation API v2.0 Users API
  description: API for automating company setup and tenant management in Dynamics 365 Business Central. Supports creating companies, installing and managing extensions, assigning permission sets to users, uploading and applying RapidStart packages, managing user groups and security groups, and activating features programmatically.
  version: '2.0'
  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/v2.0/{environment}/api/microsoft/automation/v2.0
  description: Business Central Online Automation API
  variables:
    environment:
      default: production
      description: The name of the Business Central environment
- url: https://{server}:{port}/{instance}/api/microsoft/automation/v2.0
  description: Business Central On-Premises Automation API
  variables:
    server:
      default: localhost
      description: The on-premises server hostname
    port:
      default: '7048'
      description: The OData services port
    instance:
      default: BC
      description: The Business Central server instance name
security:
- oauth2: []
- bearerAuth: []
tags:
- name: Users
  description: Manage Business Central users
paths:
  /companies({company_id})/users:
    get:
      summary: List Users
      description: Returns a list of Business Central users.
      operationId: listUsers
      tags:
      - Users
      parameters:
      - $ref: '#/components/parameters/company_id'
      responses:
        '200':
          description: Successfully retrieved users
          content:
            application/json:
              schema:
                type: object
                properties:
                  value:
                    type: array
                    items:
                      $ref: '#/components/schemas/User'
              examples:
                Listusers200Example:
                  summary: Default listUsers 200 response
                  x-microcks-default: true
                  value:
                    value:
                    - userSecurityId: '500123'
                      userName: example_value
                      displayName: example_value
                      state: Enabled
                      expiryDate: '2026-01-15T10:30:00Z'
        '401':
          $ref: '#/components/responses/Unauthorized'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /companies({company_id})/users({user_id}):
    get:
      summary: Get a User
      description: Retrieves a specific user by user security ID.
      operationId: getUser
      tags:
      - Users
      parameters:
      - $ref: '#/components/parameters/company_id'
      - $ref: '#/components/parameters/user_id'
      responses:
        '200':
          description: Successfully retrieved user
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/User'
              examples:
                Getuser200Example:
                  summary: Default getUser 200 response
                  x-microcks-default: true
                  value:
                    userSecurityId: '500123'
                    userName: example_value
                    displayName: example_value
                    state: Enabled
                    expiryDate: '2026-01-15T10:30:00Z'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
    patch:
      summary: Update a User
      description: Updates properties of a Business Central user.
      operationId: updateUser
      tags:
      - Users
      parameters:
      - $ref: '#/components/parameters/company_id'
      - $ref: '#/components/parameters/user_id'
      - $ref: '#/components/parameters/ifMatch'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UserUpdate'
            examples:
              UpdateuserRequestExample:
                summary: Default updateUser request
                x-microcks-default: true
                value:
                  state: Enabled
                  expiryDate: '2026-01-15T10:30:00Z'
      responses:
        '200':
          description: User updated successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/User'
              examples:
                Updateuser200Example:
                  summary: Default updateUser 200 response
                  x-microcks-default: true
                  value:
                    userSecurityId: '500123'
                    userName: example_value
                    displayName: example_value
                    state: Enabled
                    expiryDate: '2026-01-15T10:30:00Z'
        '401':
          $ref: '#/components/responses/Unauthorized'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /companies({company_id})/users/Microsoft.NAV.getNewUsersFromOffice365:
    post:
      summary: Get New Users From Office 365
      description: Retrieves new users or updated user information from Office 365. Runs synchronously. Not supported with S2S authentication.
      operationId: getNewUsersFromOffice365
      tags:
      - Users
      parameters:
      - $ref: '#/components/parameters/company_id'
      responses:
        '200':
          description: Users retrieved successfully
        '401':
          $ref: '#/components/responses/Unauthorized'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /companies({company_id})/users/Microsoft.NAV.getNewUsersFromOffice365Async:
    post:
      summary: Get New Users From Office 365 (async)
      description: Schedules a background job to retrieve new users from Office 365. Returns a link to the scheduled job for tracking progress. Not supported with S2S authentication.
      operationId: getNewUsersFromOffice365Async
      tags:
      - Users
      parameters:
      - $ref: '#/components/parameters/company_id'
      responses:
        '202':
          description: Background job scheduled
        '401':
          $ref: '#/components/responses/Unauthorized'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
components:
  responses:
    NotFound:
      description: Resource not found
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
    Unauthorized:
      description: Unauthorized - authentication required
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
  parameters:
    ifMatch:
      name: If-Match
      in: header
      required: true
      description: ETag value for optimistic concurrency control
      schema:
        type: string
    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
  schemas:
    User:
      type: object
      properties:
        userSecurityId:
          type: string
          format: uuid
          description: The user security ID
          example: '500123'
        userName:
          type: string
          description: The user name
          example: example_value
        displayName:
          type: string
          description: The user display name
          example: example_value
        state:
          type: string
          description: The user state
          enum:
          - Enabled
          - Disabled
          example: Enabled
        expiryDate:
          type: string
          format: date-time
          description: The user expiry date
          example: '2026-01-15T10:30:00Z'
    UserUpdate:
      type: object
      properties:
        state:
          type: string
          enum:
          - Enabled
          - Disabled
          example: Enabled
        expiryDate:
          type: string
          format: date-time
          example: '2026-01-15T10:30:00Z'
    ErrorResponse:
      type: object
      properties:
        error:
          type: object
          properties:
            code:
              type: string
            message:
              type: string
          example: example_value
  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 Automation APIs
        clientCredentials:
          tokenUrl: https://login.microsoftonline.com/{tenantId}/oauth2/v2.0/token
          scopes:
            https://api.businesscentral.dynamics.com/.default: Access Business Central Automation APIs
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT
externalDocs:
  description: Automation API Documentation
  url: https://learn.microsoft.com/en-us/dynamics365/business-central/dev-itpro/administration/itpro-introduction-to-automation-apis