openapi: 3.0.3
info:
  title: 'API Reference'
  description: "<strong>Welcome to our API documentation!</strong> <br> \r\n    <p>The Rejoose API’s is organized around REST. A RESTful API should use standardized REST-oriented URLs and responses. Rejoose API’s accepts form-encoded request bodies, returns JSON-encoded responses. It also offers authentication, security tokens, and other standard HTTP verbs. These docs provide example API and code to showcase test data. \r\nThe API’s and their respective docs can subject to change, we will advise in good time, to make you aware of any changes or additions to the API’s. We try to change as little as possible.\r\n</p>\r\n<p>To get you started quickly with our API, we recommend providing a list of your most popular devices or product. This will help us ensure a smooth experience by pre-mapping them for your account.\r\n   </p>\r\n   \r\n   <p>Provide a CSV file: include headers for Brand, Model, Description, and External_ID/Product ID (product manufacturer part number)</p>\r\n \r\n <p>Once we have this information, your devices/products will be properly identified and managed within your account, allowing you to take full advantage of the API's features.</p>\r\n<p>\r\nThe developer who needs to set up the API, will need access to our e/hub where they can generate the relevant API tokens for authentication.\r\n Please contact <a href=\"mailto:support@rejoose.com\">support@rejoose.com</a> for this login. A login for e/hub® <a href=\"https://e-hub.rejoose.com\">(https://e-hub.rejoose.com)</a> requires an agreement with Rejoose.\r\n</p>\r\n\r\n<b>OBS: You can expand for more detailed information in the API docs. When you see the small black arrow, used for objects such as \"⯈ client\", or \"⯈ devices\".</b>\r\n\r\n"
  version: 1.0.0
servers:
  -
    url: 'https://app.rejoose.com'
paths:
  /api/v3/evoices/generate:
    post:
      summary: 'Generate e.voice'
      operationId: generateEvoice
      description: ''
      parameters: []
      responses:
        201:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  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
                    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'
                properties:
                  success:
                    type: boolean
                    example: true
                  data:
                    type: object
                    properties:
                      external_invoice_id:
                        type: string
                        example: '123456789'
                      external_invoice_date:
                        type: string
                        example: '2023-09-25'
                      country_code:
                        type: string
                        example: DK
                      supplier_contact:
                        type: string
                        example: example@rejoose.com
                      pdf_base64:
                        type: string
                        example: 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Ci9FbmNvZGluZyAvV2luQW5zaUVuY29kaW5nCj4+CmVuZG9iago5IDAgb2JqCjw8IC9UeXBlIC9Gb250Ci9TdWJ0eXBlIC9UeXBlMQovTmFtZSAvRjIKL0Jhc2VGb250IC9IZWx2ZXRpY2EtQm9sZAovRW5jb2RpbmcgL1dpbkFuc2lFbmNvZGluZwo+PgplbmRvYmoKMTAgMCBvYmoKPDwgL1R5cGUgL0ZvbnQKL1N1YnR5cGUgL1R5cGUxCi9OYW1lIC9GMwovQmFzZUZvbnQgL1RpbWVzLUJvbGQKL0VuY29kaW5nIC9XaW5BbnNpRW5jb2RpbmcKPj4KZW5kb2JqCjExIDAgb2JqCjw8IC9UeXBlIC9Bbm5vdAovU3VidHlwZSAvTGluawovQSAxMiAwIFIKL0JvcmRlciBbMCAwIDBdCi9IIC9JCi9SZWN0IFsgMTk5LjEzNzggMTguMjE4NSAzOTYuMTQyMiAyNy4wMTg1IF0KPj4KZW5kb2JqCjEyIDAgb2JqCjw8IC9UeXBlIC9BY3Rpb24KL1MgL1VSSQovVVJJIChodHRwczovL3Jlam9vc2UuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDIzLzA2L0V2b2ljZV9FeHBsYWluZXIucGRmKQo+PgplbmRvYmoKeHJlZgowIDEzCjAwMDAwMDAwMDAgNjU1MzUgZiAKMDAwMDAwMDAwOSAwMDAwMCBuIAowMDAwMDAwMDc0IDAwMDAwIG4gCjAwMDAwMDAxMjAgMDAwMDAgbiAKMDAwMDAwMDI5NSAwMDAwMCBuIAowMDAwMDAwMzI0IDAwMDAwIG4gCjAwMDAwMDA0OTcgMDAwMDAgbiAKMDAwMDAwMDYxOSAwMDAwMCBuIAowMDAwMDAzNTI5IDAwMDAwIG4gCjAwMDAwMDM2MzggMDAwMDAgbiAKMDAwMDAwMzc1MCAwMDAwMCBuIAowMDAwMDAzODU5IDAwMDAwIG4gCjAwMDAwMDM5ODUgMDAwMDAgbiAKdHJhaWxlcgo8PAovU2l6ZSAxMwovUm9vdCAxIDAgUgovSW5mbyA1IDAgUgovSURbPGQ0MjEyYTIwY2E1NTc3NTg1NGNiOWUyNmM3NGRiYjdiPjxkNDIxMmEyMGNhNTU3NzU4NTRjYjllMjZjNzRkYmI3Yj5dCj4+CnN0YXJ0eHJlZgo0MTA0CiUlRU9GCg==
                      carbon_intensity_gram:
                        type: integer
                        example: 123
                      total_kg_co2_eq:
                        type: number
                        example: 1301.51
                      status:
                        type: string
                        example: finalized
                      created_at:
                        type: string
                        example: '2024-01-05T13:11:49.000000Z'
                      client:
                        type: object
                        properties:
                          name:
                            type: string
                            example: 'Eco-Friendly Solutions Ltd'
                          vat_number:
                            type: string
                            example: ECOF1234567
                          organization_id:
                            type: string
                            example: EcoFriendly-4987
                          address:
                            type: string
                            example: '100 Enviro Way'
                          address2:
                            type: string
                            example: 'Sustainability Lane 3'
                          zip_code:
                            type: string
                            example: ECO321
                          city:
                            type: string
                            example: GreenVille
                          country:
                            type: string
                            example: Denmark
                          country_code:
                            type: string
                            example: DK
                      devices:
                        type: array
                        example:
                          -
                            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
                        items:
                          type: object
                          properties:
                            external_id:
                              type: string
                              example: RE8989121
                            original_manufacturer_part_number:
                              type: string
                              example: 62B6MAT3EU
                            quantity:
                              type: integer
                              example: 10
                            brand:
                              type: string
                              example: Lenovo
                            model_name:
                              type: string
                              example: 'ThinkPad T480'
                            category:
                              type: string
                              example: Notebook
                            lifetime_months:
                              type: integer
                              example: 72
                            scope_2_kg_co2_eq:
                              type: number
                              example: 278.41
                            scope_3_kg_co2_eq:
                              type: number
                              example: 249.27
                            total_kg_co2_eq:
                              type: number
                              example: 527.68
                            refurbished:
                              type: boolean
                              example: true
                            avoided_emissions_kg_co2_eq:
                              type: number
                              example: 256.68
                      links:
                        type: object
                        properties:
                          self:
                            type: string
                            example: 'https://app.rejoose.com/api/v3/evoices/123456789'
        422:
          description: 'Validation Error'
          content:
            application/json:
              schema:
                type: object
                example:
                  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.'
                properties:
                  errors:
                    type: object
                    properties:
                      external_invoice_id:
                        type: array
                        example:
                          - 'The external invoice id field is required.'
                        items:
                          type: string
                      external_invoice_date:
                        type: array
                        example:
                          - 'The external invoice date field is required.'
                        items:
                          type: string
                      client.name:
                        type: array
                        example:
                          - 'The client.name field is required.'
                        items:
                          type: string
        429:
          description: 'Too Many Attempts'
          content:
            application/json:
              schema:
                type: object
                example:
                  message: 'Too Many Attempts.'
                properties:
                  message:
                    type: string
                    example: 'Too Many Attempts.'
      tags:
        - e.voice
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                external_invoice_id:
                  type: string
                  description: '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:
                  type: string
                  description: '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:
                  type: string
                  description: '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:
                  type: string
                  description: '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:
                  type: object
                  description: '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.'
                  example:
                    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
                  properties:
                    name:
                      type: string
                      description: '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:
                      type: string
                      description: '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:
                      type: string
                      description: '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:
                      type: string
                      description: '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:
                      type: string
                      description: '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:
                      type: string
                      description: '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:
                      type: string
                      description: '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:
                      type: string
                      description: '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:
                      type: string
                      description: '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:
                  type: array
                  description: 'This is the list of devices and products from the invoice sent to the customer (Array of device objects).'
                  example:
                    - []
                  items:
                    type: object
                    properties:
                      external_id:
                        type: string
                        description: "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:
                        type: string
                        description: '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:
                        type: integer
                        description: 'The number of units sold. This should match the invoiced item line quantity. Must be at least 1.'
                        example: 10
                      category:
                        type: string
                        description: '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:
                        type: string
                        description: '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:
                        type: string
                        description: '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:
                        type: boolean
                        description: '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:
                        type: integer
                        description: '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
                    required:
                      - external_id
                      - quantity
                      - category
                      - brand
                      - model_name
              required:
                - external_invoice_id
                - external_invoice_date
                - country_code
                - supplier_contact
                - client
                - devices
  '/api/v3/evoices/{external_invoice_id}':
    get:
      summary: 'GET e.voice data'
      operationId: gETEvoiceData
      description: 'Returns the e.voice data'
      parameters: []
      responses:
        200:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  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
                    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'
                properties:
                  success:
                    type: boolean
                    example: true
                  data:
                    type: object
                    properties:
                      external_invoice_id:
                        type: string
                        example: '123456789'
                      external_invoice_date:
                        type: string
                        example: '2023-09-25'
                      country_code:
                        type: string
                        example: DK
                      supplier_contact:
                        type: string
                        example: example@rejoose.com
                      pdf_base64:
                        type: string
                        example: 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Ci9FbmNvZGluZyAvV2luQW5zaUVuY29kaW5nCj4+CmVuZG9iago5IDAgb2JqCjw8IC9UeXBlIC9Gb250Ci9TdWJ0eXBlIC9UeXBlMQovTmFtZSAvRjIKL0Jhc2VGb250IC9IZWx2ZXRpY2EtQm9sZAovRW5jb2RpbmcgL1dpbkFuc2lFbmNvZGluZwo+PgplbmRvYmoKMTAgMCBvYmoKPDwgL1R5cGUgL0ZvbnQKL1N1YnR5cGUgL1R5cGUxCi9OYW1lIC9GMwovQmFzZUZvbnQgL1RpbWVzLUJvbGQKL0VuY29kaW5nIC9XaW5BbnNpRW5jb2RpbmcKPj4KZW5kb2JqCjExIDAgb2JqCjw8IC9UeXBlIC9Bbm5vdAovU3VidHlwZSAvTGluawovQSAxMiAwIFIKL0JvcmRlciBbMCAwIDBdCi9IIC9JCi9SZWN0IFsgMTk5LjEzNzggMTguMjE4NSAzOTYuMTQyMiAyNy4wMTg1IF0KPj4KZW5kb2JqCjEyIDAgb2JqCjw8IC9UeXBlIC9BY3Rpb24KL1MgL1VSSQovVVJJIChodHRwczovL3Jlam9vc2UuY29tL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDIzLzA2L0V2b2ljZV9FeHBsYWluZXIucGRmKQo+PgplbmRvYmoKeHJlZgowIDEzCjAwMDAwMDAwMDAgNjU1MzUgZiAKMDAwMDAwMDAwOSAwMDAwMCBuIAowMDAwMDAwMDc0IDAwMDAwIG4gCjAwMDAwMDAxMjAgMDAwMDAgbiAKMDAwMDAwMDI5NSAwMDAwMCBuIAowMDAwMDAwMzI0IDAwMDAwIG4gCjAwMDAwMDA0OTcgMDAwMDAgbiAKMDAwMDAwMDYxOSAwMDAwMCBuIAowMDAwMDAzNTI5IDAwMDAwIG4gCjAwMDAwMDM2MzggMDAwMDAgbiAKMDAwMDAwMzc1MCAwMDAwMCBuIAowMDAwMDAzODU5IDAwMDAwIG4gCjAwMDAwMDM5ODUgMDAwMDAgbiAKdHJhaWxlcgo8PAovU2l6ZSAxMwovUm9vdCAxIDAgUgovSW5mbyA1IDAgUgovSURbPGQ0MjEyYTIwY2E1NTc3NTg1NGNiOWUyNmM3NGRiYjdiPjxkNDIxMmEyMGNhNTU3NzU4NTRjYjllMjZjNzRkYmI3Yj5dCj4+CnN0YXJ0eHJlZgo0MTA0CiUlRU9GCg==
                      carbon_intensity_gram:
                        type: integer
                        example: 123
                      total_kg_co2_eq:
                        type: number
                        example: 1301.51
                      status:
                        type: string
                        example: finalized
                      created_at:
                        type: string
                        example: '2024-01-05T13:11:49.000000Z'
                      client:
                        type: object
                        properties:
                          name:
                            type: string
                            example: 'Eco-Friendly Solutions Ltd'
                          vat_number:
                            type: string
                            example: ECOF1234567
                          organization_id:
                            type: string
                            example: EcoFriendly-4987
                          address:
                            type: string
                            example: '100 Enviro Way'
                          address2:
                            type: string
                            example: 'Sustainability Lane 3'
                          zip_code:
                            type: string
                            example: ECO321
                          city:
                            type: string
                            example: GreenVille
                          country:
                            type: string
                            example: Denmark
                          country_code:
                            type: string
                            example: DK
                      devices:
                        type: array
                        example:
                          -
                            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
                        items:
                          type: object
                          properties:
                            external_id:
                              type: string
                              example: RE8989121
                            original_manufacturer_part_number:
                              type: string
                              example: 62B6MAT3EU
                            quantity:
                              type: integer
                              example: 10
                            brand:
                              type: string
                              example: Lenovo
                            model_name:
                              type: string
                              example: 'ThinkPad T480'
                            category:
                              type: string
                              example: Notebook
                            lifetime_months:
                              type: integer
                              example: 72
                            scope_2_kg_co2_eq:
                              type: number
                              example: 278.41
                            scope_3_kg_co2_eq:
                              type: number
                              example: 249.27
                            total_kg_co2_eq:
                              type: number
                              example: 527.68
                            refurbished:
                              type: boolean
                              example: true
                            avoided_emissions_kg_co2_eq:
                              type: number
                              example: 256.68
                      links:
                        type: object
                        properties:
                          self:
                            type: string
                            example: 'https://app.rejoose.com/api/v3/evoices/123456789'
        404:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  errors: 'Evoice with external_invoice_id 3.1415926535 not found'
                properties:
                  errors:
                    type: string
                    example: 'Evoice with external_invoice_id 3.1415926535 not found'
      tags:
        - e.voice
    parameters:
      -
        in: path
        name: external_invoice_id
        description: 'The `external_invoice_id` of the e.voice.'
        example: '123456789'
        required: true
        schema:
          type: string
  /api/v3/evoices/circularity/generate:
    post:
      summary: 'POST e.voice circularity'
      operationId: pOSTEvoiceCircularity
      description: 'Generates the e.voice circularity'
      parameters: []
      responses:
        201:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  data:
                    id: 31
                    external_doc_id: ab57e0f1-2396-430c-ba5a-339d77fda792
                    external_doc_date: '2024-01-22'
                    country_code: DK
                    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
                        refurbishment_impact_percentage: 0.0516
                        refurbishment_impact_kg_co2_eq: 75.08832
                        refurbishment_offset_kg_co2_eq: 1380.11168
                      -
                        external_id: X3T23AV
                        amount: 2
                        brand: HP
                        model_name: 'HP EliteBook 820 G4'
                        category: Notebook
                        refurbishment_impact_percentage: 0.0516
                        refurbishment_impact_kg_co2_eq: 105.34034
                        refurbishment_offset_kg_co2_eq: 1673.23511
                    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
                properties:
                  data:
                    type: object
                    properties:
                      id:
                        type: integer
                        example: 31
                      external_doc_id:
                        type: string
                        example: ab57e0f1-2396-430c-ba5a-339d77fda792
                      external_doc_date:
                        type: string
                        example: '2024-01-22'
                      country_code:
                        type: string
                        example: DK
                      e_waste_kg_co2_eq:
                        type: number
                        example: 212.81
                      refurbishment_impact_kg_co2_eq:
                        type: number
                        example: 180.42866
                      refurbishment_offset_kg_co2_eq:
                        type: number
                        example: 3053.34679
                      client:
                        type: object
                        properties:
                          name:
                            type: string
                            example: 'Rejoose ApS'
                          organization_id:
                            type: string
                            example: rejoose_aps
                          vat_number:
                            type: string
                            example: '39121506'
                          address:
                            type: string
                            example: 'Finsensvej 78'
                          address2:
                            type: string
                            example: 'Finsensvej 78'
                          zip_code:
                            type: string
                            example: '2000'
                          city:
                            type: string
                            example: Frederiksberg
                          country:
                            type: string
                            example: Denmark
                          country_code:
                            type: string
                            example: DK
                      devices:
                        type: array
                        example:
                          -
                            external_id: X220-DEHO
                            amount: 5
                            brand: LENOVO
                            model_name: 'Lenovo X220'
                            category: Laptop
                            refurbishment_impact_percentage: 0.0516
                            refurbishment_impact_kg_co2_eq: 75.08832
                            refurbishment_offset_kg_co2_eq: 1380.11168
                          -
                            external_id: X3T23AV
                            amount: 2
                            brand: HP
                            model_name: 'HP EliteBook 820 G4'
                            category: Notebook
                            refurbishment_impact_percentage: 0.0516
                            refurbishment_impact_kg_co2_eq: 105.34034
                            refurbishment_offset_kg_co2_eq: 1673.23511
                        items:
                          type: object
                          properties:
                            external_id:
                              type: string
                              example: X220-DEHO
                            amount:
                              type: integer
                              example: 5
                            brand:
                              type: string
                              example: LENOVO
                            model_name:
                              type: string
                              example: 'Lenovo X220'
                            category:
                              type: string
                              example: Laptop
                            refurbishment_impact_percentage:
                              type: number
                              example: 0.0516
                            refurbishment_impact_kg_co2_eq:
                              type: number
                              example: 75.08832
                            refurbishment_offset_kg_co2_eq:
                              type: number
                              example: 1380.11168
                      created_at:
                        type: string
                        example: '2024-01-24T11:33:10.000000Z'
                      links:
                        type: object
                        properties:
                          self:
                            type: string
                            example: 'https://app.rejoose.com/api/v3/evoices/circularity/ab57e0f1-2396-430c-ba5a-339d77fda792'
                          pdf:
                            type: string
                            example: 'https://app.rejoose.com/api/v3/evoices/circularity/ab57e0f1-2396-430c-ba5a-339d77fda792/pdf'
                          base_64_pdf:
                            type: string
                            example: 'https://app.rejoose.com/api/v3/evoices/circularity/ab57e0f1-2396-430c-ba5a-339d77fda792/pdf?base64=1'
                  errors:
                    type: string
                    example: null
        422:
          description: 'Validation Error'
          content:
            application/json:
              schema:
                type: object
                example:
                  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.'
                properties:
                  data:
                    type: string
                    example: null
                  errors:
                    type: object
                    properties:
                      external_doc_id:
                        type: array
                        example:
                          - 'The external doc id field is required.'
                        items:
                          type: string
                      external_doc_date:
                        type: array
                        example:
                          - 'The external doc date field is required.'
                        items:
                          type: string
                      client.name:
                        type: array
                        example:
                          - 'The client.name field is required.'
                        items:
                          type: string
        429:
          description: 'Too Many Attempts'
          content:
            application/json:
              schema:
                type: object
                example:
                  message: 'Too Many Attempts.'
                properties:
                  message:
                    type: string
                    example: 'Too Many Attempts.'
      tags:
        - 'e.voice - circularity'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                external_doc_id:
                  type: string
                  description: '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:
                  type: string
                  description: '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:
                  type: integer
                  description: 'Weight of recycled electronics in kilograms, used for calculating the carbon emissions related to e-waste. Must be a minimum of 0.'
                  example: 10
                country_code:
                  type: string
                  description: "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:
                  type: string
                  description: '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.
                client:
                  type: object
                  description: '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.'
                  example:
                    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
                  properties:
                    name:
                      type: string
                      description: '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:
                      type: string
                      description: '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:
                      type: string
                      description: '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:
                      type: string
                      description: '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:
                      type: string
                      description: '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:
                      type: string
                      description: '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:
                      type: string
                      description: '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:
                      type: string
                      description: '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:
                      type: string
                      description: '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:
                  type: array
                  description: 'Array of devices.'
                  example:
                    - []
                  items:
                    type: object
                    properties:
                      external_id:
                        type: string
                        description: "Provide the product's original manufacturer part number (MPN)."
                        example: RE8989121
                      quantity:
                        type: integer
                        description: 'Number of units.'
                        example: 10
                      category:
                        type: string
                        description: '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:
                        type: string
                        description: '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:
                        type: string
                        description: 'Product model name.'
                        example: 'ThinkPad T480'
                    required:
                      - external_id
                      - quantity
                      - category
                      - brand
                      - model_name
              required:
                - external_doc_id
                - external_doc_date
                - country_code
                - supplier_contact
                - client
                - devices
  '/api/v3/evoices/circularity/{external_doc_id}/pdf':
    get:
      summary: 'GET e.voices circularity PDF'
      operationId: gETEvoicesCircularityPDF
      description: 'Returns the e.voice circularity PDF'
      parameters: []
      responses:
        200:
          description: ''
          content:
            text/plain:
              schema:
                type: string
                example: 'application/pdf The PDF file'
        404:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  data: null
                  errors:
                    not_found:
                      - 'Evoice Circularity with external document id 1 not found for your partner'
                properties:
                  data:
                    type: string
                    example: null
                  errors:
                    type: object
                    properties:
                      not_found:
                        type: array
                        example:
                          - 'Evoice Circularity with external document id 1 not found for your partner'
                        items:
                          type: string
      tags:
        - 'e.voice - circularity'
    parameters:
      -
        in: path
        name: external_doc_id
        description: 'The external document ID.'
        example: ab57e0f1-2396-430c-ba5a-339d77fda792
        required: true
        schema:
          type: string
  '/api/v3/evoices/circularity/{external_doc_id}':
    get:
      summary: 'GET e.voice circularity data'
      operationId: gETEvoiceCircularityData
      description: 'Returns the e.voice circularity data'
      parameters: []
      responses:
        200:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  data:
                    id: 31
                    external_doc_id: ab57e0f1-2396-430c-ba5a-339d77fda792
                    external_doc_date: '2024-01-22'
                    country_code: DK
                    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
                        refurbishment_impact_percentage: 0.0516
                        refurbishment_impact_kg_co2_eq: 75.08832
                        refurbishment_offset_kg_co2_eq: 1380.11168
                      -
                        external_id: X3T23AV
                        amount: 2
                        brand: HP
                        model_name: 'HP EliteBook 820 G4'
                        category: Notebook
                        refurbishment_impact_percentage: 0.0516
                        refurbishment_impact_kg_co2_eq: 105.34034
                        refurbishment_offset_kg_co2_eq: 1673.23511
                    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
                properties:
                  data:
                    type: object
                    properties:
                      id:
                        type: integer
                        example: 31
                      external_doc_id:
                        type: string
                        example: ab57e0f1-2396-430c-ba5a-339d77fda792
                      external_doc_date:
                        type: string
                        example: '2024-01-22'
                      country_code:
                        type: string
                        example: DK
                      e_waste_kg_co2_eq:
                        type: number
                        example: 212.81
                      refurbishment_impact_kg_co2_eq:
                        type: number
                        example: 180.42866
                      refurbishment_offset_kg_co2_eq:
                        type: number
                        example: 3053.34679
                      client:
                        type: object
                        properties:
                          name:
                            type: string
                            example: 'Rejoose ApS'
                          organization_id:
                            type: string
                            example: rejoose_aps
                          vat_number:
                            type: string
                            example: '39121506'
                          address:
                            type: string
                            example: 'Finsensvej 78'
                          address2:
                            type: string
                            example: 'Finsensvej 78'
                          zip_code:
                            type: string
                            example: '2000'
                          city:
                            type: string
                            example: Frederiksberg
                          country:
                            type: string
                            example: Denmark
                          country_code:
                            type: string
                            example: DK
                      devices:
                        type: array
                        example:
                          -
                            external_id: X220-DEHO
                            amount: 5
                            brand: LENOVO
                            model_name: 'Lenovo X220'
                            category: Laptop
                            refurbishment_impact_percentage: 0.0516
                            refurbishment_impact_kg_co2_eq: 75.08832
                            refurbishment_offset_kg_co2_eq: 1380.11168
                          -
                            external_id: X3T23AV
                            amount: 2
                            brand: HP
                            model_name: 'HP EliteBook 820 G4'
                            category: Notebook
                            refurbishment_impact_percentage: 0.0516
                            refurbishment_impact_kg_co2_eq: 105.34034
                            refurbishment_offset_kg_co2_eq: 1673.23511
                        items:
                          type: object
                          properties:
                            external_id:
                              type: string
                              example: X220-DEHO
                            amount:
                              type: integer
                              example: 5
                            brand:
                              type: string
                              example: LENOVO
                            model_name:
                              type: string
                              example: 'Lenovo X220'
                            category:
                              type: string
                              example: Laptop
                            refurbishment_impact_percentage:
                              type: number
                              example: 0.0516
                            refurbishment_impact_kg_co2_eq:
                              type: number
                              example: 75.08832
                            refurbishment_offset_kg_co2_eq:
                              type: number
                              example: 1380.11168
                      created_at:
                        type: string
                        example: '2024-01-24T11:33:10.000000Z'
                      links:
                        type: object
                        properties:
                          self:
                            type: string
                            example: 'https://app.rejoose.com/api/v3/evoices/circularity/ab57e0f1-2396-430c-ba5a-339d77fda792'
                          pdf:
                            type: string
                            example: 'https://app.rejoose.com/api/v3/evoices/circularity/ab57e0f1-2396-430c-ba5a-339d77fda792/pdf'
                          base_64_pdf:
                            type: string
                            example: 'https://app.rejoose.com/api/v3/evoices/circularity/ab57e0f1-2396-430c-ba5a-339d77fda792/pdf?base64=1'
                  errors:
                    type: string
                    example: null
        404:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  data: null
                  errors:
                    not_found:
                      - 'Evoice Circularity with external document id 1 not found for your partner'
                properties:
                  data:
                    type: string
                    example: null
                  errors:
                    type: object
                    properties:
                      not_found:
                        type: array
                        example:
                          - 'Evoice Circularity with external document id 1 not found for your partner'
                        items:
                          type: string
      tags:
        - 'e.voice - circularity'
    parameters:
      -
        in: path
        name: external_doc_id
        description: 'The external document ID.'
        example: ab57e0f1-2396-430c-ba5a-339d77fda792
        required: true
        schema:
          type: string
  /api/v3/products:
    get:
      summary: 'GET e.product'
      operationId: gETEproduct
      description: 'The GET endpoint returns the carbon footprint data of a single product.'
      parameters:
        -
          in: query
          name: manufacture_part_number
          description: 'The unique manufacturer part number (SKU/MPN) provided by the vendor or distributor, or an internal part number.'
          example: 286H8AA
          required: true
          schema:
            type: string
            description: 'The unique manufacturer part number (SKU/MPN) provided by the vendor or distributor, or an internal part number.'
            example: 286H8AA
        -
          in: query
          name: brand
          description: "The product manufacturer's name. Used together with the MPN and category to ensure a unique data match."
          example: 'HP Inc'
          required: true
          schema:
            type: string
            description: "The product manufacturer's name. Used together with the MPN and category to ensure a unique data match."
            example: 'HP Inc'
        -
          in: query
          name: category
          description: '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'
          required: true
          schema:
            type: string
            description: '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'
        -
          in: query
          name: country_code
          description: '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
          required: true
          schema:
            type: string
            description: '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
        -
          in: query
          name: refurbished
          description: 'optional Indicates whether the product is refurbished (pre-owned). A value of 1 denotes a refurbished product.'
          example: 1
          required: false
          schema:
            type: integer
            description: 'optional Indicates whether the product is refurbished (pre-owned). A value of 1 denotes a refurbished product.'
            example: 1
      responses:
        200:
          description: ''
          content:
            application/json:
              schema:
                oneOf:
                  -
                    description: 'NOTE: refurbishment_impact_kg_co2_eq and refurbishment_offset_kg_co2_eq will only be included when product is refurbished'
                    type: object
                    example:
                      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
                    properties:
                      data:
                        type: object
                        properties:
                          manufacture_part_number:
                            type: string
                            example: 286H8AA
                          brand:
                            type: string
                            example: 'HP Inc'
                          category:
                            type: string
                            example: 'Docking station'
                          country_code:
                            type: string
                            example: DK
                          refurbished:
                            type: boolean
                            example: true
                          data_match:
                            type: boolean
                            example: true
                          data_method:
                            type: string
                            example: CA
                          total_kg_co2_eq:
                            type: number
                            example: 33.32004288
                          carbon_intensity_gram:
                            type: number
                            example: 123.42
                          lifetime_month:
                            type: integer
                            example: 48
                          refurbishment_impact_kg_co2_eq:
                            type: number
                            example: 3.457734144
                          refurbishment_offset_kg_co2_eq:
                            type: number
                            example: 28.03242874
                      errors:
                        type: string
                        example: null
                  -
                    description: "NOTE: Requires 'e.product-plus' to retrieve detailed LCA (Life Cycle Assessment) data."
                    type: object
                    example:
                      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
                    properties:
                      data:
                        type: object
                        properties:
                          manufacture_part_number:
                            type: string
                            example: 286H8AA
                          brand:
                            type: string
                            example: 'HP Inc'
                          category:
                            type: string
                            example: 'Docking station'
                          country_code:
                            type: string
                            example: DK
                          refurbished:
                            type: boolean
                            example: false
                          data_match:
                            type: boolean
                            example: true
                          data_method:
                            type: string
                            example: CA
                          total_kg_co2_eq:
                            type: number
                            example: 40.23551117
                          manufacturing_kg_co2_eq:
                            type: number
                            example: 29.86230874
                          transportation_kg_co2_eq:
                            type: number
                            example: 5.457734144
                          use_kg_co2_eq:
                            type: number
                            example: 3.457734144
                          end_of_life_kg_co2_eq:
                            type: number
                            example: 1.457734144
                          carbon_intensity_gram:
                            type: number
                            example: 123.42
                          lifetime_month:
                            type: integer
                            example: 48
                          refurbishment_impact_kg_co2_eq:
                            type: string
                            example: null
                          refurbishment_offset_kg_co2_eq:
                            type: string
                            example: null
                      errors:
                        type: string
                        example: null
                  -
                    description: 'NOTE: The carbon data will be null when no product was found'
                    type: object
                    example:
                      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
                    properties:
                      data:
                        type: object
                        properties:
                          manufacture_part_number:
                            type: string
                            example: 286H8AA
                          brand:
                            type: string
                            example: 'HP Inc'
                          category:
                            type: string
                            example: 'Docking station'
                          country_code:
                            type: string
                            example: DK
                          refurbished:
                            type: boolean
                            example: true
                          data_match:
                            type: boolean
                            example: false
                          data_method:
                            type: string
                            example: null
                          total_kg_co2_eq:
                            type: string
                            example: null
                          carbon_intensity_gram:
                            type: string
                            example: null
                          lifetime_month:
                            type: string
                            example: null
                          refurbishment_impact_kg_co2_eq:
                            type: string
                            example: null
                          refurbishment_offset_kg_co2_eq:
                            type: string
                            example: null
                      errors:
                        type: string
                        example: null
        422:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  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.'
                properties:
                  data:
                    type: string
                    example: null
                  errors:
                    type: object
                    properties:
                      manufacture_part_number:
                        type: array
                        example:
                          - 'The manufacture part number field is required.'
                        items:
                          type: string
                      brand:
                        type: array
                        example:
                          - 'The brand field is required.'
                        items:
                          type: string
                      category:
                        type: array
                        example:
                          - 'The category field is required.'
                        items:
                          type: string
                      refurbished:
                        type: array
                        example:
                          - 'The refurbished field must not be greater than 1.'
                        items:
                          type: string
      tags:
        - e.product
    post:
      summary: 'POST e.product'
      operationId: pOSTEproduct
      description: 'The POST endpoint returns the carbon footprint data of multiple products.'
      parameters: []
      responses:
        200:
          description: ''
          content:
            application/json:
              schema:
                oneOf:
                  -
                    description: 'Note: refurbishment_impact_kg_co2_eq and refurbishment_offset_kg_co2_eq will only be included when product is refurbished'
                    type: object
                    example:
                      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.7941664
                          carbon_intensity_gram: 103
                          lifetime_month: 48
                          refurbishment_impact_kg_co2_eq: 0.3267312
                          refurbishment_offset_kg_co2_eq: 6.0052688
                      errors: null
                    properties:
                      data:
                        type: array
                        example:
                          -
                            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.7941664
                            carbon_intensity_gram: 103
                            lifetime_month: 48
                            refurbishment_impact_kg_co2_eq: 0.3267312
                            refurbishment_offset_kg_co2_eq: 6.0052688
                        items:
                          type: object
                          properties:
                            manufacture_part_number:
                              type: string
                              example: 286H8AA
                            brand:
                              type: string
                              example: 'HP Inc'
                            category:
                              type: string
                              example: 'Docking station'
                            country_code:
                              type: string
                              example: DK
                            refurbished:
                              type: boolean
                              example: true
                            data_match:
                              type: boolean
                              example: true
                            data_method:
                              type: string
                              example: CA+
                            total_kg_co2_eq:
                              type: number
                              example: 3.7941664
                            carbon_intensity_gram:
                              type: integer
                              example: 103
                            lifetime_month:
                              type: integer
                              example: 48
                            refurbishment_impact_kg_co2_eq:
                              type: number
                              example: 0.3267312
                            refurbishment_offset_kg_co2_eq:
                              type: number
                              example: 6.0052688
                      errors:
                        type: string
                        example: null
                  -
                    description: "NOTE: Requires 'e.product-plus' to retrieve detailed LCA (Life Cycle Assessment) data."
                    type: object
                    example:
                      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
                    properties:
                      data:
                        type: array
                        example:
                          -
                            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
                        items:
                          type: object
                          properties:
                            manufacture_part_number:
                              type: string
                              example: 286H8AA
                            brand:
                              type: string
                              example: 'HP Inc'
                            category:
                              type: string
                              example: 'Docking station'
                            country_code:
                              type: string
                              example: DK
                            refurbished:
                              type: boolean
                              example: false
                            data_match:
                              type: boolean
                              example: true
                            data_method:
                              type: string
                              example: CA
                            total_kg_co2_eq:
                              type: number
                              example: 40.23551117
                            manufacturing_kg_co2_eq:
                              type: number
                              example: 29.86230874
                            transportation_kg_co2_eq:
                              type: number
                              example: 5.457734144
                            use_kg_co2_eq:
                              type: number
                              example: 3.457734144
                            end_of_life_kg_co2_eq:
                              type: number
                              example: 1.457734144
                            carbon_intensity_gram:
                              type: number
                              example: 123.42
                            lifetime_month:
                              type: integer
                              example: 48
                            refurbishment_impact_kg_co2_eq:
                              type: string
                              example: null
                            refurbishment_offset_kg_co2_eq:
                              type: string
                              example: null
                      errors:
                        type: string
                        example: null
                  -
                    description: 'Note: The carbon footprint data will be null when the product was not found.'
                    type: object
                    example:
                      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
                    properties:
                      data:
                        type: array
                        example:
                          -
                            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
                        items:
                          type: object
                          properties:
                            manufacture_part_number:
                              type: string
                              example: 286H8AA
                            brand:
                              type: string
                              example: 'HP Inc'
                            category:
                              type: string
                              example: 'Docking station'
                            country_code:
                              type: string
                              example: DK
                            refurbished:
                              type: boolean
                              example: true
                            data_match:
                              type: boolean
                              example: false
                            data_method:
                              type: string
                              example: null
                            total_kg_co2_eq:
                              type: string
                              example: null
                            carbon_intensity_gram:
                              type: string
                              example: null
                            lifetime_month:
                              type: string
                              example: null
                            refurbishment_impact_kg_co2_eq:
                              type: string
                              example: null
                            refurbishment_offset_kg_co2_eq:
                              type: string
                              example: null
                      errors:
                        type: string
                        example: null
        422:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  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.'
                properties:
                  data:
                    type: string
                    example: null
                  errors:
                    type: object
                    properties:
                      products.0.manufacture_part_number:
                        type: array
                        example:
                          - 'The products.0.manufacture_part_number field is required.'
                        items:
                          type: string
                      products.0.brand:
                        type: array
                        example:
                          - 'The products.0.brand field is required.'
                        items:
                          type: string
                      products.0.category:
                        type: array
                        example:
                          - 'The products.0.category field is required.'
                        items:
                          type: string
                      products.0.country_code:
                        type: array
                        example:
                          - 'The products.0.country_code field is required.'
                        items:
                          type: string
      tags:
        - e.product
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                products:
                  type: array
                  description: 'The array of products. This array must not exceed 100 items.'
                  example:
                    - []
                  items:
                    type: object
                    properties:
                      manufacture_part_number:
                        type: string
                        description: 'The unique manufacturer part number (SKU/MPN) provided by the vendor or distributor, or an internal part number. Example:'
                        example: officia
                      brand:
                        type: string
                        description: "The product manufacturer's name. Used together with the MPN and category to ensure a unique data match."
                        example: 'HP Inc'
                      category:
                        type: string
                        description: '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:
                        type: string
                        description: '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:
                        type: boolean
                        description: 'optional Indicates whether the product is refurbished (pre-owned). A value of 1 denotes a refurbished product.'
                        example: true
                    required:
                      - manufacture_part_number
                      - brand
                      - category
                      - country_code
              required:
                - products
  /api/v3/products/changes:
    get:
      summary: 'GET changed products'
      operationId: gETChangedProducts
      description: "<aside class=\"notice\">\nAPI key with the `e.product` ability is required to access this endpoint.\n</aside>\n\n <aside class=\"notice\">\n date must be ISO 8601 standard (YYYY-MM-DD)\n </aside>\n\nRetrieve changed products as a CSV file.\nThis endpoint provides a CSV file listing the changes for a specified date or week.\n The file contains columns for `manufacturer_part_number`, `brand`, and `category`.\n Use this file to check for relevant products and brands, then use the `e.product` API to obtain detailed information.\n\n\nIf a `date` is specified, a daily changes file for that date is returned, provided the date is not in the future.\nWithout a `date`, a summary file for the specified or most recent week is retrieved.\n\n### Response Details:\n - Returns a **302 Redirect** to the CDN URL if the file is accessible there."
      parameters:
        -
          in: query
          name: date
          description: 'Optional. The date of the changes (in format YYYY-MM-DD).'
          example: '2024-11-01'
          required: false
          schema:
            type: string
            description: 'Optional. The date of the changes (in format YYYY-MM-DD).'
            example: '2024-11-01'
        -
          in: query
          name: week_number
          description: 'Optional. The week number of the changes, between 1 and 52.'
          example: 45
          required: false
          schema:
            type: integer
            description: 'Optional. The week number of the changes, between 1 and 52.'
            example: 45
      responses:
        302:
          description: ''
          content:
            text/plain:
              schema:
                type: string
                example: "manufacturer_part_number,brand,category\r\nUT04CBE,Lenovo,Notebook\r\nRE242EP,HP,Notebook\r\nPSMA2E-00U01DGC,Toshiba,Notebook\r\nRH324ET#ABY-D30,HP,Notebook\r\nA3HF-5A027P,ASUS,Notebook\r\n"
        404:
          description: ''
          content:
            application/json:
              schema:
                oneOf:
                  -
                    description: ''
                    type: object
                    example:
                      error: 'File not found'
                    properties:
                      error:
                        type: string
                        example: 'File not found'
                  -
                    description: ''
                    type: object
                    example:
                      message: 'The route localhost/api/v3/products/changes could not be found.'
                    properties:
                      message:
                        type: string
                        example: 'The route localhost/api/v3/products/changes could not be found.'
        422:
          description: ''
          content:
            application/json:
              schema:
                type: object
                example:
                  error: 'Invalid week number. The week number should be no higher than last week'
                properties:
                  error:
                    type: string
                    example: 'Invalid week number. The week number should be no higher than last week'
      tags:
        - e.product
tags:
  -
    name: e.voice
    description: "<aside class=\"notice\"><br>The external_invoice_id must be unique <br> country_code must be ISO 3166-2 or ISO 3166-2:US - alpha-2 code<br>\nexternal_invoice_date must be ISO 8601 standard (YYYY-MM-DD)<br>\n</aside>\n\n<strong><p>e.voice – environmental invoice</p></strong>\n<p>This endpoint is used to generate an e.voice. The e.voice is the counterpart to the well-known financial invoice, and thus you can call the e.voice a carbon invoice. The purpose of the e.voice is to connect the financial transaction with the carbon impact.\nWhen utilizing the e.voice API to receive carbon data, you will have multiple options and use cases:</p>\n<ul>\n    <li>Successful transaction information (see example response)</li>\n    <li>A base64 encoded PDF file (the e.voice document)</li>\n    <li>Carbon data for the transaction in total and for all products (raw data format)</li>\n</ul>\n\n<code>\nKeep 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\n<a href=\"https://e-hub.rejoose.com\">e.hub</a> and for your customers via <a href=\"https://e-insights.rejoose.com\">e.insights</a>.\n</code>"
  -
    name: 'e.voice - circularity'
    description: "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.\n\nThe response includes:\n<ul>\n <li>Avoided emissions from refurbishing the products (kg CO2e).</li>\n <li>Carbon impact of the refurbishment process itself (kg CO2e).</li>\n</ul>\n\nBoth datasets are used for customer reporting and internal documentation."
  -
    name: e.product
    description: "This endpoint retrieves the carbon footprint of products, typically used in e-commerce settings, quotations, and other contexts where a general carbon footprint assessment is sufficient. For more detailed reporting on a per-customer basis, consider using the e.voice API. Both solutions complement each other: e.product is ideal for pre-sales, while e.voice is suited for post-sales.\n\nThe carbon footprint is returned using the product's manufacturer part number (MPN), brand, category, and country code.\n\nThis API returns the following information:\n- Total carbon footprint (LCA): 33.3 kg CO2e (for a new product)\n- Refurbishment impact (LCA): 3.5 kg CO2e (for a refurbished product)\n- Avoided emissions by choosing refurbished: 28.0 kg CO2e\n\n<aside class=\"notice\">The carbon footprint data is based on the latest available data and will be updated periodically.\n <br> Please note that the e.product endpoints requires a subscription.\n</aside>"
components:
  securitySchemes:
    default:
      type: http
      scheme: bearer
      description: "You can retrieve your API token by logging into Rejoose e/hub® <a href=\"https://e-hub.rejoose.com\">https://e-hub.rejoose.com</a> \r\nand visiting your admin dashboard and clicking \"Create API Key\"."
security:
  -
    default: []
