Microsoft Dynamics NAV App Management API

Manage installed applications

Operations 4

GET /applications/{applicationFamily}/environments/{environmentName}/apps List Installed Apps #
POST /applications/{applicationFamily}/environments/{environmentName}/apps/{appId}/update Update an App #
POST /applications/{applicationFamily}/environments/{environmentName}/apps/{appId}/install Install an App #
POST /applications/{applicationFamily}/environments/{environmentName}/apps/{appId}/uninstall Uninstall an App #

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-app-management-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-app-management-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Business Central Administration Center App Management 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: App Management
  description: Manage installed applications
paths:
  /applications/{applicationFamily}/environments/{environmentName}/apps:
    get:
      summary: List Installed Apps
      description: Returns a list of apps installed in the specified environment.
      operationId: listInstalledApps
      tags:
      - App Management
      parameters:
      - $ref: '#/components/parameters/applicationFamily'
      - $ref: '#/components/parameters/environmentName'
      responses:
        '200':
          description: Successfully retrieved installed apps
          content:
            application/json:
              schema:
                type: object
                properties:
                  value:
                    type: array
                    items:
                      $ref: '#/components/schemas/AppInfo'
              examples:
                Listinstalledapps200Example:
                  summary: Default listInstalledApps 200 response
                  x-microcks-default: true
                  value:
                    value:
                    - id: abc123
                      name: Example Title
                      publisher: example_value
                      version: example_value
                      state: example_value
                      lastOperationId: '500123'
                      lastUpdateAttemptResult: example_value
        '401':
          $ref: '#/components/responses/Unauthorized'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /applications/{applicationFamily}/environments/{environmentName}/apps/{appId}/update:
    post:
      summary: Update an App
      description: Schedules an update of the specified app to a newer version.
      operationId: updateApp
      tags:
      - App Management
      parameters:
      - $ref: '#/components/parameters/applicationFamily'
      - $ref: '#/components/parameters/environmentName'
      - name: appId
        in: path
        required: true
        schema:
          type: string
          format: uuid
        example: '500123'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AppUpdateRequest'
            examples:
              UpdateappRequestExample:
                summary: Default updateApp request
                x-microcks-default: true
                value:
                  targetVersion: example_value
                  allowPreviewVersion: true
                  ignoreUpgradeWindow: true
                  allowDependencyUpdate: true
      responses:
        '202':
          description: App update scheduled
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EnvironmentOperation'
              examples:
                Updateapp202Example:
                  summary: Default updateApp 202 response
                  x-microcks-default: true
                  value:
                    id: abc123
                    type: create
                    status: Queued
                    aadTenantId: '500123'
                    createdOn: '2026-01-15T10:30:00Z'
                    startedOn: '2026-01-15T10:30:00Z'
                    completedOn: '2026-01-15T10:30:00Z'
                    createdBy: example_value
                    errorMessage: example_value
                    parameters: example_value
                    environmentName: example_value
                    environmentType: example_value
                    productFamily: example_value
        '401':
          $ref: '#/components/responses/Unauthorized'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /applications/{applicationFamily}/environments/{environmentName}/apps/{appId}/install:
    post:
      summary: Install an App
      description: Installs the specified app in the environment.
      operationId: installApp
      tags:
      - App Management
      parameters:
      - $ref: '#/components/parameters/applicationFamily'
      - $ref: '#/components/parameters/environmentName'
      - name: appId
        in: path
        required: true
        schema:
          type: string
          format: uuid
        example: '500123'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AppInstallRequest'
            examples:
              InstallappRequestExample:
                summary: Default installApp request
                x-microcks-default: true
                value:
                  targetVersion: example_value
                  allowPreviewVersion: true
                  acceptIsvEula: true
                  allowDependencyUpdate: true
      responses:
        '202':
          description: App installation scheduled
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EnvironmentOperation'
              examples:
                Installapp202Example:
                  summary: Default installApp 202 response
                  x-microcks-default: true
                  value:
                    id: abc123
                    type: create
                    status: Queued
                    aadTenantId: '500123'
                    createdOn: '2026-01-15T10:30:00Z'
                    startedOn: '2026-01-15T10:30:00Z'
                    completedOn: '2026-01-15T10:30:00Z'
                    createdBy: example_value
                    errorMessage: example_value
                    parameters: example_value
                    environmentName: example_value
                    environmentType: example_value
                    productFamily: example_value
        '401':
          $ref: '#/components/responses/Unauthorized'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /applications/{applicationFamily}/environments/{environmentName}/apps/{appId}/uninstall:
    post:
      summary: Uninstall an App
      description: Uninstalls the specified app from the environment.
      operationId: uninstallApp
      tags:
      - App Management
      parameters:
      - $ref: '#/components/parameters/applicationFamily'
      - $ref: '#/components/parameters/environmentName'
      - name: appId
        in: path
        required: true
        schema:
          type: string
          format: uuid
        example: '500123'
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                deleteData:
                  type: boolean
                  description: Whether to delete data associated with the extension
            examples:
              UninstallappRequestExample:
                summary: Default uninstallApp request
                x-microcks-default: true
                value:
                  deleteData: true
      responses:
        '202':
          description: App uninstallation scheduled
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EnvironmentOperation'
              examples:
                Uninstallapp202Example:
                  summary: Default uninstallApp 202 response
                  x-microcks-default: true
                  value:
                    id: abc123
                    type: create
                    status: Queued
                    aadTenantId: '500123'
                    createdOn: '2026-01-15T10:30:00Z'
                    startedOn: '2026-01-15T10:30:00Z'
                    completedOn: '2026-01-15T10:30:00Z'
                    createdBy: example_value
                    errorMessage: example_value
                    parameters: example_value
                    environmentName: example_value
                    environmentType: example_value
                    productFamily: example_value
        '401':
          $ref: '#/components/responses/Unauthorized'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
components:
  schemas:
    AppInfo:
      type: object
      properties:
        id:
          type: string
          format: uuid
          example: abc123
        name:
          type: string
          example: Example Title
        publisher:
          type: string
          example: example_value
        version:
          type: string
          example: example_value
        state:
          type: string
          example: example_value
        lastOperationId:
          type: string
          format: uuid
          example: '500123'
        lastUpdateAttemptResult:
          type: string
          example: example_value
    EnvironmentOperation:
      type: object
      properties:
        id:
          type: string
          format: uuid
          description: Operation ID used for tracking
          example: abc123
        type:
          type: string
          description: Type of operation
          enum:
          - create
          - copy
          - delete
          - softDelete
          - recover
          - environmentRename
          - pitRestore
          - environmentAppInstall
          - environmentAppUninstall
          - environmentAppUpdate
          - environmentAppHotfix
          - modify
          - update
          - restart
          - moveToAnotherAadTenant
          example: create
        status:
          type: string
          description: Status of the operation
          enum:
          - Queued
          - Scheduled
          - Running
          - Succeeded
          - Failed
          - Canceled
          - Skipped
          example: Queued
        aadTenantId:
          type: string
          format: uuid
          description: Microsoft Entra tenant ID
          example: '500123'
        createdOn:
          type: string
          format: date-time
          description: When the operation was created
          example: '2026-01-15T10:30:00Z'
        startedOn:
          type: string
          format: date-time
          description: When the operation started executing
          example: '2026-01-15T10:30:00Z'
        completedOn:
          type: string
          format: date-time
          description: When the operation completed
          example: '2026-01-15T10:30:00Z'
        createdBy:
          type: string
          description: Who created the operation
          example: example_value
        errorMessage:
          type: string
          description: Error message for failed operations
          example: example_value
        parameters:
          type: object
          description: Operation-specific parameters
          additionalProperties: true
          example: example_value
        environmentName:
          type: string
          description: Name of the affected environment
          example: example_value
        environmentType:
          type: string
          description: Type of the affected environment
          example: example_value
        productFamily:
          type: string
          description: Product family of the affected environment
          example: example_value
    ErrorResponse:
      type: object
      properties:
        code:
          type: string
          description: A stable error code describing the type and nature of the error
          example: example_value
        message:
          type: string
          description: A readable description of the error and cause
          example: example_value
        target:
          type: string
          description: Information about what part of the request caused the error
          example: example_value
        extensionData:
          type: object
          description: Additional key/value information about the error
          additionalProperties: true
          example: example_value
        clientError:
          type: array
          description: Nested list of error objects with more details
          items:
            $ref: '#/components/schemas/ErrorResponse'
          example: []
    AppUpdateRequest:
      type: object
      properties:
        targetVersion:
          type: string
          description: Target version to update to
          example: example_value
        allowPreviewVersion:
          type: boolean
          description: Whether to allow preview versions
          example: true
        ignoreUpgradeWindow:
          type: boolean
          description: Whether to ignore the update window
          example: true
        allowDependencyUpdate:
          type: boolean
          description: Whether to also update dependent apps
          example: true
    AppInstallRequest:
      type: object
      properties:
        targetVersion:
          type: string
          description: Version to install
          example: example_value
        allowPreviewVersion:
          type: boolean
          description: Whether to allow preview versions
          example: true
        acceptIsvEula:
          type: boolean
          description: Whether the ISV EULA is accepted
          example: true
        allowDependencyUpdate:
          type: boolean
          description: Whether to also update dependent apps
          example: true
  parameters:
    environmentName:
      name: environmentName
      in: path
      required: true
      description: The name of the environment
      schema:
        type: string
    applicationFamily:
      name: applicationFamily
      in: path
      required: true
      description: The application family (e.g., BusinessCentral)
      schema:
        type: string
        default: BusinessCentral
  responses:
    Unauthorized:
      description: Unauthorized - authentication required
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
  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