Skip to content

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:

  • AcceptPATCH /api/offers/{id} with isAccepted: true to confirm the trade
  • RejectPATCH /api/offers/{id} with isAccepted: false to 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.