Microsoft Dynamics 365 Sales Accounts API
Account (customer organization) records
Account (customer organization) records
openapi: 3.1.0
info:
title: Microsoft Dataverse Web API (Dynamics 365 Sales) Accounts API
description: 'OData v4 RESTful Web API for Microsoft Dataverse, the platform behind
Dynamics 365 Sales. Used to create, read, update, and delete Dynamics
365 Sales records (accounts, contacts, leads, opportunities, quotes,
orders, invoices, products, tasks) and to invoke bound and unbound
actions and functions. Authentication uses OAuth 2.0 bearer tokens
issued by Microsoft Entra ID; the endpoint is per-environment, for
example https://{org}.api.crm.dynamics.com/api/data/v9.2/.
'
version: v9.2
contact:
name: Kin Lane
email: kin@apievangelist.com
license:
name: Microsoft Terms of Use
url: https://www.microsoft.com/en-us/legal/terms-of-use
servers:
- url: https://{org}.api.crm.dynamics.com/api/data/v9.2
description: Dataverse environment endpoint
variables:
org:
default: contoso
description: Dataverse organization (environment) prefix
security:
- oauth2: []
tags:
- name: Accounts
description: Account (customer organization) records
paths:
/accounts:
get:
tags:
- Accounts
summary: Query accounts
operationId: accounts_list
parameters:
- $ref: '#/components/parameters/select'
- $ref: '#/components/parameters/filter'
- $ref: '#/components/parameters/expand'
- $ref: '#/components/parameters/orderby'
- $ref: '#/components/parameters/top'
- $ref: '#/components/parameters/odataMaxVersion'
- $ref: '#/components/parameters/odataVersion'
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/AccountCollection'
post:
tags:
- Accounts
summary: Create an account
operationId: accounts_create
parameters:
- $ref: '#/components/parameters/odataMaxVersion'
- $ref: '#/components/parameters/odataVersion'
- $ref: '#/components/parameters/prefer'
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/Account'
responses:
'204':
description: No Content (with OData-EntityId header)
'201':
description: Created (with return=representation Prefer header)
content:
application/json:
schema:
$ref: '#/components/schemas/Account'
/accounts({accountid}):
get:
tags:
- Accounts
summary: Get an account
operationId: accounts_get
parameters:
- $ref: '#/components/parameters/accountId'
- $ref: '#/components/parameters/select'
- $ref: '#/components/parameters/expand'
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/Account'
patch:
tags:
- Accounts
summary: Update an account
operationId: accounts_update
parameters:
- $ref: '#/components/parameters/accountId'
- $ref: '#/components/parameters/ifMatch'
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/Account'
responses:
'204':
description: No Content
delete:
tags:
- Accounts
summary: Delete an account
operationId: accounts_delete
parameters:
- $ref: '#/components/parameters/accountId'
responses:
'204':
description: No Content
components:
parameters:
expand:
name: $expand
in: query
schema:
type: string
odataVersion:
name: OData-Version
in: header
schema:
type: string
default: '4.0'
accountId:
name: accountid
in: path
required: true
schema:
type: string
format: uuid
select:
name: $select
in: query
schema:
type: string
filter:
name: $filter
in: query
schema:
type: string
ifMatch:
name: If-Match
in: header
schema:
type: string
orderby:
name: $orderby
in: query
schema:
type: string
prefer:
name: Prefer
in: header
description: Set to "return=representation" to receive the created record in the response
schema:
type: string
odataMaxVersion:
name: OData-MaxVersion
in: header
schema:
type: string
default: '4.0'
top:
name: $top
in: query
schema:
type: integer
schemas:
AccountCollection:
type: object
properties:
'@odata.context':
type: string
value:
type: array
items:
$ref: '#/components/schemas/Account'
'@odata.nextLink':
type: string
Account:
type: object
properties:
accountid:
type: string
format: uuid
name:
type: string
accountnumber:
type: string
accountcategorycode:
type: integer
creditonhold:
type: boolean
revenue:
type: number
format: double
description:
type: string
address1_line1:
type: string
address1_city:
type: string
address1_country:
type: string
address1_latitude:
type: number
format: double
telephone1:
type: string
emailaddress1:
type: string
websiteurl:
type: string
primarycontactid@odata.bind:
type: string
description: Associate to existing contact via /contacts(guid)
createdon:
type: string
format: date-time
modifiedon:
type: string
format: date-time
securitySchemes:
oauth2:
type: oauth2
description: Microsoft Entra ID OAuth 2.0 bearer token
flows:
authorizationCode:
authorizationUrl: https://login.microsoftonline.com/common/oauth2/v2.0/authorize
tokenUrl: https://login.microsoftonline.com/common/oauth2/v2.0/token
scopes:
https://{org}.api.crm.dynamics.com/.default: Dataverse environment access
clientCredentials:
tokenUrl: https://login.microsoftonline.com/common/oauth2/v2.0/token
scopes:
https://{org}.api.crm.dynamics.com/.default: Service-to-service access