Docs

JavaScript: Organizations, projects and keys

Manage organizations, members, invites, roles, project settings, API keys and project databases with @sovaria/sdk.

Updated Oct 16, 2026

These methods manage your Sovaria account itself — organizations, team members, projects, keys and databases. They need a team member's session (console login or CLI token), never an app user's.

await sovaria.graph.createInvite(orgId, { email: 'sam@example.com', role: 'MEMBER' })
const members = await sovaria.graph.listMembers(orgId)

Organizations, members and settings

sovaria.graph.createNode

Create node.

sovaria.graph.createNode(
  nodeType: string,
  name: string,
  metadata?: JsonObject = {},
): Promise<JsonObject>

Parameters

nodeTypestringrequired
namestringrequired
metadataJsonObjectoptionaldefault {}
Returns
Promise<JsonObject>
HTTP
POST /api/v1/org

sovaria.graph.createEdge

Create edge.

sovaria.graph.createEdge(
  sourceId: string,
  targetId: string,
  relationType: string,
  role?: string,
): Promise<JsonObject>

Parameters

sourceIdstringrequired
targetIdstringrequired
relationTypestringrequired
rolestringoptional
Returns
Promise<JsonObject>
HTTP
POST /api/v1/edge

sovaria.graph.addMember

Add member.

sovaria.graph.addMember(
  orgId: string,
  userId: string,
  role?: string = 'MEMBER',
): Promise<JsonObject>

Parameters

orgIdstringrequired
userIdstringrequired
rolestringoptionaldefault 'MEMBER'
Returns
Promise<JsonObject>
HTTP
POST /api/v1/org/{…}/member

sovaria.graph.getContext

Get context.

sovaria.graph.getContext(userId: string, resourceId: string): Promise<JsonObject>

Parameters

userIdstringrequired
resourceIdstringrequired
Returns
Promise<JsonObject>
HTTP
GET /api/v1/context/{…}/{…}

sovaria.graph.listNodes

List nodes.

sovaria.graph.listNodes(nodeType?: string): Promise<JsonValue>

Parameters

nodeTypestringoptional
Returns
Promise<JsonValue>
HTTP
GET /api/v1/org

sovaria.graph.getNode

Get node.

sovaria.graph.getNode(nodeId: string): Promise<JsonObject>

Parameters

nodeIdstringrequired
Returns
Promise<JsonObject>
HTTP
GET /api/v1/org/{…}

sovaria.graph.getChildren

Get children.

sovaria.graph.getChildren(parentId: string, relation?: string = 'OWNS'): Promise<JsonValue>

Parameters

parentIdstringrequired
relationstringoptionaldefault 'OWNS'
Returns
Promise<JsonValue>
HTTP
GET /api/v1/org/{…}/children

sovaria.graph.updateOrg

Update org.

sovaria.graph.updateOrg(orgId: string, body: JsonObject): Promise<JsonObject>

Parameters

orgIdstringrequired
bodyJsonObjectrequired
Returns
Promise<JsonObject>
HTTP
PUT /api/v1/org/{…}

sovaria.graph.deleteOrg

Delete org.

sovaria.graph.deleteOrg(orgId: string): Promise<JsonObject>

Parameters

orgIdstringrequired
Returns
Promise<JsonObject>
HTTP
DELETE /api/v1/org/{…}

sovaria.graph.setOrgPlan

Set org plan.

sovaria.graph.setOrgPlan(orgId: string, body: JsonObject): Promise<JsonObject>

Parameters

orgIdstringrequired
bodyJsonObjectrequired
Returns
Promise<JsonObject>
HTTP
PUT /api/v1/org/{…}/plan

sovaria.graph.listMembers

List members.

sovaria.graph.listMembers(orgId: string): Promise<JsonValue>

Parameters

orgIdstringrequired
Returns
Promise<JsonValue>
HTTP
GET /api/v1/org/{…}/members

sovaria.graph.removeMember

Remove member.

sovaria.graph.removeMember(orgId: string, userId: string): Promise<JsonObject>

Parameters

orgIdstringrequired
userIdstringrequired
Returns
Promise<JsonObject>
HTTP
DELETE /api/v1/org/{…}/member/{…}

sovaria.graph.updateMember

Update member.

sovaria.graph.updateMember(orgId: string, userId: string, body: JsonObject): Promise<JsonObject>

Parameters

orgIdstringrequired
userIdstringrequired
bodyJsonObjectrequired
Returns
Promise<JsonObject>
HTTP
PUT /api/v1/org/{…}/member/{…}

sovaria.graph.createInvite

Create invite.

sovaria.graph.createInvite(orgId: string, body: JsonObject): Promise<JsonObject>

Parameters

orgIdstringrequired
Organization id.
bodyJsonObjectrequired
email and role (OWNER, ADMIN, MEMBER or VIEWER).
Returns
Promise<JsonObject>
HTTP
POST /api/v1/org/{…}/invites

sovaria.graph.acceptInvite

Accept invite.

sovaria.graph.acceptInvite(body: JsonObject): Promise<JsonObject>

Parameters

bodyJsonObjectrequired
Returns
Promise<JsonObject>
HTTP
POST /api/v1/org/invites/accept

sovaria.graph.getRoleMatrix

Get role matrix.

sovaria.graph.getRoleMatrix(): Promise<JsonObject>
Returns
Promise<JsonObject>
HTTP
GET /api/v1/roles/matrix

sovaria.graph.setRoleMatrix

Set role matrix.

sovaria.graph.setRoleMatrix(body: JsonObject): Promise<JsonObject>

Parameters

bodyJsonObjectrequired
Returns
Promise<JsonObject>
HTTP
PUT /api/v1/roles/matrix

sovaria.graph.getRoleCatalog

Get role catalog.

sovaria.graph.getRoleCatalog(): Promise<JsonValue>
Returns
Promise<JsonValue>
HTTP
GET /api/v1/roles/catalog

sovaria.graph.getProjectRef

Get project ref.

sovaria.graph.getProjectRef(projectId: string): Promise<JsonObject>

Parameters

projectIdstringrequired
Returns
Promise<JsonObject>
HTTP
GET /api/v1/org/{…}/ref

sovaria.graph.getProjectSettings

Get project settings.

sovaria.graph.getProjectSettings(): Promise<JsonObject>
Returns
Promise<JsonObject>
HTTP
GET /api/v1/project-settings

sovaria.graph.setProjectSettings

Set project settings.

sovaria.graph.setProjectSettings(body: JsonObject): Promise<JsonObject>

Parameters

bodyJsonObjectrequired
Settings to change (merged with the current ones), e.g. allowedOrigins, stagingFirst.
Returns
Promise<JsonObject>
HTTP
PUT /api/v1/project-settings

API keys

sovaria.keys.list

List.

sovaria.keys.list(): Promise<JsonValue>
Returns
Promise<JsonValue>
HTTP
GET /api/v1/apikeys

sovaria.keys.create

Create.

sovaria.keys.create(payload: JsonObject): Promise<JsonObject>

Parameters

payloadJsonObjectrequired
Name, role and optional expiry for a custom key.
Returns
Promise<JsonObject>
HTTP
POST /api/v1/apikeys
  • The key value is shown once in the response. Store it in a secret manager.

sovaria.keys.ensureDefaults

Ensure defaults.

sovaria.keys.ensureDefaults(): Promise<JsonObject>
Returns
Promise<JsonObject>
HTTP
POST /api/v1/apikeys/ensure-defaults

sovaria.keys.revoke

Revoke.

sovaria.keys.revoke(keyId: string): Promise<JsonObject>

Parameters

keyIdstringrequired
The key id (not the key value).
Returns
Promise<JsonObject>
HTTP
DELETE /api/v1/apikeys/{…}

Databases and regions

sovaria.governance.listRegions

List regions.

sovaria.governance.listRegions(): Promise<JsonValue>
Returns
Promise<JsonValue>

sovaria.governance.listAvailableRegions

List available regions.

sovaria.governance.listAvailableRegions(
  query?: { size?: string; plan?: string },
): Promise<JsonValue>

Parameters

query{ size?: string; plan?: string }optional
Returns
Promise<JsonValue>

sovaria.governance.getTenant

Get tenant.

sovaria.governance.getTenant(orgId: string): Promise<JsonObject>

Parameters

orgIdstringrequired
Returns
Promise<JsonObject>

sovaria.governance.listTenantDatabases

List tenant databases.

sovaria.governance.listTenantDatabases(orgId: string): Promise<JsonValue>

Parameters

orgIdstringrequired
Returns
Promise<JsonValue>

sovaria.governance.provisionDatabase

Provision database.

sovaria.governance.provisionDatabase(orgId: string, body: JsonObject): Promise<JsonObject>

Parameters

orgIdstringrequired
bodyJsonObjectrequired
Returns
Promise<JsonObject>

sovaria.governance.getDatabaseConnection

Get database connection.

sovaria.governance.getDatabaseConnection(orgId: string, projectId: string): Promise<JsonObject>

Parameters

orgIdstringrequired
projectIdstringrequired
Returns
Promise<JsonObject>

sovaria.governance.revealDatabaseConnection

Reveal database connection.

sovaria.governance.revealDatabaseConnection(
  orgId: string,
  projectId: string,
): Promise<JsonObject>

Parameters

orgIdstringrequired
projectIdstringrequired
Returns
Promise<JsonObject>

sovaria.governance.pauseDatabase

Pause database.

sovaria.governance.pauseDatabase(orgId: string, projectId: string): Promise<JsonObject>

Parameters

orgIdstringrequired
projectIdstringrequired
Returns
Promise<JsonObject>

sovaria.governance.resumeDatabase

Resume database.

sovaria.governance.resumeDatabase(orgId: string, projectId: string): Promise<JsonObject>

Parameters

orgIdstringrequired
projectIdstringrequired
Returns
Promise<JsonObject>

sovaria.governance.resizeDatabase

Resize database.

sovaria.governance.resizeDatabase(
  orgId: string,
  projectId: string,
  body: JsonObject,
): Promise<JsonObject>

Parameters

orgIdstringrequired
projectIdstringrequired
bodyJsonObjectrequired
Returns
Promise<JsonObject>

sovaria.governance.deleteDatabase

Delete database.

sovaria.governance.deleteDatabase(
  orgId: string,
  projectId: string,
  snapshot?: boolean = true,
): Promise<JsonObject>

Parameters

orgIdstringrequired
projectIdstringrequired
snapshotbooleanoptionaldefault true
Returns
Promise<JsonObject>

sovaria.governance.listDatabaseBackups

List database backups.

sovaria.governance.listDatabaseBackups(
  orgId: string,
  projectId: string,
  limit?: number = 5,
): Promise<JsonValue>

Parameters

orgIdstringrequired
projectIdstringrequired
limitnumberoptionaldefault 5
Returns
Promise<JsonValue>

sovaria.governance.triggerDatabaseBackup

Trigger database backup.

sovaria.governance.triggerDatabaseBackup(orgId: string, projectId: string): Promise<JsonObject>

Parameters

orgIdstringrequired
projectIdstringrequired
Returns
Promise<JsonObject>

sovaria.governance.projectMetrics

Project metrics.

sovaria.governance.projectMetrics(
  projectId: string,
  since?: string = '24',
  limit?: number = 500,
): Promise<JsonObject>

Parameters

projectIdstringrequired
sincestringoptionaldefault '24'
limitnumberoptionaldefault 500
Returns
Promise<JsonObject>
Something unclear or missing on this page?Tell us