A developer creates a custom API that recalculates priority for a set of case rows and should be invoked against the cases entity set in the Web API, as in /api/data/v9.2/incidents/Microsoft.Dynamics.CRM.contoso_RecalcPriority. Which binding type should the developer select?
Select an answer to reveal the explanation.
Short Explanation
Binding is just where the operation hangs in the URL. Hanging it off a single row is Entity, off the whole entity set is EntityCollection, and off nothing is Global. Your URL ends in /incidents/, the set, so it's EntityCollection.
Full Explanation
Binding is an OData concept that associates an operation with a table. A custom API with BindingType EntityCollection and BoundEntityLogicalName incident is invoked by appending its fully qualified name to the incident entity set, which is exactly the URL in the scenario. The binding adds that addressing requirement but does not create a parameter representing the collection, so the rows to process are passed through request parameters or determined by the logic. Entity binding attaches the operation to a single row and is invoked against a specific record such as incidents(id), with Dataverse automatically creating a Target request parameter of type EntityReference; it does not match a call made against the entity set. Global binding means the operation is not associated with any table and is called at the service root, so pairing Global with a bound table is contradictory, and a Global API cannot be addressed under the incidents path. A Global API with no bound table could deliver the same function through parameters, but it would be called at /api/data/v9.2/contoso_RecalcPriority, not on the entity set the requirement specifies. Exam caveat: BindingType cannot be changed after the custom API is saved, and bound operations must use the Microsoft.Dynamics.CRM namespace prefix in the Web API. Operational check: call the URL with POST and confirm the operation resolves, then confirm a call at the service root fails.