How AI is applied across API Evangelist and APIs.io. Read my AI disclosure →
API Evangelist API Evangelist
Discovery
Learnings
Guidance
Toolbox
Alignment
API Evangelist LLC

Opal Security resources API

Operations related to resources

Opal Security resources API is one of 22 APIs that Opal Security publishes on the APIs.io network, described by a machine-readable OpenAPI specification.

Tagged areas include Resources. The published artifact set on APIs.io includes an OpenAPI specification, API documentation, and an API reference.

This API exposes 27 operations across 15 paths, and defines 44 schemas. It is described by OpenAPI 3.1.0, at version 1.0.

Requests are made against a single base URL, https://api.opal.dev/v1.

27 operations 15 paths 44 schemas 3 DELETE14 GET3 POST7 PUT

Metadata

The identity and technical contract details declared by the specification.

Specification
OpenAPI 3.1.0
API Version
1.0
Base URL
https://api.opal.dev/v1
Authentication
HTTP Bearer
Contact
Resource Areas
1

Authentication & Security 1

Opal Security resources API declares 1 security scheme for authenticating requests. It accepts HTTP bearer tokens (BearerAuth).

Paths & Operations 27

Across 15 paths, the API surfaces 27 operations — 3 DELETE, 14 GET, 3 POST, 7 PUT. Each is listed below with its method, path, parameters, and response codes.

resources 27

Operations related to resources

GET
/resources
Get resources
getResources 9 params → 200
PUT
/resources
Bulk updates a list of resources.
updateResources body → 200
POST
/resources
Creates a resource. See [here](https://docs.opal.dev/reference/end-system-objects) for details about importing resources.
createResource body → 200
GET
/resources/{resource_id}
Get resource by ID
get_resource 1 param → 200
DELETE
/resources/{resource_id}
Deletes a resource.
delete_resource 1 param → 200
GET
/resources/{resource_id}/message-channels
Gets the list of audit message channels attached to a resource.
get_resource_message_channels 1 param → 200
PUT
/resources/{resource_id}/message-channels
Sets the list of audit message channels attached to a resource.
set_resource_message_channels 1 param body → 200
GET
/resources/{resource_id}/visibility
Gets the visibility of this resource.
get_resource_visibility 1 param → 200
PUT
/resources/{resource_id}/visibility
Sets the visibility of this resource.
set_resource_visibility 1 param body → 200
GET
/resources/{resource_id}/reviewers
Gets the list of owner IDs of the reviewers for a resource.
get_resource_reviewers 1 param → 200
PUT
/resources/{resource_id}/reviewers
Sets the list of reviewers for a resource.
set_resource_reviewers 1 param body → 200
GET
/resources/{resource_id}/reviewer-stages
Gets the list reviewer stages for a resource.
get_resource_reviewer_stages 1 param → 200
PUT
/resources/{resource_id}/reviewer-stages
Sets the list of reviewer stages for a resource.
set_resource_reviewer_stages 1 param body → 200
GET
/resources/{resource_id}/non-human-identities
Gets the list of non-human identities with access to this resource.
get_resource_nhis 2 params → 200
GET
/resources/{resource_id}/users
Get resource users
get_resource_users 2 params → 200
POST
/resources/{resource_id}/non-human-identities/{non_human_identity_id}
Gives a non-human identity access to this resource.
add_resource_nhi 2 params body → 200
DELETE
/resources/{resource_id}/non-human-identities/{non_human_identity_id}
Removes a non-human identity's direct access from this resource.
delete_resource_nhi 3 params → 200
POST
/resources/{resource_id}/users/{user_id}
Adds a user to this resource.
add_resource_user 4 params body → 200
PUT
/resources/{resource_id}/users/{user_id}
Updates a user's access level or duration on this resource.
update_resource_user 2 params body → 200
DELETE
/resources/{resource_id}/users/{user_id}
Removes a user's direct access from this resource.
delete_resource_user 3 params → 200
GET
/resources/{resource_id}/users/{user_id}
Get resource user
getResourceUser 3 params → 200404
GET
/resource-user-access-status/{resource_id}/{user_id}deprecated
Get user's access status to a resource.
resource_user_access_status_retrieve 5 params → 200
GET
/resources/{resource_id}/tags
Returns all tags applied to the resource.
get_resource_tags 1 param → 200
GET
/resources/{resource_id}/scoped-role-permissions
Returns all the scoped role permissions that apply to the given resource. Only OPALSCOPEDROLE resource type supports this field.
get_resource_scoped_role_permissions 1 param → 200
PUT
/resources/{resource_id}/scoped-role-permissions
Sets all the scoped role permissions on an OPALSCOPEDROLE resource.
set_resource_scoped_role_permissions 1 param body → 200
GET
/resources/users/{user_id}
Gets the list of resources for this user.
get_user_resources 4 params → 200
GET
/resources/{resource_id}/groups
Returns a list of groups that grant access to the resource
get_resource_groups 1 param → 200

Schemas 44

The contract defines 44 schemas that model the data the API accepts and returns. The most detailed are ResourceRemoteInfo (72 properties), Resource (32 properties), UpdateResourceInfo (23 properties), ResourceAccessUser (11 properties). Each schema is shown below with its type and property counts.

ResourceAccessLevel
object
Access Level Object Description The AccessLevel object is used to represent the level of access that a principal has. The "default" access level is a AccessLev…
2 properties 2 required
ResourceAccessUserList
object
3 properties
Resource
object
Resource Object Description The Resource object is used to represent a resource. Usage Example Update from the UPDATE Resources endpoint.
32 properties 1 required
VisibilityInfo
object
Visibility infomation of an entity.
2 properties 1 required
RDSEngineEnum
string
The database engine for the RDS instance.
RequestConfiguration
object
Request Configuration Object Description The RequestConfiguration object is used to represent a request configuration. Usage Example Returned from the GET Requ…
11 properties 6 required
CreateResourceInfo
object
CreateResourceInfo Object Description The CreateResourceInfo object is used to store creation info for a resource. Usage Example Use in the POST Resources endp…
9 properties 3 required
EntityTypeEnum
string
The type of an entity.
RolePermissionTargetTypeEnum
string
The type of the target for the role permission.
Tag
object
Tag Object Description The Tag object is used to represent a tag. Usage Example Get tags from the GET Tag endpoint.
6 properties 1 required
MessageChannelIDList
object
A list of message channel IDs.
1 property 1 required
VisibilityTypeEnum
string
The visibility level of the entity.
ResourceNHI
object
Resource Non-Human Identity Direct Access Object Description This object is used to represent a non-human identity with direct access to a resource.
4 properties 2 required
TicketPropagationConfiguration
object
Configuration for ticket propagation, when enabled, a ticket will be created for access changes related to the users in this resource.
4 properties 2 required
UpdateResourceInfo
object
UpdateResourceInfo Object Description The UpdateResourceInfo object is used as an input to the UpdateResource API.
23 properties 1 required
MessageChannel
object
MessageChannel Object Description The MessageChannel object is used to represent a message channel. Usage Example Update a groups message channel from the UPDA…
5 properties 1 required
ResourceAccessUser
object
Resource Access User Object Description The ResourceAccessUser object is used to represent a user with access to a resource, either directly or indirectly thro…
11 properties 7 required
SyncTask
object
Represents a sync task that has been completed, either successfully or with errors.
2 properties 2 required
ScopedRolePermissionList
object
1 property 1 required
UpdateResourceInfoList
object
1 property 1 required
GroupResourceList
object
1 property 1 required
ResourceUser
object
Resource User Object Description The ResourceUser object is used to represent a user with direct access to a resource.
6 properties 5 required
MessageChannelProviderEnum
string
The third party provider of the message channel.
AccessList
object
1 property
ReviewerIDList
object
A list of reviewer IDs.
1 property 1 required
Access
object
Access Object Description The Access object is used to represent a principal's access to an entity, either directly or inherited. Usage Example Fetch from the…
8 properties 6 required
RolePermissionNameEnum
string
The name of the role permission.
MessageChannelList
object
1 property 1 required
GroupResource
object
GroupResource Object Description The GroupResource object is used to represent a relationship between a group and a resource.
6 properties 3 required
Condition
object
Condition Object Description The Condition object is used to represent a condition. Usage Example Used to match request configurations to users in RequestConfi…
2 properties
ResourceRemoteInfo
object
Information that defines the remote resource. This replaces the deprecated remoteid and metadata fields.
72 properties
TicketingProviderEnum
string
The third party ticketing platform provider.
PropagationStatusEnum
string
The status of whether the user has been synced to the group or resource in the remote system.
ReviewerStage
object
A reviewer stage.
5 properties 4 required
ReviewerStageList
object
1 property 1 required
CreateRequestConfigurationInfoList
object
CreateRequestConfigurationInfoList Object Description The CreateRequestConfigurationInfoList object is used as an input to the CreateRequestConfigurations API.…
1 property 1 required
ResourceUserAccessStatusEnum
string
The status of the user's access to the resource.
RiskSensitivityEnum
string
Indicates the level of potential impact misuse or unauthorized access may incur.
ScopedRolePermission
object
4 properties 3 required
ResourceUserAccessStatus
object
AccessStatus Object Description The AccessStatus object is used to represent the user's access to the resource. Usage Example View the AccessStatus for a resou…
5 properties 3 required
TagsList
object
1 property 1 required
PaginatedResourcesList
object
3 properties 1 required
ResourceTypeEnum
string
The type of the resource.
PropagationStatus
object
The state of whether the push action was propagated to the remote system. If this is null, the access was synced from the remote system.
1 property 1 required

Specification

The full machine-readable OpenAPI contract behind this narrative.

Source

opal-security-resources-api-openapi.yml Raw ↑

Other APIs Opal Security publishes across the network.

Opal Security access-rules API
Opal Security apps API
Opal Security bundles API
Opal Security configuration-templates API
Opal Security delegations API
Opal Security event-streams API
Opal Security events API
Opal Security group-bindings API
Opal Security groups API
Opal Security idp-group-mappings API
Opal Security message-channels API
Opal Security non-human-identities API
Where this information came from

This is an independent, third-party profile of Opal Security resources API, published by API Evangelist. We do not operate, host, resell, or support these APIs, and we are not affiliated with or endorsed by the company unless stated above. Everything here is built from publicly available information — the company's own site, developer portal, documentation, public repositories, and the specifications it publishes for public use. Nothing is obtained by breaching a system, defeating an access control, or using credentials.

The Kin Score and Agent Readiness rating are independently calculated assessments of a company's public API artifacts, scored against a published rubric. They are not certifications, endorsements, security assessments, or audits.

Corrections, re-scores, and removal are free — no partnership or purchase required, and you do not need to justify the request. A removed company is recorded as unrated, never scored zero for having asked. Acknowledgement within one business day; removal within two.

info@apievangelist.com · Read the full data-sourcing policy →
On a security or compliance team? Put security in the subject line and you will get a person, not a form — we will tell you exactly which public URLs this profile was built from.