canonical: https://jentic.com/apis/rivery.io/rivery

# Rivery API

Rivery API documentation Welcome to the Rivery API Documentation. Using the Rivery API, you can automate any single or group operations you perform in the Rivery console. You can create, execute, and delete Rivers, create DataFrames, automate processes, and more. The Rivery API is structured around REST. It accepts JSON request bodies, returns JSON responses, and employs conventional HTTP response. The API exposes 60 endpoints secured with bearer authentication.

## For AI agents

Programmatically add dataframe, get dataframes. Covers 60 operations with bearer authentication.

## Scope

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

## Capabilities

- Add Dataframe
- Get Dataframes
- Update Dataframe
- Delete Dataframe
- Download Dataframe
- Clear Dataframe Values

## Use cases

### Developer Tools Operations

Use the Rivery API to perform developer tools operations programmatically. The API provides 60 endpoints covering core functionality including add dataframe, get dataframes, get dataframe.

Example prompt: Call POST `/v1/accounts/{account_id}/environments/{environment_id}/dataframes` to add dataframe

### Automated Rivers Management

Automate rivers operations by combining multiple Rivery API endpoints. Agents can get dataframes and then get dataframe in a single workflow.

Example prompt: Call GET `/v1/accounts/{account_id}/environments/{environment_id}/dataframes` to get dataframes, then verify the result

### AI Agent Integration via Jentic

AI agents discover and call Rivery 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 'add dataframe', load the operation schema, and execute with Jentic-managed credentials

## Key endpoints

| Method | Path | Description |
| --- | --- | --- |
| POST | `/v1/accounts/{account_id}/environments/{environment_id}/dataframes` | Add Dataframe |
| GET | `/v1/accounts/{account_id}/environments/{environment_id}/dataframes` | Get Dataframes |
| GET | `/v1/accounts/{account_id}/environments/{environment_id}/dataframes/{dataframe_name}` | Get Dataframe |
| PUT | `/v1/accounts/{account_id}/environments/{environment_id}/dataframes/{dataframe_name}` | Update Dataframe |
| DELETE | `/v1/accounts/{account_id}/environments/{environment_id}/dataframes/{dataframe_name}` | Delete Dataframe |
| GET | `/v1/accounts/{account_id}/environments/{environment_id}/dataframes/{dataframe_name}/download` | Download Dataframe |
| POST | `/v1/accounts/{account_id}/environments/{environment_id}/dataframes/{dataframe_name}/clear` | Clear Dataframe Values |
| GET | `/v1/accounts/{account_id}/environments/{environment_id}/activities_statistics` | Get Activities Statistic |

## Key resources

- **Rivers** — Management of rivers
- **Activities** — Get the Rivery's activities data with various of GET operations
- **Beta Endpoints** — Beta endpoints
- **Dataframes** — Management of dataframe entities
- **Groups** — Operations related to Groups

## Why Jentic

- **Setup:** Wiring the Rivery API by hand means managing its bearer token, choosing between the US and EU hosts, and threading account and environment ids through every dataframe path yourself. Through Jentic you install once, import the Rivery API from the API Directory, store the token once, and your agent calls it.
- **Permission scoping:** Rivery puts the resource ids in the URL path (`/accounts/{account_id}/environments/{environment_id}/dataframes/{dataframe_name}`), so a rule can pin your agent to one account, environment, and dataframe. You choose the operations it may call, so destructive ones like deleting or clearing a dataframe are not included unless you add them.
- **Credential handling:** Your Rivery 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 'create a dataframe' or 'download a dataframe', and Jentic returns the matching Rivery API operation with its input schema so the agent calls the right endpoint without browsing the reference docs.

## Related APIs

- **Github** — Alternative developer tools API
- **Gitlab** — Alternative developer tools API

## FAQ

### What authentication does the Rivery API use?

The Rivery 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 add dataframe with the Rivery API?

Yes. Use the POST `/v1/accounts/{account_id}/environments/{environment_id}/dataframes` endpoint. The API returns structured JSON responses that agents can parse and act on directly.

### What are the rate limits for the Rivery 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 add dataframe through Jentic?

Install the Jentic SDK with pip install jentic, authenticate through Jentic One, the self-hosted execution layer, then search for 'add dataframe'. Jentic returns the matching Rivery API operation with its input schema. Load the schema and execute the call - credentials are injected automatically.

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

The Rivery API exposes 60 endpoints covering rivers, activities, beta endpoints operations.

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

Yes. Because you run Jentic One yourself, your own rules decide which Rivery operations and credentials the agent may use. Rivery puts the resource ids in the URL path, so a rule can pin the agent to a single account, environment, and dataframe, for example only calling GET `/v1/accounts/{account_id}/environments/{environment_id}/dataframes` to read data. You choose the exact operations it can reach, so destructive calls like Delete Dataframe or Clear Dataframe Values stay out of scope unless you explicitly allow them.
