UpdateRequest
/api/v1/requests/{request}Update a change request: approve it, deny it, or change what it asks for.
Example request
curl -X PATCH \ -H "Authorization: Bearer ${OBLIQUE_API_KEY}" \ -H "Content-Type: application/json" \ -d '{ "description": "string", "reviewers": [ "string" ], "applyBehavior": "AUTOMATIC", "recommendations": [ "string" ] }' \ "https://us.oblique.security/api/v1/requests/{request}?updateMask=description,reviewers,applyBehavior,recommendations"Set OBLIQUE_API_KEY to your API key.
curl -X PATCH \ -H "Authorization: Bearer ${OBLIQUE_API_KEY}" \ -H "Content-Type: application/json" \ -d '{ "description": "string", "reviewers": [ "string" ], "applyBehavior": "AUTOMATIC", "recommendations": [ "string" ] }' \ "https://eu.oblique.security/api/v1/requests/{request}?updateMask=description,reviewers,applyBehavior,recommendations"Set OBLIQUE_API_KEY to your API key.
Path parameters
request.namestringrequiredAssigned by Oblique. Name of the request of the format
requests/{id}.
Query parameters
updateMaskstring (field-mask)The list of fields to update.
Request body
createTimestring (date-time)read-onlyCreate and update timestamps.
updateTimestring (date-time)read-onlydisplayNamestringread-onlyShort title of the request to display in an inbox or at the top of a request page. Generated by the server from the request’s contents; any value supplied on input is ignored.
descriptionstringLonger description.
requesterstringread-onlyThe original creator of the request. Inferred by the user’s authenticated state.
Format:
users/{user}reviewersstring[]List of users set to review the request.
The reviewers field is set through this value on creation only. After, use the EditRequestReviewers method to update the reviewers.
Use PreviewSuggestedReviewers to determine who to set as reviewers when creating a request.
Format:
users/{user}orusers/me.One of
teamUpdateRequestTeamUpdateteamstringrequiredThe team to update.
The owner of this team is required to approve the request.
Format:
teams/{team}membersCreatestring[]Members to add to the team.
Format:
users/{user}orusers/me.membersDeletestring[]Members to remove from the team.
Format:
users/{user}orusers/me.
teamCreateRequestTeamCreatedisplayNamestringrequiredDisplay name for the new team.
usersstring[]Initial members to add to the team.
Format:
users/{user}orusers/me.teamDescriptionstringDescription for the team’s associated resource.
ownersstring[]The owners of the team.
Format:
users/{user},users/me,groups/{group}, orteams/{team}.teamstringread-onlyThe team that was created.
teamDeleteRequestTeamDeleteteamstringrequiredThe team to delete.
The owner of this team is required to approve the request.
Format:
teams/{team}
resourceUpdateRequestResourceUpdateresourcestringrequiredentitlementsCreateEntitlement[]A set of entitlements to create.
subjectstringrequiredSet once, when the resource is created. The subject that will be granted access to the resource. An account subject holds the access itself, rather than the directory user behind it, and can only be referenced by an entitlement the integration reported.
Format:
users/{user},users/me,teams/{team},groups/{group}, orintegrations/{integration}/accounts/{account}.One of
expireTimestring (date-time)If present, when this access expires.
ttlstring (duration)If present, the TTL for this resource.
entitlementsUpdateEntitlement[]A set of entitlements to update.
subjectstringrequiredSet once, when the resource is created. The subject that will be granted access to the resource. An account subject holds the access itself, rather than the directory user behind it, and can only be referenced by an entitlement the integration reported.
Format:
users/{user},users/me,teams/{team},groups/{group}, orintegrations/{integration}/accounts/{account}.One of
expireTimestring (date-time)If present, when this access expires.
ttlstring (duration)If present, the TTL for this resource.
entitlementsDeletestring[]Subjects to delete from the resource.
Format:
users/{user},users/me,teams/{team},groups/{group}, orintegrations/{integration}/accounts/{account}.
listingRoleUpdateRequestListingRoleUpdatelistingstringread-onlyThe inferred listing to be updated based on the roles being granted.
rolesCreateRoleGrant[]Entitlements to grant.
listingRolestringrequiredFormat:
listings/{listing}/roles/{role}If multiple roles are provided, they must be for the same listing.
subjectstringrequiredA user, team, or group.
Format:
users/{user},users/me,teams/{team}, orgroups/{group}.One of
expireTimestring (date-time)
ttlstring (duration)
rolesDeleteRoleGrant[]A list of subjects to remove from roles.
listingRolestringrequiredFormat:
listings/{listing}/roles/{role}If multiple roles are provided, they must be for the same listing.
subjectstringrequiredA user, team, or group.
Format:
users/{user},users/me,teams/{team}, orgroups/{group}.One of
expireTimestring (date-time)
ttlstring (duration)
rolesUpdateRoleGrant[]Entitlements to update.
listingRolestringrequiredFormat:
listings/{listing}/roles/{role}If multiple roles are provided, they must be for the same listing.
subjectstringrequiredA user, team, or group.
Format:
users/{user},users/me,teams/{team}, orgroups/{group}.One of
expireTimestring (date-time)
ttlstring (duration)
teamOwnerUpdateRequestTeamOwnerUpdateteamstringrequiredThe team whose owners will be updated.
Format:
teams/{team}ownersCreatestring[]Owners to add to the team.
Format:
users/{user},users/me,groups/{group}, orteams/{team}.ownersDeletestring[]Owners to remove from the team.
Format:
users/{user},users/me,groups/{group}, orteams/{team}.
groupOwnerUpdateRequestGroupOwnerUpdategroupstringrequiredThe group whose owners will be updated.
Format:
groups/{group}ownersCreatestring[]Owners to add to the group.
Format:
users/{user},users/me,groups/{group}, orteams/{team}.ownersDeletestring[]Owners to remove from the group.
Format:
users/{user},users/me,groups/{group}, orteams/{team}.
listingOwnerUpdateRequestListingOwnerUpdateAdditional request types can be added here as needed
listingstringrequiredThe listing whose owners will be updated.
Format:
listings/{listing}ownersCreatestring[]Owners to add to the listing.
Format:
users/{user},users/me,groups/{group}, orteams/{team}.ownersDeletestring[]Owners to remove from the listing.
Format:
users/{user},users/me,groups/{group}, orteams/{team}.
applicableListingRolePoliciesstring[]read-onlyListing role policies that led to this request being approved, if any.
applyBehaviorstringApply behavior can be used to control how this request is applied. The default requires the requester or an approver to merge manually after the request is approved.
statestringread-onlystatusRequestStatusread-onlyComputed status of the request.
appliedTimestring (date-time)read-onlyThe time the request was merged. Will be empty if the request is not merged.
closedTimestring (date-time)read-onlyThe time the request was closed. Will be empty if the request is not closed.
approversApprover[]read-onlyList of users who have approved the request.
userstringread-onlyThe user who approved the request.
Format:
users/{user}approvedTimestring (date-time)read-onlyThe time the user approved the request. Will be empty if the user has not approved the request.
recommendationsstring[]Recommendations that this request was created to act on. May only be set when the request is created.
When the request is applied, any of these recommendations that are still open will be marked as applied.
Format:
recommendations/{recommendation}
Response
200RequestA request represents a user’s proposal for a change to the system that requires approval from one or more reviewers.
namestringAssigned by Oblique. Name of the request of the format
requests/{id}.createTimestring (date-time)read-onlyCreate and update timestamps.
updateTimestring (date-time)read-onlydisplayNamestringread-onlyShort title of the request to display in an inbox or at the top of a request page. Generated by the server from the request’s contents; any value supplied on input is ignored.
descriptionstringLonger description.
requesterstringread-onlyThe original creator of the request. Inferred by the user’s authenticated state.
Format:
users/{user}reviewersstring[]List of users set to review the request.
The reviewers field is set through this value on creation only. After, use the EditRequestReviewers method to update the reviewers.
Use PreviewSuggestedReviewers to determine who to set as reviewers when creating a request.
Format:
users/{user}orusers/me.One of
teamUpdateRequestTeamUpdateteamstringrequiredThe team to update.
The owner of this team is required to approve the request.
Format:
teams/{team}membersCreatestring[]Members to add to the team.
Format:
users/{user}orusers/me.membersDeletestring[]Members to remove from the team.
Format:
users/{user}orusers/me.
teamCreateRequestTeamCreatedisplayNamestringrequiredDisplay name for the new team.
usersstring[]Initial members to add to the team.
Format:
users/{user}orusers/me.teamDescriptionstringDescription for the team’s associated resource.
ownersstring[]The owners of the team.
Format:
users/{user},users/me,groups/{group}, orteams/{team}.teamstringread-onlyThe team that was created.
teamDeleteRequestTeamDeleteteamstringrequiredThe team to delete.
The owner of this team is required to approve the request.
Format:
teams/{team}
resourceUpdateRequestResourceUpdateresourcestringrequiredentitlementsCreateEntitlement[]A set of entitlements to create.
subjectstringrequiredSet once, when the resource is created. The subject that will be granted access to the resource. An account subject holds the access itself, rather than the directory user behind it, and can only be referenced by an entitlement the integration reported.
Format:
users/{user},users/me,teams/{team},groups/{group}, orintegrations/{integration}/accounts/{account}.One of
expireTimestring (date-time)If present, when this access expires.
ttlstring (duration)If present, the TTL for this resource.
entitlementsUpdateEntitlement[]A set of entitlements to update.
subjectstringrequiredSet once, when the resource is created. The subject that will be granted access to the resource. An account subject holds the access itself, rather than the directory user behind it, and can only be referenced by an entitlement the integration reported.
Format:
users/{user},users/me,teams/{team},groups/{group}, orintegrations/{integration}/accounts/{account}.One of
expireTimestring (date-time)If present, when this access expires.
ttlstring (duration)If present, the TTL for this resource.
entitlementsDeletestring[]Subjects to delete from the resource.
Format:
users/{user},users/me,teams/{team},groups/{group}, orintegrations/{integration}/accounts/{account}.
listingRoleUpdateRequestListingRoleUpdatelistingstringread-onlyThe inferred listing to be updated based on the roles being granted.
rolesCreateRoleGrant[]Entitlements to grant.
listingRolestringrequiredFormat:
listings/{listing}/roles/{role}If multiple roles are provided, they must be for the same listing.
subjectstringrequiredA user, team, or group.
Format:
users/{user},users/me,teams/{team}, orgroups/{group}.One of
expireTimestring (date-time)
ttlstring (duration)
rolesDeleteRoleGrant[]A list of subjects to remove from roles.
listingRolestringrequiredFormat:
listings/{listing}/roles/{role}If multiple roles are provided, they must be for the same listing.
subjectstringrequiredA user, team, or group.
Format:
users/{user},users/me,teams/{team}, orgroups/{group}.One of
expireTimestring (date-time)
ttlstring (duration)
rolesUpdateRoleGrant[]Entitlements to update.
listingRolestringrequiredFormat:
listings/{listing}/roles/{role}If multiple roles are provided, they must be for the same listing.
subjectstringrequiredA user, team, or group.
Format:
users/{user},users/me,teams/{team}, orgroups/{group}.One of
expireTimestring (date-time)
ttlstring (duration)
teamOwnerUpdateRequestTeamOwnerUpdateteamstringrequiredThe team whose owners will be updated.
Format:
teams/{team}ownersCreatestring[]Owners to add to the team.
Format:
users/{user},users/me,groups/{group}, orteams/{team}.ownersDeletestring[]Owners to remove from the team.
Format:
users/{user},users/me,groups/{group}, orteams/{team}.
groupOwnerUpdateRequestGroupOwnerUpdategroupstringrequiredThe group whose owners will be updated.
Format:
groups/{group}ownersCreatestring[]Owners to add to the group.
Format:
users/{user},users/me,groups/{group}, orteams/{team}.ownersDeletestring[]Owners to remove from the group.
Format:
users/{user},users/me,groups/{group}, orteams/{team}.
listingOwnerUpdateRequestListingOwnerUpdateAdditional request types can be added here as needed
listingstringrequiredThe listing whose owners will be updated.
Format:
listings/{listing}ownersCreatestring[]Owners to add to the listing.
Format:
users/{user},users/me,groups/{group}, orteams/{team}.ownersDeletestring[]Owners to remove from the listing.
Format:
users/{user},users/me,groups/{group}, orteams/{team}.
applicableListingRolePoliciesstring[]read-onlyListing role policies that led to this request being approved, if any.
applyBehaviorstringApply behavior can be used to control how this request is applied. The default requires the requester or an approver to merge manually after the request is approved.
statestringread-onlystatusRequestStatusread-onlyComputed status of the request.
appliedTimestring (date-time)read-onlyThe time the request was merged. Will be empty if the request is not merged.
closedTimestring (date-time)read-onlyThe time the request was closed. Will be empty if the request is not closed.
approversApprover[]read-onlyList of users who have approved the request.
userstringread-onlyThe user who approved the request.
Format:
users/{user}approvedTimestring (date-time)read-onlyThe time the user approved the request. Will be empty if the user has not approved the request.
recommendationsstring[]Recommendations that this request was created to act on. May only be set when the request is created.
When the request is applied, any of these recommendations that are still open will be marked as applied.
Format:
recommendations/{recommendation}
Errors
| Status | Meaning |
|---|---|
400 | Malformed request |
401 | Missing or invalid API key |
403 | Not allowed for this API key |
404 | Not found |
429 | Too many requests |
500 | Internal server error |