Getting Started
Follow the steps below to get up and running with the Viridian Integration API.
1. Request API Access
API access must be provisioned by AFS Energy BV. To request access, email support@afsenergy.nl.
Use the subject line [Integration API] Access Request and include your company name and intended use. Each API key is scoped to a single client company.
2. Register Your API Account
Once access is approved, you will receive an email invitation to register. After registering, log in to the Viridian Client Portal and navigate to API Settings. Here you can:
- Generate your API key
- Refresh your key if needed (note: this revokes the previous key immediately)
- View details about your current key
3. Register a Webhook
Before submitting any integration requests, you must register a webhook endpoint. AFS Energy BV will use this URL to deliver priced offers to your system as soon as they are ready.
Register your webhook by POSTing to /api/webhooks with your endpoint URL and the event type price_updated. Only one active webhook per event type is permitted per account.
See the Webhooks guide for full endpoint reference and request details.
4. Submit Your First Integration Request
With your webhook registered, you can submit a buy or sell interest by POSTing to /api/iois. Specify the commodity (EU_ETS), the volume in EUAs, and the direction (buy or sell).
The integration request is immediately acknowledged with a status of new and an expiry timestamp 3 minutes from submission.
See Indication of Interest for full endpoint reference and request details.
5. Receive and Respond to an Offer
AFS Energy BV will price your request in real time and POST an offer to your registered webhook. The offer contains a firm price and total notional value. You must respond before the integration request expires:
- Accept —
PATCH /api/offers/{id}withisAccepted: trueto confirm the trade - Reject —
PATCH /api/offers/{id}withisAccepted: falseto decline
If no response is received before the expiry window closes, the integration request moves to expired status and a new request must be submitted.
See Offers for full endpoint reference and request details.
Authentication
All API requests must include your API key as a Bearer token in the Authorization header:
Authorization: Bearer <your-api-key>All request and response bodies use JSON. Include Content-Type: application/json and Accept: application/json on every request with a body.
For full endpoint reference, object schemas, error codes, and business rules, see the Webhooks, Indication of Interest, and Offers guides.