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

# ObjectRocket API

ObjectRocket is a managed database hosting platform supporting MongoDB, Redis, and Elasticsearch instances. The v2 REST API exposes 31 endpoints to provision and rename instances, manage ACLs and database users, list plans and accounts, and configure MongoDB-specific resources such as databases, collections, sharding, and maintenance windows. It is intended for platform engineers automating ObjectRocket fleet management rather than for application-level database queries.

## For AI agents

Provision and manage ObjectRocket database instances, ACLs, MongoDB databases and users, and inspect plans and accounts via REST.

## Scope

Does not run application-level database queries, return MongoDB documents, or proxy Redis or Elasticsearch traffic - use for managed instance provisioning and configuration only.

## Capabilities

- Provision a new managed database instance against an ObjectRocket plan
- Rename or delete an existing instance to align with a service migration
- List and edit instance ACLs to control which IPs can reach the database
- Create MongoDB databases, collections, and users on an ObjectRocket instance
- Inspect ObjectRocket plans and account details to drive cost or quota reporting
- Configure MongoDB sharding and maintenance windows for managed instances

## Use cases

### Self-service database provisioning portal

Wire ObjectRocket into an internal developer platform so engineers can request a managed MongoDB or Redis instance without filing a ticket. POST /instances/ creates the instance against a chosen plan, GET /plans/ lists available tiers, and the ACL endpoints lock the instance down to known networks. The pattern collapses provisioning time from days of human handoff to a few minutes of automation.

Example prompt: Call GET /plans/, present options, then call POST /instances/ with the chosen plan and a generated instance name

### Managed MongoDB user and ACL automation

Keep ObjectRocket instances aligned with the application's expected users and network sources by reconciling ACL entries and MongoDB users on a schedule. The `/instances/{instanceName}/acls`/ and MongoDB user endpoints let an automation worker add and remove entries idempotently. Drift between desired and actual state is detected and corrected without paging the on-call.

Example prompt: List ACLs for a target instance, diff against the desired list from source control, and POST or DELETE the differences

### Plan and cost reporting for managed databases

Build a cost dashboard for the managed database fleet by joining GET /plans/ with GET /instances/ and account details. Platform owners can attribute spend to teams, flag oversized instances, and compare actual instance counts against plan allowances. The endpoints expose plan IDs and account fields directly, so the report needs no scraping.

Example prompt: Pull GET /plans/, GET /instances/, and GET `/accounts/{userId}`/ nightly, join into a cost report, and email the team owners

### AI agent integration via Jentic

A platform agent searches Jentic for managed MongoDB provisioning, loads POST /instances/ and the ACL endpoints, and stands up a fresh instance in response to a Slack request. The agent calls the right endpoints in sequence and reports back with the connection details. Jentic supplies validated schemas so the agent does not have to read the ObjectRocket docs end to end.

Example prompt: Use Jentic to search 'provision a managed mongodb instance', load POST /instances/, and execute it with the chosen plan and instance name

## Key endpoints

| Method | Path | Description |
| --- | --- | --- |
| GET | `/plans/` | List all available plans |
| GET | `/instances/` | List managed instances |
| POST | `/instances/` | Provision a new managed instance |
| GET | `/instances/{instanceName}/` | Get details for a specific instance |
| DELETE | `/instances/{instanceName}/` | Delete a managed instance |
| POST | `/instances/{instanceName}/rename/` | Rename an instance |
| GET | `/instances/{instanceName}/acls/` | List ACL entries for an instance |
| POST | `/instances/{instanceName}/acls/` | Create an ACL entry on an instance |

## Key resources

- **Plans** — List ObjectRocket plans and inspect a plan by ID
- **Accounts** — Retrieve ObjectRocket account details for a user
- **Instances** — Create, list, rename, and delete managed database instances
- **ACLs** — Manage IP allowlist entries for an instance
- **MongoDB** — Manage MongoDB databases, collections, users, sharding, and maintenance

## Why Jentic

- **Setup:** Wiring the ObjectRocket API by hand means managing an auth token, adding it to the X-Auth-Token header on every request against the sjc-api.objectrocket.com region host, and coding your own retry and rate-limit handling. Through Jentic you install once, import the ObjectRocket API from the API Directory, store the token once, and your agent calls it.
- **Permission scoping:** ObjectRocket puts the instance name in the URL path (`/instances/{instanceName}/...`), so a rule can pin your agent to one instance: it can read that instance, list its ACLs, and read plans, for example. You choose the operations it may call, so destructive ones like DELETE `/instances/{instanceName}` or rename are not included unless you add them.
- **Credential handling:** Your ObjectRocket auth token is stored once, encrypted, by your own Jentic One instance and injected into the X-Auth-Token header at execution time. It never enters the agent's prompt, logs, or context.
- **Discovery method:** Agents search Jentic by intent such as 'provision a managed MongoDB instance' or 'add a database ACL', and Jentic returns the matching ObjectRocket operation with its input schema so the agent calls the right endpoint without reading the docs end to end.

## Related APIs

- **MongoDB Atlas API** — MongoDB's own managed database service - first-party API for cluster, user, and network access management
- **Redis Cloud API** — Redis Inc.'s managed Redis service - first-party API for Redis subscriptions and databases
- **DigitalOcean API** — Provisions surrounding cloud infrastructure - pair with ObjectRocket for application VMs, networking, and DNS

## FAQ

### What authentication does the ObjectRocket API use?

Every call to /plans/, /instances/, /accounts/, and the MongoDB resources requires the X-Auth-Token header carrying an ObjectRocket auth token. Through Jentic the token is held in the vault (your Jentic One instance) and injected at execution time, so it never enters the agent's prompt context.

### Can I provision a new MongoDB instance through the ObjectRocket API?

Yes. POST /instances/ creates a new managed instance against a plan ID retrieved from GET `/plans/.` After creation, GET `/instances/{instanceName}`/ exposes the connection details and the ACL endpoints can lock down inbound traffic to your application networks.

### Can I manage ACLs and MongoDB users on a managed instance?

Yes. GET, POST, and DELETE on `/instances/{instanceName}/acls`/ control IP allowlist entries, and the MongoDB user and database endpoints under `/instances/{instanceName}`/ let automation create databases, collections, and users without using the ObjectRocket UI.

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

The OpenAPI spec does not document explicit rate limits. ObjectRocket applies account-level throttles; check your contracted plan or contact ObjectRocket support for figures. Through Jentic, automation workers can pace POST /instances/ and ACL changes to avoid concurrent-mutation conflicts.

### How do I provision a managed MongoDB instance through Jentic?

Install the SDK with pip install jentic, search 'provision a managed mongodb instance', load POST /instances/, and execute it with the chosen plan ID and instance name. Jentic supplies the schema so the agent passes the right plan reference and returns the new instance details.

### Does the ObjectRocket API expose application-level database queries?

No. The API is a control plane for instances, ACLs, plans, accounts, and MongoDB cluster configuration. To run application queries the agent connects to the instance directly using the MongoDB or Redis driver after retrieving connection details from GET `/instances/{instanceName}/.`

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

Yes. Because you run Jentic One yourself, your own rules decide which ObjectRocket operations and credentials the agent may use. Since the instance name sits in the URL path (`/instances/{instanceName}`/), a rule can pin the agent to a single instance and grant only the calls you pick, such as reading that instance, listing its ACLs via GET `/instances/{instanceName}/acls`/, and reading plans with GET `/plans/.` Destructive operations like DELETE `/instances/{instanceName}`/ or the rename endpoint stay off limits unless you explicitly add them.
