Access Metadata
You can use the GET method to retrieve metadata about REST resources from their /describe
endpoints. Each resource's metadata contains a comprehensive description, including the object resource URIs, attributes, supported actions, child resources, and list-of-value (LOV) resources. The metadata also includes attribute properties such as name, type, mandatory, updatable, queryable, and so on.
You must use the metadataMode
query parameter to perform a describe operation, except when accessing metadata for a specific resource.
How You Retrieve All Resource URLs Without Other Metadata
If you want to retrieve only the URLs for all resources without including any metadata, set the value of metadataMode
parameter to list
in your GET request on the /describe
endpoint. For example, here's a sample request URL using this parameter:
https://servername.fa.us2.oraclecloud.com/fscmRestApi/resources/<version>/describe?metadataMode=list
And here's the cURL command:
curl -X GET -u <username:password> https://servername.fa.us2.oraclecloud.com/fscmRestApi/resources/<version>/describe?metadataMode=list
The response would contain only the resource URLs and no resource metadata.
How You Retrieve Minimal Metadata for All Resources
To limit the amount of metadata retrieved for an application, use the metadataMode
parameter. Perform the GET operation using the following request URL:
https://servername.fa.us2.oraclecloud.com/fscmRestApi/resources/<version>/describe?metadataMode=minimal
You can use this cURL command to return only the REST resources:
curl -X GET -u <username:password> https://servername.fa.us2.oraclecloud.com/fscmRestApi/resources/<version>/describe?metadataMode=minimal HTTP/1.1 -H 'Content-Type: application/vnd.oracle.adf.resourceitem+json' | json_pp
Note:
You cannot use themetadataMode
parameter to access the metadata for a specific resource.
If your application has a large number of custom objects, you can use the metadataMode
parameter to retrieve a smaller response much faster.
How You Retrieve Metadata for a Specific Resource
Perform the GET operation on the resource using the following request URL syntax:
https://servername.fa.us2.oraclecloud.com/fscmRestApi/resources/<version>/<resource>/describe
Let's say you want to get the metadata for the announcements resource. Perform the GET operation using the following request URL:
https://servername.fa.us2.oraclecloud.com/fscmRestApi/resources/11.13.18.05/announcements/describe
You can use this cURL command to complete the operation:
curl -X GET -u <username:password> https://servername.fa.us2.oraclecloud.com/fscmRestApi/resources/11.13.18.05/announcements/describe
How You Retrieve Metadata in Your Preferred Language
If you want to retrieve the metadata in your preferred language, you can use the Accept-Language
header in the GET request. Include the Accept-Language
header in the cURL command and provide the language short code as its value. For example, to retrieve the metadata in Turkish, use tr
as the Accept-Language
header value.
Run the cURL command as shown here:
curl -X GET -u <username:password> https://servername.fa.us2.oraclecloud.com/fscmRestApi/resources/11.13.18.05/partnerTypesLOV/describe \
-H 'Accept-Language: tr' \
-H 'Content-Type: application/vnd.oracle.adf.resourceitem+json'
The response contains the translated metadata.
You can see that the values for title
and titlePlural
appear translated in Turkish. In English, these would appear as Partner Type
and Partner Types
.
Note:
The translation applies only to the customer-facing labels and depends on the internationalization settings defined in the application implementation.How You Retrieve Metadata in OpenAPI Format
Metadata in OpenAPI format is now supported for all REST APIs. In the GET request, set the Accept header to application/vnd.oracle.openapi3+json
to retrieve metadata in that format. If you're using the cURL command, construct the GET request as:
curl -u username:password \
-X GET https://servername.fa.us2.oraclecloud.com/fscmRestApi/resources/<version>/announcements/describe \
'Authorization: Basic dXNlcm5hbWU6cGFzc3dvcmQ=' \
-H 'Accept: application/vnd.oracle.openapi3+json'
If you're using a REST client such as Postman, set the value for the Accept header as shown here:
You get the response in the OpenAPI format as seen in the screenshot.