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

# Getting Started

# Accessing the API

The API is made available via [Trust Stack Console](https://console.truststack.dev). Console lets you manage your account, applications, and API keys.
Before you can access the API, you'll need to create an account, and a developer access key.

# Authentication

All requests to the Trust Stack API must included a `Authorization` header with a value in the format of `Bearer <access_key>`.
If you are using the Client SDKs, you will set the access key either via environment variable or when initialize the client.

If you choose to use the API directly, you can set the access key in the header of your request yourself.

## Organizations

An important concept in the Trust Stack is the `Organization`. An organization is a collection of users without your own application boundary.
Learn more about organizations [here](/documentation/organizations). When using the API, you can specify the organization in the header of your request `X-Organization-Id`.

# Content Types

The Trust Stack API always accepts JSON in request bodies and returns JSON in response bodies. You will need to set the `Content-Type` header to `application/json` in your request.
If you are using the Client SDKs, you will not need to worry about this.

# Examples

<Tabs>
  <Tab title="Curl">
    ```bash theme={null}
    curl -X GET "https://api.truststack.dev/v1/organizations/create"  \
        --header "Authorization: Bearer <access_key>" \ 
        --header "Content-Type: application/json" \
        ---data \
    '{
        "name": "ACME Farms"
    }'
    ```
  </Tab>

  <Tab title="TypeScript">
    ```bash theme={null}
    npm install @truststack/admin # Or @truststack/canvas, @truststack/hermes, etc.
    ```

    ```typescript theme={null}
    import { AdminClient } from '@truststack/admin';

    // Or with the TRUSTACK_ACCESS_KEY environment variable
    AdminClient.configure({ accessKey: '<access_key>' });

    const client = new AdminClient();
    const organizations = await client.createOrganization({ name: 'ACME Farms' });
    ```
  </Tab>
</Tabs>
