# Overview

> A single GraphQL endpoint for your Clad workspace: issues, replies, CRM, knowledge base, and webhooks.

Product: Clad API
Source: https://docs.useclad.ai/api/overview

---

The Clad API is a GraphQL API served from a single endpoint. You send queries
(to read data) and mutations (to change data) as HTTP `POST` requests with a
JSON body.

Production endpoint:

```text
https://clad-server-production.up.railway.app/graphql
```

If your Clad team gives you a different endpoint, use that one instead. The
endpoint shown in **Settings → API** is the source of truth for your workspace.

Every request must send an `Authorization: Bearer <api-key>` header. A request
body looks like this:

```json
{
  "query": "query { apiInfo }",
  "variables": {}
}
```

### API Explorer

Open the endpoint in a browser to load the **Clad API Explorer**, an interactive
GraphiQL IDE with full schema documentation and autocomplete. Browsing the
schema needs no key. To actually run a query or mutation, add your key in the
Explorer's **Headers** tab:

```json
{ "Authorization": "Bearer clad_mk_..." }
```

**[Open the API Explorer →](https://clad-server-production.up.railway.app/graphql)**

### Schema & codegen

The GraphQL schema is the full, machine-readable contract for the API — every
type, query, and mutation. You can feed it to a code generator (for example
[GraphQL Code Generator](https://the-guild.dev/graphql/codegen)) to produce
typed client code for your project, so you get autocomplete and compile-time
checks instead of hand-writing types.

You don't download a schema file — instead your codegen tool **asks the live API
to describe itself** (a built-in GraphQL feature called *introspection*). The
schema is public, so just point the tool at the endpoint — no key required:

```yaml
# codegen.yml — GraphQL Code Generator
schema:
  - https://clad-server-production.up.railway.app/graphql
generates:
  src/clad-types.ts:
    plugins:
      - typescript
```

Because the schema comes straight from the running server, your generated types
always match the current contract — just re-run codegen whenever the schema
changes. Prefer to explore by hand first? The API Explorer above browses the same
schema interactively.

### Health check

`apiInfo` is the simplest query and needs only a valid key. Use it to confirm
connectivity, the API version, and the current schema hash:

```graphql
query { apiInfo }
```
