Rest API

Get user enclaves

get
/api/enclaves

Retrieve all enclaves associated with a wallet address

Authorizations
AuthorizationstringRequired
Bearer authentication header of the form Bearer <token>.
Query parameters
walletstringRequired

Wallet address to filter enclaves

Example: 0x4B0897b0513fdc7C541B6d9D7E929C4e5364D2dB
Responses
200

List of enclaves

application/json
get
/api/enclaves

Create new enclave

post
/api/enclaves

Create a new secure enclave

Authorizations
AuthorizationstringRequired
Bearer authentication header of the form Bearer <token>.
Body
namestringRequiredExample: Trading Bot Enclave
descriptionstringRequiredExample: Secure environment for automated trading strategies
regionstringRequiredExample: us-east-1
walletAddressstringRequiredExample: 0x4B0897b0513fdc7C541B6d9D7E929C4e5364D2dB
providerIdstringRequiredExample: aws-nitro
providerConfigobjectOptionalExample: {"dockerImage":"my-app:latest","cpuCount":2,"memoryMiB":512}
Responses
post
/api/enclaves

Update enclave

put
/api/enclaves

Update an existing enclave

Authorizations
AuthorizationstringRequired
Bearer authentication header of the form Bearer <token>.
Body
idstringRequiredExample: enc_123456
namestringOptionalExample: Updated Enclave Name
descriptionstringOptionalExample: Updated description
regionstringOptionalExample: us-west-2
walletAddressstringRequiredExample: 0x4B0897b0513fdc7C541B6d9D7E929C4e5364D2dB
providerIdstringOptionalExample: aws-nitro
providerConfigobjectOptionalExample: {"dockerImage":"my-app:v2","cpuCount":4,"memoryMiB":1024}
Responses
200

Enclave updated successfully

application/json
put
/api/enclaves

Delete enclave

delete
/api/enclaves

Delete an existing enclave

Authorizations
AuthorizationstringRequired
Bearer authentication header of the form Bearer <token>.
Query parameters
idstringRequired

Enclave ID to delete

Example: enc_123456
walletstringRequired

Wallet address for authorization

Example: 0x4B0897b0513fdc7C541B6d9D7E929C4e5364D2dB
Responses
200

Enclave deleted successfully

application/json
delete
/api/enclaves

Get specific enclave

get
/api/enclaves/{id}

Retrieve details for a specific enclave by ID

Authorizations
AuthorizationstringRequired
Bearer authentication header of the form Bearer <token>.
Path parameters
idstringRequired

Enclave ID

Example: enc_123456
Responses
200

Enclave details retrieved successfully

application/json
get
/api/enclaves/{id}

Delete specific enclave

delete
/api/enclaves/{id}

Delete a specific enclave by ID (only if in terminal state)

Authorizations
AuthorizationstringRequired
Bearer authentication header of the form Bearer <token>.
Path parameters
idstringRequired

Enclave ID

Example: enc_123456
Query parameters
walletstringRequired

Wallet address for authorization

Example: 0x4B0897b0513fdc7C541B6d9D7E929C4e5364D2dB
Responses
200

Enclave deleted successfully

application/json
delete
/api/enclaves/{id}

Manage enclave lifecycle

patch
/api/enclaves/{id}

Perform lifecycle actions on an enclave (pause, resume, terminate)

Authorizations
AuthorizationstringRequired
Bearer authentication header of the form Bearer <token>.
Path parameters
idstringRequired

Enclave ID

Example: enc_123456
Body
actionstring · enumRequired

Action to perform on the enclave

Example: pausePossible values:
walletAddressstringRequiredExample: 0x4B0897b0513fdc7C541B6d9D7E929C4e5364D2dB
Responses
200

Lifecycle action performed successfully

application/json
patch
/api/enclaves/{id}

Get enclave logs

get
/api/enclaves/{id}/logs

Retrieve logs for a specific enclave from various sources

Authorizations
AuthorizationstringRequired
Bearer authentication header of the form Bearer <token>.
Path parameters
idstringRequired

Enclave ID

Example: enc_123456
Query parameters
typestring · enumOptional

Type of logs to retrieve

Default: allExample: applicationPossible values:
limitinteger · min: 1 · max: 1000Optional

Maximum number of log entries to return

Default: 100Example: 50
Responses
200

Logs retrieved successfully

application/json
get
/api/enclaves/{id}/logs

Get enclave attestation

get
/api/enclaves/{id}/attestation

Retrieve cryptographic attestation document and verification details for a deployed enclave

Authorizations
AuthorizationstringRequired
Bearer authentication header of the form Bearer <token>.
Path parameters
idstringRequired

Enclave ID

Example: enc_1234567890_abc123
Responses
200

Attestation document and verification details

application/json
get
/api/enclaves/{id}/attestation

Get verification status

get
/api/enclaves/{id}/attestation/verify

Get quick verification status for an enclave

Authorizations
AuthorizationstringRequired
Bearer authentication header of the form Bearer <token>.
Path parameters
idstringRequired

Enclave ID

Example: enc_1234567890_abc123
Responses
200

Verification status

application/json
get
/api/enclaves/{id}/attestation/verify

Verify attestation document

post
/api/enclaves/{id}/attestation/verify

Perform comprehensive verification of an attestation document

Authorizations
AuthorizationstringRequired
Bearer authentication header of the form Bearer <token>.
Path parameters
idstringRequired

Enclave ID

Example: enc_1234567890_abc123
Body
attestationDocumentstringOptional

Base64 encoded attestation document (optional)

noncestringOptional

Nonce for replay attack protection

Example: a1b2c3d4e5f6
challengestringOptional

Challenge string for additional verification

Example: verify_12345
Responses
200

Verification result

application/json
post
/api/enclaves/{id}/attestation/verify
get
/api/docker/search

Search Docker Hub for images or get tags for a specific repository

Authorizations
AuthorizationstringRequired
Bearer authentication header of the form Bearer <token>.
Query parameters
qstringOptional

Search query for Docker images

Example: hello-world
repostringOptional

Repository name to get tags for (e.g., 'library/node')

Example: library/node
Responses
200

Search results or repository tags

application/json
Responseone of
or
get
/api/docker/search

Get available providers

get
/api/providers

Retrieve all available enclave providers or a specific provider by ID

Authorizations
AuthorizationstringRequired
Bearer authentication header of the form Bearer <token>.
Query parameters
idstringOptional

Specific provider ID to retrieve

Example: aws-nitro
Responses
200

Provider(s) retrieved successfully

application/json
Responseone of
or
get
/api/providers

Initiate GitHub OAuth flow

get
/api/github/auth

Get GitHub OAuth authorization URL

Authorizations
AuthorizationstringRequired
Bearer authentication header of the form Bearer <token>.
Query parameters
statestringOptional

Optional state parameter for OAuth flow

Responses
200

GitHub OAuth URL generated

application/json
get
/api/github/auth

Exchange OAuth code for access token

post
/api/github/auth

Exchange GitHub OAuth authorization code for access token

Authorizations
AuthorizationstringRequired
Bearer authentication header of the form Bearer <token>.
Body
codestringRequired

OAuth authorization code from GitHub

Example: abcdef123456
statestringOptional

State parameter from OAuth flow

Example: abc123
Responses
200

Access token obtained successfully

application/json
post
/api/github/auth

GitHub OAuth callback

get
/api/github/callback

Handle GitHub OAuth callback and redirect to platform

Authorizations
AuthorizationstringRequired
Bearer authentication header of the form Bearer <token>.
Query parameters
codestringOptional

OAuth authorization code

statestringOptional

OAuth state parameter

errorstringOptional

OAuth error if any

Responses
get
/api/github/callback
302

Redirect to platform page with success or error parameters

No content

Get user repositories

get
/api/github/repositories

Fetch GitHub repositories for authenticated user

Authorizations
AuthorizationstringRequired
Bearer authentication header of the form Bearer <token>.
Query parameters
tokenstringRequired

GitHub access token

Example: gho_xxxxxxxxxxxxxxxxxxxx
Responses
200

List of repositories

application/json
get
/api/github/repositories

Get repository branches

post
/api/github/repositories

Fetch branches for a specific repository

Authorizations
AuthorizationstringRequired
Bearer authentication header of the form Bearer <token>.
Body
accessTokenstringRequiredExample: gho_xxxxxxxxxxxxxxxxxxxx
repositorystringRequiredExample: username/repo-name
Responses
200

List of branches

application/json
post
/api/github/repositories

Get API keys

get
/api/api-keys

Retrieve all API keys for the authenticated user

Authorizations
AuthorizationstringRequired
Bearer authentication header of the form Bearer <token>.
Query parameters
walletstringRequired

Wallet address to filter API keys

Example: 0x4B0897b0513fdc7C541B6d9D7E929C4e5364D2dB
Responses
200

List of API keys

application/json
get
/api/api-keys

Create API key

post
/api/api-keys

Create a new API key with specified permissions

Authorizations
AuthorizationstringRequired
Bearer authentication header of the form Bearer <token>.
Body
namestringRequiredExample: Production API Key
walletAddressstringRequiredExample: 0x4B0897b0513fdc7C541B6d9D7E929C4e5364D2dB
Responses
post
/api/api-keys

Update API key

put
/api/api-keys

Update an existing API key

Authorizations
AuthorizationstringRequired
Bearer authentication header of the form Bearer <token>.
Body
idstringRequiredExample: key_123456
namestringOptionalExample: Updated API Key Name
statusstring · enumOptionalExample: activePossible values:
walletAddressstringRequiredExample: 0x4B0897b0513fdc7C541B6d9D7E929C4e5364D2dB
Responses
200

API key updated successfully

application/json
put
/api/api-keys

Delete API key

delete
/api/api-keys

Delete an existing API key

Authorizations
AuthorizationstringRequired
Bearer authentication header of the form Bearer <token>.
Query parameters
idstringRequired

API key ID to delete

Example: key_123456
walletstringRequired

Wallet address for authorization

Example: 0x4B0897b0513fdc7C541B6d9D7E929C4e5364D2dB
Responses
200

API key deleted successfully

application/json
delete
/api/api-keys

Submit ZK proof for KYC verification

post
/api/kyc/proof

Submit a zero-knowledge proof for KYC verification. The proof is validated, stored in DynamoDB, and optionally submitted to the blockchain for immutable verification.

Authentication: None required (open endpoint)

Rate Limiting: Recommended 10 requests/hour per IP

Security: Cryptographic proof validation prevents fake submissions

Authorizations
AuthorizationstringRequired
Bearer authentication header of the form Bearer <token>.
Body
userIdstringRequired

User identifier

Example: user_abc123
Responses
post
/api/kyc/proof

Get proof details

get
/api/kyc/proof/{proofId}

Retrieve details for a specific KYC proof by ID. By default returns public data only.

Authorizations
AuthorizationstringRequired
Bearer authentication header of the form Bearer <token>.
Path parameters
proofIdstring · uuidRequired

Proof ID (UUID)

Example: 550e8400-e29b-41d4-a716-446655440000
Query parameters
includePrivatebooleanOptional

Include private proof data (requires authentication)

Default: falseExample: true
Responses
200

Proof details retrieved successfully

application/json
get
/api/kyc/proof/{proofId}

Verify a proof by ID

get
/api/kyc/proof/{proofId}/verify

Verify the validity of a KYC proof, checking expiration and blockchain status

Authorizations
AuthorizationstringRequired
Bearer authentication header of the form Bearer <token>.
Path parameters
proofIdstring · uuidRequired

Proof ID (UUID)

Example: 550e8400-e29b-41d4-a716-446655440000
Responses
200

Verification result

application/json
get
/api/kyc/proof/{proofId}/verify

Get tasks

get
/api/tasks

Retrieve tasks for the authenticated user, optionally filtered by enclave

Authorizations
AuthorizationstringRequired
Bearer authentication header of the form Bearer <token>.
Query parameters
walletstringRequired

Wallet address to filter tasks

Example: 0x4B0897b0513fdc7C541B6d9D7E929C4e5364D2dB
enclavestringOptional

Optional enclave ID to filter tasks

Example: enc_123456
Responses
200

List of tasks

application/json
get
/api/tasks

Create task

post
/api/tasks

Create a new task within an enclave

Authorizations
AuthorizationstringRequired
Bearer authentication header of the form Bearer <token>.
Body
namestringRequiredExample: Daily Price Monitor
descriptionstringRequiredExample: Monitor cryptocurrency prices and send alerts
enclaveIdstringRequiredExample: enc_123456
schedulestringRequired

Cron-style schedule expression

Example: 0 9 * * *
walletAddressstringRequiredExample: 0x4B0897b0513fdc7C541B6d9D7E929C4e5364D2dB
Responses
post
/api/tasks

Update task

put
/api/tasks

Update an existing task

Authorizations
AuthorizationstringRequired
Bearer authentication header of the form Bearer <token>.
Body
idstringRequiredExample: task_123456
namestringOptionalExample: Updated Task Name
descriptionstringOptionalExample: Updated task description
schedulestringOptionalExample: 0 */6 * * *
statusstring · enumOptionalExample: runningPossible values:
walletAddressstringRequiredExample: 0x4B0897b0513fdc7C541B6d9D7E929C4e5364D2dB
Responses
200

Task updated successfully

application/json
put
/api/tasks

Delete task

delete
/api/tasks

Delete an existing task

Authorizations
AuthorizationstringRequired
Bearer authentication header of the form Bearer <token>.
Query parameters
idstringRequired

Task ID to delete

Example: task_123456
walletstringRequired

Wallet address for authorization

Example: 0x4B0897b0513fdc7C541B6d9D7E929C4e5364D2dB
Responses
200

Task deleted successfully

application/json
delete
/api/tasks

Last updated