Skip to content

Introduction

Diggama is a headless CMS that lets you model, manage, and deliver content through a powerful API. Define your data structures with blueprints, manage content through the admin panel, and consume it from any frontend — static site generators, mobile apps, or SPAs.

Key features

FeatureDescription
BlueprintsFlexible data modeling with 20 field types — text, images, references, money, addresses, and more
Resources APIFull CRUD with advanced filtering, sorting, search, and bulk operations
AnalyticsBuilt-in privacy-friendly analytics with a lightweight tracking script and a full Analytics API
VariantsMultilingual content out of the box — every endpoint supports a variant parameter
Granular permissionsScope tokens per blueprint and ability (view, create, update, delete, publish)

Quick start

1. Create a blueprint

In the Diggama dashboard, create a blueprint (e.g. blog-posts) and add fields like title (Text), slug (Slug), content (Rich text), and cover (Image).

2. Generate an API token

Go to Project settings > Tokens and create a token. Grant it the abilities you need (e.g. view on blog-posts).

3. Fetch your content

bash
curl "https://api.diggama.com/v2/resources/blog-posts" \
  -H "Authorization: Bearer {token}"
json
{
  "data": [
    {
      "id": "gKqv6dx6pBk9",
      "type": "resource",
      "published_at": "2026-02-01T12:00:00+00:00",
      "created_at": "2026-01-28T09:15:00+00:00",
      "updated_at": "2026-02-01T12:00:00+00:00",
      "attributes": {
        "title": "Getting started with Diggama",
        "slug": "getting-started",
        "content": "<p>Welcome to your new headless CMS.</p>",
        "cover": "https://cdn.diggama.com/images/cover.jpg"
      },
      "relationships": {
        "blueprint": {
          "data": { "id": "blog-posts", "type": "blueprint" }
        }
      }
    }
  ],
  "meta": { "current_page": 1, "last_page": 1, "per_page": 25, "total": 1 }
}

4. Integrate with your frontend

Use the response data in any framework. Here's an example with Astro:

javascript
// src/pages/blog/index.astro
const response = await fetch('https://api.diggama.com/v2/resources/blog-posts?sort=-published_at', {
  headers: { 'Authorization': `Bearer ${import.meta.env.DIGGAMA_TOKEN}` }
});
const { data: posts } = await response.json();

API versioning

The current API version is V2. The base URL for all API endpoints is:

https://api.diggama.com/v2/

The V1 API remains available at https://api.diggama.com/v1/ for existing integrations. New projects should use V2.

What's next?

Diggama Documentation