Fetch a paginated list or a single certificate by ID.
Two response views are available — summary (lightweight) and detail (full data including project and gift info).
https://api.bloomy.earth
| Type | Endpoint | Description |
|---|---|---|
| List (summary) | GET /v1/certificates |
Returns a paginated list of certificates with essential information. (Recommended for most use cases — fast and lightweight.) |
| List (detail) | GET /v1/certificates?view=detail |
Returns a paginated list with full project and gift details. (Slower response time due to extended data.) |
| Single | GET /v1/certificates/CERTIFICATE_ID |
Returns one specific certificate by ID. |
Authentication uses HTTP Basic Auth with your Bloomy Earth API credentials. You must use your Bloomy Earth platform username and application password.
You can find and manage these credentials in your Bloomy Earth dashboard, in the Integration API section:
👉 https://www.bloomy.earth/dashboard/#bloomy-integration-api
| Header | Value | Required | Description |
|---|---|---|---|
| Authorization | Basic BASE64(username:pwd) | Yes | Basic Auth using your Bloomy Earth username and application password. |
| Accept | application/json | Optional | Specifies that the response should be in JSON format. |
| Name | Type | Required | Description |
|---|---|---|---|
page |
integer | Optional | Page index (default: 1). |
perPage |
integer | Optional | Number of results per page (default: 50). |
view |
string | Optional | Defines data level: "summary" (default) or "detail". |
1️⃣ Paginated summary (default view):
curl -X GET "https://api.bloomy.earth/v1/certificates?page=1&perPage=10" \
-u YOUR_BLOOMY_USERNAME:YOUR_APPLICATION_PASSWORD \
-H "Accept: application/json"
2️⃣ Paginated detail view:
curl -X GET "https://api.bloomy.earth/v1/certificates?page=1&perPage=10&view=detail" \
-u YOUR_BLOOMY_USERNAME:YOUR_APPLICATION_PASSWORD \
-H "Accept: application/json"
3️⃣ Get one certificate by ID:
curl -X GET "https://api.bloomy.earth/v1/certificates/CERTIFICATE_ID" \
-u YOUR_BLOOMY_USERNAME:YOUR_APPLICATION_PASSWORD \
-H "Accept: application/json"
1️⃣ Paginated Summary View (?view=summary, default)
{
"page": 1,
"perPage": 3,
"total": 7,
"totalPages": 3,
"items": [
{
"certificateId": 72367198438,
"certificateLink": "https://www.bloomy.earth/certificate/72367198438/",
"projectName": "Lake Victoria Agroforestry Project in Kenya",
"country": "Kenya",
"quantity": 1,
"carbonOffsetKg": 50,
"createdAt": "2025-11-03T22:33:11+00:00"
},
{
"certificateId": 71975058226,
"certificateLink": "https://www.bloomy.earth/certificate/71975058226/",
"projectName": "Landscape Restoration – Sunkoshi Basin in Nepal",
"country": "Nepal",
"quantity": 1,
"carbonOffsetKg": 50,
"createdAt": "2025-06-11T18:03:27+00:00"
}
]
}
2️⃣ Paginated Detailed View (?view=detail)
{
"page": 1,
"perPage": 2,
"total": 7,
"totalPages": 4,
"items": [
{
"certificateId": 853102,
"certificateLink": "https://www.bloomy.earth/certificate/853102/",
"projectInfo": {
"name": "Lake Victoria Agroforestry Project in Kenya",
"country": "Kenya",
"location": "VQ27+Q7C Kisumu, Kenya",
"quantity": 5,
"carbonOffsetKg": 250,
"reforestedAreaHa": 0.005
},
"isVcsCertified": true,
"creditsUsed": 20,
"giftSentTo": "john@example.com",
"createdAt": "2025-11-05T15:22:00+00:00"
},
{
"certificateId": 853103,
"certificateLink": "https://www.bloomy.earth/certificate/853103/",
"projectInfo": {
"name": "Restoring the Monarch Butterfly Sanctuary in Mexico",
"country": "Mexico",
"location": "MX82+T4T Michoacán, Mexico",
"quantity": 10,
"carbonOffsetKg": 500,
"reforestedAreaHa": 0.01
},
"isVcsCertified": false,
"creditsUsed": 10,
"createdAt": "2025-11-04T09:42:15+00:00"
}
]
}
3️⃣ Single Certificate (/v1/certificates/{certificateId})
{
"success": true,
"certificateId": 853102,
"certificateLink": "https://www.bloomy.earth/certificate/853102/",
"projectInfo": {
"name": "Lake Victoria Agroforestry Project in Kenya",
"country": "Kenya",
"location": "VQ27+Q7C Kisumu, Kenya",
"quantity": 5,
"carbonOffsetKg": 250,
"reforestedAreaHa": 0.005
},
"isVcsCertified": true,
"creditsUsed": 20,
"giftSentTo": "john@example.com",
"createdAt": "2025-11-05T15:22:00+00:00"
}
| Field | Type | Description | Visible In |
|---|---|---|---|
| success | boolean | Indicates if the request was successful | all |
| certificateId | integer | Unique numeric identifier of the certificate | summary & detail |
| certificateLink | string | Public URL to view the certificate | summary & detail |
| projectName | string | Name of the reforestation project (summary view only) | summary |
| country | string | Country where the project takes place (summary view only) | summary |
| quantity | integer | Number of trees associated with the certificate | summary & detail |
| carbonOffsetKg | number | Estimated CO₂ offset in kilograms | summary & detail |
| createdAt | string | Certificate creation date (UTC) | summary & detail |
| projectInfo.name | string | Project name (detailed view only) | detail |
| projectInfo.country | string | Country (detailed view only) | detail |
| projectInfo.location | string | GPS or location name (detailed view only) | detail |
| projectInfo.quantity | integer | Number of trees planted (detailed view only) | detail |
| projectInfo.carbonOffsetKg | number | Estimated CO₂ offset (detailed view only) | detail |
| projectInfo.reforestedAreaHa | number | Estimated reforested area in hectares (detailed view only) | detail |
| giftSentTo | string | Email of the gift recipient (only present if the certificate was gifted) | detail |
| isVcsCertified | boolean | True if a VCS-certified offset was used for this certificate. | summary, detail, single |
| creditsUsed | integer | Total credits consumed for this certificate (0 if not tracked). | detail, single |
| page | integer | Current pagination page (only in list responses) | list only |
| perPage | integer | Number of items per page (only in list responses) | list only |
| total | integer | Total number of certificates for the organization (only in list responses) | list only |
| totalPages | integer | Total number of pages available (only in list responses) | list only |
| items | array | List of certificate objects (only in list responses) | list only |
If the request is missing required data or contains invalid parameters, the API returns a JSON object with an error code and a short message.
| HTTP | Error code | Message | Description |
|---|---|---|---|
| 400 | invalid_request | Bad request. | The request is malformed or contains missing or invalid parameters. |
| 401 | unauthorized | Authentication required. | The Authorization header was missing or invalid. |
| 403 | forbidden | Authentication failed. | The provided credentials are invalid or lack permissions. |
| 404 | not_found | Resource not found. | No certificate found matching the provided ID and organization. |
| 500 | server_error | Internal server error. | An unexpected error occurred on the server. |
Error format:
{
"error": "forbidden",
"message": "Authentication failed."
}