Apostle is a brand studio in Nashville, TN. The Apostle Content API gives agents and developers programmatic, read-only access to Apostle's organization profile, service offerings, and client case studies.
Free and self-serve. No API key, no account, no sandbox needed — every
endpoint is a public HTTPS GET that returns JSON. Start with the index and follow the
URLs it returns.
None. Do not send an Authorization header; it is ignored.
https://apostle.company/api/v1/...https://qeexwudhtrbebkzfqaxn.supabase.co/functions/v1/api/v1/...
Apostle publishes a Model Context Protocol server over Streamable HTTP, so Claude, ChatGPT, and other agents can call the API natively. No authentication.
https://qeexwudhtrbebkzfqaxn.supabase.co/functions/v1/mcpget_api_index, get_organization, list_services, list_case_studies, get_case_study
The static documents are unmetered. The live API allows 120 requests per 60 seconds
per client IP and returns RateLimit-Limit, RateLimit-Remaining,
RateLimit-Reset, and RateLimit-Policy on every response. Exceeding the
quota returns 429 with Retry-After in seconds and the JSON error
envelope (code: rate_limited).
The API is versioned in the URL path (/api/v1/) and every live response carries
X-API-Version. Additive changes ship inside v1; breaking changes ship
as /api/v2/ while v1 keeps responding. A version scheduled for removal
returns Deprecation and Sunset headers with at least
180 days of notice. Machine-readable policy:
/api/v1/versioning.json.
Apostle does not publish an official CLI tool. Every endpoint is a plain GET, so
curl plus jq covers scripted use, and the MCP server above covers agents.
| operationId | Request | Returns |
|---|---|---|
| getApiIndex | GET /api/v1/index.json | Index of endpoints, spec URL, error contract. |
| getOrganization | GET /api/v1/organization.json | Name, description, email, contact URL, location. |
| listServices | GET /api/v1/services.json | Engagement types with summaries and page URLs. |
| listCaseStudies | GET /api/v1/case-studies.json | Listed case studies with client, scope, industry, tags. |
| getCaseStudy | GET /api/v1/case-studies/{slug}.json | One case study document. |
| getErrorContract | GET /api/v1/errors.json | Canonical JSON error envelope and codes. |
| getVersioningPolicy | GET /api/v1/versioning.json | Versioning and deprecation policy. |
curl -s https://apostle.company/api/v1/case-studies.json
{
"count": 7,
"data": [
{
"slug": "district",
"title": "District",
"client": "District",
"industry": "Hospitality",
"url": "https://apostle.company/case-studies/district"
}
]
}
Errors use a single JSON envelope with a stable code and a resolution hint:
{
"error": {
"code": "not_found",
"message": "The requested resource does not exist in the Apostle Content API.",
"status": 404,
"resolution": "Fetch https://apostle.company/api/v1/index.json for the list of valid endpoints.",
"documentation": "https://apostle.company/api"
}
}
See /api/v1/errors.json for the full contract.
There is no write API. To start an engagement, send the user to apostle.company/contact or email hello@apostle.company with company, desired outcome, timeline, and budget range.