traits:
- client-id-required:
queryParameters:
client_id:
type: string
client_secret:
type: string
To Prepare RAML for Policies
If your API exposes a RAML definition that users might need to reference, then the RAML definition should reliably detail every element that is expected in calls to your API. For example when applying a client ID-based policies implies that all requests coming to your API include a client ID and client Secret (by default expected as query parameters). To prevent user requests from being rejected, create a trait in the RAML root and then reference this trait in every operation of your API. The trait might look like this:
And then you can apply this trait in each individual operation like this:
/products:
get:
is: [client-id-required]
description: Gets a list of all the inventory products.
-
Click Policies on the API dashboard.
In the list of policies, the RAML snippet link contains the RAML code you need to add to the RAML.
-
Click RAML Snippet.
-
Select RAML 0.8 or RAML 1.0 to match the API RAML version.
-
Edit the API to add the code.
-
Redeploy the API.