canonical: https://jentic.com/apis/caspio.com/caspio

# Caspio REST API

Jentic publishes the only available OpenAPI specification for Caspio REST API, keeping it validated and agent-ready. Caspio is a low-code cloud database platform and the REST API exposes the underlying tables, views, files, and applications so that external systems can read and write data programmatically. The API supports listing and editing table schemas, inserting and querying records with WHERE-style filters, browsing read-only views, uploading and managing files in the Caspio file space, and discovering DataPages inside Caspio applications. It is used to embed Caspio data into custom apps, agents, and integration pipelines that sit alongside a Caspio-built portal.

## For AI agents

Read and write records in Caspio cloud database tables, query views, manage table schema fields, and upload files into a Caspio account.

## Scope

Does not handle DataPage rendering, end-user authentication, or Caspio account billing - use for table, view, file, and schema operations against the Caspio REST surface only.

## Capabilities

- List Caspio tables and inspect their column definitions
- Insert, query, update, and delete records inside a named Caspio table
- Add, modify, and remove individual fields on a Caspio table schema
- Read records from Caspio views as filtered or joined projections of tables
- Upload, download, and delete files in the Caspio file folder hierarchy
- Discover Caspio applications and the DataPages contained in each one

## Use cases

### Sync external system data into Caspio

Use POST `/tables/{tableName}/records` to push rows from a CRM, ERP, or spreadsheet into a Caspio table that already powers an internal portal. The schema endpoints let you confirm the table exists with the expected columns before inserting, avoiding silent type mismatches at write time.

Example prompt: POST a JSON record body with Name, Email, and Status fields to `/tables/Customers/records` and confirm the response contains the new row count.

### Query Caspio data for a custom dashboard

Frontends or BI dashboards can call GET `/tables/{tableName}/records` or GET `/views/{viewName}/records` with filter and pagination parameters to retrieve current Caspio data without going through a DataPage. This is useful when teams want native React or mobile UIs on top of a Caspio-managed dataset.

Example prompt: GET `/views/OpenTickets/records` with a where filter on assigned_to equal to the current agent id and return the first 50 rows.

### Schema management for low-code apps

Operations teams can extend a Caspio table by adding fields via POST `/tables/{tableName}/fields` or relax a field type with PUT `/tables/{tableName}/fields/{fieldName}.` This supports controlled schema evolution from CI scripts rather than ad-hoc edits in the Caspio UI.

Example prompt: POST a new field definition named 'priority' with type Number to `/tables/Tickets/fields` and verify it appears in the field list.

### AI agent low-code data integration via Jentic

An AI agent embedded in a Caspio-driven business app can fetch records, insert new ones, and upload supporting files using Jentic's intent search. The Caspio OAuth2 client credentials live in your Jentic One instance, so the agent never holds the long-lived token.

Example prompt: Search Jentic for 'insert a record into a Caspio table', load POST `/tables/{tableName}/records`, and execute it with the table name and the agent's structured payload.

## Key endpoints

| Method | Path | Description |
| --- | --- | --- |
| GET | `/tables` | List all tables in the account |
| GET | `/tables/{tableName}/records` | Query records from a table |
| POST | `/tables/{tableName}/records` | Insert one or more records |
| PUT | `/tables/{tableName}/records` | Update records matching a filter |
| GET | `/views/{viewName}/records` | Query records from a view |
| PUT | `/files/{path}` | Upload a file to a Caspio folder |
| GET | `/applications` | List Caspio applications |

## Key resources

- **Tables** — List tables, read and edit their schema, and CRUD records inside them.
- **Views** — Read records from Caspio views as filtered projections of underlying tables.
- **Files** — Upload, list, download, and delete files in the Caspio file folder tree.
- **Applications** — Discover Caspio apps and the DataPages they expose.

## Why Jentic

- **Setup:** Wiring the Caspio REST API by hand means running the OAuth client-credentials exchange at your {accountId}.caspio.com token endpoint, refreshing the bearer token, and building every call against your account-specific host yourself. Through Jentic you install once, import the Caspio REST API from the API Directory, store the client credentials once, and your agent calls it.
- **Permission scoping:** Caspio puts the table, view, and file targets in the URL path (`/tables/{tableName}/records`, `/views/{viewName}/records`), so a rule can pin your agent to one table for record reads. You choose the operations it may call, so record inserts, updates, and file writes are not included unless you add them.
- **Credential handling:** Your Caspio OAuth client credentials are stored once, encrypted, by your own Jentic One instance, which runs the token exchange and injects the resulting bearer token at execution time. The client secret never enters the agent's prompt, logs, or context.
- **Discovery method:** Agents search Jentic by intent such as 'insert a Caspio record' or 'query a Caspio view', and Jentic returns the matching operation with its input schema so the agent calls the right endpoint without learning the account URL pattern manually.

## Related APIs

- **Airtable API** — Airtable is the better-known low-code database alternative with a more spreadsheet-style UI.
- **Knack API** — Knack is another low-code database and online-app builder with a similar audience to Caspio.
- **NocoDB API** — NocoDB is a self-hostable open-source alternative to Caspio's cloud database.

## FAQ

### Why is there no official OpenAPI spec for Caspio REST API?

Caspio publishes documentation but no machine-readable OpenAPI specification. Jentic generates and maintains this spec so that AI agents and developers can call Caspio REST API via structured tooling. It is validated against the live API and kept up to date. Get started with Jentic One, the self-hosted execution layer.

### What authentication does the Caspio REST API use?

The Caspio REST API uses OAuth 2.0 with the client credentials flow. You exchange a client id and secret at https://{accountId}.caspio.com/oauth/token for a bearer access token, then send it as Authorization: Bearer in subsequent requests. Through Jentic, the client credentials are held in your Jentic One instance and the token exchange happens server-side.

### Can I update existing records with the Caspio REST API?

Yes. PUT `/tables/{tableName}/records` updates records that match the supplied where filter, and DELETE `/tables/{tableName}/records` deletes records that match a filter. Both operations apply to all matching rows, so include a precise filter to avoid bulk updates.

### What are the rate limits for the Caspio REST API?

Caspio limits API calls based on your plan; the OpenAPI spec does not encode hard numeric limits. Check your account's API quota in the Caspio console at howto.caspio.com and batch record operations into a single insert or update payload where possible.

### How do I query a Caspio view through Jentic?

Run pip install jentic, search Jentic with the query 'get records from a Caspio view', load the GET `/views/{viewName}/records` schema, and execute it with the view name and any where, select, or limit parameters. Jentic injects the Caspio OAuth token at execution time.

### Can I upload files to Caspio through this API?

Yes. PUT `/files/{path}` uploads a file to the specified folder path within your Caspio file space, and GET /files lists files and folders. This is useful for storing attachments referenced by table records.

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

Yes. Because Jentic One is self-hosted by you, your own rules decide which Caspio operations and credentials the agent may use. Caspio puts the table, view, and file targets in the URL path, such as `/tables/{tableName}/records` and `/views/{viewName}/records`, so you can pin the agent to reading records from a single table while blocking everything else. Since you pick the operations it may call, record inserts and updates via POST or PUT and file uploads through PUT `/files/{path}` stay unavailable unless you explicitly grant them.
