Skip to content

Latest commit

 

History

History
480 lines (339 loc) · 20.6 KB

ActivityApi.md

File metadata and controls

480 lines (339 loc) · 20.6 KB

corellium.ActivityApi

Request timeouts

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_create_activity_export POST /v3/activity/export Start activity export
v3_download_activity GET /v3/activity/export/{taskId}/download Download activity for a given task
v3_get_activity_export_status GET /v3/activity/export/{taskId} Get export task status
v3_get_activity_export_tasks GET /v3/activity/export Get all export tasks for user
v3_list_activities GET /v3/activity Get resource activities

v3_create_activity_export

CreateActivityExportResponse v3_create_activity_export(accept, create_activity_export_body=create_activity_export_body)

Start activity export

Required role: Domain administrator.

Starts building a file of activity records for download, for audits or offline analysis. Requires a domain administrator and the user-logging license feature (403 otherwise).

Choose the file format with the Accept header: application/json or text/csv (any other value returns 400). The body takes the same filters as v3ListActivities, but the export is not paginated: it contains every matching record.

Workflow:

  1. v3CreateActivityExport (this call). Returns 201 with an id like activity-export/<UUID>.
  2. Poll v3GetActivityExportStatus with the <UUID> part until status is complete.
  3. v3DownloadActivity with the same UUID to get the file.

Example

  • Bearer (JWT) Authentication (BearerAuth):
import corellium
from corellium.models.activity_export_format import ActivityExportFormat
from corellium.models.create_activity_export_body import CreateActivityExportBody
from corellium.models.create_activity_export_response import CreateActivityExportResponse
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.ActivityApi(api_client)
    accept = corellium.ActivityExportFormat() # ActivityExportFormat | Specifies the activity export file format.
    create_activity_export_body = corellium.CreateActivityExportBody() # CreateActivityExportBody |  (optional)

    try:
        # Start activity export
        api_response = api_instance.v3_create_activity_export(accept, create_activity_export_body=create_activity_export_body)
        print("The response of ActivityApi->v3_create_activity_export:\n")
        pprint(api_response)
    except Exception as e:
        print("Exception when calling ActivityApi->v3_create_activity_export: %s\n" % e)

Parameters

Name Type Description Notes
accept ActivityExportFormat Specifies the activity export file format.
create_activity_export_body CreateActivityExportBody [optional]

Return type

CreateActivityExportResponse

Authorization

BearerAuth

HTTP request headers

  • Content-Type: application/json
  • Accept: application/json

HTTP response details

Status code Description Response headers
201 Export task accepted. -
400 Invalid request body or export rejected. -
403 Domain 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]

v3_download_activity

bytearray v3_download_activity(task_id)

Download activity for a given task

Required role: Domain administrator.

Downloads the file produced by a finished activity export, as JSON or CSV depending on the format you asked for. Pass the UUID part of the export id. Returns 404 if the file is not ready or does not exist; check v3GetActivityExportStatus first. Requires a domain administrator and the user-logging license feature.

Example

  • 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.ActivityApi(api_client)
    task_id = '722cdce5-6f71-4f4a-b2b6-c00f11c015f6' # str | 

    try:
        # Download activity for a given task
        api_response = api_instance.v3_download_activity(task_id)
        print("The response of ActivityApi->v3_download_activity:\n")
        pprint(api_response)
    except Exception as e:
        print("Exception when calling ActivityApi->v3_download_activity: %s\n" % e)

Parameters

Name Type Description Notes
task_id str

Return type

bytearray

Authorization

BearerAuth

HTTP request headers

  • Content-Type: Not defined
  • Accept: application/json, text/csv

HTTP response details

Status code Description Response headers
200 Activity export file download. -
400 Unable to get image export type. -
403 Domain 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 Task not found. -

[Back to top] [Back to API list] [Back to Model list] [Back to README]

v3_get_activity_export_status

ActivityExportStatus v3_get_activity_export_status(task_id)

Get export task status

Required role: Domain administrator.

Returns the status of an activity export started with v3CreateActivityExport. Pass the UUID part of the export id. Poll until status is complete, then call v3DownloadActivity. Finished tasks are cleaned up, so a task that no longer exists is reported as complete. Requires a domain administrator and the user-logging license feature.

Example

  • Bearer (JWT) Authentication (BearerAuth):
import corellium
from corellium.models.activity_export_status import ActivityExportStatus
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.ActivityApi(api_client)
    task_id = '722cdce5-6f71-4f4a-b2b6-c00f11c015f6' # str | 

    try:
        # Get export task status
        api_response = api_instance.v3_get_activity_export_status(task_id)
        print("The response of ActivityApi->v3_get_activity_export_status:\n")
        pprint(api_response)
    except Exception as e:
        print("Exception when calling ActivityApi->v3_get_activity_export_status: %s\n" % e)

Parameters

Name Type Description Notes
task_id str

Return type

ActivityExportStatus

Authorization

BearerAuth

HTTP request headers

  • Content-Type: Not defined
  • Accept: application/json

HTTP response details

Status code Description Response headers
200 Task status. -
403 Domain 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]

v3_get_activity_export_tasks

ActivityExportTaskList v3_get_activity_export_tasks(limit=limit, offset=offset)

Get all export tasks for user

Required role: Domain administrator.

Lists the activity exports you have started, with each one's status and the filters it used. Requires a domain administrator and the user-logging license feature. Results are paginated with limit and offset.

Example

  • Bearer (JWT) Authentication (BearerAuth):
import corellium
from corellium.models.activity_export_task_list import ActivityExportTaskList
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.ActivityApi(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:
        # Get all export tasks for user
        api_response = api_instance.v3_get_activity_export_tasks(limit=limit, offset=offset)
        print("The response of ActivityApi->v3_get_activity_export_tasks:\n")
        pprint(api_response)
    except Exception as e:
        print("Exception when calling ActivityApi->v3_get_activity_export_tasks: %s\n" % e)

Parameters

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]

Return type

ActivityExportTaskList

Authorization

BearerAuth

HTTP request headers

  • Content-Type: Not defined
  • Accept: application/json

HTTP response details

Status code Description Response headers
200 List of export tasks. -
403 Domain 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]

v3_list_activities

ActivityListResponse v3_list_activities(resource=resource, limit=limit, offset=offset, order_by=order_by, instance_id=instance_id, project_id=project_id, actor=actor, search=search, to=to, var_from=var_from)

Get resource activities

Returns the activity log: a record of what happened in your domain, such as devices created, started and deleted, users signing in, and settings changed, with who did it and when. You only see events your role allows. Filter by device, project, user, time range or free text, and page with limit and offset. For a full download of many records, use v3CreateActivityExport instead.

Example

  • Bearer (JWT) Authentication (BearerAuth):
import corellium
from corellium.models.activity_list_response import ActivityListResponse
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.ActivityApi(api_client)
    resource = None # object | Resource equality or LHS prefix filter. Examples: `resource=value`, `resource[startsWith]=value`, and `resource[!startsWith]=value`. (optional)
    limit = 10 # float | Number of entries to return. (optional) (default to 10)
    offset = 0 # float | Number of results to skip. (optional) (default to 0)
    order_by = '-createdAt' # str | Field to sort by, for example `createdAt`. Prefix with `-` for newest or largest first. Defaults to `-createdAt` (newest first). (optional) (default to '-createdAt')
    instance_id = 'f7f9832a-f824-416f-a5ea-4adfe34754b5' # str | Only activity about this device. (optional)
    project_id = '1c41b1bc-4f53-48a8-b690-ad30611e1960' # str | Only activity in this project. (optional)
    actor = 'e8c5b7ea-aa5f-4a4a-bdca-0c67060b5320' # str | Only activity performed by this user (user ID). (optional)
    search = 'iPhone15,2' # str | Free-text search. Applied last, as a loose match on the results that pass the other filters. (optional)
    to = '2026-05-22T13:58:34Z' # datetime | Only activity at or before this time (ISO 8601). (optional)
    var_from = '2026-05-22T00:00Z' # datetime | Only activity at or after this time (ISO 8601). (optional)

    try:
        # Get resource activities
        api_response = api_instance.v3_list_activities(resource=resource, limit=limit, offset=offset, order_by=order_by, instance_id=instance_id, project_id=project_id, actor=actor, search=search, to=to, var_from=var_from)
        print("The response of ActivityApi->v3_list_activities:\n")
        pprint(api_response)
    except Exception as e:
        print("Exception when calling ActivityApi->v3_list_activities: %s\n" % e)

Parameters

Name Type Description Notes
resource object Resource equality or LHS prefix filter. Examples: `resource=value`, `resource[startsWith]=value`, and `resource[!startsWith]=value`. [optional]
limit float Number of entries to return. [optional] [default to 10]
offset float Number of results to skip. [optional] [default to 0]
order_by str Field to sort by, for example `createdAt`. Prefix with `-` for newest or largest first. Defaults to `-createdAt` (newest first). [optional] [default to '-createdAt']
instance_id str Only activity about this device. [optional]
project_id str Only activity in this project. [optional]
actor str Only activity performed by this user (user ID). [optional]
search str Free-text search. Applied last, as a loose match on the results that pass the other filters. [optional]
to datetime Only activity at or before this time (ISO 8601). [optional]
var_from datetime Only activity at or after this time (ISO 8601). [optional]

Return type

ActivityListResponse

Authorization

BearerAuth

HTTP request headers

  • Content-Type: Not defined
  • Accept: application/json

HTTP response details

Status code Description Response headers
200 List of activities. -
400 Invalid query parameter(s) or column name. -
403 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]