API Documentation
Neksio REST API for contact, blog, and services. Build integrations with our developer-friendly endpoints.
Getting Started
Overview
The Neksio API provides REST endpoints for submitting contact forms, fetching blog posts with SEO metadata, and retrieving service information. All endpoints return JSON. The API supports CORS for browser-based requests from allowed origins.
Submissions
All submission endpoints are rate limited to 5 requests per minute per IP.
POST /contact
/api/v1/contactSubmit a contact form (sales or support inquiry from contact page).
Request Body
{
"name": "John Doe",
"email": "john@example.com",
"company": "Acme Inc",
"message": "I would like to learn more about your AI solutions.",
"inquiry_type": "sales"
}Response Example
{
"success": true,
"message": "Thank you for your message. We'll get back to you within 24 hours."
}POST /demo
/api/v1/demoSubmit a book a demo request.
Request Body
{
"name": "John Doe",
"email": "john@example.com",
"phone": "+1234567890",
"company": "Acme Inc",
"message": "I would like to book a demo for WhatsApp integration."
}Response Example
{
"success": true,
"message": "Thank you for your message. We'll get back to you within 24 hours."
}POST /support
/api/v1/supportSubmit a support ticket. For existing customers.
Request Body
{
"name": "johndoe",
"message": "I'm having issues with my WhatsApp integration.",
"customer_pin": "ABC123"
}Response Example
{
"success": true,
"message": "Thank you for your message. We'll get back to you within 24 hours."
}Blog
/api/v1/blogGet a list of all blog posts with SEO fields. Returns id, title, excerpt, category, author, readTime, date, heroImage, metaDescription, tags, focusKeyword.
Response Example
[
{
"id": "rag-vs-fine-tuning",
"title": "RAG vs Fine-Tuning: Which Approach for Your AI Agent?",
"excerpt": "A practical comparison...",
"category": "AI",
"author": "Neksio Team",
"readTime": "8 min",
"date": "2024-03-15",
"heroImage": "https://...",
"metaDescription": "...",
"tags": [
"RAG",
"AI"
],
"focusKeyword": "RAG"
}
]/api/v1/blog/{post_id}Get a single blog post by ID with full content and SEO metadata. Includes content blocks, Open Graph, Twitter Card, and JSON-LD structured data.
Response Example
{
"id": "rag-vs-fine-tuning",
"title": "RAG vs Fine-Tuning...",
"content": [
{
"type": "text",
"value": "..."
},
{
"type": "heading",
"value": "..."
}
],
"seo": {
"metaTitle": "...",
"metaDescription": "...",
"ogTitle": "...",
"ogImage": "..."
}
}/api/v1/blog/{post_id}/seoGet SEO metadata only for a blog post. Use for head/meta injection, SSR, or when only SEO data is needed.
Response Example
{
"metaTitle": "RAG vs Fine-Tuning | Neksio",
"metaDescription": "...",
"metaKeywords": [
"RAG",
"AI"
],
"focusKeyword": "RAG",
"ogTitle": "...",
"ogImage": "...",
"structuredData": {}
}Services
/api/v1/servicesGet a list of all services. Returns id, title, description, useCases, benefits, color.
Response Example
[
{
"id": "whatsapp-chatbots",
"title": "WhatsApp API & AI Agent",
"description": "WhatsApp Business API, Webhooks, and AI agents with RAG + External API...",
"useCases": [
"E-commerce",
"Customer support"
],
"benefits": [
"API & Webhook setup",
"RAG-powered responses"
],
"color": "from-green-500 to-emerald-500"
}
]/api/v1/services/{service_id}Get a single service by ID. Returns full detail including workflow, features, channels, benefitsDetail.
Response Example
{
"id": "whatsapp-chatbots",
"title": "WhatsApp API & AI Agent",
"tagline": "API, Webhook + AI Agent with RAG and External API",
"description": "...",
"workflowSteps": [
{
"step": 1,
"title": "API Setup",
"description": "..."
}
],
"features": [
"API Integration",
"Webhook Setup",
"RAG-Powered Agent"
],
"channels": [
"WhatsApp Business API",
"WhatsApp Cloud API"
]
}Health
/healthHealth check endpoint. Returns service status. Note: This endpoint is at the root, not under /api/v1.
Response Example
{
"status": "ok",
"service": "Neksio API"
}Responses & Errors
Success Response
Successful requests return 200 OK with a JSON body.
{
"success": true,
"message": "Thank you for your message."
}Error Response
Errors return appropriate HTTP status codes (400, 404, 422, 429) with a JSON body containing a detail field.
{
"detail": "Blog post not found"
}
// Or for validation errors:
{
"detail": [
{
"loc": ["body", "email"],
"msg": "value is not a valid email address",
"type": "value_error.email"
}
]
}Rate Limits
Understanding Rate Limits
The submission endpoints (POST /api/v1/contact, /demo, /support) are rate limited to 5 requests per minute per IP address to prevent spam.
When the limit is exceeded, the API returns 429 Too Many Requests. Blog and services endpoints are not rate limited.
// 429 Response when rate limited
{
"detail": "Rate limit exceeded: 5 per 1 minute"
}Need help integrating? Contact us or explore our services.
Interactive API docs: /docs (Swagger) and /redoc (ReDoc) on the backend server.