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

# Introduction

> Overview of GoRules APIs

GoRules provides two services with REST APIs.

<CardGroup cols={2}>
  <Card title="BRMS OpenAPI Spec" icon="download" href="/openapi/brms.json">
    Download the BRMS API specification
  </Card>

  <Card title="Agent OpenAPI Spec" icon="download" href="/openapi/agent.json">
    Download the Agent API specification
  </Card>
</CardGroup>

## BRMS API

The Business Rules Management System (BRMS) API provides full access to manage your rules, projects, releases, environments, and users. Use this API to:

* Manage projects and documents
* Create and deploy releases
* Configure environments
* Evaluate decisions directly through BRMS
* Administer users and permissions

Rule evaluation is served by the **Rules API** (`/api/rules/{projectId}/...`), which evaluates against the main branch, a branch, a commit, a release, or an environment, and serves a per-source OpenAPI document with input and output schemas inferred from your rules - see [Developer tools](/developers/developer-tools). The legacy `/api/projects/{projectId}/evaluate` endpoints continue to work.

The BRMS API requires authentication via [Personal Access Token (PAT)](/api-reference/authentication#personal-access-tokens) or [Evaluation Token](/api-reference/authentication#evaluation-tokens) depending on the endpoint.

<Warning>
  The BRMS API is under active development. Some endpoints may change in future releases and response schemas may be incomplete or inaccurate. If you have integrations using the BRMS API, test them when upgrading to a new version.
</Warning>

## Agent API

The Agent is a lightweight, high-performance service designed for rule evaluation at scale. It loads decision models from releases and executes them with minimal latency. Use the Agent API to:

* Evaluate decisions in production environments
* Handle high-throughput workloads
* Deploy rules closer to your application

Since Agent 1.28.0, the Agent serves the same Rules API surface as BRMS: `POST /api/rules/{project}/evaluate/{path}` for evaluation and `GET /api/rules/{project}` for the OpenAPI document of the loaded release. Clients built against the BRMS Rules API work against the Agent without changes, and the legacy `/api/projects/{project}/evaluate/{key}` endpoint continues to work.

The Agent authenticates with [Evaluation Tokens](/api-reference/authentication#evaluation-tokens) shipped inside the deployed release. If no tokens are scoped to the deployed target, the Agent serves requests without authentication; as soon as at least one token is shipped, a matching `X-Access-Token` header is required.

<Note>
  For deployment options and configuration, see the [Agent deployment guide](/developers/deployment/agent).
</Note>

## Choosing between BRMS and Agent

| Use Case | Service |
| - | - |
| Managing rules and projects | BRMS |
| CI/CD integration | BRMS |
| Development and testing | BRMS |
| Production rule evaluation | Agent |
| High-throughput evaluation | Agent |
| Low-latency requirements | Agent |

For production workloads, we recommend using the Agent for evaluation while using the BRMS API for management operations.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.