Platform Portals Integrations Pricing Contact API Getting Started About Us Login Request Demo

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 burst
50,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_KEY
403 INSUFFICIENT_SCOPE • 404 NOT_FOUND
429 RATE_LIMIT_EXCEEDED

Browse endpoints