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

# Introduction

> The StellarTools REST API

The StellarTools API lets you manage customers, products, checkouts, subscriptions, payments, refunds, and webhooks over plain HTTP. Every operation maps to a resource with predictable endpoints and consistent response shapes.

**If you're building in TypeScript or JavaScript**, the [TypeScript SDK](/integrations/typescript-sdk) is the faster path as it wraps these endpoints with full type safety and handles auth automatically. The raw API is the right choice when you're working in another language, integrating from a backend that can't run Node, or need low-level control.

## Base URL

```
https://api.stellartools.dev
```

## Responses

<Tabs>
  <Tab title="Success">
    Returns `200` with the result wrapped in a `data` field.

    ```json theme={null}
    { "data": { "id": "cus_01jx...", "object": "customer", ... } }
    ```

    Every resource includes an `object` field identifying its type — e.g. `"customer"`, `"payment"`, `"subscription"`.
  </Tab>

  <Tab title="Error">
    Returns a non-2xx status with an `error` string.

    ```json theme={null}
    { "error": "Customer not found" }
    ```
  </Tab>
</Tabs>

## Pagination

List endpoints support cursor-based pagination via query parameters.

<ParamField query="limit" type="number">
  Maximum number of records to return.
</ParamField>

<ParamField query="starting_after" type="string">
  Return records after this resource ID (exclusive). Use the last ID in the previous page to paginate forward.
</ParamField>

<ParamField query="ending_before" type="string">
  Return records before this resource ID (exclusive). Use the first ID in the current page to paginate backward.
</ParamField>

List responses always have this shape:

```json theme={null}
{
  "object": "list",
  "data": [...],
  "has_more": true,
  "url": "/api/customers"
}
```

## Rate limits

There are no rate limits at this time.
