> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://docs.ninjatrader.com/llms.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://docs.ninjatrader.com/_mcp/server.

# Get Org Workspace Template

GET https://demo.tradovateapi.com/v1/organization/getorgworkspacetemplate

### Return the active workspace template assigned to your organization.

**Available to:** All authenticated users

**Environments:** Live

**[Rate Limit](/api/authentication#request-rate-limits-and-time-penalties):** No endpoint-specific limit

Returns the [`WorkspaceTemplate`](/api/rest-api-endpoints/users/workspace-template-item) currently assigned to the calling user's organization. A workspace template defines a default layout that NinjaTrader applies to traders in the organization. This endpoint takes no parameters: it resolves the organization from the access token, reads that organization's assigned template, and returns it.

The response is an `OrgWorkspaceTemplateResponse` containing an `errorText` field and a `workspaceTemplate` object. When a template is found, `workspaceTemplate` carries its `id` and `name`. The template is returned only when it is active; if the organization's assigned template has been deactivated, no template is returned.

The response omits `workspaceTemplate` (rather than returning an error) when the organization has no template assigned, when the assigned template is inactive, or when the calling user does not belong to an organization. In each of these cases `errorText` is empty and `workspaceTemplate` is absent. Treat a missing `workspaceTemplate` as "no active template assigned," not as a failure.

Assigning a template to an organization is an internal NinjaTrader administrative operation and is not part of the partner API. To enumerate the templates available in your environment, use [`workspaceTemplateList`](/api/rest-api-endpoints/users/workspace-template-list).

**Common Failure Scenarios**

- The access token is missing or invalid (returns `HTTP 401`).
- The organization has no active workspace template assigned. This is not an error: the request succeeds with an empty `workspaceTemplate`.

**Error Messages**

| `errorText` | Trigger |
|-------------|---------|
| Non-empty `errorText` | The request failed; the field describes the reason. |

Reference: https://docs.ninjatrader.com/api/rest-api-endpoints/users/get-org-workspace-template

## OpenAPI Specification

```yaml
openapi: 3.1.0
info:
  title: public
  version: 1.0.0
paths:
  /organization/getorgworkspacetemplate:
    get:
      operationId: getOrgWorkspaceTemplate
      summary: Get Org Workspace Template
      description: >-
        ### Return the active workspace template assigned to your organization.


        **Available to:** All authenticated users


        **Environments:** Live


        **[Rate
        Limit](/api/authentication#request-rate-limits-and-time-penalties):** No
        endpoint-specific limit


        Returns the
        [`WorkspaceTemplate`](/api/rest-api-endpoints/users/workspace-template-item)
        currently assigned to the calling user's organization. A workspace
        template defines a default layout that NinjaTrader applies to traders in
        the organization. This endpoint takes no parameters: it resolves the
        organization from the access token, reads that organization's assigned
        template, and returns it.


        The response is an `OrgWorkspaceTemplateResponse` containing an
        `errorText` field and a `workspaceTemplate` object. When a template is
        found, `workspaceTemplate` carries its `id` and `name`. The template is
        returned only when it is active; if the organization's assigned template
        has been deactivated, no template is returned.


        The response omits `workspaceTemplate` (rather than returning an error)
        when the organization has no template assigned, when the assigned
        template is inactive, or when the calling user does not belong to an
        organization. In each of these cases `errorText` is empty and
        `workspaceTemplate` is absent. Treat a missing `workspaceTemplate` as
        "no active template assigned," not as a failure.


        Assigning a template to an organization is an internal NinjaTrader
        administrative operation and is not part of the partner API. To
        enumerate the templates available in your environment, use
        [`workspaceTemplateList`](/api/rest-api-endpoints/users/workspace-template-list).


        **Common Failure Scenarios**


        - The access token is missing or invalid (returns `HTTP 401`).

        - The organization has no active workspace template assigned. This is
        not an error: the request succeeds with an empty `workspaceTemplate`.


        **Error Messages**


        | `errorText` | Trigger |

        |-------------|---------|

        | Non-empty `errorText` | The request failed; the field describes the
        reason. |
      tags:
        - Users
      parameters:
        - name: Authorization
          in: header
          description: Bearer authentication
          required: true
          schema:
            type: string
      responses:
        '200':
          description: OrgWorkspaceTemplateResponse
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OrgWorkspaceTemplateResponse'
servers:
  - url: https://demo.tradovateapi.com/v1
    description: Demo
  - url: https://live.tradovateapi.com/v1
    description: Live
components:
  schemas:
    WorkspaceTemplate:
      type: object
      properties:
        id:
          type: integer
          format: int64
        name:
          type: string
      required:
        - name
      title: WorkspaceTemplate
    OrgWorkspaceTemplateResponse:
      type: object
      properties:
        errorText:
          type: string
          description: Non-empty if the request failed
        workspaceTemplate:
          $ref: '#/components/schemas/WorkspaceTemplate'
      title: OrgWorkspaceTemplateResponse
  securitySchemes:
    bearer_access_token:
      type: http
      scheme: bearer

```

## Examples



**Response**

```json
{
  "errorText": "string",
  "workspaceTemplate": {
    "name": "string",
    "id": 1
  }
}
```

**SDK Code**

```python
import requests

url = "https://demo.tradovateapi.com/v1/organization/getorgworkspacetemplate"

headers = {"Authorization": "Bearer <token>"}

response = requests.get(url, headers=headers)

print(response.json())
```

```javascript
const url = 'https://demo.tradovateapi.com/v1/organization/getorgworkspacetemplate';
const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};

try {
  const response = await fetch(url, options);
  const data = await response.json();
  console.log(data);
} catch (error) {
  console.error(error);
}
```

```go
package main

import (
	"fmt"
	"net/http"
	"io"
)

func main() {

	url := "https://demo.tradovateapi.com/v1/organization/getorgworkspacetemplate"

	req, _ := http.NewRequest("GET", url, nil)

	req.Header.Add("Authorization", "Bearer <token>")

	res, _ := http.DefaultClient.Do(req)

	defer res.Body.Close()
	body, _ := io.ReadAll(res.Body)

	fmt.Println(res)
	fmt.Println(string(body))

}
```

```ruby
require 'uri'
require 'net/http'

url = URI("https://demo.tradovateapi.com/v1/organization/getorgworkspacetemplate")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'

response = http.request(request)
puts response.read_body
```

```java
import com.mashape.unirest.http.HttpResponse;
import com.mashape.unirest.http.Unirest;

HttpResponse<String> response = Unirest.get("https://demo.tradovateapi.com/v1/organization/getorgworkspacetemplate")
  .header("Authorization", "Bearer <token>")
  .asString();
```

```php
<?php
require_once('vendor/autoload.php');

$client = new \GuzzleHttp\Client();

$response = $client->request('GET', 'https://demo.tradovateapi.com/v1/organization/getorgworkspacetemplate', [
  'headers' => [
    'Authorization' => 'Bearer <token>',
  ],
]);

echo $response->getBody();
```

```csharp
using RestSharp;

var client = new RestClient("https://demo.tradovateapi.com/v1/organization/getorgworkspacetemplate");
var request = new RestRequest(Method.GET);
request.AddHeader("Authorization", "Bearer <token>");
IRestResponse response = client.Execute(request);
```

```swift
import Foundation

let headers = ["Authorization": "Bearer <token>"]

let request = NSMutableURLRequest(url: NSURL(string: "https://demo.tradovateapi.com/v1/organization/getorgworkspacetemplate")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "GET"
request.allHTTPHeaderFields = headers

let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
  if (error != nil) {
    print(error as Any)
  } else {
    let httpResponse = response as? HTTPURLResponse
    print(httpResponse)
  }
})

dataTask.resume()
```