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 listGET /tenants/{slug}/posts/{slug}— Public post detailPOST /tenants/{slug}/subscribe— Subscribe to the newsletterGET/POST /tenants/{slug}/magic-links/{identifier}— Magic Link form data + submitGET /tenants/{slug}/bio— Bio Page dataGET /tenants/{slug}/landing-pages/{slug}— Landing page dataGET /tenants/{slug}/sitemap.xml— SitemapGET /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.
Last updated 3 weeks ago
Built with Documentation.AI