logo
Get StartedOverview

API Overview

The Nashra API lets you manage subscribers, segments, custom fields, and posts — and read public data from your blog programmatically.

Overview

The Nashra API is REST over JSON. Use it to manage your subscriber list, sync custom fields, build segments, fetch posts, and integrate Nashra with the rest of your stack.

Base URL

https://app.nashra.ai/api/v1

All authenticated endpoints sit under this base. The public website API (no auth) is namespaced under /api/v1/tenants/{slug}/... — see Public website API below.

Authentication

Authenticated endpoints require a personal access token sent as a Bearer token:

Authorization: Bearer your_api_token_here

Generate tokens in Settings → API Tokens. See Authentication for full details.

What you can do

Subscribers

  • List, search, and filter your subscribers
  • Create and update subscribers, including tags and custom field values
  • Delete subscribers
  • Bulk-upsert up to 100 subscribers per request

Tags

  • List, create, update, and delete subscriber tags

Custom fields

  • List, create, update, and delete custom fields (text, number, date, boolean)

Segments

  • List segments
  • Get segment details with subscriber counts
  • Create new segments programmatically

Posts

  • List your published posts
  • Fetch a single post by UUID

Public website API

A second, unauthenticated namespace at /api/v1/tenants/{slug}/... powers your public blog. You can use it to build a custom front-end on top of your Nashra content:

  • GET /tenants/{slug} — Tenant metadata (name, logo, theme, social links)
  • GET /tenants/{slug}/posts — Public posts list
  • GET /tenants/{slug}/posts/{slug} — Public post detail
  • POST /tenants/{slug}/subscribe — Subscribe to the newsletter
  • GET/POST /tenants/{slug}/magic-links/{identifier} — Magic Link form data + submit
  • GET /tenants/{slug}/bio — Bio Page data
  • GET /tenants/{slug}/landing-pages/{slug} — Landing page data
  • GET /tenants/{slug}/sitemap.xml — Sitemap
  • GET /tenants/{slug}/robots.txt — Robots file

These endpoints are public — they don't require a token, but they're rate-limited.

Response format

All responses are JSON. Successful responses include a data field:

{
  "data": { ... },
  "meta": {
    "version": "v1",
    "timestamp": "2026-05-05T10:30:00Z"
  }
}

Error responses include an error field:

{
  "error": {
    "message": "Subscriber not found.",
    "code": "SUBSCRIBER_NOT_FOUND"
  },
  "meta": { "version": "v1", "timestamp": "..." }
}

Pagination

List endpoints accept per_page (default 15, max 100) and page query parameters. Pagination metadata is included on the response.

Rate limits

Authenticated endpoints share a per-token rate limit. Public form submissions have stricter limits to prevent abuse. See Rate Limits.

Versioning

The API is versioned in the URL (/api/v1). Breaking changes ship under a new version; non-breaking additions (new fields, new endpoints) are made within v1.