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

# Introduction

> Get started with the Grain API for church accounting and donor management.

The Grain API lets you build integrations that read and write church accounting data: transactions, bills, donors, contributions, pledges, and households.

<Info>
  API access is currently available to select organizations. [Request API access](https://grainledger.com/demo) to discuss your integration with the Grain team.
</Info>

## What you can build

<Columns cols={2}>
  <Card title="Accounting sync" icon="landmark" href="/api-reference/transactions/list-transactions">
    Sync bank transactions and vendor bills into your workflows.
  </Card>

  <Card title="Giving data" icon="heart-handshake" href="/api-reference/contributions/list-contributions">
    Read contributions, pledges, and donor records for reporting or ChMS bridges.
  </Card>

  <Card title="Households" icon="users" href="/api-reference/households/list-households">
    Manage household groupings and primary contacts.
  </Card>

  <Card title="OAuth apps" icon="key-round" href="/authentication">
    Authenticate users with Sign in with Grain (OAuth 2.1 + PKCE).
  </Card>
</Columns>

## Base URL

```http theme={"theme":{"light":"github-light","dark":"github-dark"}}
https://api.grainledger.com
```

For local development, use your server URL (for example `http://localhost:3000`).

## Prerequisites

Every request needs:

1. An **OAuth 2.1 access token** from [Sign in with Grain](/authentication)
2. The **`X-Organization-Id` header** for the church whose data you are accessing

See [Organizations](/organizations) for how to find an organization ID.

## Rate limits

| Scope    | Limit                                                           |
| -------- | --------------------------------------------------------------- |
| Standard | 100 requests per minute per organization                        |
| Burst    | Short bursts above the limit may return `429 Too Many Requests` |

Rate limit headers are included on responses:

```http theme={"theme":{"light":"github-light","dark":"github-dark"}}
X-RateLimit-Limit: 100
X-RateLimit-Remaining: 87
X-RateLimit-Reset: 1710000060
```

Contact [Grain Support](https://grainledger.com/support) for higher limits on enterprise integrations.

## Next steps

<CardGroup cols={2}>
  <Card title="Quickstart" icon="rocket" href="/quickstart">
    Make your first authenticated API call in under 10 minutes.
  </Card>

  <Card title="Authentication" icon="shield" href="/authentication">
    Set up OAuth 2.1 with PKCE and token refresh.
  </Card>

  <Card title="API reference" icon="code" href="/api-reference/donors/list-donors">
    Browse endpoints grouped by resource.
  </Card>

  <Card title="Support" icon="message-circle" href="https://grainledger.com/support">
    Get help from the Grain team.
  </Card>
</CardGroup>
