CnterDocumentationSign in

Start here

  • What Cnter is
  • Core concepts
  • Quickstart

Platform

  • Authentication
  • Conventions
  • Errors
  • Organization
  • The dashboard

Modules

  • Content Management
  • Online Ordering
  • Restaurant Ordering
  • Promotions
  • Reservations
  • Bookings
  • Contact Form

Payments

  • AgnusPAY
  • Tax

Services

  • Address autocomplete
  • Video
  • Email

Reference

  • API reference

Start here

What Cnter is

One dashboard your customer edits, one API your site reads. How the two halves fit together.

A full brief for whoever builds against this.

Cnter is the back office behind a website. Someone non-technical edits content, takes orders, answers reservations and gets paid from one dashboard. Your site reads all of it over HTTP. The two halves never share a codebase, a deploy or a database.

That split is the whole idea. A restaurant that wants to stop delivering on a quiet Monday should not need a developer, and a developer should not have to build a menu editor before rendering a menu. So the editing surface ships once, for everyone, and your site stays a site.

The shape of an integration#

Every integration, whatever module it uses, is the same three pieces.

  1. 01

    The dashboard

    Where your customer works. Content, orders, reservations, bookings, payouts, email. You do not build any of it and you cannot break it.

  2. 02

    The API

    One host, one organization id, one API key. Some endpoints are public and safe in a browser, the rest need the key and belong on your server.

  3. 03

    Your site

    Anything that speaks HTTP. Next.js, Astro, WordPress, a static build. Cnter has no opinion and no SDK you are obliged to install.

Organizations#

Everything in Cnter belongs to an organization. It is the tenant boundary: content, orders, reservations, API keys, payouts and members all hang off exactly one of them, and nothing crosses over. One person can belong to several organizations and switch between them in the dashboard, which is how an agency runs twelve restaurants from one login.

For you this means the organization id is not a routing detail you can leave out and add later. It selects the tenant. Every request carries it, either in the URL for public endpoints or implicitly through the API key, which belongs to one organization and cannot read another.

Modules#

The dashboard is not one product. It is a set of modules an organization switches on individually, and a module that is off is absent rather than empty: no sidebar entry, no settings panel, and no place in the manifest the client reads.

ModuleWhat it doesDocs
Content ManagementStructured content types and entries. Also the catalog every order flows through.Content Management
Online OrderingCart to paid order, with Stripe or pay in person.Online Ordering
Restaurant OrderingPickup, delivery and dine-in, a live kitchen board and printed tickets.Restaurant Ordering
PromotionsAutomatic discounts and codes, applied server-side.Promotions
BookingsAppointments with a date, a time and a meeting type.Bookings
ReservationsTable reservations, opening hours, slots and approval.Reservations
Contact FormForm submissions, notification email, and replying from the dashboard.Contact Form

Ask, do not assume

Which modules an organization runs is a setting, not a constant. Read it at runtime from the manifest, which lists only what is switched on, rather than waiting for a call to fail: most endpoints do not check. The exceptions a website meets are the checkout, which answers 403 ORDERING_DISABLED while online ordering is off, and a booking, which answers 403 BOOKINGS_DISABLED while booking requests are. Treat those as "this customer does not take that right now" rather than as an error worth showing.

What Cnter is not#

  • /Not a site builder. There are no themes, no page editor and no hosting. You build the front end.
  • /Not a database you can write to freely. The API exposes the operations the modules define, and nothing underneath them.
  • /Not a payment processor. Payments run through AgnusPAY on top of Stripe, and the money moves between Stripe and your customer.
QuickstartThree values in an environment file and a first request.Core conceptsRoles, publishing, timezones and the words used throughout.API referenceEvery endpoint, its method, its scope and its shape.
NextCore concepts

On this page

  • The shape of an integration
  • Organizations
  • Modules
  • What Cnter is not