Skip to main content

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().

MethodHTTP requestDescription
get-generic-request-approval-config-v1GET /generic-request-approval-config/v1Get generic request approval config
patch-generic-request-approval-config-v1PATCH /generic-request-approval-config/v1/{id}Patch generic request approval config

get-generic-request-approval-config-v1

experimental

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:

targetTypeAllowed actionstargetIdsourceId
RESOURCEACTIVATE, DEACTIVATERequired. Connector resource id, not the std:* type. Resolved resource type must be std:agent.Required
GLOBALACTIVATE, DEACTIVATEDerived (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.

API Spec

Parameters

The service takes one object that holds every parameter. Its type is GetGenericRequestApprovalConfigV1RequestParams.

NameTypeDescriptionNotes
targetTypeGenericRequestTargetTypeScope of the configuration document.[default to undefined]
xSailPointExperimentalstringUse this header to enable this experimental API.[optional] [default to 'true']
targetIdstringRequired for RESOURCE and SUBTYPE. Connector resource id for RESOURCE (for example `aws:bedrock-agent-alias-version`). Omit for GLOBAL.[optional] [default to undefined]
sourceIdstringRequired 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 &#x60;aws:bedrock-agent-alias-version&#x60;). 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),
});
}
}

[Back to top]

patch-generic-request-approval-config-v1

experimental

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.

API Spec

Parameters

The service takes one object that holds every parameter. Its type is PatchGenericRequestApprovalConfigV1RequestParams.

NameTypeDescriptionNotes
idstringConfig id returned by GET.[default to undefined]
jsonPatchOperationArray<JsonPatchOperation>JSON Patch document used to update approvalConfig.
xSailPointExperimentalstringUse 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),
});
}
}

[Back to top]