The Opal API is a RESTful API that allows you to interact with the Opal Security platform programmatically.
This Python package is automatically generated by the OpenAPI Generator project:
- API version: 1.0
- Releases
- Generator version: 7.10.0
- Build package: org.openapitools.codegen.languages.PythonClientCodegen
For more information, please visit https://www.opal.dev/
Python 3.8+
We recommend installing from PyPI using pip:
pip install opal-securityYou can also install via git:
pip install git+https://github.com/opalsecurity/opal-python.git(you may need to run pip with root permission: sudo pip install git+https://github.com/opalsecurity/opal-python.git)
Then import the package:
import opal_security as opalInstall via Setuptools.
python setup.py install --user(or sudo python setup.py install to install the package for all users)
Then import the package:
import opal_security as opalExecute pytest to run the tests.
Please follow the installation procedure and then run the following:
from opal_security.rest import ApiException
from pprint import pprint
# Defining the host is optional and defaults to https://api.opal.dev/v1
# See configuration.py for a list of all supported configuration parameters.
import opal_security as opal
configuration = opal.Configuration(
host = "https://api.opal.dev/v1"
)
# The client must configure the authentication and authorization parameters
# in accordance with the API server security policy.
# Examples for each auth method are provided below, use the example that
# satisfies your auth use case.
# Configure Bearer authorization: BearerAuth
configuration = opal.Configuration(
access_token = os.environ["BEARER_TOKEN"]
)
# Enter a context with an instance of the API client
with opal.ApiClient(configuration) as api_client:
# Create an instance of the API class
api_instance = opal.AccessRulesApi(api_client)
update_access_rule_info = opal_security.UpdateAccessRuleInfo() # UpdateAccessRuleInfo |
try:
api_response = api_instance.create_access_rule(update_access_rule_info)
print("The response of AccessRulesApi->create_access_rule:\n")
pprint(api_response)
except ApiException as e:
print("Exception when calling AccessRulesApi->create_access_rule: %s\n" % e)Example with Events API:
import time
import opal_security as opal
from pprint import pprint
# Defining the host is optional and defaults to https://api.opal.dev/v1
# See configuration.py for a list of all supported configuration parameters.
configuration = opal.Configuration(
host = "https://api.opal.dev/v1"
)
# The client must configure the authentication and authorization parameters
# in accordance with the API server security policy.
# Examples for each auth method are provided below, use the example that
# satisfies your auth use case.
# Configure Bearer authorization: BearerAuth
configuration = opal.Configuration(
access_token = 'YOUR_BEARER_TOKEN'
)
# Enter a context with an instance of the API client
with opal.ApiClient(configuration) as api_client:
# Create an instance of the API class
api_instance = opal.EventsApi(api_client)
start_date_filter = "2021/11/01" # str | A start date filter for the events. (optional)
end_date_filter = "2021-11-12" # str | An end date filter for the events. (optional)
actor_filter = "29827fb8-f2dd-4e80-9576-28e31e9934ac" # str | An actor filter for the events. Supply the ID of the actor. (optional)
object_filter = "29827fb8-f2dd-4e80-9576-28e31e9934ac" # str | An object filter for the events. Supply the ID of the object. (optional)
event_type_filter = "29827fb8-f2dd-4e80-9576-28e31e9934ac" # str | An event type filter for the events. (optional)
cursor = "cD0yMDIxLTAxLTA2KzAzJTNBMjQlM0E1My40MzQzMjYlMkIwMCUzQTAw" # str | The pagination cursor value. (optional)
page_size = 200 # int | Number of results to return per page. Default is 200. (optional)
try:
api_response = api_instance.events(start_date_filter=start_date_filter, end_date_filter=end_date_filter, actor_filter=actor_filter, object_filter=object_filter, event_type_filter=event_type_filter, cursor=cursor, page_size=page_size)
pprint(api_response.dict())
except opal.ApiException as e:
print("Exception when calling EventsApi->events: %s\n" % e)All URIs are relative to https://api.opal.dev/v1
| Class | Method | HTTP request | Description |
|---|---|---|---|
| AccessRulesApi | create_access_rule | POST /access-rules | |
| AccessRulesApi | get_access_rule | GET /access-rules/{access_rule_id} | |
| AccessRulesApi | update_access_rule | PUT /access-rules/{access_rule_id} | |
| AppsApi | get_app | GET /apps/{app_id} | Get app by ID |
| AppsApi | get_apps | GET /apps | Get apps |
| AppsApi | get_sync_errors | GET /sync_errors | |
| BundlesApi | add_bundle_group | POST /bundles/{bundle_id}/groups | |
| BundlesApi | add_bundle_resource | POST /bundles/{bundle_id}/resources | |
| BundlesApi | create_bundle | POST /bundles | |
| BundlesApi | delete_bundle | DELETE /bundles/{bundle_id} | |
| BundlesApi | get_bundle | GET /bundles/{bundle_id} | Get bundle by ID |
| BundlesApi | get_bundle_groups | GET /bundles/{bundle_id}/groups | |
| BundlesApi | get_bundle_resources | GET /bundles/{bundle_id}/resources | |
| BundlesApi | get_bundle_visibility | GET /bundles/{bundle_id}/visibility | |
| BundlesApi | get_bundles | GET /bundles | Get bundles |
| BundlesApi | remove_bundle_group | DELETE /bundles/{bundle_id}/groups/{group_id} | |
| BundlesApi | remove_bundle_resource | DELETE /bundles/{bundle_id}/resources/{resource_id} | |
| BundlesApi | set_bundle_visibility | PUT /bundles/{bundle_id}/visibility | |
| BundlesApi | update_bundle | PUT /bundles/{bundle_id} | |
| ConfigurationTemplatesApi | create_configuration_template | POST /configuration-templates | |
| ConfigurationTemplatesApi | delete_configuration_template | DELETE /configuration-templates/{configuration_template_id} | |
| ConfigurationTemplatesApi | get_configuration_templates | GET /configuration-templates | |
| ConfigurationTemplatesApi | update_configuration_template | PUT /configuration-templates | |
| DelegationsApi | create_delegation | POST /delegations | |
| DelegationsApi | delete_delegation | DELETE /delegations/{delegation_id} | |
| DelegationsApi | get_delegation | GET /delegations/{delegation_id} | Get delegation by ID |
| DelegationsApi | get_delegations | GET /delegations | Get delegations |
| EventsApi | events | GET /events | |
| GroupBindingsApi | create_group_binding | POST /group-bindings | |
| GroupBindingsApi | delete_group_binding | DELETE /group-bindings/{group_binding_id} | |
| GroupBindingsApi | get_group_binding | GET /group-bindings/{group_binding_id} | Get group binding by ID |
| GroupBindingsApi | get_group_bindings | GET /group-bindings | Get group bindings |
| GroupBindingsApi | update_group_bindings | PUT /group-bindings | |
| GroupsApi | add_group_containing_group | POST /groups/{group_id}/containing-groups | |
| GroupsApi | add_group_resource | POST /groups/{group_id}/resources/{resource_id} | |
| GroupsApi | add_group_user | POST /groups/{group_id}/users/{user_id} | |
| GroupsApi | create_group | POST /groups | |
| GroupsApi | delete_group | DELETE /groups/{group_id} | |
| GroupsApi | delete_group_user | DELETE /groups/{group_id}/users/{user_id} | |
| GroupsApi | get_group | GET /groups/{group_id} | Get group by ID |
| GroupsApi | get_group_containing_group | GET /groups/{group_id}/containing-groups/{containing_group_id} | Get nested group by ID |
| GroupsApi | get_group_containing_groups | GET /groups/{group_id}/containing-groups | Get nested groups |
| GroupsApi | get_group_message_channels | GET /groups/{group_id}/message-channels | |
| GroupsApi | get_group_on_call_schedules | GET /groups/{group_id}/on-call-schedules | |
| GroupsApi | get_group_resources | GET /groups/{group_id}/resources | |
| GroupsApi | get_group_reviewer_stages | GET /groups/{group_id}/reviewer-stages | |
| GroupsApi | get_group_reviewers | GET /groups/{group_id}/reviewers | |
| GroupsApi | get_group_tags | GET /groups/{group_id}/tags | |
| GroupsApi | get_group_users | GET /groups/{group_id}/users | |
| GroupsApi | get_group_visibility | GET /groups/{group_id}/visibility | |
| GroupsApi | get_groups | GET /groups | Get groups |
| GroupsApi | get_user_groups | GET /groups/users/{user_id} | |
| GroupsApi | remove_group_containing_group | DELETE /groups/{group_id}/containing-groups/{containing_group_id} | |
| GroupsApi | set_group_message_channels | PUT /groups/{group_id}/message-channels | |
| GroupsApi | set_group_on_call_schedules | PUT /groups/{group_id}/on-call-schedules | |
| GroupsApi | set_group_resources | PUT /groups/{group_id}/resources | |
| GroupsApi | set_group_reviewer_stages | PUT /groups/{group_id}/reviewer-stages | |
| GroupsApi | set_group_reviewers | PUT /groups/{group_id}/reviewers | |
| GroupsApi | set_group_visibility | PUT /groups/{group_id}/visibility | |
| GroupsApi | update_group_user | PUT /groups/{group_id}/users/{user_id} | |
| GroupsApi | update_groups | PUT /groups | |
| IdpGroupMappingsApi | create_idp_group_mapping | POST /idp-group-mappings/{app_resource_id}/groups/{group_id} | |
| IdpGroupMappingsApi | delete_idp_group_mappings | DELETE /idp-group-mappings/{app_resource_id}/groups/{group_id} | |
| IdpGroupMappingsApi | get_idp_group_mapping | GET /idp-group-mappings/{app_resource_id}/groups/{group_id} | |
| IdpGroupMappingsApi | get_idp_group_mappings | GET /idp-group-mappings/{app_resource_id} | |
| IdpGroupMappingsApi | update_idp_group_mappings | PUT /idp-group-mappings/{app_resource_id} | |
| MessageChannelsApi | create_message_channel | POST /message-channels | |
| MessageChannelsApi | get_message_channel | GET /message-channels/{message_channel_id} | Get message channel by ID |
| MessageChannelsApi | get_message_channels | GET /message-channels | Get message channels |
| NonHumanIdentitiesApi | get_nhis | GET /non-human-identities | |
| OnCallSchedulesApi | create_on_call_schedule | POST /on-call-schedules | |
| OnCallSchedulesApi | get_on_call_schedule | GET /on-call-schedules/{on_call_schedule_id} | Get on call schedule by ID |
| OnCallSchedulesApi | get_on_call_schedules | GET /on-call-schedules | Get on call schedules |
| OwnersApi | create_owner | POST /owners | |
| OwnersApi | delete_owner | DELETE /owners/{owner_id} | |
| OwnersApi | get_owner | GET /owners/{owner_id} | Get owner by ID |
| OwnersApi | get_owner_from_name | GET /owners/name/{owner_name} | |
| OwnersApi | get_owner_users | GET /owners/{owner_id}/users | |
| OwnersApi | get_owners | GET /owners | Get owners |
| OwnersApi | set_owner_users | PUT /owners/{owner_id}/users | |
| OwnersApi | update_owners | PUT /owners | |
| RequestsApi | approve_request | POST /requests/{id}/approve | |
| RequestsApi | create_request | POST /requests | |
| RequestsApi | create_request_comment | POST /requests/{id}/comments | |
| RequestsApi | deny_request | POST /requests/{id}/deny | |
| RequestsApi | get_request | GET /requests/{id} | Get request by ID |
| RequestsApi | get_request_comments | GET /requests/{id}/comments | |
| RequestsApi | get_requests | GET /requests | Get requests |
| RequestsApi | get_requests_relay | GET /requests/relay | Get requests via Relay |
| ResourcesApi | add_resource_nhi | POST /resources/{resource_id}/non-human-identities/{non_human_identity_id} | |
| ResourcesApi | add_resource_user | POST /resources/{resource_id}/users/{user_id} | |
| ResourcesApi | create_resource | POST /resources | |
| ResourcesApi | delete_resource | DELETE /resources/{resource_id} | |
| ResourcesApi | delete_resource_nhi | DELETE /resources/{resource_id}/non-human-identities/{non_human_identity_id} | |
| ResourcesApi | delete_resource_user | DELETE /resources/{resource_id}/users/{user_id} | |
| ResourcesApi | get_resource | GET /resources/{resource_id} | Get resource by ID |
| ResourcesApi | get_resource_message_channels | GET /resources/{resource_id}/message-channels | |
| ResourcesApi | get_resource_nhis | GET /resources/{resource_id}/non-human-identities | |
| ResourcesApi | get_resource_reviewer_stages | GET /resources/{resource_id}/reviewer-stages | |
| ResourcesApi | get_resource_reviewers | GET /resources/{resource_id}/reviewers | |
| ResourcesApi | get_resource_scoped_role_permissions | GET /resources/{resource_id}/scoped-role-permissions | |
| ResourcesApi | get_resource_tags | GET /resources/{resource_id}/tags | |
| ResourcesApi | get_resource_user | GET /resources/{resource_id}/users/{user_id} | Get resource user |
| ResourcesApi | get_resource_users | GET /resources/{resource_id}/users | Get resource users |
| ResourcesApi | get_resource_visibility | GET /resources/{resource_id}/visibility | |
| ResourcesApi | get_resources | GET /resources | Get resources |
| ResourcesApi | get_user_resources | GET /resources/users/{user_id} | |
| ResourcesApi | resource_user_access_status_retrieve | GET /resource-user-access-status/{resource_id}/{user_id} | |
| ResourcesApi | set_resource_message_channels | PUT /resources/{resource_id}/message-channels | |
| ResourcesApi | set_resource_reviewer_stages | PUT /resources/{resource_id}/reviewer-stages | |
| ResourcesApi | set_resource_reviewers | PUT /resources/{resource_id}/reviewers | |
| ResourcesApi | set_resource_scoped_role_permissions | PUT /resources/{resource_id}/scoped-role-permissions | |
| ResourcesApi | set_resource_visibility | PUT /resources/{resource_id}/visibility | |
| ResourcesApi | update_resource_user | PUT /resources/{resource_id}/users/{user_id} | |
| ResourcesApi | update_resources | PUT /resources | |
| SessionsApi | sessions | GET /sessions | |
| TagsApi | add_group_tag | POST /tags/{tag_id}/groups/{group_id} | |
| TagsApi | add_resource_tag | POST /tags/{tag_id}/resources/{resource_id} | |
| TagsApi | add_user_tag | POST /tags/{tag_id}/users/{user_id} | |
| TagsApi | create_tag | POST /tag | |
| TagsApi | delete_tag_by_id | DELETE /tag/{tag_id} | |
| TagsApi | get_tag | GET /tag | |
| TagsApi | get_tag_by_id | GET /tag/{tag_id} | Get tag by ID |
| TagsApi | get_tags | GET /tags | Get tags |
| TagsApi | remove_group_tag | DELETE /tags/{tag_id}/groups/{group_id} | |
| TagsApi | remove_resource_tag | DELETE /tags/{tag_id}/resources/{resource_id} | |
| TagsApi | remove_user_tag | DELETE /tags/{tag_id}/users/{user_id} | |
| UarsApi | create_uar | POST /uar | |
| UarsApi | get_uar | GET /uar/{uar_id} | |
| UarsApi | get_uars | GET /uars | |
| UsersApi | get_remote_users | GET /users/remote_users | |
| UsersApi | get_user_tags | GET /users/{user_id}/tags | |
| UsersApi | get_users | GET /users | |
| UsersApi | user | GET /user |
- Access
- AccessList
- AccessRule
- AddBundleGroupRequest
- AddBundleResourceRequest
- AddGroupResourceRequest
- AddGroupUserRequest
- AddResourceNhiRequest
- AddResourceUserRequest
- App
- AppTypeEnum
- AppValidation
- AppValidationSeverityEnum
- AppValidationStatusEnum
- ApproveRequest200Response
- ApproveRequestRequest
- AppsList
- AwsPermissionSetMetadata
- AwsPermissionSetMetadataAwsPermissionSet
- Bundle
- BundleGroup
- BundleResource
- Condition
- ConfigurationTemplate
- CreateBundleInfo
- CreateConfigurationTemplateInfo
- CreateDelegationRequest
- CreateGroupBindingInfo
- CreateGroupBindingInfoGroupsInner
- CreateGroupInfo
- CreateIdpGroupMappingRequest
- CreateMessageChannelInfo
- CreateOnCallScheduleInfo
- CreateOwnerInfo
- CreateRequest200Response
- CreateRequestCommentRequest
- CreateRequestConfigurationInfoList
- CreateRequestInfo
- CreateRequestInfoCustomMetadataInner
- CreateRequestInfoGroupsInner
- CreateRequestInfoResourcesInner
- CreateRequestInfoSupportTicket
- CreateResourceInfo
- CreateTagInfo
- CreateUARInfo
- Delegation
- DenyRequestRequest
- EntityTypeEnum
- Event
- GetResourceUser200Response
- Group
- GroupAccessLevel
- GroupBinding
- GroupBindingGroup
- GroupContainingGroup
- GroupContainingGroupList
- GroupRemoteInfo
- GroupRemoteInfoActiveDirectoryGroup
- GroupRemoteInfoAzureAdMicrosoft365Group
- GroupRemoteInfoAzureAdSecurityGroup
- GroupRemoteInfoDuoGroup
- GroupRemoteInfoGithubTeam
- GroupRemoteInfoGitlabGroup
- GroupRemoteInfoGoogleGroup
- GroupRemoteInfoLdapGroup
- GroupRemoteInfoOktaGroup
- GroupRemoteInfoOktaGroupRule
- GroupRemoteInfoSnowflakeRole
- GroupRemoteInfoWorkdayUserSecurityGroup
- GroupResource
- GroupResourceList
- GroupTypeEnum
- GroupUser
- GroupUserList
- GroupWithAccessLevel
- IdpGroupMapping
- IdpGroupMappingList
- MessageChannel
- MessageChannelIDList
- MessageChannelList
- MessageChannelProviderEnum
- OnCallSchedule
- OnCallScheduleIDList
- OnCallScheduleList
- OnCallScheduleProviderEnum
- Owner
- PageInfo
- PaginatedAssignedRequestList
- PaginatedBundleGroupList
- PaginatedBundleList
- PaginatedBundleResourceList
- PaginatedConfigurationTemplateList
- PaginatedDelegationsList
- PaginatedEventList
- PaginatedGroupBindingsList
- PaginatedGroupsList
- PaginatedOwnersList
- PaginatedRemoteUsersList
- PaginatedResourcesList
- PaginatedTagsList
- PaginatedUARsList
- PaginatedUsersList
- PropagationStatus
- PropagationStatusEnum
- RemoteUser
- Request
- RequestApprovalEnum
- RequestComment
- RequestCommentList
- RequestConfiguration
- RequestConnection
- RequestCustomFieldResponse
- RequestCustomFieldResponseFieldValue
- RequestEdge
- RequestItemStages
- RequestList
- RequestReviewer
- RequestReviewerStages
- RequestStage
- RequestStatusEnum
- RequestTemplateCustomFieldTypeEnum
- RequestedItem
- Resource
- ResourceAccessLevel
- ResourceAccessUser
- ResourceAccessUserList
- ResourceNHI
- ResourceRemoteInfo
- ResourceRemoteInfoAnthropicWorkspace
- ResourceRemoteInfoAwsAccount
- ResourceRemoteInfoAwsEc2Instance
- ResourceRemoteInfoAwsEksCluster
- ResourceRemoteInfoAwsIamRole
- ResourceRemoteInfoAwsOrganizationalUnit
- ResourceRemoteInfoAwsPermissionSet
- ResourceRemoteInfoAwsRdsInstance
- ResourceRemoteInfoAzureEnterpriseApp
- ResourceRemoteInfoAzureEntraIdRole
- ResourceRemoteInfoAzureManagementGroup
- ResourceRemoteInfoAzureResourceGroup
- ResourceRemoteInfoAzureSqlDatabase
- ResourceRemoteInfoAzureSqlManagedDatabase
- ResourceRemoteInfoAzureSqlManagedInstance
- ResourceRemoteInfoAzureSqlServer
- ResourceRemoteInfoAzureStorageAccount
- ResourceRemoteInfoAzureStorageContainer
- ResourceRemoteInfoAzureSubscription
- ResourceRemoteInfoAzureUserAssignedManagedIdentity
- ResourceRemoteInfoAzureVirtualMachine
- ResourceRemoteInfoCoupaRole
- ResourceRemoteInfoCursorOrganization
- ResourceRemoteInfoCustomConnector
- ResourceRemoteInfoDatastaxAstraRole
- ResourceRemoteInfoGcpBigQueryDataset
- ResourceRemoteInfoGcpBigQueryTable
- ResourceRemoteInfoGcpBucket
- ResourceRemoteInfoGcpComputeInstance
- ResourceRemoteInfoGcpFolder
- ResourceRemoteInfoGcpGkeCluster
- ResourceRemoteInfoGcpOrganization
- ResourceRemoteInfoGcpProject
- ResourceRemoteInfoGcpServiceAccount
- ResourceRemoteInfoGcpSqlInstance
- ResourceRemoteInfoGithubOrg
- ResourceRemoteInfoGithubOrgRole
- ResourceRemoteInfoGithubRepo
- ResourceRemoteInfoGitlabProject
- ResourceRemoteInfoGoogleWorkspaceRole
- ResourceRemoteInfoOktaApp
- ResourceRemoteInfoOktaCustomRole
- ResourceRemoteInfoOktaStandardRole
- ResourceRemoteInfoOpenaiPlatformProject
- ResourceRemoteInfoOpenaiPlatformServiceAccount
- ResourceRemoteInfoOracleFusionRole
- ResourceRemoteInfoPagerdutyRole
- ResourceRemoteInfoSalesforcePermissionSet
- ResourceRemoteInfoSalesforceProfile
- ResourceRemoteInfoSalesforceRole
- ResourceRemoteInfoTeleportRole
- ResourceTypeEnum
- ResourceUser
- ResourceUserAccessStatus
- ResourceUserAccessStatusEnum
- ResourceWithAccessLevel
- ReviewStageOperator
- ReviewerIDList
- ReviewerStage
- ReviewerStageList
- RiskSensitivityEnum
- RolePermissionNameEnum
- RolePermissionTargetTypeEnum
- RuleClauses
- RuleConjunction
- RuleDisjunction
- ScopedRolePermission
- ScopedRolePermissionList
- Session
- SessionsList
- SubEvent
- SyncError
- SyncErrorList
- SyncTask
- Tag
- TagFilter
- TagSelector
- TagsList
- ThirdPartyProviderEnum
- TicketPropagationConfiguration
- TicketingProviderEnum
- UAR
- UARReviewerAssignmentPolicyEnum
- UARScope
- UpdateAccessRuleInfo
- UpdateConfigurationTemplateInfo
- UpdateGroupBindingInfo
- UpdateGroupBindingInfoList
- UpdateGroupInfo
- UpdateGroupInfoList
- UpdateGroupResourcesInfo
- UpdateGroupUserRequest
- UpdateIdpGroupMappingsRequest
- UpdateIdpGroupMappingsRequestMappingsInner
- UpdateOwnerInfo
- UpdateOwnerInfoList
- UpdateResourceInfo
- UpdateResourceInfoList
- UpdateResourceUserRequest
- User
- UserHrIdpStatusEnum
- UserIDList
- UserList
- VisibilityInfo
- VisibilityTypeEnum
Authentication schemes defined for the API:
- Type: Bearer authentication