Docs

Kotlin: Full API (api.*)

Every Sovaria API operation as a typed call, grouped by module, with the Kotlin SDK.

Updated Oct 24, 2026

Every Sovaria API operation is also available as api.<module>.<method>(…), generated from the same API specification as the other SDKs. Use it for anything the client areas don't cover yet. api.call(method, path, …) reaches any path with the client's session, scope headers and retries. Each operation links to its HTTP reference entry, which lists the request fields, the response and errors.

api.call

Any endpoint by method and path, with the client's auth, scope headers and retries.

suspend fun call(method: String, path: String, body: Any? = null, query: Map<String, Any?>? = null, auth: Boolean = true): Any?

#api.ai

api.ai.gatewayOverview

Model-gateway routes, the models they may use, plan limits and cache size.

suspend fun gatewayOverview(): Any?

api.ai.saveGatewayRoute

Create or change a route: models in order (fallbacks), retry_on, cache {enabled, ttl_s}, access, daily_requests_per_user.

suspend fun saveGatewayRoute(name: String, body: Map<String, Any?>): Any?

api.ai.deleteGatewayRoute

Delete a route (refused while an agent uses it).

suspend fun deleteGatewayRoute(name: String): Any?

api.ai.gatewayComplete

One completion on a route: the first model that answers (fallbacks), or the cache.

suspend fun gatewayComplete(route: String, messages: Any, system: Any? = null, maxTokens: Any? = null, cache: Any? = null): Any?

api.ai.gatewayUsage

Requests, errors, fallbacks, cache hits, tokens and latency per model and route.

suspend fun gatewayUsage(days: Any? = null): Any?

api.ai.clearGatewayCache

Drop every cached model response of the project.

suspend fun clearGatewayCache(): Any?

api.ai.listAgentVersions

An agent's published version and kept versions.

suspend fun listAgentVersions(agentId: String): Any?

api.ai.publishAgentVersion

Publish the agent's draft as its next version.

suspend fun publishAgentVersion(agentId: String, note: Any? = null): Any?

api.ai.getAgentVersion

One version's definition (secrets hidden).

suspend fun getAgentVersion(agentId: String, version: String): Any?

api.ai.compareAgentVersions

What changed between two versions (or a version and the draft).

suspend fun compareAgentVersions(agentId: String, a: Any, b: Any? = null): Any?

api.ai.rollbackAgentVersion

Republish an older version as a new version and make it the draft.

suspend fun rollbackAgentVersion(agentId: String, version: String, note: Any? = null): Any?

#api.attestation

api.attestation.getConfig

App attestation settings, credentials (metadata only), debug tokens and the last 7 days.

suspend fun getConfig(projectId: String? = null): Any?

api.attestation.updateConfig

Set mode (off | monitor | enforce), tokenTtlSeconds, providers, playIntegrity, appAttest.

suspend fun updateConfig(projectId: String? = null, body: Map<String, Any?>): Any?

api.attestation.setGoogleCredentials

Google service account for Play Integrity (encrypted, write-only).

suspend fun setGoogleCredentials(projectId: String? = null, serviceAccount: Any): Any?

api.attestation.setAppleCredentials

Apple key with DeviceCheck enabled (encrypted, write-only).

suspend fun setAppleCredentials(projectId: String? = null, p8: Any, keyId: Any, teamId: Any): Any?

api.attestation.deleteCredentials

Remove the google or apple attestation credentials.

suspend fun deleteCredentials(projectId: String? = null, which: String): Any?

api.attestation.createDebugToken

Create a debug token for simulators and CI (shown once).

suspend fun createDebugToken(projectId: String? = null, name: Any? = null): Any?

api.attestation.deleteDebugToken

Delete a debug token.

suspend fun deleteDebugToken(projectId: String? = null, tokenId: String): Any?

api.attestation.challenge

One-time challenge to bind attestation evidence to (anon key).

suspend fun challenge(): Any?

api.attestation.exchange

Exchange Play Integrity / App Attest / DeviceCheck / debug evidence for an attestation token.

suspend fun exchange(provider: Any, appId: Any? = null, challenge: Any? = null, token: Any? = null, keyId: Any? = null, attestation: Any? = null, assertion: Any? = null, development: Any? = null): Any?

#api.auth

api.auth.confirmVerificationEmail

Confirm an email verification token.

suspend fun confirmVerificationEmail(token: Any): Any?

api.auth.disableMfa

suspend fun disableMfa(totpCode: Any): Any?

api.auth.enrollMfa

suspend fun enrollMfa(): Any?

api.auth.getMfaStatus

suspend fun getMfaStatus(): Any?

api.auth.getProvidersConfig

suspend fun getProvidersConfig(): Any?

api.auth.getSessionsConfig

suspend fun getSessionsConfig(): Any?

api.auth.listConsoleProductUsers

suspend fun listConsoleProductUsers(): Any?

api.auth.listSessions

suspend fun listSessions(): Any?

api.auth.revokeOtherSessions

suspend fun revokeOtherSessions(): Any?

api.auth.revokeSession

suspend fun revokeSession(sessionId: String): Any?

api.auth.sendVerificationEmail

Trigger a verification email for the authenticated user.

suspend fun sendVerificationEmail(): Any?

api.auth.updateProvidersConfig

suspend fun updateProvidersConfig(body: Map<String, Any?>): Any?

api.auth.updateSessionsConfig

suspend fun updateSessionsConfig(body: Map<String, Any?>): Any?

api.auth.listDevices

Devices the signed-in user is signed in on (current = this one).

suspend fun listDevices(): Any?

api.auth.signOutDevice

Sign one device out: its sessions end and push tokens are removed.

suspend fun signOutDevice(deviceId: String): Any?

api.auth.passkeyRegisterStart

Registration options for a new passkey for the signed-in user.

suspend fun passkeyRegisterStart(name: Any? = null): Any?

api.auth.passkeyRegisterFinish

Save a passkey from the authenticator's WebAuthn JSON.

suspend fun passkeyRegisterFinish(credential: Any, name: Any? = null): Any?

api.auth.passkeyAuthenticateStart

Passkey sign-in options: challenge_id and options.

suspend fun passkeyAuthenticateStart(userId: Any? = null): Any?

api.auth.passkeyAuthenticateFinish

Verify a signed passkey challenge and return a session.

suspend fun passkeyAuthenticateFinish(challengeId: Any, credential: Any): Any?

api.auth.listPasskeys

The signed-in user's passkeys.

suspend fun listPasskeys(): Any?

api.auth.deletePasskey

Remove one of the signed-in user's passkeys.

suspend fun deletePasskey(passkeyId: String): Any?

#api.billing

api.billing.buildInvoice

suspend fun buildInvoice(orgId: String? = null, period: Any? = null): Any?

api.billing.cancelAccount

suspend fun cancelAccount(accountId: String): Any?

api.billing.checkout

suspend fun checkout(body: Map<String, Any?>): Any?

api.billing.getAccount

suspend fun getAccount(accountId: String): Any?

api.billing.getAccountOverage

suspend fun getAccountOverage(accountId: String): Any?

api.billing.getAccountOveragePrefs

suspend fun getAccountOveragePrefs(accountId: String): Any?

api.billing.getOrgOveragePrefs

The org's overage switches (one setting for the whole org)

suspend fun getOrgOveragePrefs(orgId: String? = null): Any?

api.billing.getCompute

suspend fun getCompute(orgId: String? = null, period: Any? = null): Any?

api.billing.getFx

suspend fun getFx(): Any?

api.billing.getOpenInvoice

suspend fun getOpenInvoice(): Any?

api.billing.getOverage

suspend fun getOverage(orgId: String? = null): Any?

api.billing.getPlan

Fetch a billing plan by name.

suspend fun getPlan(name: String): Any?

api.billing.getProvider

suspend fun getProvider(): Any?

api.billing.getSubscription

Fetch the active subscription for an organisation.

suspend fun getSubscription(orgId: String? = null): Any?

api.billing.getUsage

Fetch usage counters for an organisation.

suspend fun getUsage(orgId: String? = null, period: Any? = null): Any?

api.billing.getUsageHistory

Fetch historical usage for an organisation.

suspend fun getUsageHistory(orgId: String? = null, months: Any? = null): Any?

api.billing.listInvoices

suspend fun listInvoices(orgId: String? = null): Any?

api.billing.listPlans

List public billing plans.

suspend fun listPlans(): Any?

api.billing.listSubscriptions

List subscriptions visible to the authenticated caller.

suspend fun listSubscriptions(): Any?

api.billing.payInvoice

suspend fun payInvoice(orgId: String? = null, period: String): Any?

api.billing.razorpayCreateOrder

suspend fun razorpayCreateOrder(body: Map<String, Any?>): Any?

api.billing.razorpayVerifyPayment

suspend fun razorpayVerifyPayment(body: Map<String, Any?>): Any?

api.billing.resumeAccount

suspend fun resumeAccount(accountId: String): Any?

api.billing.setAccountOveragePrefs

suspend fun setAccountOveragePrefs(accountId: String, services: Any): Any?

api.billing.setOrgOveragePrefs

Change the org's overage switches (org owners and admins)

suspend fun setOrgOveragePrefs(orgId: String? = null, services: Any): Any?

api.billing.listAccountAddons

Add-ons on the billing account: price, paid units, what renews, paid-through date, and the autopay mandate

suspend fun listAccountAddons(accountId: String): Any?

api.billing.addonCheckout

Start paying for more add-on units (prorated to the period end); they count once the payment is verified

suspend fun addonCheckout(accountId: String, addonId: String, quantity: Any, projectId: Any? = null): Any?

api.billing.setAddonRenewal

How many units renew at the period end (0 cancels); paid units keep working until then

suspend fun setAddonRenewal(accountId: String, addonId: String, renewQuantity: Any): Any?

api.billing.setAccountAddon

Older switch: lowering schedules at the period end; more units than are paid for answer 402 (use addonCheckout)

suspend fun setAccountAddon(accountId: String, addonId: String, enabled: Any, quantity: Any? = null): Any?

api.billing.setAccountAutopay

Renew automatically (true) or end the plan with the paid period (false)

suspend fun setAccountAutopay(accountId: String, enabled: Any): Any?

api.billing.autopaySetup

Start a ₹1 (refunded) authorisation that saves a card or UPI mandate for automatic renewals

suspend fun autopaySetup(accountId: String, customerEmail: Any? = null, name: Any? = null): Any?

api.billing.removeAutopayMandate

Remove the saved mandate; renewals become invoices to pay by hand

suspend fun removeAutopayMandate(accountId: String): Any?

api.billing.billingListAddonPrices

Add-on prices (USD per month per unit) and the plans each is sold on, as staff set them.

suspend fun billingListAddonPrices(): Any?

#api.builds

api.builds.check

Check an app build Sovariq wrote (title, description, migration {name, up_sql, down_sql}, policies [{id, spl}], functions [{name, runtime, files}], tests [rules test cases]) against the project — nothing changes: the migration is dry-run up, down and up again, rules are simulated, rules tests run with the build's rules.

suspend fun check(build: Any): Any?

Returns the build id and the report.

api.builds.list

Recent app builds of the project: title, status (checked, failed, pr_opened), each check's result and the pull request.

suspend fun list(limit: Any? = null): Any?

api.builds.get

One app build: its files (the bundle), the check report and the pull request.

suspend fun get(buildId: String): Any?

api.builds.pullRequest

Check the build again and open it as a pull request on the project's linked GitHub repository (one commit on a new branch; dev.app_build_prs_month).

suspend fun pullRequest(buildId: String, token: Any? = null): Any?

GitHub needs repository access: connect it with repository access or pass a token with repo scope.

api.builds.delete

Forget an app build (its pull request, if opened, stays on GitHub).

suspend fun delete(buildId: String): Any?

#api.byok

api.byok.get

Your organization's own encryption key (Enterprise): whether it's on, the key, its data key version, whether it is usable now, what it covers, and setup (Sovaria's AWS principal and the key policy statement).

suspend fun get(): Any?

api.byok.set

Use your AWS KMS key (its ARN) for the organization's storage files and backups.

suspend fun set(provider: Any? = null, keyRef: Any): Any?

Checked end to end first (wrap, unwrap, a file written and read with it). Organization owners.

api.byok.rotate

A new data key version under the same KMS key; older versions stay to decrypt what they encrypted.

suspend fun rotate(): Any?

Organization owners.

api.byok.check

Ask your KMS now whether Sovaria can still use the key.

suspend fun check(): Any?

api.byok.reencryptStorage

Rewrite the organization's existing storage files under its key (in the background; progress in byok.get).

suspend fun reencryptStorage(): Any?

Organization owners.

#api.crashes

api.crashes.listIssues

App crash issues of the project (grouped reports from sov.crashes), newest first, with the plan's limits.

suspend fun listIssues(status: Any? = null, limit: Any? = null): Any?

api.crashes.getIssue

One crash issue: sample report (stack, breadcrumbs, device, release) and its last 50 reports.

suspend fun getIssue(fingerprint: String): Any?

api.crashes.setIssueStatus

Mark a crash issue open, resolved (reopens if it happens again) or ignored.

suspend fun setIssueStatus(fingerprint: String, status: Any): Any?

api.crashes.usage

Crash reports accepted and dropped this month, and the plan's limits.

suspend fun usage(): Any?

#api.data

api.data.addColumn

Add a column to an existing table.

suspend fun addColumn(tableName: Any, columnName: Any, dataType: Any, isNullable: Any? = null, isUnique: Any? = null, defaultValue: Any? = null): Any?

api.data.addForeignKey

Add a foreign-key relation.

suspend fun addForeignKey(tableName: Any, columnName: Any, referencedTable: Any, referencedColumn: Any): Any?

api.data.beginTransaction

Start a table transaction and receive tx/snapshot IDs.

suspend fun beginTransaction(): Any?

api.data.commitTransaction

Commit a previously opened table transaction.

suspend fun commitTransaction(txid: Any): Any?

api.data.dropColumn

Drop a column from a table.

suspend fun dropColumn(tableName: Any, columnName: Any): Any?

api.data.dropForeignKey

Drop a foreign-key relation.

suspend fun dropForeignKey(tableName: Any, columnName: Any, referencedTable: Any, referencedColumn: Any): Any?

api.data.dropTable

Drop a relational table.

suspend fun dropTable(tableName: Any): Any?

api.data.rollbackTransaction

suspend fun rollbackTransaction(txid: Any): Any?

api.data.tableHistory

Tables that keep history (versions, oldest, retention) and the plan's db.history_* limits.

suspend fun tableHistory(): Any?

api.data.setTableHistory

Turn a table's history on (every row version kept; read with sov_as_of(NULL::table, time)) or off (versions dropped).

suspend fun setTableHistory(tableName: Any, enabled: Any, keepDays: Any? = null): Any?

api.data.schemaDigest

The schema as one short line per table: columns with types, keys, →references, allowed values, indexes and owner-only rows.

suspend fun schemaDigest(tables: Any? = null, maxChars: Any? = null, since: Any? = null): Any?

tables (comma-separated) expands only those in a big schema; since=<version> answers unchanged when nothing changed.

api.data.applySchemaPlan

Create or extend tables from one declarative plan ([{name, columns, patterns, unique, indexes}]; columns as objects or short form like "status text!='draft' in(draft|live)" or "customer_id →customers cascade").

suspend fun applySchemaPlan(tables: Any, dryRun: Any? = null, name: Any? = null): Any?

Checked first (422 lists every problem, nothing changes), then applied as one reversible migration and verified. dry_run returns the SQL without applying.

api.data.applyMigration

Apply a migration and record it in the project's history, in one transaction (all or nothing).

suspend fun applyMigration(name: Any, upSql: Any, downSql: Any? = null, version: Any? = null): Any?

down_sql makes it reversible; the same version with the same SQL again does nothing, with different SQL it is refused (409).

api.data.dryRunMigration

Run a migration inside a transaction and roll it back: whether it would apply.

suspend fun dryRunMigration(name: Any, upSql: Any, downSql: Any? = null): Any?

Nothing is kept.

api.data.dryRunMigrations

Check several migrations ([{name, up_sql}], up to 500 and 5 MB of SQL) in order inside one transaction that is rolled back, so later ones see what earlier ones create.

suspend fun dryRunMigrations(migrations: Any): Any?

Returns status dry_run_ok, or failed with failed.index, name and error for the first that fails.

api.data.rollbackMigration

Undo the most recent migration with its down SQL (or version, with force when it isn't the latest).

suspend fun rollbackMigration(version: Any? = null, force: Any? = null): Any?

api.data.resetMigrations

Drop every user table and forget the migration history, in one transaction (what sov db reset runs).

suspend fun resetMigrations(dryRun: Any? = null): Any?

dry_run lists what would be dropped.

api.data.docPipeline

Run a document pipeline: where, aggregate, distinct, sort, offset, limit, select, remove_fields, sample.

suspend fun docPipeline(collection: String, stages: Any, collectionGroup: Any? = null): Any?

#api.e2ee

api.e2ee.bootstrapKey

Create (or fetch) the active e2ee channel key.

suspend fun bootstrapKey(channel: Any, ttlSeconds: Any? = null, forceNew: Any? = null): Any?

api.e2ee.getActiveKey

Get the active e2ee key for a channel, wrapped for client_public_key.

suspend fun getActiveKey(channel: String, clientPublicKey: Any? = null): Any?

api.e2ee.getKey

Get key material by channel/key_id, wrapped for client_public_key.

suspend fun getKey(channel: String, keyId: String, clientPublicKey: Any? = null): Any?

api.e2ee.listKeys

List key metadata for a channel.

suspend fun listKeys(channel: String): Any?

api.e2ee.revokeKey

Revoke an active or historical channel key.

suspend fun revokeKey(channel: Any, keyId: Any? = null, reason: Any? = null): Any?

api.e2ee.rotateKey

Rotate e2ee key material for a channel.

suspend fun rotateKey(channel: Any, ttlSeconds: Any? = null): Any?

#api.embeddings

api.embeddings.getSettings

The project's embedding model, who pays (managed | own_key), dimensions and list price.

suspend fun getSettings(): Any?

api.embeddings.setSettings

Use the project's own provider key: provider (openai | gemini | openai_compatible), model, dimensions, base_url, api_key.

suspend fun setSettings(body: Map<String, Any?>): Any?

Tested before it is saved.

api.embeddings.clearSettings

Go back to Sovaria's managed embedding model.

suspend fun clearSettings(): Any?

api.embeddings.usage

Texts, tokens and estimated cost per month, model and who paid.

suspend fun usage(months: Any? = null): Any?

#api.functions

api.functions.delete

suspend fun delete(functionName: String): Any?

api.functions.get

suspend fun get(functionName: String, projectId: Any? = null): Any?

api.functions.getBindings

suspend fun getBindings(functionName: String): Any?

api.functions.getPolicy

suspend fun getPolicy(functionName: String): Any?

api.functions.getSource

suspend fun getSource(functionName: String, projectId: Any? = null): Any?

api.functions.githubCommit

suspend fun githubCommit(body: Map<String, Any?>): Any?

api.functions.githubImport

suspend fun githubImport(body: Map<String, Any?>): Any?

api.functions.invocationStatus

Get status for an async Forge invocation id.

suspend fun invocationStatus(invocationId: String, projectId: Any? = null): Any?

api.functions.list

List Forge functions with active version and queue summary.

suspend fun list(projectId: Any? = null, limit: Any? = null, offset: Any? = null): Any?

api.functions.simulationDiff

Diff two simulation invocation outputs.

suspend fun simulationDiff(functionName: String, projectId: Any? = null, leftInvocationId: Any? = null, rightInvocationId: Any? = null): Any?

api.functions.status

Get forge deployment status by deploy id.

suspend fun status(deployId: String, projectId: Any? = null): Any?

api.functions.update

suspend fun update(functionName: String, body: Map<String, Any?>, projectId: Any? = null): Any?

api.functions.updateBindings

suspend fun updateBindings(functionName: String, bindings: Any): Any?

api.functions.updatePolicy

suspend fun updatePolicy(functionName: String, policy: Map<String, Any?>): Any?

api.functions.versions

List deployment versions for a Forge function.

suspend fun versions(functionName: String, projectId: Any? = null, limit: Any? = null, offset: Any? = null): Any?

api.functions.listGithubPreviews

Preview environments of the linked GitHub repository's open pull requests: PR number and title, status (creating, deploying, ready, partial, error), API URL, functions and migrations applied.

suspend fun listGithubPreviews(): Any?

api.functions.getFunctionLimits

A function's own memory, timeout and minimum-instances settings, what it runs with (effective) and the plan's maximums.

suspend fun getFunctionLimits(functionName: String): Any?

api.functions.setFunctionLimits

Lower a function's timeout or memory (never above the plan; null = plan maximum) and set its minimum instances: pre-started sandboxes kept for it so its calls start warm (plan fn.min_instances; left out = unchanged).

suspend fun setFunctionLimits(functionName: String, timeoutSec: Any? = null, memoryMb: Any? = null, minInstances: Any? = null): Any?

#api.governance

api.governance.adminDatabases

suspend fun adminDatabases(): Any?

api.governance.getTenant

suspend fun getTenant(orgId: String? = null): Any?

api.governance.getTenantDatabaseConnection

suspend fun getTenantDatabaseConnection(orgId: String? = null, projectId: String? = null): Any?

api.governance.listHosts

suspend fun listHosts(regionId: Any? = null): Any?

api.governance.listRegions

suspend fun listRegions(): Any?

api.governance.listTenantDatabaseBackups

suspend fun listTenantDatabaseBackups(orgId: String? = null, projectId: String? = null, limit: Any? = null): Any?

api.governance.listTenantDatabases

suspend fun listTenantDatabases(orgId: String? = null): Any?

api.governance.listTenants

suspend fun listTenants(): Any?

api.governance.metricsOverview

suspend fun metricsOverview(): Any?

api.governance.patchHost

suspend fun patchHost(hostId: String, body: Map<String, Any?>): Any?

api.governance.patchRegion

suspend fun patchRegion(regionId: String, body: Map<String, Any?>): Any?

api.governance.pauseTenantDatabase

suspend fun pauseTenantDatabase(orgId: String? = null, projectId: String? = null): Any?

api.governance.resizeTenantDatabase

suspend fun resizeTenantDatabase(orgId: String? = null, projectId: String? = null, computeSize: Any): Any?

api.governance.resumeTenantDatabase

suspend fun resumeTenantDatabase(orgId: String? = null, projectId: String? = null): Any?

api.governance.revealTenantDatabaseConnection

Reveal a database connection string (staff, with an active access grant).

suspend fun revealTenantDatabaseConnection(orgId: String? = null, projectId: String? = null, grantId: Any): Any?

api.governance.setTenantStatus

suspend fun setTenantStatus(orgId: String? = null, status: Any): Any?

api.governance.triggerTenantDatabaseBackup

suspend fun triggerTenantDatabaseBackup(orgId: String? = null, projectId: String? = null): Any?

api.governance.listDatabaseReplicas

Read replicas of the project's dedicated database: status, connection string, lag behind the primary, plan limit.

suspend fun listDatabaseReplicas(orgId: String? = null, projectId: String? = null): Any?

api.governance.createDatabaseReplica

Start a streaming read replica (status provisioning until its base backup is done, then ready).

suspend fun createDatabaseReplica(orgId: String? = null, projectId: String? = null): Any?

api.governance.deleteDatabaseReplica

Remove a read replica and its copy of the data.

suspend fun deleteDatabaseReplica(orgId: String? = null, projectId: String? = null, replicaId: String): Any?

api.governance.compareDatabaseMoments

What changed between two moments of the database — a backup id or "now" on each side: schema objects added, removed or changed (with a diff) and rows per table.

suspend fun compareDatabaseMoments(orgId: String? = null, projectId: String? = null, fromMoment: Any, toMoment: Any? = null, includePlatform: Any? = null): Any?

api.governance.restoreDatabaseBackup

Replace the project's database with a backup (dedicated databases): a safety backup is taken first, the backup loads beside production in one transaction and is swapped in; undo within 7 days.

suspend fun restoreDatabaseBackup(orgId: String? = null, projectId: String? = null, backupId: String, confirm: Any): Any?

Org owners and admins.

api.governance.listDatabaseRestores

Database restores of the project: status, the backup used, the safety backup and until when it can be undone.

suspend fun listDatabaseRestores(orgId: String? = null, projectId: String? = null): Any?

api.governance.undoDatabaseRestore

Put back the database exactly as it was right before a restore (within the undo window).

suspend fun undoDatabaseRestore(orgId: String? = null, projectId: String? = null, restoreId: String): Any?

api.governance.getPitrStatus

Point-in-time recovery of the project's database: whether it is on, the earliest and latest moment that can be restored, base backups and archived WAL.

suspend fun getPitrStatus(orgId: String? = null, projectId: String? = null): Any?

api.governance.enablePitr

Turn on point-in-time recovery (WAL archiving; Pro and higher).

suspend fun enablePitr(orgId: String? = null, projectId: String? = null, restart: Any? = null): Any?

If the database needs one restart for it (a few seconds), it restarts only with restart=true; otherwise the answer says state=restart_required.

api.governance.disablePitr

Stop point-in-time recovery archiving (no restart).

suspend fun disablePitr(orgId: String? = null, projectId: String? = null): Any?

What was archived stays restorable until it leaves the plan's window.

api.governance.restoreDatabaseToTime

Restore the project's database to a moment (ISO-8601 target_time).

suspend fun restoreDatabaseToTime(orgId: String? = null, projectId: String? = null, targetTime: Any, confirm: Any? = null, verifyOnly: Any? = null): Any?

It is recovered in a new container beside production and checked; with confirm=true it is then swapped in (safety backup first, undo for 7 days). verify_only=true only checks the moment restores. Returns a job; poll get_restore_job.

api.governance.getRestoreJob

A database restore job (point-in-time or from a backup): status (running, done, verified, failed, undone), the step it is on, the moment, and until when it can be undone.

suspend fun getRestoreJob(orgId: String? = null, projectId: String? = null, jobId: String): Any?

api.governance.listEnvironments

Production plus the project's environments (staging ones and API versions): database status, what each database started with (database, copy_state) and its own API URL; limit is how many the plan allows.

suspend fun listEnvironments(orgId: String? = null, projectId: String? = null): Any?

api.governance.createEnvironment

Create an environment with its own database in the project's container.

suspend fun createEnvironment(orgId: String? = null, projectId: String? = null, envId: Any, name: Any, kind: Any? = null, label: Any? = null, fromEnvId: Any? = null, database: Any? = null, sampleRows: Any? = null, includeTables: Any? = null, excludeTables: Any? = null, mask: Any? = null, maskAdd: Any? = null, maskSkip: Any? = null): Any?

database: empty | schema (default: production's structure, no rows) | sample (plus up to sample_rows newest rows per table and every row they reference; plan env.branch_data, Pro and higher) | all (every row, up to env.branch_data_max_gb; Ultra and higher). Personal columns are masked unless mask=false (owners/admins, audited). Rows are copied as a job: poll get_environment_copy.

api.governance.getEnvironmentCopy

What an environment's database started with and how its row copy is going: state copying | done | failed, tables and rows copied, masked columns, size, or why it failed.

suspend fun getEnvironmentCopy(orgId: String? = null, projectId: String? = null, envId: String): Any?

api.governance.deleteEnvironment

Delete an environment and its database (a snapshot is kept first).

suspend fun deleteEnvironment(orgId: String? = null, projectId: String? = null, envId: String): Any?

api.governance.queryInsights

The project's SQL statements (pg_stat_statements) by total time, average, calls, worst run or rows.

suspend fun queryInsights(orgId: String? = null, projectId: String? = null, sort: Any? = null, limit: Any? = null): Any?

api.governance.resetQueryInsights

Clear this database's query statistics.

suspend fun resetQueryInsights(orgId: String? = null, projectId: String? = null): Any?

api.governance.indexAdvisor

Indexes that would speed up the slowest statements, tested as hypothetical indexes (hypopg).

suspend fun indexAdvisor(orgId: String? = null, projectId: String? = null, queryid: Any? = null): Any?

api.governance.indexAdvisorForQuery

Index recommendations for one statement (only EXPLAINed, never run).

suspend fun indexAdvisorForQuery(orgId: String? = null, projectId: String? = null, query: Any): Any?

api.governance.applyIndex

Build a recommended index with CREATE INDEX CONCURRENTLY (background; poll index_status).

suspend fun applyIndex(orgId: String? = null, projectId: String? = null, schema: Any? = null, table: Any, columns: Any): Any?

api.governance.indexStatus

Whether an index the advisor started is building, ready, failed or invalid.

suspend fun indexStatus(orgId: String? = null, projectId: String? = null, indexName: String): Any?

#api.history

api.history.commit

Create a Chrono commit.

suspend fun commit(timeline: Any? = null, message: Any, author: Any? = null, eventType: Any? = null): Any?

api.history.converge

Converge source timeline into target timeline.

suspend fun converge(target: Any, source: Any, author: Any, message: Any? = null): Any?

api.history.createSnapshot

Create a system snapshot.

suspend fun createSnapshot(message: Any): Any?

api.history.deleteTimeline

Delete a timeline.

suspend fun deleteTimeline(name: String): Any?

api.history.jumpTimeline

Force-jump a timeline head.

suspend fun jumpTimeline(name: String, targetHex: Any): Any?

api.history.listSnapshots

List known snapshots.

suspend fun listSnapshots(): Any?

api.history.listTimelines

List available timelines.

suspend fun listTimelines(): Any?

api.history.restoreSnapshot

Restore a snapshot by id.

suspend fun restoreSnapshot(snapshotId: String): Any?

api.history.spawnTimeline

Spawn a new timeline from a source chronon.

suspend fun spawnTimeline(name: Any, sourceHexId: Any? = null): Any?

api.history.timelineHistory

Fetch timeline history chronons.

suspend fun timelineHistory(name: String, limit: Any? = null, offset: Any? = null): Any?

api.history.topology

Return timeline graph topology.

suspend fun topology(timeline: Any? = null, limit: Any? = null): Any?

api.history.variance

Calculate variance between two chronons.

suspend fun variance(oldChrononHex: Any, newChrononHex: Any, domainFilter: Any? = null): Any?

#api.knowledge

api.knowledge.list

Knowledge bases (RAG) with documents, chunks, tokens, the embedding model and estimated cost.

suspend fun list(): Any?

api.knowledge.create

Create a knowledge base: name, description, access (team | app_users), user_uploads, chunk_tokens.

suspend fun create(body: Map<String, Any?>): Any?

api.knowledge.update

Change a knowledge base's description, access or user_uploads.

suspend fun update(name: String, body: Map<String, Any?>): Any?

api.knowledge.delete

Delete a knowledge base with all its documents.

suspend fun delete(name: String): Any?

api.knowledge.listDocuments

Documents the caller may read: title, source, chunks, tokens, status.

suspend fun listDocuments(name: String, limit: Any? = null, offset: Any? = null): Any?

api.knowledge.addDocument

Add or replace a document: text (+format), content_base64 + filename (PDF, DOCX, HTML, Markdown, TXT, CSV, JSON) or url; optional document_id, title, metadata.

suspend fun addDocument(name: String, body: Map<String, Any?>): Any?

api.knowledge.deleteDocument

Remove a document (its owner or the team).

suspend fun deleteDocument(name: String, documentId: String): Any?

#api.mcp

api.mcp.listConnections

AI assistants you connected over Sovaria's MCP server: the app, its organization and project, read-only or not, when it was connected and last used.

suspend fun listConnections(): Any?

api.mcp.disconnect

Disconnect one of your AI assistants: its tokens stop working at once.

suspend fun disconnect(grantId: String): Any?

api.mcp.orgSettings

Whether members may connect AI assistants to this organization, the MCP server URL, and (owners and admins) every member's connection.

suspend fun orgSettings(orgId: String? = null): Any?

api.mcp.setOrgAllowed

Allow or stop AI assistants for the organization (owners and admins).

suspend fun setOrgAllowed(orgId: String? = null, allowed: Any): Any?

Turning it off ends every member's connection.

api.mcp.orgDisconnect

Disconnect a member's AI assistant from the organization (owners and admins).

suspend fun orgDisconnect(orgId: String? = null, grantId: String): Any?

#api.messaging

api.messaging.listTemplates

Message templates of the project (push and/or email content with {{ variables }}).

suspend fun listTemplates(projectId: String? = null): Any?

api.messaging.getTemplate

One message template.

suspend fun getTemplate(projectId: String? = null, name: String): Any?

api.messaging.putTemplate

Create or replace a template: push {title, body, image?, data?}, email {subject, html?, text?}; category transactional or marketing (marketing skips opted-out users and adds an unsubscribe link).

suspend fun putTemplate(projectId: String? = null, name: String, description: Any? = null, category: Any? = null, push: Any? = null, email: Any? = null): Any?

api.messaging.deleteTemplate

Delete a message template.

suspend fun deleteTemplate(projectId: String? = null, name: String): Any?

api.messaging.listAudiences

Saved audiences: read-only SQL queries returning user_id (other columns become per-user variables).

suspend fun listAudiences(projectId: String? = null): Any?

api.messaging.getAudience

One audience and its last count.

suspend fun getAudience(projectId: String? = null, name: String): Any?

api.messaging.putAudience

Create or replace an audience: a SELECT on the project database returning user_id (e.g.

suspend fun putAudience(projectId: String? = null, name: String, sql: Any, description: Any? = null): Any?

select user_id, first_name from profiles where plan = 'pro').

api.messaging.deleteAudience

Delete an audience.

suspend fun deleteAudience(projectId: String? = null, name: String): Any?

api.messaging.previewAudience

Run a saved audience: how many app users it reaches, columns and a sample of 10.

suspend fun previewAudience(projectId: String? = null, name: String): Any?

api.messaging.previewSql

Try an audience query before saving it: app users reached, columns and a sample.

suspend fun previewSql(projectId: String? = null, sql: Any): Any?

api.messaging.send

Send a template (or content {push, email}) to {user_ids | audience | sql | topic | all_users} on push and/or email, with variables; dry_run reports who would get it and renders a preview.

suspend fun send(projectId: String? = null, template: Any? = null, content: Any? = null, to: Any, channels: Any? = null, variables: Any? = null, category: Any? = null, dryRun: Any? = null): Any?

Runs in the background; poll getSend.

api.messaging.listSends

Recent sends with status and per-channel counts.

suspend fun listSends(projectId: String? = null, limit: Any? = null): Any?

api.messaging.getSend

One send: status (sending, done, failed) and counts per channel and outcome.

suspend fun getSend(projectId: String? = null, sendId: String): Any?

api.messaging.listDeliveries

Delivery log: per recipient and channel, sent / failed / no_device / no_email / opted_out with an error code (never content).

suspend fun listDeliveries(projectId: String? = null, sendId: Any? = null, userId: Any? = null, status: Any? = null, limit: Any? = null, offset: Any? = null): Any?

api.messaging.usage

Messages sent this month per channel and the plan's messaging limits.

suspend fun usage(projectId: String? = null): Any?

api.messaging.setUserOptout

Record an app user's marketing choice (channel push, email or all) from your own UI.

suspend fun setUserOptout(projectId: String? = null, userId: String, channel: Any, optedOut: Any): Any?

api.messaging.getPreferences

The signed-in app user's marketing preferences per channel.

suspend fun getPreferences(): Any?

api.messaging.setPreferences

The signed-in app user turns marketing push/email on or off: { marketing: { email: false } }.

suspend fun setPreferences(marketing: Any): Any?

#api.mobile

api.mobile.listApps

Registered iOS/Android apps (bundle/package ids, redirect URIs).

suspend fun listApps(projectId: String? = null): Any?

api.mobile.createApp

Register an app: platform, bundle_id+team_id (iOS) or package_name+sha256_cert_fingerprints (Android), redirect_uris.

suspend fun createApp(projectId: String? = null, body: Map<String, Any?>): Any?

api.mobile.updateApp

Change a registered app (name, ids, fingerprints, redirect URIs).

suspend fun updateApp(projectId: String? = null, appId: String, body: Map<String, Any?>): Any?

api.mobile.deleteApp

Remove a registered app.

suspend fun deleteApp(projectId: String? = null, appId: String): Any?

api.mobile.listUserDevices

An app user's signed-in devices and push tokens.

suspend fun listUserDevices(projectId: String? = null, userId: String): Any?

api.mobile.revokeUserDevice

Sign one of an app user's devices out (sessions and push tokens).

suspend fun revokeUserDevice(projectId: String? = null, userId: String, deviceId: String): Any?

#api.observability

api.observability.metrics

Requests, 4xx/5xx errors, latency (avg, p50, p95, p99) and bytes over time for the project, per gateway service.

suspend fun metrics(hours: Any? = null, service: Any? = null, points: Any? = null, byService: Any? = null): Any?

History by plan (obs.retention_days).

api.observability.logs

Recent requests, newest first (method, path, status, duration, service, trace_id, env_id).

suspend fun logs(limit: Any? = null, service: Any? = null, status: Any? = null, q: Any? = null, after: Any? = null, before: Any? = null, source: Any? = null, env: Any? = null): Any?

after = live tail, before = older page.

api.observability.routes

Latency (p50, p95, p99) and 4xx/5xx per route (method + path with ids collapsed), busiest first; env = comma-separated environment ids (main = none named), default all; route adds that route's series.

suspend fun routes(hours: Any? = null, env: Any? = null, route: Any? = null, limit: Any? = null): Any?

api.observability.alertsList

SLO alert rules with their state (ok, firing, no_data, paused), the plan limit (obs.alert_rules), the metric catalog and recent events.

suspend fun alertsList(): Any?

api.observability.alertsCreate

Create an alert rule: metric latency_p95_ms, latency_p99_ms, error_rate (5xx %), function_failures or db_connections; threshold; window 5-60 min; optional route/function target; team email and/or a signed HTTPS webhook (signing_secret returned once).

suspend fun alertsCreate(metric: Any, threshold: Any, windowMinutes: Any? = null, name: Any? = null, target: Any? = null, env: Any? = null, minRequests: Any? = null, email: Any? = null, webhookUrl: Any? = null): Any?

Owners and admins.

api.observability.alertsUpdate

Change an alert rule (any create field) or pause/resume it ({enabled: false}).

suspend fun alertsUpdate(ruleId: String, body: Map<String, Any?>): Any?

api.observability.alertsDelete

Delete an alert rule.

suspend fun alertsDelete(ruleId: String): Any?

api.observability.alertsTest

Measure the rule now (value, would_fire) and send an alert.test to its webhook.

suspend fun alertsTest(ruleId: String): Any?

api.observability.alertsEvents

Fired and resolved alerts, newest first.

suspend fun alertsEvents(limit: Any? = null): Any?

#api.org

api.org.acceptOrgInvite

suspend fun acceptOrgInvite(token: Any): Any?

api.org.addMember

Add a user as a member of an org/project node.

suspend fun addMember(orgId: String? = null, userId: Any, role: Any): Any?

api.org.createEdge

Connect two DAPG nodes with a typed relationship.

suspend fun createEdge(sourceNodeId: Any, targetNodeId: Any, relationType: Any, role: Any? = null): Any?

api.org.createOrgInvite

suspend fun createOrgInvite(orgId: String? = null, email: Any, role: Any): Any?

api.org.deleteOrg

suspend fun deleteOrg(orgId: String? = null): Any?

api.org.ensureDefaultApiKeys

suspend fun ensureDefaultApiKeys(): Any?

api.org.getChildren

List child nodes attached by a relation (e.g.

suspend fun getChildren(parentId: String, relation: Any? = null): Any?

OWNS, HAS_ENV).

api.org.getContext

Resolve a user's roles on a resource by walking the DAPG.

suspend fun getContext(userId: String, resourceId: String): Any?

api.org.getNode

Fetch a single graph node by ID.

suspend fun getNode(nodeId: String): Any?

api.org.getProjectRef

suspend fun getProjectRef(projectId: String? = null): Any?

api.org.getProjectSettings

suspend fun getProjectSettings(): Any?

api.org.getRoleCatalog

suspend fun getRoleCatalog(): Any?

api.org.getRoleMatrix

suspend fun getRoleMatrix(): Any?

api.org.listApiKeys

suspend fun listApiKeys(): Any?

api.org.listNodes

List graph nodes; when provided, node_type filters by type.

suspend fun listNodes(nodeType: Any? = null): Any?

api.org.listOrgMembers

suspend fun listOrgMembers(orgId: String? = null): Any?

api.org.removeOrgMember

suspend fun removeOrgMember(orgId: String? = null, userId: String): Any?

api.org.revokeApiKey

suspend fun revokeApiKey(keyId: String): Any?

api.org.setOrgPlan

suspend fun setOrgPlan(orgId: String? = null, plan: Any): Any?

api.org.updateMemberRole

suspend fun updateMemberRole(orgId: String? = null, userId: String, role: Any): Any?

api.org.updateOrg

suspend fun updateOrg(orgId: String? = null, body: Map<String, Any?>): Any?

api.org.updateProjectSettings

suspend fun updateProjectSettings(settings: Any): Any?

api.org.updateRoleMatrix

suspend fun updateRoleMatrix(matrix: Any): Any?

api.org.transferOrgOwnership

Hand the organization and its billing to another admin (owner only).

suspend fun transferOrgOwnership(orgId: String? = null, newOwnerId: Any, reason: Any? = null): Any?

409 ONE_OWNED_ORG when they already own one.

#api.platform

api.platform.createEventHook

suspend fun createEventHook(body: Map<String, Any?>): Any?

api.platform.deleteEventHook

suspend fun deleteEventHook(hookId: String): Any?

api.platform.disconnectGithub

suspend fun disconnectGithub(projectId: Any? = null): Any?

api.platform.gatewayHealth

suspend fun gatewayHealth(): Any?

api.platform.getEnginesHealth

Return aggregate gateway health for downstream engines.

suspend fun getEnginesHealth(): Any?

api.platform.getErrorTrace

suspend fun getErrorTrace(traceId: String): Any?

api.platform.getGithubConnectionState

suspend fun getGithubConnectionState(projectId: Any? = null): Any?

api.platform.listEventHooks

suspend fun listEventHooks(): Any?

api.platform.resolveErrorTrace

suspend fun resolveErrorTrace(traceId: String, resolved: Any): Any?

#api.policy

api.policy.auditCount

Return current audit-entry count.

suspend fun auditCount(): Any?

api.policy.auditVerify

Verify audit hash-chain integrity.

suspend fun auditVerify(): Any?

api.policy.policyCreate

Create and compile a policy.

suspend fun policyCreate(policyId: Any, name: Any, splSource: Any, orgId: Any): Any?

api.policy.policyDelete

Delete (deactivate) a policy.

suspend fun policyDelete(policyId: String): Any?

api.policy.policyEvaluate

Evaluate a policy against an explicit debug context.

suspend fun policyEvaluate(policyId: String, context: Any): Any?

api.policy.policyGet

Get a single policy by ID.

suspend fun policyGet(policyId: String): Any?

api.policy.policyHistory

Return version history for a policy.

suspend fun policyHistory(policyId: String): Any?

api.policy.policyList

List active policies visible in current tenant scope.

suspend fun policyList(): Any?

api.policy.policyRollback

Rollback a policy to a historical version.

suspend fun policyRollback(policyId: String, version: Any): Any?

api.policy.policyTemplates

List server-authoritative SPL templates.

suspend fun policyTemplates(): Any?

#api.push

api.push.getCredentials

Which push providers are set up (never the keys).

suspend fun getCredentials(projectId: String? = null): Any?

api.push.setFcmCredentials

Upload the Firebase service account JSON (encrypted, write-only).

suspend fun setFcmCredentials(projectId: String? = null, serviceAccount: Any): Any?

api.push.setApnsCredentials

Upload the APNs .p8 key (encrypted, write-only).

suspend fun setApnsCredentials(projectId: String? = null, p8: Any, keyId: Any, teamId: Any, bundleId: Any, environment: Any? = null): Any?

api.push.deleteCredentials

Remove FCM or APNs credentials.

suspend fun deleteCredentials(projectId: String? = null, provider: String): Any?

api.push.listDevices

Push devices registered in the project (tokens are never returned).

suspend fun listDevices(projectId: String? = null, userId: Any? = null, limit: Any? = null, before: Any? = null): Any?

api.push.send

Send a push: to {user_ids|device_ids|topic}, notification {title, body, image}, data, badge, priority, ttl_seconds, dry_run.

suspend fun send(projectId: String? = null, message: Map<String, Any?>): Any?

api.push.listSends

Recent sends (counts and error codes) and this month's total.

suspend fun listSends(projectId: String? = null, limit: Any? = null): Any?

api.push.registerDevice

Register the signed-in app user's push token (FCM or APNs).

suspend fun registerDevice(token: Any, platform: Any, provider: Any? = null, deviceId: Any? = null, appId: Any? = null, topics: Any? = null, locale: Any? = null): Any?

api.push.myDevices

The signed-in app user's push tokens.

suspend fun myDevices(): Any?

api.push.updateTopics

Subscribe a device to topics or unsubscribe it.

suspend fun updateTopics(deviceRowId: String, subscribe: Any? = null, unsubscribe: Any? = null, replace: Any? = null): Any?

api.push.deleteDevice

Remove one of the signed-in user's push devices.

suspend fun deleteDevice(deviceRowId: String): Any?

api.push.unregisterToken

Drop a push token (sign-out, notifications turned off).

suspend fun unregisterToken(token: Any): Any?

#api.realtime

api.realtime.channels

List active realtime channels.

suspend fun channels(): Any?

api.realtime.presence

Fetch presence for a realtime channel.

suspend fun presence(channel: String): Any?

api.realtime.replay

Replay events for a realtime channel.

suspend fun replay(channel: String, after: Any? = null, limit: Any? = null): Any?

api.realtime.subscribe

Subscribe a client ID to a realtime channel.

suspend fun subscribe(channel: Any, clientId: Any): Any?

api.realtime.unsubscribe

Unsubscribe a client ID from a realtime channel.

suspend fun unsubscribe(channel: Any, clientId: Any): Any?

#api.simulation

api.simulation.compareRuns

Compare two simulation runs of the project: regressions, improvements and new failures.

suspend fun compareRuns(targetRunId: String, baselineRunId: String): Any?

api.simulation.discover

What a simulation would test (user types, resources, rules), redacted by what you may read; pass its manifest_id to a run.

suspend fun discover(): Any?

api.simulation.getRun

One simulation run with every case's result (history keeps no rule source or user ids).

suspend fun getRun(runId: String): Any?

api.simulation.listRuns

The project's simulation runs, newest first; limit 1-100 (default 50) and offset page through them.

suspend fun listRuns(limit: Any? = null, offset: Any? = null): Any?

api.simulation.quota

Real simulation runs used and allowed today (UTC) and this month; reading it uses nothing.

suspend fun quota(): Any?

api.simulation.listIntended

Outcomes the team marked as intended for this project (shown green on every run, left out of findings).

suspend fun listIntended(): Any?

api.simulation.markIntended

Mark an outcome as intended (role, action, resource, outcome ALLOW or DENY, optional note); needs policies.write.

suspend fun markIntended(role: Any, action: Any, resource: Any, outcome: Any, note: Any? = null): Any?

Marking the same role/action/resource again replaces it.

api.simulation.unmarkIntended

Remove an intended-outcome mark; matching cases show as measured again.

suspend fun unmarkIntended(markId: String): Any?

Needs policies.write.

api.simulation.topology

Callers, gateway checks, sign-in, resources and connectors of the project (platform defences as one 'Platform protection' node).

suspend fun topology(): Any?

api.simulation.limits

Every limit the project lives under, with its value and how it is counted.

suspend fun limits(): Any?

api.simulation.integrationRun

Run one integration flow under a programmed outcome: modelled (free, nothing sent) or sealed (real code path, recorded, one single-request check).

suspend fun integrationRun(connectorId: Any, flowId: Any, outcome: Any? = null, mode: Any? = null): Any?

api.simulation.drillsRun

Judge the 14 security drills from the project's configuration (optionally with a what-if draft that is never saved).

suspend fun drillsRun(drillIds: Any? = null, overrides: Any? = null): Any?

api.simulation.runArtifacts

What a run's sealed send points would have sent (secrets masked; message bodies need settings.manage).

suspend fun runArtifacts(runId: String): Any?

api.simulation.snapshot

A project snapshot for offline simulation (sov simulate offline): tables, row policies, functions, every case with the rules' verdict.

suspend fun snapshot(includeRows: Any? = null): Any?

#api.storage

api.storage.createBucket

suspend fun createBucket(body: Map<String, Any?>): Any?

api.storage.deleteBucket

suspend fun deleteBucket(name: String): Any?

api.storage.getBucket

suspend fun getBucket(name: String): Any?

api.storage.listBuckets

suspend fun listBuckets(): Any?

api.storage.moveObject

suspend fun moveObject(fromPath: Any, toPath: Any): Any?

api.storage.updateBucket

suspend fun updateBucket(name: String, body: Map<String, Any?>): Any?

#api.templates

api.templates.list

App templates (SaaS, marketplace, chat): what each creates, the tables it adds and its steps.

suspend fun list(): Any?

Project team only.

api.templates.get

One app template, including the SQL its migration runs.

suspend fun get(name: String): Any?

api.templates.apply

Apply a template to the project: its migration (tables + row-level security), buckets and their rules, realtime — each step with your own permissions, stopping at the first refusal.

suspend fun apply(orgId: String? = null, projectId: String? = null, name: String, dryRun: Any? = null): Any?

dry_run checks for tables that already exist and changes nothing. Needs database.admin.

#api.traces

api.traces.list

The project's recent refused (4xx) and failed (5xx) requests, each with who refused it, why and what to do (kind: denied, failed or all).

suspend fun list(kind: Any? = null, before: Any? = null, limit: Any? = null): Any?

Project team only.

api.traces.get

One request by its trace id (SovariaError.traceId, the X-Request-ID header): every hop — gateway checks, engine, SQL — and the explanation.

suspend fun get(traceId: String): Any?

#api.vector

api.vector.deleteCollection

Delete an entire vector collection.

suspend fun deleteCollection(collection: String): Any?

api.vector.deleteRecord

Delete a record from a vector collection.

suspend fun deleteRecord(collection: String, recordId: String): Any?

api.vector.embed

Generate embeddings for one or more texts.

suspend fun embed(texts: Any): Any?

api.vector.listCollections

List vector collections in the current project scope.

suspend fun listCollections(): Any?

api.vector.upsert

Embed and upsert documents into a vector collection.

suspend fun upsert(collection: Any, docs: Any): Any?

api.vector.setCollection

Collection settings.

suspend fun setCollection(collection: String, appSearch: Any? = null): Any?

app_search: true lets the project's apps (anon key, signed-in users) search it; they can never write or list it.

api.vector.reembedCollection

Embed every stored text again with the project's current model (large collections need this after a model change).

suspend fun reembedCollection(collection: String, force: Any? = null): Any?

api.vector.sqlSearch

Search a SQL table: mode vector (nearest embeddings), keyword (full text) or hybrid (both, reciprocal rank fusion).

suspend fun sqlSearch(tableName: Any, columnName: Any? = null, vector: Any? = null, text: Any? = null, mode: Any? = null, textColumns: Any? = null, language: Any? = null, k: Any? = null, metric: Any? = null, select: Any? = null, filter: Any? = null, maxDistance: Any? = null): Any?

text is embedded with the project's model when no vector is given. Only rows the caller may read.

api.vector.sqlAutoStatus

Tables whose vector column Sovaria keeps embedded, rows embedded and waiting, last error, and the project's model.

suspend fun sqlAutoStatus(): Any?

api.vector.sqlAutoEnable

Keep a vector column (created if missing) filled with embeddings of the source columns; edited rows are embedded again automatically.

suspend fun sqlAutoEnable(tableName: Any, columnName: Any? = null, sourceColumns: Any, rebuild: Any? = null): Any?

rebuild re-embeds the whole table.

api.vector.sqlAutoDisable

Stop keeping a table's vectors up to date (the column and its vectors stay).

suspend fun sqlAutoDisable(tableName: String): Any?

api.vector.sqlAutoSync

Embed waiting rows now instead of on the next background pass (up to limit per table).

suspend fun sqlAutoSync(tableName: Any? = null, limit: Any? = null): Any?

#api.workflows

api.workflows.start

Start a durable workflow run of a function that uses context.step; key makes the start idempotent.

suspend fun start(functionName: Any, input: Any? = null, key: Any? = null): Any?

api.workflows.list

Workflow runs, newest first, with the plan's workflow limits.

suspend fun list(functionName: Any? = null, status: Any? = null, before: Any? = null, limit: Any? = null): Any?

api.workflows.get

One run: status, input, output or error, and every finished step with its result.

suspend fun get(runId: String): Any?

api.workflows.signal

Wake step.waitForSignal(name) with data (kept until the run waits for it).

suspend fun signal(runId: String, name: Any, data: Any? = null): Any?

api.workflows.cancel

Stop an unfinished run for good.

suspend fun cancel(runId: String): Any?

api.workflows.retry

Resume a failed run from its failed step; latest moves it to the live function version.

suspend fun retry(runId: String, latest: Any? = null): Any?