Skip to main content

Data shapes and field constraints

These tables describe serialized fields. “Required by schema” is a field-level rule, not permission to send every writable field. The endpoint reference takes precedence: IDs supplied by the URL or account are assigned by the service, updates are partial, and some response shapes are assembled separately. Read-only fields belong in responses; write-only fields belong in requests.

UUIDs are strings; timestamps use ISO 8601. Null, omitted and empty string are different values. computed fields are described in the notes below. Defaults and cross-field requirements are given on the operation page.

Workspace​

FieldTypeDirectionRequired by schemaConstraints
idUUID stringresponseno—
namestringrequest/responseyesmax_length: 100
descriptionstringrequest/responsenoempty string allowed
owner_idstringrequest/responseyesmax_length: 50
is_activebooleanrequest/responseno—
database_countcomputedresponseno—
member_countcomputedresponseno—
created_attimestampresponseno—
updated_attimestampresponseno—

WorkspaceMember​

FieldTypeDirectionRequired by schemaConstraints
idUUID stringresponseno—
workspaceresource IDrequest/responseyes—
user_idstringrequest/responseyesmax_length: 50
user_emailcomputedresponseno—
workspace_namestringresponseno—
roleenumrequest/responsenovalues: owner, admin, member
created_attimestampresponseno—

WorkspaceInvitation​

FieldTypeDirectionRequired by schemaConstraints
idUUID stringresponseno—
workspaceresource IDresponseno—
workspace_namestringresponseno—
invited_user_idstringrequest/responseyesmax_length: 50
invited_user_emailcomputedresponseno—
invited_by_idstringresponseno—
roleenumrequest/responsenovalues: owner, admin, member
statusenumresponsenovalues: pending, accepted, rejected, expired, cancelled
created_attimestampresponseno—
expires_attimestampresponseno—
is_expiredbooleanresponseno—
FieldTypeDirectionRequired by schemaConstraints
idstringrequest/responseyes—
emailstringrequest/responseyes—
first_namestringrequest/responsenoempty string allowed
last_namestringrequest/responsenoempty string allowed

Database​

FieldTypeDirectionRequired by schemaConstraints
idUUID stringresponseno—
workspaceresource IDrequest/responseyes—
workspace_namestringresponseno—
display_namestringrequest/responseyesmax_length: 100
descriptionstringrequest/responsenoempty string allowed
db_namestringresponseno—
engineenumrequest/responsenovalues: postgres, redis, mongodb
hoststringresponseno—
portintegerresponseno—
statusenumresponsenovalues: creating, active, paused, deleting, deleted, error
storage_used_mbintegerresponseno—
max_storage_mbintegerrequest/responsenomin_value: -9223372036854775808; max_value: 9223372036854775807
max_connectionsintegerrequest/responsenomin_value: -9223372036854775808; max_value: 9223372036854775807
versionstringresponseno—
regionstringresponseno—
allowed_cidrsJSON valuerequest/responseno—
allowlist_enforcedcomputedresponseno—
user_countcomputedresponseno—
backup_countcomputedresponseno—
created_attimestampresponseno—
updated_attimestampresponseno—
paused_attimestampresponsenonullable

DatabaseConnection​

FieldTypeDirectionRequired by schemaConstraints
hoststringrequest/responseyes—
portintegerrequest/responseyes—
databasestringrequest/responseyes—
usernamestringrequest/responseyes—
passwordstringrequest/responseyes—
connection_stringstringrequest/responseyes—
ssl_modestringrequest/responsenodefault: prefer

DatabaseUser​

FieldTypeDirectionRequired by schemaConstraints
idUUID stringresponseno—
databaseresource IDrequest/responseyes—
database_namestringresponseno—
usernamestringrequest/responseyesmax_length: 63
permissionsenumrequest/responsenovalues: read, write, admin
is_activebooleanrequest/responseno—
created_attimestampresponseno—
updated_attimestampresponseno—
last_used_attimestampresponsenonullable

DatabaseUserCreate​

FieldTypeDirectionRequired by schemaConstraints
usernamestringrequest/responseyesmax_length: 63
passwordstringrequestno—
permissionsenumrequest/responsenodefault: read; values: read, write, admin

DatabaseRestore​

FieldTypeDirectionRequired by schemaConstraints
idUUID stringresponseno—
backupresource IDresponseno—
target_databaseresource IDresponseno—
statusenumresponsenovalues: pending, in_progress, completed, failed
error_messagestringresponseno—
created_attimestampresponseno—
started_attimestampresponsenonullable
completed_attimestampresponsenonullable

DatabaseBackup​

FieldTypeDirectionRequired by schemaConstraints
idUUID stringresponseno—
databaseresource IDrequest/responseyes—
database_namestringresponseno—
namestringrequest/responsenomax_length: 100; empty string allowed
backup_typeenumrequest/responsenovalues: manual, scheduled
statusenumresponsenovalues: pending, in_progress, completed, failed, restoring
file_size_bytesBigIntegerFieldresponseno—
file_size_mbnumberresponseno—
started_attimestampresponsenonullable
completed_attimestampresponsenonullable
expires_attimestampresponsenonullable
is_expiredbooleanresponseno—
error_messagestringresponseno—
created_attimestampresponseno—
latest_restorecomputedresponseno—

DatabaseMetrics​

FieldTypeDirectionRequired by schemaConstraints
timestamptimestamprequest/responseno—
storage_used_mbintegerrequest/responsenomin_value: -9223372036854775808; max_value: 9223372036854775807
active_connectionsintegerrequest/responsenomin_value: -9223372036854775808; max_value: 9223372036854775807
transactions_totalBigIntegerFieldrequest/responsenomin_value: -9223372036854775808; max_value: 9223372036854775807
cache_hit_rationumberrequest/responseno—
tuples_returnedBigIntegerFieldrequest/responsenomin_value: -9223372036854775808; max_value: 9223372036854775807
tuples_insertedBigIntegerFieldrequest/responsenomin_value: -9223372036854775808; max_value: 9223372036854775807
tuples_updatedBigIntegerFieldrequest/responsenomin_value: -9223372036854775808; max_value: 9223372036854775807
tuples_deletedBigIntegerFieldrequest/responsenomin_value: -9223372036854775808; max_value: 9223372036854775807

HealthCheck​

FieldTypeDirectionRequired by schemaConstraints
statusstringrequest/responseyes—
connectionbooleanrequest/responseyes—
accepting_connectionsbooleanrequest/responseyes—
messagestringrequest/responseyes—

DatabaseClone​

FieldTypeDirectionRequired by schemaConstraints
new_display_namestringrequest/responseyesmax_length: 100
workspaceUUID stringrequest/responseno—

PlanStatus​

FieldTypeDirectionRequired by schemaConstraints
limitsobjectrequest/responseyes—
usageobjectrequest/responseyes—

BackupSchedule​

FieldTypeDirectionRequired by schemaConstraints
idUUID stringresponseno—
databaseresource IDrequest/responseyes—
database_namestringresponseno—
namestringrequest/responsenomax_length: 100; empty string allowed
frequencyenumrequest/responsenovalues: hourly, daily, weekly, monthly
hourintegerrequest/responsenomin_value: -9223372036854775808; max_value: 9223372036854775807
minuteintegerrequest/responsenomin_value: -9223372036854775808; max_value: 9223372036854775807
day_of_weekintegerrequest/responsenomin_value: -9223372036854775808; max_value: 9223372036854775807; nullable
day_of_monthintegerrequest/responsenomin_value: -9223372036854775808; max_value: 9223372036854775807; nullable
retention_countintegerrequest/responsenomin_value: -9223372036854775808; max_value: 9223372036854775807
is_activebooleanrequest/responseno—
last_run_attimestampresponsenonullable
next_run_attimestampresponsenonullable
last_run_statusstringresponseno—
created_attimestampresponseno—
updated_attimestampresponseno—

DeveloperAccessToken​

FieldTypeDirectionRequired by schemaConstraints
idUUID stringresponseno—
namestringrequest/responseyesmin_length: 3; max_length: 255
token_prefix_displaystringresponseno—
scopesarrayrequestyes—
scope_listarrayresponseno—
created_attimestampresponseno—
expires_attimestamprequest/responsenonullable
last_used_attimestampresponsenonullable
last_used_ipIPAddressFieldresponsenonullable
is_activebooleanresponseno—
is_expiredbooleanresponseno—
tokenstringresponseno—
expires_in_daysintegerrequestnomin_value: 1; max_value: 365; default: 30

UserActionLog​

FieldTypeDirectionRequired by schemaConstraints
idUUID stringresponseno—
user_idstringresponseno—
usernamestringresponsenonullable
actionstringresponseno—
resource_typestringresponseno—
resource_idstringresponsenonullable
resource_namestringresponsenonullable
detailsJSON valueresponseno—
ip_addressIPAddressFieldresponsenonullable
created_attimestampresponseno—

Computed fields and endpoint overrides​

  • Workspace counts are integers. Member/invitation email lookups can return null; an unavailable display email does not change the account ID.
  • Database.allowlist_enforced is boolean; user_count and backup_count are integers. Database host metadata is not a substitute for the public connection endpoint.
  • The connection response also contains engine, and Redis adds key_prefix. Use actual returned values, including TLS options.
  • Creation assigns workspace owner_id, database workspace, database-user database, backup database and schedule database. Do not add them to request bodies merely because a reusable schema lists them.
  • Database creation accepts the provisioning fields in its operation; cloning accepts new_display_name. Changing metadata is not an engine conversion, resize, workspace move or ownership transfer.
  • Token token appears at creation only. scope_list is an array of strings and token_prefix_display is a masked display string. expires_at on token creation is derived from expires_in_days; use that request field.
  • Metrics and health endpoints build engine-specific objects; the metrics serializer describes stored samples. Query/table results also depend on the engine.