> ## Documentation Index
> Fetch the complete documentation index at: https://forest-chore-open-api.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Public API

> Programmatic access to Forest activity logs, admin logs, and notes.

The Forest public API exposes a subset of platform data and operations for programmatic access, useful for compliance reporting, audit log archival, SIEM integration, and external tooling.

## What the API exposes

| Endpoint group                                          | Use case                                                                    |
| ------------------------------------------------------- | --------------------------------------------------------------------------- |
| [Activity logs](/reference/api/endpoints/activity-logs) | Track every action taken in Forest, exports for audit and compliance        |
| [Admin logs](/reference/api/endpoints/admin-logs)       | Track configuration and administrative operations across the project        |
| [Notes](/reference/api/endpoints/notes)                 | Read and write [collaboration notes](/product/collaborate/notes) on records |

If you need data access beyond what's exposed here, you have two options:

* **Use the Forest Agent directly**, the agent serves your collections via its own REST API. See the [Node.js](/reference/agent-api/nodejs) or [Ruby](/reference/agent-api/ruby) agent reference.
* **Connect via MCP**, the [MCP server](/product/embed/mcp-server) exposes your data, actions, and workflows to AI agents under the same governance.

## Base URL

All public API requests go to:

```
https://public-api.forestadmin.com
```

Specific endpoints use a path scoped to your project and environment:

```
GET /v1/project/{projectName}/environment/{environmentName}/activity-logs
GET /v1/project/{projectName}/admin-logs
```

See each endpoint page for the exact path and parameters.

## Authentication

All requests require a Bearer token in the `Authorization` header:

```
Authorization: Bearer YOUR_APPLICATION_TOKEN
```

Tokens must be generated by a user with an Admin role on the project. See [Authentication](/reference/api/authentication) for how to generate and manage tokens.

## Rate limits

The public API enforces per-token rate limits. See [Rate limits](/reference/api/rate-limits) for current values, response headers, and best practices for handling throttling.

## Common use cases

<CardGroup cols={2}>
  <Card title="Audit and compliance" icon="clipboard-list">
    Export activity logs to a data warehouse for long-term retention. Build custom audit dashboards. Pull decision traces for regulator inquiries.
  </Card>

  <Card title="SIEM integration" icon="shield-halved">
    Stream Forest activity into Splunk, Datadog, ELK, CloudWatch, or your existing SIEM.
  </Card>

  <Card title="External collaboration" icon="comments">
    Sync notes between Forest and external collaboration tools (Slack, Teams, internal CRMs).
  </Card>

  <Card title="Custom reporting" icon="chart-line">
    Pull operations data on a schedule and feed it into business reporting tools.
  </Card>
</CardGroup>

## Getting started

<Steps>
  <Step title="Generate an application token">
    Project Settings → API Access → Generate New Token. The user generating the token must have Admin role on the project.
  </Step>

  <Step title="Make your first request">
    Use the token in the `Authorization` header. See [Authentication](/reference/api/authentication) for examples in cURL, Node.js, and Python.
  </Step>

  <Step title="Handle rate limits">
    Read the `X-RateLimit-Remaining` header in responses. Implement exponential backoff for 429 responses.
  </Step>
</Steps>

## Next steps

<CardGroup cols={3}>
  <Card title="Authentication" href="/reference/api/authentication">
    Generate and use API tokens.
  </Card>

  <Card title="Rate limits" href="/reference/api/rate-limits">
    Understand and handle limits.
  </Card>

  <Card title="Activity logs" href="/reference/api/endpoints/activity-logs">
    The most-used endpoint group.
  </Card>
</CardGroup>
