Introduction

Welcome to the Rejoose API Documentation

Our APIs help you integrate sustainability data seamlessly into your workflows. This documentation covers multiple APIs, each serving a specific purpose. Please review the section relevant to your needs:

  • e.voice – Carbon data for invoices or similar transactions.
  • e.voice Circularity – Refurbished product carbon data for ITADs and circular IT.
  • e.product & e.product+ – Carbon data for single or bulk products. Standard provides total CO₂e; e.product+ includes full life cycle (LCA) data.
  • Group Data Extraction (e.hub Enterprise) – Advanced data extraction and aggregation for enterprise accounts.

How Our APIs Work

  • All Rejoose APIs follow REST principles, using standard REST-oriented URLs and HTTP verbs.
  • Requests are form-encoded, and responses are JSON-encoded.
  • Authentication is handled via API tokens, which you can generate in e.hub. Contact support@rejoose.com for access.
  • Our APIs evolve over time. We aim to minimize changes, but when updates occur, we'll notify you in advance.

Getting Started

Once your contract is signed, we'll begin a thorough onboarding process.

If you need support before the contract is finalized, please reach out - we'll do our best to assist. Pre-contract support may incur a cost, depending on scope and hours required (we'll inform you beforehand).

Tips for Using the Docs

  • Expand objects marked with ⯈ (e.g., ⯈ client, ⯈ devices) to view additional fields.
  • Use the sandbox mode for safe testing before going live.
  • Do not use the production environment for testing!

Base URLs

Production Base URL
https://app.rejoose.com/
Sandbox Base URL
https://sandbox.rejoose.com/

Sandbox mode

When accessing e.hub® (https://e-hub.rejoose.com), you have the option to switch between production and sandbox modes. Sandbox mode allows you to test and explore features without affecting your live data. This mode is ideal for tasks like setting up APIs, testing integrations, and generating reports before going live.

Please note: When in Sandbox mode and if you do not have an active subscription, you will only receive sample data for API testing. So do not conduct data quality testing when testing the API in Sandbox mode

In sandbox mode:

  • Data created or modified won't impact your production environment.
  • The Life Cycle Assessment (LCA) data mirrors the production environment but is limited to category average values. During your testing phase, you can use the following categories if you want some LCA data returned:
    • Server
    • Notebook
    • Smartphone
    • Docking Station
    • Monitor

Utilize sandbox mode to ensure your integration is robust and ready for production use.

Rate Limiting

Our API enforces rate limiting to ensure fair usage and prevent abuse. The current rate limit is set to 600 requests/min.

Please note: For Enterprise solutions, we can adjust rate limitation according to SLA. Please contact our support@rejoose.com or your regional manager. The following headers are included in each API response to provide information about your current rate limit status:


  • X-RateLimit-Limit
    • This header indicates the maximum number of requests you are permitted to make in a given time window.
    • Example: X-RateLimit-Limit: 100
  • X-RateLimit-Remaining
    • This header shows the number of requests remaining in the current rate limit window.
    • Example: X-RateLimit-Remaining: 50
  • Retry-After
    • This header is included in the response only when your rate limit has been exceeded. It indicates how many seconds you should wait before making a new request.
    • Example: Retry-After: 55
  • Response Example
    • When a request exceeds the rate limit, the API will return a 429 Too Many Requests status code. The response will include the Retry-After header, as shown below:
      • HTTP/1.1 429 Too Many Requests
      • Content-Type: application/json
      • Retry-After: 55
      • X-RateLimit-Limit: 100
      • X-RateLimit-Remaining: 0
      • Body: { "message": "Too Many Attempts." }

Authenticating requests

To authenticate requests, include an Authorization header with the value "Bearer {YOUR_AUTH_KEY}".

All authenticated endpoints are marked with a requires authentication badge in the documentation below.

You can retrieve your API token by logging into Rejoose e/hub® https://e-hub.rejoose.com and visiting your admin dashboard and clicking "Create API Key".

e.voice

e.voice – Carbon data on invoice level

The e.voice API enables the generation of an environmental invoice (e.voice), serving as the carbon counterpart to a financial invoice. It bridges financial transactions with their associated carbon impact, allowing businesses to track and report emissions seamlessly.

When using the e.voice API, you have flexible implementation options:

  • The solution can be fully anonymized, using only unique identifiers known to you, or it can include customer names.
  • Rejoose does not receive a copy of the financial invoice. Instead, only specific extracted data points are transmitted—just enough to determine the carbon footprint and link the e.voice with its corresponding financial transaction.

Upon a successful transaction, the API provides:

  • Transaction details confirming all is good or other relevant error responses (see example response).
  • Carbon data for the total transaction and individual products (raw data format). (optional)
  • A base64-encoded PDF file (the e.voice document). (optional)

Keep in mind that you do not need to save the above data in your ERP system (or similar), as everything is archived for you in the e.hub and for your customers via e.insights.

e.voice API – Options Explained

  • deferred: Specifies whether the e.voice generation should run as a background (deferred) job.
    This is useful for large batches or when you want to avoid delays in your primary workflow. Setting deferred to true allows the generation process to run asynchronously, reducing impact on real-time operations.
  • include_pdf: Specifies whether the API response should include a base64-encoded PDF file of the e.voice document.
    Great for scenarios where you only need raw carbon data and want to reduce payload size. Set include_pdf to false if you’re storing PDFs separately or handling document generation downstream.
  • credit_note: Specifies whether the e.voice is a credit note, which reverses the carbon data recorded for a transaction. (amounts will be handled as absolute numbers)
    Ideal for returns, corrections, or adjustments where you need to negate previously recorded carbon impacts. Setting credit_note to true ensures your carbon accounting stays accurate and reflects true net impacts.

Quick tips

  • Use deferred: true for better system performance and faster responses (a sustainable choice).
  • Set include_pdf: false if you only want to minimize response size and rely on retrieving data from e.hub and e.insights
  • Mark transactions as credit_note: true to define this is an credit note and return of products, and this will be visible in the carbon reporting.

You can access more detailed information in the API documentation by expanding objects marked with a small black arrow (⯈), such as ⯈ client or ⯈ devices. Simply click the arrow to reveal additional data fields.

Generate e.voice

Requires Auth
POST api/v3/evoices/generate

Headers

Authorization required
Example: Bearer {YOUR_AUTH_KEY}
Content-Type required
Example: application/json

Body Parameters

options   object  optional  

Settings for the request.

deferred   boolean  optional  

Specifies whether the e.voice generation should run as a background job. Defaults to false. Example: true

include_pdf   boolean  optional  

Specifies whether the response should include a base64-encoded PDF file. Defaults to true. Example: false

credit_note   boolean  optional  

Specifies whether the e.voice is a credit note. If set to true, it will mark the e.voice as a credit note, reversing the carbon data. Defaults to false. Example: true

external_invoice_id   string   

A unique identifier that can connect the e.voice with the invoice sent to the customer. It is recommended to use the actual invoice number stated on the customer invoice. Must be between 1 and 255 characters. Example: 123456789

external_invoice_date   string   

The date of the financial transaction. The date should use the invoicing date in ISO 8601 standard (YYYY-MM-DD). Example: 2023-09-25

country_code   string   

Country code for product delivery. This defines the use phase country, so this should represent the country where products are shipped to and used in. Should be ISO 3166-2 or ISO 3166-2:US - alpha-2 code. US states need to have the prefix "US-". This will determine the use country carbon intensity (gram CO2e per kWh) used for the e.voice. Example: GB

supplier_contact   string   

Contact email for a person or mailbox for you as the supplier to the customer. This contact email address will be visible on the e.voice. Must be between 1 and 80 characters. Example: example@rejoose.com

client   object   

Client information object. Within this client information object, are two crucial identifiers that greatly impact reporting. The organization_id, which identifies your customer on a group level, and the vat_number, which defines the company within the organization. We recommend using unique and static values for organization_id as they are utilized by the e.hub and e.insights reporting portals to group and aggregate data.

name   string   

The name of the customer as on the invoice. This line will be shown on the e.voice. Can be made anonymous by e.g., inserting a dash instead (-) or similar. Must be between 1 and 80 characters. Example: Eco-Friendly Solutions Ltd

organization_id   string   

An identifier for the client group/organization in your system. This identifier is important as it is used to aggregate reporting functions at group level for the customer with several companies in the group (VAT numbers). Must be between 1 and 240 characters. Example: company-4987

vat_number   string   

This defines the company, and as with organization_id is used for reporting purposes. We recommend this to be the VAT number but could be another unique identifier. Must be between 1 and 80 characters. Example: ECOF1234567

address   string   

The address of the customer as on the invoice. This line will be shown on the e.voice. Can be made anonymous by e.g., inserting a dash instead (-) or similar. Must be between 1 and 80 characters. Example: 100 Enviro Way

address2   string  optional  

The second line of the address of the customer as on the invoice. Must be between 1 and 80 characters. Example: Sustainability Lane 3

zip_code   string   

The zip code of the customer as on the invoice. This line will be shown on the e.voice. Can be made anonymous by e.g., inserting a dash instead (-) or similar. Must be between 1 and 80 characters. Example: ECO321

city   string   

The city of the customer as on the invoice. This line will be shown on the e.voice. Can be made anonymous by e.g., inserting a dash instead (-) or similar. Must be between 1 and 80 characters. Example: GreenVille

country   string   

The country of the customer as on the invoice. This line will be shown on the e.voice. Can be made anonymous by e.g., inserting a dash instead (-) or similar. Must be between 1 and 80 characters. Example: Denmark

country_code   string   

The country code of the customer as on the invoice. Should be ISO 3166-2 or ISO 3166-2:US - alpha-2 code. Example: DK

devices   object[]   

This is the list of devices and products from the invoice sent to the customer (Array of device objects).

external_id   string   

Provide the product's manufacturer part number (MPN). If another identifier is used, the original_manufacturer_part_number should be provided. Example: RE8989121

original_manufacturer_part_number   string  optional  

This is the unique manufacturer part number (MPN). The MPN is a special code that uniquely identifies a product from a specific manufacturer. If another identifier is used as external_id, the original manufacturer part number should be provided. Example: 62B6ASD3EU

quantity   integer   

The number of units for the invoiced or credited item. For e.voices, this represents the quantity sold. For credit notes, this represents the quantity being reversed. Can be both a positive or negative integer. Example: 10

category   string   

The category information serves two purposes: together with the external_id and brand, it provides a 100% unique data set for secure product matching. In the absence of LCA data, the system can provide CA data for the brand/category. Must be between 1 and 80 characters. Example: Notebook

brand   string   

The name of the manufacturer of the product. This information, together with the external_id (MPN) and category, provides a unique data set to match carbon data to the specific product. Must be between 1 and 80 characters. Example: Lenovo

model_name   string   

The product model name as on the invoice. This line of text will also be shown on the e.voice to have a 1:1 match with the invoice. Must be between 1 and 240. characters. Example: ThinkPad T480

refurbished   boolean  optional  

Utilize this if you are selling a refurbished product; otherwise, do not add this. Set the parameter as true to define this as a refurbished product and you will receive a data set for this. Example: true

lifetime_months   integer  optional  

Use this if you know the actual lifespan of the product in months. If not used, Rejoose will utilize the standard EU lifespan. Must be at least 1. Example: 48

excluded   boolean  optional  

Use this if you want to exclude this product's LCA data from the e.voice. Use cases could include products with no carbon footprint or products where the footprint has already been accounted for elsewhere. This defaults to false. Example: true

Response (200, When using deferred)
{
    "success": true,
    "data": {
        "external_invoice_id": "94825344-eb3a-4b5d-8ac8-6e462f37bba2"
    }
}
Response (201)
{
    "success": true,
    "data": {
        "external_invoice_id": "123456789",
        "external_invoice_date": "2023-09-25",
        "country_code": "DK",
        "supplier_contact": "example@rejoose.com",
        "pdf_base64": "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Ci9FbmNvZGluZyAvV2luQW5zaUVuY29kaW5nCj4+CmVuZG9iago5IDAgb2JqCjw8IC9UeXBlIC9Gb250Ci9TdWJ0eXBlIC9UeXBlMQovTmFtZSAvRjIKL0Jhc2VGb250IC9IZWx2ZXRpY2EtQm9sZAovRW5jb2RpbmcgL1dpbkFuc2lFbmNvZGluZwo+PgplbmRvYmoKMTAgMCBvYmoKPDwgL1R5cGUgL0ZvbnQKL1N1YnR5cGUgL1R5cGUxCi9OYW1lIC9GMwovQmFzZUZvbnQgL1RpbWVzLUJvbGQKL0VuY29kaW5nIC9XaW5BbnNpRW5jb2RpbmcKPj4KZW5kb2JqCjExIDAgb2JqCjw8IC9UeXBlIC9Bbm5vdAovU3VidHlwZSAvTGluawovQSAxMiAwIFIKL0JvcmRlciBbMCAwIDBdCi9IIC9JCi9SZWN0IFsgMTk5LjEzNzggMTguMjE4NSAzOTYuMTQyMiAyNy4wMTg1IF0KPj4KZW5kb2JqCjEyIDAgb2JqCjw8IC9UeXBlIC9BY3Rpb24KL1MgL1VSSQovVVJJIChodHRwczovL3Jlam9vc2UuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDIzLzA2L0V2b2ljZV9FeHBsYWluZXIucGRmKQo+PgplbmRvYmoKeHJlZgowIDEzCjAwMDAwMDAwMDAgNjU1MzUgZiAKMDAwMDAwMDAwOSAwMDAwMCBuIAowMDAwMDAwMDc0IDAwMDAwIG4gCjAwMDAwMDAxMjAgMDAwMDAgbiAKMDAwMDAwMDI5NSAwMDAwMCBuIAowMDAwMDAwMzI0IDAwMDAwIG4gCjAwMDAwMDA0OTcgMDAwMDAgbiAKMDAwMDAwMDYxOSAwMDAwMCBuIAowMDAwMDAzNTI5IDAwMDAwIG4gCjAwMDAwMDM2MzggMDAwMDAgbiAKMDAwMDAwMzc1MCAwMDAwMCBuIAowMDAwMDAzODU5IDAwMDAwIG4gCjAwMDAwMDM5ODUgMDAwMDAgbiAKdHJhaWxlcgo8PAovU2l6ZSAxMwovUm9vdCAxIDAgUgovSW5mbyA1IDAgUgovSURbPGQ0MjEyYTIwY2E1NTc3NTg1NGNiOWUyNmM3NGRiYjdiPjxkNDIxMmEyMGNhNTU3NzU4NTRjYjllMjZjNzRkYmI3Yj5dCj4+CnN0YXJ0eHJlZgo0MTA0CiUlRU9GCg==",
        "carbon_intensity_gram": 123,
        "total_kg_co2_eq": 1301.51,
        "status": "finalized",
        "type": "evoice",
        "created_at": "2024-01-05T13:11:49.000000Z",
        "client": {
            "name": "Eco-Friendly Solutions Ltd",
            "vat_number": "ECOF1234567",
            "organization_id": "EcoFriendly-4987",
            "address": "100 Enviro Way",
            "address2": "Sustainability Lane 3",
            "zip_code": "ECO321",
            "city": "GreenVille",
            "country": "Denmark",
            "country_code": "DK"
        },
        "devices": [
            {
                "external_id": "RE8989121",
                "original_manufacturer_part_number": "62B6MAT3EU",
                "quantity": 10,
                "brand": "Lenovo",
                "model_name": "ThinkPad T480",
                "category": "Notebook",
                "lifetime_months": 72,
                "scope_2_kg_co2_eq": 278.41,
                "scope_3_kg_co2_eq": 249.27,
                "total_kg_co2_eq": 527.68,
                "refurbished": true,
                "avoided_emissions_kg_co2_eq": 256.68
            },
            {
                "external_id": "SM-S918BZKDEEB",
                "original_manufacturer_part_number": null,
                "quantity": 10,
                "brand": "Samsung",
                "model_name": "Galaxy S23 Ultra",
                "category": "Smartphone",
                "lifetime_months": 30,
                "scope_2_kg_co2_eq": 31.18,
                "scope_3_kg_co2_eq": 742.65,
                "total_kg_co2_eq": 773.83,
                "refurbished": false,
                "avoided_emissions_kg_co2_eq": 0
            }
        ],
        "links": {
            "self": "https://app.rejoose.com/api/v3/evoices/123456789"
        }
    }
}
Response (201, When using credit_note)
{
    "success": true,
    "data": {
        "external_invoice_id": "123456789",
        "external_invoice_date": "2023-09-25",
        "country_code": "DK",
        "supplier_contact": "example@rejoose.com",
        "pdf_base64": "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Ci9FbmNvZGluZyAvV2luQW5zaUVuY29kaW5nCj4+CmVuZG9iago5IDAgb2JqCjw8IC9UeXBlIC9Gb250Ci9TdWJ0eXBlIC9UeXBlMQovTmFtZSAvRjIKL0Jhc2VGb250IC9IZWx2ZXRpY2EtQm9sZAovRW5jb2RpbmcgL1dpbkFuc2lFbmNvZGluZwo+PgplbmRvYmoKMTAgMCBvYmoKPDwgL1R5cGUgL0ZvbnQKL1N1YnR5cGUgL1R5cGUxCi9OYW1lIC9GMwovQmFzZUZvbnQgL1RpbWVzLUJvbGQKL0VuY29kaW5nIC9XaW5BbnNpRW5jb2RpbmcKPj4KZW5kb2JqCjExIDAgb2JqCjw8IC9UeXBlIC9Bbm5vdAovU3VidHlwZSAvTGluawovQSAxMiAwIFIKL0JvcmRlciBbMCAwIDBdCi9IIC9JCi9SZWN0IFsgMTk5LjEzNzggMTguMjE4NSAzOTYuMTQyMiAyNy4wMTg1IF0KPj4KZW5kb2JqCjEyIDAgb2JqCjw8IC9UeXBlIC9BY3Rpb24KL1MgL1VSSQovVVJJIChodHRwczovL3Jlam9vc2UuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDIzLzA2L0V2b2ljZV9FeHBsYWluZXIucGRmKQo+PgplbmRvYmoKeHJlZgowIDEzCjAwMDAwMDAwMDAgNjU1MzUgZiAKMDAwMDAwMDAwOSAwMDAwMCBuIAowMDAwMDAwMDc0IDAwMDAwIG4gCjAwMDAwMDAxMjAgMDAwMDAgbiAKMDAwMDAwMDI5NSAwMDAwMCBuIAowMDAwMDAwMzI0IDAwMDAwIG4gCjAwMDAwMDA0OTcgMDAwMDAgbiAKMDAwMDAwMDYxOSAwMDAwMCBuIAowMDAwMDAzNTI5IDAwMDAwIG4gCjAwMDAwMDM2MzggMDAwMDAgbiAKMDAwMDAwMzc1MCAwMDAwMCBuIAowMDAwMDAzODU5IDAwMDAwIG4gCjAwMDAwMDM5ODUgMDAwMDAgbiAKdHJhaWxlcgo8PAovU2l6ZSAxMwovUm9vdCAxIDAgUgovSW5mbyA1IDAgUgovSURbPGQ0MjEyYTIwY2E1NTc3NTg1NGNiOWUyNmM3NGRiYjdiPjxkNDIxMmEyMGNhNTU3NzU4NTRjYjllMjZjNzRkYmI3Yj5dCj4+CnN0YXJ0eHJlZgo0MTA0CiUlRU9GCg==",
        "carbon_intensity_gram": 123,
        "total_kg_co2_eq": -1301.51,
        "status": "finalized",
        "type": "credit_note",
        "created_at": "2024-01-05T13:11:49.000000Z",
        "client": {
            "name": "Eco-Friendly Solutions Ltd",
            "vat_number": "ECOF1234567",
            "organization_id": "EcoFriendly-4987",
            "address": "100 Enviro Way",
            "address2": "Sustainability Lane 3",
            "zip_code": "ECO321",
            "city": "GreenVille",
            "country": "Denmark",
            "country_code": "DK"
        },
        "devices": [
            {
                "external_id": "RE8989121",
                "original_manufacturer_part_number": "62B6MAT3EU",
                "quantity": 10,
                "brand": "Lenovo",
                "model_name": "ThinkPad T480",
                "category": "Notebook",
                "lifetime_months": 72,
                "scope_2_kg_co2_eq": -278.41,
                "scope_3_kg_co2_eq": -249.27,
                "total_kg_co2_eq": -527.68,
                "refurbished": true,
                "avoided_emissions_kg_co2_eq": -256.68
            },
            {
                "external_id": "SM-S918BZKDEEB",
                "original_manufacturer_part_number": null,
                "quantity": 10,
                "brand": "Samsung",
                "model_name": "Galaxy S23 Ultra",
                "category": "Smartphone",
                "lifetime_months": 30,
                "scope_2_kg_co2_eq": -31.18,
                "scope_3_kg_co2_eq": -742.65,
                "total_kg_co2_eq": -773.83,
                "refurbished": false,
                "avoided_emissions_kg_co2_eq": 0
            }
        ],
        "links": {
            "self": "https://app.rejoose.com/api/v3/evoices/123456789"
        }
    }
}
Response (422, Validation Error)
{
    "errors": {
        "external_invoice_id": [
            "The external invoice id field is required."
        ],
        "external_invoice_date": [
            "The external invoice date field is required."
        ],
        "client.name": [
            "The client.name field is required."
        ]
    }
}
Response (429, Too Many Attempts)
{
    "message": "Too Many Attempts."
}

GET e.voice data

Requires Auth

Returns the e.voice data

GET api/v3/evoices/{external_invoice_id}

Headers

Authorization required
Example: Bearer {YOUR_AUTH_KEY}

URL Parameters

external_invoice_id string required

The external_invoice_id of the e.voice.

Example: 123456789
Response (200)
{
    "success": true,
    "data": {
        "external_invoice_id": "123456789",
        "external_invoice_date": "2023-09-25",
        "country_code": "DK",
        "supplier_contact": "example@rejoose.com",
        "pdf_base64": "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Ci9FbmNvZGluZyAvV2luQW5zaUVuY29kaW5nCj4+CmVuZG9iago5IDAgb2JqCjw8IC9UeXBlIC9Gb250Ci9TdWJ0eXBlIC9UeXBlMQovTmFtZSAvRjIKL0Jhc2VGb250IC9IZWx2ZXRpY2EtQm9sZAovRW5jb2RpbmcgL1dpbkFuc2lFbmNvZGluZwo+PgplbmRvYmoKMTAgMCBvYmoKPDwgL1R5cGUgL0ZvbnQKL1N1YnR5cGUgL1R5cGUxCi9OYW1lIC9GMwovQmFzZUZvbnQgL1RpbWVzLUJvbGQKL0VuY29kaW5nIC9XaW5BbnNpRW5jb2RpbmcKPj4KZW5kb2JqCjExIDAgb2JqCjw8IC9UeXBlIC9Bbm5vdAovU3VidHlwZSAvTGluawovQSAxMiAwIFIKL0JvcmRlciBbMCAwIDBdCi9IIC9JCi9SZWN0IFsgMTk5LjEzNzggMTguMjE4NSAzOTYuMTQyMiAyNy4wMTg1IF0KPj4KZW5kb2JqCjEyIDAgb2JqCjw8IC9UeXBlIC9BY3Rpb24KL1MgL1VSSQovVVJJIChodHRwczovL3Jlam9vc2UuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDIzLzA2L0V2b2ljZV9FeHBsYWluZXIucGRmKQo+PgplbmRvYmoKeHJlZgowIDEzCjAwMDAwMDAwMDAgNjU1MzUgZiAKMDAwMDAwMDAwOSAwMDAwMCBuIAowMDAwMDAwMDc0IDAwMDAwIG4gCjAwMDAwMDAxMjAgMDAwMDAgbiAKMDAwMDAwMDI5NSAwMDAwMCBuIAowMDAwMDAwMzI0IDAwMDAwIG4gCjAwMDAwMDA0OTcgMDAwMDAgbiAKMDAwMDAwMDYxOSAwMDAwMCBuIAowMDAwMDAzNTI5IDAwMDAwIG4gCjAwMDAwMDM2MzggMDAwMDAgbiAKMDAwMDAwMzc1MCAwMDAwMCBuIAowMDAwMDAzODU5IDAwMDAwIG4gCjAwMDAwMDM5ODUgMDAwMDAgbiAKdHJhaWxlcgo8PAovU2l6ZSAxMwovUm9vdCAxIDAgUgovSW5mbyA1IDAgUgovSURbPGQ0MjEyYTIwY2E1NTc3NTg1NGNiOWUyNmM3NGRiYjdiPjxkNDIxMmEyMGNhNTU3NzU4NTRjYjllMjZjNzRkYmI3Yj5dCj4+CnN0YXJ0eHJlZgo0MTA0CiUlRU9GCg==",
        "carbon_intensity_gram": 123,
        "total_kg_co2_eq": 1301.51,
        "status": "finalized",
        "type": "evoice",
        "created_at": "2024-01-05T13:11:49.000000Z",
        "client": {
            "name": "Eco-Friendly Solutions Ltd",
            "vat_number": "ECOF1234567",
            "organization_id": "EcoFriendly-4987",
            "address": "100 Enviro Way",
            "address2": "Sustainability Lane 3",
            "zip_code": "ECO321",
            "city": "GreenVille",
            "country": "Denmark",
            "country_code": "DK"
        },
        "devices": [
            {
                "external_id": "RE8989121",
                "original_manufacturer_part_number": "62B6MAT3EU",
                "quantity": 10,
                "brand": "Lenovo",
                "model_name": "ThinkPad T480",
                "category": "Notebook",
                "lifetime_months": 72,
                "scope_2_kg_co2_eq": 278.41,
                "scope_3_kg_co2_eq": 249.27,
                "total_kg_co2_eq": 527.68,
                "refurbished": true,
                "avoided_emissions_kg_co2_eq": 256.68
            },
            {
                "external_id": "SM-S918BZKDEEB",
                "original_manufacturer_part_number": null,
                "quantity": 10,
                "brand": "Samsung",
                "model_name": "Galaxy S23 Ultra",
                "category": "Smartphone",
                "lifetime_months": 30,
                "scope_2_kg_co2_eq": 31.18,
                "scope_3_kg_co2_eq": 742.65,
                "total_kg_co2_eq": 773.83,
                "refurbished": false,
                "avoided_emissions_kg_co2_eq": 0
            }
        ],
        "links": {
            "self": "https://app.rejoose.com/api/v3/evoices/123456789"
        }
    }
}
Response (202, The e.voice is still processing)
{
    "success": true,
    "data": {
        "external_invoice_id": "94825344-eb3a-4b5d-8ac8-6e462f37bba2",
        "status": "pending"
    }
}
Response (404)
{
    "errors": "Evoice with external_invoice_id 3.1415926535 not found"
}

e.voice - circularity

Provides carbon footprint and avoided emissions data for IT products in the ITAD industry. This API is used when receiving used IT products for refurbishment or selling refurbished products for reuse.

The response includes:

  • Avoided emissions from refurbishing the products (kg CO2e).
  • Carbon impact of the refurbishment process itself (kg CO2e).

Both datasets are used for customer reporting and internal documentation.

POST e.voice circularity

Requires Auth

Generates the e.voice circularity

POST api/v3/evoices/circularity/generate

Headers

Authorization required
Example: Bearer {YOUR_AUTH_KEY}
Content-Type required
Example: application/json

Body Parameters

external_doc_id   string   

A unique identifier linking the e.voice circularity to the associated document, such as a purchase order or credit note. This may also refer to any other unique identifier. Must not exceed 255 characters. Example: 123456789.

external_doc_date   string   

The date of the document, such as a purchase order or credit note, following the invoicing date in ISO 8601 format (YYYY-MM-DD). Must be a valid date. Example: 2023-09-25.

e_waste_kg   integer  optional  

Weight of non-recycled electronics in kilograms, used for calculating the carbon emissions related to e-waste. Must be a minimum of 0. Example: 10

country_code   string   

The country code from which the products are sent, following the ISO 3166-2 or ISO 3166-2 alpha-2 standard. US states must include the 'US-' prefix. Example: GB.

supplier_contact   string   

Supplier contact email address, visible to the customer on the e.voice circularity. This can be a person or a general mailbox. Must be between 1 and 80 characters. Example: example@rejoose.com.

batch_id   string  optional  

An optional identifier for grouping multiple e.voice circularities together for reporting and filtering purposes. This allows you to organize and track related circularities as a batch. Example: batch-2024-Q1-electronics.

client   object   

Client information object. Within this client information object, are two crucial identifiers that greatly impact reporting. The organization_id, which identifies your customer on a group level, and the vat_number, which defines the company within the organization. We recommend using unique and static values for organization_id as they are utilized by the e.hub and e.insights reporting portals to group and aggregate data.

name   string   

The name of the customer as on the invoice. This line will be shown on the e.voice circularity. Can be made anonymous by e.g., inserting a dash instead (-) or similar. Must be between 1 and 80 characters. Example: Eco-Friendly Solutions Ltd

organization_id   string   

An identifier for the client group/organization in your system. This identifier is important as it is used to aggregate reporting functions at group level for the customer with several companies in the group (VAT numbers). Must be between 1 and 240 characters. Example: company-4987

vat_number   string   

This defines the company, and as with organization_id is used for reporting purposes. We recommend this to be the VAT number but could be another unique identifier. Must be between 1 and 80 characters. Example: ECOF1234567

address   string   

The address of the customer as on the invoice. This line will be shown on the e.voice circularity. Can be made anonymous by e.g., inserting a dash instead (-) or similar. Must be between 1 and 80 characters. Example: 100 Enviro Way

address2   string  optional  

The second line of the address of the customer as on the invoice. Must be between 1 and 80 characters. Example: Sustainability Lane 3

zip_code   string   

The zip code of the customer as on the invoice. This line will be shown on the e.voice circularity. Can be made anonymous by e.g., inserting a dash instead (-) or similar. Must be between 1 and 80 characters. Example: ECO321

city   string   

The city of the customer as on the invoice. This line will be shown on the e.voice circularity. Can be made anonymous by e.g., inserting a dash instead (-) or similar. Must be between 1 and 80 characters. Example: GreenVille

country   string   

The country of the customer as on the invoice. This line will be shown on the e.voice circularity. Can be made anonymous by e.g., inserting a dash instead (-) or similar. Must be between 1 and 80 characters. Example: Denmark

country_code   string   

The country code of the customer as on the invoice. Should be ISO 3166-2 or ISO 3166-2:US - alpha-2 code. Example: DK

devices   object[]   

Array of devices.

external_id   string   

Provide the product's original manufacturer part number (MPN). Example: RE8989121

quantity   integer   

Number of units. Example: 10

category   string   

The category information serves two purposes: together with the external_id and brand, it provides a 100% unique data set for secure product matching. In the absence of LCA data, the system can provide CA data for the brand/category. Must be between 1 and 80 characters. Example: Notebook

brand   string   

The name of the manufacturer of the product. This information, together with the external_id (MPN) and category, provides a unique data set to match carbon data to the specific product. Must be between 1 and 80 characters. Example: Lenovo

model_name   string   

Product model name. Example: ThinkPad T480

excluded   boolean  optional  

Use this if you want to exclude this product's carbon footprint and avoided emissions data from the e.voice circularity. Use cases could include products with no carbon footprint or products where the footprint has already been accounted for elsewhere. This defaults to false. Example: false

recycled   boolean  optional  

Use this to indicate whether the device has been recycled. This can be used for tracking and reporting purposes related to circular economy metrics. This defaults to false. Example: true

Response (201)
{
    "data": {
        "id": 31,
        "external_doc_id": "ab57e0f1-2396-430c-ba5a-339d77fda792",
        "external_doc_date": "2024-01-22",
        "country_code": "DK",
        "batch_id": "batch-123-example",
        "e_waste_kg_co2_eq": 212.81,
        "refurbishment_impact_kg_co2_eq": 180.42866,
        "refurbishment_offset_kg_co2_eq": 3053.34679,
        "client": {
            "name": "Rejoose ApS",
            "organization_id": "rejoose_aps",
            "vat_number": "39121506",
            "address": "Finsensvej 78",
            "address2": "Finsensvej 78",
            "zip_code": "2000",
            "city": "Frederiksberg",
            "country": "Denmark",
            "country_code": "DK"
        },
        "devices": [
            {
                "external_id": "X220-DEHO",
                "amount": 5,
                "brand": "LENOVO",
                "model_name": "Lenovo X220",
                "category": "Laptop",
                "weight_kg": 2,
                "refurbishment_impact_percentage": 0.0516,
                "refurbishment_impact_kg_co2_eq": 75.08832,
                "refurbishment_offset_kg_co2_eq": 1380.11168,
                "refurbishment_avoided_e_waste_kg": 10,
                "recycling_avoided_e_waste_kg": 0,
                "recycling_avoided_emissions_kg_co2_eq": 0
            },
            {
                "external_id": "X3T23AV",
                "amount": 2,
                "brand": "HP",
                "model_name": "HP EliteBook 820 G4",
                "category": "Notebook",
                "weight_kg": null,
                "recycled": true,
                "refurbishment_impact_percentage": 0.0516,
                "refurbishment_impact_kg_co2_eq": 0,
                "refurbishment_offset_kg_co2_eq": 0,
                "refurbishment_avoided_e_waste_kg": 0,
                "recycling_avoided_e_waste_kg": 2.59,
                "recycling_avoided_emissions_kg_co2_eq": 52.404
            }
        ],
        "created_at": "2024-01-24T11:33:10.000000Z",
        "links": {
            "self": "https://app.rejoose.com/api/v3/evoices/circularity/ab57e0f1-2396-430c-ba5a-339d77fda792",
            "pdf": "https://app.rejoose.com/api/v3/evoices/circularity/ab57e0f1-2396-430c-ba5a-339d77fda792/pdf",
            "base_64_pdf": "https://app.rejoose.com/api/v3/evoices/circularity/ab57e0f1-2396-430c-ba5a-339d77fda792/pdf?base64=1"
        }
    },
    "errors": null
}
Response (422, Validation Error)
{
    "data": null,
    "errors": {
        "external_doc_id": [
            "The external doc id field is required."
        ],
        "external_doc_date": [
            "The external doc date field is required."
        ],
        "client.name": [
            "The client.name field is required."
        ]
    }
}
Response (429, Too Many Attempts)
{
    "message": "Too Many Attempts."
}

GET e.voices circularity PDF

Requires Auth

Returns the e.voice circularity PDF

GET api/v3/evoices/circularity/{external_doc_id}/pdf

Headers

Authorization required
Example: Bearer {YOUR_AUTH_KEY}
Accept required
Example: application/pdf

URL Parameters

external_doc_id string required

The external document ID.

Example: ab57e0f1-2396-430c-ba5a-339d77fda792
Response (200)
application/pdf The PDF file
Response (404)
{
    "data": null,
    "errors": {
        "not_found": [
            "Evoice Circularity with external document id 1 not found for your partner"
        ]
    }
}

GET e.voice circularity data

Requires Auth

Returns the e.voice circularity data

GET api/v3/evoices/circularity/{external_doc_id}

Headers

Authorization required
Example: Bearer {YOUR_AUTH_KEY}

URL Parameters

external_doc_id string required

The external document ID.

Example: ab57e0f1-2396-430c-ba5a-339d77fda792
Response (200)
{
    "data": {
        "id": 31,
        "external_doc_id": "ab57e0f1-2396-430c-ba5a-339d77fda792",
        "external_doc_date": "2024-01-22",
        "country_code": "DK",
        "batch_id": "batch-123-example",
        "e_waste_kg_co2_eq": 212.81,
        "refurbishment_impact_kg_co2_eq": 180.42866,
        "refurbishment_offset_kg_co2_eq": 3053.34679,
        "client": {
            "name": "Rejoose ApS",
            "organization_id": "rejoose_aps",
            "vat_number": "39121506",
            "address": "Finsensvej 78",
            "address2": "Finsensvej 78",
            "zip_code": "2000",
            "city": "Frederiksberg",
            "country": "Denmark",
            "country_code": "DK"
        },
        "devices": [
            {
                "external_id": "X220-DEHO",
                "amount": 5,
                "brand": "LENOVO",
                "model_name": "Lenovo X220",
                "category": "Laptop",
                "weight_kg": 2,
                "refurbishment_impact_percentage": 0.0516,
                "refurbishment_impact_kg_co2_eq": 75.08832,
                "refurbishment_offset_kg_co2_eq": 1380.11168,
                "refurbishment_avoided_e_waste_kg": 10,
                "recycling_avoided_e_waste_kg": 0,
                "recycling_avoided_emissions_kg_co2_eq": 0
            },
            {
                "external_id": "X3T23AV",
                "amount": 2,
                "brand": "HP",
                "model_name": "HP EliteBook 820 G4",
                "category": "Notebook",
                "weight_kg": null,
                "recycled": true,
                "refurbishment_impact_percentage": 0.0516,
                "refurbishment_impact_kg_co2_eq": 0,
                "refurbishment_offset_kg_co2_eq": 0,
                "refurbishment_avoided_e_waste_kg": 0,
                "recycling_avoided_e_waste_kg": 2.59,
                "recycling_avoided_emissions_kg_co2_eq": 52.404
            }
        ],
        "created_at": "2024-01-24T11:33:10.000000Z",
        "links": {
            "self": "https://app.rejoose.com/api/v3/evoices/circularity/ab57e0f1-2396-430c-ba5a-339d77fda792",
            "pdf": "https://app.rejoose.com/api/v3/evoices/circularity/ab57e0f1-2396-430c-ba5a-339d77fda792/pdf",
            "base_64_pdf": "https://app.rejoose.com/api/v3/evoices/circularity/ab57e0f1-2396-430c-ba5a-339d77fda792/pdf?base64=1"
        }
    },
    "errors": null
}
Response (404)
{
    "data": null,
    "errors": {
        "not_found": [
            "Evoice Circularity with external document id 1 not found for your partner"
        ]
    }
}

e.product

The e.product API provides carbon footprint data for individual products, making it ideal for use in e-commerce, quotations, and other during-sales scenarios where a general carbon assessment is needed. For more detailed, transaction-specific reporting at the customer level, you should be using the e.voice API, which complements e.product by focusing on post-sales impact and needed documentation.

How Product Identification Works

In this solution, one product is defined as a country-specific dataset based on a combination of:

  • Manufacturer Part Number (MPN): The unique manufacturer part number (SKU/MPN) provided by the vendor or distributor, or an internal part number.
  • Brand: The product manufacturer's name. Used together with the MPN and category to ensure a unique data match.
  • Category: Used alongside the external ID and brand to ensure accurate product matching. Also enables the system to provide carbon data for the category when specific LCA data is unavailable.

This ensures that the footprint reflects region-specific factors such as electricity mix and product lifecycle variations.

API Response

When querying the e.product endpoint, the API returns the following carbon footprint data:

  • Total carbon footprint (LCA) – The full lifecycle emissions of a new product, e.g., 33.3 kg CO₂e.
  • Refurbishment impact (LCA) – The emissions from refurbishing the product instead of manufacturing a new one, e.g., 3.5 kg CO₂e
  • Avoided emissions by choosing refurbished – The emissions savings when selecting a refurbished product over a new one, e.g., 28.0 kg CO₂e.

Please look through the API docs for more details or contact support@rejoose.com for assistance.

GET e.product

Requires Auth

The GET endpoint returns the carbon footprint data of a single product.

GET api/v3/products

Headers

Authorization required
Example: Bearer {YOUR_AUTH_KEY}

Query Parameters

manufacture_part_number string required

The unique manufacturer part number (SKU/MPN) provided by the vendor or distributor, or an internal part number.

Example: 286H8AA
brand string required

The product manufacturer's name. Used together with the MPN and category to ensure a unique data match.

Example: HP Inc
category string required

Used alongside the external ID and brand to ensure accurate product matching. Also enables the system to provide carbon data for the category when specific LCA data is unavailable.

Example: Docking station
country_code string required

The ISO 3166-2 (or ISO 3166-2:US) alpha-2 code representing the country where the product is typically used. Determines the carbon intensity used in calculations.

Example: DK
refurbished integer optional

optional Indicates whether the product is refurbished (pre-owned). A value of 1 denotes a refurbished product.

Example: 1
Response (200, NOTE: refurbishment_impact_kg_co2_eq and refurbishment_offset_kg_co2_eq will only be included when product is refurbished)
{
    "data": {
        "manufacture_part_number": "286H8AA",
        "brand": "HP Inc",
        "category": "Docking station",
        "country_code": "DK",
        "refurbished": true,
        "data_match": true,
        "data_method": "CA",
        "total_kg_co2_eq": 33.32004288,
        "carbon_intensity_gram": 123.42,
        "lifetime_month": 48,
        "refurbishment_impact_kg_co2_eq": 3.457734144,
        "refurbishment_offset_kg_co2_eq": 28.03242874
    },
    "errors": null
}
Response (200, NOTE: Requires 'e.product-plus' to retrieve detailed LCA (Life Cycle Assessment) data.)
{
    "data": {
        "manufacture_part_number": "286H8AA",
        "brand": "HP Inc",
        "category": "Docking station",
        "country_code": "DK",
        "refurbished": false,
        "data_match": true,
        "data_method": "CA",
        "total_kg_co2_eq": 40.23551117,
        "manufacturing_kg_co2_eq": 29.86230874,
        "transportation_kg_co2_eq": 5.457734144,
        "use_kg_co2_eq": 3.457734144,
        "end_of_life_kg_co2_eq": 1.457734144,
        "carbon_intensity_gram": 123.42,
        "lifetime_month": 48,
        "refurbishment_impact_kg_co2_eq": null,
        "refurbishment_offset_kg_co2_eq": null
    },
    "errors": null
}
Response (200, NOTE: The carbon data will be null when no product was found)
{
    "data": {
        "manufacture_part_number": "286H8AA",
        "brand": "HP Inc",
        "category": "Docking station",
        "country_code": "DK",
        "refurbished": true,
        "data_match": false,
        "data_method": null,
        "total_kg_co2_eq": null,
        "carbon_intensity_gram": null,
        "lifetime_month": null,
        "refurbishment_impact_kg_co2_eq": null,
        "refurbishment_offset_kg_co2_eq": null
    },
    "errors": null
}
Response (422)
{
    "data": null,
    "errors": {
        "manufacture_part_number": [
            "The manufacture part number field is required."
        ],
        "brand": [
            "The brand field is required."
        ],
        "category": [
            "The category field is required."
        ],
        "refurbished": [
            "The refurbished field must not be greater than 1."
        ]
    }
}

POST e.product

Requires Auth

e.product – Batch Product-Level Carbon Footprint API

The e.product API allows you to retrieve carbon footprint data for multiple products in a single request, making it efficient for e-commerce, quotations, and bulk assessments. This minimizes processing time and optimizes performance when extracting carbon data at scale.

Batch Processing

  • You can send between 1 and 100 products per request to streamline large-scale data extractions.
  • Each product must be identified using a combination of Brand name, Manufacturer Part Number (MPN), and Country code to ensure accuracy.
  • For larger datasets, consider splitting the request into multiple batches.

You can access more detailed information in the API documentation by expanding objects marked with a small black arrow (⯈), such as ⯈ client or ⯈ devices. Simply click the arrow to reveal additional data fields.

POST api/v3/products

Headers

Authorization required
Example: Bearer {YOUR_AUTH_KEY}
Content-Type required
Example: application/json

Body Parameters

products   object[]   

The array of products. This array must not exceed 100 items.

manufacture_part_number   string   

The unique manufacturer part number (SKU/MPN) provided by the vendor or distributor, or an internal part number. Example: Example: est

brand   string   

The product manufacturer's name. Used together with the MPN and category to ensure a unique data match. Example: HP Inc

category   string   

Used alongside the external ID and brand to ensure accurate product matching. Also enables the system to provide carbon data for the category when specific LCA data is unavailable. Example: Docking station

country_code   string   

The ISO 3166-2 (or ISO 3166-2:US) alpha-2 code representing the country where the product is typically used. Determines the carbon intensity used in calculations. Example: DK

refurbished   boolean  optional  

optional Indicates whether the product is refurbished (pre-owned). A value of 1 denotes a refurbished product. Example: true

Response (200, Note: refurbishment_impact_kg_co2_eq and refurbishment_offset_kg_co2_eq will only be included when product is refurbished)
{
    "data": [
        {
            "manufacture_part_number": "286H8AA",
            "brand": "HP Inc",
            "category": "Docking station",
            "country_code": "DK",
            "refurbished": true,
            "data_match": true,
            "data_method": "CA+",
            "total_kg_co2_eq": 3.7941664000000004,
            "carbon_intensity_gram": 103,
            "lifetime_month": 48,
            "refurbishment_impact_kg_co2_eq": 0.3267312,
            "refurbishment_offset_kg_co2_eq": 6.0052688
        }
    ],
    "errors": null
}
Response (200, NOTE: Requires 'e.product-plus' to retrieve detailed LCA (Life Cycle Assessment) data.)
{
    "data": [
        {
            "manufacture_part_number": "286H8AA",
            "brand": "HP Inc",
            "category": "Docking station",
            "country_code": "DK",
            "refurbished": false,
            "data_match": true,
            "data_method": "CA",
            "total_kg_co2_eq": 40.23551117,
            "manufacturing_kg_co2_eq": 29.86230874,
            "transportation_kg_co2_eq": 5.457734144,
            "use_kg_co2_eq": 3.457734144,
            "end_of_life_kg_co2_eq": 1.457734144,
            "carbon_intensity_gram": 123.42,
            "lifetime_month": 48,
            "refurbishment_impact_kg_co2_eq": null,
            "refurbishment_offset_kg_co2_eq": null
        }
    ],
    "errors": null
}
Response (200, Note: The carbon footprint data will be null when the product was not found.)
{
    "data": [
        {
            "manufacture_part_number": "286H8AA",
            "brand": "HP Inc",
            "category": "Docking station",
            "country_code": "DK",
            "refurbished": true,
            "data_match": false,
            "data_method": null,
            "total_kg_co2_eq": null,
            "carbon_intensity_gram": null,
            "lifetime_month": null,
            "refurbishment_impact_kg_co2_eq": null,
            "refurbishment_offset_kg_co2_eq": null
        }
    ],
    "errors": null
}
Response (422)
{
    "data": null,
    "errors": {
        "products.0.manufacture_part_number": [
            "The products.0.manufacture_part_number field is required."
        ],
        "products.0.brand": [
            "The products.0.brand field is required."
        ],
        "products.0.category": [
            "The products.0.category field is required."
        ],
        "products.0.country_code": [
            "The products.0.country_code field is required."
        ]
    }
}

GET changed products

Requires Auth

Retrieve changed products as a CSV file. This endpoint provides a CSV file listing the changes for a specified date or week. The file contains columns for manufacturer_part_number, brand, and category. Use this file to check for relevant products and brands, then use the e.product API to obtain detailed information.

Daily File: If a date is specified, a daily changes file for that day is returned, specified date cannot be in the future.

  • Example: For date = 2024-11-06, the file will list all products that changed on November 6, 2024.

Weekly Summary File: Aggregates product changes from Monday to Sunday for a specified week.

Without a date, a summary file for the specified or most recent week is retrieved. The weekly file aggregates product changes from Monday to Sunday for the specified week.

Weekly File Details:

  • Aggregates data from all daily files generated for each day of the specified week.
  • Most recent week means the last full week. If you request a weekly file in any given week without a date, you will receive data from previous week (Monday to Sunday).
  • Example: A weekly file for week 45 of 2024 contains all products that changed from Monday, 2024-11-04, to Sunday, 2024-11-10.
  • Removes duplicate entries to ensure a clean dataset.
  • Combines individual product changes into a single file.

Weekly File Composition:

The weekly file includes:

  • All changes recorded in the daily files from Monday to Sunday of the week.
  • A deduplicated list of products with details such as manufacturer_part_number, brand, and category.

Recommendations:

  • Use the weekly file for a comprehensive overview of all product changes for the week. We suggest that you get the weekly file every Monday after 12:00 UTC.
  • Refer to the daily file for specific changes on a particular day

    Response Details:

    • Returns a 302 Redirect to the CDN URL if the file is accessible there.
GET api/v3/products/changes

Headers

Authorization required
Example: Bearer {YOUR_AUTH_KEY}

Query Parameters

date string optional

Optional. The date of the changes (in format YYYY-MM-DD).

Example: 2024-11-01
week_number integer optional

Optional. The week number of the changes, between 1 and 52.

Example: 45
Response (302)
manufacturer_part_number,brand,category
UT04CBE,Lenovo,Notebook
RE242EP,HP,Notebook
PSMA2E-00U01DGC,Toshiba,Notebook
RH324ET#ABY-D30,HP,Notebook
A3HF-5A027P,ASUS,Notebook

Response (404)
{
    "error": "File not found"
}
Response (422)
{
    "error": "Invalid week number. The week number should be no higher than last week"
}

Groups

Enterprise Grouping in e.hub

The e.hub Enterprise Functionality is an advanced feature exclusively available to Enterprise Subscription customers. It is designed for companies operating with multiple ERP systems that do not share common company or organization identifiers. This is particularly useful for businesses using different ERP systems across regions, such as SAP in the EU and Business Central in the US, where customer naming conventions and identifiers are not aligned.

Seamless Data Consolidation Across Multiple ERP Systems

With this feature, you can link and unify organization data from multiple disconnected ERP systems into a single Group Structure, ensuring a consistent, company-wide carbon reporting framework.

Three-Tiered Reporting Structure

The grouping model enables full organizational alignment across various business units:

  • Group: The top-level entity, representing the entire enterprise. (unique to Enterprise Grouping)
  • Organization: Major business divisions or regions, each containing multiple companies. (standard e.voice function).
  • Companies: TIndividual subsidiaries or business units. (standard e.voice function)

Each Group can contain multiple Organizations, and each Organization can include hundreds of subsidiaries, ensuring scalability for even the largest enterprises.

Data Extraction & Integration

A dedicated data extraction endpoint allows you to:

  • Retrieve grouped and structured data for data warehouse integration.
  • Extract e.voice records and filter reports by Group, Organization, or Company.
  • Seamlessly integrate consolidated data into your internal analytics or reporting systems.

GET group e.voices by slug

Requires Auth

Retrieve a paginated list of e.voices for a specific group, filtered by date and pagination options.

GET api/v3/group/{slug}

Headers

Authorization required
Example: Bearer {YOUR_AUTH_KEY}

URL Parameters

slug string required

The group slug used to filter the e.voices.

Example: eco-friendly-company

Query Parameters

from string optional

date The start date for filtering e.voices.

Example: 2024-01-01
to string optional

date The end date for filtering e.voices. Default: today.

Example: 2024-12-31
page integer optional

The page number for pagination. Default: 1.

Example: 2
per_page integer optional

The number of items per page (1-100). Default: 10.

Example: 20
Response (200)
{
    "data": {
        "items": [
            {
                "external_invoice_id": "a6e0f0bb-0285-4a2d-b6d8-93c63543d5a9",
                "external_invoice_date": "2024-07-24T07:39:56.000000Z",
                "country_code": "DK",
                "carbon_intensity_gram": 123,
                "total_kg_co2_eq": 1301.51,
                "status": "finalized",
                "created_at": "2024-07-24T07:39:56.000000Z",
                "updated_at": "2024-07-24T07:39:59.000000Z",
                "group": {
                    "name": "Eco Friendly Company",
                    "slug": "eco-friendly-company"
                },
                "client": {
                    "name": "Eco-Friendly Solutions Ltd",
                    "organization_id": "ecofriendly-4987",
                    "address": "100 Enviro Way",
                    "address2": "Sustainability Lane 3",
                    "zip_code": "ECO321",
                    "city": "GreenVille",
                    "country": "Denmark",
                    "vat_number": "ECOF1234567"
                },
                "devices": [
                    {
                        "external_id": "RE8989121",
                        "original_manufacturer_part_number": "62B6MAT3EU",
                        "quantity": 10,
                        "brand": "Lenovo",
                        "model_name": "ThinkPad T480",
                        "category": "Notebook",
                        "lifetime_months": 72,
                        "scope_2_kg_co2_eq": 278.41,
                        "scope_3_kg_co2_eq": 249.27,
                        "total_kg_co2_eq": 527.68,
                        "refurbished": true,
                        "avoided_emissions_kg_co2_eq": 256.68
                    },
                    {
                        "external_id": "SM-S918BZKDEEB",
                        "original_manufacturer_part_number": null,
                        "quantity": 10,
                        "brand": "Samsung",
                        "model_name": "Galaxy S23 Ultra",
                        "category": "Smartphone",
                        "lifetime_months": 30,
                        "scope_2_kg_co2_eq": 31.18,
                        "scope_3_kg_co2_eq": 742.65,
                        "total_kg_co2_eq": 773.83,
                        "refurbished": false,
                        "avoided_emissions_kg_co2_eq": 0
                    }
                ],
                "links": {
                    "self": "https://app.rejoose.com/api/v3/evoices/a6e0f0bb-0285-4a2d-b6d8-93c63543d5a9"
                }
            }
        ],
        "current_page": 2,
        "last_page": 4522,
        "total": 4522,
        "per_page": 1,
        "next_page": "https://app.rejoose.com/api/v3/group/eco-friendly-company?page=3",
        "previous_page": "https://app.rejoose.com/api/v3/group/eco-friendly-company?page=1"
    },
    "errors": null
}
Response (404)
{
    "data": null,
    "errors": {
        "not_found": "Group with slug company-123 not found."
    }
}

GET groups e.voices

Requires Auth

Retrieve a paginated list of e.voices for all groups, filtered by date and pagination options.

GET api/v3/groups

Headers

Authorization required
Example: Bearer {YOUR_AUTH_KEY}

Query Parameters

from string optional

date The start date for filtering e.voices.

Example: 2024-01-01
to string optional

date The end date for filtering e.voices. Default: today.

Example: 2024-12-31
page integer optional

The page number for pagination. Default: 1.

Example: 2
per_page integer optional

The number of items per page (1-100). Default: 10.

Example: 20
Response (200)
{
    "data": {
        "items": [
            {
                "external_invoice_id": "a6e0f0bb-0285-4a2d-b6d8-93c63543d5a9",
                "external_invoice_date": "2024-07-24T07:39:56.000000Z",
                "country_code": "DK",
                "carbon_intensity_gram": 123,
                "total_kg_co2_eq": 1301.51,
                "status": "finalized",
                "created_at": "2024-07-24T07:39:56.000000Z",
                "updated_at": "2024-07-24T07:39:59.000000Z",
                "group": {
                    "name": "Eco Friendly Company",
                    "slug": "eco-friendly-company"
                },
                "client": {
                    "name": "Eco-Friendly Solutions Ltd",
                    "organization_id": "ecofriendly-4987",
                    "address": "100 Enviro Way",
                    "address2": "Sustainability Lane 3",
                    "zip_code": "ECO321",
                    "city": "GreenVille",
                    "country": "Denmark",
                    "vat_number": "ECOF1234567"
                },
                "devices": [
                    {
                        "external_id": "RE8989121",
                        "original_manufacturer_part_number": "62B6MAT3EU",
                        "quantity": 10,
                        "brand": "Lenovo",
                        "model_name": "ThinkPad T480",
                        "category": "Notebook",
                        "lifetime_months": 72,
                        "scope_2_kg_co2_eq": 278.41,
                        "scope_3_kg_co2_eq": 249.27,
                        "total_kg_co2_eq": 527.68,
                        "refurbished": true,
                        "avoided_emissions_kg_co2_eq": 256.68
                    },
                    {
                        "external_id": "SM-S918BZKDEEB",
                        "original_manufacturer_part_number": null,
                        "quantity": 10,
                        "brand": "Samsung",
                        "model_name": "Galaxy S23 Ultra",
                        "category": "Smartphone",
                        "lifetime_months": 30,
                        "scope_2_kg_co2_eq": 31.18,
                        "scope_3_kg_co2_eq": 742.65,
                        "total_kg_co2_eq": 773.83,
                        "refurbished": false,
                        "avoided_emissions_kg_co2_eq": 0
                    }
                ],
                "links": {
                    "self": "https://app.rejoose.com/api/v3/evoices/a6e0f0bb-0285-4a2d-b6d8-93c63543d5a9"
                }
            }
        ],
        "current_page": 2,
        "last_page": 4522,
        "total": 4522,
        "per_page": 1,
        "next_page": "https://app.rejoose.com/api/v3/groups?page=3",
        "previous_page": "https://app.rejoose.com/api/v3/groups?page=1"
    },
    "errors": null
}