Space API¶
The Space API manages conversational spaces (assistants) and their chats in Unique AI.
Overview¶
Spaces are conversational assistants with configured tools, scope rules, and modules. Use this API to:
- Send messages to spaces
- Manage space chats
- Retrieve space configuration
- Access message history
Methods¶
unique_sdk.Space.create_message - Send message in space
Send a message in a space. Creates a new chat if no chatId provided.
Parameters:
assistantId(str, required) - Space/assistant IDtext(str, optional) - Message textchatId(str, optional) - Continue existing chat or start newtoolChoices(List[str], optional) - List of tools to use (e.g.,["WebSearch", "InternalSearch"])scopeRules(Dict[str, Any], optional) - UniqueQL filter for document scope
Returns:
Returns a Space.Message object.
Example - New Chat:
Example - Continue Chat:
Example - With Scope Rules:
unique_sdk.Space.get_chat_messages - Get paginated messages
Compatibility
Compatible with release >.48
Get paginated messages from a space chat.
Parameters:
chat_id(str, required) - Chat ID to retrieve messages fromskip(int, optional) - Number of messages to skip (default: 0)take(int, optional) - Number of messages to return (default: 10, max: 100)
Returns:
Returns a GetAllMessagesResponse object.
unique_sdk.Space.get_latest_message - Get most recent message
Get the most recent message in a space chat.
Parameters:
chat_id(str, required) - Chat ID to get latest message from
Returns:
Returns a Space.Message object.
Example:
unique_sdk.Space.get_space - Get space configuration
Compatibility
Compatible with release >.48
Get detailed space configuration including modules and scope rules.
Parameters:
space_id(str, required) - Space/assistant ID
Returns:
Returns a Space object.
Example:
unique_sdk.Space.delete_chat - Delete a chat
Delete a chat by ID.
Parameters:
chat_id(str, required) - Chat ID to delete
Returns:
Returns a DeleteChatResponse object.
Example:
Use Cases¶
Chat Against File
Wait for Response
Scoped Search
Return Types¶
Space.Message¶
The Space.Message object represents a message in a space chat
Fields:
id(str) - Unique message identifierchatId(str) - Chat ID containing the messagetext(str | None) - Message text contentoriginalText(str | None) - Original message text before processingrole(Literal["SYSTEM", "USER", "ASSISTANT"]) - Message roledebugInfo(Dict[str, Any] | None) - Debug information dictionarycompletedAt(str | None) - Completion timestamp (ISO 8601)createdAt(str | None) - Creation timestamp (ISO 8601)updatedAt(str | None) - Last update timestamp (ISO 8601)stoppedStreamingAt(str | None) - When streaming stopped (ISO 8601)references(List[Reference] | None) - List of source references. SeeSpace.Referencefor structure.assessment(List[Assessment] | None) - List of message assessments. SeeSpace.Assessmentfor structure.
Returned by: Space.create_message(), Space.get_latest_message()
Space.Reference¶
The Space.Reference type defines source reference information for messages
Fields:
name(str) - Reference name/titledescription(str | None) - Reference descriptionurl(str | None) - Reference URLsequenceNumber(int) - Sequence number for ordering referencesoriginalIndex(list[int] | None) - Original index positionssourceId(str) - Source identifiersource(str) - Source name/path
Used in: Space.Message.references
Space.Assessment¶
The Space.Assessment type defines assessment information for messages
Fields:
id(str) - Unique assessment identifiercreatedAt(str) - Creation timestamp (ISO 8601)updatedAt(str) - Last update timestamp (ISO 8601)messageId(str) - Associated message IDstatus(str) - Assessment statusexplanation(str | None) - Assessment explanationlabel(str | None) - Assessment labeltype(str | None) - Assessment typetitle(str | None) - Assessment titlecompanyId(str) - Company IDuserId(str) - User IDisVisible(bool) - Whether assessment is visiblecreatedBy(str | None) - Creator user ID
Used in: Space.Message.assessment
GetAllMessagesResponse¶
The GetAllMessagesResponse object contains paginated messages
Fields:
messages(List[Space.Message]) - List of message objectstotalCount(int) - Total number of messages in chat
Returned by: Space.get_chat_messages()
Space¶
The Space object represents a conversational space/assistant
Fields:
id(str) - Unique space identifiername(str) - Space namedefaultForCompanyId(str | None) - Default company IDtitle(str | None) - Space titlesubtitle(str | None) - Space subtitleexplanation(str | None) - Space explanationalert(str | None) - Alert messageinputLimit(int | None) - Input character limitinputPlaceholder(str | None) - Input placeholder textchatUpload(str) - Chat upload configurationgoals(List[str]) - List of space goalslanguageModel(str | None) - Language model identifierfallbackModule(str) - Fallback module identifieraccess(List[str]) - Access control listisExternal(bool) - Whether space is externalisPinned(bool) - Whether space is pinneduiType(str) - UI type identifiersettings(Dict[str, Any] | None) - Space settingsassistantMcpServers(List[AssistantMcpServer]) - List of MCP servers. SeeSpace.AssistantMcpServerfor structure.modules(List[Module]) - List of configured modules. SeeSpace.Modulefor structure.scopeRules(List[ScopeRule]) - List of scope rules. SeeSpace.ScopeRulefor structure.assistantAccess(List[AssistantAccess]) - List of access controls. SeeSpace.AssistantAccessfor structure.createdAt(str) - Creation timestamp (ISO 8601)updatedAt(str) - Last update timestamp (ISO 8601)
Returned by: Space.get_space()
Space.AssistantMcpServer¶
The Space.AssistantMcpServer object represents an MCP server associated with a space
Fields:
id(str) - Unique MCP server association identifiername(str) - MCP server nameassistantId(str) - Associated assistant/space IDmcpServerId(str) - MCP server IDisEnabled(bool) - Whether the MCP server is enabledcreatedAt(str) - Creation timestamp (ISO 8601)updatedAt(str) - Last update timestamp (ISO 8601)
Used in: Space.assistantMcpServers
Space.Module¶
The Space.Module object represents a module configured for a space
Fields:
id(str) - Unique module identifiername(str) - Module namedescription(str | None) - Module descriptiontoolDefinition(Dict[str, Any] | None) - Tool definition dictionaryconfiguration(Dict[str, Any]) - Module configuration dictionaryassistantId(str) - Associated assistant/space IDweight(int) - Module weight/priorityisExternal(bool) - Whether module is externalisCustomInstructionEnabled(bool) - Whether custom instructions are enabledmoduleTemplateId(str | None) - Module template IDcreatedAt(str) - Creation timestamp (ISO 8601)updatedAt(str) - Last update timestamp (ISO 8601)
Used in: Space.modules
Space.ScopeRule¶
The Space.ScopeRule object represents a scope rule for a space
Fields:
id(str) - Unique scope rule identifierassistantId(str) - Associated assistant/space IDtitle(str) - Scope rule titlecompanyId(str) - Company IDrule(Dict[str, Any]) - UniqueQL rule definitionisAdvanced(bool) - Whether rule uses advanced syntaxcreatedAt(str) - Creation timestamp (ISO 8601)updatedAt(str) - Last update timestamp (ISO 8601)
Used in: Space.scopeRules
Space.AssistantAccess¶
The Space.AssistantAccess object represents access control for a space
Fields:
id(str) - Unique access control identifierentityId(str) - User or group IDentityType(str) - Entity type (e.g., "USER", "GROUP")type(str) - Access type (e.g., "READ", "WRITE")
Used in: Space.assistantAccess
DeleteChatResponse¶
The DeleteChatResponse object contains the deleted chat ID
Fields:
chat_id(str) - ID of the deleted chat
Returned by: Space.delete_chat()
Related Resources¶
- Message API - Direct message management
- Chat in Space Utility - Helper functions
- UniqueQL - Scope rule filtering