create_space #
Generated automatically from the published contract sources.
A script calls this action over HTTPS at POST https://turnzero.ai/api/v1/actions/create_space, with a bearer credential and the action's payload as the JSON body. An MCP connection lists this action as the tool tztrack_create_space.
Build metadata: Registered in this build. Registration describes the default dispatcher in this build. It does not guarantee that a caller has the required credential or grant, that a tool is listed for that connection, or that the required service is configured.
Contract description #
Create an issue space your account owns, for a repository's issue list or a program's checks. Pass your own space UUID to make a repeat safe, and a name of up to 100 characters, which it requires, to tell it apart in the listing; rename_space changes the name later. Pass the new space's id to a tztrack_ tool to use it at once; from a script, use a token with the issues grant. Your account needs tzTrack, which every account has.
Access and action metadata #
{
"name": "create_space",
"resource": "account",
"tier": "reversible",
"surface": "tztrack",
"product": "tztrack",
"admits": [
"tztrack",
"device_sign_in"
],
"summary": "Create an issue space the account holds at the issue service, the space a repository's issue list or a program's checks live in: the optional `space` is a lower-case UUID you choose, so a repeat whose answer was lost converges on the same space, and absent, the platform chooses one. The required `name`, 1 to 100 printable characters and refused `invalid_request` when absent or outside that, is the space's display name, written only when the call first records the space for the account: a repeat finding the space recorded keeps the name it has, and a retry after a lost answer still writes it. The space's own token stays in the platform's vault; a program reaches the space through `relay_issue_act` under a token minted with the `issues` grant for it. The answer carries the space's identifier, whether this call created it, and the space's display name, null where it has none. The account must hold tzTrack, refused `blueprint_required` ahead of the request's form and the bounds where it does not. Bounded per account per minute, refused `feedback_rate_limited`; `issue_service_unreachable` where the service or the platform's provisioning credential could not be reached. Registered while the issue service's origin is configured.",
"annotations": {
"readOnlyHint": false,
"destructiveHint": false,
"openWorldHint": false,
"idempotentHint": true
}
}
MCP catalog entry #
{
"name": "create_space",
"title": "Create issue space",
"tier": "reversible",
"scenario": "API-L0-20",
"summary": "Create an issue space your account owns, for a repository's issue list or a program's checks. Pass your own `space` UUID to make a repeat safe, and a `name` of up to 100 characters, which it requires, to tell it apart in the listing; `rename_space` changes the name later. Pass the new space's id to a `tztrack_` tool to use it at once; from a script, use a token with the `issues` grant. Your account needs tzTrack, which every account has.",
"owners": [
"MAPI-14"
]
}
request #
| JSON pointer | Description and constraints |
|---|---|
| "" (root) | Type: object Required fields: ["name"] |
| / |
Optional: the identifier you choose, a lower-case UUID, so a repeat converges on the same space. Type: string Pattern: ^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$ |
| / |
Required: the space's display name, 1 to 100 printable characters, which the space listing shows. It is written only when the call first records the space for your account, a retry after a lost answer included; a repeat that finds it recorded keeps its name. rename_space changes it.Type: string Minimum length: 1 Maximum length: 100 |
response #
| JSON pointer | Description and constraints |
|---|---|
| "" (root) | Type: object Required fields: ["contract_version","space"] |
| / |
Required value: 1 |
| / |
The short reference the platform recorded your call under: ten lowercase hexadecimal characters, the value in the call's record row. Quote it when you report the call. Type: string Pattern: ^[0-9a-f]{10}$ |
| / |
Type: object Required fields: ["id","kind","created","name"] |
| / |
Type: string |
| / |
Type: string Allowed values: ["account"] |
| / |
True where this call created the space; false where it already existed. Type: boolean |
| / |
The space's display name, null where it has none: the name written when the space was first recorded for the account. A repeat returns it unchanged. Type: ["string","null"] |
Complete payload contract #
{
"request": {
"type": "object",
"properties": {
"space": {
"type": "string",
"pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$",
"description": "Optional: the identifier you choose, a lower-case UUID, so a repeat converges on the same space."
},
"name": {
"type": "string",
"minLength": 1,
"maxLength": 100,
"description": "Required: the space's display name, 1 to 100 printable characters, which the space listing shows. It is written only when the call first records the space for your account, a retry after a lost answer included; a repeat that finds it recorded keeps its name. `rename_space` changes it."
}
},
"required": [
"name"
]
},
"response": {
"type": "object",
"required": [
"contract_version",
"space"
],
"properties": {
"contract_version": {
"const": 1
},
"reference": {
"type": "string",
"pattern": "^[0-9a-f]{10}$",
"description": "The short reference the platform recorded your call under: ten lowercase hexadecimal characters, the value in the call's record row. Quote it when you report the call."
},
"space": {
"type": "object",
"required": [
"id",
"kind",
"created",
"name"
],
"properties": {
"id": {
"type": "string"
},
"kind": {
"type": "string",
"enum": [
"account"
]
},
"created": {
"type": "boolean",
"description": "True where this call created the space; false where it already existed."
},
"name": {
"type": [
"string",
"null"
],
"description": "The space's display name, null where it has none: the name written when the space was first recorded for the account. A repeat returns it unchanged."
}
}
}
}
}
}
Shared contracts #
- Refusals: every refusal, by surface, with its cause and its remedy
- schemas/wire_error.schema.json
- schemas/wire_errors.json
- schemas/action_payloads.json (includes shared shapes)
- management_api_contract.md