Bring your own database
On Starter and above, a project can store its content in a MongoDB cluster you own. Every endpoint behaves the same — same shapes, same ids, same pagination — because the routes talk to an interface rather than to a database.
Last updated
Why you might
- Data residency you can point at, in a region you chose.
- Your backups, your retention, your disaster recovery.
- Querying your own content directly for something the API does not expose.
- Leaving without an export: the content is already yours, in your cluster.
How to connect one
Test the connection first
A connection string is checked before it is stored. You find out that a password is wrong or a network rule blocks us while you are looking at the screen, not later when a reader gets an error.
Examplebash curl -X POST https://api.cmskite.com/v1/projects/$PROJECT_ID/database/test \ -H "authorization: Bearer $ACCESS_TOKEN" \ -H "x-tenant-id: $WORKSPACE_ID" \ -H 'content-type: application/json' \ -d '{ "provider": "customer_mongodb", "connectionString": "mongodb+srv://..." }'Save it
The credential is encrypted with a key held outside the database, so a dump of our storage does not contain a usable connection string. It is never returned to you again, and never appears in a log or an export.
Migrate what is there
Copies the project’s existing content across and verifies the counts. You can watch it; it is resumable, and it does not remove anything from our side until you activate.
Activate
Reads and writes start going to your cluster. The same post has the same id and the same slug as it did a minute earlier — the swap is invisible to your website.
Disconnecting
Disconnecting points the project back at the managed database. We stop reading from your cluster; we do not remove anything from it. It is not ours to delete from.
You can also export everything as newline-delimited JSON at any time, connected or not. The export contains your content and none of our credentials.
What to expect
- Latency becomes yours. A cluster on another continent from our API is a slower API, and no amount of caching on our side fixes a round trip you chose.
- Availability becomes yours. If your cluster is down, your content is down.
- Analytics, usage and audit logs stay with us — they are platform metadata, not your content.
- Full-text search behaves the same, and is served from your cluster’s indexes.