CustomAPI Table Columns

This table includes selected columns/attributes of a Custom API table/entity that you can set.

Display Name
Schema Name
Logical Name
Type Description
Allowed Custom Processing Step Type
AllowedCustomProcessingStepType
allowedcustomprocessingsteptype
Choice
Picklist
The type of custom processing steps allowed for this Custom API. This allows you to control whether other plug-ins can be registered
  • Value: 0 Label: None Meaning: No custom processing steps allowed.
  • Value: 1 Label: Async Only Meaning: Only asynchronous custom processing steps allowed
  • Value: 2 Label: Sync and Async Meaning: No restriction. 3rd party plug-ins can add synchronous logic to change the behavior of the message.
Cannot be changed after it is saved.
Binding Type
BindingType
bindingtype
Choice
Picklist
The binding type of the custom API.
  • Value: 0 Label: Global
  • Value: 1 Label: Entity
  • Value: 2 Label: EntityCollection
Cannot be changed after it is saved.
Bound Entity Logical Name
BoundEntityLogicalName
boundentitylogicalname
Text
String
The logical name of the entity bound to the custom API if it is not Global.
Cannot be changed after it is saved.
Custom API
CustomAPIId
customapiid
Unique Identifier
Guid
Unique Identifier for custom API instances
Cannot be changed after it is saved.
Description
Description
description
Text
String
Localized description for this Custom API. For use when the message is exposed to be called in an app. For example, as a ToolTip.
Display Name
DisplayName
displayname
Text
String
Localized display name for this Custom API. For use when the message is exposed to be called in an app.
Execute Privilege Name
ExecutePrivilegeName
executeprivilegename
Text
String
(Optional) Name of the privilege that allows execution of the custom API
Is Customizable
IsCustomizable
iscustomizable
ManagedProperty Whether the Custom API can be customized or deleted when part of a managed solution.
Is Function
IsFunction
isfunction
Yes/No
Boolean
Indicates if the custom API is a function. A function requires the HTTP GET method. Otherwise the Http POST method is required.
  • Value: 0 Label: No
  • Value: 1 Label: Yes
Important: A function MUST include at least one Response Property to be valid.
More information: Use Web API functions
Cannot be changed after it is saved.
Is Private
IsPrivate
isprivate
Yes/No
Boolean
Indicates if the custom API is private (hidden from metadata and documentation) More information: Private Messages
  • Value: 0 Label: No
  • Value: 1 Label: Yes
Name
Name
name
Text
String
The primary name of the custom API. This will display in the list of custom apis when viewed in the solution.
Owner
OwnerId
ownerid
Owner A reference to the user or team that owns the API.
Plugin Type
PluginTypeId
plugintypeid
Lookup A reference to the plug-in type that provides the main operation for this Custom API
Unique Name
UniqueName
uniquename
Text
String
Unique name for the custom API. This will be the name of the message created.
This value must include a customization prefix that matches the prefix set for your solution publisher.
Cannot be changed after it is saved.

Note

Some values are not valid for update. They cannot be changed after the Custom API is saved. You should have a clear understanding of how your API should work before you begin. If you need to change any values that are not valid for update, you will have to delete the Custom API entity record and start over. Deleting the Custom API record will delete any Custom API Request Parameters or Custom API Response Properties associated with it.

Set the Execute Privilege Name property to the name of the privilege to require it. There is currently no supported way for developers outside of Microsoft to create new privileges, but an existing privilege can be used. More information: Q: Can I create a new privilege for my Custom API?

If you do not set the Plugin Type (PluginTypeId) to specify main operation logic the API can still be called. You might want to do this as a testing step, but any output parameter values will return the default values for the type because there is no code to set them.

See also

CustomAPI table/entity reference
Create and use Custom APIs
Create a Custom API with code
Create a Custom API with solution files
Create your own messages

Note

Can you tell us about your documentation language preferences? Take a short survey.

The survey will take about seven minutes. No personal data is collected (privacy statement).