Skip to main content

Documents

Complete reference for document-related methods and models.

Methods

create_document

create_document(request: CreateDocumentRequest) -> CreateDocumentResponse

Create a new document in specified scope (Space/Member/Project).

Parameters:

  • request - CreateDocumentRequest with kind, kind_id, title, index, and optional parent_document_id

Returns: CreateDocumentResponse with created document

Example:

from vaiz.models import CreateDocumentRequest, Kind

response = client.create_document(
CreateDocumentRequest(
kind=Kind.Project,
kind_id="project_id",
title="Project Plan",
index=0
)
)

document = response.payload.document
print(f"Created: {document.id}")

edit_document

edit_document(request: EditDocumentRequest) -> EditDocumentResponse

Edit document metadata such as title.

Parameters:

  • request - EditDocumentRequest with document_id and title

Returns: EditDocumentResponse with updated document

Example:

from vaiz.models import EditDocumentRequest

response = client.edit_document(
EditDocumentRequest(
document_id="doc_id",
title="Updated Title"
)
)

edited_doc = response.payload.document
print(f"Updated: {edited_doc.title}")

get_documents

get_documents(request: GetDocumentsRequest) -> GetDocumentsResponse

Get list of documents filtered by scope (Space/Member/Project) and scope ID.

Parameters:

  • request - GetDocumentsRequest with kind and kind_id

Returns: GetDocumentsResponse with list of documents

Example:

from vaiz.models import GetDocumentsRequest, Kind

docs = client.get_documents(
GetDocumentsRequest(
kind=Kind.Project,
kind_id="project_id"
)
)

Models

Document

Main document model representing a document in the system.

class Document:
id: str # Document ID
title: str # Document title
size: int # Document size in bytes
contributor_ids: List[str] # List of contributor IDs
archiver: Optional[str] # User who archived (if archived)
followers: Dict[str, str] # Document followers
archived_at: Optional[datetime] # Archive timestamp
kind_id: str # ID of document
kind: Kind # Document scope (Space/Member/Project)
creator: str # Creator user ID
map: List[Any] # Document structure map
created_at: datetime # Creation timestamp
updated_at: datetime # Last update timestamp
bucket: str # Storage bucket ID

EditDocument

Model representing an edited document (without internal fields like map).

class EditDocument:
id: str # Document ID
title: str # Document title
space: str # Space ID
size: int # Document size in bytes
contributor_ids: List[str] # List of contributor IDs
archiver: Optional[str] # User who archived (if archived)
followers: Dict[str, str] # Document followers
archived_at: Optional[datetime] # Archive timestamp
kind_id: str # ID of document scope
kind: Kind # Document scope (Space/Member/Project)
creator: str # Creator user ID
created_at: datetime # Creation timestamp
updated_at: datetime # Last update timestamp
bucket: str # Storage bucket ID
content: Optional[str] # Document content (encoded)
content_updated_at: Optional[datetime] # Content update timestamp

Request Models

CreateDocumentRequest

class CreateDocumentRequest:
kind: Kind # Required - Document scope (Space/Member/Project)
kind_id: str # Required - ID of space/member/project
title: str # Required - Document title
index: int # Required - Position in document list
parent_document_id: Optional[str] # Optional - Parent document ID for nesting

EditDocumentRequest

class EditDocumentRequest:
document_id: str # Required - Document ID to edit
title: str # Required - New document title

Response Models

CreateDocumentResponse

class CreateDocumentResponse:
payload: CreateDocumentPayload # Response payload
type: str # Response type ("CreateDocument")

CreateDocumentPayload

class CreateDocumentPayload:
document: Document # Created document

EditDocumentResponse

class EditDocumentResponse:
payload: EditDocumentPayload # Response payload
type: str # Response type ("EditDocument")

EditDocumentPayload

class EditDocumentPayload:
document: EditDocument # Edited document

GetDocumentsRequest

class GetDocumentsRequest:
kind: Kind # Required - Document scope (Space/Member/Project)
kind_id: str # Required - ID of space/member/project

GetDocumentsResponse

class GetDocumentsResponse:
payload: GetDocumentsPayload # Response payload
type: str # Response type ("GetDocuments")

GetDocumentsPayload

class GetDocumentsPayload:
documents: List[Document] # List of documents

GetDocumentRequest

class GetDocumentRequest:
document_id: str # Required - Document ID

ReplaceDocumentRequest

class ReplaceDocumentRequest:
document_id: str # Required - Document ID
description: str # Required - New document content

ReplaceDocumentResponse

class ReplaceDocumentResponse:
# Empty response on success
pass

ReplaceJSONDocumentRequest

class ReplaceJSONDocumentRequest:
document_id: str # Required - Document ID
content: List[Dict[str, Any]] # Required - JSONContent array in document structure format

ReplaceJSONDocumentResponse

class ReplaceJSONDocumentResponse:
# Empty response on success
pass

See Also