# Generic Material Data

For the `/get_generic_materials` endpoint in the 2050 Materials API, the following filter options and output fields are included

#### Filter options&#x20;

Filter options can be retrieved dynamically using the `get_generic_material_filters` endpoint. This endpoint can also take the same filtering as the `get_generic_materials` endpoint, to dynamically return the available filters within a response (e.g. for implementing dropdowns to further filter a response).&#x20;

1. `product_types`  uses ID (use [get\_generic\_material\_filters](https://app.2050-materials.com/developer/documentation/#tag/get_generic_material_filters) to see IDs)
2. `material_type` uses ID (use [get\_generic\_material\_filters](https://app.2050-materials.com/developer/documentation/#tag/get_generic_material_filters) to see IDs)
3. `building_applications` uses ID (use [get\_generic\_material\_filters](https://app.2050-materials.com/developer/documentation/#tag/get_generic_material_filters) to see IDs)
4. `material_name` uses a string which matches the exact or partial material name\
   \&#xNAN;*If you're including special characters (like +, &, or =) in filters, be sure to encode them properly, or results may not match as expected.*
5. `data_source` uses a string which matches the exact or partial data\_source name (e.g. data\_source=CLF-Material-Baselines (2023-04)) or the ID (use [get\_generic\_material\_filters](https://app.2050-materials.com/developer/documentation/#tag/get_generic_material_filters) for the IDs and full list)
6. `declared_unit` Filter by the declared unit using the exact string (eg. `declared_unit=m3` )
7. `sort_by`: Available options are - `update`, `created`, `source_uuid`, `material_name`, `product_type`, `material_type`, `data_source`&#x20;
8. `{field}__min`  / `{field}__max`

   `number` *(query)*

   Range filtering on numerical fields. Append `__min` or `__max` to any supported field name to filter materials by value range (inclusive). Null values are automatically excluded.

   **Convention:** `{field}__min=value` (>= value), `{field}__max=value` (<= value)

   **Examples:**

   * `density__min=500` — density >= 500
   * `carbon_a1a3__max=10` — carbon\_a1a3 <= 10
   * `density__min=500&density__max=2000` — range 500-2000
   * `density__min=500&u_value__max=1.5` — combine with AND logic

   **Supported fields:**

   * **Carbon:** `total_co2e_kg_mf`, `total_biogenic_co2e`, `carbon_a1a3`, `carbon_a4`, `carbon_a5`, `carbon_b1b5`, `carbon_c1c4`, `carbon_a1`, `carbon_a2`, `carbon_a3`, `carbon_b1`, `carbon_b2`, `carbon_b3`, `carbon_b4`, `carbon_b5`, `carbon_c1`, `carbon_c2`, `carbon_c3`, `carbon_c4`, `carbon_d`
   * **Environmental:** `freshwater_use_a1a3`, `recycled_content`, `recyclable_content`, `reuse_potential`, `energy_recovery_possibility`, `odp`, `water_use_kg`
   * **Physical:** `density`, `grammage`, `linear_density`, `mass_per_piece`, `thickness`, `cross_sectional_area`, `mass_per_declared_unit`
   * **Grey Energy:** `grey_energy_total`, `grey_energy_fabrication_total`, `grey_energy_recovery_fabrication`, `grey_energy_material_recovery_fabrication`, `grey_energy_elimination`
9. `data=mini` returns a smaller dictionary which only include the following fields. This can be used to show information for dropdown menus without retrieving the full API response.<br>

   <pre class="language-json"><code class="lang-json"><strong>   {'id': 27444,
   </strong>   'material_name': 'Aerated concrete P2 04 non-reinforced',
      'data_source': 'OKOBAUDAT (English) - 2024',
      'generic_api_url': ''},
   </code></pre>

### Output Fields

Each object in the `results` array contains the following fields:

| Field                                             | Type               | Description                                                         |
| ------------------------------------------------- | ------------------ | ------------------------------------------------------------------- |
| **id**                                            | integer            | Unique identifier of the material.                                  |
| **source\_uuid**                                  | string             | Unique identifier of the data source (e.g., `PR_01_23_4_50_1_1_1`). |
| **material\_name**                                | string             | Name of the material.                                               |
| **group\_elements\_nrm\_1**                       | array of strings   | List of group elements according to NRM 1 standards.                |
| **elements\_nrm\_1**                              | array of strings   | List of elements according to NRM 1 standards.                      |
| **product\_type**                                 | string             | Product type.                                                       |
| **product\_type\_family**                         | string             | Product type family classifications.                                |
| **uniclass\_systems**                             | array of strings   | UniClass systems classification codes.                              |
| **uniclass\_products**                            | array of strings   | UniClass products classification codes.                             |
| **uniclass\_materials**                           | array of strings   | UniClass materials classification codes.                            |
| **material\_type**                                | string             | Material type.                                                      |
| **material\_type\_family**                        | string             | Material type family.                                               |
| **data\_source**                                  | string             | Data source name.                                                   |
| **data\_source\_url**                             | string             | URL to the data source (e.g., certificate or database link).        |
| **functional\_unit\_quantity**                    | string             | Functional unit quantity value.                                     |
| **functional\_unit\_unit**                        | string             | Unit of the functional unit (e.g., `m3`, `piece`, `kg`).            |
| **total\_co2e\_kg\_mf**                           | number             | Total CO₂ equivalent (kg) at manufacturing stage.                   |
| **total\_biogenic\_co2e**                         | number             | Total biogenic CO₂ equivalent (kg).                                 |
| **carbon\_a1a3**                                  | number             | Carbon emissions for stages A1–A3 (kg CO₂e).                        |
| **carbon\_a5**                                    | number             | Carbon emissions for stage A5 (kg CO₂e).                            |
| **carbon\_b1b5**                                  | number             | Carbon emissions for stages B1–B5 (kg CO₂e).                        |
| **carbon\_c1c4**                                  | number             | Carbon emissions for stages C1–C4 (kg CO₂e).                        |
| **freshwater\_use\_a1a3**                         | number             | Freshwater use in stages A1–A3.                                     |
| **recycled\_content**                             | number             | Percentage of recycled content.                                     |
| **recyclable\_content**                           | number             | Percentage of recyclable content.                                   |
| **reuse\_potential**                              | number             | Percentage potential for reuse.                                     |
| **energy\_recovery\_possibility**                 | number             | Percentage possibility of energy recovery.                          |
| **odp**                                           | string             | Ozone depletion potential.                                          |
| **density**                                       | number             | Density of the material.                                            |
| **density\_estimated**                            | boolean            | Whether density is estimated.                                       |
| **grammage**                                      | number             | Grammage of the material.                                           |
| **grammage\_estimated**                           | boolean            | Whether grammage is estimated.                                      |
| **linear\_density**                               | number             | Linear density \[kg/m].                                             |
| **linear\_density\_estimated**                    | boolean            | Whether linear density is estimated.                                |
| **mass\_per\_piece**                              | number             | Mass per piece \[kg].                                               |
| **mass\_per\_piece\_estimated**                   | boolean            | Whether mass per piece is estimated.                                |
| **thickness**                                     | number             | Thickness of the material (m).                                      |
| **thickness\_estimated**                          | boolean            | Whether thickness is estimated.                                     |
| **cross\_sectional\_area**                        | number             | Cross-sectional area \[m²].                                         |
| **cross\_sectional\_area\_estimated**             | boolean            | Whether cross-sectional area is estimated.                          |
| **mass\_per\_declared\_unit**                     | number             | Mass per declared unit \[kg].                                       |
| **mass\_per\_declared\_unit\_estimated**          | boolean            | Whether mass per declared unit is estimated.                        |
| **grey\_energy\_total**                           | number             | Total grey energy \[kWh oil-eq].                                    |
| **grey\_energy\_fabrication\_total**              | number             | Grey energy from fabrication \[kWh oil-eq].                         |
| **grey\_energy\_recovery\_fabrication**           | number             | Grey energy recovery from fabrication \[kWh oil-eq].                |
| **grey\_energy\_material\_recovery\_fabrication** | number             | Grey energy from material recovery in fabrication \[kWh oil-eq].    |
| **grey\_energy\_elimination**                     | number             | Grey energy from elimination \[kWh oil-eq].                         |
| **created**                                       | string (date-time) | Date and time when the material record was created.                 |
| **updated**                                       | string (date-time) | Date and time when the material record was last updated.            |

***

### Pagination Fields

In addition to `results`, the API response includes pagination metadata:

| Field                    | Type              | Description                                                       |
| ------------------------ | ----------------- | ----------------------------------------------------------------- |
| **TotalMaterials**       | integer           | Total number of materials matching the query.                     |
| **countMaterialsOnPage** | integer           | Number of materials in the current page of results.               |
| **current\_page**        | integer           | Current page number.                                              |
| **material\_range**      | array of integers | Range of material indices on the current page (e.g., `[1, 200]`). |
| **next**                 | string or null    | URL of the next page, or `null` if there is no next page.         |
| **previous**             | string or null    | URL of the previous page, or `null` if there is no previous page. |

#### Additional Information

* The API uses JWT authentication and requires the user to be authenticated.
* The endpoint supports pagination
* Different user roles and permissions are handled, with specific access and rate limits.
* Various response statuses are managed, including "200 OK" for successful requests, "401 Unauthorized" for access issues, and "429 Too Many Requests" for rate limit exceeding.

This endpoint provides a detailed overview of generic materials, including environmental impacts and technical specifications, which is vital for users focused on sustainability and environmental impact in the construction and building materials industry.
