Steps to Reproduce:
- Create an Object:
- Classic UI -> Administration -> Studio -> Objects -> Click on New
- Object Name of your choosing
- Object ID of your choosing
- Master Object
- Object Extension = Investment Extension
- Create an API Key:
- Modern UX -> Profile Icon -> API Keys -> Create a new API Key
- Access Type = All Access
- Create an instance of the object from Step 1:
- Modern UX -> Investments -> Object from Step 1 -> Create Instance
- Use an API client such as Postman to obtain instances of the object from Step 1:
- For example: Postman -> GET http://example.net/ppm/rest/v1/custAzzs
- Provide x-api-ppm-client header appropriately
- Create another object. Same steps as Step 1(a) to Step 1(e)
- Try to do a GET call to obtain instances of this new object from Step 5 using the same API key as in Step 4
- For example: Postman -> GET http://example.net/ppm/rest/v1/custAzzzs
Expected Results: Step 6 produces a result similar to step 4
Actual Results:
1. Following error is obtained as a response to the GET call
{
"resourceId": null,
"httpStatus": "401",
"errorMessage": "API-1007 : You are not authorized to process request. Contact your system administrator for necessary security rights.",
"errorCode": "api.unauthorized"
}
2. The app-ca.log logs the following message:
WARN 2023-10-17 05:47:22,299 [http-nio-1613-exec-3027] ppm.rest (clarity:SomeRandomUser:SomeRandomSession:PPM_REST_API) (SomeRandomSession) User SomeRandomUser tried to GET resource [resource name: custAzzzs, resource id: null] but does not have permission.
Workaround:
- Create a new API Key after the new object creation
- Flush server side cache