# Frequently asked questions

> Quick answers about sign-in, the content model, publishing, the API, AI assistants, Collect and plans, each linking to the page with the full story.

Short answers to the questions people ask most about Spatibase, for developers, project owners and editors. Each answer links to the page that explains more.

## Getting started

### What is Spatibase?

Spatibase is a headless CMS for map projects. You define types of places made of reusable elements (fields), fill in entries on a map, publish them, and your websites and apps load the published content from the Content Delivery API. See [What is Spatibase?](https://spatibase.com/docs/get-started/what-is-spatibase/).

### Do I need a password?

No. You enter your email address and Spatibase sends you a sign-in link, and a 6-digit code you can type instead, that works once and expires after 15 minutes. You stay signed in for 30 days, and every visit starts the 30 days again. See [Create a project](https://spatibase.com/docs/get-started/create-a-project/).

### Can I start from a ready-made project?

Yes. On the **New project** screen, choose **Template**: Store locator, Trails & outdoor spots, or Events map. Each comes with a content model, a few sample entries and a group, which you can change or delete; the template's sample places show on the map before you create it. Or copy a free dataset, such as the world's airports, from its page at [spatibase.com/datasets](https://spatibase.com/datasets/), which opens **New project** with **Public dataset** chosen. See [Create a project](https://spatibase.com/docs/get-started/create-a-project/).

### How do I delete my account?

Open **Account settings**, choose **Profile**, then **Delete account…**. The window shows what happens to your projects, then emails you a 6-digit code to confirm with **Delete my account**. Your account is deleted after 30 days; sign in before then and choose **Keep my account** to cancel. If you are the only owner of a project other people work in, hand it over or delete it first. See [Delete your account](https://spatibase.com/docs/team/account-and-plan/#delete-your-account).

### Can I change my email address?

Not yourself in the app. Write to hello@spatibase.com from the address you sign in with and say which address you want instead; the team changes it by hand. See [Account and plan](https://spatibase.com/docs/team/account-and-plan/#change-your-email-address).

## Content model

### What is the difference between a type and an element?

A type is a kind of place or item, such as "Store" or "Trail". An element is one field, such as "Opening hours" or "Photos", that you create once and can put on several types. See [Types](https://spatibase.com/docs/model/types/) and [Elements](https://spatibase.com/docs/model/elements/).

### What are subtypes?

A subtype is a type placed under another type, such as "Cafe" under "Venue". It inherits all elements of its parent and can add its own, and asking the API for the parent type also returns the subtypes' entries. Types can be nested up to 5 levels deep. See [Types](https://spatibase.com/docs/model/types/).

### What happens to my entries when I change the model?

Values are never silently thrown away. Removing an element from a type, or archiving it, keeps the stored values, and you can bring the element back. Renaming an element's API key rewrites it in every entry, so apps reading the old key stop finding it. See [Change the model safely](https://spatibase.com/docs/model/change-the-model/).

### What is a map feature type?

A map feature type is a named, styled kind of extra shape, such as "Path" as a line or "Parking area" as an area. Editors pick one when they draw a shape in a map shapes element, and apps receive its name and color. See [Map feature types](https://spatibase.com/docs/model/map-feature-types/).

## Content

### Why can't visitors see my changes?

Everything you save is a draft, and visitors only see what you publish. Mark a draft **Ready to publish** in its editor, then press **Publish** in the side panel: everything that is ready goes live together, as a numbered version. See [Drafts and publishing](https://spatibase.com/docs/publish/draft-and-published/).

### Can I undo a publish?

Yes. Every publish is saved as a numbered version. Open **Versions**, pick the version you want, and choose **Go back to this version**: the API serves it again at once, and going back is itself a new version. Versions of the last 90 days are kept, and always at least the last 20. See [Versions and going back](https://spatibase.com/docs/publish/versions/).

### Can I publish or delete many entries at once?

Yes. Tick the **Select entries** box above the entry list, tick the entries, and choose an action in the bar at the bottom: ready to publish, back to draft, unpublish, keep, delete, or add to or remove from a group. Nothing goes live until you press **Publish**. To change one field in many entries, use the table. See [Find, edit and export entries](https://spatibase.com/docs/content/find-edit-export/) and [Edit entries in a table](https://spatibase.com/docs/content/table/).

### Can I add entries from my phone?

Yes. On a phone, Spatibase opens **Collect**, a version made for the field: you add entries, set their location from GPS and attach photos, and everything shows up in the full app at once. On a computer, choose **Collect on a phone…** in the project menu for a QR code. See [Collect entries on a phone](https://spatibase.com/docs/content/collect/).

### Can I bring in a spreadsheet or a map file?

Yes. You can import CSV, Excel, GeoJSON, KML, KMZ, GPX, Shapefile or GeoParquet files, a Google Sheet, a Google My Maps map or a PostGIS table, up to 10,000 rows and 45 MB at a time, into an existing type or into a new type made from your columns. **New project → File** (or **Online source**) does it all when you create the project. Imported entries arrive as drafts, so nothing goes live until you publish. See [Import](https://spatibase.com/docs/content/import/).

### I pressed Save to Spatibase in a free tool. Where is my file?

In the browser where you used the tool. It waits there for 24 hours until you import it, and nothing is uploaded before you click **Import**. If you opened the sign-in email on another device, go back to that browser to continue. See [Save from a free tool](https://spatibase.com/docs/content/import/#save-from-a-free-tool).

### Which image formats can I upload?

JPEG, PNG, GIF, WebP, AVIF and SVG are treated as images and can be resized on the fly. Other files, including TIFF and HEIC, are stored as plain files. Each file can be up to 25 MB. See [Media](https://spatibase.com/docs/content/media/).

### I deleted something by mistake. Can I get it back?

Yes, within 30 days. Open **Trash**: deleted entries and files wait there and can be restored with the same id. A restored entry comes back as a draft, so mark it ready and publish to make it live. See [Activity and trash](https://spatibase.com/docs/team/activity-and-trash/).

### Why does the map style change for everyone?

The basemap is saved for the project, so everyone working on it sees the same background map. It only affects the editor and never changes what your apps get from the API. See [Change the map style](https://spatibase.com/docs/content/map-style/).

## Team

### What can an Editor do compared with an Owner?

Editors work on content: entries, groups, media, import and export, publishing and the trash. Owners can also change the content model, project settings, keys and members. Developers look after API keys and the webhook and can read everything else. See [Members and roles](https://spatibase.com/docs/team/members-and-roles/).

### How do I invite someone?

As an Owner, open **Members**, choose **Invite**, and enter the email address and a role. The invitation link is valid for 7 days, and the person must sign in with that address to accept it. See [Members and roles](https://spatibase.com/docs/team/members-and-roles/).

### Why can't I remove myself from a project?

A project always keeps at least one owner. If you are the only owner, make someone else an owner first, then leave. An owner whose account is being deleted does not count as an owner. See [Members and roles](https://spatibase.com/docs/team/members-and-roles/).

### How do I see who changed an entry?

Open **Activity**. It lists who changed what and when, with the fields that changed, and changes made by an AI assistant carry a robot icon. See [Activity and trash](https://spatibase.com/docs/team/activity-and-trash/).

## Publishing and the API

### Can I see my published entries on a map without building anything?

Yes. Choose **Preview data** in the project menu (or in search) to open a ready-made map page of the project's published entries in a new tab. For a public project you can share its link; a private project shows it only to its members. See [Preview your data](https://spatibase.com/docs/publish/preview-data/).

### Where do I find the API address for my developer?

Open the project's **API** page. It shows the API address of the project with a copy button, ready-made URLs and a request builder. The address has the form `https://api.spatibase.com/delivery/v1/projects/$PROJECT_ID`. See [Content Delivery API](https://spatibase.com/docs/reference/delivery-api/).

### Can I keep my content private?

Yes. By default anyone who knows the project's id can read its published entries (never drafts). An owner can make it private on the **Access & keys** page of **API**, and then every Content Delivery API request needs an API key. Give each website or app its own key. See [Access and API keys](https://spatibase.com/docs/publish/access-and-keys/).

### Are files protected in a private project?

No. Images and files stay reachable by their URL, which is long and unguessable but not protected, because an image tag cannot send a key. Spatibase does not sign file URLs. See [Assets and images](https://spatibase.com/docs/reference/assets-and-images/).

### How quickly do published changes reach my website?

Within a few minutes. Delivery responses may be cached for up to 60 seconds in browsers and 300 seconds on a CDN, and every response has an `ETag` so your app can check for changes cheaply with `If-None-Match`. See [Content Delivery API](https://spatibase.com/docs/reference/delivery-api/).

### Is there a rate limit on the Content Delivery API?

Only failed API key checks are limited: after 60 from one IP address in 10 minutes, that address gets `429` for a while. There is no other request quota per project or key, so cache responses on your side. See [Limits](https://spatibase.com/docs/reference/limits/).

### How does my site find out that content changed?

Set up a webhook. Spatibase sends a signed message to your server when a publish (or going back to a version) publishes, unpublishes or deletes entries or changes a group. Because a retry can be lost, also compare the project's `contentVersion` with the last value you saw. See [Webhooks](https://spatibase.com/docs/publish/webhooks/) and [Webhook events](https://spatibase.com/docs/reference/webhook-events/).

### Should I use GeoJSON or vector tiles?

Use GeoJSON when you need every field and exact coordinates: one request returns up to 5,000 features and works with Leaflet, MapLibre and QGIS. Use vector tiles for maps of any size, which load only what is on screen but carry only the title, color and simple fields. See [GeoJSON and tiles](https://spatibase.com/docs/reference/geojson-and-tiles/).

### Is there an OpenAPI spec for the API?

Yes, two OpenAPI 3.1 files for the Content Delivery API. Your project's typed file, `https://api.spatibase.com/delivery/v1/projects/<project id>/openapi.json`, describes your own types and fields, so a generated TypeScript client knows every field; a private project needs a read key for it, and you regenerate the client after changing the content model. The generic file, `https://api.spatibase.com/delivery/v1/openapi.json`, describes the API for any project, needs no key, and suits Postman, Insomnia or Bruno. There is no official SDK. See [Machine-readable spec](https://spatibase.com/docs/reference/delivery-api/#machine-readable-spec).

### Can my app write content back to Spatibase?

Not through the Content Delivery API, which is read-only. Scripts can write through the Content Management API, which is the web app's own interface: it needs a signed-in person and can change without notice. See [Content Management API](https://spatibase.com/docs/reference/management-api/).

### Do API keys work on the Content Management API?

No. API keys open the Content Delivery API (and edit keys the MCP server for AI assistants). Scripts that use the Content Management API sign in by emailed link and keep the session cookie. See [Authentication](https://spatibase.com/docs/reference/authentication/).

### Can I use Claude or ChatGPT with my project?

Yes. Every project has an MCP server that assistants such as Claude, ChatGPT and Cursor can connect to. Open the **AI agents** page for the address and the setup for each tool. See [Connect an AI assistant](https://spatibase.com/docs/ai/connect-an-assistant/).

### Will an assistant publish things by itself?

Only if you allowed it. An assistant starts with drafts; publishing (marking ready and publishing the project) and deleting are separate permissions that are off unless you switch them on for the key or connection. An assistant never manages keys, members or the webhook. See [What AI assistants can do](https://spatibase.com/docs/ai/what-assistants-can-do/).

### Where do I see what an assistant changed?

Every change an assistant makes appears in **Activity** with a robot icon, named after its key or as "person via app". Drafts it changed are flagged until someone reviews them, and the entry list has an **AI changes** filter. See [What AI assistants can do](https://spatibase.com/docs/ai/what-assistants-can-do/).

### Should I use an edit key or sign in the assistant with my account?

Tools that take a header, such as Claude Code or Cursor, can use an edit key, which only owners create. Connectors such as Claude.ai and ChatGPT sign in with your own account through OAuth, and the assistant then gets at most the rights of your role. See [OAuth for MCP clients](https://spatibase.com/docs/ai/oauth/) and [MCP server](https://spatibase.com/docs/ai/mcp-server/).

### How much can an assistant do in a day?

Each key or connection can make 120 calls and 30 write calls a minute, and change up to 2,000 entries a day. Over those limits the assistant gets a clear error and can retry later. See [MCP server](https://spatibase.com/docs/ai/mcp-server/).

## Account

### What is the Usage page?

It shows what your projects use right now: projects, entries, file storage and AI assistant calls over the last 30 days. These are measurements only; nothing stops working when a number gets big. See [Account and plan](https://spatibase.com/docs/team/account-and-plan/).

### How do I change my plan?

On the **Plan** page, choose **Ask to upgrade** or **Ask to downgrade**. Your email app opens with a message to hello@spatibase.com, and the team changes the plan. Nothing in your projects changes. See [Account and plan](https://spatibase.com/docs/team/account-and-plan/).

### Are there keyboard shortcuts?

Yes. <kbd>⌘</kbd> <kbd>K</kbd> (or <kbd>Ctrl</kbd> <kbd>K</kbd>) searches and jumps anywhere, including to any entry by its title, <kbd>T</kbd> switches between light and dark, and <kbd>⌘</kbd> or <kbd>Ctrl</kbd> plus a letter opens a section of the project. **Preferences** lists them all. See [Find your way around](https://spatibase.com/docs/get-started/find-your-way-around/).
