Microsoft Dynamics NAV Items API

Manage inventory items

Operations 5

GET /companies({company_id})/items List Items #
POST /companies({company_id})/items Create an Item #
GET /companies({company_id})/items({item_id}) Get an Item #
PATCH /companies({company_id})/items({item_id}) Update an Item #
DELETE /companies({company_id})/items({item_id}) Delete an Item #

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-items-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-items-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Dynamics 365 Business Central API v2.0 Items API
  description: Modern RESTful API for Microsoft Dynamics 365 Business Central, the cloud evolution of Dynamics NAV. Provides a comprehensive set of endpoints for managing customers, vendors, items, sales orders, purchase orders, accounts, journals, and other business entities. Supports OData query parameters for filtering, sorting, and pagination.
  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/v2.0
  description: Business Central Online (Common Endpoint)
  variables:
    environment:
      default: production
      description: The name of the Business Central environment
- url: https://{server}:{port}/{instance}/api/v2.0
  description: Business Central On-Premises
  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: Items
  description: Manage inventory items
paths:
  /companies({company_id})/items:
    get:
      summary: List Items
      description: Returns a list of item objects from the specified company.
      operationId: listItems
      tags:
      - Items
      parameters:
      - $ref: '#/components/parameters/company_id'
      - $ref: '#/components/parameters/top'
      - $ref: '#/components/parameters/skip'
      - $ref: '#/components/parameters/filter'
      - $ref: '#/components/parameters/orderby'
      - $ref: '#/components/parameters/select'
      responses:
        '200':
          description: Successfully retrieved items
          content:
            application/json:
              schema:
                type: object
                properties:
                  value:
                    type: array
                    items:
                      $ref: '#/components/schemas/Item'
              examples:
                Listitems200Example:
                  summary: Default listItems 200 response
                  x-microcks-default: true
                  value:
                    value:
                    - '@odata.etag': example_value
                      id: abc123
                      number: example_value
                      displayName: example_value
                      displayName2: example_value
                      type: Inventory
                      itemCategoryId: '500123'
                      itemCategoryCode: example_value
                      blocked: true
                      gtin: example_value
                      inventory: 42.5
                      unitPrice: 42.5
                      priceIncludesTax: true
                      unitCost: 42.5
                      taxGroupId: '500123'
                      taxGroupCode: example_value
                      baseUnitOfMeasureId: '500123'
                      baseUnitOfMeasureCode: example_value
                      generalProductPostingGroupId: '500123'
                      generalProductPostingGroupCode: example_value
                      inventoryPostingGroupId: '500123'
                      inventoryPostingGroupCode: example_value
                      lastModifiedDateTime: '2026-01-15T10:30:00Z'
        '401':
          $ref: '#/components/responses/Unauthorized'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
    post:
      summary: Create an Item
      description: Creates a new item object in the specified company.
      operationId: createItem
      tags:
      - Items
      parameters:
      - $ref: '#/components/parameters/company_id'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ItemCreate'
            examples:
              CreateitemRequestExample:
                summary: Default createItem request
                x-microcks-default: true
                value:
                  number: example_value
                  displayName: example_value
                  type: Inventory
                  itemCategoryCode: example_value
                  blocked: true
                  gtin: example_value
                  unitPrice: 42.5
                  unitCost: 42.5
                  taxGroupCode: example_value
                  baseUnitOfMeasureCode: example_value
      responses:
        '201':
          description: Item created successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Item'
              examples:
                Createitem201Example:
                  summary: Default createItem 201 response
                  x-microcks-default: true
                  value:
                    '@odata.etag': example_value
                    id: abc123
                    number: example_value
                    displayName: example_value
                    displayName2: example_value
                    type: Inventory
                    itemCategoryId: '500123'
                    itemCategoryCode: example_value
                    blocked: true
                    gtin: example_value
                    inventory: 42.5
                    unitPrice: 42.5
                    priceIncludesTax: true
                    unitCost: 42.5
                    taxGroupId: '500123'
                    taxGroupCode: example_value
                    baseUnitOfMeasureId: '500123'
                    baseUnitOfMeasureCode: example_value
                    generalProductPostingGroupId: '500123'
                    generalProductPostingGroupCode: example_value
                    inventoryPostingGroupId: '500123'
                    inventoryPostingGroupCode: example_value
                    lastModifiedDateTime: '2026-01-15T10:30:00Z'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /companies({company_id})/items({item_id}):
    get:
      summary: Get an Item
      description: Retrieves a specific item by ID.
      operationId: getItem
      tags:
      - Items
      parameters:
      - $ref: '#/components/parameters/company_id'
      - $ref: '#/components/parameters/item_id'
      - $ref: '#/components/parameters/select'
      responses:
        '200':
          description: Successfully retrieved item
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Item'
              examples:
                Getitem200Example:
                  summary: Default getItem 200 response
                  x-microcks-default: true
                  value:
                    '@odata.etag': example_value
                    id: abc123
                    number: example_value
                    displayName: example_value
                    displayName2: example_value
                    type: Inventory
                    itemCategoryId: '500123'
                    itemCategoryCode: example_value
                    blocked: true
                    gtin: example_value
                    inventory: 42.5
                    unitPrice: 42.5
                    priceIncludesTax: true
                    unitCost: 42.5
                    taxGroupId: '500123'
                    taxGroupCode: example_value
                    baseUnitOfMeasureId: '500123'
                    baseUnitOfMeasureCode: example_value
                    generalProductPostingGroupId: '500123'
                    generalProductPostingGroupCode: example_value
                    inventoryPostingGroupId: '500123'
                    inventoryPostingGroupCode: example_value
                    lastModifiedDateTime: '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 an Item
      description: Updates an existing item object.
      operationId: updateItem
      tags:
      - Items
      parameters:
      - $ref: '#/components/parameters/company_id'
      - $ref: '#/components/parameters/item_id'
      - $ref: '#/components/parameters/ifMatch'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ItemUpdate'
            examples:
              UpdateitemRequestExample:
                summary: Default updateItem request
                x-microcks-default: true
                value:
                  displayName: example_value
                  type: Inventory
                  itemCategoryCode: example_value
                  blocked: true
                  gtin: example_value
                  unitPrice: 42.5
                  unitCost: 42.5
                  taxGroupCode: example_value
                  baseUnitOfMeasureCode: example_value
      responses:
        '200':
          description: Item updated successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Item'
              examples:
                Updateitem200Example:
                  summary: Default updateItem 200 response
                  x-microcks-default: true
                  value:
                    '@odata.etag': example_value
                    id: abc123
                    number: example_value
                    displayName: example_value
                    displayName2: example_value
                    type: Inventory
                    itemCategoryId: '500123'
                    itemCategoryCode: example_value
                    blocked: true
                    gtin: example_value
                    inventory: 42.5
                    unitPrice: 42.5
                    priceIncludesTax: true
                    unitCost: 42.5
                    taxGroupId: '500123'
                    taxGroupCode: example_value
                    baseUnitOfMeasureId: '500123'
                    baseUnitOfMeasureCode: example_value
                    generalProductPostingGroupId: '500123'
                    generalProductPostingGroupCode: example_value
                    inventoryPostingGroupId: '500123'
                    inventoryPostingGroupCode: example_value
                    lastModifiedDateTime: '2026-01-15T10:30:00Z'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
    delete:
      summary: Delete an Item
      description: Deletes an item by ID.
      operationId: deleteItem
      tags:
      - Items
      parameters:
      - $ref: '#/components/parameters/company_id'
      - $ref: '#/components/parameters/item_id'
      responses:
        '204':
          description: Item deleted successfully
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
components:
  schemas:
    ItemUpdate:
      type: object
      properties:
        displayName:
          type: string
          maxLength: 100
          example: example_value
        type:
          type: string
          enum:
          - Inventory
          - Service
          - Non-Inventory
          example: Inventory
        itemCategoryCode:
          type: string
          maxLength: 20
          example: example_value
        blocked:
          type: boolean
          example: true
        gtin:
          type: string
          maxLength: 14
          example: example_value
        unitPrice:
          type: number
          format: decimal
          example: 42.5
        unitCost:
          type: number
          format: decimal
          example: 42.5
        taxGroupCode:
          type: string
          maxLength: 20
          example: example_value
        baseUnitOfMeasureCode:
          type: string
          maxLength: 10
          example: example_value
    Item:
      type: object
      properties:
        '@odata.etag':
          type: string
          example: example_value
        id:
          type: string
          format: uuid
          description: The unique identifier of the item
          example: abc123
        number:
          type: string
          description: The item number
          maxLength: 20
          example: example_value
        displayName:
          type: string
          description: The item display name
          maxLength: 100
          example: example_value
        displayName2:
          type: string
          description: The item display name 2
          maxLength: 50
          example: example_value
        type:
          type: string
          description: The item type
          enum:
          - Inventory
          - Service
          - Non-Inventory
          example: Inventory
        itemCategoryId:
          type: string
          format: uuid
          description: The item category ID
          example: '500123'
        itemCategoryCode:
          type: string
          description: The item category code
          maxLength: 20
          example: example_value
        blocked:
          type: boolean
          description: Whether the item is blocked
          example: true
        gtin:
          type: string
          description: The Global Trade Item Number
          maxLength: 14
          example: example_value
        inventory:
          type: number
          format: decimal
          description: The current inventory quantity
          readOnly: true
          example: 42.5
        unitPrice:
          type: number
          format: decimal
          description: The unit price
          example: 42.5
        priceIncludesTax:
          type: boolean
          description: Whether the price includes tax
          example: true
        unitCost:
          type: number
          format: decimal
          description: The unit cost
          example: 42.5
        taxGroupId:
          type: string
          format: uuid
          description: The tax group ID
          example: '500123'
        taxGroupCode:
          type: string
          description: The tax group code
          maxLength: 20
          example: example_value
        baseUnitOfMeasureId:
          type: string
          format: uuid
          description: The base unit of measure ID
          example: '500123'
        baseUnitOfMeasureCode:
          type: string
          description: The base unit of measure code
          maxLength: 10
          example: example_value
        generalProductPostingGroupId:
          type: string
          format: uuid
          example: '500123'
        generalProductPostingGroupCode:
          type: string
          maxLength: 20
          example: example_value
        inventoryPostingGroupId:
          type: string
          format: uuid
          example: '500123'
        inventoryPostingGroupCode:
          type: string
          maxLength: 20
          example: example_value
        lastModifiedDateTime:
          type: string
          format: date-time
          readOnly: true
          example: '2026-01-15T10:30:00Z'
    ItemCreate:
      type: object
      required:
      - displayName
      properties:
        number:
          type: string
          maxLength: 20
          example: example_value
        displayName:
          type: string
          maxLength: 100
          example: example_value
        type:
          type: string
          enum:
          - Inventory
          - Service
          - Non-Inventory
          example: Inventory
        itemCategoryCode:
          type: string
          maxLength: 20
          example: example_value
        blocked:
          type: boolean
          example: true
        gtin:
          type: string
          maxLength: 14
          example: example_value
        unitPrice:
          type: number
          format: decimal
          example: 42.5
        unitCost:
          type: number
          format: decimal
          example: 42.5
        taxGroupCode:
          type: string
          maxLength: 20
          example: example_value
        baseUnitOfMeasureCode:
          type: string
          maxLength: 10
          example: example_value
    ErrorResponse:
      type: object
      properties:
        error:
          type: object
          properties:
            code:
              type: string
              description: A stable error code
            message:
              type: string
              description: A human-readable error message
          example: example_value
  parameters:
    select:
      name: $select
      in: query
      description: Comma-separated list of properties to include in the response
      schema:
        type: string
    ifMatch:
      name: If-Match
      in: header
      required: true
      description: ETag value for optimistic concurrency control
      schema:
        type: string
    skip:
      name: $skip
      in: query
      description: Number of items to skip
      schema:
        type: integer
        minimum: 0
    top:
      name: $top
      in: query
      description: Maximum number of items to return
      schema:
        type: integer
        minimum: 0
    filter:
      name: $filter
      in: query
      description: OData filter expression
      schema:
        type: string
    orderby:
      name: $orderby
      in: query
      description: OData order by expression
      schema:
        type: string
    company_id:
      name: company_id
      in: path
      required: true
      description: The unique identifier of the company
      schema:
        type: string
        format: uuid
    item_id:
      name: item_id
      in: path
      required: true
      description: The unique identifier of the item
      schema:
        type: string
        format: uuid
  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'
    BadRequest:
      description: Bad request - invalid input
      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 APIs
        clientCredentials:
          tokenUrl: https://login.microsoftonline.com/{tenantId}/oauth2/v2.0/token
          scopes:
            https://api.businesscentral.dynamics.com/.default: Access Business Central APIs
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT
      description: Bearer token obtained from Microsoft Entra ID
externalDocs:
  description: Business Central API v2.0 Documentation
  url: https://learn.microsoft.com/en-us/dynamics365/business-central/dev-itpro/api-reference/v2.0/