Files
developer.sailpoint.com/static/api-specs/arm/swagger-public.json
2022-11-16 16:10:00 -05:00

3034 lines
84 KiB
JSON

{
"openapi": "3.0.1",
"info": {
"title": "Access Risk Management Public API",
"version": "1.0"
},
"paths": {
"/api/v1/eam/profiles/{erpSystemId}": {
"get": {
"tags": [
"Eam"
],
"summary": "Gets a collection of EAM profiles for the specified ERP system.",
"parameters": [
{
"name": "erpSystemId",
"in": "path",
"description": "The id of the ERP system to query.",
"required": true,
"schema": {
"maximum": 2147483647,
"minimum": 1,
"type": "integer",
"format": "int32"
}
}
],
"responses": {
"200": {
"description": "Success",
"content": {
"text/plain": {
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/EmergencyAccessProfileModel"
}
}
},
"application/json": {
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/EmergencyAccessProfileModel"
}
}
},
"text/json": {
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/EmergencyAccessProfileModel"
}
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"text/plain": {
"schema": {
"$ref": "#/components/schemas/ProblemDetails"
}
},
"application/json": {
"schema": {
"$ref": "#/components/schemas/ProblemDetails"
}
},
"text/json": {
"schema": {
"$ref": "#/components/schemas/ProblemDetails"
}
}
}
},
"401": {
"description": "Unauthorized",
"content": {
"text/plain": {
"schema": {
"$ref": "#/components/schemas/ProblemDetails"
}
},
"application/json": {
"schema": {
"$ref": "#/components/schemas/ProblemDetails"
}
},
"text/json": {
"schema": {
"$ref": "#/components/schemas/ProblemDetails"
}
}
}
}
}
}
},
"/api/v1/eam/profiles/{erpSystemId}/user/{userId}": {
"get": {
"tags": [
"Eam"
],
"summary": "Gets a collection of EAM profiles for the specified ERP system and user.",
"parameters": [
{
"name": "erpSystemId",
"in": "path",
"description": "The id of the ERP system to query.",
"required": true,
"schema": {
"maximum": 2147483647,
"minimum": 1,
"type": "integer",
"format": "int32"
}
},
{
"name": "userId",
"in": "path",
"description": "The id of the user that can utilize the profiles.",
"required": true,
"schema": {
"type": "string",
"format": "uuid"
}
}
],
"responses": {
"200": {
"description": "Success",
"content": {
"text/plain": {
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/EmergencyAccessProfileModel"
}
}
},
"application/json": {
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/EmergencyAccessProfileModel"
}
}
},
"text/json": {
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/EmergencyAccessProfileModel"
}
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"text/plain": {
"schema": {
"$ref": "#/components/schemas/ProblemDetails"
}
},
"application/json": {
"schema": {
"$ref": "#/components/schemas/ProblemDetails"
}
},
"text/json": {
"schema": {
"$ref": "#/components/schemas/ProblemDetails"
}
}
}
},
"401": {
"description": "Unauthorized",
"content": {
"text/plain": {
"schema": {
"$ref": "#/components/schemas/ProblemDetails"
}
},
"application/json": {
"schema": {
"$ref": "#/components/schemas/ProblemDetails"
}
},
"text/json": {
"schema": {
"$ref": "#/components/schemas/ProblemDetails"
}
}
}
}
}
}
},
"/api/v1/eam/{requestId}/state": {
"get": {
"tags": [
"Eam"
],
"summary": "Gets the state of a particular EAM request.",
"parameters": [
{
"name": "requestId",
"in": "path",
"description": "The id of the EAM request to query.",
"required": true,
"schema": {
"type": "string",
"format": "uuid"
}
}
],
"responses": {
"200": {
"description": "Success",
"content": {
"text/plain": {
"schema": {
"enum": [
"Submitted",
"AwaitingApproval",
"Approved",
"Rejected",
"AwaitingReview",
"Accepted",
"Contested",
"AccessProvisioned",
"GeneratingUsageReport",
"Created",
"Updated",
"Retracted",
"Error",
"Exception",
"Terminated"
],
"type": "string"
}
},
"application/json": {
"schema": {
"enum": [
"Submitted",
"AwaitingApproval",
"Approved",
"Rejected",
"AwaitingReview",
"Accepted",
"Contested",
"AccessProvisioned",
"GeneratingUsageReport",
"Created",
"Updated",
"Retracted",
"Error",
"Exception",
"Terminated"
],
"type": "string"
}
},
"text/json": {
"schema": {
"enum": [
"Submitted",
"AwaitingApproval",
"Approved",
"Rejected",
"AwaitingReview",
"Accepted",
"Contested",
"AccessProvisioned",
"GeneratingUsageReport",
"Created",
"Updated",
"Retracted",
"Error",
"Exception",
"Terminated"
],
"type": "string"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"text/plain": {
"schema": {
"$ref": "#/components/schemas/ProblemDetails"
}
},
"application/json": {
"schema": {
"$ref": "#/components/schemas/ProblemDetails"
}
},
"text/json": {
"schema": {
"$ref": "#/components/schemas/ProblemDetails"
}
}
}
},
"401": {
"description": "Unauthorized",
"content": {
"text/plain": {
"schema": {
"$ref": "#/components/schemas/ProblemDetails"
}
},
"application/json": {
"schema": {
"$ref": "#/components/schemas/ProblemDetails"
}
},
"text/json": {
"schema": {
"$ref": "#/components/schemas/ProblemDetails"
}
}
}
}
}
}
},
"/api/v1/eam/{requestId}/report": {
"get": {
"tags": [
"Eam"
],
"summary": "Downloads the report related to the specified EAM request.",
"parameters": [
{
"name": "requestId",
"in": "path",
"description": "The identifier of the EAM request.",
"required": true,
"schema": {
"type": "string",
"format": "uuid"
}
}
],
"responses": {
"200": {
"description": "Success",
"content": {
"text/plain": {
"schema": {
"$ref": "#/components/schemas/File"
}
},
"application/json": {
"schema": {
"$ref": "#/components/schemas/File"
}
},
"text/json": {
"schema": {
"$ref": "#/components/schemas/File"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"text/plain": {
"schema": {
"type": "object",
"additionalProperties": {
"$ref": "#/components/schemas/ModelStateEntry"
}
}
},
"application/json": {
"schema": {
"type": "object",
"additionalProperties": {
"$ref": "#/components/schemas/ModelStateEntry"
}
}
},
"text/json": {
"schema": {
"type": "object",
"additionalProperties": {
"$ref": "#/components/schemas/ModelStateEntry"
}
}
}
}
}
}
}
},
"/api/v1/eam": {
"post": {
"tags": [
"Eam"
],
"summary": "Creates a new EAM request.",
"requestBody": {
"description": "The object containing the parameters to create the new EAM request.",
"content": {
"application/json-patch+json": {
"schema": {
"$ref": "#/components/schemas/EmergencyAccessRequestModel"
}
},
"application/json": {
"schema": {
"$ref": "#/components/schemas/EmergencyAccessRequestModel"
}
},
"text/json": {
"schema": {
"$ref": "#/components/schemas/EmergencyAccessRequestModel"
}
},
"application/*+json": {
"schema": {
"$ref": "#/components/schemas/EmergencyAccessRequestModel"
}
}
}
},
"responses": {
"200": {
"description": "Success",
"content": {
"text/plain": {
"schema": {
"$ref": "#/components/schemas/EmergencyAccessRequestModel"
}
},
"application/json": {
"schema": {
"$ref": "#/components/schemas/EmergencyAccessRequestModel"
}
},
"text/json": {
"schema": {
"$ref": "#/components/schemas/EmergencyAccessRequestModel"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"text/plain": {
"schema": {
"$ref": "#/components/schemas/ProblemDetails"
}
},
"application/json": {
"schema": {
"$ref": "#/components/schemas/ProblemDetails"
}
},
"text/json": {
"schema": {
"$ref": "#/components/schemas/ProblemDetails"
}
}
}
},
"401": {
"description": "Unauthorized",
"content": {
"text/plain": {
"schema": {
"$ref": "#/components/schemas/ProblemDetails"
}
},
"application/json": {
"schema": {
"$ref": "#/components/schemas/ProblemDetails"
}
},
"text/json": {
"schema": {
"$ref": "#/components/schemas/ProblemDetails"
}
}
}
}
}
}
},
"/api/v1/lookup/customer/{customerId}/erpSystem/{erpSystemId}/users": {
"get": {
"tags": [
"Lookup"
],
"summary": "Get all the users for a particular Customer and Erp system.",
"parameters": [
{
"name": "customerId",
"in": "path",
"description": "Id of the customer",
"required": true,
"schema": {
"type": "string",
"format": "uuid"
}
},
{
"name": "erpSystemId",
"in": "path",
"description": "Id of the erp system.",
"required": true,
"schema": {
"maximum": 2147483647,
"minimum": 1,
"type": "integer",
"format": "int32"
}
},
{
"name": "search",
"in": "query",
"description": "Optional filter criteria.",
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "Success",
"content": {
"text/plain": {
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/SapUserDTO"
}
}
},
"application/json": {
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/SapUserDTO"
}
}
},
"text/json": {
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/SapUserDTO"
}
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"text/plain": {
"schema": { }
},
"application/json": {
"schema": { }
},
"text/json": {
"schema": { }
}
}
},
"401": {
"description": "Unauthorized",
"content": {
"text/plain": {
"schema": { }
},
"application/json": {
"schema": { }
},
"text/json": {
"schema": { }
}
}
}
}
}
},
"/api/v1/lookup/erpsystem/{erpSystemId}/roles": {
"get": {
"tags": [
"Lookup"
],
"summary": "Get all the roles for a particular Customer and Erp system.\r\nThis is an Odata query endpoint and does not validate the data passed in.",
"parameters": [
{
"name": "erpSystemId",
"in": "path",
"description": "Id of the erp system.",
"required": true,
"schema": {
"maximum": 2147483647,
"minimum": 1,
"type": "integer",
"format": "int32"
}
},
{
"name": "search",
"in": "query",
"description": "Optional filter criteria.",
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "Success",
"content": {
"text/plain": {
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/RoleDTO"
}
}
},
"application/json": {
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/RoleDTO"
}
}
},
"text/json": {
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/RoleDTO"
}
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"text/plain": {
"schema": { }
},
"application/json": {
"schema": { }
},
"text/json": {
"schema": { }
}
}
},
"401": {
"description": "Unauthorized",
"content": {
"text/plain": {
"schema": { }
},
"application/json": {
"schema": { }
},
"text/json": {
"schema": { }
}
}
}
}
}
},
"/api/v1/lookup/customer/{customerId}/mitigatingControls": {
"get": {
"tags": [
"Lookup"
],
"summary": "Get all the mitigating controls for a particular Customer.",
"parameters": [
{
"name": "customerId",
"in": "path",
"description": "Id of the customer",
"required": true,
"schema": {
"type": "string",
"format": "uuid"
}
},
{
"name": "search",
"in": "query",
"description": "Optional filter criteria.",
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "Success",
"content": {
"text/plain": {
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/MitigatingControlDetailsModel"
}
}
},
"application/json": {
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/MitigatingControlDetailsModel"
}
}
},
"text/json": {
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/MitigatingControlDetailsModel"
}
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"text/plain": {
"schema": { }
},
"application/json": {
"schema": { }
},
"text/json": {
"schema": { }
}
}
},
"401": {
"description": "Unauthorized",
"content": {
"text/plain": {
"schema": { }
},
"application/json": {
"schema": { }
},
"text/json": {
"schema": { }
}
}
}
}
},
"post": {
"tags": [
"Lookup"
],
"summary": "Create a new mitigating control",
"parameters": [
{
"name": "customerId",
"in": "path",
"description": "Id of the customer",
"required": true,
"schema": {
"type": "string",
"format": "uuid"
}
}
],
"requestBody": {
"description": "Model to be use for the creation of the mitigating control",
"content": {
"application/json-patch+json": {
"schema": {
"$ref": "#/components/schemas/MitigatingControlDetailsModel"
}
},
"application/json": {
"schema": {
"$ref": "#/components/schemas/MitigatingControlDetailsModel"
}
},
"text/json": {
"schema": {
"$ref": "#/components/schemas/MitigatingControlDetailsModel"
}
},
"application/*+json": {
"schema": {
"$ref": "#/components/schemas/MitigatingControlDetailsModel"
}
}
},
"required": true
},
"responses": {
"200": {
"description": "Success",
"content": {
"text/plain": {
"schema": {
"$ref": "#/components/schemas/MitigatingControlDetailsModel"
}
},
"application/json": {
"schema": {
"$ref": "#/components/schemas/MitigatingControlDetailsModel"
}
},
"text/json": {
"schema": {
"$ref": "#/components/schemas/MitigatingControlDetailsModel"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"text/plain": {
"schema": { }
},
"application/json": {
"schema": { }
},
"text/json": {
"schema": { }
}
}
},
"401": {
"description": "Unauthorized",
"content": {
"text/plain": {
"schema": { }
},
"application/json": {
"schema": { }
},
"text/json": {
"schema": { }
}
}
}
}
},
"patch": {
"tags": [
"Lookup"
],
"summary": "Update a new mitigating control",
"parameters": [
{
"name": "customerId",
"in": "path",
"description": "Id of the customer",
"required": true,
"schema": {
"type": "string",
"format": "uuid"
}
}
],
"requestBody": {
"description": "Model of the mitigating control to be updated.",
"content": {
"application/json-patch+json": {
"schema": {
"$ref": "#/components/schemas/MitigatingControlDetailsModel"
}
},
"application/json": {
"schema": {
"$ref": "#/components/schemas/MitigatingControlDetailsModel"
}
},
"text/json": {
"schema": {
"$ref": "#/components/schemas/MitigatingControlDetailsModel"
}
},
"application/*+json": {
"schema": {
"$ref": "#/components/schemas/MitigatingControlDetailsModel"
}
}
},
"required": true
},
"responses": {
"200": {
"description": "Success",
"content": {
"text/plain": {
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/MitigatingControlDetailsModel"
}
}
},
"application/json": {
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/MitigatingControlDetailsModel"
}
}
},
"text/json": {
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/MitigatingControlDetailsModel"
}
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"text/plain": {
"schema": { }
},
"application/json": {
"schema": { }
},
"text/json": {
"schema": { }
}
}
},
"401": {
"description": "Unauthorized",
"content": {
"text/plain": {
"schema": { }
},
"application/json": {
"schema": { }
},
"text/json": {
"schema": { }
}
}
}
}
}
},
"/api/v1/lookup/rulebooks/{rulebookId}/risks/{riskCode}/detail": {
"get": {
"tags": [
"Lookup"
],
"summary": "Risk Details for an Abacus-based rulebook and risk code.",
"parameters": [
{
"name": "rulebookId",
"in": "path",
"description": "",
"required": true,
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "riskCode",
"in": "path",
"description": "",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "Success",
"content": {
"text/plain": {
"schema": {
"$ref": "#/components/schemas/RiskDetailsLookupModel"
}
},
"application/json": {
"schema": {
"$ref": "#/components/schemas/RiskDetailsLookupModel"
}
},
"text/json": {
"schema": {
"$ref": "#/components/schemas/RiskDetailsLookupModel"
}
}
}
}
}
}
},
"/api/v1/provisioning/newuser": {
"post": {
"tags": [
"Provisioning"
],
"summary": "Creates a new user provisioning request. Returns the unique identifier of the new request.",
"requestBody": {
"content": {
"application/json-patch+json": {
"schema": {
"$ref": "#/components/schemas/NewUserProvisioningRequest"
}
},
"application/json": {
"schema": {
"$ref": "#/components/schemas/NewUserProvisioningRequest"
}
},
"text/json": {
"schema": {
"$ref": "#/components/schemas/NewUserProvisioningRequest"
}
},
"application/*+json": {
"schema": {
"$ref": "#/components/schemas/NewUserProvisioningRequest"
}
}
}
},
"responses": {
"200": {
"description": "Success",
"content": {
"text/plain": {
"schema": {
"type": "string",
"format": "uuid"
}
},
"application/json": {
"schema": {
"type": "string",
"format": "uuid"
}
},
"text/json": {
"schema": {
"type": "string",
"format": "uuid"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"text/plain": {
"schema": {
"$ref": "#/components/schemas/ProblemDetails"
}
},
"application/json": {
"schema": {
"$ref": "#/components/schemas/ProblemDetails"
}
},
"text/json": {
"schema": {
"$ref": "#/components/schemas/ProblemDetails"
}
}
}
},
"401": {
"description": "Unauthorized",
"content": {
"text/plain": {
"schema": {
"$ref": "#/components/schemas/ProblemDetails"
}
},
"application/json": {
"schema": {
"$ref": "#/components/schemas/ProblemDetails"
}
},
"text/json": {
"schema": {
"$ref": "#/components/schemas/ProblemDetails"
}
}
}
}
}
}
},
"/api/v1/provisioning/existinguser": {
"post": {
"tags": [
"Provisioning"
],
"summary": "Creates an existing user provisioning request. Returns the unique identifier of the new request.",
"requestBody": {
"content": {
"application/json-patch+json": {
"schema": {
"$ref": "#/components/schemas/ExistingUserProvisioningRequest"
}
},
"application/json": {
"schema": {
"$ref": "#/components/schemas/ExistingUserProvisioningRequest"
}
},
"text/json": {
"schema": {
"$ref": "#/components/schemas/ExistingUserProvisioningRequest"
}
},
"application/*+json": {
"schema": {
"$ref": "#/components/schemas/ExistingUserProvisioningRequest"
}
}
}
},
"responses": {
"201": {
"description": "Success",
"content": {
"text/plain": {
"schema": {
"type": "string",
"format": "uuid"
}
},
"application/json": {
"schema": {
"type": "string",
"format": "uuid"
}
},
"text/json": {
"schema": {
"type": "string",
"format": "uuid"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"text/plain": {
"schema": {
"$ref": "#/components/schemas/ProblemDetails"
}
},
"application/json": {
"schema": {
"$ref": "#/components/schemas/ProblemDetails"
}
},
"text/json": {
"schema": {
"$ref": "#/components/schemas/ProblemDetails"
}
}
}
},
"401": {
"description": "Unauthorized",
"content": {
"text/plain": {
"schema": {
"$ref": "#/components/schemas/ProblemDetails"
}
},
"application/json": {
"schema": {
"$ref": "#/components/schemas/ProblemDetails"
}
},
"text/json": {
"schema": {
"$ref": "#/components/schemas/ProblemDetails"
}
}
}
}
}
}
},
"/api/v1/provisioning/{requestId}/erpSystem/{erpSystemId}": {
"post": {
"tags": [
"Provisioning"
],
"summary": "Approve provisioning request bypassing all validations.",
"parameters": [
{
"name": "requestId",
"in": "path",
"required": true,
"schema": {
"type": "string",
"format": "uuid"
}
},
{
"name": "erpSystemId",
"in": "path",
"required": true,
"schema": {
"type": "integer",
"format": "int32"
}
}
],
"responses": {
"200": {
"description": "Success"
},
"400": {
"description": "Bad Request",
"content": {
"text/plain": {
"schema": {
"$ref": "#/components/schemas/ProblemDetails"
}
},
"application/json": {
"schema": {
"$ref": "#/components/schemas/ProblemDetails"
}
},
"text/json": {
"schema": {
"$ref": "#/components/schemas/ProblemDetails"
}
}
}
},
"401": {
"description": "Unauthorized",
"content": {
"text/plain": {
"schema": {
"$ref": "#/components/schemas/ProblemDetails"
}
},
"application/json": {
"schema": {
"$ref": "#/components/schemas/ProblemDetails"
}
},
"text/json": {
"schema": {
"$ref": "#/components/schemas/ProblemDetails"
}
}
}
}
}
}
},
"/api/v1/whatif/customer/{customerId}/erpSystem/{erpSystemId}/useranalysis/{jobId}": {
"get": {
"tags": [
"Whatif"
],
"summary": "Downloads the Customer, System, Job specific WhatIf Excel report, based on the supplied parameters.",
"parameters": [
{
"name": "jobId",
"in": "path",
"description": "Represents the job unique identifier used to download the report.",
"required": true,
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "customerId",
"in": "path",
"description": "Represents the customer unique identifier used to download the report.",
"required": true,
"schema": {
"type": "string",
"format": "uuid"
}
},
{
"name": "erpSystemId",
"in": "path",
"description": "Represents the system unique identifier used to download the report.",
"required": true,
"schema": {
"type": "integer",
"format": "int32"
}
}
],
"responses": {
"200": {
"description": "Success",
"content": {
"application/vnd.ms-excel": {
"schema": {
"$ref": "#/components/schemas/File"
}
},
"application/json": {
"schema": {
"$ref": "#/components/schemas/File"
}
}
}
}
}
}
},
"/api/v1/whatif/customer/{customerId}/erpSystem/{erpSystemId}/useranalysis": {
"post": {
"tags": [
"Whatif"
],
"summary": "Performs a \"what-if\" analysis for the specified user and the specified roles.",
"parameters": [
{
"name": "customerId",
"in": "path",
"required": true,
"schema": {
"type": "string",
"format": "uuid"
}
},
{
"name": "erpSystemId",
"in": "path",
"required": true,
"schema": {
"type": "integer",
"format": "int32"
}
}
],
"requestBody": {
"description": "The request parameters for the \"what-if\" analysis.",
"content": {
"application/json-patch+json": {
"schema": {
"$ref": "#/components/schemas/UserWhatIfAnalysisRequest"
}
},
"application/json": {
"schema": {
"$ref": "#/components/schemas/UserWhatIfAnalysisRequest"
}
},
"text/json": {
"schema": {
"$ref": "#/components/schemas/UserWhatIfAnalysisRequest"
}
},
"application/*+json": {
"schema": {
"$ref": "#/components/schemas/UserWhatIfAnalysisRequest"
}
}
}
},
"responses": {
"200": {
"description": "Success",
"content": {
"text/plain": {
"schema": {
"type": "integer",
"format": "int32"
}
},
"application/json": {
"schema": {
"type": "integer",
"format": "int32"
}
},
"text/json": {
"schema": {
"type": "integer",
"format": "int32"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"text/plain": {
"schema": { }
},
"application/json": {
"schema": { }
},
"text/json": {
"schema": { }
}
}
},
"401": {
"description": "Unauthorized",
"content": {
"text/plain": {
"schema": { }
},
"application/json": {
"schema": { }
},
"text/json": {
"schema": { }
}
}
}
},
"deprecated": true
}
},
"/api/v1/whatif/roleanalysis": {
"post": {
"tags": [
"Whatif"
],
"summary": "Performs a \"what-if\" analysis for the specified collection of roles.",
"requestBody": {
"content": {
"application/json-patch+json": {
"schema": {
"$ref": "#/components/schemas/RolesWhatIfAnalysisRequest"
}
},
"application/json": {
"schema": {
"$ref": "#/components/schemas/RolesWhatIfAnalysisRequest"
}
},
"text/json": {
"schema": {
"$ref": "#/components/schemas/RolesWhatIfAnalysisRequest"
}
},
"application/*+json": {
"schema": {
"$ref": "#/components/schemas/RolesWhatIfAnalysisRequest"
}
}
}
},
"responses": {
"200": {
"description": "Success",
"content": {
"text/plain": {
"schema": {
"$ref": "#/components/schemas/RolesWhatIfAnalysisRequestWhatIfAnalysisResponse"
}
},
"application/json": {
"schema": {
"$ref": "#/components/schemas/RolesWhatIfAnalysisRequestWhatIfAnalysisResponse"
}
},
"text/json": {
"schema": {
"$ref": "#/components/schemas/RolesWhatIfAnalysisRequestWhatIfAnalysisResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"text/plain": {
"schema": { }
},
"application/json": {
"schema": { }
},
"text/json": {
"schema": { }
}
}
},
"401": {
"description": "Unauthorized",
"content": {
"text/plain": {
"schema": { }
},
"application/json": {
"schema": { }
},
"text/json": {
"schema": { }
}
}
}
}
}
},
"/api/v1/whatif/customer/{customerId}/erpSystem/{systemId}/user/{userId}/useranalysis": {
"post": {
"tags": [
"Whatif"
],
"summary": "Performs a \"what-if\" analysis for the specified user and the specified entitlements.",
"parameters": [
{
"name": "customerId",
"in": "path",
"description": "",
"required": true,
"schema": {
"type": "string",
"format": "uuid"
}
},
{
"name": "systemId",
"in": "path",
"description": "",
"required": true,
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "userId",
"in": "path",
"description": "",
"required": true,
"schema": {
"type": "string"
}
}
],
"requestBody": {
"description": "The request parameters for the \"what-if\" analysis.",
"content": {
"application/json-patch+json": {
"schema": {
"$ref": "#/components/schemas/WhatIfAnalysisRequest"
}
},
"application/json": {
"schema": {
"$ref": "#/components/schemas/WhatIfAnalysisRequest"
}
},
"text/json": {
"schema": {
"$ref": "#/components/schemas/WhatIfAnalysisRequest"
}
},
"application/*+json": {
"schema": {
"$ref": "#/components/schemas/WhatIfAnalysisRequest"
}
}
}
},
"responses": {
"200": {
"description": "Success",
"content": {
"text/plain": {
"schema": {
"$ref": "#/components/schemas/WhatIfAnalysisResponse"
}
},
"application/json": {
"schema": {
"$ref": "#/components/schemas/WhatIfAnalysisResponse"
}
},
"text/json": {
"schema": {
"$ref": "#/components/schemas/WhatIfAnalysisResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"text/plain": {
"schema": { }
},
"application/json": {
"schema": { }
},
"text/json": {
"schema": { }
}
}
},
"401": {
"description": "Unauthorized",
"content": {
"text/plain": {
"schema": { }
},
"application/json": {
"schema": { }
},
"text/json": {
"schema": { }
}
}
},
"428": {
"description": "Client Error",
"content": {
"text/plain": {
"schema": { }
},
"application/json": {
"schema": { }
},
"text/json": {
"schema": { }
}
}
}
}
}
},
"/api/v1/whatif/customer/{customerId}/erpSystem/{systemId}/newuser/analysis": {
"post": {
"tags": [
"Whatif"
],
"summary": "Responsible for performing a What-If simulated analysis for a new user.",
"parameters": [
{
"name": "customerId",
"in": "path",
"description": "Represents the unique customer identifier to which the new user What-If simulation occurs.",
"required": true,
"schema": {
"type": "string",
"format": "uuid"
}
},
{
"name": "systemId",
"in": "path",
"description": "Represents the unique system identifier to which the new user What-If simulation occurs.",
"required": true,
"schema": {
"type": "integer",
"format": "int32"
}
}
],
"requestBody": {
"description": "Represents the parameters required to perform the simulated analysis.",
"content": {
"application/json-patch+json": {
"schema": {
"$ref": "#/components/schemas/WhatIfAnalysisRequest"
}
},
"application/json": {
"schema": {
"$ref": "#/components/schemas/WhatIfAnalysisRequest"
}
},
"text/json": {
"schema": {
"$ref": "#/components/schemas/WhatIfAnalysisRequest"
}
},
"application/*+json": {
"schema": {
"$ref": "#/components/schemas/WhatIfAnalysisRequest"
}
}
}
},
"responses": {
"200": {
"description": "Success"
},
"401": {
"description": "Unauthorized",
"content": {
"text/plain": {
"schema": {
"$ref": "#/components/schemas/ProblemDetails"
}
},
"application/json": {
"schema": {
"$ref": "#/components/schemas/ProblemDetails"
}
},
"text/json": {
"schema": {
"$ref": "#/components/schemas/ProblemDetails"
}
}
}
},
"404": {
"description": "Not Found",
"content": {
"text/plain": {
"schema": {
"$ref": "#/components/schemas/ProblemDetails"
}
},
"application/json": {
"schema": {
"$ref": "#/components/schemas/ProblemDetails"
}
},
"text/json": {
"schema": {
"$ref": "#/components/schemas/ProblemDetails"
}
}
}
},
"500": {
"description": "Server Error"
}
}
}
},
"/api/v1/whatif/customer/{customerId}/erpSystem/{erpSystemId}/newuseranalysis": {
"post": {
"tags": [
"Whatif"
],
"summary": "Performs a new user \"what-if\" analysis for the specified roles.",
"parameters": [
{
"name": "customerId",
"in": "path",
"description": "The customer identifier",
"required": true,
"schema": {
"type": "string",
"format": "uuid"
}
},
{
"name": "erpSystemId",
"in": "path",
"description": "The ERP System identifier",
"required": true,
"schema": {
"type": "integer",
"format": "int32"
}
}
],
"requestBody": {
"description": "The request parameters for the new user \"what-if\" analysis.",
"content": {
"application/json-patch+json": {
"schema": {
"$ref": "#/components/schemas/NewUserWhatIfAnalysisRequest"
}
},
"application/json": {
"schema": {
"$ref": "#/components/schemas/NewUserWhatIfAnalysisRequest"
}
},
"text/json": {
"schema": {
"$ref": "#/components/schemas/NewUserWhatIfAnalysisRequest"
}
},
"application/*+json": {
"schema": {
"$ref": "#/components/schemas/NewUserWhatIfAnalysisRequest"
}
}
}
},
"responses": {
"200": {
"description": "Success",
"content": {
"text/plain": {
"schema": {
"type": "integer",
"format": "int32"
}
},
"application/json": {
"schema": {
"type": "integer",
"format": "int32"
}
},
"text/json": {
"schema": {
"type": "integer",
"format": "int32"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"text/plain": {
"schema": { }
},
"application/json": {
"schema": { }
},
"text/json": {
"schema": { }
}
}
},
"401": {
"description": "Unauthorized",
"content": {
"text/plain": {
"schema": { }
},
"application/json": {
"schema": { }
},
"text/json": {
"schema": { }
}
}
},
"403": {
"description": "Forbidden",
"content": {
"text/plain": {
"schema": { }
},
"application/json": {
"schema": { }
},
"text/json": {
"schema": { }
}
}
}
},
"deprecated": true
}
}
},
"components": {
"schemas": {
"Activity": {
"type": "object",
"properties": {
"functionName": {
"type": "string",
"description": "Represents the name of the activity.",
"nullable": true
},
"functionCode": {
"type": "string",
"description": "Represents the code of the activity.",
"nullable": true
},
"functionDescription": {
"type": "string",
"description": "Represents the description of the activity.",
"nullable": true
}
},
"additionalProperties": false,
"description": "Represents an Activity object."
},
"DurationModel": {
"type": "object",
"properties": {
"days": {
"maximum": 2147483647,
"minimum": 0,
"type": "integer",
"format": "int32"
},
"hours": {
"maximum": 2147483647,
"minimum": 0,
"type": "integer",
"format": "int32"
},
"minutes": {
"maximum": 59,
"minimum": 0,
"type": "integer",
"format": "int32"
}
},
"additionalProperties": false
},
"EmergencyAccessProfileModel": {
"required": [
"approvers",
"defaultDuration",
"description",
"erpSystemId",
"id",
"name",
"owners",
"requesters",
"reviewers",
"roles"
],
"type": "object",
"properties": {
"id": {
"type": "string",
"format": "uuid"
},
"erpSystemId": {
"type": "integer",
"format": "int32"
},
"name": {
"type": "string"
},
"description": {
"type": "string"
},
"roles": {
"type": "array",
"items": {
"type": "string"
}
},
"rulebookNames": {
"type": "array",
"items": {
"type": "string"
},
"nullable": true
},
"owners": {
"type": "array",
"items": {
"$ref": "#/components/schemas/EmergencyAccessUserModel"
}
},
"ownerNames": {
"type": "string",
"nullable": true,
"readOnly": true
},
"requesters": {
"type": "array",
"items": {
"$ref": "#/components/schemas/EmergencyAccessUserModel"
}
},
"approvers": {
"type": "array",
"items": {
"$ref": "#/components/schemas/EmergencyAccessUserModel"
}
},
"reviewers": {
"type": "array",
"items": {
"$ref": "#/components/schemas/EmergencyAccessUserModel"
}
},
"defaultDuration": {
"$ref": "#/components/schemas/DurationModel"
},
"maxDuration": {
"$ref": "#/components/schemas/DurationModel"
},
"enabled": {
"type": "boolean"
},
"createdBy": {
"type": "string",
"nullable": true
},
"createdDate": {
"type": "string",
"format": "date-time"
}
},
"additionalProperties": false
},
"EmergencyAccessRequestModel": {
"required": [
"duration",
"id",
"profileId",
"reason",
"requesterUserId",
"startDate",
"timeZoneId",
"transactionRequested"
],
"type": "object",
"properties": {
"id": {
"type": "string",
"format": "uuid"
},
"displayId": {
"type": "string",
"nullable": true
},
"profileId": {
"type": "string",
"format": "uuid"
},
"requesterUserId": {
"type": "string",
"format": "uuid"
},
"reason": {
"type": "string"
},
"transactionRequested": {
"type": "string"
},
"comments": {
"type": "string",
"nullable": true
},
"startDate": {
"type": "string",
"format": "date-time"
},
"timeZoneId": {
"type": "string"
},
"duration": {
"$ref": "#/components/schemas/DurationModel"
},
"displayDuration": {
"type": "string",
"nullable": true
},
"initialState": {
"enum": [
"Submitted",
"AwaitingApproval",
"Approved",
"Rejected",
"AwaitingReview",
"Accepted",
"Contested",
"AccessProvisioned",
"GeneratingUsageReport",
"Created",
"Updated",
"Retracted",
"Error",
"Exception",
"Terminated"
],
"type": "string"
}
},
"additionalProperties": false
},
"EmergencyAccessUserModel": {
"type": "object",
"properties": {
"id": {
"type": "string",
"format": "uuid"
},
"email": {
"type": "string",
"nullable": true
},
"firstName": {
"type": "string",
"nullable": true
},
"lastName": {
"type": "string",
"nullable": true
},
"fullName": {
"type": "string",
"nullable": true
},
"username": {
"type": "string",
"nullable": true
},
"isPreApprovedRequester": {
"type": "boolean"
}
},
"additionalProperties": false
},
"Entitlement": {
"type": "object",
"properties": {
"name": {
"type": "string",
"description": "Represents the name of the entitlement.",
"nullable": true
},
"functionalityType": {
"type": "string",
"description": "Represents the functionality type of the entitlement. E.g.: \"Role\" or \"Profile\".",
"nullable": true
}
},
"additionalProperties": false,
"description": "Represents an entitlement object."
},
"Error": {
"type": "object",
"properties": {
"errorCode": {
"type": "string",
"description": "Represents the error code.",
"nullable": true
},
"errorMessage": {
"type": "string",
"description": "Represents the error message.",
"nullable": true
},
"referenceId": {
"type": "string",
"description": "A value representing an id to reference the error in our logs.",
"format": "uuid"
}
},
"additionalProperties": false,
"description": "Represents an error in the \"what-if\" analysis response."
},
"ExistingUserProvisioningRequest": {
"required": [
"roleChanges",
"username"
],
"type": "object",
"properties": {
"username": {
"type": "string",
"description": "Represents the username of the existing user."
},
"enableManagerApprovals": {
"type": "boolean",
"description": "Represents a value indicating whether to enable manager approvals."
},
"accountId": {
"type": "integer",
"description": "Represents the id of the account under which the provisioning was requested.",
"format": "int32"
},
"erpSystemId": {
"type": "integer",
"description": "Represents the id of the ERP system.",
"format": "int32"
},
"roleChanges": {
"type": "array",
"items": {
"$ref": "#/components/schemas/RoleChange"
},
"description": "Represents a collection of role changes to check for conflicts."
},
"comment": {
"type": "string",
"description": "Represents optional comments for request.",
"nullable": true
},
"provisionPartialRoles": {
"type": "boolean",
"description": "Determines if request could be provisioned even if some of its roles have been rejected."
}
},
"additionalProperties": false,
"description": "Represents the model of an existing user provisioning request."
},
"File": {
"type": "object",
"additionalProperties": false
},
"MitigatingControlDetailsModel": {
"required": [
"accountId",
"code",
"description",
"frequency",
"id",
"name",
"objective",
"ownerUsername",
"type"
],
"type": "object",
"properties": {
"accountId": {
"type": "integer",
"format": "int32"
},
"ownerUsername": {
"type": "string"
},
"type": {
"type": "string"
},
"code": {
"type": "string"
},
"createdBy": {
"type": "string",
"nullable": true
},
"createdDate": {
"type": "string",
"format": "date-time"
},
"updatedBy": {
"type": "string",
"nullable": true
},
"updatedDate": {
"type": "string",
"format": "date-time",
"nullable": true
},
"rules": {
"type": "array",
"items": {
"$ref": "#/components/schemas/MitigatingRuleModel"
},
"nullable": true
},
"id": {
"type": "string",
"format": "uuid"
},
"mitigatingControlCode": {
"type": "string",
"nullable": true
},
"name": {
"type": "string"
},
"description": {
"type": "string"
},
"objective": {
"type": "string"
},
"frequency": {
"enum": [
"Daily",
"Weekly",
"Monthly",
"Quarterly",
"BiAnnual",
"Annual",
"AdHoc"
],
"type": "string"
},
"requiresTesting": {
"type": "boolean"
}
},
"additionalProperties": false
},
"MitigatingRuleModel": {
"required": [
"reason"
],
"type": "object",
"properties": {
"id": {
"type": "string",
"format": "uuid"
},
"ruleId": {
"type": "string",
"format": "uuid"
},
"ruleName": {
"type": "string",
"nullable": true
},
"ruleCode": {
"type": "string",
"nullable": true
},
"reason": {
"type": "string"
},
"users": {
"type": "array",
"items": {
"$ref": "#/components/schemas/MitigatingRuleUserModel"
},
"nullable": true
}
},
"additionalProperties": false
},
"MitigatingRuleUserModel": {
"required": [
"reason",
"username"
],
"type": "object",
"properties": {
"id": {
"type": "string",
"format": "uuid"
},
"username": {
"type": "string"
},
"reason": {
"type": "string"
}
},
"additionalProperties": false
},
"ModelError": {
"type": "object",
"properties": {
"exception": {
"nullable": true
},
"errorMessage": {
"type": "string",
"nullable": true
}
},
"additionalProperties": false
},
"ModelStateEntry": {
"type": "object",
"properties": {
"rawValue": {
"nullable": true
},
"attemptedValue": {
"type": "string",
"nullable": true
},
"errors": {
"type": "array",
"items": {
"$ref": "#/components/schemas/ModelError"
},
"nullable": true,
"readOnly": true
},
"validationState": {
"enum": [
0,
1,
2,
3
],
"type": "integer",
"format": "int32"
},
"isContainerNode": {
"type": "boolean",
"readOnly": true
},
"children": {
"type": "array",
"items": {
"$ref": "#/components/schemas/ModelStateEntry"
},
"nullable": true,
"readOnly": true
}
},
"additionalProperties": false
},
"NewUserProvisioningRequest": {
"required": [
"roleChanges",
"userDetails"
],
"type": "object",
"properties": {
"userDetails": {
"$ref": "#/components/schemas/SapUserModel"
},
"accountId": {
"type": "integer",
"description": "Represents the id of the account under which the provisioning was requested.",
"format": "int32"
},
"erpSystemId": {
"type": "integer",
"description": "Represents the id of the ERP system.",
"format": "int32"
},
"roleChanges": {
"type": "array",
"items": {
"$ref": "#/components/schemas/RoleChange"
},
"description": "Represents a collection of role changes to check for conflicts."
},
"comment": {
"type": "string",
"description": "Represents optional comments for request.",
"nullable": true
},
"provisionPartialRoles": {
"type": "boolean",
"description": "Determines if request could be provisioned even if some of its roles have been rejected."
}
},
"additionalProperties": false,
"description": "Represents the model for a new user provisioning request."
},
"NewUserWhatIfAnalysisRequest": {
"required": [
"systemId"
],
"type": "object",
"properties": {
"rolesToAdd": {
"type": "array",
"items": {
"type": "string"
},
"description": "Represents the collection of roles to add for the \"whatif\" analysis.",
"nullable": true
},
"rolesToRemove": {
"type": "array",
"items": {
"type": "string"
},
"description": "Represents the collection of roles to remove for the \"whatif\" analysis.",
"nullable": true
},
"systemId": {
"type": "string",
"description": "Represents the id of the user system."
}
},
"additionalProperties": false,
"description": "Represents the request parameters needed to execute a new user \"whatif\" analysis."
},
"ProblemDetails": {
"type": "object",
"properties": {
"type": {
"type": "string",
"nullable": true
},
"title": {
"type": "string",
"nullable": true
},
"status": {
"type": "integer",
"format": "int32",
"nullable": true
},
"detail": {
"type": "string",
"nullable": true
},
"instance": {
"type": "string",
"nullable": true
}
},
"additionalProperties": { }
},
"Risk": {
"type": "object",
"properties": {
"riskName": {
"type": "string",
"description": "Represents the name of the risk.",
"nullable": true
},
"riskCode": {
"type": "string",
"description": "Represents the code of the risk.",
"nullable": true
},
"riskDescription": {
"type": "string",
"description": "Represents the description of the risk.",
"nullable": true
},
"riskLevel": {
"enum": [
"Undefined",
"LOW",
"MEDIUM",
"HIGH"
],
"type": "string",
"description": "Represents the risk level."
},
"riskType": {
"enum": [
"Undefined",
"SA",
"SoD"
],
"type": "string",
"description": "Represents the risk type."
},
"activities": {
"type": "array",
"items": {
"$ref": "#/components/schemas/Activity"
},
"description": "Represents the activities in conflict.",
"nullable": true
}
},
"additionalProperties": false,
"description": "Represents a risk."
},
"RiskDetailsLookupModel": {
"type": "object",
"properties": {
"name": {
"type": "string",
"description": "The name of the Risk",
"nullable": true
},
"description": {
"type": "string",
"description": "The description of the Risk",
"nullable": true
},
"owners": {
"type": "array",
"items": {
"type": "string"
},
"description": "A list of names of all users assigned as owners to the risk.",
"nullable": true
},
"rating": {
"enum": [
0,
1,
2,
3,
4,
5
],
"type": "integer",
"description": "The severity rating of the risk.",
"format": "int32"
},
"businessFunctions": {
"type": "object",
"additionalProperties": {
"type": "string"
},
"description": "A list of business functions associated with the risk",
"nullable": true
},
"approvers": {
"type": "array",
"items": {
"type": "string"
},
"description": "A list of names of all users assigned as approvers for the risk.",
"nullable": true
}
},
"additionalProperties": false,
"description": "Contains detail information for a given risk."
},
"RoleChange": {
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "The unique identifier of the role.",
"format": "uuid"
},
"roleName": {
"type": "string",
"description": "The role name.",
"nullable": true
},
"changeType": {
"enum": [
0,
1,
2
],
"type": "integer",
"description": "The role change type.",
"format": "int32"
},
"validFrom": {
"type": "string",
"description": "The start date of the validity of the role.",
"format": "date-time",
"nullable": true
},
"validTo": {
"type": "string",
"description": "The end date of the validity of the role.",
"format": "date-time",
"nullable": true
}
},
"additionalProperties": false,
"description": "Represents the model of a role change."
},
"RoleDTO": {
"type": "object",
"properties": {
"roleName": {
"type": "string",
"nullable": true
},
"roleDescription": {
"type": "string",
"nullable": true
}
},
"additionalProperties": false
},
"RolesWhatIfAnalysisRequest": {
"required": [
"systemId"
],
"type": "object",
"properties": {
"rolesToAnalyze": {
"type": "array",
"items": {
"type": "string"
},
"description": "Represents the collection of roles to be analyzed.",
"nullable": true
},
"systemId": {
"type": "string",
"description": "Represents the id of the user system."
}
},
"additionalProperties": false,
"description": "Represents the roles what-if analysis request."
},
"RolesWhatIfAnalysisRequestWhatIfAnalysisResponse": {
"type": "object",
"properties": {
"request": {
"$ref": "#/components/schemas/RolesWhatIfAnalysisRequest"
},
"requestTimestampUtc": {
"type": "string",
"description": "Represents the time at which the request was received.",
"format": "date-time"
},
"extractTimestampUtc": {
"type": "string",
"description": "Represents the timestamp of the security extract used in the analysis.",
"format": "date-time"
},
"rulebookTimestampUtc": {
"type": "string",
"description": "Represents the timestamp of the rulebook version used in the analysis.",
"format": "date-time"
},
"ruleViolations": {
"type": "array",
"items": {
"$ref": "#/components/schemas/RuleViolation"
},
"description": "Represents the list of rule violations generated by the request.",
"nullable": true
}
},
"additionalProperties": false,
"description": "The response object that represents the rule violations, if any, that were\r\nproduced as a result of the \"whatif\" analysis."
},
"RuleViolation": {
"type": "object",
"properties": {
"ruleName": {
"type": "string",
"description": "The name of the rule that's been violated.",
"nullable": true
},
"ruleDescription": {
"type": "string",
"description": "The description of the rule that's been violated.",
"nullable": true
},
"riskLevel": {
"enum": [
0,
1,
2,
3,
4,
5
],
"type": "integer",
"description": "The level of risk the rule represents.",
"format": "int32"
},
"riskType": {
"enum": [
0,
1,
2,
3
],
"type": "integer",
"description": "The type of risk the rule represents.",
"format": "int32"
}
},
"additionalProperties": false,
"description": "Represents a rule violation."
},
"SapUserDTO": {
"type": "object",
"properties": {
"userName": {
"type": "string",
"nullable": true
},
"fullName": {
"type": "string",
"nullable": true
},
"userType": {
"type": "string",
"nullable": true
},
"userGroup": {
"type": "string",
"nullable": true
}
},
"additionalProperties": false
},
"SapUserModel": {
"required": [
"email",
"lastName",
"username",
"userType"
],
"type": "object",
"properties": {
"username": {
"type": "string",
"description": "Represents the id of the user."
},
"email": {
"type": "string",
"description": "Represents the user's email address.",
"format": "email"
},
"firstName": {
"type": "string",
"description": "Represents the user's first name.",
"nullable": true
},
"lastName": {
"type": "string",
"description": "Represents the user's last name."
},
"userType": {
"enum": [
0,
1,
2,
3,
4
],
"type": "integer",
"description": "Represents the user's SAP user type.",
"format": "int32"
},
"userClass": {
"type": "string",
"description": "Represents the user's class.",
"nullable": true
},
"validFrom": {
"type": "string",
"description": "Represents the date from which the user is valid.",
"format": "date-time",
"nullable": true
},
"validTo": {
"type": "string",
"description": "Represents the date to which the user is valid.",
"format": "date-time",
"nullable": true
}
},
"additionalProperties": false,
"description": "Represents the model for a SAP user."
},
"UserWhatIfAnalysisMetadata": {
"type": "object",
"properties": {
"analysisId": {
"type": "integer",
"format": "int32"
},
"extractId": {
"type": "integer",
"format": "int32"
},
"rulebookId": {
"type": "integer",
"format": "int32"
},
"extractTimestampUtc": {
"type": "string",
"format": "date-time"
},
"rulebookTimestampUtc": {
"type": "string",
"format": "date-time"
}
},
"additionalProperties": false
},
"UserWhatIfAnalysisRequest": {
"required": [
"systemId",
"username"
],
"type": "object",
"properties": {
"username": {
"type": "string",
"description": "Represents the user to be used for the analysis."
},
"rolesToAdd": {
"type": "array",
"items": {
"type": "string"
},
"description": "Represents the collection of roles to add for the \"whatif\" analysis.",
"nullable": true
},
"rolesToRemove": {
"type": "array",
"items": {
"type": "string"
},
"description": "Represents the collection of roles to remove for the \"whatif\" analysis.",
"nullable": true
},
"systemId": {
"type": "string",
"description": "Represents the id of the user system."
}
},
"additionalProperties": false,
"description": "Represents the request parameters needed to execute a \"whatif\" analysis."
},
"WhatIfAnalysisRequest": {
"type": "object",
"properties": {
"entitlementsToAdd": {
"type": "array",
"items": {
"$ref": "#/components/schemas/Entitlement"
},
"description": "Represents a collection of entitlements to add.",
"nullable": true
},
"entitlementsToRemove": {
"type": "array",
"items": {
"$ref": "#/components/schemas/Entitlement"
},
"description": "Represents a collection of entitlements to remove.",
"nullable": true
}
},
"additionalProperties": false,
"description": "Represents the \"what-if\" analysis request."
},
"WhatIfAnalysisRequestData": {
"type": "object",
"properties": {
"customerId": {
"type": "string",
"format": "uuid"
},
"systemId": {
"type": "integer",
"format": "int64"
},
"userId": {
"type": "string",
"nullable": true
},
"entitlementsToAdd": {
"type": "array",
"items": {
"$ref": "#/components/schemas/Entitlement"
},
"description": "Represents a collection of entitlements to add.",
"nullable": true
},
"entitlementsToRemove": {
"type": "array",
"items": {
"$ref": "#/components/schemas/Entitlement"
},
"description": "Represents a collection of entitlements to remove.",
"nullable": true
}
},
"additionalProperties": false
},
"WhatIfAnalysisResponse": {
"type": "object",
"properties": {
"analysisMetadata": {
"$ref": "#/components/schemas/UserWhatIfAnalysisMetadata"
},
"request": {
"$ref": "#/components/schemas/WhatIfAnalysisRequestData"
},
"violations": {
"type": "array",
"items": {
"$ref": "#/components/schemas/Risk"
},
"description": "Represents a collection of SailPoint.Arm.Services.PublicApi.WebApi.Models.WhatIfAnalysis.RealTime.Risk objects containing the risk violation details.",
"nullable": true
},
"error": {
"$ref": "#/components/schemas/Error"
}
},
"additionalProperties": false,
"description": "Represents the \"what-if\" analysis response object."
}
},
"securitySchemes": {
"Bearer": {
"type": "http",
"description": "JWT Authorization header using the Bearer scheme. Example: \"Authorization: Bearer {token}\"",
"scheme": "bearer"
}
}
},
"security": [
{
"Bearer": [
"Bearer"
]
}
],
"tags": [
{
"name": "Eam",
"description": "Contains a collection of endpoints that allow EAM operations."
},
{
"name": "Lookup",
"description": "Contains a collection of endpoints that allow \"look up\" information."
},
{
"name": "Provisioning",
"description": "Contains a collection of endpoints that allow secure provisioning operations."
},
{
"name": "Whatif",
"description": "Contains a collection of endpoints that allow \"what-if\" analysis operations."
}
]
}