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

# Make your first API read

> Verify a bearer credential, list visible workspaces, and list Skills with the public HTTP API.

Use this quickstart when you have a pre-provisioned credential and need to
confirm what it can read. The three requests are read-only. They do not create
or change Registry content.

<Note>
  **Preview.** Run the requests in an approved development environment before
  relying on them in production automation.
</Note>

## Before you start

* Obtain a bearer credential through your organization's access process.
* Keep it in an approved secret store or ignored local environment file.
* Set the public Gateway URL and credential in your shell:

```bash theme={null}
export ATLAN_GATEWAY_URL="https://agentgateway.atlan.engineering"
export ATLAN_TOKEN="<token>"
```

## Choose your interface

The identity response confirms the caller and whether it has completed
onboarding. Workspace and Skill lists return visible results; an empty list is
still a successful read.

<Tabs>
  <Tab title="CLI">
    Use the CLI for local work, CI jobs, and coding agents that need
    machine-readable output.

    ```bash theme={null}
    atlanai auth status
    atlanai workspace list --json id,display_name,effective_role
    atlanai skill list --json id,name,artifact_status
    ```

    `auth status` identifies the resolved account and credential source without
    printing the credential. Select a workspace returned by `workspace list`
    before a write.
  </Tab>

  <Tab title="JavaScript SDK">
    Atlan does not publish a client package yet. Copy the dependency-free
    `createAtlanJsonClient` helper from the [SDK guide](/sdk/overview) into
    `atlan-client.js`, then use it for the same reads.

    ```js theme={null}
    import { createAtlanJsonClient } from "./atlan-client.js";

    const atlan = createAtlanJsonClient({
      gatewayUrl: process.env.ATLAN_GATEWAY_URL,
      token: process.env.ATLAN_TOKEN,
    });

    const [identity, workspaces, skills] = await Promise.all([
      atlan("/registry/v1/auth/whoami"),
      atlan("/registry/v1/workspaces?limit=20"),
      atlan("/skill/v1/skills?limit=20"),
    ]);
    console.log({ identity, workspaces, skills });
    ```
  </Tab>
</Tabs>

## Verify the result

Confirm that the identity is the expected account, then choose a workspace
returned by the CLI or SDK response before a write. If the response is an
error, use [Errors and retries](/developers/errors-and-retries); do not change
a workspace ID or retry a write until you understand the result.

Next, [publish and retrieve a Skill](/developers/skills) or use the
[CLI Skill workflow](/cli/get-started).
