canonical: https://jentic.com/apis/juspronto.com.br/juspronto

# Juspronto: superfície pública para agentes (conector MCP e OAuth)

The Juspronto API is the public agent surface of Juspronto, a practice management system for Brazilian law firms. Its core is a single JSON-RPC 2.0 connector endpoint that lets an authorised agent read the firm's deadlines (prazos), cases and their filings, the day's agenda, and imported case records (autos), and, with the matching scopes, create deadlines, tasks, and draft documents that a lawyer reviews and approves inside Juspronto. Access is granted through OAuth 2.1 with PKCE and dynamic client registration, where the lawyer picks the permissions on a consent screen, or through a read-only key created by a partner or manager. Public discovery documents, including OAuth metadata, the server card, llms.txt, and the pricing page in Markdown, are served without authentication. Nothing is filed with a court through the connector.

## For AI agents

Read a Brazilian law firm's deadlines, cases, agenda, and case records in Juspronto, and with write scopes create deadlines, tasks, and draft documents for lawyer review, through one JSON-RPC connector authorised by OAuth.

## Scope

Does not handle court filing, billing, or case law search. Use for reading and updating a Brazilian law firm's Juspronto deadlines, cases, and drafts only.

## Capabilities

- Send JSON-RPC 2.0 messages to the Juspronto connector to list and call the tools the lawyer authorised, such as reading open deadlines and the day's hearings
- Register an OAuth client dynamically, run the authorization code flow with PKCE S256, and exchange or refresh tokens
- Request scopes such as prazos:read, processos:read, dashboard:read, and autos:read, plus write scopes like prazos:write and minutas:write where the lawyer grants them
- Read who connected through the OIDC userinfo endpoint
- Fetch the public discovery documents: protected resource and authorization server metadata, OpenID configuration, the server card, and the API catalog
- Read Juspronto's plans, prices, and limits from the public Markdown pricing page

## Use cases

### Agent Deadline Review via Jentic

An AI agent working for a Brazilian law firm calls the Juspronto connector each morning with the read scopes the lawyer granted, lists the available tools, and reads open and overdue deadlines plus the day's hearings. Through Jentic the agent finds the connector operation by intent and calls it with the OAuth token held by your own instance, then reports what needs attention without the lawyer opening the app.

Example prompt: Send initialize, then tools/list, to the Juspronto connector, call the tool that returns overdue deadlines, and summarise them by case for the lawyer

### Draft Preparation for Lawyer Approval

With the minutas:write scope granted, an agent saves and updates pending drafts inside Juspronto for a lawyer to review and approve. Per the scope's own description, nothing is filed with the court, so the lawyer stays the one who approves and files.

Example prompt: Using a token with minutas:write, call the connector tool that saves a pending draft for case number 0001234-56.2026.8.26.0100 so the responsible lawyer can review it

### Connecting a New Agent Client

A developer building an agent client registers it with dynamic client registration by posting its redirect_uris, sends the lawyer to the authorize endpoint with a code_challenge and the requested scope, and exchanges the returned code for tokens. The discovery documents describe the authorization server and protected resource so the client can configure itself.

Example prompt: Fetch the authorization server metadata, register a client with redirect_uris, and build the authorize URL with code_challenge_method S256 and scope 'prazos:read processos:read dashboard:read autos:read'

## Key endpoints

| Method | Path | Description |
| --- | --- | --- |
| POST | `/api/mcp` | Send a JSON-RPC message to the connector |
| POST | `/api/mcp-oauth/register` | Register an OAuth client |
| GET | `/api/mcp-oauth/authorize` | Start the authorization flow |
| POST | `/api/mcp-oauth/token` | Exchange a code or refresh a token |
| GET | `/api/mcp-oauth/userinfo` | Get the connected person |
| GET | `/.well-known/oauth-authorization-server` | Get authorization server metadata |

## Key resources

- **Connector endpoint** — The JSON-RPC 2.0 endpoint through which an authorised agent lists and calls tools over the firm's data.
- **OAuth** — Dynamic client registration, authorization, token exchange and refresh, and userinfo.
- **Discovery documents** — OAuth and OpenID metadata, server card, API catalog, llms.txt, and Markdown pages.

## AI readiness

This API is usable in Jentic One now. Its AI-readiness score against Jentic's framework shows where it stands today and where improvements would make it even easier for agents to use.

- **Score:** 75 / 100
- **Maturity:** AI-Ready
- **Dimensions:**
  - Foundational Compliance: 93 / 100
  - Developer Experience & Jentic Compatibility: 62 / 100
  - AI-Readiness & Agent Experience: 63 / 100
  - Agent Usability: 94 / 100
  - Security: 75 / 100
  - AI Discoverability: 85 / 100
- **View full report:** https://jentic.com/apis/juspronto.com.br/juspronto/scorecard
- **How the score is calculated:** https://docs.jentic.com/reference/api-readiness-framework/overview/
- **More about the dimensions:** https://docs.jentic.com/reference/api-readiness-framework/specification/#dimensional-model-overview

### Score it yourself

Every API in the directory is allowlisted, so you can re-score it with no key required.

- **Score your own API:** https://jentic.com/scorecard.md
- **Scoring CLI agent skill:** https://github.com/jentic/jentic-api-scorecard/blob/main/skills/jentic-api-scorecard/SKILL.md

```sh
npx @jentic/api-scorecard-cli score <openapi-url>
```

## Why Jentic

- **Setup:** Wiring Juspronto by hand means registering an OAuth client, running the PKCE flow with the right scopes and resource, refreshing tokens, and speaking JSON-RPC 2.0 over an event-stream response. Through Jentic you install once, import Juspronto from the API Directory, connect once with the scopes you choose, and your agent calls it.
- **Permission scoping:** Juspronto carries the tool name inside the JSON-RPC request body, so Jentic rules bound which operations your agent may call, such as the connector call and userinfo, not which tool. Juspronto's own OAuth scopes, chosen by the lawyer at consent, decide which tools appear, and you choose the operations it may call so client registration is not included unless you add it.
- **Credential handling:** Your Juspronto token is stored once, encrypted, by your own Jentic One instance and injected at execution time. It never enters the agent's prompt, logs, or context.
- **Discovery method:** Agents search Jentic by intent such as 'read law firm deadlines' or 'register an OAuth client', and Jentic returns the matching Juspronto operation with its input schema so the agent calls the right endpoint without browsing the reference docs.

## Related APIs

- **Clio API** — Clio is a law practice management platform with a broad REST API; Juspronto is built for Brazilian firms and their court deadlines.
- **Actionstep API** — Actionstep is a practice management system with matters, tasks, and billing.
- **Jurisprudencias.ai API** — Jurisprudencias.ai searches published Brazilian court decisions to support the cases tracked in Juspronto.

## FAQ

### What authentication does the Juspronto API use?

The Juspronto OpenAPI spec declares two schemes for the connector endpoint: OAuth 2.1 authorization code with PKCE S256 for a public client, where the minimum scopes are prazos:read, processos:read, dashboard:read, and autos:read, and an HTTP bearer key created by a partner or manager in Juspronto's settings, which reads but does not write. The userinfo endpoint takes the OAuth token. The discovery documents, OAuth registration, authorize, and token endpoints, health check, and Markdown pages are open. Through Jentic the token is stored encrypted by your own Jentic One instance and injected at call time.

### Is there a Juspronto MCP server?

Yes - Juspronto offers an official MCP server, and its connector endpoint at `/api/mcp` is that server. You can also connect it through Jentic: your agent gets the full 22-endpoint surface from the spec without loading another server's tool definitions into its context, your credential is injected at call time by your self-hosted instance instead of living in an MCP config, and your rules decide which operations the agent may call.

### Can I limit what my agent is allowed to do with the Juspronto API?

Yes, at two levels. In Juspronto the lawyer picks scopes on the consent screen, for example granting only prazos:read and dashboard:read so an agent can read deadlines and the agenda but write nothing. In Jentic you can write a rule that allows only the connector call and userinfo operations and leaves out client registration, and every call the agent makes is logged. Tool names travel inside the JSON-RPC body, so Jentic rules bound operations, not individual connector tools.

### Can an agent file documents with a court through the Juspronto API?

No. Per its OpenAPI spec, nothing is filed with a court through the connector. The minutas:write scope saves and updates pending drafts for a lawyer to review and approve inside Juspronto.

### What are the rate limits for the Juspronto API?

The Juspronto OpenAPI spec defines a 429 response with a Retry-After header and notes a per-address hourly cap on OAuth client registrations, without publishing the numbers. Juspronto publishes its plans and limits on its Markdown pricing page at https://juspronto.com.br/precos.md.

### How do I read my firm's deadlines with the Juspronto API through Jentic?

Search Jentic for an intent like 'read law firm deadlines', import Juspronto from the API Directory, and complete the OAuth connection once with the read scopes. Your agent then calls POST `/api/mcp` with a JSON-RPC initialize message, then tools/list and tools/call to read deadlines. To run it on your own infrastructure, install Jentic One from its GitHub repo.
