--- id: update-access-request-config sidebar_label: Update Access Request Configuration hide_title: true hide_table_of_contents: true api: {"operationId":"updateAccessRequestConfig","tags":["Access Requests"],"description":"This endpoint replaces the current access-request configuration.\nA token with ORG_ADMIN authority is required to call this API.","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"approvalsMustBeExternal":{"type":"boolean","description":"If true, then approvals must be processed by external system.","example":true},"autoApprovalEnabled":{"type":"boolean","description":"If true and requester and reviewer are the same, then automatically approve the approval.","example":true},"requestOnBehalfOfConfig":{"description":"Request On Behalf Of Configuration.","type":"object","properties":{"allowRequestOnBehalfOfAnyoneByAnyone":{"type":"boolean","description":"If anyone can request access for anyone.","example":true},"allowRequestOnBehalfOfEmployeeByManager":{"type":"boolean","description":"If a manager can request access for his/her direct reports.","example":true}}},"approvalReminderAndEscalationConfig":{"description":"Approval Reminder and Escalation Configuration.","type":"object","properties":{"daysUntilEscalation":{"type":"integer","description":"Number of days to wait before the first reminder. If no reminders are configured, then this is the number of days to wait before escalation.","format":"int32","example":0},"daysBetweenReminders":{"type":"integer","description":"Number of days to wait between reminder notifications.","format":"int32","example":0},"maxReminders":{"type":"integer","description":"Maximum number of reminder notification to send to the reviewer before approval escalation.","format":"int32","example":0},"fallbackApproverRef":{"type":"object","nullable":true,"properties":{"type":{"type":"string","description":"The type can only be IDENTITY. This is read-only","example":"IDENTITY"},"id":{"type":"string","description":"Identity id.","example":"5168015d32f890ca15812c9180835d2e"},"name":{"type":"string","description":"Human-readable display name of identity. This is read-only","example":"Alison Ferguso"},"email":{"type":"string","description":"Email address of identity. This is read-only","example":"alison.ferguso@identitysoon.com"}}}}},"entitlementRequestConfig":{"description":"Entitlement Request Configuration.","type":"object","properties":{"allowEntitlementRequest":{"type":"boolean","description":"Flag for allowing entitlement request.","example":true},"requestCommentsRequired":{"type":"boolean","description":"Flag for requiring comments while submitting an entitlement request.","default":false,"example":false},"deniedCommentsRequired":{"type":"boolean","description":"Flag for requiring comments while rejecting an entitlement request.","default":false,"example":false},"grantRequestApprovalSchemes":{"type":"string","description":"Approval schemes for granting entitlement request. This can be empty if no approval is needed.\nMultiple schemes must be comma-separated. The valid schemes are \"sourceOwner\", \"manager\" and \"workgroup:{id}\".\nMultiple workgroups (governance groups) can be used.\n","default":"sourceOwner","example":"sourceOwner, manager, workgroup:2c918084660f45d6016617daa9210584"}}}}}}}},"responses":{"200":{"description":"Access Request Configuration Details.","content":{"application/json":{"schema":{"type":"object","properties":{"approvalsMustBeExternal":{"type":"boolean","description":"If true, then approvals must be processed by external system.","example":true},"autoApprovalEnabled":{"type":"boolean","description":"If true and requester and reviewer are the same, then automatically approve the approval.","example":true},"requestOnBehalfOfConfig":{"description":"Request On Behalf Of Configuration.","type":"object","properties":{"allowRequestOnBehalfOfAnyoneByAnyone":{"type":"boolean","description":"If anyone can request access for anyone.","example":true},"allowRequestOnBehalfOfEmployeeByManager":{"type":"boolean","description":"If a manager can request access for his/her direct reports.","example":true}}},"approvalReminderAndEscalationConfig":{"description":"Approval Reminder and Escalation Configuration.","type":"object","properties":{"daysUntilEscalation":{"type":"integer","description":"Number of days to wait before the first reminder. If no reminders are configured, then this is the number of days to wait before escalation.","format":"int32","example":0},"daysBetweenReminders":{"type":"integer","description":"Number of days to wait between reminder notifications.","format":"int32","example":0},"maxReminders":{"type":"integer","description":"Maximum number of reminder notification to send to the reviewer before approval escalation.","format":"int32","example":0},"fallbackApproverRef":{"type":"object","nullable":true,"properties":{"type":{"type":"string","description":"The type can only be IDENTITY. This is read-only","example":"IDENTITY"},"id":{"type":"string","description":"Identity id.","example":"5168015d32f890ca15812c9180835d2e"},"name":{"type":"string","description":"Human-readable display name of identity. This is read-only","example":"Alison Ferguso"},"email":{"type":"string","description":"Email address of identity. This is read-only","example":"alison.ferguso@identitysoon.com"}}}}},"entitlementRequestConfig":{"description":"Entitlement Request Configuration.","type":"object","properties":{"allowEntitlementRequest":{"type":"boolean","description":"Flag for allowing entitlement request.","example":true},"requestCommentsRequired":{"type":"boolean","description":"Flag for requiring comments while submitting an entitlement request.","default":false,"example":false},"deniedCommentsRequired":{"type":"boolean","description":"Flag for requiring comments while rejecting an entitlement request.","default":false,"example":false},"grantRequestApprovalSchemes":{"type":"string","description":"Approval schemes for granting entitlement request. This can be empty if no approval is needed.\nMultiple schemes must be comma-separated. The valid schemes are \"sourceOwner\", \"manager\" and \"workgroup:{id}\".\nMultiple workgroups (governance groups) can be used.\n","default":"sourceOwner","example":"sourceOwner, manager, workgroup:2c918084660f45d6016617daa9210584"}}}}}}}},"400":{"description":"Client Error - Returned if the request body is invalid.","content":{"application/json":{"schema":{"type":"object","properties":{"detailCode":{"type":"string","description":"Fine-grained error code providing more detail of the error.","example":"400.1 Bad Request Content"},"trackingId":{"type":"string","description":"Unique tracking id for the error.","example":"e7eab60924f64aa284175b9fa3309599"},"messages":{"type":"array","description":"Generic localized reason for error","items":{"type":"object","properties":{"locale":{"type":"string","description":"The locale for the message text, a BCP 47 language tag.","example":"en-US"},"localeOrigin":{"type":"string","enum":["DEFAULT","REQUEST"],"description":"An indicator of how the locale was selected. *DEFAULT* means the locale is the system default. *REQUEST* means the locale was selected from the request context (i.e., best match based on the *Accept-Language* header). Additional values may be added in the future without notice.","example":"DEFAULT"},"text":{"type":"string","description":"Actual text of the error message in the indicated locale.","example":"The request was syntactically correct but its content is semantically invalid."}}}},"causes":{"type":"array","description":"Plain-text descriptive reasons to provide additional detail to the text provided in the messages field","items":{"type":"object","properties":{"locale":{"type":"string","description":"The locale for the message text, a BCP 47 language tag.","example":"en-US"},"localeOrigin":{"type":"string","enum":["DEFAULT","REQUEST"],"description":"An indicator of how the locale was selected. *DEFAULT* means the locale is the system default. *REQUEST* means the locale was selected from the request context (i.e., best match based on the *Accept-Language* header). Additional values may be added in the future without notice.","example":"DEFAULT"},"text":{"type":"string","description":"Actual text of the error message in the indicated locale.","example":"The request was syntactically correct but its content is semantically invalid."}}}}}}}}},"401":{"description":"Unauthorized - Returned if there is no authorization header, or if the JWT token is expired.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"description":"A message describing the error","example":"JWT validation failed: JWT is expired"}}}}}},"403":{"description":"Forbidden - Returned if the user you are running as, doesn't have access to this end-point.","content":{"application/json":{"schema":{"type":"object","properties":{"detailCode":{"type":"string","description":"Fine-grained error code providing more detail of the error.","example":"400.1 Bad Request Content"},"trackingId":{"type":"string","description":"Unique tracking id for the error.","example":"e7eab60924f64aa284175b9fa3309599"},"messages":{"type":"array","description":"Generic localized reason for error","items":{"type":"object","properties":{"locale":{"type":"string","description":"The locale for the message text, a BCP 47 language tag.","example":"en-US"},"localeOrigin":{"type":"string","enum":["DEFAULT","REQUEST"],"description":"An indicator of how the locale was selected. *DEFAULT* means the locale is the system default. *REQUEST* means the locale was selected from the request context (i.e., best match based on the *Accept-Language* header). Additional values may be added in the future without notice.","example":"DEFAULT"},"text":{"type":"string","description":"Actual text of the error message in the indicated locale.","example":"The request was syntactically correct but its content is semantically invalid."}}}},"causes":{"type":"array","description":"Plain-text descriptive reasons to provide additional detail to the text provided in the messages field","items":{"type":"object","properties":{"locale":{"type":"string","description":"The locale for the message text, a BCP 47 language tag.","example":"en-US"},"localeOrigin":{"type":"string","enum":["DEFAULT","REQUEST"],"description":"An indicator of how the locale was selected. *DEFAULT* means the locale is the system default. *REQUEST* means the locale was selected from the request context (i.e., best match based on the *Accept-Language* header). Additional values may be added in the future without notice.","example":"DEFAULT"},"text":{"type":"string","description":"Actual text of the error message in the indicated locale.","example":"The request was syntactically correct but its content is semantically invalid."}}}}}},"examples":{"403":{"summary":"An example of a 403 response object","value":{"detailCode":"403 Forbidden","trackingId":"b21b1f7ce4da4d639f2c62a57171b427","messages":[{"locale":"en-US","localeOrigin":"DEFAULT","text":"The server understood the request but refuses to authorize it."}]}}}}}},"429":{"description":"Too Many Requests - Returned in response to too many requests in a given period of time - rate limited. The Retry-After header in the response includes how long to wait before trying again.","content":{"application/json":{"schema":{"type":"object","properties":{"message":{"description":"A message describing the error","example":" Rate Limit Exceeded "}}}}}},"500":{"description":"Internal Server Error - Returned if there is an unexpected error.","content":{"application/json":{"schema":{"type":"object","properties":{"detailCode":{"type":"string","description":"Fine-grained error code providing more detail of the error.","example":"400.1 Bad Request Content"},"trackingId":{"type":"string","description":"Unique tracking id for the error.","example":"e7eab60924f64aa284175b9fa3309599"},"messages":{"type":"array","description":"Generic localized reason for error","items":{"type":"object","properties":{"locale":{"type":"string","description":"The locale for the message text, a BCP 47 language tag.","example":"en-US"},"localeOrigin":{"type":"string","enum":["DEFAULT","REQUEST"],"description":"An indicator of how the locale was selected. *DEFAULT* means the locale is the system default. *REQUEST* means the locale was selected from the request context (i.e., best match based on the *Accept-Language* header). Additional values may be added in the future without notice.","example":"DEFAULT"},"text":{"type":"string","description":"Actual text of the error message in the indicated locale.","example":"The request was syntactically correct but its content is semantically invalid."}}}},"causes":{"type":"array","description":"Plain-text descriptive reasons to provide additional detail to the text provided in the messages field","items":{"type":"object","properties":{"locale":{"type":"string","description":"The locale for the message text, a BCP 47 language tag.","example":"en-US"},"localeOrigin":{"type":"string","enum":["DEFAULT","REQUEST"],"description":"An indicator of how the locale was selected. *DEFAULT* means the locale is the system default. *REQUEST* means the locale was selected from the request context (i.e., best match based on the *Accept-Language* header). Additional values may be added in the future without notice.","example":"DEFAULT"},"text":{"type":"string","description":"Actual text of the error message in the indicated locale.","example":"The request was syntactically correct but its content is semantically invalid."}}}}}},"examples":{"500":{"summary":"An example of a 500 response object","value":{"detailCode":"500.0 Internal Fault","trackingId":"b21b1f7ce4da4d639f2c62a57171b427","messages":[{"locale":"en-US","localeOrigin":"DEFAULT","text":"An internal fault occurred."}]}}}}}}},"method":"put","path":"/access-request-config","servers":[{"url":"https://{tenant}.api.identitynow.com/beta","description":"This is the beta API server.","variables":{"tenant":{"default":"sailpoint","description":"This is the name of your tenant, typically your company's name."}}}],"security":[{"oauth2":[]}],"securitySchemes":{"oauth2":{"type":"oauth2","description":"OAuth2 Bearer token (JWT). See [IdentityNow REST API Authentication](https://developer.sailpoint.com/docs/authentication.html) for more information.\n- Directions for generating a [personal access token](https://developer.sailpoint.com/docs/authentication.html#personal-access-tokens)\n- Directions using [client credentials flow](https://developer.sailpoint.com/docs/authentication.html#client-credentials-grant-flow)\n- Directions for using [authorization code flow](https://developer.sailpoint.com/docs/authentication.html#authorization-code-grant-flow)\n\nWhich authentication method should I choose? See our [guide](https://developer.sailpoint.com/docs/authentication.html#which-oauth-2-0-grant-flow-should-i-use)\n\nLearn more about how to find your `tokenUrl` and `authorizationUrl` [in our docs](https://developer.sailpoint.com/docs/authentication.html#finding-your-tenant-s-oauth-details)\n","flows":{"clientCredentials":{"tokenUrl":"https://tenant.api.identitynow.com/oauth/token","scopes":{"sp:scopes:default":"default scope","sp:scopes:all":"access to all scopes"}},"authorizationCode":{"authorizationUrl":"https://tenant.identitynow.com/oauth/authorize","tokenUrl":"https://tenant.api.identitynow.com/oauth/token","scopes":{"sp:scopes:default":"default scope","sp:scopes:all":"access to all scopes"}}}}},"jsonRequestBodyExample":{"approvalsMustBeExternal":true,"autoApprovalEnabled":true,"requestOnBehalfOfConfig":{"allowRequestOnBehalfOfAnyoneByAnyone":true,"allowRequestOnBehalfOfEmployeeByManager":true},"approvalReminderAndEscalationConfig":{"daysUntilEscalation":0,"daysBetweenReminders":0,"maxReminders":0,"fallbackApproverRef":{"type":"IDENTITY","id":"5168015d32f890ca15812c9180835d2e","name":"Alison Ferguso","email":"alison.ferguso@identitysoon.com"}},"entitlementRequestConfig":{"allowEntitlementRequest":true,"requestCommentsRequired":false,"deniedCommentsRequired":false,"grantRequestApprovalSchemes":"sourceOwner, manager, workgroup:2c918084660f45d6016617daa9210584"}},"info":{"contact":{"email":"developers@sailpoint.com","name":"Developer Relations","url":"https://developer.sailpoint.com/discuss"},"description":"These are the public, beta APIs for SailPoint's SaaS services and are subject to change.","title":"SailPoint - Beta SaaS API","version":"3.1.0-beta"},"postman":{"name":"Update Access Request Configuration","description":{"content":"This endpoint replaces the current access-request configuration.\nA token with ORG_ADMIN authority is required to call this API.","type":"text/plain"},"url":{"path":["access-request-config"],"host":["{{baseUrl}}"],"query":[],"variable":[]},"header":[{"key":"Content-Type","value":"application/json"},{"key":"Accept","value":"application/json"}],"method":"PUT","body":{"mode":"raw","raw":"\"\"","options":{"raw":{"language":"json"}}}}} sidebar_class_name: "put api-method" info_path: docs/sailpoint-api-beta/sail-point-beta-saa-s-api --- import ApiTabs from "@theme/ApiTabs"; import MimeTabs from "@theme/MimeTabs"; import ParamsItem from "@theme/ParamsItem"; import ResponseSamples from "@theme/ResponseSamples"; import SchemaItem from "@theme/SchemaItem" import SchemaTabs from "@theme/SchemaTabs"; import DiscriminatorTabs from "@theme/DiscriminatorTabs"; import TabItem from "@theme/TabItem"; ## Update Access Request Configuration This endpoint replaces the current access-request configuration. A token with ORG_ADMIN authority is required to call this API.
Request Body required
    requestOnBehalfOfConfig object
    Request On Behalf Of Configuration.
    approvalReminderAndEscalationConfig object
    Approval Reminder and Escalation Configuration.
    fallbackApproverRef object
    entitlementRequestConfig object
    Entitlement Request Configuration.
Access Request Configuration Details.
Schema
    requestOnBehalfOfConfig object
    Request On Behalf Of Configuration.
    approvalReminderAndEscalationConfig object
    Approval Reminder and Escalation Configuration.
    fallbackApproverRef object
    entitlementRequestConfig object
    Entitlement Request Configuration.
Client Error - Returned if the request body is invalid.
Schema
    messages object[]
    Generic localized reason for error
    causes object[]
    Plain-text descriptive reasons to provide additional detail to the text provided in the messages field
Unauthorized - Returned if there is no authorization header, or if the JWT token is expired.
Schema
Forbidden - Returned if the user you are running as, doesn't have access to this end-point.
Schema
    messages object[]
    Generic localized reason for error
    causes object[]
    Plain-text descriptive reasons to provide additional detail to the text provided in the messages field
Too Many Requests - Returned in response to too many requests in a given period of time - rate limited. The Retry-After header in the response includes how long to wait before trying again.
Schema
Internal Server Error - Returned if there is an unexpected error.
Schema
    messages object[]
    Generic localized reason for error
    causes object[]
    Plain-text descriptive reasons to provide additional detail to the text provided in the messages field