Create docs
Creates a document, as the caller, after its siblings.
POST /v1/team/docs
| Address | https://api.hanzo.ai/v1/team/docs |
| Method | POST |
| Operation | post_team_docs |
| Auth | Authorization: Bearer $HANZO_API_KEY |
Creates a document, as the caller, after its siblings.
It is created through the Team client's own write path, so it appears in an
open Documents sidebar live, and its author is subscribed to it: a comment on
it lands in their inbox. Its body starts empty — open the returned
collaborator id on the /v1/team/collaborator socket to write it.
A space whose caller can write no teamspace at all gets one on its first document: a public "General" teamspace every current member of the space is in, which is what the Team client would otherwise make somebody create by hand before the first page. Guests and agents are not made members of it.
Request
4 fields, body application/json (required).
| Field | In | Type | Required | Description |
|---|---|---|---|---|
parent | body | string | — | Parent nests the new document under another one. |
space | body | string | — | Space is the space uuid. |
teamspace | body | string | — | Teamspace is where the document goes. |
title | body | string | — | Title is the document's title. |
Response
| Status | Body | Meaning |
|---|---|---|
201 | team.teamDoc | created |
default | problem-details | refused |
201 body — 11 fields.
| Field | In | Type | Always | Description |
|---|---|---|---|---|
author | body | string | — | Author is the account uuid that created it. |
collaborator | body | string | — | Collaborator is the documentId to open the body with on the /v1/team/collaborator Y.js socket: "<space>|document:class:Document|<id>|content". |
comments | body | integer (int64) | — | Comments is how many comments it has. |
createdOn | body | integer (int64) | — | CreatedOn is when it was created, unix milliseconds. |
id | body | string | — | ID is the document's own id. |
modifiedOn | body | integer (int64) | — | ModifiedOn is when its title or place last changed, unix milliseconds. |
parent | body | string | — | Parent is the document this one is nested under. |
rank | body | string | — | Rank orders siblings: compare as plain strings, ascending. |
space | body | string | — | Space is the space uuid holding it. |
teamspace | body | string | — | Teamspace is the teamspace it belongs to. |
title | body | string | — | Title is the document's title. |
Failure carries the platform error shape — see Errors.
Examples
hanzo has no subcommand for this operation — the CLI serves only what cloud's live route table confirms. Use HTTP or an SDK.
import { Configuration, TeamApi } from 'hanzoai';
const api = new TeamApi(new Configuration({ accessToken: process.env.HANZO_API_KEY }));
const { data } = await api.postTeamDocs({ parent: "<parent>", space: "<space>" });from hanzoai.cloud import ApiClient, Configuration
from hanzoai.cloud.api import TeamApi
client = ApiClient(Configuration(access_token=os.environ["HANZO_API_KEY"]))
result = TeamApi(client).post_team_docs(parent="<parent>", space="<space>")cfg := hanzoai.NewConfiguration()
cfg.AddDefaultHeader("Authorization", "Bearer "+os.Getenv("HANZO_API_KEY"))
client := hanzoai.NewAPIClient(cfg)
resp, _, err := client.TeamAPI.PostTeamDocs(context.Background()).Execute()
if err != nil {
return err
}use hanzo_client::apis::{configuration::Configuration, team_api};
let mut cfg = Configuration::new();
cfg.bearer_access_token = std::env::var("HANZO_API_KEY").ok();
let result = team_api::post_team_docs(&cfg, Default::default()).await?;import ai.hanzo.cloud.ApiClient;
import ai.hanzo.cloud.api.TeamApi;
ApiClient client = new ApiClient();
client.setBearerToken(System.getenv("HANZO_API_KEY"));
var result = new TeamApi(client).postTeamDocs();The method above is the one at the current release of the document. [email protected] (npm) and [email protected] (PyPI) were generated from an earlier release, where this operation carried a different id, so it spells the method differently — regenerating the clients is what makes the two agree. SDKs →
curl -X POST https://api.hanzo.ai/v1/team/docs \
-H "Authorization: Bearer $HANZO_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"parent": "<parent>",
"space": "<space>"
}'MCP reaches team through the team tool, which names its 18 operations with its own verbs — this one among them, under a name only MCP declares. describe explains any of them:
curl -X POST https://api.hanzo.ai/v1/mcp \
-H "Content-Type: application/json" \
-d '{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "describe",
"arguments": {
"op": "get_collaborator"
}
}
}'How is this guide?