ECOSIRE Developer Portal
Build powerful integrations with our comprehensive REST API. 818+ endpoints, full OpenAPI spec, and TypeScript SDK.
Quick Start
Get up and running with the ECOSIRE API in minutes
Authenticate
Use OAuth2 via Authentik or API keys to obtain a JWT bearer token for API access.
Make Your First Call
Use the bearer token in the Authorization header to call any API endpoint.
एक सार्वजनिक एंडपॉइंट कॉल करें
ऐप कैटलॉग खुला है: न कोई कुंजी चाहिए, न कुछ इंस्टॉल करना है। कोई भी HTTP क्लाइंट काम करेगा।
API Modules
Explore 57 modules covering every aspect of enterprise operations
Core
Finance
Operations
Human Resources
Marketing & Growth
AI & Automation
Authentication
Two authentication methods to fit your integration needs
HttpOnly Cookies
Secure cookie-based authentication for browser applications. Tokens are never exposed to JavaScript.
- Automatic with the web application
- HttpOnly, Secure, SameSite=Lax
- 7-day refresh token rotation
Bearer Token
Use JWT bearer tokens for server-to-server integrations and API clients.
API Playground
Try any endpoint directly from your browser. Select an endpoint, fill in parameters, and send live requests to the ECOSIRE API.
/auth/loginLogin with email and password
curl -X POST \ \
"https://api.ecosire.com/api/auth/login" \ \
-H "Content-Type: application/json" \
-d '{ "email": "user@example.com", "password": "secret" }'HTTP कोड उदाहरण
कुछ भी इंस्टॉल करने की ज़रूरत नहीं। अपनी भाषा के साथ पहले से आने वाले HTTP क्लाइंट से API कॉल करें — नीचे दिया हर अनुरोध लाइव API पर चलता है।
कोड उदाहरण
कैटलॉग, लाइसेंस और एजेंट टूल — curl, TypeScript, Python, PHP और Ruby में
1. प्लेटफ़ॉर्म की सूची देखें
ऐप कैटलॉग का हर प्लेटफ़ॉर्म, साथ में यह कि उसमें कितने ऐप सूचीबद्ध हैं और कितने आज ही इंस्टॉल किए जा सकते हैं। कुंजी की ज़रूरत नहीं।
curl -s "https://api.ecosire.com/api/apps/platforms" \
-H "User-Agent: my-integration/1.0"
# 200 OK — no key needed
# [
# { "platform": "odoo", "slug": "odoo", "label": "Odoo",
# "appCount": <apps listed>, "sellableCount": <ready to install today> },
# ...
# ]Webhook Events
ECOSIRE sends real-time webhook events to your server when key actions occur — payments, subscriptions, license activations, and more.
Webhook Event Tester
Explore all 8 webhook events, generate cURL commands, and verify HMAC signatures.
Checkout Completed
checkout.session.completedFired when a customer completes payment in a Stripe Checkout Session.
Trigger: Customer pays for a product in the storefront. Auto-grants licenses and creates order.
Example JSON payload delivered to your webhook endpoint for checkout.session.completed.
{
"id": "evt_1ABCxyz",
"object": "event",
"type": "checkout.session.completed",
"created": 1711000000,
"data": {
"object": {
"id": "cs_live_abc123",
"object": "checkout.session",
"customer_email": "customer@company.com",
"amount_total": 24900,
"currency": "usd",
"mode": "payment",
"payment_status": "paid",
"metadata": {
"userId": "usr_01HXYZ",
"productIds": "[\"prd_01HODOOCRM\"]"
}
}
}
}All Webhook Events
| Event | |
|---|---|
checkout.session.completed | |
invoice.paid | |
customer.subscription.deleted | |
customer.subscription.updated | |
charge.refunded | |
payment_intent.payment_failed | |
license.validated | |
license.activated |
Verify webhook signatures in production
Always verify the stripe-signature header for Stripe events using your STRIPE_WEBHOOK_SECRET. For license events, verify the X-License-Signature header using ECOSIRE_LICENSE_SECRET. Unverified events should be rejected with 401.
Error Codes
All API errors follow RFC 7807 (Problem Details for HTTP APIs). Every error includes a machine-readable code and human-readable message.
| Status | Meaning |
|---|---|
| 200 | OK |
| 201 | Created |
| 204 | No Content |
| 400 | Bad Request |
| 401 | Unauthorized |
| 403 | Forbidden |
| 404 | Not Found |
| 409 | Conflict |
| 422 | Unprocessable |
| 429 | Too Many Requests |
| 500 | Server Error |
{
"statusCode": 422,
"error": "Unprocessable Entity",
"message": "Validation failed",
"details": [
{ "field": "email", "message": "Invalid email address" },
{ "field": "password", "message": "Must be at least 8 characters" }
]
}Rate Limits
Fair usage limits to ensure API stability for all users
| Endpoint | Rate Limit |
|---|---|
| POST /support | 5/min |
| POST /crm/capture | 10/min |
| POST /ecosire-ai/ask | 20/min |
| POST /licenses/validate | 30/min |
| POST /licenses/activate | 10/min |
| POST /newsletter/subscribe | 5/min |
| Authenticated endpoints | 100/min |
Rate Limit Response Headers
X-RateLimit-LimitMaximum requests allowed in the windowX-RateLimit-RemainingRequests remaining in the current windowX-RateLimit-ResetUnix timestamp when the window resetsRetry-AfterSeconds to wait before retrying (on 429)Resources & SDK
Everything you need to build your integration
API संदर्भ
बेस URL, रेट लिमिट, रिस्पॉन्स फ़ॉर्मेट और हर मॉड्यूल के एंडपॉइंट, अनुरोध और रिस्पॉन्स के उदाहरणों के साथ।
प्रमाणीकरण गाइड
API कुंजी या JWT Bearer टोकन से प्रमाणीकरण कैसे करें, साथ ही सुरक्षा की सर्वोत्तम प्रथाएँ।
त्रुटि संदर्भ
HTTP स्टेटस कोड, त्रुटि रिस्पॉन्स का फ़ॉर्मेट, आम त्रुटि परिदृश्य और त्रुटि प्रबंधन की सर्वोत्तम प्रथाएँ।
API Key Management
Create and manage API keys from your dashboard. Each key can be scoped to specific permissions and rotated independently.
Create API Keys
Generate new API keys from Dashboard → Settings → API Keys. Each key has a name, optional expiry date, and role scope.
Scoped Permissions
Keys can be scoped to read-only, read-write, or admin. Admin keys can manage other keys and access all endpoints.
Key Rotation
Rotate keys at any time without downtime. The old key remains valid for 24 hours after rotation for a smooth transition.
Usage Analytics
View per-key request counts, error rates, and last-used timestamps from the API Keys dashboard page.
Environment Keys
Maintain separate keys for development, staging, and production. Production keys log all requests for audit purposes.
Webhook Secrets
Webhook endpoints also use a separate ECOSIRE_LICENSE_SECRET for HMAC-SHA256 signature verification on license events.
Using an API Key
# Pass the key as a Bearer token in the Authorization header curl https://api.ecosire.com/api/contacts \ -H "Authorization: Bearer ecos_live_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" # Or use HttpOnly cookies (browser-based auth — set automatically on login) # Cookie: ecosire_auth=<jwt_token>
Frequently Asked Questions
Common questions about the ECOSIRE API
How do I get API access?
Sign up for an ECOSIRE account and navigate to Dashboard > API Keys to generate your API credentials. API access is available on all plans.
Is there a free tier?
Yes, all ECOSIRE accounts include API access. Rate limits vary by plan. The free tier supports up to 1,000 API calls per day.
What authentication methods are supported?
We support OAuth2 via Authentik (recommended for web apps), JWT bearer tokens (for server-to-server), and API keys (for simple integrations).
Do you have webhook support?
Yes, ECOSIRE supports webhooks for real-time event notifications. Configure webhook endpoints in Dashboard > Settings > Webhooks.
What is the API uptime SLA?
We do not publish an uptime percentage — we publish the system behind it. The API runs as a redundant multi-instance cluster behind health checks, releases go out as zero-downtime reloads rather than restarts, and live service state and incident history are at status.ecosire.com. Response commitments for incidents are set in your support agreement, not in a marketing figure.
Ready to Build?
Get your API key and start building integrations in minutes.