UpdateResource
/api/v1/resources/{resource}Update a resource, such as its description or how it syncs.
Example request
curl -X PATCH \ -H "Authorization: Bearer ${OBLIQUE_API_KEY}" \ -H "Content-Type: application/json" \ -d '{ "displayName": "string", "integration": "string" }' \ "https://us.oblique.security/api/v1/resources/{resource}?updateMask=displayName,integration"Set OBLIQUE_API_KEY to your API key.
curl -X PATCH \ -H "Authorization: Bearer ${OBLIQUE_API_KEY}" \ -H "Content-Type: application/json" \ -d '{ "displayName": "string", "integration": "string" }' \ "https://eu.oblique.security/api/v1/resources/{resource}?updateMask=displayName,integration"Set OBLIQUE_API_KEY to your API key.
Path parameters
resource.namestringrequiredAssigned by Oblique. Name of the resource of the format
resources/{id}.
Query parameters
updateMaskstring (field-mask)The list of fields to update.
allowMissingbooleanIf set to true, and the resource is not found, a new resource will be created with the given name. If created in this way, update_mask is ignored.
Request body
displayNamestringrequiredDisplay name of the resource.
descriptionstringDescription of the resource.
integrationstringrequiredThe integration that this resource is associated with.
resourceIdstringread-onlyThe identifier the integration uses for this resource.
IDs are optional and opaque to clients. They are guarenteed to be unique within the scope of a single integration, but may overlap between integrations.
kindstringread-onlyA string representing the value of the metadata oneof. For example, “cloudflare_user_group” or “cloudflare_resource_group”.
createTimestring (date-time)read-onlyCreate and update timestamps.
updateTimestring (date-time)read-onlydeleteTimestring (date-time)read-onlyResources can only be soft-deleted to preserve logs and history. If this field is present, the resource has been deleted and won’t be returned in lists.
managedStartTimestring (date-time)read-onlyThe time when the resource was first switched to PUSH mode indicating when Oblique started managing the resource as the source of truth. Empty otherwise.
userCountinteger (int32)read-onlyThe number of users that have either direct or indirect access to this resource.
Note that this will move to status.user_count in the future.
syncModestringsupportsPushbooleanread-onlyWhether the integration that reported this resource can push to the object backing it. Determined by the access the integration was granted, and re-evaluated on every sync.
One of
oktaGroupOktaGroupFor groups/teams that are sourced from an integration, this field holds information about that object.
idstringThe ID of the Okta group. Will be set unless
group_create_nameis set (indicating Oblique should create a group).domainBaseUristringFull base URL of the Okta domain, including the schema. For example: https://dev-45752433-admin.okta.com
groupCreateNamestringIf provided, the name of a group to be created in Okta.
groupCreateDescriptionstringIf provided, the description of the group to be created in Okta.
groupRulesOktaGroupRule[]The set of rules that are applied to the group.
idstringThe ID of the rule.
namestringThe name of the rule.
appIdstringWhen the group is an APP_GROUP, this field will be set to the ID of the Okta app that the group is associated with.
typestring
oktaAppOktaAppidstringThe ID of the Okta app.
oinstringThe Okta Integration Network (OIN) ID of the app.
domainBaseUristringFull base URL of the Okta domain, including the schema. Used to generate a URL to the app. For example: https://dev-45752433-admin.okta.com
groupAssignmentsstring[]The IDs of the Okta groups that are assigned to the app.
pushesOktaGroupPush[]The set of pushes that are applied to the app.
sourceIdstringThe ID of the group that is the source of the push.
targetIdstringThe ID of the group that is the target of the push.
appLinksAppLink[]The set of app links for launching the app. Most apps have a single entry. Some apps (e.g. Google Workspace) have multiple entries, one per sub-application (e.g. drive, gmail).
namestringThe name of the link as defined by Okta, e.g. “login”, “slack_ink”. The name is app-specific and defined by Okta.
hrefstringThe URL to launch the app.
statusstringThe status of the app in Okta (ACTIVE, INACTIVE, or DELETED).
groupPushEnabledbooleanWhether group push is enabled for this app.
googleGroupGoogleGroupidstringThe immutable, Google assigned ID of the group. Oblique uses this to match the group across syncs. Unset for groups that haven’t been created in Google yet.
emailstringThe email of the Google group. Emails change when a group is renamed, so this isn’t a stable identifier for the group.
nestedGroupsstring[]Emails of groups that are nested within this one.
needsCreationbooleanIf true, the group needs to be created in Google.
githubTeamGitHubTeamslugstringThe GitHub team slug within the organization.
nodeIdstringThe GitHub team node ID.
orgstringThe GitHub organization the team belongs to.
cloudflareUserGroupCloudflareUserGroupidstringThe ID Cloudflare assigns the user group.
cloudflareResourceGroupCloudflareResourceGroupidstringThe ID Cloudflare assigns the resource group.
scopeKeystringThe key of the Cloudflare object the group is scoped under, for example “com.cloudflare.api.account.{account id}”.
scopeObjectKeysstring[]The keys of the objects the group covers within its scope, for example “com.cloudflare.api.account.zone.{zone id}”. A group covering every object in its scope reports none.
linearWorkspaceLinearWorkspaceidstringThe ID Linear assigns the workspace.
uriKeystringThe URL key of the workspace, used to build links into Linear. For example “oblique” for https://linear.app/oblique.
linearTeamLinearTeamidstringThe ID Linear assigns the team.
parentIdstringIf present, the parent team’s ID.
keystringThe team key, the prefix Linear puts on the team’s issue identifiers. For example “ABC” for the issue “ABC-123”.
anthropicOrganizationAnthropicOrganizationidstringThe ID Anthropic assigns the organization.
anthropicWorkspaceAnthropicWorkspaceidstringThe ID Anthropic assigns the workspace.
syncTimestring (date-time)read-onlyThe last time this resource was synchronized successfully with its downstream.
statestringread-only
Response
200ResourceA resource represents a managed resource in the system.
namestringAssigned by Oblique. Name of the resource of the format
resources/{id}.displayNamestringrequiredDisplay name of the resource.
descriptionstringDescription of the resource.
integrationstringrequiredThe integration that this resource is associated with.
resourceIdstringread-onlyThe identifier the integration uses for this resource.
IDs are optional and opaque to clients. They are guarenteed to be unique within the scope of a single integration, but may overlap between integrations.
kindstringread-onlyA string representing the value of the metadata oneof. For example, “cloudflare_user_group” or “cloudflare_resource_group”.
createTimestring (date-time)read-onlyCreate and update timestamps.
updateTimestring (date-time)read-onlydeleteTimestring (date-time)read-onlyResources can only be soft-deleted to preserve logs and history. If this field is present, the resource has been deleted and won’t be returned in lists.
managedStartTimestring (date-time)read-onlyThe time when the resource was first switched to PUSH mode indicating when Oblique started managing the resource as the source of truth. Empty otherwise.
userCountinteger (int32)read-onlyThe number of users that have either direct or indirect access to this resource.
Note that this will move to status.user_count in the future.
syncModestringsupportsPushbooleanread-onlyWhether the integration that reported this resource can push to the object backing it. Determined by the access the integration was granted, and re-evaluated on every sync.
One of
oktaGroupOktaGroupFor groups/teams that are sourced from an integration, this field holds information about that object.
idstringThe ID of the Okta group. Will be set unless
group_create_nameis set (indicating Oblique should create a group).domainBaseUristringFull base URL of the Okta domain, including the schema. For example: https://dev-45752433-admin.okta.com
groupCreateNamestringIf provided, the name of a group to be created in Okta.
groupCreateDescriptionstringIf provided, the description of the group to be created in Okta.
groupRulesOktaGroupRule[]The set of rules that are applied to the group.
idstringThe ID of the rule.
namestringThe name of the rule.
appIdstringWhen the group is an APP_GROUP, this field will be set to the ID of the Okta app that the group is associated with.
typestring
oktaAppOktaAppidstringThe ID of the Okta app.
oinstringThe Okta Integration Network (OIN) ID of the app.
domainBaseUristringFull base URL of the Okta domain, including the schema. Used to generate a URL to the app. For example: https://dev-45752433-admin.okta.com
groupAssignmentsstring[]The IDs of the Okta groups that are assigned to the app.
pushesOktaGroupPush[]The set of pushes that are applied to the app.
sourceIdstringThe ID of the group that is the source of the push.
targetIdstringThe ID of the group that is the target of the push.
appLinksAppLink[]The set of app links for launching the app. Most apps have a single entry. Some apps (e.g. Google Workspace) have multiple entries, one per sub-application (e.g. drive, gmail).
namestringThe name of the link as defined by Okta, e.g. “login”, “slack_ink”. The name is app-specific and defined by Okta.
hrefstringThe URL to launch the app.
statusstringThe status of the app in Okta (ACTIVE, INACTIVE, or DELETED).
groupPushEnabledbooleanWhether group push is enabled for this app.
googleGroupGoogleGroupidstringThe immutable, Google assigned ID of the group. Oblique uses this to match the group across syncs. Unset for groups that haven’t been created in Google yet.
emailstringThe email of the Google group. Emails change when a group is renamed, so this isn’t a stable identifier for the group.
nestedGroupsstring[]Emails of groups that are nested within this one.
needsCreationbooleanIf true, the group needs to be created in Google.
githubTeamGitHubTeamslugstringThe GitHub team slug within the organization.
nodeIdstringThe GitHub team node ID.
orgstringThe GitHub organization the team belongs to.
cloudflareUserGroupCloudflareUserGroupidstringThe ID Cloudflare assigns the user group.
cloudflareResourceGroupCloudflareResourceGroupidstringThe ID Cloudflare assigns the resource group.
scopeKeystringThe key of the Cloudflare object the group is scoped under, for example “com.cloudflare.api.account.{account id}”.
scopeObjectKeysstring[]The keys of the objects the group covers within its scope, for example “com.cloudflare.api.account.zone.{zone id}”. A group covering every object in its scope reports none.
linearWorkspaceLinearWorkspaceidstringThe ID Linear assigns the workspace.
uriKeystringThe URL key of the workspace, used to build links into Linear. For example “oblique” for https://linear.app/oblique.
linearTeamLinearTeamidstringThe ID Linear assigns the team.
parentIdstringIf present, the parent team’s ID.
keystringThe team key, the prefix Linear puts on the team’s issue identifiers. For example “ABC” for the issue “ABC-123”.
anthropicOrganizationAnthropicOrganizationidstringThe ID Anthropic assigns the organization.
anthropicWorkspaceAnthropicWorkspaceidstringThe ID Anthropic assigns the workspace.
syncTimestring (date-time)read-onlyThe last time this resource was synchronized successfully with its downstream.
statestringread-only
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 |