Microsoft Dynamics NAV Vendors API

Manage vendor records

Operations 5

GET /companies({company_id})/vendors List Vendors #
POST /companies({company_id})/vendors Create a Vendor #
GET /companies({company_id})/vendors({vendor_id}) Get a Vendor #
PATCH /companies({company_id})/vendors({vendor_id}) Update a Vendor #
DELETE /companies({company_id})/vendors({vendor_id}) Delete a Vendor #

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-vendors-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-vendors-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Dynamics 365 Business Central API v2.0 Vendors 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: Vendors
  description: Manage vendor records
paths:
  /companies({company_id})/vendors:
    get:
      summary: List Vendors
      description: Returns a list of vendor objects from the specified company.
      operationId: listVendors
      tags:
      - Vendors
      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 vendors
          content:
            application/json:
              schema:
                type: object
                properties:
                  value:
                    type: array
                    items:
                      $ref: '#/components/schemas/Vendor'
              examples:
                Listvendors200Example:
                  summary: Default listVendors 200 response
                  x-microcks-default: true
                  value:
                    value:
                    - '@odata.etag': example_value
                      id: abc123
                      number: example_value
                      displayName: example_value
                      addressLine1: example_value
                      addressLine2: example_value
                      city: example_value
                      state: example_value
                      country: example_value
                      postalCode: example_value
                      phoneNumber: example_value
                      email: user@example.com
                      website: example_value
                      taxRegistrationNumber: example_value
                      currencyId: '500123'
                      currencyCode: example_value
                      paymentTermsId: '500123'
                      paymentMethodId: '500123'
                      taxLiable: true
                      blocked: ' '
                      balance: 42.5
                      lastModifiedDateTime: '2026-01-15T10:30:00Z'
        '401':
          $ref: '#/components/responses/Unauthorized'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
    post:
      summary: Create a Vendor
      description: Creates a new vendor object in the specified company.
      operationId: createVendor
      tags:
      - Vendors
      parameters:
      - $ref: '#/components/parameters/company_id'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/VendorCreate'
            examples:
              CreatevendorRequestExample:
                summary: Default createVendor request
                x-microcks-default: true
                value:
                  number: example_value
                  displayName: example_value
                  addressLine1: example_value
                  addressLine2: example_value
                  city: example_value
                  state: example_value
                  country: example_value
                  postalCode: example_value
                  phoneNumber: example_value
                  email: user@example.com
                  website: example_value
                  taxRegistrationNumber: example_value
                  currencyCode: example_value
                  taxLiable: true
                  blocked: ' '
      responses:
        '201':
          description: Vendor created successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Vendor'
              examples:
                Createvendor201Example:
                  summary: Default createVendor 201 response
                  x-microcks-default: true
                  value:
                    '@odata.etag': example_value
                    id: abc123
                    number: example_value
                    displayName: example_value
                    addressLine1: example_value
                    addressLine2: example_value
                    city: example_value
                    state: example_value
                    country: example_value
                    postalCode: example_value
                    phoneNumber: example_value
                    email: user@example.com
                    website: example_value
                    taxRegistrationNumber: example_value
                    currencyId: '500123'
                    currencyCode: example_value
                    paymentTermsId: '500123'
                    paymentMethodId: '500123'
                    taxLiable: true
                    blocked: ' '
                    balance: 42.5
                    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})/vendors({vendor_id}):
    get:
      summary: Get a Vendor
      description: Retrieves a specific vendor by ID.
      operationId: getVendor
      tags:
      - Vendors
      parameters:
      - $ref: '#/components/parameters/company_id'
      - $ref: '#/components/parameters/vendor_id'
      - $ref: '#/components/parameters/select'
      responses:
        '200':
          description: Successfully retrieved vendor
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Vendor'
              examples:
                Getvendor200Example:
                  summary: Default getVendor 200 response
                  x-microcks-default: true
                  value:
                    '@odata.etag': example_value
                    id: abc123
                    number: example_value
                    displayName: example_value
                    addressLine1: example_value
                    addressLine2: example_value
                    city: example_value
                    state: example_value
                    country: example_value
                    postalCode: example_value
                    phoneNumber: example_value
                    email: user@example.com
                    website: example_value
                    taxRegistrationNumber: example_value
                    currencyId: '500123'
                    currencyCode: example_value
                    paymentTermsId: '500123'
                    paymentMethodId: '500123'
                    taxLiable: true
                    blocked: ' '
                    balance: 42.5
                    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 a Vendor
      description: Updates an existing vendor object.
      operationId: updateVendor
      tags:
      - Vendors
      parameters:
      - $ref: '#/components/parameters/company_id'
      - $ref: '#/components/parameters/vendor_id'
      - $ref: '#/components/parameters/ifMatch'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/VendorUpdate'
            examples:
              UpdatevendorRequestExample:
                summary: Default updateVendor request
                x-microcks-default: true
                value:
                  displayName: example_value
                  addressLine1: example_value
                  addressLine2: example_value
                  city: example_value
                  state: example_value
                  country: example_value
                  postalCode: example_value
                  phoneNumber: example_value
                  email: user@example.com
                  website: example_value
                  taxLiable: true
                  blocked: ' '
      responses:
        '200':
          description: Vendor updated successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Vendor'
              examples:
                Updatevendor200Example:
                  summary: Default updateVendor 200 response
                  x-microcks-default: true
                  value:
                    '@odata.etag': example_value
                    id: abc123
                    number: example_value
                    displayName: example_value
                    addressLine1: example_value
                    addressLine2: example_value
                    city: example_value
                    state: example_value
                    country: example_value
                    postalCode: example_value
                    phoneNumber: example_value
                    email: user@example.com
                    website: example_value
                    taxRegistrationNumber: example_value
                    currencyId: '500123'
                    currencyCode: example_value
                    paymentTermsId: '500123'
                    paymentMethodId: '500123'
                    taxLiable: true
                    blocked: ' '
                    balance: 42.5
                    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 a Vendor
      description: Deletes a vendor by ID.
      operationId: deleteVendor
      tags:
      - Vendors
      parameters:
      - $ref: '#/components/parameters/company_id'
      - $ref: '#/components/parameters/vendor_id'
      responses:
        '204':
          description: Vendor deleted successfully
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
components:
  parameters:
    select:
      name: $select
      in: query
      description: Comma-separated list of properties to include in the response
      schema:
        type: string
    top:
      name: $top
      in: query
      description: Maximum number of items to return
      schema:
        type: integer
        minimum: 0
    ifMatch:
      name: If-Match
      in: header
      required: true
      description: ETag value for optimistic concurrency control
      schema:
        type: string
    vendor_id:
      name: vendor_id
      in: path
      required: true
      description: The unique identifier of the vendor
      schema:
        type: string
        format: uuid
    skip:
      name: $skip
      in: query
      description: Number of items to skip
      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
  schemas:
    Vendor:
      type: object
      properties:
        '@odata.etag':
          type: string
          example: example_value
        id:
          type: string
          format: uuid
          description: The unique identifier of the vendor
          example: abc123
        number:
          type: string
          description: The vendor number
          maxLength: 20
          example: example_value
        displayName:
          type: string
          description: The vendor display name
          maxLength: 100
          example: example_value
        addressLine1:
          type: string
          description: First line of the address
          maxLength: 100
          example: example_value
        addressLine2:
          type: string
          description: Second line of the address
          maxLength: 50
          example: example_value
        city:
          type: string
          description: The city
          maxLength: 30
          example: example_value
        state:
          type: string
          description: The state or province code
          maxLength: 20
          example: example_value
        country:
          type: string
          description: The country/region code
          maxLength: 10
          example: example_value
        postalCode:
          type: string
          description: The postal code
          maxLength: 20
          example: example_value
        phoneNumber:
          type: string
          description: The phone number
          maxLength: 30
          example: example_value
        email:
          type: string
          description: The email address
          maxLength: 80
          example: user@example.com
        website:
          type: string
          description: The website URL
          maxLength: 80
          example: example_value
        taxRegistrationNumber:
          type: string
          description: The tax registration number
          maxLength: 20
          example: example_value
        currencyId:
          type: string
          format: uuid
          description: The currency ID
          example: '500123'
        currencyCode:
          type: string
          description: The currency code
          maxLength: 10
          example: example_value
        paymentTermsId:
          type: string
          format: uuid
          description: The payment terms ID
          example: '500123'
        paymentMethodId:
          type: string
          format: uuid
          description: The payment method ID
          example: '500123'
        taxLiable:
          type: boolean
          description: Whether the vendor is tax liable
          example: true
        blocked:
          type: string
          description: Whether the vendor is blocked
          enum:
          - ' '
          - Payment
          - All
          example: ' '
        balance:
          type: number
          format: decimal
          description: The vendor balance
          readOnly: true
          example: 42.5
        lastModifiedDateTime:
          type: string
          format: date-time
          readOnly: true
          example: '2026-01-15T10:30:00Z'
    VendorUpdate:
      type: object
      properties:
        displayName:
          type: string
          maxLength: 100
          example: example_value
        addressLine1:
          type: string
          maxLength: 100
          example: example_value
        addressLine2:
          type: string
          maxLength: 50
          example: example_value
        city:
          type: string
          maxLength: 30
          example: example_value
        state:
          type: string
          maxLength: 20
          example: example_value
        country:
          type: string
          maxLength: 10
          example: example_value
        postalCode:
          type: string
          maxLength: 20
          example: example_value
        phoneNumber:
          type: string
          maxLength: 30
          example: example_value
        email:
          type: string
          maxLength: 80
          example: user@example.com
        website:
          type: string
          maxLength: 80
          example: example_value
        taxLiable:
          type: boolean
          example: true
        blocked:
          type: string
          enum:
          - ' '
          - Payment
          - All
          example: ' '
    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
    VendorCreate:
      type: object
      required:
      - displayName
      properties:
        number:
          type: string
          maxLength: 20
          example: example_value
        displayName:
          type: string
          maxLength: 100
          example: example_value
        addressLine1:
          type: string
          maxLength: 100
          example: example_value
        addressLine2:
          type: string
          maxLength: 50
          example: example_value
        city:
          type: string
          maxLength: 30
          example: example_value
        state:
          type: string
          maxLength: 20
          example: example_value
        country:
          type: string
          maxLength: 10
          example: example_value
        postalCode:
          type: string
          maxLength: 20
          example: example_value
        phoneNumber:
          type: string
          maxLength: 30
          example: example_value
        email:
          type: string
          maxLength: 80
          example: user@example.com
        website:
          type: string
          maxLength: 80
          example: example_value
        taxRegistrationNumber:
          type: string
          maxLength: 20
          example: example_value
        currencyCode:
          type: string
          maxLength: 10
          example: example_value
        taxLiable:
          type: boolean
          example: true
        blocked:
          type: string
          enum:
          - ' '
          - Payment
          - All
          example: ' '
  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/