Skip to main content

CustomApiAttribute

  • Namespace: PPDS.Plugins
  • Assembly: PPDS.Plugins
  • Kind: Class
  • Base: Attribute

Summary

Defines Custom API registration configuration. Apply to plugin classes to specify how the Custom API should be registered in Dataverse. Only one Custom API can be defined per class.

Members

Constructors

CustomApiAttribute()

CustomApiAttribute()

Initializes a new instance of the CustomApiAttribute class.

Properties

AllowedProcessingStepType

ApiProcessingStepType AllowedProcessingStepType { get; set; }

Gets or sets the type of processing steps allowed for this Custom API. Controls whether synchronous and/or asynchronous plug-in steps can be registered. Default: None.

BindingType

ApiBindingType BindingType { get; set; }

Gets or sets the binding type that determines whether the API is global, entity-bound, or entity-collection-bound. Default: Global.

BoundEntity

string BoundEntity { get; set; }

Gets or sets the logical name of the entity this API is bound to. Only applicable when BindingType is Entity or EntityCollection.

Description

string Description { get; set; }

Gets or sets a description of what this Custom API does. Stored as metadata in Dataverse and displayed in the UI.

DisplayName

string DisplayName { get; set; }

Gets or sets the display name of the Custom API shown in the Dataverse UI. Required.

ExecutePrivilegeName

string ExecutePrivilegeName { get; set; }

Gets or sets the name of the privilege required to execute this Custom API. If specified, only users with this privilege can invoke the API.

IsFunction

bool IsFunction { get; set; }

Gets or sets whether this Custom API is a function (returns a value without side effects) or an action (may have side effects). Default: false (action).

IsPrivate

bool IsPrivate { get; set; }

Gets or sets whether this Custom API is private. Private APIs are not visible in the Web API $metadata document. Default: false.

Name

string Name { get; set; }

Gets or sets the logical name of the Custom API. If not specified, the UniqueName is used.

UniqueName

string UniqueName { get; set; }

Gets or sets the unique name of the Custom API. Must include a publisher prefix (e.g., "ppds_MyCustomApi"). Required.