> ## Documentation Index
> Fetch the complete documentation index at: https://docs.orgo.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Get template schema

> Fetch the canonical orgo.ai/v1 template JSON Schema.

Returns the complete `orgo.ai/v1` template schema as [JSON Schema](https://json-schema.org/) (Draft 2020-12) - every field, its type, accepted values, and a description. This is the canonical machine-readable contract for templates, consumed by editors, the CLI, and AI agents.

<Info>
  This endpoint is **public**. It requires no API key, sets permissive CORS headers, and is cacheable, so any tool can fetch it directly.
</Info>

## Response

A JSON Schema document. The top-level `properties` describe each template field; `$defs` holds the reusable sub-objects (`hardware`, `app`, `service`, `trigger`, and so on). For a guided walkthrough, see the [schema reference](/guides/templates/schema).

## Example

<CodeGroup>
  ```bash cURL theme={null}
  curl https://www.orgo.ai/api/template-schema
  ```

  ```python Python theme={null}
  import requests

  schema = requests.get("https://www.orgo.ai/api/template-schema").json()
  print(schema["title"])  # "Orgo Template (orgo.ai/v1)"
  print(list(schema["properties"]))
  ```

  ```javascript JavaScript theme={null}
  const schema = await (
    await fetch("https://www.orgo.ai/api/template-schema")
  ).json();
  console.log(schema.title);
  ```
</CodeGroup>

### Response (excerpt)

```json theme={null}
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://orgo.ai/schemas/template/orgo.ai-v1.json",
  "title": "Orgo Template (orgo.ai/v1)",
  "type": "object",
  "required": ["api_version", "template"],
  "properties": {
    "api_version": { "type": "string", "enum": ["orgo.ai/v1"] },
    "template": { "$ref": "#/$defs/metadata" },
    "hardware": { "$ref": "#/$defs/hardware" }
  }
}
```

<Tip>
  Point your editor's YAML language server at this URL for inline autocomplete and validation:

  ```yaml theme={null}
  # yaml-language-server: $schema=https://www.orgo.ai/api/template-schema
  api_version: orgo.ai/v1
  ```
</Tip>


## OpenAPI

````yaml GET /template-schema
openapi: 3.1.0
info:
  title: Orgo API
  description: >-
    Launch cloud computers that AI agents can control and interact with. Create
    workspaces, provision computers, and control them programmatically.
  version: 2.0.0
  contact:
    name: Orgo Support
    email: spencer@orgo.ai
    url: https://orgo.ai
servers:
  - url: https://www.orgo.ai/api
    description: Production
security:
  - bearerAuth: []
tags:
  - name: Workspaces
    description: Organize computers into named workspaces
  - name: Computers
    description: Provision and manage virtual computers
  - name: Computer Lifecycle
    description: Start, stop, and restart computers
  - name: Computer Actions
    description: Control mouse, keyboard, and execute commands
  - name: Streaming
    description: Stream computer display via RTMP
  - name: Files
    description: Upload and download files
  - name: Templates
    description: Author, build, and launch reproducible computers from templates
paths:
  /template-schema:
    get:
      tags:
        - Templates
      summary: Get template schema
      description: >-
        Returns the canonical orgo.ai/v1 template schema as JSON Schema (Draft
        2020-12) - every field, its type, accepted values, and a description.
        Public endpoint: no API key required, permissive CORS, cacheable.
      operationId: getTemplateSchema
      responses:
        '200':
          description: The orgo.ai/v1 JSON Schema document.
          content:
            application/schema+json:
              schema:
                type: object
      security: []
components:
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      description: API key authentication. Get your key at orgo.ai/workspaces

````