Skip to main content

opal-security

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.19.0
  • Build package: org.openapitools.codegen.languages.PythonClientCodegen

For more information, please visit https://www.opal.dev/

Requirements.

Python 3.9+

Installation & Usage

pip install

We recommend installing from PyPI using pip:

pip install opal-security

You 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 opal

Setuptools

Install 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 opal

Tests

Execute pytest to run the tests.

Getting Started

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)

Documentation for API Endpoints

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 get_access_rules GET /access-rules
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
EventStreamsApi create_event_stream POST /event-streams Create event stream
EventStreamsApi delete_event_stream DELETE /event-streams/{event_stream_id} Delete event stream
EventStreamsApi get_event_streams GET /event-streams Get event streams
EventStreamsApi update_event_stream PUT /event-streams/{event_stream_id} Update event stream
EventsApi events GET /events
EventsApi get_event GET /events/{event_id} Get event by ID
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
OpalQueriesApi run_opal_query POST /queries/run Run an ad-hoc OpalQuery
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_groups GET /resources/{resource_id}/groups
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}
TokensApi delete_token DELETE /tokens/{token_id} Delete token
TokensApi get_tokens GET /tokens Get tokens
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

Documentation For Models

Documentation For Authorization

Authentication schemes defined for the API:

BearerAuth

  • Type: Bearer authentication

Author

hello@opal.dev

Release files for opal-security 1.0.8

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for opal-security 1.0.8
File Size Uploaded
opal_security-1.0.8.tar.gz 391.1 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for opal-security 1.0.8
File Interpreter ABI Platform
opal_security-1.0.8-py3-none-any.whl Python 3 none any Details

Total release size: 982.7 kB

Release files / opal_security-1.0.8.tar.gz

Download URL opal_security-1.0.8.tar.gz
Size 391.1 kB
Tags Source
SHA-256 checksum
How to use checksums
0d0f65767ab4e7484651b33fe08e312a9909974bc03229dd7b2d24826bea8a7f
BLAKE2b-256 checksum
How to use checksums
83a608db11e762cbd5e4d0912fd6957914bd3b73c2908bc68a1ca95cfd248628
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.11.15

Release files / opal_security-1.0.8-py3-none-any.whl

Download URL opal_security-1.0.8-py3-none-any.whl
Size 591.6 kB
Tags Python 3
SHA-256 checksum
How to use checksums
09afb6d592a7ac75917a7367a8b84d61dbd7e93a721a24bda0358c88b65a9f34
BLAKE2b-256 checksum
How to use checksums
0e3f39115803eb2a3e141db784dbcee91a711e213b4dc15ad9e354516a821d27
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.11.15

Release history Release notifications | RSS feed

This release

1.0.8 This release

2 release files

1.0.5

2 release files

1.0.4

2 release files

1.0.3

2 release files

1.0.1

2 release files

1.0.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page