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

# Server-side quickstart

> Verify server-side authentication, list accessible agents, and inspect a selected configuration with the public API.

Use this read-only workflow to confirm that an integration can reach the intended workspace. It does not create a conversation or change an agent.

<Frame caption="Recording pending: Read an agent through the API. Follow the written guide below.">
  <img src="https://mintcdn.com/threetonelabs-c2efc9c8/RV32i5440UZIaFHA/images/tutorials/recording-pending.webp?fit=max&auto=format&n=RV32i5440UZIaFHA&q=85&s=55f66d2eef49d8c92c9ac46f84bace35" alt="Recording pending for Read an agent through the API. No playable video is available yet." width="1600" height="900" className="w-full h-auto aspect-video" loading="lazy" noZoom data-path="images/tutorials/recording-pending.webp" />
</Frame>

## Before you begin

Create a scoped [API key](/overview/administration/workspaces/api-keys). Store it as `THREETONE_API_KEY` in your server environment. You need permission to read agents in the selected workspace.

<Steps>
  <Step title="List accessible agents">
    Send a request to [List agents](/api-reference/agents-platform/list-agents). Follow the returned pagination cursor when more results are available.

    ```bash theme={null}
    curl --fail-with-body --request GET \
      --url https://api.threetone.in/v1/convai/agents \
      --header "x-api-key: $THREETONE_API_KEY"
    ```
  </Step>

  <Step title="Inspect one configuration">
    Use a returned agent ID with [Get agent](/api-reference/agents-platform/get-agent). Confirm its branch and version metadata, prompt, model, and resource references. Do not substitute a display name for its ID.
  </Step>

  <Step title="Handle failures explicitly">
    Set request timeouts in your application. Distinguish authentication failures, unavailable resources, validation errors, and service failures. Log status and a safe request identifier rather than keys, prompts, or transcripts.
  </Step>
</Steps>

Use the [Python](/agents-platform/resources/sdks/python) or [TypeScript](/agents-platform/resources/sdks/typescript) REST examples for application code. Continue with [API quickstart](/agents-platform/get-started/api-quickstart) when you need to create a configuration.

## Frequently asked questions

<AccordionGroup>
  <Accordion title="Does an empty list mean authentication failed?" id="faq-server-empty-list">Not necessarily. Check the response status, workspace access, filters, and pagination. An empty successful response may contain no accessible agents.</Accordion>
  <Accordion title="Can this key be used in a browser?" id="faq-server-browser-key">Keep workspace API keys on a trusted server. Browser session access requires a separate supported authentication path.</Accordion>
</AccordionGroup>


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.