Skip to main content

Entities

Entities define which Dynamics 365 entities are exposed through the API and what operations are available for each entity.

Entity Configuration

When you add an entity to a module, you configure which operations (actions) are available:

OperationHTTP MethodDescription
CreatePOSTCreate new records
UpdatePUT/PATCHModify existing records
ReadGETRetrieve single record by ID
DeleteDELETERemove records
UploadPOSTUpload files/attachments
DownloadGETDownload files/attachments
Process ActionsPOSTExecute custom actions
Local Option SetsGETRetrieve entity-specific option sets

Entity Actions

Each entity can have multiple actions configured. Actions define:

  • Endpoint Name: The URL path for the action
  • Documentation: Title and description for API documentation
  • Inputs: Parameters accepted by the action
  • Data Fetcher: Pre-fetch queries for dependent data
  • Access Control: Authorization and pre-conditions
  • Entity Properties: Field mappings for create/update

Entity Structure in API Studio

Entity: Account
├── Definition
│ └── Endpoint: accounts
├── Actions:
│ ├── Create Action
│ │ ├── Definition
│ │ ├── Documentation
│ │ ├── Inputs
│ │ ├── Data Fetcher
│ │ ├── Access Control
│ │ └── Entity Properties
│ ├── Update Action
│ │ └── (similar structure)
│ ├── Read Action
│ │ └── (similar structure)
│ ├── Delete Action
│ │ └── (similar structure)
│ ├── Upload Actions
│ │ └── (for file uploads)
│ ├── Download Actions
│ │ └── (for file downloads)
│ └── Process Actions
│ └── (entity-bound custom actions)
└── Local Option Sets
└── (entity-specific picklists)

Generated API Endpoints

For an entity named "Account" in the "Sales" module, FlowOn generates these endpoints:

OperationEndpointDescription
CreatePOST /api/sales/accountsCreate new account
UpdatePUT /api/sales/accounts/{id}Update account
ReadGET /api/sales/accounts/{id}Get account by ID
DeleteDELETE /api/sales/accounts/{id}Delete account
UploadPOST /api/sales/accounts/{id}/uploadUpload attachment
DownloadGET /api/sales/accounts/{id}/downloadDownload attachment
ProcessPOST /api/sales/accounts/{id}/actions/{action}Execute action
Option SetsGET /api/sales/accounts/optionsets/{name}Get option set

Local Option Sets

Local Option Sets expose entity-specific (local) option sets through dedicated endpoints.

Entity: Account
Local Option Sets:

├── accountcategorycode
│ └── Endpoint: /api/sales/accounts/optionsets/category

├── accountclassificationcode
│ └── Endpoint: /api/sales/accounts/optionsets/classification

└── customertypecode
└── Endpoint: /api/sales/accounts/optionsets/customer-type

Access Control:
└── Authorization Policy:
└── Type: Demand Authenticated User

API Request:

GET /api/sales/accounts/optionsets/category?lcid=1033

API Response (200 OK):

[
{
"name": "Preferred Customer",
"value": 1
},
{
"name": "Standard",
"value": 2
}
]

Local option sets support the same lcid parameter as global option sets for localization.