Power Apps portals Web API support (public preview)
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