Skip to content

Commit 16c0b6f

Browse files
authored
Merge pull request #6232 from MicrosoftDocs/jdaly-web-api-types-operations-re-write
Jdaly web api types operations re write
2 parents 7bf1949 + b8cd0d9 commit 16c0b6f

23 files changed

+1022
-377
lines changed

powerapps-docs/developer/data-platform/create-custom-api-maker-portal.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
title: "Create a Custom API in Power Apps (Microsoft Dataverse) | Microsoft Docs" # Intent and product brand in a unique string of 43-59 chars including spaces
33
description: "Create a Custom API definition with the maker portal" # 115-145 characters including spaces. This abstract displays in the search result.
44
ms.custom: ""
5-
ms.date: 03/21/2022
5+
ms.date: 04/19/2022
66
ms.reviewer: "jdaly"
77
ms.topic: "article"
88
author: "divka78" # GitHub ID
@@ -71,7 +71,7 @@ For example, if your Custom API Unique name is `sample_CustomAPIExample`, it wil
7171

7272
## Observe the result in the service document
7373

74-
If you haven't set the `IsPrivate` property for your Custom API, you can now retrieve the service definition from the [CSDL $metadata document](webapi/web-api-types-operations.md#csdl-metadata-document) using a GET request, even from your browser. If the url for your environment is `https://yourorg.crm.dynamics.com`, you can type this URL in your browser address field to retrieve the $metadata: `https://yourorg.crm.dynamics.com/api/data/v9.1/$metadata`.
74+
If you haven't set the `IsPrivate` property for your Custom API, you can now retrieve the service definition from the [CSDL $metadata document](webapi/web-api-service-documents.md#csdl-metadata-document) using a `GET` request, even from your browser. If the url for your environment is `https://yourorg.crm.dynamics.com`, you can type this URL in your browser address field to retrieve the $metadata: `https://yourorg.crm.dynamics.com/api/data/v9.1/$metadata`.
7575

7676
Search the result to find the name of the Custom API. For example, the API defined using the steps above looks like this:
7777

powerapps-docs/developer/data-platform/create-custom-api-prt.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
---
22
title: "Create a Custom API using the plug-in registration tool (Microsoft Dataverse) | Microsoft Docs" # Intent and product brand in a unique string of 43-59 chars including spaces
33
description: "Create a Custom API using the plug-in registration tool" # 115-145 characters including spaces. This abstract displays in the search result.
4-
ms.date: 03/13/2022
4+
ms.date: 04/19/2022
55
ms.reviewer: "jdaly"
66
ms.topic: "article"
77
author: "marcelbf" # GitHub ID
@@ -120,7 +120,7 @@ In the list of **Request parameters** or **Response properties**, select this co
120120

121121
## Next steps
122122

123-
If you haven't set the `IsPrivate` property for your Custom API, after you have created your Custom API you can retrieve the service definition from the [CSDL $metadata document](webapi/web-api-types-operations.md#csdl-metadata-document) using a GET request, even from your browser. If the url for your environment is `https://yourorg.crm.dynamics.com`, you can type this URL in your browser address field to retrieve the $metadata: `https://yourorg.crm.dynamics.com/api/data/v9.1/$metadata`.
123+
If you haven't set the `IsPrivate` property for your Custom API, after you have created your Custom API you can retrieve the service definition from the [CSDL $metadata document](webapi/web-api-service-documents.md#csdl-metadata-document) using a `GET` request, even from your browser. If the url for your environment is `https://yourorg.crm.dynamics.com`, you can type this URL in your browser address field to retrieve the $metadata: `https://yourorg.crm.dynamics.com/api/data/v9.1/$metadata`.
124124

125125
Search the result to find the name of the Custom API and you will find the Action or Function created together with any related ComplexType to represent the return value. For example:
126126

powerapps-docs/developer/data-platform/custom-api.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
title: "Create and use Custom APIs (Microsoft Dataverse) | Microsoft Docs" # Intent and product brand in a unique string of 43-59 chars including spaces
33
description: "Custom API is a new code-first way to define custom messages for the Microsoft Dataverse" # 115-145 characters including spaces. This abstract displays in the search result.
44
ms.custom: ""
5-
ms.date: 03/21/2022
5+
ms.date: 04/19/2022
66
ms.reviewer: "pehecke"
77
ms.topic: "article"
88
author: "divka78" # GitHub ID
@@ -137,7 +137,7 @@ You may want to keep a Custom API private until you are sure that you will not n
137137
You can leave **Is Private** set to false in your development environment so you can see the output in the $metadata service document or generate classes for your own use. However, before you ship the Custom API in your managed solution, you should set **Is Private** to true.
138138

139139
More information:
140-
- [CSDL $metadata document](webapi/web-api-types-operations.md#csdl-metadata-document)
140+
- [CSDL $metadata document](webapi/web-api-service-documents.md#csdl-metadata-document)
141141
- [Generate early-bound classes for the Organization service](org-service/generate-early-bound-classes.md)
142142
- [Private Messages](org-service/use-messages.md#private-messages)
143143

@@ -453,7 +453,7 @@ A: You cannot. Although these records have the common **Status** and **Status Re
453453

454454
### Q: How can I use my private messages if they are not included in the Web API $metadata service document?
455455

456-
A: Your private messages will work regardless of whether they are advertised in the Web API [CSDL $metadata document](webapi/web-api-types-operations.md#csdl-metadata-document) or not. While you develop your solution, you can leave the `IsPrivate` value set to `false`. This way you can refer to the `$metadata` listing and use code generation tools that depend on this data. However, you should set the `CustomAPI.IsPrivate` value to `true` before you ship your solution for others to use. If you later decide that you wish to support other applications to use the message, you can change the `CustomAPI.IsPrivate` value to `false`.
456+
A: Your private messages will work regardless of whether they are advertised in the Web API [CSDL $metadata document](webapi/web-api-service-documents.md#csdl-metadata-document) or not. While you develop your solution, you can leave the `IsPrivate` value set to `false`. This way you can refer to the `$metadata` listing and use code generation tools that depend on this data. However, you should set the `CustomAPI.IsPrivate` value to `true` before you ship your solution for others to use. If you later decide that you wish to support other applications to use the message, you can change the `CustomAPI.IsPrivate` value to `false`.
457457

458458
More information:
459459

powerapps-docs/developer/data-platform/entities.md

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,11 @@
11
---
22
title: Work with Dataverse tables using code | Microsoft Docs
33
description: Learn about programmatically working with tables in Microsoft Dataverse.
4-
author: "mayadumesh" # GitHub ID
5-
manager: kvivek
6-
7-
ms.date: 03/28/2021
4+
author: mayadumesh # GitHub ID
5+
manager: sunilg
6+
ms.date: 04/19/2022
87
ms.subservice: dataverse-developer
9-
ms.author: jdaly
8+
ms.author: mayadu
109
search.audienceType:
1110
- developer
1211
search.app:
@@ -72,7 +71,7 @@ The table definition includes the following information:
7271
7372
## Private tables
7473

75-
Dataverse contains some tables that are not intended for third-party developers to use. These tables are added by Microsoft to enable feature functionality. Private tables are indicated by the <xref:Microsoft.Xrm.Sdk.Metadata.EntityMetadata>.<xref:Microsoft.Xrm.Sdk.Metadata.EntityMetadata.IsPrivate> property. These tables are not included in the Web API [CSDL $metadata document](webapi/web-api-types-operations.md#csdl-metadata-document). However, you will find them when querying entity metadata.
74+
Dataverse contains some tables that are not intended for third-party developers to use. These tables are added by Microsoft to enable feature functionality. Private tables are indicated by the <xref:Microsoft.Xrm.Sdk.Metadata.EntityMetadata>.<xref:Microsoft.Xrm.Sdk.Metadata.EntityMetadata.IsPrivate> property. These tables are not included in the Web API [CSDL $metadata document](webapi/web-api-service-documents.md#csdl-metadata-document). However, you will find them when querying entity metadata.
7675

7776
> [!CAUTION]
7877
> You should not use private tables in your solutions. By marking a table as private, Microsoft is explicitly indicating that we do not support other apps to use the table. Microsoft may remove the table or introduce breaking changes at any time. Use of these tables by anyone other than Microsoft is not supported.

powerapps-docs/developer/data-platform/reference/about-entity-reference.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ title: "Dataverse table/entity reference | Microsoft Docs"
33
description: "Use this reference to understand the available operations that can be performed for specific tables, the default columns/attributes of each table/entity and the relationships between tables in Microsoft Dataverse"
44
author: phecke
55
ms.topic: reference
6-
ms.date: 04/03/2022
6+
ms.date: 04/19/2022
77
ms.author: pehecke
88
ms.reviewer: jdaly
99
manager: kvivek
@@ -65,7 +65,7 @@ For each one-to-many relationship, the following properties are included:
6565
|`ReferencingAttribute`|The logical name of the column in the related table that contains a reference to primary key of the primary table.|
6666
|`IsHierarchical`|Whether the relationship represents a self-referential hierarchical relationship|
6767
|`IsCustomizable`|Whether the properties of the relationship can be changed.|
68-
|`ReferencedEntityNavigationPropertyName`|The name of the Web API collection-valued navigation property for this relationship.<br />More information:[Navigation properties](../webapi/web-api-types-operations.md#navigation-properties)|
68+
|`ReferencedEntityNavigationPropertyName`|The name of the Web API collection-valued navigation property for this relationship.<br />More information: [Web API Navigation Properties](../webapi/web-api-navigation-properties.md)|
6969
|`AssociatedMenuConfiguration`|Data used by model-driven apps to control whether and how the related entity data can be accessed in the UI from the primary entity.|
7070
|`CascadeConfiguration`|Data that describes which operations performed on the parent entity will cascade down to related entities.<br />More information: [Cascade configuration](../entity-relationship-metadata.md#cascade-configuration)|
7171

@@ -80,7 +80,7 @@ For each many-to-many relationship the following properties are included:
8080
|`IntersectEntityName`|The logical name of the intersect table that supports this many-to-many relationship|
8181
|`Entity1LogicalName`|The logical name for the first table in the relationship.|
8282
|`Entity1IntersectAttribute`|The logical name of the intersect table column that includes a reference to the primary key of the first table.|
83-
|`Entity1NavigationPropertyName`|The name of the Web API collection-valued navigation property for this relationship.<br />More information: [Navigation properties](../webapi/web-api-types-operations.md#navigation-properties)|
83+
|`Entity1NavigationPropertyName`|The name of the Web API collection-valued navigation property for this relationship.<br />More information: [Web API Navigation Properties](../webapi/web-api-navigation-properties.md)|
8484
|`Entity1AssociatedMenuConfiguration`|Data used by model-driven apps to control whether and how the first table data can be accessed in the UI from the second table.|
8585
|`Entity2LogicalName`|The logical name for the second table in the relationship.|
8686
|`Entity2IntersectAttribute`|The logical name of the intersect table column that includes a reference to the primary key of the second table.|

powerapps-docs/developer/data-platform/use-change-tracking-synchronize-data-external-systems.md

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
---
22
title: "Use change tracking to synchronize data with external systems (Microsoft Dataverse) | Microsoft Docs" # Intent and product brand in a unique string of 43-59 chars including spaces
33
description: "The change tracking feature provides a way to keep the data synchronized in an efficient manner by detecting what data has changed since the data was initially extracted or last synchronized" # 115-145 characters including spaces. This abstract displays in the search result.
4-
ms.date: 03/22/2022
4+
ms.date: 04/19/2022
55
ms.reviewer: "pehecke"
66
ms.topic: "article"
77
author: "Peakerbl" # GitHub ID
@@ -19,8 +19,6 @@ contributors:
1919
---
2020
# Use change tracking to synchronize data with external systems
2121

22-
23-
2422
The change tracking feature in Microsoft Dataverse provides a way to keep the data synchronized in an efficient manner by detecting what data has changed since the data was initially extracted or last synchronized. Previously, without this new feature, it was difficult to build a reliable and efficient mechanism to determine what records had changed in Dataverse. This article discusses how to retrieve changes for a table.
2523

2624
## Enable change tracking for a table
@@ -30,7 +28,7 @@ The change tracking feature in Microsoft Dataverse provides a way to keep the da
3028
```http
3129
GET [Organization URI]/api/data/v9.0/$metadata?annotations=true
3230
```
33-
Read more about metadata annotations on [Metadata annotations](webapi/web-api-types-operations.md#bkmk_metannot).
31+
Read more about metadata annotations on [Metadata annotations](webapi/web-api-service-documents.md#metadata-annotations).
3432

3533
For more information about using the customization user interface (UI), see [Enable change tracking to control data synchronization](/power-platform/admin/enable-change-tracking-control-data-synchronization).
3634

powerapps-docs/developer/data-platform/webapi/TOC.yml

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,21 @@
2424
href: aad-group-team.md
2525
- name: Types and operations
2626
href: web-api-types-operations.md
27+
items:
28+
- name: Service Documents
29+
href: web-api-service-documents.md
30+
- name: Entity Types
31+
href: web-api-entitytypes.md
32+
- name: Properties
33+
href: web-api-properties.md
34+
- name: Navigation Properties
35+
href: web-api-navigation-properties.md
36+
- name: Action definitions
37+
href: web-api-actions.md
38+
- name: Function definitions
39+
href: web-api-functions.md
40+
- name: Complex & Enum types
41+
href: web-api-complex-enum-types.md
2742
- name: Perform Web API operations
2843
items:
2944
- name: Get started with performing operations

powerapps-docs/developer/data-platform/webapi/create-entity-web-api.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
---
22
title: "Create a table row using the Web API (Microsoft Dataverse) | Microsoft Docs"
33
description: "Read how to create a POST request to send data to create a table row on Microsoft Dataverse using the Web API"
4-
ms.date: 04/06/2022
4+
ms.date: 04/19/2022
55
author: divka78
66
ms.author: dikamath
77
ms.reviewer: jdaly
@@ -60,7 +60,7 @@ OData-EntityId: [Organization URI]/api/data/v9.0/accounts(7eb682f1-ca75-e511-80d
6060
6161
```
6262

63-
To create a new entity record you must identify the valid property names and types. For all system entities and attributes (table columns), you can find this information in the topic for that entity in the [About the Table Reference](../reference/about-entity-reference.md). For custom entities or attributes, refer to the definition of that entity in the [CSDL $metadata document](web-api-types-operations.md#csdl-metadata-document). More information: [Entity types](web-api-types-operations.md#entity-types)
63+
To create a new entity record you must identify the valid property names and types. For all system entities and attributes (table columns), you can find this information in the topic for that entity in the [About the Table Reference](../reference/about-entity-reference.md). For custom entities or attributes, refer to the definition of that entity in the [CSDL $metadata document](web-api-service-documents.md#csdl-metadata-document). More information: [Web API EntityTypes](web-api-entitytypes.md)
6464

6565
<a name="bkmk_createWithDataReturned"></a>
6666

powerapps-docs/developer/data-platform/webapi/perform-operations-web-api.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,9 @@ contributors:
1818

1919
The Web API provides a RESTful web service interface that you can use to interact with data in Microsoft Dataverse using a wide variety of programming languages and libraries.
2020

21+
> [!TIP]
22+
> Before you start, you may find it valuable to review the topics under [Web API types and operations](web-api-types-operations.md) to understand the OData service documents which provide important information about what you can do with the Web API.
23+
2124
> [!NOTE]
2225
> Information under this section is also applicable to the Dynamics 365 Customer Engagement (on-premises) users.
2326

powerapps-docs/developer/data-platform/webapi/query-data-web-api.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
---
22
title: "Query data using the Web API (Microsoft Dataverse)| Microsoft Docs"
33
description: "Learn how to query Microsoft Dataverse table data using the Web API and the options that can be applied in these queries."
4-
ms.date: 04/18/2022
4+
ms.date: 04/19/2022
55
author: divka78
66
ms.author: dikamath
77
ms.reviewer: jdaly
@@ -340,7 +340,7 @@ OData-Version: 4.0
340340

341341
### Filter rows (records) based on single-valued navigation property
342342

343-
Navigation properties let you access data related to the current entity. *Single-valued* navigation properties correspond to Lookup attributes that support many-to-one relationships and allow setting a reference to another entity. More information: [Navigation properties](web-api-types-operations.md#bkmk_navprops).
343+
Navigation properties let you access data related to the current entity. *Single-valued* navigation properties correspond to Lookup attributes that support many-to-one relationships and allow setting a reference to another entity. More information: [Navigation Properties](web-api-navigation-properties.md).
344344

345345
You can filter your entity set records based on single-valued navigation property values. For example, you can retrieve child accounts for the specified account.
346346

@@ -674,7 +674,7 @@ Use the `$expand` system query option in the navigation properties to control wh
674674

675675
## Retrieve data about lookup properties
676676

677-
If your query includes lookup properties you can request annotations that will provide additional information about the data in these properties. Most of the time, the same data is can be derived with knowledge of the single-valued navigation properties and the data included in the related entities. However, in cases where the property represents a lookup attribute that can refer to more than one type of entity, this information can tell you what type of entity is referenced by the lookup property. More information: [Lookup properties](web-api-types-operations.md#bkmk_lookupProperties)
677+
If your query includes lookup properties you can request annotations that will provide additional information about the data in these properties. Most of the time, the same data is can be derived with knowledge of the single-valued navigation properties and the data included in the related entities. However, in cases where the property represents a lookup attribute that can refer to more than one type of entity, this information can tell you what type of entity is referenced by the lookup property. More information: [Lookup properties](web-api-properties.md#lookup-properties).
678678

679679
There are two additional types of annotations available for these properties,
680680

0 commit comments

Comments
 (0)