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

# autumnHandler

> Server-side handler for managing Autumn API endpoints and customer authentication

The `autumnHandler` creates server-side endpoints that handle communication between your frontend React hooks and Autumn's API. It manages customer authentication and proxies requests securely using your secret key.

<Tip>
  Learn how to setup Autumn hooks in the [Getting Started](/documentation/getting-started/setup) guide.
</Tip>

## Framework adapters

Import the handler from the adapter that matches your backend framework:

| Framework             | Import path         |
| --------------------- | ------------------- |
| Next.js               | `autumn-js/next`    |
| Hono                  | `autumn-js/hono`    |
| Elysia / Web Standard | `autumn-js/fetch`   |
| Express               | `autumn-js/express` |
| Other                 | `autumn-js/backend` |

The Web Standard adapter (`autumn-js/fetch`) works with any runtime that uses the Fetch API `Request`/`Response` objects, including Elysia, Cloudflare Workers, and Deno.

<Note>
  The Express adapter requires `express.json()` body-parser middleware before the Autumn handler. See the [setup guide](/documentation/getting-started/setup) for full examples.
</Note>

## Usage

```ts theme={null}
// app/api/autumn/[...all]/route.ts
import { autumnHandler } from "autumn-js/next";
import { auth } from "@clerk/nextjs/server";

export const { GET, POST } = autumnHandler({
  identify: async () => {
    const { userId } = await auth();
    return { customerId: userId };
  },
});
```

## Parameters

<ParamField body="identify" type="(request: Request) => AuthResult" required>
  Function that receives the incoming request and returns customer identification data.

  <Expandable title="AuthResult">
    <ParamField body="customerId" type="string" required>
      The unique identifier for the customer.
    </ParamField>

    <ParamField body="customerData" type="CustomerData">
      Additional metadata about the customer (e.g., `name`, `email`).
    </ParamField>
  </Expandable>
</ParamField>

<ParamField body="secretKey" type="string">
  Autumn API secret key. Defaults to `AUTUMN_SECRET_KEY` environment variable.
</ParamField>

<ParamField body="autumnURL" type="string">
  Override the Autumn API URL. Use when self-hosting.
</ParamField>

<ParamField body="pathPrefix" type="string">
  Path prefix for routes. Defaults to `/api/autumn`.
</ParamField>

<ParamField body="suppressLogs" type="boolean">
  If true, suppresses console warnings and logs.
</ParamField>
