powered by

Ways to use it

Backend as a Service

Updated Mar 19, 2026
Anythink is a full Backend as a Service — everything your application needs on the server side, managed from one dashboard, without writing backend code.

What is a Backend as a Service?

When you build an application, you need two things: a frontend (what users see) and a backend (the database, APIs, and logic that power it). Building a backend from scratch takes weeks, requires DevOps knowledge, and needs constant maintenance.

A Backend as a Service (BaaS) gives you that entire layer pre-built. You define your data model, and everything else — the database, REST API, authentication, file storage, user management — is provided and managed for you.

Anythink is designed for teams who want to ship quickly without compromising on production quality.


What Anythink provides out of the box

Automatic REST APIs

Design your data model in the dashboard and Anythink instantly generates a full REST API for every entity. No code, no configuration — you get:

  • GET /org/{orgId}/entities/{entity}/items — list records (filtering, sorting, pagination)
  • GET /org/{orgId}/entities/{entity}/items/{id} — get a single record
  • POST /org/{orgId}/entities/{entity}/items — create a record
  • PUT /org/{orgId}/entities/{entity}/items/{id} — update a record
  • DELETE /org/{orgId}/entities/{entity}/items/{id} — delete a record

Every endpoint is live the moment the entity is saved. Interactive API documentation is generated automatically and linked from your dashboard.


Data model and entities

Define the data your application needs by creating entities — the tables in your database — through the visual dashboard. Choose from a full range of field types: text, numbers, dates, booleans, files, geographic points, JSON, and foreign keys to link entities together.

All data is stored in a managed PostgreSQL database. You never touch the infrastructure directly.


User management and authentication

Anythink includes a full user management system. Users sign up and log in via email and password or Google OAuth. Each user receives a JWT on authentication that they use to make authenticated API calls.

Access is controlled through roles — groups of permissions that determine what each user can read, create, update, or delete. Row-Level Security lets you lock records so users can only access their own data.


File storage

Upload images, documents, videos, or any file type through the dashboard or API. Files are stored securely and delivered via CDN. Each file can be marked public (accessible without authentication) or private (requires a valid token).

Files attach to entity records using a file field — upload a product image and link it to the product record in one step.


Workflow automation

Workflows are the automation layer inside Anythink. Chain together steps — read data, write data, call external APIs, run JavaScript, branch on conditions — and trigger them on a schedule, when a record changes, or via a custom HTTP endpoint.

Common uses: send a welcome email when a user signs up, generate content from an LLM when a record is created, sync data to an external CRM on a schedule, expose a custom API endpoint for your frontend to call.


Payment processing

Accept payments through Stripe without building your own payment infrastructure. Connect your Stripe account via the dashboard, then use the payments API to create charges, manage payment methods, and review transaction history.


Dashboard for your team

Every part of your backend is manageable through the Anythink dashboard — not just for developers. Non-technical teammates can browse and edit data, approve content, manage users, and review workflow runs. No database client, no SQL, no terminal required.


How your frontend connects

Your frontend makes standard HTTP requests to your Anythink API URL. Use fetch, axios, or any HTTP client:

javascript
// Fetch a list of products
const response = await fetch(
  'https://api.my.anythink.cloud/org/{orgId}/entities/products/items',
  {
    headers: { 'Authorization': 'Bearer ' + userToken }
  }
);
const data = await response.json();

Your API URL base:

http
https://api.my.anythink.cloud/org/{orgId}/

The open-source CLI

Everything you can do in the dashboard is also available from the terminal using the Anythink CLI. Create entities, manage data, trigger workflows, upload files, manage secrets, and more.

Install via Homebrew:

bash
brew tap anythink/tap
brew install anythink

The CLI is open source. Use it to automate deployments, script data migrations, and integrate Anythink into CI/CD pipelines.


Compared to building your own backend

Capability Anythink Build it yourself
REST API Instant, auto-generated Weeks of development
Database Managed PostgreSQL Configure and maintain
Authentication Built-in (email + Google OAuth) Build from scratch
File storage Included with CDN S3 + CloudFront setup
User management Dashboard + API Build admin interface
Scaling Automatic Your responsibility
Maintenance Managed Your responsibility

Payment Engine

Updated Mar 19, 2026
Accept payments and manage transactions through Anythink's built-in Stripe integration. Connect your Stripe account once and use the payments API to create charges, manage payment methods, and review transaction history.

How it works

Anythink's payment engine is built on Stripe Connect. You connect your Stripe account to your Anythink project — this is a one-time setup — and from that point, all payments flow through Stripe with Anythink managing the API layer.

This means:

  • Stripe handles card processing, PCI compliance, and fraud detection
  • Anythink gives you a clean API and dashboard layer to work with
  • You can accept cards, Apple Pay, Google Pay, and all payment methods Stripe supports

Setting up Stripe Connect

From the dashboard

  1. Go to Settings → Payments in your Anythink dashboard
  2. Click Connect with Stripe
  3. You will be redirected to Stripe to complete the onboarding process
  4. Once approved, your Stripe account status appears as Active in the dashboard

From the CLI

bash
anythink pay status
anythink pay connect

Via the API

Create a Stripe Connect account:

http
POST /org/{orgId}/integrations/anythinkpay/stripe-connect

Get your onboarding link (to redirect users to Stripe's onboarding flow):

http
POST /org/{orgId}/integrations/anythinkpay/stripe-connect/onboarding

Check your account status:

http
GET /org/{orgId}/integrations/anythinkpay/stripe-connect

Taking payments

1. Payment intents (recommended)

The standard Stripe flow for taking a payment.

Create a payment intent:

http
POST /org/{orgId}/integrations/anythinkpay/payments

Request body:

json
{
  "amount": 2999,
  "currency": "gbp",
  "description": "Order #1042",
  "metadata": {
    "orderId": "1042"
  }
}

Amount is in the smallest currency unit (pence for GBP, cents for USD).

Confirm a payment intent (after collecting card details client-side with Stripe.js):

http
POST /org/{orgId}/integrations/anythinkpay/payments/payment-intent/{paymentIntentId}/confirm

Capture an authorised payment (for two-step auth + capture flows):

http
POST /org/{orgId}/integrations/anythinkpay/payments/payment-intent/{paymentIntentId}/capture

Check payment intent status:

http
GET /org/{orgId}/integrations/anythinkpay/payments/payment-intent/{paymentIntentId}

2. Charging a saved payment method

If a customer has saved their card (using the setup intent flow below), you can charge them directly.

http
POST /org/{orgId}/integrations/anythinkpay/payments/charge-payment-method

Request body:

json
{
  "paymentMethodId": "pm_...",
  "amount": 1499,
  "currency": "gbp"
}

Managing payment methods

Allow customers to save their payment details for faster checkout.

Create a setup intent

Use this client-side to collect and vault a card without charging it.

http
POST /org/{orgId}/integrations/anythinkpay/payment-methods/setup-intent

After the customer completes the Stripe.js form with this setup intent, their payment method is saved and can be charged later.

List saved payment methods

http
GET /org/{orgId}/integrations/anythinkpay/payment-methods

Remove a payment method

http
DELETE /org/{orgId}/integrations/anythinkpay/payment-methods/{paymentMethodId}

Viewing payment history

From the dashboard

Go to Payments in your Anythink dashboard for a full transaction list with filtering by status.

From the CLI

bash
anythink pay payments
anythink pay payments --limit 50

Via the API

All payments:

http
GET /org/{orgId}/integrations/anythinkpay/payments

Filter by status (succeeded, pending, failed):

http
GET /org/{orgId}/integrations/anythinkpay/payments/status/succeeded

Get a specific payment:

http
GET /org/{orgId}/integrations/anythinkpay/payments/{paymentId}

Platform fees (marketplace use)

If you are building a marketplace where you take a percentage of transactions between buyers and sellers, Anythink supports platform fee configuration.

View your fee configuration:

http
GET /org/{orgId}/integrations/anythinkpay/stripe-connect/fees

Calculate the fee for a given amount:

http
POST /org/{orgId}/integrations/anythinkpay/stripe-connect/fees/calculate

Stripe test mode

During development, use Stripe test cards to simulate payments without real charges. Stripe test card numbers are available in the Stripe documentation.

Your Stripe Connect dashboard will show whether you are in test or live mode. Anythink passes through your Stripe mode automatically.

Headless CMS

Updated Mar 19, 2026
Anythink works as a headless CMS — store your content as entities, manage it in the dashboard, and serve it via API to any frontend, app, or channel.

What is a headless CMS?

A traditional CMS (like WordPress) couples the content management interface with the delivery layer — it both stores content and renders web pages.

A headless CMS separates the two. Content is stored and managed in one place, and delivered via API to whatever front-end needs it — a website, a mobile app, a smart TV, a voice assistant, anything. Your frontend fetches content as JSON and renders it however it wants.

Anythink makes this trivial. Create entities to model your content, manage it in the dashboard, and serve it via auto-generated REST API.


Modelling content with entities

Any content type can be represented as an entity. Examples:

Blog / editorial site:

text
articles
  title           varchar    required
  slug            varchar    unique
  body            text       rich-text
  published_at    timestamp
  status          varchar    (draft / published)
  author          → users
  hero_image      file
  tags            varchar[]  multi-select

Product catalogue:

text
products
  name            varchar    required
  description     text
  price           float
  sku             varchar    unique
  category        → categories
  images          file       (multiple)
  in_stock        boolean    default true

Navigation / menus:

Manage nav structures in the dashboard and serve them via API — no hardcoded links in your frontend. See Menu Configuration.


Managing content in the dashboard

The Anythink dashboard is your editorial interface. Non-technical team members can:

  • Create and edit records for any entity
  • Upload images and files
  • Filter and search content
  • Use rich-text editing for long-form content
  • Manage relationships between content types (e.g. attach an author to an article)

Roles and permissions control who can see and edit what — a content editor role can be given access only to specific entities.


Fetching content via API

Your content is available via the standard entity API:

javascript
// Fetch published articles
const res = await fetch(
  'https://api.my.anythink.cloud/org/{orgId}/entities/articles/items?filter[status]=published',
  { headers: { 'Authorization': 'Bearer ' + token } }
);
const { items } = await res.json();

For fully public content that requires no authentication, use the public search endpoint:

javascript
// Public content — no auth required
const res = await fetch(
  'https://api.my.anythink.cloud/org/{orgId}/search/public?e=articles&q=*'
);
const { items } = await res.json();

Multi-channel delivery

The same API powers every channel. One Anythink project can serve content to:

  • A Next.js or Nuxt website (server-side rendering or static generation)
  • A React Native mobile app
  • A Webflow site via custom code
  • An email newsletter tool
  • Any other system that can make an HTTP request

Real-time content updates

Because Anythink's API always returns the current state of your database, content changes made in the dashboard appear in your frontend immediately — no rebuild, no re-deploy.

For static site generators (like Next.js with ISR), use webhooks or workflow triggers to signal a revalidation when content is updated.


Using Anythink as your marketing site CMS

The Anythink marketing site itself is powered by Anythink — articles, product pages, and all structured content are stored as entities and served via API to a Next.js frontend. The same approach works for any content-driven site.

Related Articles

Discover more content related to ways to use it.
Payment Engine | Ways to use it | Anythink Docs | Anythink Docs