اپ ڈیٹ رہیں
Build powerful integrations with our comprehensive REST API. 818+ endpoints, full OpenAPI spec, and TypeScript SDK.
Get up and running with the ECOSIRE API in minutes
Use OAuth2 via Authentik or API keys to obtain a JWT bearer token for API access.
Use the bearer token in the Authorization header to call any API endpoint.
Install our TypeScript SDK for type-safe API calls with built-in error handling.
Explore 57 modules covering every aspect of enterprise operations
Two authentication methods to fit your integration needs
Secure cookie-based authentication for browser applications. Tokens are never exposed to JavaScript.
Use JWT bearer tokens for server-to-server integrations and API clients.
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": "[email protected]", "password": "secret" }'Install the ECOSIRE SDK in your language of choice and explore 6 common operations with full code snippets.
Choose your language and install the ECOSIRE SDK
npm install @ecosire/sdk6 common operations with full SDK snippets
1. Authentication
Obtain a JWT token and include it in subsequent requests.
import { EcosireClient } from '@ecosire/sdk';
const client = new EcosireClient({
baseUrl: 'https://api.ecosire.com/api',
apiKey: process.env.ECOSIRE_API_KEY,
});
// Login with credentials
const session = await client.auth.login({
email: '[email protected]',
password: 'secret',
});
console.log(session.token); // JWT token
console.log(session.user); // { id, email, name, role }
// All subsequent calls auto-attach the token
const contacts = await client.contacts.list();ECOSIRE sends real-time webhook events to your server when key actions occur — payments, subscriptions, license activations, and more.
Explore all 8 webhook events, generate cURL commands, and verify HMAC signatures.
Fired 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": "[email protected]",
"amount_total": 24900,
"currency": "usd",
"mode": "payment",
"payment_status": "paid",
"metadata": {
"userId": "usr_01HXYZ",
"productIds": "[\"prd_01HODOOCRM\"]"
}
}
}
}| 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.
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" }
]
}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 |
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)Everything you need to build your integration
Explore and test every endpoint with our Swagger UI interface. Try API calls directly from your browser.
Download the full OpenAPI 3.0 specification in JSON format. Import into Postman, Insomnia, or your own tools.
Type-safe API client with auto-completion, error handling, and built-in retry logic.
Create and manage API keys from your dashboard. Each key can be scoped to specific permissions and rotated independently.
Generate new API keys from Dashboard → Settings → API Keys. Each key has a name, optional expiry date, and role scope.
Keys can be scoped to read-only, read-write, or admin. Admin keys can manage other keys and access all endpoints.
Rotate keys at any time without downtime. The old key remains valid for 24 hours after rotation for a smooth transition.
View per-key request counts, error rates, and last-used timestamps from the API Keys dashboard page.
Maintain separate keys for development, staging, and production. Production keys log all requests for audit purposes.
Webhook endpoints also use a separate ECOSIRE_LICENSE_SECRET for HMAC-SHA256 signature verification on license events.
# 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>
Common questions about the ECOSIRE API
Sign up for an ECOSIRE account and navigate to Dashboard > API Keys to generate your API credentials. API access is available on all plans.
Yes, all ECOSIRE accounts include API access. Rate limits vary by plan. The free tier supports up to 1,000 API calls per day.
We support OAuth2 via Authentik (recommended for web apps), JWT bearer tokens (for server-to-server), and API keys (for simple integrations).
Yes, ECOSIRE supports webhooks for real-time event notifications. Configure webhook endpoints in Dashboard > Settings > Webhooks.
We maintain 99.9% uptime for all API endpoints. Status page and incident history are available at status.ecosire.com.
Get your API key and start building integrations in minutes.