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

# API introduction

> Everything you need to know about the Propal public API.

The Propal API is a RESTful API that lets you programmatically manage your proposals, contacts, products, templates, and more. Use it to integrate Propal with your CRM, build custom automations, or create dashboards with your proposal data.

## Base URL

All API requests are made to:

```
https://api.propal.io/v1
```

## Resources

<CardGroup cols={2}>
  <Card title="Proposals" icon="file-text" href="/api-reference/resources/proposals/list">
    Create, update, publish, and track proposals.
  </Card>

  <Card title="Leads" icon="users" href="/api-reference/resources/leads/list">
    Manage contacts and sync them with your CRM.
  </Card>

  <Card title="Catalog" icon="package" href="/api-reference/resources/catalog/list-items">
    Manage your product catalog, items, bundles, and pricing.
  </Card>

  <Card title="Templates" icon="layout" href="/api-reference/resources/templates/list">
    List and use proposal templates.
  </Card>

  <Card title="Themes" icon="palette" href="/api-reference/resources/themes/list">
    Manage design themes: fonts, colors, and tokens.
  </Card>

  <Card title="Media" icon="image" href="/api-reference/resources/media/list-files">
    Upload and manage files and folders.
  </Card>

  <Card title="Metrics" icon="bar-chart-3" href="/api-reference/resources/metrics/overview">
    Access pipeline, conversion, sales, and team analytics.
  </Card>

  <Card title="Organization" icon="building-2" href="/api-reference/resources/organization/get">
    Read organization details and team members.
  </Card>
</CardGroup>

## Key principles

| Principle             | Description                                                                                                                                     |
| --------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------- |
| **REST + JSON**       | Standard HTTP methods, JSON request/response bodies, predictable URLs.                                                                          |
| **API key auth**      | Every request requires a Bearer token. Keys are scoped to an organization.                                                                      |
| **Cursor pagination** | All list endpoints use `limit` and `after` parameters.                                                                                          |
| **Consistent errors** | Errors return structured JSON with a `code` and `message`.                                                                                      |
| **Rate limited**      | Requests are throttled per organization. See [rate limiting](/api-reference/rate-limiting).                                                     |
| **Signed uploads**    | File uploads use signed URLs — upload directly to storage, no size limit. See [quickstart](/api-reference/quickstart#5-upload-a-file-optional). |

## Not in v1

The following are not available in the current API version:

* Webhooks (planned)
* OAuth2 / delegated authorization
* Editing proposal rich text content (TipTap JSON)
* GraphQL / WebSockets
* Subscription and billing management
* PDF export
