Default

Health Check

get

Health check endpoint

Responses
chevron-right
200

Successful Response

application/json

Response model for health check endpoint.

statusstringRequired

Health status of the service

servicestringRequired

Name of the service

versionstringRequired

Version of the service

timestampstringRequired

Timestamp when the health check was performed (ISO format)

get
/health
Python
200

Successful Response

Github Oauth

post

Authenticate user with GitHub OAuth

Body

Request for GitHub OAuth authentication.

codestringRequired

Authorization code from GitHub OAuth.

stateany ofOptional

State parameter for CSRF protection.

stringOptional
or
nullOptional
Responses
chevron-right
200

Successful Response

application/json

Response for GitHub OAuth authentication.

user_idstringRequired

Unique identifier for the user.

access_tokenstringRequired

JWT access token for the user.

refresh_tokenstringRequired

JWT refresh token for the user.

token_typestringOptional

Token type.

Default: Bearer
expires_inintegerRequired

Access token expiration time in seconds.

is_new_userbooleanRequired

Whether this is a new user or existing user.

post
/auth/github

Refresh Token

post

Refresh an access token using a refresh token

Body

Request to refresh an access token.

refresh_tokenstringRequired

The refresh token.

Responses
chevron-right
200

Successful Response

application/json

Response for token refresh.

access_tokenstringRequired

New JWT access token.

token_typestringOptional

Token type.

Default: Bearer
expires_inintegerRequired

Access token expiration time in seconds.

post
/auth/refresh

Get Current User

get

Get current user information

Authorizations
AuthorizationstringRequired

Bearer token for API authentication

Responses
chevron-right
200

Successful Response

application/json

Represents a user in the system.

user_idstringRequired

Unique identifier for the user.

namestringRequired

Display name of the user.

emailstringRequired

Email address of the user.

github_idany ofOptional

GitHub user ID for OAuth authentication.

stringOptional
or
nullOptional
created_atstring · date-timeRequired

Timestamp when the user was created (UTC).

last_login_atany ofOptional

Timestamp of the user's last login (UTC).

string · date-timeOptional
or
nullOptional
is_activebooleanOptional

Whether the user account is active.

Default: true
get
/users/me
200

Successful Response

Create Api Key

post

Create a new API key for the current user

Authorizations
AuthorizationstringRequired

Bearer token for API authentication

Body

Request to create a new API key for a user.

nameany ofOptional

Optional name for the API key.

stringOptional
or
nullOptional
Responses
chevron-right
200

Successful Response

application/json

Response for creating an API key.

post
/users/me/api-keys

Revoke Api Key

delete

Revoke an API key for the current user

Authorizations
AuthorizationstringRequired

Bearer token for API authentication

Body

Request to revoke an API key.

key_idstringRequired

The ID of the API key to revoke.

Responses
chevron-right
200

Successful Response

application/json

Response for revoking an API key.

messagestringRequired

Success message.

revoked_key_idstringRequired

The ID of the revoked API key.

delete
/users/me/api-keys

List Datasets

get

List available datasets

Responses
chevron-right
200

Successful Response

application/json

Information about a dataset.

namestringRequired

Unique name of the dataset.

descriptionany ofOptional

A brief description of the dataset.

stringOptional
or
nullOptional
sample_countintegerRequired

Number of samples in the dataset.

created_atany ofOptional

Timestamp when the dataset was first created (UTC).

string · date-timeOptional
or
nullOptional
get
/datasets
Python
200

Successful Response

List Samples

get

List available samples with optional pagination, optionally filtered by dataset

Query parameters
datasetany ofOptional

Filter samples by dataset name

stringOptional
or
nullOptional
searchany ofOptional

Search for samples by instance_id

stringOptional
or
nullOptional
pageany ofOptional

Page number (1-based). If not provided, returns all samples

integer · min: 1Optional
or
nullOptional
page_sizeany ofOptional

Number of samples per page (max 100). If not provided, returns all samples

integer · min: 1 · max: 100Optional
or
nullOptional
Responses
chevron-right
200

Successful Response

application/json

Response for listing samples with pagination.

total_countintegerRequired

Total number of samples available.

pageintegerRequired

Current page number (1-based).

page_sizeintegerRequired

Number of samples per page.

has_morebooleanRequired

Indicates if more pages of results are available.

get
/samples
Python

Download Sample

get

Download the gz file for a specific sample

Authorizations
AuthorizationstringRequired

Bearer token for API authentication

Path parameters
datasetstringRequired
sample_idstringRequired
Query parameters
versionany ofOptional
integerOptional
or
nullOptional
Responses
chevron-right
200

Successful Response

application/json
anyOptional
get
/samples/{dataset}/{sample_id}/download
Python

No content

List Sessions

get

List environment sessions

Authorizations
AuthorizationstringRequired

Bearer token for API authentication

Responses
chevron-right
200

Successful Response

application/json

Response for listing sessions.

total_countintegerRequired

Total number of sessions returned.

has_morebooleanRequired

Indicates if more pages of results are available.

get
/sessions
Python
200

Successful Response

Create Session

post

Create a new session

Authorizations
AuthorizationstringRequired

Bearer token for API authentication

Body

Request to create a new session.

datasetstringRequired

Dataset name for the sample.

sample_idstringRequired

Identifier of the sample to use for this session.

ttl_minutesintegerOptional

Time to live for the session in minutes (default: 30).

Default: 30
Responses
post
/sessions
Python

Get Session

get

Get session details

Authorizations
AuthorizationstringRequired

Bearer token for API authentication

Path parameters
session_idstringRequired
Responses
chevron-right
200

Successful Response

application/json

Represents a session for multi-turn interactions.

session_idstringRequired

Unique identifier for the session.

user_idstringRequired

User ID who owns this session.

datasetstringRequired

Dataset name for the sample.

sample_idstringRequired

Identifier of the sample being used for the session.

statusstring · enumRequired

Current status of the session.

Possible values:
requested_atstring · date-timeRequired

Timestamp when the session was requested (UTC).

created_atany ofOptional

Timestamp when the container became ready and billing started (UTC).

string · date-timeOptional
or
nullOptional
expires_atstring · date-timeRequired

Timestamp when the session will expire (UTC).

duration_secondsany ofOptional

Duration of the session in seconds.

numberOptional
or
nullOptional
container_infoany ofOptional

Container information for this session.

or
nullOptional
errorany ofOptional

Error details if the session failed.

or
nullOptional
get
/sessions/{session_id}
Python

Close Session

delete

Close/delete an environment session

Authorizations
AuthorizationstringRequired

Bearer token for API authentication

Path parameters
session_idstringRequired
Responses
chevron-right
200

Successful Response

application/json

Response model for session deletion.

messagestringRequired

Success message confirming session deletion

duration_secondsnumberRequired

Duration of the session in seconds.

delete
/sessions/{session_id}
Python

Execute Command

post

Start command execution in an environment (async)

Authorizations
AuthorizationstringRequired

Bearer token for API authentication

Path parameters
session_idstringRequired
Body

Request to execute a bash command in a session.

commandstringRequired

The bash command to execute.

command_timeoutintegerOptional

Timeout for command execution in seconds (default: 300).

Default: 300
Responses
post
/sessions/{session_id}/exec
Python

Get Interaction

get

Get interaction details by ID

Authorizations
AuthorizationstringRequired

Bearer token for API authentication

Path parameters
interaction_idstringRequired
session_idstringRequired
Responses
chevron-right
200

Successful Response

application/json
or
get
/sessions/{session_id}/interactions/{interaction_id}

String Replace

post

Replace a string in a file within the session environment

Authorizations
AuthorizationstringRequired

Bearer token for API authentication

Path parameters
session_idstringRequired
Body

Request to perform string replacement in a file.

file_pathstringRequired

Path to the file where replacement should be performed.

str_to_replacestringRequired

String to be replaced.

str_to_insertstringRequired

String to insert as replacement.

Responses
chevron-right
200

Successful Response

application/json

Response for string replacement operation.

successbooleanRequired

Whether the string replacement was successful.

messagestringRequired

Details about the string replacement operation.

post
/sessions/{session_id}/str_replace
Python

Start Verification

post

Start verification (oracle) in a session - async

Authorizations
AuthorizationstringRequired

Bearer token for API authentication

Path parameters
session_idstringRequired
Responses
post
/sessions/{session_id}/verify
Python

Get Verification Job

get

Get a verification job, including the result if it's completed

Authorizations
AuthorizationstringRequired

Bearer token for API authentication

Path parameters
job_idstringRequired
session_idstringRequired
Responses
chevron-right
200

Successful Response

application/json

Represents a single verification job, the core resource of the API.

job_idstringRequired

Unique identifier for the job.

sample_idstringRequired

Identifier of the sample being used for verification.

session_idstringRequired

Session identifier for this job.

statusstring · enumRequired

Current status of the job.

Possible values:
created_atstring · date-timeRequired

Timestamp when the job was created (UTC).

started_atany ofOptional

Timestamp when the job processing started (UTC).

string · date-timeOptional
or
nullOptional
completed_atany ofOptional

Timestamp when the job completed (UTC).

string · date-timeOptional
or
nullOptional
resultany ofOptional

The result of the verification. Available when status is 'completed'.

anyOptional
or
nullOptional
errorany ofOptional

Error details if the job failed with an 'error' status.

or
nullOptional
container_infoany ofOptional

Container information for this job.

or
nullOptional
get
/sessions/{session_id}/verify/{job_id}
Python

Get User Balance

get

Get user's money balance

Authorizations
AuthorizationstringRequired

Bearer token for API authentication

Responses
chevron-right
200

Successful Response

application/json

User's money balance and billing information

user_idstringRequired

User ID

balanceintegerOptional

Current balance in cents

Default: 0
total_depositedintegerOptional

Total money ever deposited in cents

Default: 0
total_spentintegerOptional

Total money ever spent in cents

Default: 0
stripe_customer_idany ofOptional

Stripe customer ID

stringOptional
or
nullOptional
last_updatedstring · date-timeRequired

Last time balance was updated

get
/billing/balance
200

Successful Response

Get Pricing Info

get

Get current pricing information

Responses
chevron-right
200

Successful Response

application/json
Other propertiesanyOptional
get
/billing/pricing
200

Successful Response

Deposit Money

post

Create a payment intent for money deposit

Authorizations
AuthorizationstringRequired

Bearer token for API authentication

Body

Request to deposit money

amount_centsinteger · min: 500Required

Amount to deposit in cents

currencystringOptional

Currency for payment

Default: usd
Responses
chevron-right
200

Successful Response

application/json

Response for money deposit

checkout_urlstringRequired

Stripe checkout URL for payment

amount_centsintegerRequired

Amount being deposited in cents

currencystringRequired

Currency

post
/billing/deposit

Stripe Webhook

post

Handle Stripe webhook events

Responses
chevron-right
200

Successful Response

application/json
Other propertiesanyOptional
post
/billing/webhook
200

Successful Response

Get Usage History

get

Get complete usage history for the current user

Authorizations
AuthorizationstringRequired

Bearer token for API authentication

Query parameters
pageinteger · min: 1Optional

Page number (1-based)

Default: 1
limitinteger · min: 1 · max: 100Optional

Items per page (max 100)

Default: 25
Responses
chevron-right
200

Successful Response

application/json

Complete usage history for a user

current_balance_centsintegerRequired

Current balance in cents

total_deposits_centsintegerRequired

Total amount deposited

total_usage_centsintegerRequired

Total amount used

get
/billing/usage

Last updated