-
Notifications
You must be signed in to change notification settings - Fork 0
Tools Custom APIs
This page is generated from the code by scripts/gen_wiki_tools.py — do not edit by hand.
13 tools · category token customapis · enable with DATAVERSE_TOOLS=customapis (unset enables every category)
Every tool returns JSON. Errors return {"error": true, "message": "..."}. Write tools require DATAVERSE_ALLOW_WRITE=true; delete tools require DATAVERSE_ALLOW_DELETE=true.
Write · non-idempotent · category customapis
Create a new Custom API record and return its GUID.
Note: uniquename, binding_type, is_function, allowed_custom_processing_step_type, and bound_entity_logical_name are immutable after creation — choose carefully.
| Param | Type | Req | Default | Notes |
|---|---|---|---|---|
| dataverse_url | str |
yes | — | Required Dataverse organization URL for this request (e.g., 'https://yourorg.crm.dynamics.com'). |
| uniquename | str |
yes | — | Unique name for the Custom API. Must include a publisher prefix (e.g., 'contoso_MyCustomAction'). This value is immutable after creation. (min_len=1) |
| name | str |
yes | — | Display name for the Custom API. (min_len=1) |
| displayname | str | None |
no | None |
Localizable display name for the Custom API. Defaults to name when omitted. |
| description | str | None |
no | None |
Description of the Custom API. |
| binding_type | int |
no | 0 |
Binding type for the Custom API (immutable after creation). 0=Global (default), 1=Entity, 2=EntityCollection. (ge=0, le=2) |
| is_function | bool |
no | False |
When True, the Custom API is a Function (GET-style, appears in $metadata). When False (default), it is an Action (POST-style). Immutable after creation. |
| is_private | bool |
no | False |
When True, the Custom API is hidden from $metadata and not discoverable by external callers. Defaults to False. |
| allowed_custom_processing_step_type | int |
no | 0 |
Controls which plug-in processing step types may be registered (immutable after creation). 0=None (default), 1=AsyncOnly, 2=SyncAndAsync. (ge=0, le=2) |
| bound_entity_logical_name | str | None |
no | None |
Logical name of the bound entity (e.g., 'account'). Required when binding_type is 1 (Entity) or 2 (EntityCollection). Immutable after creation. |
Returns {"created": ..., "id": ...}.
Write · non-idempotent · category customapis
Create a new request parameter for a Custom API and return its GUID.
| Param | Type | Req | Default | Notes |
|---|---|---|---|---|
| dataverse_url | str |
yes | — | Required Dataverse organization URL for this request (e.g., 'https://yourorg.crm.dynamics.com'). |
| custom_api_id | str |
yes | — | GUID of the parent Custom API. This value is immutable after creation. |
| uniquename | str |
yes | — | Unique name for the parameter within the Custom API (e.g., 'Target'). Immutable after creation. (min_len=1) |
| type | int |
yes | — | Data type for the parameter (immutable after creation). 0=Boolean, 1=DateTime, 2=Decimal, 3=Entity, 4=EntityCollection, 5=EntityReference, 6=Float, 7=Integer, 8=Money, 9=Picklist, 10=String, 11=StringArray, 12=Guid. (ge=0, le=12) |
| name | str |
yes | — | Display name for the request parameter. (min_len=1) |
| displayname | str | None |
no | None |
Localizable display name. Defaults to name when omitted. |
| description | str | None |
no | None |
Description of the request parameter. |
| is_optional | bool |
no | False |
When True, this parameter is optional for callers. Defaults to False. |
Returns {"created": ..., "id": ...}.
Write · non-idempotent · category customapis
Create a new response property for a Custom API and return its GUID.
| Param | Type | Req | Default | Notes |
|---|---|---|---|---|
| dataverse_url | str |
yes | — | Required Dataverse organization URL for this request (e.g., 'https://yourorg.crm.dynamics.com'). |
| custom_api_id | str |
yes | — | GUID of the parent Custom API. This value is immutable after creation. |
| uniquename | str |
yes | — | Unique name for the response property within the Custom API (e.g., 'Result'). Immutable after creation. (min_len=1) |
| type | int |
yes | — | Data type for the response property (immutable after creation). 0=Boolean, 1=DateTime, 2=Decimal, 3=Entity, 4=EntityCollection, 5=EntityReference, 6=Float, 7=Integer, 8=Money, 9=Picklist, 10=String, 11=StringArray, 12=Guid. (ge=0, le=12) |
| name | str |
yes | — | Display name for the response property. (min_len=1) |
| displayname | str | None |
no | None |
Localizable display name. Defaults to name when omitted. |
| description | str | None |
no | None |
Description of the response property. |
Returns {"created": ..., "id": ...}.
Delete · idempotent · category customapis
Permanently delete a Custom API record by its GUID.
Note: This is irreversible and also cascades to delete all associated request parameters and response properties.
Note: Managed Custom APIs cannot be deleted directly — uninstall via the parent solution.
| Param | Type | Req | Default | Notes |
|---|---|---|---|---|
| dataverse_url | str |
yes | — | Required Dataverse organization URL for this request (e.g., 'https://yourorg.crm.dynamics.com'). |
| custom_api_id | str |
yes | — | GUID of the Custom API record to delete (e.g., 'a1b2c3d4-1234-5678-abcd-ef0123456789'). |
Returns {"deleted": ..., "id": ...}.
Delete · idempotent · category customapis
Permanently delete a Custom API request parameter by its GUID.
Note: This is irreversible.
Note: The parent Custom API is not affected.
| Param | Type | Req | Default | Notes |
|---|---|---|---|---|
| dataverse_url | str |
yes | — | Required Dataverse organization URL for this request (e.g., 'https://yourorg.crm.dynamics.com'). |
| request_parameter_id | str |
yes | — | GUID of the Custom API request parameter record to delete (e.g., 'a1b2c3d4-1234-5678-abcd-ef0123456789'). |
Returns {"deleted": ..., "id": ...}.
Delete · idempotent · category customapis
Permanently delete a Custom API response property by its GUID.
Note: This is irreversible.
Note: The parent Custom API is not affected.
| Param | Type | Req | Default | Notes |
|---|---|---|---|---|
| dataverse_url | str |
yes | — | Required Dataverse organization URL for this request (e.g., 'https://yourorg.crm.dynamics.com'). |
| response_property_id | str |
yes | — | GUID of the Custom API response property record to delete (e.g., 'a1b2c3d4-1234-5678-abcd-ef0123456789'). |
Returns {"deleted": ..., "id": ...}.
Read · idempotent · category customapis
Retrieve a single Custom API record by its GUID, including expanded request parameters and response properties.
| Param | Type | Req | Default | Notes |
|---|---|---|---|---|
| dataverse_url | str |
yes | — | Required Dataverse organization URL for this request (e.g., 'https://yourorg.crm.dynamics.com'). |
| custom_api_id | str |
yes | — | GUID of the Custom API record to retrieve (e.g., 'a1b2c3d4-1234-5678-abcd-ef0123456789'). |
Returns {"custom_api": ...}.
Read · idempotent · category customapis
List request parameter records for a Custom API.
| Param | Type | Req | Default | Notes |
|---|---|---|---|---|
| dataverse_url | str |
yes | — | Required Dataverse organization URL for this request (e.g., 'https://yourorg.crm.dynamics.com'). |
| custom_api_id | str |
yes | — | GUID of the parent Custom API whose request parameters to list. |
| filter | str | None |
no | None |
Additional OData $filter expression to narrow results (e.g., "isoptional eq true"). The parent Custom API filter is always applied automatically. |
| top | int |
no | 50 |
Maximum number of records to return (1–5000). (ge=1, le=5000) |
Returns {"request_parameters": ..., "count": ..., "has_more": ...}.
Read · idempotent · category customapis
List response property records for a Custom API.
| Param | Type | Req | Default | Notes |
|---|---|---|---|---|
| dataverse_url | str |
yes | — | Required Dataverse organization URL for this request (e.g., 'https://yourorg.crm.dynamics.com'). |
| custom_api_id | str |
yes | — | GUID of the parent Custom API whose response properties to list. |
| filter | str | None |
no | None |
Additional OData $filter expression to narrow results (e.g., "type eq 10"). The parent Custom API filter is always applied automatically. |
| top | int |
no | 50 |
Maximum number of records to return (1–5000). (ge=1, le=5000) |
Returns {"response_properties": ..., "count": ..., "has_more": ...}.
Read · idempotent · category customapis
List Custom API records in the Dataverse environment.
| Param | Type | Req | Default | Notes |
|---|---|---|---|---|
| dataverse_url | str |
yes | — | Required Dataverse organization URL for this request (e.g., 'https://yourorg.crm.dynamics.com'). |
| filter | str | None |
no | None |
OData $filter expression to narrow results. Use lowercase logical names (e.g., "isprivate eq false", "isfunction eq true", "bindingtype eq 0"). |
| top | int |
no | 50 |
Maximum number of Custom API records to return (1–5000). (ge=1, le=5000) |
Returns {"custom_apis": ..., "count": ..., "has_more": ...}.
Write · idempotent · category customapis
Partially update a Custom API record (PATCH) — only mutable fields.
Note: Immutable fields (uniquename, bindingtype, isfunction, allowedcustomprocessingsteptype, boundentitylogicalname) cannot be changed after creation.
| Param | Type | Req | Default | Notes |
|---|---|---|---|---|
| dataverse_url | str |
yes | — | Required Dataverse organization URL for this request (e.g., 'https://yourorg.crm.dynamics.com'). |
| custom_api_id | str |
yes | — | GUID of the Custom API record to update. |
| name | str | None |
no | None |
Updated display name. |
| displayname | str | None |
no | None |
Updated localizable display name. |
| description | str | None |
no | None |
Updated description. |
| is_private | bool | None |
no | None |
When provided, sets the isprivate flag. |
| execute_privilege_name | str | None |
no | None |
Privilege name required to execute the Custom API (e.g., 'prvMyPrivilege'). Set to an empty string to clear. |
Returns {"updated": ..., "id": ...}.
Write · idempotent · category customapis
Partially update a Custom API request parameter (PATCH) — mutable fields only.
Note: Immutable fields (uniquename, customapiid, type, logicalentityname) cannot be changed.
| Param | Type | Req | Default | Notes |
|---|---|---|---|---|
| dataverse_url | str |
yes | — | Required Dataverse organization URL for this request (e.g., 'https://yourorg.crm.dynamics.com'). |
| request_parameter_id | str |
yes | — | GUID of the Custom API request parameter record to update. |
| name | str | None |
no | None |
Updated display name. |
| displayname | str | None |
no | None |
Updated localizable display name. |
| description | str | None |
no | None |
Updated description. |
| is_optional | bool | None |
no | None |
When provided, updates the isoptional flag. |
Returns {"updated": ..., "id": ...}.
Write · idempotent · category customapis
Partially update a Custom API response property (PATCH) — mutable fields only.
Note: Immutable fields (uniquename, customapiid, type, logicalentityname) cannot be changed.
| Param | Type | Req | Default | Notes |
|---|---|---|---|---|
| dataverse_url | str |
yes | — | Required Dataverse organization URL for this request (e.g., 'https://yourorg.crm.dynamics.com'). |
| response_property_id | str |
yes | — | GUID of the Custom API response property record to update. |
| name | str | None |
no | None |
Updated display name. |
| displayname | str | None |
no | None |
Updated localizable display name. |
| description | str | None |
no | None |
Updated description. |
Returns {"updated": ..., "id": ...}.
dataverse-mcp 3.9.1 — Repository · PyPI · Issues · Changelog · MIT
Get started
Configure
Tools
- Tool-Index
- Tools-Core
- Tools-Schema
- Tools-Solutions
- Tools-Plugins
- Tools-Security
- Tools-Custom-APIs
- Tools-Apps
- Tools-Variables
- Tools-Flows
- Tools-Views
- Tools-Forms
- Tools-Connections
- Tools-Web-Resources
- Tools-Jobs
Understand