corellium-typescript
Version:
A beautiful TypeScript Corellium library.
1,416 lines (1,412 loc) • 270 kB
TypeScript
import createFetchClient from 'openapi-fetch';
/**
* This file was auto-generated by openapi-typescript.
* Do not make direct changes to the file.
*/
interface paths {
"/v1/auth/login": {
/** Log In */
post: operations["v1AuthLogin"];
};
"/v1/config": {
/** Get all configs */
get: operations["v1GetConfig"];
};
"/v1/domain/{domainId}/auth/{providerId}": {
/** Update an auth provider for a domain */
put: operations["v1UpdateDomainAuthProvider"];
/** Delete an auth provider from a domain */
delete: operations["v1DeleteDomainAuthProvider"];
};
"/v1/domain/{domainId}/auth": {
/** Return all configured auth providers for a domain (including globally configured providers) */
get: operations["v1GetDomainAuthProviders"];
/** Create a new auth provider for a domain */
post: operations["v1CreateDomainAuthProvider"];
};
"/v1/instances/{instanceId}/hooks": {
/** Get all hypervisor hooks for Instance */
get: operations["v1GetHooks"];
/** Create hypervisor hook for Instance */
post: operations["v1CreateHook"];
};
"/v1/hooks/{hookId}": {
/** Get hypervisor hook by id */
get: operations["v1GetHookById"];
/** Update an existing hypervisor hook */
put: operations["v1UpdateHook"];
/** Delete an existing hypervisor hook */
delete: operations["v1DeleteHook"];
};
"/v1/images": {
/** Get all Images Metadata */
get: operations["v1GetImages"];
/** Create a new Image */
post: operations["v1CreateImage"];
};
"/v1/images/{imageId}": {
/** Get Image Metadata */
get: operations["v1GetImage"];
/**
* Upload Image Data
* @description If the active project has enough remaining quota, updates an Image with the contents of the request body.
*/
post: operations["v1UploadImageData"];
};
"/v2/images/{imageId}": {
/** Delete Image */
delete: operations["v1DeleteImage"];
};
"/v1/ready": {
/**
* API Status
* @description Check if API is ready for queries
*/
get: operations["v1Ready"];
};
"/v1/instances": {
/** Get Instances */
get: operations["v1GetInstances"];
/** Create Instance */
post: operations["v1CreateInstance"];
};
"/v1/instances/{instanceId}": {
/** Get Instance */
get: operations["v1GetInstance"];
/** Remove Instance */
delete: operations["v1DeleteInstance"];
/** Update Instance */
patch: operations["v1PatchInstance"];
};
"/v1/instances/{instanceId}/agent/v1/app/ready": {
/** Check if App subsystem is ready */
get: operations["v1AgentAppReady"];
};
"/v1/instances/{instanceId}/agent/v1/app/install": {
/**
* Install App at path
* @description Installs the app located at path which must be present on the VM filesystem
*/
post: operations["v1AgentInstallApp"];
};
"/v1/instances/{instanceId}/agent/v1/app/apps": {
/** List Apps */
get: operations["v1AgentListApps"];
};
"/v1/instances/{instanceId}/agent/v1/app/apps/update": {
/** List Apps Status */
get: operations["v1AgentListAppsStatus"];
};
"/v1/instances/{instanceId}/agent/v1/app/icons": {
/** List App Icons */
get: operations["v1AgentListAppIcons"];
};
"/v1/instances/{instanceId}/agent/v1/app/apps/{bundleId}/run": {
/** Run an App */
post: operations["v1AgentRunApp"];
};
"/v1/instances/{instanceId}/agent/v1/app/apps/{bundleId}/kill": {
/** Kill an App */
post: operations["v1AgentKillApp"];
};
"/v1/instances/{instanceId}/agent/v1/app/apps/{bundleId}/uninstall": {
/** Uninstall an App */
post: operations["v1AgentUninstallApp"];
};
"/v1/instances/{instanceId}/agent/v1/file/device/{filePath}": {
/** Download a File from VM */
get: operations["v1AgentGetFile"];
/** Upload a file to VM */
put: operations["v1AgentUploadFile"];
/** Delete a File on VM */
delete: operations["v1AgentDeleteFile"];
/** Change Attrs of a File on VM */
patch: operations["v1AgentSetFileAttributes"];
};
"/v1/instances/{instanceId}/agent/v1/file/temp": {
/**
* Get the path for a new temp file
* @description Returns a temporary random filename that is guranteed to be unique on the VMs
* filesystem at the time of invocation of this method.
*/
post: operations["v1AgentGetTempFilename"];
};
"/v1/instances/{instanceId}/agent/v1/profile/profiles": {
/** List Profiles */
get: operations["v1AgentListProfiles"];
};
"/v1/instances/{instanceId}/agent/v1/profile/install": {
/** Install a Profile to VM */
post: operations["v1AgentInstallProfile"];
};
"/v1/instances/{instanceId}/agent/v1/profile/profiles/{profileId}": {
/** Uninstall a Profile from VM */
delete: operations["v1AgentUninstallProfile"];
};
"/v1/instances/{instanceId}/agent/v1/system/setHostname": {
/** Set Hostname of instance */
post: operations["v1AgentSystemSetHostname"];
};
"/v1/instances/{instanceId}/agent/v1/system/shutdown": {
/** Instruct VM to halt */
post: operations["v1AgentSystemShutdown"];
};
"/v1/instances/{instanceId}/agent/v1/system/network": {
/** Get IP of eth0 (AOSP only) */
get: operations["v1AgentSystemGetNetwork"];
};
"/v1/instances/{instanceId}/agent/v1/system/getprop": {
/** Get System Property (AOSP only) */
post: operations["v1AgentSystemGetProp"];
};
"/v1/instances/{instanceId}/agent/v1/system/install-opengapps": {
/** Install OpenGApps (AOSP only) */
post: operations["v1AgentSystemInstallOpenGApps"];
};
"/v1/instances/{instanceId}/agent/v1/system/adbauth": {
/** Get ADB Auth Setting (AOSP only) */
get: operations["v1AgentSystemGetAdbAuth"];
/** Set ADB Auth Setting (AOSP only) */
put: operations["v1AgentSystemSetAdbAuth"];
};
"/v1/instances/{instanceId}/agent/v1/system/lock": {
/** Lock Device (iOS Only) */
post: operations["v1AgentSystemLock"];
};
"/v1/instances/{instanceId}/agent/v1/system/unlock": {
/** Unlock Device (iOS Only) */
post: operations["v1AgentSystemUnlock"];
};
"/v1/instances/{instanceId}/console": {
/** Get console websocket URL */
get: operations["v1GetInstanceConsole"];
};
"/v1/instances/{instanceId}/networkMonitor.pcap": {
/** Download a Network Monitor pcap file */
get: {
parameters: {
path: {
/** @description Instance ID - uuid */
instanceId: string;
};
};
responses: {
/** @description pcap file */
200: {
content: {
"application/vnd.tcpdump.pcap": components["schemas"]["File"];
};
};
/** @description Bad Request */
400: {
content: {
"application/json": components["schemas"]["UserError"];
};
};
/** @description Forbidden */
403: {
content: {
"application/json": components["schemas"]["ApiError"];
};
};
};
};
};
"/v1/instances/{instanceId}/netdump.pcap": {
/** Download a netdump pcap file */
get: {
parameters: {
path: {
/** @description Instance ID - uuid */
instanceId: string;
};
};
responses: {
/** @description pcapng file */
200: {
content: {
"application/vnd.tcpdump.pcap": components["schemas"]["File"];
};
};
/** @description Bad Request */
400: {
content: {
"application/json": components["schemas"]["UserError"];
};
};
/** @description Forbidden */
403: {
content: {
"application/json": components["schemas"]["ApiError"];
};
};
};
};
};
"/v1/instances/{instanceId}/start": {
/** Start an Instance */
post: operations["v1StartInstance"];
};
"/v1/instances/{instanceId}/stop": {
/** Stop an Instance */
post: operations["v1StopInstance"];
};
"/v1/instances/{instanceId}/reboot": {
/** Reboot an Instance */
post: operations["v1RebootInstance"];
};
"/v1/instances/{instanceId}/pause": {
/** Pause an Instance */
post: operations["v1PauseInstance"];
};
"/v1/instances/{instanceId}/unpause": {
/** Unpause an Instance */
post: operations["v1UnpauseInstance"];
};
"/v1/instances/{instanceId}/state": {
/** Set state of Instance */
put: operations["v1SetInstanceState"];
};
"/v2/instances/{instanceId}/state": {
/** Get state of Instance */
get: operations["v2GetInstanceState"];
};
"/v1/instances/{instanceId}/gpios": {
/** Get Instance GPIOs */
get: operations["v1GetInstanceGpios"];
/** Set Instance GPIOs */
put: operations["v1SetInstanceGpios"];
};
"/v1/instances/{instanceId}/peripherals": {
/** Get Instance Peripherals */
get: operations["v1GetInstancePeripherals"];
/** Set Instance Peripherals */
put: operations["v1SetInstancePeripherals"];
};
"/v1/instances/{instanceId}/restoreBackup": {
/** Restore backup */
post: operations["v1RestoreBackup"];
};
"/v1/instances/{instanceId}/screenshot.{format}": {
/** Get Instance Screenshot */
get: operations["v1GetInstanceScreenshot"];
};
"/v1/instances/{instanceId}/rotate": {
/**
* Rotate device to specified orientation
* @description Rotate device to orientation. Accepted orientations:
* 1. Portrait
* 2. Portrait vertically inverted (up-side-down)
* 3. Landscape with top of the device to the left
* 4. Landscape with top of the device to the right
*/
post: operations["v1RotateInstance"];
};
"/v1/instances/{instanceId}/input": {
/**
* Provide Instance Input
* @description Sends a touch or button event to the VM.
*
* - Buttons (or keys) to be held during the input are specified as an array of strings, each string must be either a single ascii character or one of the following keywords:
* - VM Buttons: finger, homeButton, holdButton, volumeUp, volumeDown, ringerSwitch, backButton, overviewButton
* - Keyboard Buttons: again, alt, alterase, apostrophe, back, backslash, backspace, bassboost, bookmarks, bsp, calc, camera, cancel, caps, capslock, chat, close, closecd, comma, compose, computer, config, connect, copy, ctrl, cut, cyclewindows, dashboard, del, delete, deletefile, dot, down, edit, eject, ejectclose, email, end, enter, equal, esc, escape, exit, f1, f10, f11, f12, f13, f14, f15, f16, f17, f18, f19, f2, f20, f21, f22, f23, f24, f3, f4, f5, f6, f7, f8, f9, fastfwd, file, finance, find, forward, front, grave, hangeul, hanja, help, henkan, home, homepage, hp, hrgn, ins, insert, iso, k102, kp0, kp1, kp2, kp3, kp4, kp5, kp6, kp7, kp8, kp9, kpasterisk, kpcomma, kpdot, kpenter, kpequal, kpjpcomma, kpleftparen, kpminus, kpplus, kpplusminus, kprightparen, kpslash, ktkn, ktknhrgn, left, leftalt, leftbrace, leftctrl, leftmeta, leftshift, linefeed, macro, mail, menu, meta, minus, move, msdos, muhenkan, mute, new, next, numlock, open, pagedown, pageup, paste, pause, pausecd, pgdn, pgup, phone, play, playcd, playpause, power, previous, print, prog1, prog2, prog3, prog4, props, question, record, redo, refresh, return, rewind, right, rightalt, rightbrace, rightctrl, rightmeta, rightshift, ro, rotate, scale, screenlock, scrolldown, scrolllock, scrollup, search, semicolon, sendfile, setup, shift, shop, slash, sleep, sound, space, sport, stop, stopcd, suspend, sysrq, tab, undo, up, voldown, volup, wakeup, www, xfer, yen, zkhk
*/
post: operations["v1PostInstanceInput"];
};
"/v1/instances/{instanceId}/consoleLog": {
/** Get Console Log */
get: operations["v1GetInstanceConsoleLog"];
};
"/v1/instances/{instanceId}/panics": {
/** Get Panics */
get: operations["v1GetInstancePanics"];
/** Clear Panics */
delete: operations["v1ClearInstancePanics"];
};
"/v1/instances/{instanceId}/media/play": {
/** Start playing media */
post: operations["v1MediaPlay"];
};
"/v1/instances/{instanceId}/media/stop": {
/** Stop playing media */
post: operations["v1MediaStop"];
};
"/v1/instances/{instanceId}/strace": {
/** Clear CoreTrace logs */
delete: operations["v1ClearCoreTrace"];
};
"/v1/instances/{instanceId}/strace/enable": {
/** Start CoreTrace on an instance */
post: operations["v1StartCoreTrace"];
};
"/v1/instances/{instanceId}/strace/disable": {
/** Stop CoreTrace on an instance. */
post: operations["v1StopCoreTrace"];
};
"/v1/instances/{instanceId}/strace/thread-list": {
/** Get Running Threads (CoreTrace) */
get: operations["v1ListThreads"];
};
"/v1/instances/{instanceId}/btrace-authorize": {
/** Pre-authorize an btrace download */
get: operations["v1BtracePreauthorize"];
};
"/v1/instances/{instanceId}/btrace-kcrange": {
/** Get Kernel extension ranges */
get: operations["v1Kcrange"];
};
"/v1/instances/{instanceId}/btrace": {
/** Clear HyperTrace logs */
delete: operations["v1ClearHyperTrace"];
};
"/v1/instances/{instanceId}/btrace/enable": {
/** Start HyperTrace on an instance */
post: operations["v1StartHyperTrace"];
};
"/v1/instances/{instanceId}/btrace/disable": {
/** Stop HyperTrace on an instance. */
post: operations["v1StopHyperTrace"];
};
"/v1/instances/{instanceId}/hooks/execute": {
/** Execute Hooks on an instance */
post: operations["v1ExecuteHyperTraceHooks"];
};
"/v1/instances/{instanceId}/hooks/clear": {
/** Clear Hooks on an instance */
post: operations["v1ClearHyperTraceHooks"];
};
"/v1/instances/{instanceId}/sslsplit/enable": {
/** Start Network Monitor on an instance. */
post: operations["v1StartNetworkMonitor"];
};
"/v1/instances/{instanceId}/sslsplit/disable": {
/** Stop Network Monitor on an instance. */
post: operations["v1StopNetworkMonitor"];
};
"/v1/instances/{instanceId}/netdump/enable": {
/** Start Enhanced Network Monitor on an instance. */
post: operations["v1StartNetdump"];
};
"/v1/instances/{instanceId}/netdump/disable": {
/** Stop Enhanced Network Monitor on an instance. */
post: operations["v1StopNetdump"];
};
"/v1/instances/{instanceId}/exposeport/enable": {
/** Enable an exposed port on an instance for device access. */
post: operations["v1EnableExposePort"];
};
"/v1/instances/{instanceId}/exposeport/disable": {
/** Disable an exposed port on an instance for device access. */
post: operations["v1DisableExposePort"];
};
"/v1/instances/{instanceId}/message": {
/**
* Inject a message into an iOS VM
* @description Given a message and source phone number, place this message as an incoming SMS message on the iOS VM.
* For advanced usage, a raw message of bytes may be sent. In this case, the parameter should provide hex encoded bytes
* (0x00 0x11 0x22 0x33 in the example below) which are sent verbatim.
* The user must ensure that the body is the correct format for the underlying device stack.
*/
post: {
parameters: {
path: {
/** @description Instance ID - uuid */
instanceId: string;
};
};
/** @description Message data */
requestBody: {
content: {
"application/json": Record<string, never>;
};
};
responses: {
/** @description No Content */
204: {
content: never;
};
/** @description Bad Request */
400: {
content: {
"application/json": components["schemas"]["UserError"];
};
};
/** @description Forbidden */
403: {
content: {
"application/json": components["schemas"]["ApiError"];
};
};
};
};
};
"/v2/instances/{instanceId}/quickConnectCommand": {
/** Recommended SSH Command for Quick Connect */
get: operations["v2GetInstanceQuickConnectCommand"];
};
"/v1/instances/{instanceId}/upgrade": {
/** Upgrade iOS version */
post: operations["v1UpgradeInstance"];
};
"/v1/instances/{instanceId}/snapshots": {
/** Get Instance Snapshots */
get: operations["v1GetInstanceSnapshots"];
/** Create Instance Snapshot */
post: operations["v1CreateSnapshot"];
};
"/v1/instances/{instanceId}/snapshots/{snapshotId}": {
/** Get Instance Snapshot */
get: operations["v1GetInstanceSnapshot"];
/** Delete an Instance Snapshot */
delete: operations["v1DeleteInstanceSnapshot"];
/** Rename an Instance Snapshot */
patch: operations["v1RenameInstanceSnapshot"];
};
"/v1/instances/{instanceId}/snapshots/{snapshotId}/restore": {
/** Restore an Instance Snapshot */
post: operations["v1RestoreInstanceSnapshot"];
};
"/v1/license/features": {
/** Get all supported features for user */
get: operations["v1GetSupportedFeatures"];
};
"/v1/models": {
/** Get Supported Models */
get: operations["v1GetModels"];
};
"/v1/models/{model}/software": {
/** Get Software for Model */
get: operations["v1GetModelSoftware"];
};
"/v1/projects": {
/** Get Projects */
get: operations["v1GetProjects"];
/** Create a Project */
post: operations["v1CreateProject"];
};
"/v1/projects/{projectId}": {
/** Get a Project */
get: operations["v1GetProject"];
/** Delete a Project */
delete: operations["v1DeleteProject"];
/** Update a Project */
patch: operations["v1UpdateProject"];
};
"/v1/projects/{projectId}/instances": {
/** Get Instances in Project */
get: operations["v1GetProjectInstances"];
};
"/v1/projects/{projectId}/settings": {
/** Change Project Settings */
patch: operations["v1UpdateProjectSettings"];
};
"/v1/projects/{projectId}/vpnconfig/{format}": {
/**
* Get Project VPN Configuration
* @description A Project VPN allows connection _into_ virtual devices in the project (e.g., connecting a researcher's computer as a VPN client to a virtual device within the project). If a Project VPN has been defined, this will return the configuration.
*/
get: operations["v1GetProjectVpnConfig"];
};
"/v1/projects/{projectId}/keys": {
/** Get Project Authorized Keys */
get: operations["v1GetProjectKeys"];
/** Add Project Authorized Key */
post: operations["v1AddProjectKey"];
};
"/v1/projects/{projectId}/keys/{keyId}": {
/** Delete Project Authorized Key */
delete: operations["v1RemoveProjectKey"];
};
"/v1/roles": {
/**
* Get all roles
* @description This endpoint is available for Enterprise accounts only
*/
get: operations["v1Roles"];
};
"/v1/roles/projects/{projectId}/users/{userId}/roles/{roleId}": {
/**
* Add user role to project
* @description This endpoint is available for Enterprise accounts only
*/
put: operations["v1AddUserRoleToProject"];
/**
* Remove user role from project
* @description This endpoint is available for Enterprise accounts only
*/
delete: operations["v1RemoveUserRoleFromProject"];
};
"/v1/roles/projects/{projectId}/teams/{teamId}/roles/{roleId}": {
/**
* Add team role to project
* @description This endpoint is available for Enterprise accounts only
*/
put: operations["v1AddTeamRoleToProject"];
/**
* Remove team role from project
* @description This endpoint is available for Enterprise accounts only
*/
delete: operations["v1RemoveTeamRoleFromProject"];
};
"/v1/snapshots/{snapshotId}/share": {
/**
* Share snapshot
* @description Share a snapshot
*/
post: operations["v1ShareSnapshot"];
};
"/v1/snapshots/accept": {
/**
* Accept a snapshot shared with you
* @description Accept a snapshot shared with you
*/
post: operations["v1AcceptSharedSnapshot"];
};
"/v1/snapshots/{snapshotId}/permissions": {
/**
* Set member list
* @description Sets the list of members who have access to the snapshot
*/
post: operations["v1SetSnapshotPermissions"];
/**
* Delete member(s)
* @description Deletes one or more members from the list of members who have access to the snapshot
*/
delete: operations["v1DeleteSnapshotPermissions"];
};
"/v1/snapshots/shared": {
/**
* Fetch shared snapshots
* @description Fetch snapshots shared with and shared by the requesting user
*/
get: operations["v1GetSharedSnapshots"];
};
"/v1/snapshots/{snapshotId}": {
/** Get Snapshot */
get: operations["v1GetSnapshot"];
/** Delete a Snapshot */
delete: operations["v1DeleteSnapshot"];
/** Rename a Snapshot */
patch: operations["v1SnapshotRename"];
};
"/v1/teams": {
/**
* Get teams
* @description This endpoint is available for Enterprise accounts only
*/
get: operations["v1Teams"];
/**
* Create team
* @description This endpoint is available for Enterprise accounts only
*/
post: operations["v1TeamCreate"];
};
"/v1/teams/{teamId}": {
/**
* Delete team
* @description This endpoint is available for Enterprise accounts only
*/
delete: operations["v1TeamDelete"];
/**
* Update team
* @description This endpoint is available for Enterprise accounts only
*/
patch: operations["v1TeamChange"];
};
"/v1/teams/{teamId}/users/{userId}": {
/**
* Add user to team
* @description This endpoint is available for Enterprise accounts only
*/
put: operations["v1AddUserToTeam"];
/**
* Remove user from team
* @description This endpoint is available for Enterprise accounts only
*/
delete: operations["v1RemoveUserFromTeam"];
};
"/v1/users": {
/** Create User */
post: operations["v1CreateUser"];
};
"/v1/users/agree": {
/** Consent to the current terms and conditions */
post: operations["v1UserAgreeTerms"];
};
"/v1/users/{userId}": {
/** Delete User */
delete: operations["v1DeleteUser"];
/** Update User */
patch: operations["v1UpdateUser"];
};
"/v1/users/login": {
/** Log In */
post: operations["v1UsersLogin"];
};
"/v1/users/change-password": {
/**
* Change User Password
* @description Authenticated solely by the old-password.
*/
post: {
requestBody: {
content: {
"application/json": components["schemas"]["PasswordChangeBody"];
};
};
responses: {
/** @description Accepted */
204: {
content: never;
};
/** @description Forbidden */
403: {
content: {
"application/json": components["schemas"]["ApiError"];
};
};
};
};
};
"/v1/users/reset-password": {
/** Reset User Password */
post: operations["v1ResetUserPassword"];
};
"/v1/users/send-reset-link": {
/** Send Password Reset Link */
post: operations["v1SendUserResetLink"];
};
"/v1/users/reset-link-info": {
/** Send Password Reset Link Info */
get: operations["v1GetResetLinkInfo"];
};
"/v1/webplayer": {
/** List all Webplayer sessions */
get: operations["v1WebPlayerListSessions"];
/** Create a new Webplayer Session */
post: operations["v1WebPlayerCreateSession"];
};
"/v1/webplayer/{sessionId}": {
/** Retrieve Webplayer Session Information */
get: operations["v1WebPlayerSessionInfo"];
/** Tear down a Webplayer Session */
delete: operations["v1WebPlayerDestroySession"];
};
"/v1/webplayer/allowedDomains": {
/** Retrieve the list of allowed domains for all Webplayer sessions */
get: operations["v1WebPlayerAllowedDomains"];
};
"/v1/network/connections": {
/**
* List available network connections
* @description You must have the domain administrator or project administrator role to list network connections.
*/
get: operations["v1ListNetworkConnections"];
/**
* Create a new Network Connection
* @description You must have the domain administrator role to create a network connection.
*/
post: operations["v1CreateNetworkConnection"];
};
"/v1/network/connections/{id}": {
/**
* Update Network Connection
* @description You must have the domain administrator role to update a network connection.
*/
put: operations["v1UpdateNetworkConnection"];
/**
* Delete an existing Network Connection
* @description You must have the domain administrator role to delete a network connection.
*/
delete: operations["v1DeleteNetworkConnection"];
/**
* Update Network Connection (partial)
* @description Only updates the specified attributes. You must have the domain administrator role to update a network connection.
*/
patch: operations["v1PartialUpdateNetworkConnection"];
};
"/v1/network/providers": {
/**
* List available network providers
* @description Provides a list of registered network providers to be used when [creating network connections](#post-/v1/network/connections). You
* must have the domain administrator role to list network providers.
*/
get: operations["v1ListNetworkProviders"];
};
"/v1/services/matrix/{instanceId}/instances/{instanceId}/assessments": {
/** Get assessments by instanceId */
get: operations["getAssessmentsByInstanceId"];
};
"/v1/services/matrix/{instanceId}/assessments": {
/** Create assessment */
post: operations["createAssessment"];
};
"/v1/services/matrix/{instanceId}/assessments/{assessmentId}": {
/** Get assessment by ID */
get: operations["getAssessmentById"];
/** Delete assessment */
delete: operations["deleteAssessment"];
};
"/v1/services/matrix/{instanceId}/assessments/{assessmentId}/start": {
/** Update assessment state and begin device monitoring */
post: operations["startMonitoring"];
};
"/v1/services/matrix/{instanceId}/assessments/{assessmentId}/stop": {
/** Update assessment state and stop device monitoring */
post: operations["stopMonitoring"];
};
"/v1/services/matrix/{instanceId}/assessments/{assessmentId}/test": {
/** Update assessment state and execute MATRIX tests */
post: operations["runTests"];
};
"/v1/services/matrix/{instanceId}/assessments/{assessmentId}/download": {
/** Download report */
get: operations["downloadReport"];
};
}
interface components {
schemas: {
Credentials: {
/** @description Authentication Username */
username: string;
/**
* Format: password
* @description Authentication Password
*/
password: string;
};
Token: {
token: string;
/**
* Format: date-time
* @description Token expiration
*/
expiration?: string | null;
};
ApiToken: {
apiToken: string;
};
/** @description Coupon options */
coupon_options: {
/** @enum {string} */
type: "percent" | "discount" | "absolute";
/** @description Amount */
amount: number;
/** @description Is Used. If true, this coupon has been used and cannot be used again */
used: boolean;
};
/** @description Plan options */
plan: {
/** @enum {string} */
licenseType: "premium" | "individual" | "standard" | "enterprise" | "individual-usage" | "enterprise-usage" | "unrestricted";
/** @description Number of CPU cores */
cores: number;
};
/** @description Trial options */
trial: {
/** @description Duration in days */
duration: number;
};
/** @description Subscriber Invite */
SubscriberInvite: {
/** @description Coupon Options */
coupon_options?: components["schemas"]["coupon_options"];
/** @description Plan Options */
plan?: components["schemas"]["plan"];
/** @description Trial Options */
trial?: components["schemas"]["trial"];
/** @description Name */
name?: string | null;
/** @description Email */
email?: string | null;
/** @description Coupon code */
coupon_code: string;
/** @description Domain */
domain?: string | null;
/** @description Aggregate */
aggregate: string;
/** @description Used By */
use_by?: string | null;
/** @description Is Active flag */
active: boolean;
/** @description Is reusable flag */
reusable: boolean;
/** @description Created Date in ISO-8601 format e.g. 2022-05-06T02:39:23.000Z */
createdAt: string;
/** @description Updated Date in ISO-8601 format e.g. 2022-05-06T02:39:23.000Z */
updatedAt: string;
};
MeteredSubscriptionUsage: {
/** @description Unit price */
burst_rate?: number | null;
/** @description Allocated hours */
allocated_hours?: number | null;
/** @description Plan cost */
plan_billed_amount?: number | null;
/** @description Units included in plan */
plan_billed_units?: number | null;
/** @description Amount billed */
burst_billed_amount?: number | null;
/** @description Units billed */
burst_billed_units?: number | null;
/** @description Outstanding amount */
burst_outstanding_amount?: number | null;
/** @description Outstanding units */
burst_outstanding_units?: number | null;
/** @description Total cost in cents for current period */
total_usage_amount?: number | null;
/** @description Total used units for current period */
total_used_units?: number | null;
};
EmptyResponse: Record<string, never>;
TrialRequestMetadata: {
name?: string | null;
/** @description provided company name */
company?: string | null;
/** @description option from sign up form, interesting using for malware */
malware?: boolean | null;
/** @description option from sign up form, interesting using for research */
research?: boolean | null;
/** @description option from sign up form, interesting using for pentesting */
pentest?: boolean | null;
/** @description option from sign up form, interesting using for other area added here */
other?: string | null;
};
/** @description The user's address */
Address: {
/** @description Address line 1 (e.g., street, PO Box, or company name). */
address1?: string | null;
/** @description Address line 2 (e.g., apartment, suite, unit, or building). */
address2?: string | null;
/** @description City, district, suburb, town, or village. */
city?: string | null;
/** @description Two-letter country code (ISO 3166-1 alpha-2). */
country?: string | null;
/** @description ZIP or postal code. */
postal_code?: string | null;
/** @description State, county, province, or region. */
state?: string | null;
};
TrialRequestOptions: {
/** @description The user's address. */
address?: components["schemas"]["Address"];
/** @description The user's email address. */
email?: string | null;
/** @description The user's full name. */
name?: string | null;
/** @description Metadata passed in from the sign up flow */
metadata?: components["schemas"]["TrialRequestMetadata"];
/** @description If true, create an enterprise domain. */
enterprise?: boolean | null;
/** @description Stripe payment token. */
token?: string | null;
};
GrantTrialRequestResponse: {
/** @description Trial request code */
code?: string | null;
};
Plan: {
/** @description Plan ID */
planId?: string | null;
/** @description Plan Name */
name?: string | null;
};
Maintenance: {
/** @description Maintenance message */
message?: string | null;
/** @description Maintenance header */
header?: string | null;
};
Trial: {
/** @description Maintenance message */
defaultDuration?: number | null;
/** @description Maintenance header */
defaultHours?: number | null;
/** @description Maintenance header */
defaultDevices?: number | null;
/** @description Maintenance header */
defaultCores?: number | null;
};
Logging: {
/** @description Denotes whether it's in development */
development?: boolean | null;
/** @description Denotes whether to throw warnings */
throwWarnings?: boolean | null;
};
AuthProvider: {
/** @description Provider name for a given provider type */
name?: string | null;
/** @description The identifier for the provider */
identifier?: string | null;
/** @description Provider type */
providerType?: string | null;
/** @description Denotes whether it's the default */
default?: boolean | null;
/** @description Provider label */
label?: string | null;
/** @description Denotes whether they're enabled or not */
enabled?: boolean | null;
/** @description URL for provider auth */
authorizationUrl?: string | null;
/** @description The identifier for the provider */
id?: string | null;
/** @description Auth provider */
provider?: string | null;
};
ConfigResponse: {
/** @description Denotes whether it's an on-site install */
onSite?: boolean | null;
/** @description Denotes whether to show domain settings */
showDomainSettings?: boolean | null;
/** @description Denotes the version */
version?: string | null;
/** @description Denotes whether the build is invalid */
invalidBuild?: boolean | null;
/** @description Denotes whether sepSim is enabled */
sepSim?: boolean | null;
/** @description Denotes whether installer is available */
installerAvailable?: boolean | null;
/** @description API publishable key to use for Invoiced */
invoicedPublishableKey?: string | null;
/** @description Stripe public key */
stripePublicKey?: string | null;
/** @description Intercom app ID, also known as workspace ID */
intercomId?: string | null;
/** @description Webhook URL for aux */
auxWebhook?: string | null;
/** @description Google Tag Manager */
gtmId?: string | null;
/** @description Webhook URL to send feedback into Productboard automatically */
zapierFeedbackWebhook?: string | null;
/** @description Webhook URL to send frontend errors to Jira automatically */
zapierBugsWebhook?: string | null;
/** @description Default backend billing api name for new subscriptions (e.g. "stripe") */
billingBackend?: string | null;
/** @description Denotes whether the server is undergoing maintenance */
maintenance?: boolean | components["schemas"]["Maintenance"] | null;
/** @description Info for logging */
logging?: components["schemas"]["Logging"];
/** @description URL for cloud admin login */
cloudAdmin?: string | null;
/** @description URL for files admin login */
filesAdmin?: string | null;
/** @description Cloud domain name (usually corellium.com or staging.corellium.com) */
cloudDomain?: string | null;
/** @description Billing domain name */
billingDomain?: string | null;
/** @description App domain name (usually app.corellium.com or app.staging.corellium.com) */
appDomain?: string | null;
/** @description Maximum network monitor file size */
maxNetworkMonitorFileSize?: string | null;
/** @description Denotes whether users can upload firmware images */
enableFirmwareImageUpload?: boolean | null;
/** @description Auth providers */
authProviders?: components["schemas"]["AuthProvider"][] | null;
/** @description Maximum number of snapshots to allow */
snapshotLimit?: number | null;
/** @description The maximum size, in bytes, (default: 100 MB) that an uploaded kernel should be */
maxKernelSize?: number | null;
/** @description The maximum size, in bytes, (default: 500 MB) that an uploaded ramdisk should be */
maxRamdiskSize?: number | null;
/** @description Denotes whether charmSDK is enabled */
charmSDK?: string | null;
/** @description Info about trial */
trial?: components["schemas"]["Trial"];
/** @description Sentry URL */
sentryUrl?: string | null;
/** @description If enabled, adds the default providers in their current configuration */
domainAuthenticationProviders?: boolean | null;
/** @description The configured Default SSID from /etc/corellium/setup.json */
defaultSsid?: string | null;
};
DomainOptions: {
/** @description if true, totp is required */
totpRequired?: boolean | null;
trialExtension?: components["schemas"]["TrialExtension"];
/** @description Snapshot permissions settings */
snapshotSharingPermissions?: components["schemas"]["SnapshotSharingPermissions"];
};
TrialExtension: {
/** @description how many additional days? */
duration?: number | null;
/** @description why does the user want more time? */
reason?: string | null;
denied?: boolean | null;
/** @description explanation for why the request was denied */
deniedReason?: string | null;
};
SnapshotSharingPermissions: {
/** @description Indicates if snapshot permissions are enabled by the cloud admin */
cloudEnabled?: boolean | null;
/** @description Indicates if snapshot permissions are enabled by the domain admin */
domainEnabled?: boolean | null;
/** @description Indicates if public link access is enabled */
publicLink?: boolean | null;
/** @description Indicates if domain-restricted link access is enabled */
domainRestrictedLink?: boolean | null;
/** @description Indicates if password-protected public link access is enabled */
passwordPublicLink?: boolean | null;
/** @description Indicates if email invite access is enabled */
emailInvite?: boolean | null;
};
OpenIDConfig: {
/** @description Service Discovery URL */
discoveryUrl?: string | null;
/** @description Service Client ID */
clientId?: string | null;
/** @description Service Client Secret */
clientSecret?: string | null;
/** @description Only accept individuals with invitations */
invitedOnly?: boolean | null;
};
DomainAuthProviderRequest: {
/** @description Provider Type */
providerType: string;
/** @description Enabled/Disabled */
enabled: boolean;
/** @description Login Button Text */
label?: string | null;
/** @description Optional configuration */
config?: components["schemas"]["OpenIDConfig"];
};
DomainAuthProviderResponse: {
/** @description Provider ID */
identifier: string;
/** @description Provider ID for backward compatibility with frontend */
id?: string | null;
/** @description Provider Type */
providerType: string;
/** @description Provider Type for backward compatibility with frontend */
provider?: string | null;
/** @description Login Button Text */
label: string;
/** @description Title Text for the Frontend's Provider Configuration Form */
name?: string | null;
/** @description Coordinator endpoint for Authorizing with this provider */
authorizationUrl?: string | null;
/** @description True: Configured in coordinator.json, False: Custom Domain Provider */
default: boolean;
/** @description Enabled/Disabled */
enabled: boolean;
/** @description Optional configuration */
config?: components["schemas"]["OpenIDConfig"];
/** @description Optional User ID of creator */
createdBy?: string | null;
/** @description Created Date in ISO-8601 format e.g. 2022-05-06T02:39:23.000Z */
createdAt: string;
/** @description Updated Date in ISO-8601 format e.g. 2022-05-06T02:39:23.000Z */
updatedAt: string;
};
Extension: {
/** @description Identifier */
identifier?: string | null;
/** @description If true, instances requiring this extension can be created or started */
enabled?: boolean | null;
/** @description Created Date in ISO-8601 format e.g. 2022-05-06T02:39:23.000Z */
createdAt?: string | null;
/** @description Updated Date in ISO-8601 format e.g. 2022-05-06T02:39:23.000Z */
updatedAt?: string | null;
/**
* Format: uuid
* @description Image Id
*/
imageId?: string | null;
/** @description State */
state?: string | null;
/** @description Array of Flavor definitions */
flavors?: Record<string, never>[] | null;
};
UpdateExtension: {
/** @description If true, instances requiring this extension can be created or started */
enabled?: boolean | null;
};
V1LoadExtensionParameters: {
/**
* Format: uuid
* @description The uuid of the image to load
*/
imageId: string;
};
Hook: {
/**
* Format: uuid
* @description Identifier
*/
identifier?: string | null;
/** @description Label */
label?: string | null;
/** @description Address */
address?: string | null;
/** @description Patch */
patch?: string | null;
/**
* @description Patch Type
* @enum {string|null}
*/
patchType?: "csmfcc" | "csmfvm" | null;
/** @description If true, instances can call required hooks */
enabled?: boolean | null;
/** @description Created Date in ISO-8601 format e.g. 2022-05-06T02:39:23.000Z */
createdAt?: string | null;
/** @description Updated Date in ISO-8601 format e.g. 2022-05-06T02:39:23.000Z */
updatedAt?: string | null;
/**
* Format: uuid
* @description Instance Id
*/
instanceId?: string | null;
};
V1CreateHookParameters: {
/** @description Label */
label: string;
/** @description Address */
address: string;
/** @description Patch */
patch: string;
/**
* @description Patch Type
* @enum {string}
*/
patchType: "csmfcc" | "csmfvm";
};
Image: {
status: string;
/**
* Format: uuid
* @description Image ID
*/
id?: string | null;
name?: string | null;
/**
* @description Type of image
* @enum {string|null}
*/
type?: "fwbinary" | "kernel" | "devicetree" | "ramdisk" | "loaderfile" | "sepfw" | "seprom" | "bootrom" | "llb" | "iboot" | "ibootdata" | "fwpackage" | "partition" | "backup" | null;
filename?: string | null;
uniqueid?: string | null;
size?: number | null;
/**
* Format: uuid
* @description project ID
*/
project?: string | null;
/**
* Format: date-time
* @description When Image was created
*/
created_at?: string | null;
/**
* Format: date-time
* @description When Image was last updated
*/
updated_at?: string | null;
};
ImageCreationOptions: {
/** @description Image type */
type: string;
/**
* @description How the file is stored
* @enum {string}
*/
encoding: "plain";
/** @description set to false if the uploaded file is not encapsulated inside an outer zipfile */
encapsulated?: boolean | null;
/** @description Image name */
name?: string | null;
/**
* Format: uuid
* @description Project ID
*/
project?: string | null;
/**
* Format: uuid
* @description Instance ID
*/
instance?: string | null;
/**
* Format: binary
* @description Optionally the actual file
*/
file?: string | null;
};
UserError: {
/** @description Error text */
error: string;
/**
* @description Error ID
* @enum {string}
*/
errorID: "UserError";
/** @description Field associated with error */
field?: string | null;
};
ValidationError: {
/** @description Error text */
error: string;
/**
* @description Error ID
* @enum {string}
*/
errorID: "ValidationError";
/** @description Field associated with error */
field?: string | null;
};
ApiInternalConsistencyError: {
/** @description Error text */
error: string;
/** @description Error ID */
errorID: string;
/** @description Upstream error description */
originalError?: string | null;
};
ApiError: {
/** @description Error text */
error: string;
/** @description Error ID */
errorID: string;
/** @description Upstream error description */
originalError?: string | null;
};
ApiConflictError: {
/** @description Error text */
error: string;
/**
* @description Error ID
* @enum {string}
*/
errorID: "Conflict";
/** @description Object that is conflicted with */
object?: Record<string, unknown> | null;
};
ApiNotFoundError: {
/** @description Error text */
error: string;
/** @description Error ID */
errorID: string;
/** @description Name of the object requested */
name?: string | null;
/** @description params provided by user */
params?: Record<string, unknown> | null;
};
/**
* Format: binary
* @description A File
*/
File: string;
PasswordChangeBody: {
/**
* Format: uuid
* @description userId
*/
user: string;
/** @description old password */
"old-password": string;
/** @description new password */
"new-password": string;
};
/**
* @description ### Instance Boot Option
* * kalloc: Enable kalloc/kfree trace access via GDB (Enterprise only)
* * gpu: Enable cloud GPU acceleration (Extra costs incurred, cloud only)
* * no-keyboard: Enable keyboard passthrough from web interface
* * nodevmode: Disable developer mode on iOS16 and greater
* * sep-cons-ext: Patch SEPOS to print debug messages to console
* * iboot-jailbreak: Patch iBoot to disable signature checks
* * llb-jailbreak: Patch LLB to disable signature checks
* * rom-jailbreak: Patch BootROM to disable signature checks
* @enum {string}
*/
InstanceBootOptionsAdditionalTag: "kalloc" | "gpu" | "no-keyboard" | "nodevmode" | "sep-cons-ext" | "iboot-jailbreak" | "llb-jailbreak" | "rom-jailbreak";
InstanceBootOptions: {
bootArgs?: string | null;
restoreBootArgs?: string | null;
/**
* Format: uuid
* @description Boot udid
*/
udid?: string | null;
/**
* Format: hex
* @description Assigned ECID
*/
ecid?: string | null;
/** @description Random seed to provide to boot if any */
randomSeed?: string | null;
/** @description Enable PAC */
pac?: boolean | null;
/** @description Enable APRR */
aprr?: boolean | null;
additionalTags?: components["schemas"]["InstanceBootOptionsAdditionalTag"][] | null;
};
/**
* @description Current Instance State
* @enum {string}
*/
InstanceState: "on" | "off" | "booting" | "deleting" | "creating" | "restoring" | "paused" | "rebooting" | "error";
VpnDefinition: {
proxy?: Record<string, never>[] | null;
listeners?: Record<string, never>[] | null;
};
InstanceServices: {
vpn?: components["schemas"]["VpnDefinition"];
};
InstanceAgentState: ({
hash?: string | null;
info?: string | null;
}) | null;
InstanceNetmonState: {
hash?: string | null;
info?: string | null;
enabled?: boolean | null;
};
InstanceNetdumpState: {
hash?: string | null;
info?: string | null;
enabled?: boolean | null;
};
Instance: {
/**
* Format: uuid
* @description Instance Identifier
*/
id?: string | null;
/** @description Instance Name */
name?: string | null;
/**
* Format: hex
* @description Key used to encrypt the Instance
*/
key?: string | null;
/** @description The type of virtual machine this is */
flavor?: string | null;
type?: string | null;
/**
* Format: uuid
* @description The projectId of the project this instance belongs to
*/
project?: string | null;
/** @description Current state of the instance */
state?: components["schemas"]["InstanceState"];
/**
* Format: date-time
* @description Time the state of the instance last changed
*/
stateChanged?: string | null;
/**
* Format: date-time, NULL if currently SHUTOFF
* @description Time the instance was started
*/
startedAt?: string | null;
/** @description Currently executing User Task */
userTask?: string | null;
/** @description Current task state if any */
taskState?: string | null;
/** @description Current error state if any */
error?: string | null;
/** @description Instance boot options */
bootOptions?: components["schemas"]["InstanceBootOptions"];
/**
* Format: ipv4
* @description Services IP Address
*/
serviceIp?: string