canonical: https://jentic.com/apis/sensible.so/sensible-so

# Sensible So Sensible API

Sensible is an intelligent document processing platform. The API provides document extraction, classification, and portfolio segmentation capabilities. The API exposes 11 endpoints secured with bearer authentication.

## For AI agents

Programmatically extract data from a document (sync), extract with specified config. Covers 11 operations with bearer authentication.

## Scope

Does not handle payments, communications, or crm - use for marketing only.

## Capabilities

- Extract data from a document (sync)
- Retrieve extraction by ID
- Integrate Sensible API into automated workflows
- Query and filter Sensible API records by parameters
- Monitor Sensible API operational status and events

## Use cases

### Marketing Operations

Use the Sensible API to perform marketing operations programmatically. The API provides 11 endpoints covering core functionality including extract data from a document (sync), extract with specified config, extract document at sensible url (async).

Example prompt: Call POST `/extract/{document_type}` to extract data from a document (sync)

### Automated Export Management

Automate export operations by combining multiple Sensible API endpoints. Agents can extract with specified config and then extract document at sensible url (async) in a single workflow.

Example prompt: Call POST `/extract/{document_type}/{config_name}` to extract with specified config, then verify the result

### AI Agent Integration via Jentic

AI agents discover and call Sensible API endpoints through Jentic without managing credentials directly. An agent searches for the required operation by intent, receives the matching endpoint schema, and executes the call with Jentic-managed authentication. This eliminates the need to read API documentation or handle bearer tokens manually.

Example prompt: Search Jentic for 'extract data from a document (sync)', load the operation schema, and execute with Jentic-managed credentials

## Key endpoints

| Method | Path | Description |
| --- | --- | --- |
| POST | `/extract/{document_type}` | Extract data from a document (sync) |
| POST | `/extract/{document_type}/{config_name}` | Extract with specified config |
| POST | `/generate_upload_url/{document_type}` | Extract document at Sensible URL (async) |
| POST | `/extract_from_url/{document_type}` | Extract document at your URL (async) |
| POST | `/generate_upload_url` | Extract portfolio at Sensible URL |
| POST | `/extract_from_url` | Extract portfolio at your URL |
| GET | `/documents/{id}` | Retrieve extraction by ID |
| GET | `/documents` | List extractions |

## Key resources

- **Export** — Operations related to Export
- **Extraction** — Operations related to Extraction
- **Portfolio** — Operations related to Portfolio
- **Retrieval** — Operations related to Retrieval

## 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:** 67 / 100
- **Maturity:** AI-Aware
- **Dimensions:**
  - Foundational Compliance: 90 / 100
  - Developer Experience & Jentic Compatibility: 63 / 100
  - AI-Readiness & Agent Experience: 47 / 100
  - Agent Usability: 94 / 100
  - Security: 60 / 100
  - AI Discoverability: 100 / 100
- **View full report:** https://jentic.com/apis/sensible.so/sensible-so/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 Sensible by hand means obtaining a bearer token and carrying the document type through the URL path on every extraction call yourself. Through Jentic you install once, import Sensible from the API Directory, store the token once, and your agent calls it.
- **Permission scoping:** Sensible puts the document type and id in the URL path (`/extract/{document_type}`, `/documents/{id}`), so a rule can pin your agent to one document type: it can extract and read documents of that type and nothing else. You choose the operations it may call, so it holds only the ones you grant.
- **Credential handling:** Your Sensible 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 'extract data from a document' or 'get a processed document', and Jentic returns the matching Sensible operation with its input schema so the agent calls the right endpoint without browsing the reference docs.

## Related APIs

- **Mailchimp** — Alternative marketing API
- **Hubspot** — Alternative marketing API

## FAQ

### What authentication does the Sensible API use?

The Sensible API uses a Bearer token in the Authorization header. Through Jentic, these credentials are stored encrypted in your Jentic One instance and injected at execution time, so raw secrets never enter the agent context.

### Can I extract data from a document (sync) with the Sensible API?

Yes. Use the POST `/extract/{document_type}` endpoint. The API returns structured JSON responses that agents can parse and act on directly.

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

Rate limits are not specified in the OpenAPI spec. Check the vendor documentation for current limits. Through Jentic, rate limiting is handled automatically with retry logic built into the execution layer.

### How do I extract data from a document (sync) through Jentic?

Install the Jentic SDK with pip install jentic, authenticate through Jentic One, the self-hosted execution layer, then search for 'extract data from a document (sync)'. Jentic returns the matching Sensible API operation with its input schema. Load the schema and execute the call - credentials are injected automatically.

### How many endpoints does the Sensible API have?

The Sensible API exposes 11 endpoints covering export, extraction, portfolio operations.

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

Yes. Because Sensible puts the document type and id in the URL path (POST `/extract/{document_type}`, GET `/documents/{id}`), a rule in your self-hosted Jentic One instance can pin your agent to a single document type so it only extracts and reads documents of that kind. You decide which operations the agent may call, so it might hold extraction rights while you withhold portfolio or async URL operations. Your own rules govern which Sensible operations and which stored credentials the agent is permitted to use.
