GenericRequestApprovalConfigService
Experimental APIs for resource-level and global approval settings used by agent lifecycle requests (`ACTIVATE`, `DEACTIVATE`). Pass the `X-SailPoint-Experimental` header on every request.
Query parameters address the config because `targetId` can be a connector resource id (for example `aws:bedrock-agent-alias-version`) that is not URL-safe as a path segment. `sourceId` is a query parameter only and is never returned on the document.
An empty per-action object `{}` means no configuration at this scope. At submit, RESOURCE is used first, then GLOBAL, then org-level agent request configuration. There is no `approvalRequired` flag.
These routes require product `AGENTIC_IDENTITY_PROVISIONING` and LaunchDarkly flag `MIS_2160_GENERIC_REQUEST_APPROVAL_CONFIG_API_ENABLED`. When the product is not licensed the route looks absent (404). When the flag is off the API returns 403 with `The requested endpoint is not yet enabled`.
Every method returns an Observable. All request paths are relative to the baseUrl you pass to provideSailPoint().
| Method | HTTP request | Description |
|---|---|---|
| get-generic-request-approval-config-v1 | GET /generic-request-approval-config/v1 | Get generic request approval config |
| patch-generic-request-approval-config-v1 | PATCH /generic-request-approval-config/v1/{id} | Patch generic request approval config |
get-generic-request-approval-config-v1
This API is currently in an experimental state. The API is subject to change based on feedback and further testing. You must include the X-SailPoint-Experimental header and set it to true to use this endpoint.
Get generic request approval config Returns the approval configuration document for one scope.
Scope rules for Phase II agent requests:
| targetType | Allowed actions | targetId | sourceId |
|---|---|---|---|
| RESOURCE | ACTIVATE, DEACTIVATE | Required. Connector resource id, not the std:* type. Resolved resource type must be std:agent. | Required |
| GLOBAL | ACTIVATE, DEACTIVATE | Derived (tenant id). Omit. | Must be omitted |
DELETE_AT_SOURCE is not returned and cannot be configured on this API.
A scope that has never been saved still returns 200. Every allowed action is
present. Unset actions are {} (no config at this scope; submit uses RESOURCE, then GLOBAL,
then org-level). The first successful GET
materializes a row so the response id can be used on PATCH.
Unknown source, missing or invalid query params, a RESOURCE targetId the source
does not advertise, or a resource whose type is not std:agent return 400.
Product not licensed returns 404. Flag off, missing experimental header, or
insufficient rights return 403.
Parameters
The service takes one object that holds every parameter. Its type is GetGenericRequestApprovalConfigV1RequestParams.
| Name | Type | Description | Notes |
|---|---|---|---|
| targetType | GenericRequestTargetType | Scope of the configuration document. | [default to undefined] |
| xSailPointExperimental | string | Use this header to enable this experimental API. | [optional] [default to 'true'] |
| targetId | string | Required for RESOURCE and SUBTYPE. Connector resource id for RESOURCE (for example `aws:bedrock-agent-alias-version`). Omit for GLOBAL. | [optional] [default to undefined] |
| sourceId | string | Required for RESOURCE, SUBTYPE, and SOURCE. Must be omitted for GLOBAL. | [optional] [default to undefined] |
Return type
Observable<GenericRequestApprovalConfig>
HTTP request headers
- Content-Type: Not defined
- Accept: application/json
Example
import { Component, inject } from '@angular/core';
import { GenericRequestApprovalConfigService } from '@sailpoint/angular-sdk/generic_request_approval_config';
@Component({ selector: 'app-example', template: '' })
export class ExampleComponent {
private readonly api = inject(GenericRequestApprovalConfigService);
getGenericRequestApprovalConfigV1(): void {
const targetType: GenericRequestTargetType = ; // Scope of the configuration document.
const xSailPointExperimental: string = ; // Use this header to enable this experimental API. (optional)
const targetId: string = ; // Required for RESOURCE and SUBTYPE. Connector resource id for RESOURCE (for example `aws:bedrock-agent-alias-version`). Omit for GLOBAL. (optional)
const sourceId: string = ; // Required for RESOURCE, SUBTYPE, and SOURCE. Must be omitted for GLOBAL. (optional)
this.api.getGenericRequestApprovalConfigV1({ targetType: targetType }).subscribe({
next: (result) => console.log(result),
error: (error) => console.error(error),
});
}
}
patch-generic-request-approval-config-v1
This API is currently in an experimental state. The API is subject to change based on feedback and further testing. You must include the X-SailPoint-Experimental header and set it to true to use this endpoint.
Patch generic request approval config Updates stored approval configuration with an RFC 6902 JSON Patch.
Patchable paths are /approvalConfig and /approvalConfig/{ACTION} for each action
in the row's targetType vocabulary. For RESOURCE and GLOBAL those actions are
ACTIVATE and DEACTIVATE.
id, targetType, targetId, and sourceId are not patchable.
/approvalConfig/DELETE_AT_SOURCE is rejected with 400.
Replace an action with {} (or remove it) to clear this scope. Submit then uses RESOURCE,
then GLOBAL, then org-level agent request configuration. Empty action objects are not persisted.
Allowed approver tokens for RESOURCE ACTIVATE and DEACTIVATE:
sourceOwner, manager, machineIdentityPrimaryOwner,
machineIdentitySecondaryOwners, machineIdentityAllOwners,
workgroup:[workgroupId], identity:[identityId].
accountOwner is not allowed on those actions. Role tokens may appear once.
workgroup: and identity: may repeat with distinct ids.
GLOBAL writes accept scheme: WORKFLOW only.
Unknown id returns 404.
Parameters
The service takes one object that holds every parameter. Its type is PatchGenericRequestApprovalConfigV1RequestParams.
| Name | Type | Description | Notes |
|---|---|---|---|
| id | string | Config id returned by GET. | [default to undefined] |
| jsonPatchOperation | Array<JsonPatchOperation> | JSON Patch document used to update approvalConfig. | |
| xSailPointExperimental | string | Use this header to enable this experimental API. | [optional] [default to 'true'] |
Return type
Observable<GenericRequestApprovalConfig>
HTTP request headers
- Content-Type: application/json-patch+json, application/json
- Accept: application/json
Example
import { Component, inject } from '@angular/core';
import { GenericRequestApprovalConfigService } from '@sailpoint/angular-sdk/generic_request_approval_config';
import { JsonPatchOperation } from '@sailpoint/angular-sdk/generic_request_approval_config';
@Component({ selector: 'app-example', template: '' })
export class ExampleComponent {
private readonly api = inject(GenericRequestApprovalConfigService);
patchGenericRequestApprovalConfigV1(): void {
const id: string = ; // Config id returned by GET.
const jsonPatchOperation: Array<JsonPatchOperation> = ; // JSON Patch document used to update approvalConfig.
const xSailPointExperimental: string = ; // Use this header to enable this experimental API. (optional)
this.api.patchGenericRequestApprovalConfigV1({ id: id, jsonPatchOperation: jsonPatchOperation }).subscribe({
next: (result) => console.log(result),
error: (error) => console.error(error),
});
}
}