Every API method accepts _request_timeout in seconds: a positive float for
the urllib3 total timeout, or a pair of positive floats (connect, read).
This controls HTTP transport waiting, not how long the server operation may run.
It is not a wall-clock deadline for the operation or for all retries combined.
Transport timeouts raise urllib3.exceptions.TimeoutError subclasses such as
ReadTimeoutError and ConnectTimeoutError. When retries are exhausted, urllib3
can instead raise urllib3.exceptions.MaxRetryError; inspect its reason to
distinguish a timeout from other connection failures. Retry behavior depends on
the HTTP method and Configuration.retries. These are client-side exceptions,
not HTTP response statuses or SDK ApiException responses.
A timeout does not guarantee cancellation or rollback of an operation accepted by the server. For example, after a start request times out, the instance may still be starting or may already be running; the timeout alone does not establish its state or mean it was stopped or destroyed. The request might not have reached the server at all, leaving the instance off. Treat the outcome as unknown and fetch the instance's current state before deciding whether to retry. If it has since been destroyed, that lookup may return not found; the timeout itself does not prove destruction. Do not blindly repeat a state-changing request.
Catch urllib3.exceptions.TimeoutError and urllib3.exceptions.MaxRetryError
separately from the SDK ApiException. MaxRetryError is not a subclass of
TimeoutError. With
_with_http_info the same rules apply. With _without_preload_content, a read
timeout may also occur later when reading the returned response body.
All URIs are relative to https://app.corellium.com/api
| Method | HTTP request | Description |
|---|---|---|
| v3_delete_cluster_snapshot | DELETE /v3/cluster/snapshots/{snapshotId} | Delete cluster snapshot |
| v3_get_cluster_config | GET /v3/cluster/config | Get cluster configuration |
| v3_get_cluster_node | GET /v3/cluster/nodes/{nodeId} | Get cluster node |
| v3_get_cluster_node_console | GET /v3/cluster/nodes/{nodeId}/console | Get node console websocket URL |
| v3_get_cluster_snapshot | GET /v3/cluster/snapshots/{snapshotId} | Get cluster snapshot |
| v3_list_cluster_nodes | GET /v3/cluster/nodes | List cluster nodes |
| v3_list_cluster_snapshots | GET /v3/cluster/snapshots | List cluster snapshots |
| v3_patch_cluster_config | PATCH /v3/cluster/config | Update cluster configuration |
v3_delete_cluster_snapshot(snapshot_id)
Delete cluster snapshot
Required role: Cluster administrator.
Deletes a snapshot from the cluster, for example to free storage. Snapshots that are in use, still being created, or were just restored cannot be deleted (400). Requires a cluster administrator and the cluster snapshot management feature (clusterSnapshotMgmt).
Deletes are idempotent: an unknown snapshotId, or a snapshot that was already deleted, is a successful no-op that still returns 204, and
repeated calls return 204 as well. A 404 means the request path did not match a delete route, not
that the target was missing.
- Bearer (JWT) Authentication (BearerAuth):
import corellium
from corellium.rest import ApiException
from pprint import pprint
# Defining the host is optional and defaults to https://app.corellium.com/api
# See configuration.py for a list of all supported configuration parameters.
configuration = corellium.Configuration(
host = "https://app.corellium.com/api"
)
# 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 (JWT): BearerAuth
configuration = corellium.Configuration(
access_token = os.environ["BEARER_TOKEN"]
)
# Enter a context with an instance of the API client
with corellium.ApiClient(configuration) as api_client:
# Create an instance of the API class
api_instance = corellium.ClusterApi(api_client)
snapshot_id = 'c67af9c0-26cd-4233-9782-436c842b60db' # str | Snapshot identifier.
try:
# Delete cluster snapshot
api_instance.v3_delete_cluster_snapshot(snapshot_id)
except Exception as e:
print("Exception when calling ClusterApi->v3_delete_cluster_snapshot: %s\n" % e)| Name | Type | Description | Notes |
|---|---|---|---|
| snapshot_id | str | Snapshot identifier. |
void (empty response body)
- Content-Type: Not defined
- Accept: application/json
| Status code | Description | Response headers |
|---|---|---|
| 204 | Snapshot deleted. | - |
| 400 | Snapshot cannot be deleted (in use, still creating, or freshly restored). | - |
| 401 | Not signed in: the `Authorization: Bearer <token>` header is missing, or the token is invalid or expired. Get a new token and retry. | - |
| 403 | Cluster administrator permissions required. The clusterSnapshotMgmt feature must be enabled. | - |
[Back to top] [Back to API list] [Back to Model list] [Back to README]
ClusterConfig v3_get_cluster_config()
Get cluster configuration
Required role: Cluster administrator.
Returns the settings that apply to the whole cluster. Requires a cluster administrator.
- Bearer (JWT) Authentication (BearerAuth):
import corellium
from corellium.models.cluster_config import ClusterConfig
from corellium.rest import ApiException
from pprint import pprint
# Defining the host is optional and defaults to https://app.corellium.com/api
# See configuration.py for a list of all supported configuration parameters.
configuration = corellium.Configuration(
host = "https://app.corellium.com/api"
)
# 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 (JWT): BearerAuth
configuration = corellium.Configuration(
access_token = os.environ["BEARER_TOKEN"]
)
# Enter a context with an instance of the API client
with corellium.ApiClient(configuration) as api_client:
# Create an instance of the API class
api_instance = corellium.ClusterApi(api_client)
try:
# Get cluster configuration
api_response = api_instance.v3_get_cluster_config()
print("The response of ClusterApi->v3_get_cluster_config:\n")
pprint(api_response)
except Exception as e:
print("Exception when calling ClusterApi->v3_get_cluster_config: %s\n" % e)This endpoint does not need any parameter.
- Content-Type: Not defined
- Accept: application/json
| Status code | Description | Response headers |
|---|---|---|
| 200 | Cluster configuration object. | - |
| 401 | Not signed in: the `Authorization: Bearer <token>` header is missing, or the token is invalid or expired. Get a new token and retry. | - |
| 403 | Cluster administrator permissions required. Signed in, but not allowed to do this: you lack the required role, have no access to the project, or your license does not include the feature. | - |
[Back to top] [Back to API list] [Back to Model list] [Back to README]
NodeInformation v3_get_cluster_node(node_id)
Get cluster node
Required role: Cluster administrator.
Returns details for one server (node) in the cluster, identified by the ID from v3ListClusterNodes. Requires a cluster administrator.
- Bearer (JWT) Authentication (BearerAuth):
import corellium
from corellium.models.node_information import NodeInformation
from corellium.rest import ApiException
from pprint import pprint
# Defining the host is optional and defaults to https://app.corellium.com/api
# See configuration.py for a list of all supported configuration parameters.
configuration = corellium.Configuration(
host = "https://app.corellium.com/api"
)
# 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 (JWT): BearerAuth
configuration = corellium.Configuration(
access_token = os.environ["BEARER_TOKEN"]
)
# Enter a context with an instance of the API client
with corellium.ApiClient(configuration) as api_client:
# Create an instance of the API class
api_instance = corellium.ClusterApi(api_client)
node_id = '2x3ZOdu4pshouoY0kttRPoiIk5s' # str | Node identifier.
try:
# Get cluster node
api_response = api_instance.v3_get_cluster_node(node_id)
print("The response of ClusterApi->v3_get_cluster_node:\n")
pprint(api_response)
except Exception as e:
print("Exception when calling ClusterApi->v3_get_cluster_node: %s\n" % e)| Name | Type | Description | Notes |
|---|---|---|---|
| node_id | str | Node identifier. |
- Content-Type: Not defined
- Accept: application/json
| Status code | Description | Response headers |
|---|---|---|
| 200 | Node details. | - |
| 401 | Not signed in: the `Authorization: Bearer <token>` header is missing, or the token is invalid or expired. Get a new token and retry. | - |
| 403 | Cluster administrator permissions required. Signed in, but not allowed to do this: you lack the required role, have no access to the project, or your license does not include the feature. | - |
| 404 | Node not found. | - |
[Back to top] [Back to API list] [Back to Model list] [Back to README]
NodeConsoleEndpoint v3_get_cluster_node_console(node_id)
Get node console websocket URL
Required role: Cluster administrator.
Returns a WebSocket URL for a terminal session on one cluster server (node), for maintenance and troubleshooting. Open the URL with a WebSocket client to get the console stream. Requires a cluster administrator.
- Bearer (JWT) Authentication (BearerAuth):
import corellium
from corellium.models.node_console_endpoint import NodeConsoleEndpoint
from corellium.rest import ApiException
from pprint import pprint
# Defining the host is optional and defaults to https://app.corellium.com/api
# See configuration.py for a list of all supported configuration parameters.
configuration = corellium.Configuration(
host = "https://app.corellium.com/api"
)
# 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 (JWT): BearerAuth
configuration = corellium.Configuration(
access_token = os.environ["BEARER_TOKEN"]
)
# Enter a context with an instance of the API client
with corellium.ApiClient(configuration) as api_client:
# Create an instance of the API class
api_instance = corellium.ClusterApi(api_client)
node_id = '2x3ZOdu4pshouoY0kttRPoiIk5s' # str | Node identifier.
try:
# Get node console websocket URL
api_response = api_instance.v3_get_cluster_node_console(node_id)
print("The response of ClusterApi->v3_get_cluster_node_console:\n")
pprint(api_response)
except Exception as e:
print("Exception when calling ClusterApi->v3_get_cluster_node_console: %s\n" % e)| Name | Type | Description | Notes |
|---|---|---|---|
| node_id | str | Node identifier. |
- Content-Type: Not defined
- Accept: application/json
| Status code | Description | Response headers |
|---|---|---|
| 200 | Console WebSocket URL. | - |
| 401 | Not signed in: the `Authorization: Bearer <token>` header is missing, or the token is invalid or expired. Get a new token and retry. | - |
| 403 | Cluster administrator permissions required. Signed in, but not allowed to do this: you lack the required role, have no access to the project, or your license does not include the feature. | - |
| 404 | Node not found. | - |
[Back to top] [Back to API list] [Back to Model list] [Back to README]
ClusterSnapshot v3_get_cluster_snapshot(snapshot_id)
Get cluster snapshot
Required role: Cluster administrator.
Returns one snapshot from the cluster-wide list. Requires a cluster administrator and the cluster snapshot management feature (clusterSnapshotMgmt).
- Bearer (JWT) Authentication (BearerAuth):
import corellium
from corellium.models.cluster_snapshot import ClusterSnapshot
from corellium.rest import ApiException
from pprint import pprint
# Defining the host is optional and defaults to https://app.corellium.com/api
# See configuration.py for a list of all supported configuration parameters.
configuration = corellium.Configuration(
host = "https://app.corellium.com/api"
)
# 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 (JWT): BearerAuth
configuration = corellium.Configuration(
access_token = os.environ["BEARER_TOKEN"]
)
# Enter a context with an instance of the API client
with corellium.ApiClient(configuration) as api_client:
# Create an instance of the API class
api_instance = corellium.ClusterApi(api_client)
snapshot_id = 'c67af9c0-26cd-4233-9782-436c842b60db' # str | Snapshot identifier.
try:
# Get cluster snapshot
api_response = api_instance.v3_get_cluster_snapshot(snapshot_id)
print("The response of ClusterApi->v3_get_cluster_snapshot:\n")
pprint(api_response)
except Exception as e:
print("Exception when calling ClusterApi->v3_get_cluster_snapshot: %s\n" % e)| Name | Type | Description | Notes |
|---|---|---|---|
| snapshot_id | str | Snapshot identifier. |
- Content-Type: Not defined
- Accept: application/json
| Status code | Description | Response headers |
|---|---|---|
| 200 | Cluster snapshot details. | - |
| 400 | Invalid snapshot ID. | - |
| 401 | Not signed in: the `Authorization: Bearer <token>` header is missing, or the token is invalid or expired. Get a new token and retry. | - |
| 403 | Cluster administrator permissions required. The clusterSnapshotMgmt feature must be enabled. | - |
| 404 | Snapshot not found. | - |
[Back to top] [Back to API list] [Back to Model list] [Back to README]
NodeList v3_list_cluster_nodes(limit=limit, offset=offset)
List cluster nodes
Required role: Cluster administrator.
Lists the servers (nodes) that make up this Corellium cluster, with their status and resources. Use it to check cluster health or find a node before opening its console. Requires a cluster administrator. Results are paginated.
- Bearer (JWT) Authentication (BearerAuth):
import corellium
from corellium.models.node_list import NodeList
from corellium.rest import ApiException
from pprint import pprint
# Defining the host is optional and defaults to https://app.corellium.com/api
# See configuration.py for a list of all supported configuration parameters.
configuration = corellium.Configuration(
host = "https://app.corellium.com/api"
)
# 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 (JWT): BearerAuth
configuration = corellium.Configuration(
access_token = os.environ["BEARER_TOKEN"]
)
# Enter a context with an instance of the API client
with corellium.ApiClient(configuration) as api_client:
# Create an instance of the API class
api_instance = corellium.ClusterApi(api_client)
limit = 100 # float | Most results to return in one page. Whole number from 1 to 1000; defaults to 100. A value outside that range is rejected with 400. (optional) (default to 100)
offset = 0 # float | How many results to skip before this page starts; defaults to 0. To get the next page, add `limit` to the previous `offset`. (optional) (default to 0)
try:
# List cluster nodes
api_response = api_instance.v3_list_cluster_nodes(limit=limit, offset=offset)
print("The response of ClusterApi->v3_list_cluster_nodes:\n")
pprint(api_response)
except Exception as e:
print("Exception when calling ClusterApi->v3_list_cluster_nodes: %s\n" % e)| Name | Type | Description | Notes |
|---|---|---|---|
| limit | float | Most results to return in one page. Whole number from 1 to 1000; defaults to 100. A value outside that range is rejected with 400. | [optional] [default to 100] |
| offset | float | How many results to skip before this page starts; defaults to 0. To get the next page, add `limit` to the previous `offset`. | [optional] [default to 0] |
- Content-Type: Not defined
- Accept: application/json
| Status code | Description | Response headers |
|---|---|---|
| 200 | Paginated list of cluster nodes. | - |
| 401 | Not signed in: the `Authorization: Bearer <token>` header is missing, or the token is invalid or expired. Get a new token and retry. | - |
| 403 | Cluster administrator permissions required. Signed in, but not allowed to do this: you lack the required role, have no access to the project, or your license does not include the feature. | - |
[Back to top] [Back to API list] [Back to Model list] [Back to README]
ClusterSnapshotList v3_list_cluster_snapshots(limit=limit, offset=offset, springboard=springboard, live=live, fresh=fresh, device_name=device_name, task=task, search=search, to=to, var_from=var_from, order_by=order_by)
List cluster snapshots
Required role: Cluster administrator.
Lists device snapshots across the whole cluster, for administrators managing storage. Requires a cluster administrator and the cluster snapshot management feature (clusterSnapshotMgmt). Results are paginated. For one device's snapshots, use GET /v3/instances/{instanceId}/snapshots instead.
- Bearer (JWT) Authentication (BearerAuth):
import corellium
from corellium.models.cluster_snapshot_list import ClusterSnapshotList
from corellium.rest import ApiException
from pprint import pprint
# Defining the host is optional and defaults to https://app.corellium.com/api
# See configuration.py for a list of all supported configuration parameters.
configuration = corellium.Configuration(
host = "https://app.corellium.com/api"
)
# 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 (JWT): BearerAuth
configuration = corellium.Configuration(
access_token = os.environ["BEARER_TOKEN"]
)
# Enter a context with an instance of the API client
with corellium.ApiClient(configuration) as api_client:
# Create an instance of the API class
api_instance = corellium.ClusterApi(api_client)
limit = 100 # float | Number of entries to return. (optional) (default to 100)
offset = 0 # float | Number of rows to skip. (optional) (default to 0)
springboard = 'true' # str | Filter by springboard snapshot flag. (optional)
live = 'true' # str | Filter by live snapshot flag. (optional)
fresh = 'false' # str | Filter by fresh snapshot flag. (optional)
device_name = 'iPhone 13 Pro' # str | Filter by device name. (optional)
task = 'creating' # str | Filter by task being executed on the snapshot. (optional)
search = 'pre-update' # str | Fuzzy search on snapshot and instance name or ID. (optional)
to = '2026-05-22T13:58:34Z' # datetime | Filter to this date (based on createdAt). (optional)
var_from = '2026-05-22T00:00Z' # datetime | Filter from this date (based on createdAt). (optional)
order_by = -createdAt # str | Sort field and direction. (optional) (default to -createdAt)
try:
# List cluster snapshots
api_response = api_instance.v3_list_cluster_snapshots(limit=limit, offset=offset, springboard=springboard, live=live, fresh=fresh, device_name=device_name, task=task, search=search, to=to, var_from=var_from, order_by=order_by)
print("The response of ClusterApi->v3_list_cluster_snapshots:\n")
pprint(api_response)
except Exception as e:
print("Exception when calling ClusterApi->v3_list_cluster_snapshots: %s\n" % e)| Name | Type | Description | Notes |
|---|---|---|---|
| limit | float | Number of entries to return. | [optional] [default to 100] |
| offset | float | Number of rows to skip. | [optional] [default to 0] |
| springboard | str | Filter by springboard snapshot flag. | [optional] |
| live | str | Filter by live snapshot flag. | [optional] |
| fresh | str | Filter by fresh snapshot flag. | [optional] |
| device_name | str | Filter by device name. | [optional] |
| task | str | Filter by task being executed on the snapshot. | [optional] |
| search | str | Fuzzy search on snapshot and instance name or ID. | [optional] |
| to | datetime | Filter to this date (based on createdAt). | [optional] |
| var_from | datetime | Filter from this date (based on createdAt). | [optional] |
| order_by | str | Sort field and direction. | [optional] [default to -createdAt] |
- Content-Type: Not defined
- Accept: application/json
| Status code | Description | Response headers |
|---|---|---|
| 200 | Paginated list of cluster snapshots. | - |
| 400 | Invalid query parameter(s). | - |
| 401 | Not signed in: the `Authorization: Bearer <token>` header is missing, or the token is invalid or expired. Get a new token and retry. | - |
| 403 | Cluster administrator permissions required. The clusterSnapshotMgmt feature must be enabled. | - |
[Back to top] [Back to API list] [Back to Model list] [Back to README]
v3_patch_cluster_config(patch_cluster_config_body=patch_cluster_config_body)
Update cluster configuration
Required role: Cluster administrator.
Changes cluster-wide settings and applies them on every controller node. Send only the settings you want to change. Requires a cluster administrator.
- Bearer (JWT) Authentication (BearerAuth):
import corellium
from corellium.models.patch_cluster_config_body import PatchClusterConfigBody
from corellium.rest import ApiException
from pprint import pprint
# Defining the host is optional and defaults to https://app.corellium.com/api
# See configuration.py for a list of all supported configuration parameters.
configuration = corellium.Configuration(
host = "https://app.corellium.com/api"
)
# 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 (JWT): BearerAuth
configuration = corellium.Configuration(
access_token = os.environ["BEARER_TOKEN"]
)
# Enter a context with an instance of the API client
with corellium.ApiClient(configuration) as api_client:
# Create an instance of the API class
api_instance = corellium.ClusterApi(api_client)
patch_cluster_config_body = corellium.PatchClusterConfigBody() # PatchClusterConfigBody | (optional)
try:
# Update cluster configuration
api_instance.v3_patch_cluster_config(patch_cluster_config_body=patch_cluster_config_body)
except Exception as e:
print("Exception when calling ClusterApi->v3_patch_cluster_config: %s\n" % e)| Name | Type | Description | Notes |
|---|---|---|---|
| patch_cluster_config_body | PatchClusterConfigBody | [optional] |
void (empty response body)
- Content-Type: application/json
- Accept: application/json
| Status code | Description | Response headers |
|---|---|---|
| 200 | Configuration updated successfully. | - |
| 400 | Invalid request body. | - |
| 401 | Not signed in: the `Authorization: Bearer <token>` header is missing, or the token is invalid or expired. Get a new token and retry. | - |
| 403 | Cluster administrator permissions required. Signed in, but not allowed to do this: you lack the required role, have no access to the project, or your license does not include the feature. | - |
| 500 | Configuration update failed on one or more nodes. | - |
[Back to top] [Back to API list] [Back to Model list] [Back to README]