nuFS Public Beta. Compatibility changes and release notes.

Contract reference

Models and schemas

Field types, required values and constraints from the OpenAPI contract. SDKs may wrap or unwrap endpoint envelopes; consult each method’s return type.

References link to named schemas below. Nullable values are distinct from omitted optional fields. Audit IDs preserve decimal-string precision. Binary byte results are not JSON model objects.

65 schemas

AdminSubscriptionTermsValues for subscriptions administration. edit-allowances sets storage_bytes and seats while keeping price and plan. change-plan selects a published immutable plan_version_id (or plan_id with plan_revision). custom-subscription sets storage_bytes, seats and monthly_total_minor, including zero. These use timing now or next-cycle. adjust-validity uses access_until (an RFC 3339 future timestamp) to move validity earlier or later without changing billing terms. Automatic renewal is controlled separately by cancel-renewal and resume-renewal; changing validity does not enable renewal.
FieldTypeMeaning and constraints
storage_bytesOptionalinteger minimum: 1000000000 · maximum: 1000000000000000
seatsOptionalinteger minimum: 1 · maximum: 100000
monthly_total_minorOptionalintegerRecurring monthly USD price in cents, independent of allowances. minimum: 0 · maximum: 1000000000000
plan_version_idOptionalstring
plan_idOptionalstring
plan_revisionOptionalstring
timingOptional"now" | "next-cycle"
cyclesOptionalinteger minimum: 1 · maximum: 120

Full schema

Code
{
  "type": "object",
  "description": "Values for subscriptions administration. edit-allowances sets storage_bytes and seats while keeping price and plan. change-plan selects a published immutable plan_version_id (or plan_id with plan_revision). custom-subscription sets storage_bytes, seats and monthly_total_minor, including zero. These use timing now or next-cycle. adjust-validity uses access_until (an RFC 3339 future timestamp) to move validity earlier or later without changing billing terms. Automatic renewal is controlled separately by cancel-renewal and resume-renewal; changing validity does not enable renewal.",
  "properties": {
    "storage_bytes": {
      "type": "integer",
      "minimum": 1000000000,
      "maximum": 1000000000000000
    },
    "seats": {
      "type": "integer",
      "minimum": 1,
      "maximum": 100000
    },
    "monthly_total_minor": {
      "type": "integer",
      "minimum": 0,
      "maximum": 1000000000000,
      "description": "Recurring monthly USD price in cents, independent of allowances."
    },
    "plan_version_id": {
      "type": "string"
    },
    "plan_id": {
      "type": "string"
    },
    "plan_revision": {
      "type": "string"
    },
    "timing": {
      "type": "string",
      "enum": [
        "now",
        "next-cycle"
      ]
    },
    "cycles": {
      "type": "integer",
      "minimum": 1,
      "maximum": 120
    }
  }
}
Link to this model ↗
DriveSubscriptionobject
FieldTypeMeaning and constraints
drive_idRequiredstring
billing_user_idRequiredstring
statusRequiredstring
currencyRequiredstring
revisionRequiredstring
current_period_startRequiredstringStart of the current monthly cycle in UTC. format: "date-time"
billing_anchorRequiredstringUTC day and time used to calculate calendar-month boundaries. Reset to the new date when an administrator adjusts validity. format: "date-time"
cycle_numberRequiredinteger minimum: 1
access_untilRequiredstringAuthoritative validity date and next renewal boundary. Free subscriptions renew when automatic renewal is enabled. format: "date-time"
pending_monthly_total_minorRequiredinteger | null minimum: 0
current_period_endRequiredstring
storage_bytesRequiredinteger minimum: 0
seatsRequiredinteger minimum: 0
membersRequiredinteger minimum: 0
reserved_invitationsRequiredinteger minimum: 0
used_bytesRequiredinteger minimum: 0
monthly_total_minorRequiredinteger minimum: 0
cancel_at_period_endRequiredboolean
pending_storage_bytesRequiredinteger | null minimum: 1
pending_seatsRequiredinteger | null minimum: 1
plan_version_idOptionalstring | null format: "uuid"
pending_plan_version_idOptionalstring | null format: "uuid"

Full schema

Code
{
  "type": "object",
  "additionalProperties": false,
  "required": [
    "drive_id",
    "billing_user_id",
    "status",
    "storage_bytes",
    "seats",
    "members",
    "reserved_invitations",
    "used_bytes",
    "currency",
    "monthly_total_minor",
    "revision",
    "current_period_end",
    "current_period_start",
    "billing_anchor",
    "cycle_number",
    "access_until",
    "pending_monthly_total_minor",
    "cancel_at_period_end",
    "pending_storage_bytes",
    "pending_seats"
  ],
  "properties": {
    "drive_id": {
      "type": "string"
    },
    "billing_user_id": {
      "type": "string"
    },
    "status": {
      "type": "string"
    },
    "currency": {
      "type": "string"
    },
    "revision": {
      "type": "string"
    },
    "current_period_start": {
      "type": "string",
      "format": "date-time",
      "description": "Start of the current monthly cycle in UTC."
    },
    "billing_anchor": {
      "type": "string",
      "format": "date-time",
      "description": "UTC day and time used to calculate calendar-month boundaries. Reset to the new date when an administrator adjusts validity."
    },
    "cycle_number": {
      "type": "integer",
      "minimum": 1
    },
    "access_until": {
      "type": "string",
      "format": "date-time",
      "description": "Authoritative validity date and next renewal boundary. Free subscriptions renew when automatic renewal is enabled."
    },
    "pending_monthly_total_minor": {
      "type": [
        "integer",
        "null"
      ],
      "minimum": 0
    },
    "current_period_end": {
      "type": "string"
    },
    "storage_bytes": {
      "type": "integer",
      "minimum": 0
    },
    "seats": {
      "type": "integer",
      "minimum": 0
    },
    "members": {
      "type": "integer",
      "minimum": 0
    },
    "reserved_invitations": {
      "type": "integer",
      "minimum": 0
    },
    "used_bytes": {
      "type": "integer",
      "minimum": 0
    },
    "monthly_total_minor": {
      "type": "integer",
      "minimum": 0
    },
    "cancel_at_period_end": {
      "type": "boolean"
    },
    "pending_storage_bytes": {
      "type": [
        "integer",
        "null"
      ],
      "minimum": 1
    },
    "pending_seats": {
      "type": [
        "integer",
        "null"
      ],
      "minimum": 1
    },
    "plan_version_id": {
      "type": [
        "string",
        "null"
      ],
      "format": "uuid"
    },
    "pending_plan_version_id": {
      "type": [
        "string",
        "null"
      ],
      "format": "uuid"
    }
  }
}
Link to this model ↗
DrivePlanSelectionStorage and member allowances are validated against the published plan catalog. Retrieve /plans before selecting a plan; prices and add-on increments can change.
FieldTypeMeaning and constraints
nameRequiredstring minLength: 1 · maxLength: 100
storage_bytesRequiredinteger minimum: 1 · maximum: 1000000000000000
seatsRequiredinteger minimum: 1 · maximum: 100000
plan_version_idOptionalstringVersion returned by GET /plans. Rejects stale terms with 409; omit when cancelling an existing subscription. format: "uuid"

Full schema

Code
{
  "type": "object",
  "additionalProperties": false,
  "required": [
    "name",
    "storage_bytes",
    "seats"
  ],
  "properties": {
    "name": {
      "type": "string",
      "minLength": 1,
      "maxLength": 100
    },
    "storage_bytes": {
      "type": "integer",
      "minimum": 1,
      "maximum": 1000000000000000
    },
    "seats": {
      "type": "integer",
      "minimum": 1,
      "maximum": 100000
    },
    "plan_version_id": {
      "type": "string",
      "format": "uuid",
      "description": "Version returned by GET /plans. Rejects stale terms with 409; omit when cancelling an existing subscription."
    }
  },
  "description": "Storage and member allowances are validated against the published plan catalog. Retrieve /plans before selecting a plan; prices and add-on increments can change."
}
Link to this model ↗
SubscriptionChangeStorage and member allowances are validated against the published plan catalog. Retrieve /plans before selecting a plan; prices and add-on increments can change.
FieldTypeMeaning and constraints
storage_bytesRequiredinteger minimum: 1 · maximum: 1000000000000000
seatsRequiredinteger minimum: 1 · maximum: 100000
expected_revisionRequiredstring pattern: "^[1-9][0-9]*$"
cancel_at_period_endRequiredboolean
plan_version_idOptionalstringVersion returned by GET /plans. Rejects stale terms with 409; omit when cancelling an existing subscription. format: "uuid"

Full schema

Code
{
  "type": "object",
  "additionalProperties": false,
  "required": [
    "storage_bytes",
    "seats",
    "expected_revision",
    "cancel_at_period_end"
  ],
  "properties": {
    "storage_bytes": {
      "type": "integer",
      "minimum": 1,
      "maximum": 1000000000000000
    },
    "seats": {
      "type": "integer",
      "minimum": 1,
      "maximum": 100000
    },
    "expected_revision": {
      "type": "string",
      "pattern": "^[1-9][0-9]*$"
    },
    "cancel_at_period_end": {
      "type": "boolean"
    },
    "plan_version_id": {
      "type": "string",
      "format": "uuid",
      "description": "Version returned by GET /plans. Rejects stale terms with 409; omit when cancelling an existing subscription."
    }
  },
  "description": "Storage and member allowances are validated against the published plan catalog. Retrieve /plans before selecting a plan; prices and add-on increments can change."
}
Link to this model ↗
DriveMemberPolicyobject
FieldTypeMeaning and constraints
drive_idRequiredstring format: "uuid"
max_membersRequiredinteger | null minimum: 1 · maximum: 100000
membersRequiredinteger minimum: 1
reserved_invitationsRequiredinteger minimum: 0
revisionRequiredstring pattern: "^[1-9][0-9]*$"

Full schema

Code
{
  "type": "object",
  "additionalProperties": false,
  "required": [
    "drive_id",
    "max_members",
    "members",
    "reserved_invitations",
    "revision"
  ],
  "properties": {
    "drive_id": {
      "type": "string",
      "format": "uuid"
    },
    "max_members": {
      "type": [
        "integer",
        "null"
      ],
      "minimum": 1,
      "maximum": 100000
    },
    "members": {
      "type": "integer",
      "minimum": 1
    },
    "reserved_invitations": {
      "type": "integer",
      "minimum": 0
    },
    "revision": {
      "type": "string",
      "pattern": "^[1-9][0-9]*$"
    }
  }
}
Link to this model ↗
AuditExportEventobject
FieldTypeMeaning and constraints
kindRequired"event"
eventRequiredAuditEvent

Full schema

Code
{
  "type": "object",
  "additionalProperties": false,
  "required": [
    "kind",
    "event"
  ],
  "properties": {
    "kind": {
      "type": "string",
      "enum": [
        "event"
      ]
    },
    "event": {
      "$ref": "#/components/schemas/AuditEvent"
    }
  }
}
Link to this model ↗
AuditExportCompleteobject
FieldTypeMeaning and constraints
kindRequired"complete"
eventsRequiredstringCount of events written by this successful export pattern: "^(0|[1-9][0-9]*)$"

Full schema

Code
{
  "type": "object",
  "additionalProperties": false,
  "required": [
    "kind",
    "events"
  ],
  "properties": {
    "kind": {
      "type": "string",
      "enum": [
        "complete"
      ]
    },
    "events": {
      "type": "string",
      "pattern": "^(0|[1-9][0-9]*)$",
      "description": "Count of events written by this successful export"
    }
  }
}
Link to this model ↗
AccountAuditRetentionPolicyobject
FieldTypeMeaning and constraints
user_idRequiredstring format: "uuid"
keep_daysRequiredinteger | nullNull retains account audit history indefinitely minimum: 7 · maximum: 36500
legal_holdRequiredbooleanAccount legal hold blocks cleanup and cannot be changed by this endpoint
revisionRequiredstring pattern: "^[1-9][0-9]*$"

Full schema

Code
{
  "type": "object",
  "additionalProperties": false,
  "required": [
    "user_id",
    "keep_days",
    "legal_hold",
    "revision"
  ],
  "properties": {
    "user_id": {
      "type": "string",
      "format": "uuid"
    },
    "keep_days": {
      "type": [
        "integer",
        "null"
      ],
      "minimum": 7,
      "maximum": 36500,
      "description": "Null retains account audit history indefinitely"
    },
    "legal_hold": {
      "type": "boolean",
      "description": "Account legal hold blocks cleanup and cannot be changed by this endpoint"
    },
    "revision": {
      "type": "string",
      "pattern": "^[1-9][0-9]*$"
    }
  }
}
Link to this model ↗
AuditRetentionPolicyobject
FieldTypeMeaning and constraints
drive_idRequiredstring format: "uuid"
keep_daysRequiredinteger | nullNull retains audit history indefinitely minimum: 7 · maximum: 36500
legal_holdRequiredbooleanShared drive legal hold blocks audit cleanup
revisionRequiredstring pattern: "^[1-9][0-9]*$"

Full schema

Code
{
  "type": "object",
  "additionalProperties": false,
  "required": [
    "drive_id",
    "keep_days",
    "legal_hold",
    "revision"
  ],
  "properties": {
    "drive_id": {
      "type": "string",
      "format": "uuid"
    },
    "keep_days": {
      "type": [
        "integer",
        "null"
      ],
      "minimum": 7,
      "maximum": 36500,
      "description": "Null retains audit history indefinitely"
    },
    "legal_hold": {
      "type": "boolean",
      "description": "Shared drive legal hold blocks audit cleanup"
    },
    "revision": {
      "type": "string",
      "pattern": "^[1-9][0-9]*$"
    }
  }
}
Link to this model ↗
AuditRetentionUpdateobject
FieldTypeMeaning and constraints
keep_daysRequiredinteger | null minimum: 7 · maximum: 36500
expected_revisionRequiredstringDisplayed audit policy revision pattern: "^[1-9][0-9]*$"

Full schema

Code
{
  "type": "object",
  "additionalProperties": false,
  "required": [
    "keep_days",
    "expected_revision"
  ],
  "properties": {
    "keep_days": {
      "type": [
        "integer",
        "null"
      ],
      "minimum": 7,
      "maximum": 36500
    },
    "expected_revision": {
      "type": "string",
      "pattern": "^[1-9][0-9]*$",
      "description": "Displayed audit policy revision"
    }
  }
}
Link to this model ↗
AuditEventobject
FieldTypeMeaning and constraints
idRequiredstringDecimal bigint identity preserved without numeric rounding pattern: "^[1-9][0-9]*$"
actor_user_idRequiredstring | null format: "uuid"
actor_key_idRequiredstring | null format: "uuid"
actionRequiredstring
target_typeRequiredstring
target_idRequiredstring | null
outcomeRequired"success" | "denied" | "failed"
created_atRequiredstring format: "date-time"

Full schema

Code
{
  "type": "object",
  "additionalProperties": false,
  "required": [
    "id",
    "actor_user_id",
    "actor_key_id",
    "action",
    "target_type",
    "target_id",
    "outcome",
    "created_at"
  ],
  "properties": {
    "id": {
      "type": "string",
      "pattern": "^[1-9][0-9]*$",
      "description": "Decimal bigint identity preserved without numeric rounding"
    },
    "actor_user_id": {
      "type": [
        "string",
        "null"
      ],
      "format": "uuid"
    },
    "actor_key_id": {
      "type": [
        "string",
        "null"
      ],
      "format": "uuid"
    },
    "action": {
      "type": "string"
    },
    "target_type": {
      "type": "string"
    },
    "target_id": {
      "type": [
        "string",
        "null"
      ]
    },
    "outcome": {
      "type": "string",
      "enum": [
        "success",
        "denied",
        "failed"
      ]
    },
    "created_at": {
      "type": "string",
      "format": "date-time"
    }
  }
}
Link to this model ↗
AuditPageobject
FieldTypeMeaning and constraints
eventsRequiredarray<AuditEvent> maxItems: 200
next_cursorRequiredstring | null maxLength: 256

Full schema

Code
{
  "type": "object",
  "additionalProperties": false,
  "required": [
    "events",
    "next_cursor"
  ],
  "properties": {
    "events": {
      "type": "array",
      "maxItems": 200,
      "items": {
        "$ref": "#/components/schemas/AuditEvent"
      }
    },
    "next_cursor": {
      "type": [
        "string",
        "null"
      ],
      "maxLength": 256
    }
  }
}
Link to this model ↗
Userobject
FieldTypeMeaning and constraints
idRequiredstring format: "uuid"
emailRequiredstring format: "email"

Full schema

Code
{
  "type": "object",
  "required": [
    "id",
    "email"
  ],
  "properties": {
    "id": {
      "type": "string",
      "format": "uuid"
    },
    "email": {
      "type": "string",
      "format": "email"
    }
  }
}
Link to this model ↗
DriveMemberobject
FieldTypeMeaning and constraints
user_idRequiredstring format: "uuid"
emailRequiredstring format: "email"
roleRequired"owner" | "admin" | "editor" | "viewer"
created_atRequiredstring format: "date-time"

Full schema

Code
{
  "type": "object",
  "required": [
    "user_id",
    "email",
    "role",
    "created_at"
  ],
  "additionalProperties": false,
  "properties": {
    "user_id": {
      "type": "string",
      "format": "uuid"
    },
    "email": {
      "type": "string",
      "format": "email"
    },
    "role": {
      "type": "string",
      "enum": [
        "owner",
        "admin",
        "editor",
        "viewer"
      ]
    },
    "created_at": {
      "type": "string",
      "format": "date-time"
    }
  }
}
Link to this model ↗
DriveInvitationobject
FieldTypeMeaning and constraints
idRequiredstring format: "uuid"
drive_idRequiredstring format: "uuid"
emailRequiredstring format: "email"
roleRequired"viewer" | "editor" | "admin"
expires_atRequiredstring format: "date-time"
accepted_atOptionalstring | null format: "date-time"
created_atRequiredstring format: "date-time"

Full schema

Code
{
  "type": "object",
  "required": [
    "id",
    "drive_id",
    "email",
    "role",
    "expires_at",
    "created_at"
  ],
  "additionalProperties": false,
  "properties": {
    "id": {
      "type": "string",
      "format": "uuid"
    },
    "drive_id": {
      "type": "string",
      "format": "uuid"
    },
    "email": {
      "type": "string",
      "format": "email"
    },
    "role": {
      "type": "string",
      "enum": [
        "viewer",
        "editor",
        "admin"
      ]
    },
    "expires_at": {
      "type": "string",
      "format": "date-time"
    },
    "accepted_at": {
      "type": [
        "string",
        "null"
      ],
      "format": "date-time"
    },
    "created_at": {
      "type": "string",
      "format": "date-time"
    }
  }
}
Link to this model ↗
InvitationResultobject
FieldTypeMeaning and constraints
invitationRequiredDriveInvitation
tokenOptionalstringOne-time token exposed only by configured local development delivery minLength: 1

Full schema

Code
{
  "type": "object",
  "required": [
    "invitation"
  ],
  "additionalProperties": false,
  "properties": {
    "invitation": {
      "$ref": "#/components/schemas/DriveInvitation"
    },
    "token": {
      "type": "string",
      "minLength": 1,
      "description": "One-time token exposed only by configured local development delivery"
    }
  }
}
Link to this model ↗
DriveMemberChangeobject
FieldTypeMeaning and constraints
roleRequired"viewer" | "editor" | "admin"
expected_roleRequired"viewer" | "editor" | "admin" | "owner"

Full schema

Code
{
  "type": "object",
  "required": [
    "role",
    "expected_role"
  ],
  "additionalProperties": false,
  "properties": {
    "role": {
      "type": "string",
      "enum": [
        "viewer",
        "editor",
        "admin"
      ]
    },
    "expected_role": {
      "type": "string",
      "enum": [
        "viewer",
        "editor",
        "admin",
        "owner"
      ]
    }
  }
}
Link to this model ↗
BrowserDownloadGrantobject
FieldTypeMeaning and constraints
download_pathRequiredstring pattern: "^/v1/files/[0-9a-f-]{36}/versions/[0-9a-f-]{36}/browser-download$"
expires_atRequiredstring format: "date-time"

Full schema

Code
{
  "type": "object",
  "required": [
    "download_path",
    "expires_at"
  ],
  "additionalProperties": false,
  "properties": {
    "download_path": {
      "type": "string",
      "pattern": "^/v1/files/[0-9a-f-]{36}/versions/[0-9a-f-]{36}/browser-download$"
    },
    "expires_at": {
      "type": "string",
      "format": "date-time"
    }
  }
}
Link to this model ↗
AuthSessionobject
FieldTypeMeaning and constraints
userRequiredUser
access_tokenRequiredstring minLength: 1
access_expires_atRequiredstring format: "date-time"
refresh_tokenRequiredstring minLength: 1
refresh_expires_atRequiredstring format: "date-time"

Full schema

Code
{
  "type": "object",
  "required": [
    "user",
    "access_token",
    "access_expires_at",
    "refresh_token",
    "refresh_expires_at"
  ],
  "properties": {
    "user": {
      "$ref": "#/components/schemas/User"
    },
    "access_token": {
      "type": "string",
      "minLength": 1
    },
    "access_expires_at": {
      "type": "string",
      "format": "date-time"
    },
    "refresh_token": {
      "type": "string",
      "minLength": 1
    },
    "refresh_expires_at": {
      "type": "string",
      "format": "date-time"
    }
  }
}
Link to this model ↗
RefreshedSessionobject
FieldTypeMeaning and constraints
access_tokenRequiredstring minLength: 1
access_expires_atRequiredstring format: "date-time"
refresh_tokenRequiredstring minLength: 1
refresh_expires_atRequiredstring format: "date-time"

Full schema

Code
{
  "type": "object",
  "required": [
    "access_token",
    "access_expires_at",
    "refresh_token",
    "refresh_expires_at"
  ],
  "properties": {
    "access_token": {
      "type": "string",
      "minLength": 1
    },
    "access_expires_at": {
      "type": "string",
      "format": "date-time"
    },
    "refresh_token": {
      "type": "string",
      "minLength": 1
    },
    "refresh_expires_at": {
      "type": "string",
      "format": "date-time"
    }
  }
}
Link to this model ↗
ContentMutationobject
FieldTypeMeaning and constraints
dataRequiredstringExact replacement bytes; empty replaces with an empty file

Full schema

Code
{
  "type": "object",
  "required": [
    "data"
  ],
  "properties": {
    "data": {
      "type": "string",
      "contentEncoding": "base64",
      "description": "Exact replacement bytes; empty replaces with an empty file"
    }
  }
}
Link to this model ↗
WriteAtMutationobject
FieldTypeMeaning and constraints
offsetRequiredinteger format: "int64" · minimum: 0 · maximum: 9223372036854776000
dataRequiredstring minLength: 1

Full schema

Code
{
  "type": "object",
  "required": [
    "offset",
    "data"
  ],
  "properties": {
    "offset": {
      "type": "integer",
      "format": "int64",
      "minimum": 0,
      "maximum": 9223372036854776000
    },
    "data": {
      "type": "string",
      "contentEncoding": "base64",
      "minLength": 1
    }
  }
}
Link to this model ↗
PatchMutationobject
FieldTypeMeaning and constraints
changesRequiredarray<WriteAtMutation>Non-overlapping overwrites; all edits are validated before publication minItems: 1 · maxItems: 10000

Full schema

Code
{
  "type": "object",
  "required": [
    "changes"
  ],
  "properties": {
    "changes": {
      "type": "array",
      "minItems": 1,
      "maxItems": 10000,
      "items": {
        "$ref": "#/components/schemas/WriteAtMutation"
      },
      "description": "Non-overlapping overwrites; all edits are validated before publication"
    }
  }
}
Link to this model ↗
InsertMutationobject
FieldTypeMeaning and constraints
offsetRequiredinteger format: "int64" · minimum: 0 · maximum: 9223372036854776000
dataRequiredstring minLength: 1

Full schema

Code
{
  "type": "object",
  "required": [
    "offset",
    "data"
  ],
  "properties": {
    "offset": {
      "type": "integer",
      "format": "int64",
      "minimum": 0,
      "maximum": 9223372036854776000
    },
    "data": {
      "type": "string",
      "contentEncoding": "base64",
      "minLength": 1
    }
  }
}
Link to this model ↗
RemoveMutationobject
FieldTypeMeaning and constraints
offsetRequiredinteger format: "int64" · minimum: 0 · maximum: 9223372036854776000
delete_lengthRequiredinteger format: "int64" · minimum: 1 · maximum: 9223372036854776000

Full schema

Code
{
  "type": "object",
  "required": [
    "offset",
    "delete_length"
  ],
  "properties": {
    "offset": {
      "type": "integer",
      "format": "int64",
      "minimum": 0,
      "maximum": 9223372036854776000
    },
    "delete_length": {
      "type": "integer",
      "format": "int64",
      "minimum": 1,
      "maximum": 9223372036854776000
    }
  }
}
Link to this model ↗
SpliceMutationobject
FieldTypeMeaning and constraints
offsetRequiredinteger format: "int64" · minimum: 0 · maximum: 9223372036854776000
delete_lengthRequiredinteger format: "int64" · minimum: 0 · maximum: 9223372036854776000
dataRequiredstring

Full schema

Code
{
  "type": "object",
  "required": [
    "offset",
    "delete_length",
    "data"
  ],
  "properties": {
    "offset": {
      "type": "integer",
      "format": "int64",
      "minimum": 0,
      "maximum": 9223372036854776000
    },
    "delete_length": {
      "type": "integer",
      "format": "int64",
      "minimum": 0,
      "maximum": 9223372036854776000
    },
    "data": {
      "type": "string",
      "contentEncoding": "base64"
    }
  },
  "anyOf": [
    {
      "properties": {
        "delete_length": {
          "minimum": 1
        }
      }
    },
    {
      "properties": {
        "data": {
          "minLength": 1
        }
      }
    }
  ]
}
Link to this model ↗
TruncateMutationobject
FieldTypeMeaning and constraints
sizeRequiredinteger format: "int64" · minimum: 0 · maximum: 9223372036854776000

Full schema

Code
{
  "type": "object",
  "required": [
    "size"
  ],
  "properties": {
    "size": {
      "type": "integer",
      "format": "int64",
      "minimum": 0,
      "maximum": 9223372036854776000
    }
  }
}
Link to this model ↗
Entryobject
FieldTypeMeaning and constraints
idRequiredstring format: "uuid"
drive_idRequiredstring format: "uuid"
parent_idOptionalstring | null format: "uuid"
nameRequiredstring
kindRequired"file" | "folder"
current_version_idOptionalstring | null format: "uuid"
logical_sizeRequiredinteger format: "int64"
checksum_sha256Optionalstring | null
revisionRequiredinteger format: "int64"
created_atRequiredstring format: "date-time"
modified_atRequiredstring format: "date-time"
deletedRequiredboolean

Full schema

Code
{
  "type": "object",
  "required": [
    "id",
    "drive_id",
    "name",
    "kind",
    "logical_size",
    "revision",
    "created_at",
    "modified_at",
    "deleted"
  ],
  "properties": {
    "id": {
      "type": "string",
      "format": "uuid"
    },
    "drive_id": {
      "type": "string",
      "format": "uuid"
    },
    "parent_id": {
      "type": [
        "string",
        "null"
      ],
      "format": "uuid"
    },
    "name": {
      "type": "string"
    },
    "kind": {
      "enum": [
        "file",
        "folder"
      ]
    },
    "current_version_id": {
      "type": [
        "string",
        "null"
      ],
      "format": "uuid"
    },
    "logical_size": {
      "type": "integer",
      "format": "int64"
    },
    "checksum_sha256": {
      "type": [
        "string",
        "null"
      ]
    },
    "revision": {
      "type": "integer",
      "format": "int64"
    },
    "created_at": {
      "type": "string",
      "format": "date-time"
    },
    "modified_at": {
      "type": "string",
      "format": "date-time"
    },
    "deleted": {
      "type": "boolean"
    }
  }
}
Link to this model ↗
Versionobject
FieldTypeMeaning and constraints
idRequiredstring format: "uuid"
file_idRequiredstring format: "uuid"
logical_sizeRequiredinteger format: "int64"
checksum_sha256Requiredstring
manifest_sha256Optionalstring
storage_formatRequired"blob" | "chunked_v1" | "extent_v2"
created_atRequiredstring format: "date-time"
operationOptional"write" | "write_at" | "patch" | "insert" | "remove" | "splice" | "truncate" | "restore" | "conflict_preserved"
drive_sequenceOptionalinteger format: "int64"

Full schema

Code
{
  "type": "object",
  "required": [
    "id",
    "file_id",
    "logical_size",
    "checksum_sha256",
    "storage_format",
    "created_at"
  ],
  "properties": {
    "id": {
      "type": "string",
      "format": "uuid"
    },
    "file_id": {
      "type": "string",
      "format": "uuid"
    },
    "logical_size": {
      "type": "integer",
      "format": "int64"
    },
    "checksum_sha256": {
      "type": "string"
    },
    "manifest_sha256": {
      "type": "string"
    },
    "storage_format": {
      "enum": [
        "blob",
        "chunked_v1",
        "extent_v2"
      ]
    },
    "created_at": {
      "type": "string",
      "format": "date-time"
    },
    "operation": {
      "enum": [
        "write",
        "write_at",
        "patch",
        "insert",
        "remove",
        "splice",
        "truncate",
        "restore",
        "conflict_preserved"
      ]
    },
    "drive_sequence": {
      "type": "integer",
      "format": "int64"
    }
  }
}
Link to this model ↗
MutationResultobject
FieldTypeMeaning and constraints
entryRequiredEntry
versionRequiredVersion
idempotent_replayOptionalboolean

Full schema

Code
{
  "type": "object",
  "required": [
    "entry",
    "version"
  ],
  "properties": {
    "entry": {
      "$ref": "#/components/schemas/Entry"
    },
    "version": {
      "$ref": "#/components/schemas/Version"
    },
    "idempotent_replay": {
      "type": "boolean",
      "default": false
    }
  }
}
Link to this model ↗
CursorBoundaryobject
FieldTypeMeaning and constraints
epochRequiredstring format: "uuid"
sequenceRequiredinteger format: "int64" · minimum: 0

Full schema

Code
{
  "type": "object",
  "required": [
    "epoch",
    "sequence"
  ],
  "properties": {
    "epoch": {
      "type": "string",
      "format": "uuid"
    },
    "sequence": {
      "type": "integer",
      "format": "int64",
      "minimum": 0
    }
  }
}
Link to this model ↗
ChangePageobject
FieldTypeMeaning and constraints
cursorRequiredinteger format: "int64" · minimum: 0
epochRequiredstring format: "uuid"
changesRequiredarray<object>

Full schema

Code
{
  "type": "object",
  "required": [
    "cursor",
    "epoch",
    "changes"
  ],
  "properties": {
    "cursor": {
      "type": "integer",
      "format": "int64",
      "minimum": 0
    },
    "epoch": {
      "type": "string",
      "format": "uuid"
    },
    "changes": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "sequence",
          "drive_id",
          "entry_id",
          "operation",
          "revision",
          "created_at"
        ],
        "properties": {
          "sequence": {
            "type": "integer",
            "format": "int64"
          },
          "drive_id": {
            "type": "string",
            "format": "uuid"
          },
          "entry_id": {
            "type": "string",
            "format": "uuid"
          },
          "operation": {
            "type": "string"
          },
          "revision": {
            "type": "integer",
            "format": "int64"
          },
          "created_at": {
            "type": "string",
            "format": "date-time"
          }
        }
      }
    }
  }
}
Link to this model ↗
CursorResetobject
FieldTypeMeaning and constraints
errorRequiredobject
resetRequiredCursorBoundary

Full schema

Code
{
  "type": "object",
  "required": [
    "error",
    "reset"
  ],
  "properties": {
    "error": {
      "type": "object",
      "required": [
        "code",
        "message"
      ],
      "properties": {
        "code": {
          "const": "cursor_reset_required"
        },
        "message": {
          "type": "string"
        }
      }
    },
    "reset": {
      "$ref": "#/components/schemas/CursorBoundary"
    }
  }
}
Link to this model ↗
ReconcilePageobject
FieldTypeMeaning and constraints
boundaryRequiredCursorBoundary
entriesRequiredarray<Entry> maxItems: 500
next_entry_idRequiredstring | null format: "uuid"

Full schema

Code
{
  "type": "object",
  "required": [
    "boundary",
    "entries",
    "next_entry_id"
  ],
  "properties": {
    "boundary": {
      "$ref": "#/components/schemas/CursorBoundary"
    },
    "entries": {
      "type": "array",
      "maxItems": 500,
      "items": {
        "$ref": "#/components/schemas/Entry"
      }
    },
    "next_entry_id": {
      "type": [
        "string",
        "null"
      ],
      "format": "uuid"
    }
  }
}
Link to this model ↗
Problemobject
FieldTypeMeaning and constraints
errorRequiredobject

Full schema

Code
{
  "type": "object",
  "required": [
    "error"
  ],
  "properties": {
    "error": {
      "type": "object",
      "required": [
        "code",
        "message"
      ],
      "properties": {
        "code": {
          "type": "string"
        },
        "message": {
          "type": "string"
        }
      }
    }
  }
}
Link to this model ↗
AccessKeyobject
FieldTypeMeaning and constraints
idRequiredstring format: "uuid"
key_idRequiredstringNon-secret public key identifier
labelRequiredstring
accessRequired"read" | "write" | "admin"
scope_typeRequired"account" | "drive"
scope_idOptionalstring | null format: "uuid"
parent_key_idOptionalstring | null format: "uuid"
drive_idOptionalstring | null format: "uuid"
expires_atOptionalstring | null format: "date-time"
last_used_atOptionalstring | null format: "date-time"
created_atRequiredstring format: "date-time"

Full schema

Code
{
  "type": "object",
  "required": [
    "id",
    "key_id",
    "label",
    "access",
    "scope_type",
    "created_at"
  ],
  "properties": {
    "id": {
      "type": "string",
      "format": "uuid"
    },
    "key_id": {
      "type": "string",
      "description": "Non-secret public key identifier"
    },
    "label": {
      "type": "string"
    },
    "access": {
      "enum": [
        "read",
        "write",
        "admin"
      ]
    },
    "scope_type": {
      "enum": [
        "account",
        "drive"
      ]
    },
    "scope_id": {
      "type": [
        "string",
        "null"
      ],
      "format": "uuid"
    },
    "parent_key_id": {
      "type": [
        "string",
        "null"
      ],
      "format": "uuid"
    },
    "drive_id": {
      "type": [
        "string",
        "null"
      ],
      "format": "uuid"
    },
    "expires_at": {
      "type": [
        "string",
        "null"
      ],
      "format": "date-time"
    },
    "last_used_at": {
      "type": [
        "string",
        "null"
      ],
      "format": "date-time"
    },
    "created_at": {
      "type": "string",
      "format": "date-time"
    }
  }
}
Link to this model ↗
ChunkRefobject
FieldTypeMeaning and constraints
sha256RequiredstringEmpty for a zero extent or immutable base reference pattern: "^([0-9a-f]{64})?$"
sizeRequiredinteger format: "int64" · minimum: 1
zeroOptionalbooleanTrue means this extent represents zero bytes without an object
base_offsetOptionalintegerReuse this range from base_version_id; excludes zero and a content hash format: "int64" · minimum: 0

Full schema

Code
{
  "type": "object",
  "required": [
    "sha256",
    "size"
  ],
  "properties": {
    "sha256": {
      "type": "string",
      "pattern": "^([0-9a-f]{64})?$",
      "description": "Empty for a zero extent or immutable base reference"
    },
    "size": {
      "type": "integer",
      "format": "int64",
      "minimum": 1
    },
    "zero": {
      "type": "boolean",
      "default": false,
      "description": "True means this extent represents zero bytes without an object"
    },
    "base_offset": {
      "type": "integer",
      "format": "int64",
      "minimum": 0,
      "description": "Reuse this range from base_version_id; excludes zero and a content hash"
    }
  }
}
Link to this model ↗
ChunkManifestobject
FieldTypeMeaning and constraints
logical_sizeRequiredinteger format: "int64" · minimum: 0
chunksRequiredarray<ChunkRef> maxItems: 1000000
base_version_idOptionalstringImmutable current version selected at upload creation and pinned through completion format: "uuid"

Full schema

Code
{
  "type": "object",
  "required": [
    "logical_size",
    "chunks"
  ],
  "properties": {
    "logical_size": {
      "type": "integer",
      "format": "int64",
      "minimum": 0
    },
    "chunks": {
      "type": "array",
      "maxItems": 1000000,
      "items": {
        "$ref": "#/components/schemas/ChunkRef"
      }
    },
    "base_version_id": {
      "type": "string",
      "format": "uuid",
      "description": "Immutable current version selected at upload creation and pinned through completion"
    }
  }
}
Link to this model ↗
Driveobject
FieldTypeMeaning and constraints
idRequiredstring format: "uuid"
nameRequiredstring
quota_bytesRequiredinteger format: "int64"
used_bytesRequiredinteger format: "int64"
stateRequired"active" | "deleting" | "deleted"
source_drive_idOptionalstring | null format: "uuid"
source_sequenceOptionalinteger | null format: "int64"
planRequired"individual" | "team" | "enterprise"
roleRequired"viewer" | "editor" | "admin" | "owner"
created_atRequiredstring format: "date-time"

Full schema

Code
{
  "type": "object",
  "required": [
    "id",
    "name",
    "quota_bytes",
    "used_bytes",
    "state",
    "plan",
    "role",
    "created_at"
  ],
  "properties": {
    "id": {
      "type": "string",
      "format": "uuid"
    },
    "name": {
      "type": "string"
    },
    "quota_bytes": {
      "type": "integer",
      "format": "int64"
    },
    "used_bytes": {
      "type": "integer",
      "format": "int64"
    },
    "state": {
      "enum": [
        "active",
        "deleting",
        "deleted"
      ]
    },
    "source_drive_id": {
      "type": [
        "string",
        "null"
      ],
      "format": "uuid"
    },
    "source_sequence": {
      "type": [
        "integer",
        "null"
      ],
      "format": "int64"
    },
    "plan": {
      "enum": [
        "individual",
        "team",
        "enterprise"
      ]
    },
    "role": {
      "enum": [
        "viewer",
        "editor",
        "admin",
        "owner"
      ]
    },
    "created_at": {
      "type": "string",
      "format": "date-time"
    }
  }
}
Link to this model ↗
Snapshotobject
FieldTypeMeaning and constraints
idRequiredstring format: "uuid"
drive_idRequiredstring format: "uuid"
created_byRequiredstring format: "uuid"
created_atRequiredstring format: "date-time"
entry_countRequiredinteger format: "int64"

Full schema

Code
{
  "type": "object",
  "required": [
    "id",
    "drive_id",
    "created_by",
    "created_at",
    "entry_count"
  ],
  "properties": {
    "id": {
      "type": "string",
      "format": "uuid"
    },
    "drive_id": {
      "type": "string",
      "format": "uuid"
    },
    "created_by": {
      "type": "string",
      "format": "uuid"
    },
    "created_at": {
      "type": "string",
      "format": "date-time"
    },
    "entry_count": {
      "type": "integer",
      "format": "int64"
    }
  }
}
Link to this model ↗
Branchobject
FieldTypeMeaning and constraints
idRequiredstring format: "uuid"
source_drive_idRequiredstring format: "uuid"
base_snapshot_idRequiredstring format: "uuid"
drive_idRequiredstringFilesystem scope to mount through nufs-engine format: "uuid"
nameRequiredstring
task_idOptionalstring | null
statusRequired"active" | "integrated" | "discarded"
created_byRequiredstring format: "uuid"
created_atRequiredstring format: "date-time"
updated_atRequiredstring format: "date-time"
integrated_atOptionalstring | null format: "date-time"
discarded_atOptionalstring | null format: "date-time"

Full schema

Code
{
  "type": "object",
  "required": [
    "id",
    "source_drive_id",
    "base_snapshot_id",
    "drive_id",
    "name",
    "status",
    "created_by",
    "created_at",
    "updated_at"
  ],
  "properties": {
    "id": {
      "type": "string",
      "format": "uuid"
    },
    "source_drive_id": {
      "type": "string",
      "format": "uuid"
    },
    "base_snapshot_id": {
      "type": "string",
      "format": "uuid"
    },
    "drive_id": {
      "type": "string",
      "format": "uuid",
      "description": "Filesystem scope to mount through nufs-engine"
    },
    "name": {
      "type": "string"
    },
    "task_id": {
      "type": [
        "string",
        "null"
      ]
    },
    "status": {
      "enum": [
        "active",
        "integrated",
        "discarded"
      ]
    },
    "created_by": {
      "type": "string",
      "format": "uuid"
    },
    "created_at": {
      "type": "string",
      "format": "date-time"
    },
    "updated_at": {
      "type": "string",
      "format": "date-time"
    },
    "integrated_at": {
      "type": [
        "string",
        "null"
      ],
      "format": "date-time"
    },
    "discarded_at": {
      "type": [
        "string",
        "null"
      ],
      "format": "date-time"
    }
  }
}
Link to this model ↗
BranchChangeobject
FieldTypeMeaning and constraints
statusRequired"added" | "modified" | "deleted"
base_entry_idOptionalstring | null format: "uuid"
branch_entry_idRequiredstring format: "uuid"
nameRequiredstring
pathRequiredstringCurrent path in the branch
base_pathOptionalstring | nullPath in the immutable base snapshot
kindRequired"file" | "folder"
base_version_idOptionalstring | null format: "uuid"
version_idOptionalstring | null format: "uuid"
logical_sizeRequiredinteger format: "int64"
actor_idOptionalstring | nullLatest authenticated actor for this branch entry when available format: "uuid"

Full schema

Code
{
  "type": "object",
  "required": [
    "status",
    "branch_entry_id",
    "name",
    "path",
    "kind",
    "logical_size"
  ],
  "properties": {
    "status": {
      "enum": [
        "added",
        "modified",
        "deleted"
      ]
    },
    "base_entry_id": {
      "type": [
        "string",
        "null"
      ],
      "format": "uuid"
    },
    "branch_entry_id": {
      "type": "string",
      "format": "uuid"
    },
    "name": {
      "type": "string"
    },
    "path": {
      "type": "string",
      "description": "Current path in the branch"
    },
    "base_path": {
      "type": [
        "string",
        "null"
      ],
      "description": "Path in the immutable base snapshot"
    },
    "kind": {
      "enum": [
        "file",
        "folder"
      ]
    },
    "base_version_id": {
      "type": [
        "string",
        "null"
      ],
      "format": "uuid"
    },
    "version_id": {
      "type": [
        "string",
        "null"
      ],
      "format": "uuid"
    },
    "logical_size": {
      "type": "integer",
      "format": "int64"
    },
    "actor_id": {
      "type": [
        "string",
        "null"
      ],
      "format": "uuid",
      "description": "Latest authenticated actor for this branch entry when available"
    }
  }
}
Link to this model ↗
PublicFileLinkResultobject
FieldTypeMeaning and constraints
file_linkRequiredPublicFileLink
secretRequiredstring

Full schema

Code
{
  "type": "object",
  "required": [
    "file_link",
    "secret"
  ],
  "properties": {
    "file_link": {
      "$ref": "#/components/schemas/PublicFileLink"
    },
    "secret": {
      "type": "string"
    }
  }
}
Link to this model ↗
PublicFileReadobject
FieldTypeMeaning and constraints
file_nameRequiredstring
version_idRequiredstring format: "uuid"
logical_sizeRequiredinteger minimum: 0 · maximum: 9223372036854776000
checksum_sha256Requiredstring | nullWhole-file checksum when available; null for extent versions without a computed whole-file digest. pattern: "^[0-9a-f]{64}$"
expires_atRequiredstring format: "date-time"

Full schema

Code
{
  "type": "object",
  "additionalProperties": false,
  "required": [
    "file_name",
    "version_id",
    "logical_size",
    "checksum_sha256",
    "expires_at"
  ],
  "properties": {
    "file_name": {
      "type": "string"
    },
    "version_id": {
      "type": "string",
      "format": "uuid"
    },
    "logical_size": {
      "type": "integer",
      "minimum": 0,
      "maximum": 9223372036854776000
    },
    "checksum_sha256": {
      "type": [
        "string",
        "null"
      ],
      "pattern": "^[0-9a-f]{64}$",
      "description": "Whole-file checksum when available; null for extent versions without a computed whole-file digest."
    },
    "expires_at": {
      "type": "string",
      "format": "date-time"
    }
  }
}
Link to this model ↗
UploadRequestInputobject
FieldTypeMeaning and constraints
parent_idOptionalstring | null format: "uuid"
titleRequiredstring minLength: 1 · maxLength: 100
max_filesRequiredinteger minimum: 1 · maximum: 100
max_file_bytesRequiredinteger minimum: 1 · maximum: 104857600
max_total_bytesRequiredinteger minimum: 1 · maximum: 1073741824
allowed_extensionsOptionalarray<string> maxItems: 20
expires_atRequiredstring format: "date-time"

Full schema

Code
{
  "type": "object",
  "additionalProperties": false,
  "required": [
    "title",
    "max_files",
    "max_file_bytes",
    "max_total_bytes",
    "expires_at"
  ],
  "properties": {
    "parent_id": {
      "type": [
        "string",
        "null"
      ],
      "format": "uuid"
    },
    "title": {
      "type": "string",
      "minLength": 1,
      "maxLength": 100
    },
    "max_files": {
      "type": "integer",
      "minimum": 1,
      "maximum": 100
    },
    "max_file_bytes": {
      "type": "integer",
      "minimum": 1,
      "maximum": 104857600
    },
    "max_total_bytes": {
      "type": "integer",
      "minimum": 1,
      "maximum": 1073741824
    },
    "allowed_extensions": {
      "type": "array",
      "maxItems": 20,
      "items": {
        "type": "string",
        "pattern": "^\\.[a-z0-9]{1,15}$"
      }
    },
    "expires_at": {
      "type": "string",
      "format": "date-time"
    }
  }
}
Link to this model ↗
UploadRequestobject
FieldTypeMeaning and constraints
idRequiredstring format: "uuid"
drive_idRequiredstring format: "uuid"
parent_idRequiredstring | null format: "uuid"
titleRequiredstring minLength: 1 · maxLength: 100
max_filesRequiredinteger minimum: 1 · maximum: 100
max_file_bytesRequiredinteger minimum: 1 · maximum: 104857600
max_total_bytesRequiredinteger minimum: 1 · maximum: 1073741824
allowed_extensionsRequiredarray<string> maxItems: 20
expires_atRequiredstring format: "date-time"
received_filesRequiredinteger minimum: 0
received_bytesRequiredinteger minimum: 0
revoked_atOptionalstring | null format: "date-time"
created_atRequiredstring format: "date-time"

Full schema

Code
{
  "type": "object",
  "required": [
    "id",
    "drive_id",
    "parent_id",
    "title",
    "max_files",
    "max_file_bytes",
    "max_total_bytes",
    "allowed_extensions",
    "expires_at",
    "received_files",
    "received_bytes",
    "created_at"
  ],
  "properties": {
    "id": {
      "type": "string",
      "format": "uuid"
    },
    "drive_id": {
      "type": "string",
      "format": "uuid"
    },
    "parent_id": {
      "type": [
        "string",
        "null"
      ],
      "format": "uuid"
    },
    "title": {
      "type": "string",
      "minLength": 1,
      "maxLength": 100
    },
    "max_files": {
      "type": "integer",
      "minimum": 1,
      "maximum": 100
    },
    "max_file_bytes": {
      "type": "integer",
      "minimum": 1,
      "maximum": 104857600
    },
    "max_total_bytes": {
      "type": "integer",
      "minimum": 1,
      "maximum": 1073741824
    },
    "allowed_extensions": {
      "type": "array",
      "maxItems": 20,
      "items": {
        "type": "string",
        "pattern": "^\\.[a-z0-9]{1,15}$"
      }
    },
    "expires_at": {
      "type": "string",
      "format": "date-time"
    },
    "received_files": {
      "type": "integer",
      "minimum": 0
    },
    "received_bytes": {
      "type": "integer",
      "minimum": 0
    },
    "revoked_at": {
      "type": [
        "string",
        "null"
      ],
      "format": "date-time"
    },
    "created_at": {
      "type": "string",
      "format": "date-time"
    }
  }
}
Link to this model ↗
PublicUploadRequestobject
FieldTypeMeaning and constraints
titleRequiredstring minLength: 1 · maxLength: 100
max_filesRequiredinteger minimum: 1 · maximum: 100
max_file_bytesRequiredinteger minimum: 1 · maximum: 104857600
max_total_bytesRequiredinteger minimum: 1 · maximum: 1073741824
allowed_extensionsRequiredarray<string> maxItems: 20
expires_atRequiredstring format: "date-time"

Full schema

Code
{
  "type": "object",
  "additionalProperties": false,
  "required": [
    "title",
    "max_files",
    "max_file_bytes",
    "max_total_bytes",
    "allowed_extensions",
    "expires_at"
  ],
  "properties": {
    "title": {
      "type": "string",
      "minLength": 1,
      "maxLength": 100
    },
    "max_files": {
      "type": "integer",
      "minimum": 1,
      "maximum": 100
    },
    "max_file_bytes": {
      "type": "integer",
      "minimum": 1,
      "maximum": 104857600
    },
    "max_total_bytes": {
      "type": "integer",
      "minimum": 1,
      "maximum": 1073741824
    },
    "allowed_extensions": {
      "type": "array",
      "maxItems": 20,
      "items": {
        "type": "string",
        "pattern": "^\\.[a-z0-9]{1,15}$"
      }
    },
    "expires_at": {
      "type": "string",
      "format": "date-time"
    }
  }
}
Link to this model ↗
UploadRequestResultobject
FieldTypeMeaning and constraints
upload_requestRequiredUploadRequest
secretRequiredstring

Full schema

Code
{
  "type": "object",
  "required": [
    "upload_request",
    "secret"
  ],
  "properties": {
    "upload_request": {
      "$ref": "#/components/schemas/UploadRequest"
    },
    "secret": {
      "type": "string"
    }
  }
}
Link to this model ↗
UploadReceiptobject
FieldTypeMeaning and constraints
receipt_idRequiredstring format: "uuid"
file_nameRequiredstring
size_bytesRequiredinteger minimum: 0 · maximum: 104857600
sha256Requiredstring pattern: "^[0-9a-f]{64}$"
idempotent_replayRequiredboolean

Full schema

Code
{
  "type": "object",
  "additionalProperties": false,
  "required": [
    "receipt_id",
    "file_name",
    "size_bytes",
    "sha256",
    "idempotent_replay"
  ],
  "properties": {
    "receipt_id": {
      "type": "string",
      "format": "uuid"
    },
    "file_name": {
      "type": "string"
    },
    "size_bytes": {
      "type": "integer",
      "minimum": 0,
      "maximum": 104857600
    },
    "sha256": {
      "type": "string",
      "pattern": "^[0-9a-f]{64}$"
    },
    "idempotent_replay": {
      "type": "boolean"
    }
  }
}
Link to this model ↗
SearchHitobject
FieldTypeMeaning and constraints
file_idRequiredstring format: "uuid"
drive_idRequiredstring format: "uuid"
version_idRequiredstring | null format: "uuid"
nameRequiredstring
pathRequiredstring
kindRequired"file" | "folder"
logical_sizeRequiredintegerByte length of the matched current version in the same search snapshot format: "int64" · minimum: 0
excerptRequiredstringPlain text prefix of indexed UTF-8 content
content_stateRequired"pending" | "processing" | "indexed" | "unsupported"

Full schema

Code
{
  "type": "object",
  "required": [
    "file_id",
    "drive_id",
    "version_id",
    "name",
    "path",
    "kind",
    "logical_size",
    "excerpt",
    "content_state"
  ],
  "properties": {
    "file_id": {
      "type": "string",
      "format": "uuid"
    },
    "drive_id": {
      "type": "string",
      "format": "uuid"
    },
    "version_id": {
      "type": [
        "string",
        "null"
      ],
      "format": "uuid"
    },
    "name": {
      "type": "string"
    },
    "path": {
      "type": "string"
    },
    "kind": {
      "type": "string",
      "enum": [
        "file",
        "folder"
      ]
    },
    "logical_size": {
      "type": "integer",
      "format": "int64",
      "minimum": 0,
      "description": "Byte length of the matched current version in the same search snapshot"
    },
    "excerpt": {
      "type": "string",
      "description": "Plain text prefix of indexed UTF-8 content"
    },
    "content_state": {
      "type": "string",
      "enum": [
        "pending",
        "processing",
        "indexed",
        "unsupported"
      ]
    }
  }
}
Link to this model ↗
SearchPageobject
FieldTypeMeaning and constraints
resultsRequiredarray<SearchHit> maxItems: 100
next_cursorRequiredstring | null

Full schema

Code
{
  "type": "object",
  "required": [
    "results",
    "next_cursor"
  ],
  "properties": {
    "results": {
      "type": "array",
      "maxItems": 100,
      "items": {
        "$ref": "#/components/schemas/SearchHit"
      }
    },
    "next_cursor": {
      "type": [
        "string",
        "null"
      ]
    }
  }
}
Link to this model ↗
PlanOptionobject
FieldTypeMeaning and constraints
idRequiredstring
nameRequiredstring
descriptionOptionalstring
availabilityOptionalstring
version_idOptionalstring
storage_bytesRequiredinteger minimum: 0
seatsRequiredinteger minimum: 0
monthly_total_minorRequiredinteger minimum: 0
storage_addon_bytesRequiredinteger minimum: 0
storage_addon_monthly_minorRequiredinteger minimum: 0
max_seatsRequiredinteger minimum: 0
max_storage_bytesOptionalinteger minimum: 0
display_orderOptionalinteger minimum: 0
extra_seat_monthly_minorRequiredinteger | null minimum: 0
featuredOptionalboolean

Full schema

Code
{
  "type": "object",
  "required": [
    "id",
    "name",
    "storage_bytes",
    "seats",
    "monthly_total_minor",
    "extra_seat_monthly_minor",
    "storage_addon_bytes",
    "storage_addon_monthly_minor",
    "max_seats"
  ],
  "properties": {
    "id": {
      "type": "string"
    },
    "name": {
      "type": "string"
    },
    "description": {
      "type": "string"
    },
    "availability": {
      "type": "string"
    },
    "version_id": {
      "type": "string"
    },
    "storage_bytes": {
      "type": "integer",
      "minimum": 0
    },
    "seats": {
      "type": "integer",
      "minimum": 0
    },
    "monthly_total_minor": {
      "type": "integer",
      "minimum": 0
    },
    "storage_addon_bytes": {
      "type": "integer",
      "minimum": 0
    },
    "storage_addon_monthly_minor": {
      "type": "integer",
      "minimum": 0
    },
    "max_seats": {
      "type": "integer",
      "minimum": 0
    },
    "max_storage_bytes": {
      "type": "integer",
      "minimum": 0
    },
    "display_order": {
      "type": "integer",
      "minimum": 0
    },
    "extra_seat_monthly_minor": {
      "type": [
        "integer",
        "null"
      ],
      "minimum": 0
    },
    "featured": {
      "type": "boolean"
    }
  }
}
Link to this model ↗
PlatformReleaseobject
FieldTypeMeaning and constraints
platformRequiredstring
architectureRequiredstring
formatRequiredstring
versionRequiredstring
urlRequiredstring
sha256Requiredstring
sha512OptionalstringBase64 SHA-512 for desktop updater verification.
minimum_supported_versionOptionalstringOlder matching desktop clients must update after pending saves finish.
update_reasonOptionalstring
notesRequiredstring
publishedRequiredboolean
channelOptional"stable" | "preview" | "beta"
file_sizeOptionalinteger minimum: 0
signingOptional"unsigned" | "authenticode" | "notarized" | "not_applicable"
verificationOptional"not_checked" | "passed" | "failed"

Full schema

Code
{
  "type": "object",
  "required": [
    "platform",
    "architecture",
    "format",
    "version",
    "url",
    "sha256",
    "notes",
    "published"
  ],
  "properties": {
    "platform": {
      "type": "string"
    },
    "architecture": {
      "type": "string"
    },
    "format": {
      "type": "string"
    },
    "version": {
      "type": "string"
    },
    "url": {
      "type": "string"
    },
    "sha256": {
      "type": "string"
    },
    "sha512": {
      "type": "string",
      "description": "Base64 SHA-512 for desktop updater verification."
    },
    "minimum_supported_version": {
      "type": "string",
      "description": "Older matching desktop clients must update after pending saves finish."
    },
    "update_reason": {
      "type": "string"
    },
    "notes": {
      "type": "string"
    },
    "published": {
      "type": "boolean"
    },
    "channel": {
      "type": "string",
      "enum": [
        "stable",
        "preview",
        "beta"
      ]
    },
    "file_size": {
      "type": "integer",
      "minimum": 0
    },
    "signing": {
      "type": "string",
      "enum": [
        "unsigned",
        "authenticode",
        "notarized",
        "not_applicable"
      ]
    },
    "verification": {
      "type": "string",
      "enum": [
        "not_checked",
        "passed",
        "failed"
      ]
    }
  }
}
Link to this model ↗
PlanCatalogobject
FieldTypeMeaning and constraints
revisionOptionalstring
plansRequiredarray<PlanOption>
currencyRequiredstring
billing_intervalRequiredstring
checkout_modeRequired"disabled" | "development"

Full schema

Code
{
  "type": "object",
  "required": [
    "plans",
    "currency",
    "billing_interval",
    "checkout_mode"
  ],
  "properties": {
    "revision": {
      "type": "string"
    },
    "plans": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/PlanOption"
      }
    },
    "currency": {
      "type": "string",
      "const": "USD"
    },
    "billing_interval": {
      "type": "string",
      "const": "month"
    },
    "checkout_mode": {
      "type": "string",
      "enum": [
        "disabled",
        "development"
      ]
    }
  }
}
Link to this model ↗
PlatformSettingsobject
FieldTypeMeaning and constraints
signup_enabledRequiredboolean
checkout_enabledRequiredboolean
web_enabledRequiredboolean
linux_enabledRequiredboolean
macos_enabledRequiredboolean
windows_enabledRequiredboolean
announcementRequiredstring
support_urlRequiredstring
support_emailRequiredstring
releasesRequiredarray<PlatformRelease>
announcement_starts_atOptionalstring
announcement_ends_atOptionalstring

Full schema

Code
{
  "type": "object",
  "required": [
    "signup_enabled",
    "checkout_enabled",
    "web_enabled",
    "linux_enabled",
    "macos_enabled",
    "windows_enabled",
    "announcement",
    "support_url",
    "support_email",
    "releases"
  ],
  "properties": {
    "signup_enabled": {
      "type": "boolean"
    },
    "checkout_enabled": {
      "type": "boolean"
    },
    "web_enabled": {
      "type": "boolean"
    },
    "linux_enabled": {
      "type": "boolean"
    },
    "macos_enabled": {
      "type": "boolean"
    },
    "windows_enabled": {
      "type": "boolean"
    },
    "announcement": {
      "type": "string"
    },
    "support_url": {
      "type": "string"
    },
    "support_email": {
      "type": "string"
    },
    "releases": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/PlatformRelease"
      }
    },
    "announcement_starts_at": {
      "type": "string"
    },
    "announcement_ends_at": {
      "type": "string"
    }
  }
}
Link to this model ↗
PlatformDocumentobject
FieldTypeMeaning and constraints
plansRequiredarray<PlanOption>
settingsRequiredPlatformSettings

Full schema

Code
{
  "type": "object",
  "required": [
    "plans",
    "settings"
  ],
  "properties": {
    "plans": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/PlanOption"
      }
    },
    "settings": {
      "$ref": "#/components/schemas/PlatformSettings"
    }
  }
}
Link to this model ↗
PublicConfigurationobject
FieldTypeMeaning and constraints
revisionRequiredstring
catalogRequiredPlanCatalog
settingsRequiredPlatformSettings

Full schema

Code
{
  "type": "object",
  "required": [
    "revision",
    "catalog",
    "settings"
  ],
  "properties": {
    "revision": {
      "type": "string"
    },
    "catalog": {
      "$ref": "#/components/schemas/PlanCatalog"
    },
    "settings": {
      "$ref": "#/components/schemas/PlatformSettings"
    }
  }
}
Link to this model ↗
PlatformConfigurationobject
FieldTypeMeaning and constraints
revisionRequiredstring
publishedRequiredPlatformDocument
draftRequiredPlatformDocument

Full schema

Code
{
  "type": "object",
  "required": [
    "revision",
    "published",
    "draft"
  ],
  "properties": {
    "revision": {
      "type": "string"
    },
    "published": {
      "$ref": "#/components/schemas/PlatformDocument"
    },
    "draft": {
      "$ref": "#/components/schemas/PlatformDocument"
    }
  }
}
Link to this model ↗
PlatformAuditEntryobject
FieldTypeMeaning and constraints
idRequiredstring
user_idRequiredstring format: "uuid"
actionRequiredstring
revisionRequiredstring
beforeRequiredschema
afterRequiredschema
created_atRequiredstring format: "date-time"
resource_typeOptionalstring
resource_idOptionalstring
reasonOptionalstring

Full schema

Code
{
  "type": "object",
  "required": [
    "id",
    "user_id",
    "action",
    "revision",
    "before",
    "after",
    "created_at"
  ],
  "properties": {
    "id": {
      "type": "string"
    },
    "user_id": {
      "type": "string",
      "format": "uuid"
    },
    "action": {
      "type": "string"
    },
    "revision": {
      "type": "string"
    },
    "before": {},
    "after": {},
    "created_at": {
      "type": "string",
      "format": "date-time"
    },
    "resource_type": {
      "type": "string"
    },
    "resource_id": {
      "type": "string"
    },
    "reason": {
      "type": "string"
    }
  }
}
Link to this model ↗
OTPChallengeobject
FieldTypeMeaning and constraints
challenge_idRequiredstring format: "uuid"
expires_atRequiredstring format: "date-time"
resend_afterRequiredinteger minimum: 0
codeOptionalstringOnly exposed by explicitly configured local integration fixtures. Never returned in production.

Full schema

Code
{
  "type": "object",
  "required": [
    "challenge_id",
    "expires_at",
    "resend_after"
  ],
  "properties": {
    "challenge_id": {
      "type": "string",
      "format": "uuid"
    },
    "expires_at": {
      "type": "string",
      "format": "date-time"
    },
    "resend_after": {
      "type": "integer",
      "minimum": 0
    },
    "code": {
      "type": "string",
      "description": "Only exposed by explicitly configured local integration fixtures. Never returned in production."
    }
  }
}
Link to this model ↗
FileHistoryPolicyDrive-wide history is off by default. Used storage counts current and retained historical contents with content deduplication.
FieldTypeMeaning and constraints
drive_idRequiredstring format: "uuid"
enabledRequiredboolean
revisionRequiredstring
current_bytesRequiredinteger format: "int64" · minimum: 0
history_bytesRequiredinteger format: "int64" · minimum: 0
used_bytesRequiredinteger format: "int64" · minimum: 0
historical_versionsRequiredinteger format: "int64" · minimum: 0

Full schema

Code
{
  "type": "object",
  "description": "Drive-wide history is off by default. Used storage counts current and retained historical contents with content deduplication.",
  "required": [
    "drive_id",
    "enabled",
    "revision",
    "current_bytes",
    "history_bytes",
    "used_bytes",
    "historical_versions"
  ],
  "properties": {
    "drive_id": {
      "type": "string",
      "format": "uuid"
    },
    "enabled": {
      "type": "boolean"
    },
    "revision": {
      "type": "string"
    },
    "current_bytes": {
      "type": "integer",
      "format": "int64",
      "minimum": 0
    },
    "history_bytes": {
      "type": "integer",
      "format": "int64",
      "minimum": 0
    },
    "used_bytes": {
      "type": "integer",
      "format": "int64",
      "minimum": 0
    },
    "historical_versions": {
      "type": "integer",
      "format": "int64",
      "minimum": 0
    }
  }
}
Link to this model ↗
FileHistoryUpdateOwner-only setting. Disabling retains existing history; only future superseded revisions stop counting toward history.
FieldTypeMeaning and constraints
enabledRequiredboolean
expected_revisionRequiredstring pattern: "^[1-9][0-9]*$"

Full schema

Code
{
  "type": "object",
  "description": "Owner-only setting. Disabling retains existing history; only future superseded revisions stop counting toward history.",
  "required": [
    "enabled",
    "expected_revision"
  ],
  "properties": {
    "enabled": {
      "type": "boolean"
    },
    "expected_revision": {
      "type": "string",
      "pattern": "^[1-9][0-9]*$"
    }
  }
}
Link to this model ↗
HistoryCleanupResultClears earlier versions, keeps current files, and releases allowance immediately. Protected snapshots, forks and live links are skipped. Physical reclamation is asynchronous and preserves replay and active-save pins.
FieldTypeMeaning and constraints
versions_clearedRequiredinteger format: "int64" · minimum: 0
versions_skippedRequiredinteger format: "int64" · minimum: 0
bytes_freedRequiredinteger format: "int64" · minimum: 0
used_bytesRequiredinteger format: "int64" · minimum: 0

Full schema

Code
{
  "type": "object",
  "description": "Clears earlier versions, keeps current files, and releases allowance immediately. Protected snapshots, forks and live links are skipped. Physical reclamation is asynchronous and preserves replay and active-save pins.",
  "required": [
    "versions_cleared",
    "versions_skipped",
    "bytes_freed",
    "used_bytes"
  ],
  "properties": {
    "versions_cleared": {
      "type": "integer",
      "format": "int64",
      "minimum": 0
    },
    "versions_skipped": {
      "type": "integer",
      "format": "int64",
      "minimum": 0
    },
    "bytes_freed": {
      "type": "integer",
      "format": "int64",
      "minimum": 0
    },
    "used_bytes": {
      "type": "integer",
      "format": "int64",
      "minimum": 0
    }
  }
}
Link to this model ↗
VersionSummaryobject
FieldTypeMeaning and constraints
version_idRequiredstring format: "uuid"
file_idRequiredstring format: "uuid"
file_nameRequiredstring
logical_sizeRequiredinteger format: "int64" · minimum: 0
checksum_sha256Requiredstring
created_atRequiredstring format: "date-time"
currentRequiredboolean
file_revisionRequiredinteger format: "int64" · minimum: 0
storage_formatOptionalstring
manifest_sha256Optionalstring
operationOptionalstring
drive_sequenceOptionalinteger format: "int64" · minimum: 0

Full schema

Code
{
  "type": "object",
  "description": "",
  "required": [
    "version_id",
    "file_id",
    "file_name",
    "logical_size",
    "checksum_sha256",
    "created_at",
    "current",
    "file_revision"
  ],
  "properties": {
    "version_id": {
      "type": "string",
      "format": "uuid"
    },
    "file_id": {
      "type": "string",
      "format": "uuid"
    },
    "file_name": {
      "type": "string"
    },
    "logical_size": {
      "type": "integer",
      "format": "int64",
      "minimum": 0
    },
    "checksum_sha256": {
      "type": "string"
    },
    "created_at": {
      "type": "string",
      "format": "date-time"
    },
    "current": {
      "type": "boolean"
    },
    "file_revision": {
      "type": "integer",
      "format": "int64",
      "minimum": 0
    },
    "storage_format": {
      "type": "string"
    },
    "manifest_sha256": {
      "type": "string"
    },
    "operation": {
      "type": "string"
    },
    "drive_sequence": {
      "type": "integer",
      "format": "int64",
      "minimum": 0
    }
  }
}
Link to this model ↗