The SQUAKE Solution Suite is live with industry leaders from several travel and logistics segments and performs accurate carbon calculations for all types of activities (e.g. flights, road, accommodation amongst others) according to national and international standards. It automates carbon reductions and/or compensations along the supply chain, from supplier selection (SAF, DAC, ecological restoration) to inventory management, invoicing and credit retirement.
For any issues or inquiries, you can reach our dedicated customer support team through our Support Page. This is the best place to ask questions, report incidents, or get assistance with integrating or using SQUAKE's solutions.
Our contact forms are designed to help you communicate with us effectively. Whether you want to get in contact with our support team or need to report an incident, we've got you covered. Please use the appropriate form below:
SQUAKE uses API keys to authenticate requests. You can create and revoke API keys in the Dashboard, which you can access by contacting us under product@squake.earth
. You should securely store your API keys; and encrypt them on rest if possible. Be aware that each API key is shown exactly once in the UI during creation. SQUAKE advises rotating API keys on a regular basis.
To use the sandbox environment, a separate API key must be created. Switch to sandbox mode in the dashboard, then create an API key.
All requests must be authenticated and made over HTTPS. SQUAKE supports TLS 1.2 - TLS 1.3. Requests without authentication or via plain HTTP result in an error.
When using HTTP Basic Auth, the API key is the username; leave the password blank. For bearer auth, pass the API key as the token.
Example using HTTP Basic Auth (note: there is no password, but a colon is still required):
curl https://api.squake.earth/v2/pricing -u <YOUR_API_KEY>
Example using bearer auth:
curl https://api.squake.earth/v2/pricing -H "Authorization: Bearer <YOUR_API_KEY>"
SQUAKE associates each API request with a unique identifier. Find this value in the SQUAKE-Request-Id
header. If you need to contact us regarding a specific request, providing the request identifier helps the resolution process.
Please visit status.squake.earth to check our uptime monitor. You can subscribe to events to stay informed of any service disruption. We will also publish a post-mortem about any incident should one occur.
You can programmatically check if servers are reachable. Read the documentation of the Health Check
endpoints for details. The health check endpoints are the only endpoints that do not require authentication.
There is a sandbox server available for testing at
https://api.sandbox.squake.earth
Sandbox and production are separate systems and share no data. Sandbox uses less computing power and may be slower than production. Both sandbox and production environments run the same version of the API; thus, they share the same feature set.
To use the sandbox environment, a separate API key must be created. Switch to sandbox mode in the dashboard, then create an API key.
All outgoing traffic originates from one of the following static IP addresses. SQUAKE owns these IP addresses and never shares them for any other traffic.
Environment | IP Address | Geo Region |
---|---|---|
Production | 52.59.66.213 | Europa/Germany |
Production | 52.7.39.159 | USA |
Sandbox | 18.197.251.125 | Europa/Germany |
This guide will help you make requests to the SQUAKE API in order to calculate emissions for a travel journey.
SQUAKE API has the following group of endpoints:
If you want operator-specific calculations for buses, then use the following dataset supported by SQUAKE's methodology.
Use the HCMI and SQUAKE methodologies database to obtain more accurate emissions. If you know an eco-label, use SQUAKE's eco-label dataset.
For road and sea logistics activities according to GLEC, use the GLEC dataset.
For operator-specific calculations for trains, use the train dataset.
For van calculations, use the EU-EEA supported dataset.
Compare carbon quantities to more recognizable items like cars or kettles. View accepted units in this comparison database.
https://api.squake.earth/
https://api.sandbox.squake.earth/
Webhooks are HTTP callbacks that notify your application when events happen in SQUAKE's system.
Instead of continuously polling our API, webhooks push data to your endpoint when events occur.
This endpoint returns the list of currently registered webhooks. See the Integration Documentation for more information.
https://api.squake.earth/v2/webhooks
https://api.sandbox.squake.earth/v2/webhooks
curl -i -X GET \
https://api.squake.earth/v2/webhooks \
-H 'Authorization: Bearer <YOUR_TOKEN_HERE>'
OK
A unique identifier for the webhook, represented as a universally unique identifier (UUID)
The timestamp of the most recent failed delivery attempt. If no failures have occurred, this field is null
The timestamp of the most recent successful delivery attempt. If no attempts have been made, this field is null
The type of event that triggers the webhook
The URL where the webhook payloads are sent. Must be a valid URI that accepts POST requests
[ { "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08", "last_failed_at": "2024-08-22T14:10:78Z", "last_sent_at": "2024-08-24T14:15:22Z", "failed_attempts": 0, "kind": "order", "endpoint_url": "http://example.com", "signing_key": "TAWHPBAVckH8KmxRtlRX/rQ/mona5vUem7QFtozGHxM=" } ]
This endpoint allows you to register a new Webhook to subscribe to certain kind of events being triggered by Squake
Important: This endpoint returns a newly created webhook upon a successful request.
The webhook includes a signing_key
used to verify the authenticity of future webhook messages. Please ensure you save this signing_key
, as it cannot be retrieved later.
This endpoint accepts JSON object with two fields:
kind
endpoint_url
Right now we're supporting next types:
order
- we'll send you an event when purchase which was made via stripe changes statusconfirmation_document_available
- we'll send a document when it's generatedcertificate_document_available
- we'll send a document when it's generatedThe endpoint_url
value should be a valid URL that accepts POST
requests.
https://api.squake.earth/v2/webhooks
https://api.sandbox.squake.earth/v2/webhooks
curl -i -X POST \
https://api.squake.earth/v2/webhooks \
-H 'Authorization: Bearer <YOUR_TOKEN_HERE>' \
-H 'Content-Type: application/json' \
-d '{
"kind": "order",
"endpoint_url": "string"
}'
Created
A unique identifier for the webhook, represented as a universally unique identifier (UUID)
The timestamp of the most recent failed delivery attempt. If no failures have occurred, this field is null
he timestamp of the most recent successful delivery attempt. If no attempts have been made, this field is null
The type of event that triggers the webhook
The URL where the webhook payloads are sent. Must be a valid URI that accepts POST requests
{ "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08", "last_failed_at": "2024-08-22T14:10:78Z", "last_sent_at": "2024-08-24T14:15:22Z", "failed_attempts": 0, "kind": "order", "endpoint_url": "http://example.com", "signing_key": "TAWHPBAVckH8KmxRtlRX/rQ/mona5vUem7QFtozGHxM=" }
https://api.squake.earth/v2/webhooks/{id}
https://api.sandbox.squake.earth/v2/webhooks/{id}
curl -i -X GET \
'https://api.squake.earth/v2/webhooks/{id}' \
-H 'Authorization: Bearer <YOUR_TOKEN_HERE>'
OK
A unique identifier for the webhook, represented as a universally unique identifier (UUID)
The timestamp of the most recent failed delivery attempt. If no failures have occurred, this field is null
The timestamp of the most recent successful delivery attempt. If no attempts have been made, this field is null
The type of event that triggers the webhook
{ "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08", "last_failed_at": "2024-08-22T14:10:78Z", "last_sent_at": "2024-08-24T14:15:22Z", "failed_attempts": 0, "kind": "order", "endpoint_url": "http://example.com", "signing_key": "TAWHPBAVckH8KmxRtlRX/rQ/mona5vUem7QFtozGHxM=" }
https://api.squake.earth/v2/webhooks/{id}
https://api.sandbox.squake.earth/v2/webhooks/{id}
curl -i -X PUT \
'https://api.squake.earth/v2/webhooks/{id}' \
-H 'Authorization: Bearer <YOUR_TOKEN_HERE>' \
-H 'Content-Type: application/json' \
-d '{
"kind": "order",
"endpoint_url": "string"
}'
OK
A unique identifier for the webhook, represented as a universally unique identifier (UUID)
The timestamp of the most recent failed delivery attempt. If no failures have occurred, this field is null
The timestamp of the most recent successful delivery attempt. If no attempts have been made, this field is null
The type of event that triggers the webhook
{ "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08", "last_failed_at": "2024-08-22T14:10:78Z", "last_sent_at": "2024-08-24T14:15:22Z", "failed_attempts": 0, "kind": "order", "endpoint_url": "http://example.com", "signing_key": "TAWHPBAVckH8KmxRtlRX/rQ/mona5vUem7QFtozGHxM=" }
https://api.squake.earth/v2/webhooks/{id}
https://api.sandbox.squake.earth/v2/webhooks/{id}
curl -i -X DELETE \
'https://api.squake.earth/v2/webhooks/{id}' \
-H 'Authorization: Bearer <YOUR_TOKEN_HERE>'