Skip to main content

Power Apps portals Web API support (public preview)

Headshot of article author Neeraj Nandwana

Portals Web API enables building a richer user experience inside Power Apps portals pages. You can use Web API to create, update, and delete operations across Common Data Service entities (excluding configuration entities) from your portal pages.

Preview capabilities

The feature provides the following capabilities during this public preview:

  • Create an entity
  • Update an entity
  • Delete an entity
  • Associate and disassociate entities

How to get started?

Please note that your portal version must be 9.2.6.41 or later for this feature to work.

Web APIs will be disabled by default for the entities and users have to enable it for each entity using site settings. If you’re trying to perform action on multiple entities in single call, then please make sure all of these entities and respective fields are enabled.

Create an entity

Operation Method URI JSON Sample
Basic create POST [Portal URI]/_api/accounts {“name”:”Sample Account”}

Update an entity

Operation Method URI JSON Sample
Basic update PATCH [Portal URI]/_api/accounts(00000000-0000-0000-0000-000000000001) { “name”: “Updated Sample Account “, “creditonhold”: true, “address1_latitude”: 47.639583, “description”: “This is the updated description of the sample account”, “revenue”: 6000000, “accountcategorycode”: 2 }
Update a single property value PUT [Portal URI]/_api/accounts(00000000-0000-0000-0000-000000000001)/name {“value”: “Updated Sample Account Name”}

Delete an entity

Operation Method URI
Basic delete DELETE [Portal URI]/_api/accounts(00000000-0000-0000-0000-000000000001)
Delete a single property value DELETE [Portal URI]/_api/accounts(00000000-0000-0000-0000-000000000001)/description

Associate and disassociate entities

Operation Method URI JSON Sample
Add a reference to a collection-valued navigation property POST [Portal URI]/_api/accounts(00000000-0000-0000-0000-000000000002)/opportunity_customer_accounts/$ref {“@odata.id”:”[Portal URI]/_api/opportunities(00000000-0000-0000-0000-000000000001)”}
Remove a reference to an entity DELETE [Portal URI]/_api/accounts(00000000-0000-0000-0000-000000000002)/opportunity_customer_accounts/$ref?$id=[Portal URI]/_api/opportunities(00000000-0000-0000-0000-000000000001)
Remove a reference to an entity for a single-valued navigation property DELETE [Portal URI]/_api/opportunities(00000000-0000-0000-0000-000000000001)/customerid_account/$ref
Change the reference in a single-valued navigation property PUT [Portal URI]/_api/opportunities(00000000-0000-0000-0000-000000000001)/customerid_account/$ref {“@odata.id”:”[Portal URI]/_api/accounts(00000000-0000-0000-0000-000000000002)”}

Security

Portals Web API access entity records and follow portal’s entity permissions, and these entity permissions get enforce to users through web role.

Sample Code

We are looking forward to your feedback as we march towards GA

Your feedback will help us continue to build on and improve the capabilities of this feature. We want to hear from you!

See documentation here for detailed overview.

 

Thank you,

Neeraj Nandwana