API Reference
Energy Connect Public API v1 — RESTful JSON over HTTPS
Download the current OpenAPI contract · Integration guide
Last updated
Quickstart
Base URL: https://api.energyconnecter.ai/v1/public
The API covers 122 endpoints across 17 resource groups: Orders (38), Pricing (14), Connections & Freight Rates (12), Invoices (12), Companies (9), Webhooks (8), Locations (6), Supplier Terminals (5), Tax Rates (5), Allocations (3), Load Board (3), Payments (2), and one each for Customers, Suppliers, Product Taxonomy, Reference Data and API Key usage. The browser below is rendered client-side; for a static list of every operation see /llms-full.txt.
Authentication
Pass your API key either as an X-API-Key header or as an Authorization: Bearer token — both are accepted. Keys start with ec_live_ (production) or ec_test_ (sandbox).
curl -H "X-API-Key: ec_live_your_key_here" \ https://api.energyconnecter.ai/v1/public/orders # equivalently, as a Bearer token: curl -H "Authorization: Bearer ec_live_your_key_here" \ https://api.energyconnecter.ai/v1/public/orders
Idempotency
Every write (POST, PUT, PATCH, DELETE) requires an Idempotency-Key header — 16–200 characters of A-Za-z0-9_-. A UUID works. Omit it and the call returns 400 IDEMPOTENCY_KEY_REQUIRED. The only exception is POST /pricing/freight-calculate, which computes and writes nothing.
Use a fresh key for every distinct request. Retrying with the same key and the same body replays the original response — marked Idempotency-Replayed: true — without re-running side effects such as dispatch SMS or email. Records are kept for 24 hours. Reusing a key with a different body returns 409 IDEMPOTENCY_KEY_CONFLICT; a key whose original request is still in flight returns 409 IDEMPOTENCY_IN_FLIGHT with Retry-After.
curl -X POST https://api.energyconnecter.ai/v1/public/delivery-tickets \
-H "X-API-Key: ec_live_your_key_here" \
-H "Idempotency-Key: $(uuidgen)" \
-H "Content-Type: application/json" \
-d '{"bolNumbers":["1234567"]}'
Rate Limits
600 requests/min burst50,000 billable requests/month
RFC 9239 headers on every response
Response Format
Success: { success: true, data: ... }
List: { success: true, data: [...], meta: { total, page, pageSize, totalPages, hasMore } }
Error: { success: false, error: { code, message } }
Pagination
Use ?page=1&pageSize=20 query params.
Max pageSize is 100 (500 for connections).
Errors
400 VALIDATION_ERROR • 401 INVALID_API_KEY403 INSUFFICIENT_SCOPE • 404 NOT_FOUND429 RATE_LIMIT_EXCEEDED