Kotlin: Full API (api.*)
Every Sovaria API operation as a typed call, grouped by module, with the Kotlin SDK.
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?- HTTP
- GET /api/v1/byok
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.
- HTTP
- PUT /api/v1/byok
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.knowledge.search
Passages for a question with numbered citations: query, k, mode (vector | keyword | hybrid), metadata_filter.
suspend fun search(name: String, body: Map<String, Any?>): Any?Only passages the caller may read.
#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?- HTTP
- GET /api/v1/org
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?