External approval system configuration
When you configure an external system to approve a user request, you must also configure the corresponding external system to send a relevant response to Developer Portal.
User sign-up requests
- The external system processes the new user sign-up
request, and approves or rejects the request. The external system must specify the
link_id value that is received through the payload and approve or reject the
requests using the following REST resources.
PUT /rest/v1/approvals/request/external/link_id/approve. Approves the specified external approval request.PUT /rest/v1/approvals/request/external/link_id/approve?comments=comments. Approves the specified external approval request with comments.PUT /rest/v1/approvals/request/external/link_id/reject. Rejects the specified external approval request.PUT /rest/v1/approvals/request/external/link_id/reject?comments=comments. Rejects the specified external approval request with comments.
Application creation or application scope increase requests
- When a user sends an application creation request, the
application details are sent to the configured URL.
Sample request
{ "created" : "2022-02-10T06:15+0000", "documentType" : "EVENTS", "parameters" : { "details" : { "user_request_id" : "25fb94d9-6d30-4515-aa14-65177484946b", "user" : "200ceb26-807d-3bf9-9fd6-f4f0d1ca54d4", "application_id" : "c02532b9-fd99-488f-98bb-b9c85fd081db" }, "source" : "ExternalVerificationExecutor", "link_id" : "ff4e6597-1a86-4997-832a-38544d66632f" }, "type" : "EXTERNAL_VERIFICATION_EVENT" }As a system administrator, you can get more details about the request by using the following REST call with a request ID.
The parameters.details.user_request_id section in the payload has the request ID. The sample response of the payload with more details.GET /rest/v1/requests/requestId{ "owner": "200ceb26-807d-3bf9-9fd6-f4f0d1ca54d4", "id": "25fb94d9-6d30-4515-aa14-65177484946b", "documentType": "USER_REQUEST", "type": "APPLICATION_CREATION_REQUEST", "status": "APPROVAL_PENDING", "context": { "apis": [ "934d1e01-4dca-11ec-43ed-8eb69da50747" ], "custom": {}, "name": "MyApp", "description": null, "redirect_uris": [ "https://host.com/rest/v1/oauth/callback" ], "subscription": "false", "externalrefkey": "656ef5dc-53dd-4b33-8407-42da59781382", "user": "200ceb26-807d-3bf9-9fd6-f4f0d1ca54d4", "tenant": "default", "provider_ref": "13b6dac1-9ed7-11eb-5403-2692ff6904c7" }, "application": "c02532b9-fd99-488f-98bb-b9c85fd081db", "state": { "4cf77aca-d721-40b1-bc27-0cb0b7bd0a6d": "APPROVAL_PENDING" } }- View the details of the API associated with an
application by making a REST call to the following endpoint with an API
ID.
GET /rest/v1/apis/id - View the details of the user who created an application
by making a REST call to the following endpoint with a user
ID.
GET /rest/v1/users/id - View the details of an audit event by making a REST
call to the following endpoint with an event
ID.
GET /rest/v1/events/id
- View the details of the API associated with an
application by making a REST call to the following endpoint with an API
ID.
- The external system processes the application request,
and approves or rejects the request. The external system must specify the
link_id value that is received through the payload and approve or reject the
requests using the following REST resources:
PUT /rest/v1/approvals/request/external/link_id/approve. Approves the specified external approval request.PUT /rest/v1/approvals/request/external/link_id/approve?comments=comments. Approves the specified external approval request with comments.PUT /rest/v1/approvals/request/external/link_id/reject. Rejects the specified external approval request.PUT /rest/v1/approvals/request/external/link_id/reject?comments=comments. Rejects the specified external approval request with comments.
Package subscription requests
- When a user sends a package subscription request, the
subscription details are sent to the configured URL.
Sample request
{ "created" : "2022-02-10T06:15+0000", "documentType" : "EVENTS", "parameters" : { "details" : { "user_request_id" : "7022738e-8367-48bf-a60a-6015409a129a", "user" : "200ceb26-807d-3bf9-9fd6-f4f0d1ca54d4", "application_id" : "45f6073c-4e5c-49d2-80cb-13218f228014" }, "source" : "ExternalVerificationExecutor", "link_id" : "ff4e6597-1a86-4997-832a-38544d66632f" }, "type" : "EXTERNAL_VERIFICATION_EVENT" }As a system administrator, you can get more details about the request by using the following REST call with a request ID.
The parameters.details.user_request_id section in the payload has the request ID. The sample response of the payload with more details.GET /rest/v1/requests/requestId{ "owner": "200ceb26-807d-3bf9-9fd6-f4f0d1ca54d4", "id": "7022738e-8367-48bf-a60a-6015409a129a", "documentType": "USER_REQUEST", "type": "SUBSCRIPTION_CREATION_REQUEST", "status": "APPROVAL_PENDING", "context": { "package": "dc43a88a-7de5-4d88-960d-912f8e82b44d", "custom": {}, "name": "PackageSubscription", "description": null, "redirect_uris": [ "http://hostname/portal/rest/v1/oauth/callback" ], "subscription": "true", "plan": "4b780d62-dc26-44cb-81d3-02e86204c3db", "user": "200ceb26-807d-3bf9-9fd6-f4f0d1ca54d4", "tenant": "default", "provider_ref": "01719942-6ed5-4f6f-a000-1f4807e8b711" }, "application": "45f6073c-4e5c-49d2-80cb-13218f228014", "state": { "4956cf28-b8c3-4a4f-969d-1a8baa1754ef": "APPROVAL_PENDING" } }- View the details of the subscribed package by making a
REST call to the following endpoint with a package ID.
GET /rest/v1/packages/id - View the details of the subscribed plan by making a
REST call to the following endpoint with a plan ID.
GET /rest/v1/plans/id - View the details of an audit event by making a REST
call to the following endpoint with an event ID.
GET /rest/v1/events/id - View the details of the user who created a subscription
by making a REST call to the following endpoint with a user ID.
GET /rest/v1/users/id
- View the details of the subscribed package by making a
REST call to the following endpoint with a package ID.
- The external system processes the subscription request,
and approves or rejects the request. The external system must specify the
link_id value that is received through the payload and approve or reject the
requests using the following REST resources.
PUT /rest/v1/approvals/request/external/link_id/approve. Approves the specified external approval request.PUT /rest/v1/approvals/request/external/link_id/approve?comments=comments. Approves the specified external approval request with comments.PUT /rest/v1/approvals/request/external/link_id/reject. Rejects the specified external approval request.PUT /rest/v1/approvals/request/external/link_id/reject?comments=comments. Rejects the specified external approval request with comments.