openapi: 3.0.3 info: title: Microsoft Dynamics 365 Business Central Accounts Vendors API description: The Microsoft Dynamics 365 Business Central API (v2.0) provides a RESTful interface for integrating with Business Central. It exposes standard business entities such as customers, vendors, items, sales orders, purchase orders, journals, and general ledger entries. The API uses OData v4 conventions and requires Microsoft Entra ID (Azure AD) authentication. version: '2.0' contact: name: Microsoft url: https://learn.microsoft.com/en-us/dynamics365/business-central/dev-itpro/api-reference/v2.0/ license: name: Microsoft APIs Terms of Use url: https://learn.microsoft.com/en-us/legal/microsoft-apis/terms-of-use servers: - url: https://api.businesscentral.dynamics.com/v2.0/{tenantId}/{environment}/api/v2.0 description: Business Central Online (SaaS) variables: tenantId: default: common description: The Azure AD tenant ID or domain name. environment: default: production description: The Business Central environment name. - url: https://{baseUrl}:{port}/{serverInstance}/api/v2.0 description: Business Central On-Premises variables: baseUrl: default: localhost port: default: '7048' serverInstance: default: bc security: - oauth2: [] tags: - name: Vendors paths: /companies({companyId})/vendors: get: summary: Microsoft Dynamics List vendors description: Returns a list of vendor records. operationId: listVendors tags: - Vendors parameters: - $ref: '#/components/parameters/companyId' - $ref: '#/components/parameters/top' - $ref: '#/components/parameters/skip' - $ref: '#/components/parameters/filter' - $ref: '#/components/parameters/select' responses: '200': description: A list of vendors. content: application/json: schema: type: object properties: value: type: array items: $ref: '#/components/schemas/Vendor' post: summary: Microsoft Dynamics Create a vendor description: Creates a new vendor record. operationId: createVendor tags: - Vendors parameters: - $ref: '#/components/parameters/companyId' requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/Vendor' responses: '201': description: The created vendor. content: application/json: schema: $ref: '#/components/schemas/Vendor' /Vendors: get: summary: Microsoft Dynamics List vendors description: Retrieves the collection of vendor data entities. operationId: listVendors tags: - Vendors parameters: - $ref: '#/components/parameters/top_2' - $ref: '#/components/parameters/skip' - $ref: '#/components/parameters/filter' - $ref: '#/components/parameters/select' - $ref: '#/components/parameters/orderby' - $ref: '#/components/parameters/crossCompany' responses: '200': description: A collection of vendor entities. content: application/json: schema: type: object properties: value: type: array items: $ref: '#/components/schemas/VendorEntity' post: summary: Microsoft Dynamics Create a vendor description: Creates a new vendor data entity. operationId: createVendor tags: - Vendors requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/VendorEntity' responses: '201': description: The created vendor entity. content: application/json: schema: $ref: '#/components/schemas/VendorEntity' components: parameters: top_2: name: $top in: query description: Maximum number of records to return (max 10000). schema: type: integer filter: name: $filter in: query description: OData filter expression. schema: type: string select: name: $select in: query description: Comma-separated list of properties to include. schema: type: string crossCompany: name: cross-company in: query description: Set to true to retrieve data across all legal entities. schema: type: boolean companyId: name: companyId in: path required: true description: The ID of the company. schema: type: string format: uuid skip: name: $skip in: query description: Number of records to skip. schema: type: integer top: name: $top in: query description: Maximum number of records to return. schema: type: integer orderby: name: $orderby in: query description: Comma-separated list of properties to sort by. schema: type: string schemas: Vendor: type: object properties: id: type: string format: uuid readOnly: true number: type: string displayName: type: string addressLine1: type: string addressLine2: type: string city: type: string state: type: string country: type: string postalCode: type: string phoneNumber: type: string email: type: string website: type: string taxRegistrationNumber: type: string currencyCode: type: string balance: type: number format: decimal readOnly: true lastModifiedDateTime: type: string format: date-time readOnly: true VendorEntity: type: object properties: VendorAccountNumber: type: string VendorGroupId: type: string VendorOrganizationName: type: string AddressStreet: type: string AddressCity: type: string AddressState: type: string AddressZipCode: type: string AddressCountryRegionId: type: string PrimaryContactPhone: type: string PrimaryContactEmail: type: string PurchaseCurrencyCode: type: string PaymentTermsName: type: string dataAreaId: type: string securitySchemes: oauth2: type: oauth2 description: Microsoft Entra ID (Azure AD) OAuth 2.0 authentication. flows: authorizationCode: authorizationUrl: https://login.microsoftonline.com/common/oauth2/v2.0/authorize tokenUrl: https://login.microsoftonline.com/common/oauth2/v2.0/token scopes: https://api.businesscentral.dynamics.com/.default: Access Business Central API