Skip to content

Substances

AlbertSession

AlbertSession(
    *,
    base_url: str,
    token: str | None = None,
    client_credentials: ClientCredentials | None = None,
    retries: int | None = None,
)

Bases: Session

A session that has a base URL, which is prefixed to all request URLs.

Parameters:

Name Type Description Default
base_url str

The base URL to prefix to all requests. (e.g., "https://sandbox.albertinvent.com")

required
retries int

The number of retries for failed requests. Defaults to 3.

None
client_credentials ClientCredentials | None

The client credentials for programmatic authentication. Optional if token is provided.

None
token str | None

The JWT token for authentication. Optional if client credentials are provided.

None

Methods:

Name Description
request
Source code in src/albert/session.py
def __init__(
    self,
    *,
    base_url: str,
    token: str | None = None,
    client_credentials: ClientCredentials | None = None,
    retries: int | None = None,
):
    super().__init__()
    self.base_url = base_url
    self.headers.update(
        {
            "Content-Type": "application/json",
            "Accept": "application/json",
            "User-Agent": f"albert-SDK V.{albert.__version__}",
        }
    )

    if token is None and client_credentials is None:
        raise ValueError("Either client credentials or token must be specified.")

    self._provided_token = token
    self._token_manager = (
        TokenManager(base_url, client_credentials) if client_credentials is not None else None
    )

    # Set up retry logic
    retries = retries if retries is not None else 3
    retry = Retry(
        total=retries,
        read=retries,
        connect=retries,
        backoff_factor=0.3,
        status_forcelist=(500, 502, 503, 504, 403),
        raise_on_status=False,
    )
    adapter = HTTPAdapter(max_retries=retry)
    self.mount("http://", adapter)
    self.mount("https://", adapter)

base_url instance-attribute

base_url = base_url

request

request(
    method: str, path: str, *args, **kwargs
) -> Response
Source code in src/albert/session.py
def request(self, method: str, path: str, *args, **kwargs) -> requests.Response:
    self.headers["Authorization"] = f"Bearer {self._access_token}"
    full_url = urljoin(self.base_url, path) if not path.startswith("http") else path
    with handle_http_errors():
        response = super().request(method, full_url, *args, **kwargs)
        response.raise_for_status()
        return response

BaseCollection

BaseCollection(*, session: AlbertSession)

BaseCollection is the base class for all collection classes.

Parameters:

Name Type Description Default
session AlbertSession

The Albert API Session instance.

required
Source code in src/albert/collections/base.py
def __init__(self, *, session: AlbertSession):
    self.session = session

session instance-attribute

session = session

SubstanceCollection

SubstanceCollection(*, session: AlbertSession)

Bases: BaseCollection

SubstanceCollection is a collection class for managing Substance entities in the Albert platform.

Parameters:

Name Type Description Default
session AlbertSession

An instance of the Albert session used for API interactions.

required

Attributes:

Name Type Description
base_path str

The base URL for making API requests related to substances.

Methods:

Name Description
get_by_ids

Retrieves a list of substances by their CAS IDs and optional region.

get_by_id

Retrieves a single substance by its CAS ID and optional region.

Source code in src/albert/collections/substance.py
def __init__(self, *, session: AlbertSession):
    super().__init__(session=session)
    self.base_path = f"/api/{SubstanceCollection._api_version}/substances"

base_path instance-attribute

base_path = f'/api/{_api_version}/substances'

get_by_id

get_by_id(
    *, cas_id: str, region: str = "US"
) -> SubstanceInfo

Get a substance by its CAS ID.

Parameters:

Name Type Description Default
cas_id str

The CAS ID of the substance to retrieve.

required

Returns:

Type Description
SubstanceInfo

The retrieved substance or raises an error if not found.

Source code in src/albert/collections/substance.py
def get_by_id(self, *, cas_id: str, region: str = "US") -> SubstanceInfo:
    """
    Get a substance by its CAS ID.

    Parameters
    ----------
    cas_id : str
        The CAS ID of the substance to retrieve.

    Returns
    -------
    SubstanceInfo
        The retrieved substance or raises an error if not found.
    """
    return self.get_by_ids(cas_ids=[cas_id], region=region)[0]

get_by_ids

get_by_ids(
    *, cas_ids: list[str], region: str = "US"
) -> list[SubstanceInfo]

Get substances by their CAS IDs.

Parameters:

Name Type Description Default
cas_ids list[str]

A list of CAS IDs to retrieve substances for.

required
region str

The region to filter the subastance by, by default "US"

'US'

Returns:

Type Description
list[SubstanceInfo]

A list of substances with the given CAS IDs.

Source code in src/albert/collections/substance.py
def get_by_ids(self, *, cas_ids: list[str], region: str = "US") -> list[SubstanceInfo]:
    """Get substances by their CAS IDs.

    Parameters
    ----------
    cas_ids : list[str]
        A list of CAS IDs to retrieve substances for.
    region : str, optional
        The region to filter the subastance by, by default "US"

    Returns
    -------
    list[SubstanceInfo]
        A list of substances with the given CAS IDs.
    """
    url = f"{self.base_path}"
    response = self.session.get(url, params={"casIDs": ",".join(cas_ids), "region": region})
    return SubstanceResponse.model_validate(response.json()).substances

SubstanceInfo

Bases: BaseAlbertModel

SubstanceInfo is a Pydantic model representing information about a chemical substance.

Attributes:

Name Type Description
acute_dermal_tox_info list[ToxicityInfo] | None

Information about acute dermal toxicity.

acute_inhalation_tox_info list[ToxicityInfo] | None

Information about acute inhalation toxicity.

acute_oral_tox_info list[ToxicityInfo] | None

Information about acute oral toxicity.

acute_tox_info list[ToxicityInfo] | None

General acute toxicity information.

bio_accumulative_info list[BioAccumulativeInfo] | None

Information about bioaccumulation.

boiling_point_info list[BoilingPointInfo] | None

Information about boiling points.

cas_id str

The CAS ID of the substance.

classification str | None

The classification of the substance.

classification_type str

The type of classification.

degradability_info list[DegradabilityInfo] | None

Information about degradability.

dnel_info list[DNELInfo] | None

Information about the Derived No Effect Level (DNEL).

ec_list_no str

The EC list number.

exposure_controls_acgih list[ExposureControl] | None

ACGIH exposure controls.

hazards list[Hazard] | None

List of hazards associated with the substance.

iarc_carcinogen str | None

IARC carcinogen classification.

ntp_carcinogen str | None

NTP carcinogen classification.

osha_carcinogen bool | None

OSHA carcinogen classification.

health_effects str | None

Information about health effects.

name list[SubstanceName] | None

Names of the substance.

page_number int | None

Page number for reference.

aicis_notified bool | None

Indicates if AICIS has been notified.

approved_legal_entities Any | None

Approved legal entities for the substance.

aspiration_tox_info list[Any] | None

Information about aspiration toxicity.

basel_conv_list bool | None

Indicates if the substance is on the Basel Convention list.

bei_info list[Any] | None

Information related to BEI.

caa_cfr40 bool | None

Indicates compliance with CAA CFR 40.

caa_hpa bool | None

Indicates compliance with CAA HPA.

canada_inventory_status str | None

Status in the Canadian inventory.

carcinogen_info list[Any] | None

Information about carcinogenicity.

chemical_category list[str] | None

Categories of the chemical.

dermal_acute_toxicity float | None

Acute dermal toxicity value.

inhalation_acute_toxicity float | None

Acute inhalation toxicity value.

oral_acute_toxicity float | None

Acute oral toxicity value.

lethal_dose_and_concentrations list[LethalDoseConcentration] | None

Information about lethal doses and concentrations.

m_factor int | None

M factor for acute toxicity.

m_factor_chronic int | None

M factor for chronic toxicity.

molecular_weight list[MolecularWeight] | None

Molecular weight information.

rsl RSL | None

Risk-based screening level.

specific_conc_eu list[SpecificConcentration] | None

Specific concentration information for the EU.

specific_conc_source str | None

Source of specific concentration information.

sustainability_status_lbc str | None

Sustainability status under LBC.

tsca_8b bool | None

Indicates compliance with TSCA 8(b).

cdsa_list bool | None

Indicates if the substance is on the CDSA list.

cn_csdc_regulations bool | None

Compliance with CN CSDC regulations.

cn_pcod_list bool | None

Indicates if the substance is on the CN PCOD list.

cn_priority_list bool | None

Indicates if the substance is on the CN priority list.

ec_notified str | None

Notification status in the EC.

eu_annex_14_substances_list bool | None

Indicates if the substance is on the EU Annex 14 list.

eu_annex_17_restrictions_list bool | None

Indicates if the substance is on the EU Annex 17 restrictions list.

eu_annex_17_substances_list bool | None

Indicates if the substance is on the EU Annex 17 substances list.

eu_candidate_list bool | None

Indicates if the substance is on the EU candidate list.

eu_dang_chem_annex_1_part_1_list bool | None

Indicates if the substance is on the EU dangerous chemicals Annex 1 Part 1 list.

eu_dang_chem_annex_1_part_2_list bool | None

Indicates if the substance is on the EU dangerous chemicals Annex 1 Part 2 list.

eu_dang_chem_annex_1_part_3_list bool | None

Indicates if the substance is on the EU dangerous chemicals Annex 1 Part 3 list.

eu_dang_chem_annex_5_list bool | None

Indicates if the substance is on the EU dangerous chemicals Annex 5 list.

eu_directive_ec_list bool | None

Indicates if the substance is on the EU directive EC list.

eu_explosive_precursors_annex_1_list bool | None

Indicates if the substance is on the EU explosive precursors Annex 1 list.

eu_explosive_precursors_annex_2_list bool | None

Indicates if the substance is on the EU explosive precursors Annex 2 list.

eu_ozone_depletion_list bool | None

Indicates if the substance is on the EU ozone depletion list.

eu_pollutant_annex_2_list bool | None

Indicates if the substance is on the EU pollutant Annex 2 list.

eu_pop_list bool | None

Indicates if the substance is on the EU POP list.

export_control_list_phrases bool | None

Indicates if the substance is on the export control list.

green_gas_list bool | None

Indicates if the substance is on the green gas list.

iecsc_notified bool | None

Indicates if the substance is IECSc notified.

index_no str | None

Index number for the substance.

jpencs_notified bool | None

Indicates if the substance is JPENCS notified.

jpishl_notified bool | None

Indicates if the substance is JPISHL notified.

koecl_notified bool | None

Indicates if the substance is KOECL notified.

kyoto_protocol bool | None

Indicates compliance with the Kyoto Protocol.

massachusetts_rtk bool | None

Indicates if the substance is on the Massachusetts RTK list.

montreal_protocol bool | None

Indicates compliance with the Montreal Protocol.

new_jersey_rtk bool | None

Indicates if the substance is on the New Jersey RTK list.

new_york_rtk bool | None

Indicates if the substance is on the New York RTK list.

nzioc_notified bool | None

Indicates if the substance is NZIOC notified.

pcr_regulated bool | None

Indicates if the substance is PCR regulated.

pennsylvania_rtk bool | None

Indicates if the substance is on the Pennsylvania RTK list.

peroxide_function_groups int | None

Number of peroxide function groups.

piccs_notified bool | None

Indicates if the substance is PICCS notified.

rhode_island_rtk bool | None

Indicates if the substance is on the Rhode Island RTK list.

rotterdam_conv_list bool | None

Indicates if the substance is on the Rotterdam Convention list.

sdwa bool | None

Indicates compliance with the SDWA.

source str | None

Source of the substance information.

specific_concentration_limit str | None

Specific concentration limit for the substance.

stockholm_conv_list bool | None

Indicates if the substance is on the Stockholm Convention list.

stot_affected_organs str | None

Organs affected by STOT.

stot_route_of_exposure str | None

Route of exposure for STOT.

tcsi_notified bool | None

Indicates if the substance is TCSI notified.

trade_secret str | None

Information about trade secrets.

tw_ghs_clas_list bool | None

Indicates if the substance is on the TW GHS classification list.

tw_handle_priority_chem bool | None

Indicates if the substance is a priority chemical.

tw_handle_toxic_chem bool | None

Indicates if the substance is a toxic chemical.

tw_ind_waste_standards bool | None

Indicates compliance with TW industrial waste standards.

vinic_notified bool | None

Indicates if the substance is VINIC notified.

exposure_controls_osha list[ExposureControl] | None

OSHA exposure controls.

exposure_controls_aiha list[ExposureControl] | None

AIHA exposure controls.

exposure_controls_niosh list[ExposureControl] | None

NIOSH exposure controls.

snur bool | dict | None

Significant new use rule information.

tsca_12b_concentration_limit float | None

TSCA 12(b) concentration limit.

cercla_rq float | None

CERCLA reportable quantity.

california_prop_65 list[str] | None

Information related to California Prop 65.

sara_302 bool | None

Indicates compliance with SARA 302.

sara_313_concentration_limit float | None

SARA 313 concentration limit.

cfr_marine_pollutant dict | None

Information about marine pollutants under CFR.

cfr_reportable_quantity dict | None

Information about reportable quantities under CFR.

rohs_concentration float | None

ROHS concentration limit.

skin_corrosion_info list[SkinCorrosionInfo] | None

Information about skin corrosion.

serious_eye_damage_info list[SeriousEyeDamageInfo] | None

Information about serious eye damage.

respiratory_skin_sens_info list[RespiratorySkinSensInfo] | None

Information about respiratory skin sensitization.

is_known bool

Indicates if the substance is known (i.e. has known regulatory or hazard information in the database) (note this is an alias for the isCas field which behaves in a non intuitive way in the API so we have opted to use is_known for usability instead)

acute_dermal_tox_info class-attribute instance-attribute

acute_dermal_tox_info: list[ToxicityInfo] | None = Field(
    None, alias="acuteDermalToxInfo"
)

acute_inhalation_tox_info class-attribute instance-attribute

acute_inhalation_tox_info: list[ToxicityInfo] | None = (
    Field(None, alias="acuteInhalationToxInfo")
)

acute_oral_tox_info class-attribute instance-attribute

acute_oral_tox_info: list[ToxicityInfo] | None = Field(
    None, alias="acuteOralToxInfo"
)

acute_tox_info class-attribute instance-attribute

acute_tox_info: list[ToxicityInfo] | None = Field(
    None, alias="acuteToxInfo"
)

aicis_notified class-attribute instance-attribute

aicis_notified: bool | None = Field(
    None, alias="aicisNotified"
)
approved_legal_entities: Any | None = Field(
    None, alias="approvedLegalEntities"
)

aspiration_tox_info class-attribute instance-attribute

aspiration_tox_info: list[Any] | None = Field(
    None, alias="aspirationToxInfo"
)

basel_conv_list class-attribute instance-attribute

basel_conv_list: bool | None = Field(
    None, alias="baselConvList"
)

bei_info class-attribute instance-attribute

bei_info: list[Any] | None = Field(None, alias='beiInfo')

bio_accumulative_info class-attribute instance-attribute

bio_accumulative_info: list[BioAccumulativeInfo] | None = (
    Field(None, alias="bioAccumulativeInfo")
)

boilingpoint_info class-attribute instance-attribute

boilingpoint_info: list[BoilingPointInfo] | None = Field(
    None, alias="boilingpointInfo"
)

caa_cfr_40 class-attribute instance-attribute

caa_cfr_40: bool | None = Field(None, alias='caaCFR40')

caa_hpa class-attribute instance-attribute

caa_hpa: bool | None = Field(None, alias='caaHPA')

california_prop_65 class-attribute instance-attribute

california_prop_65: list[str] | None = Field(
    None, alias="californiaProp65"
)

canada_inventory_status class-attribute instance-attribute

canada_inventory_status: str | None = Field(
    None, alias="canadaInventoryStatus"
)

carcinogen_info class-attribute instance-attribute

carcinogen_info: list[Any] | None = Field(
    None, alias="carcinogenInfo"
)

cas_id class-attribute instance-attribute

cas_id: str = Field(..., alias='casID')

cdsa_list class-attribute instance-attribute

cdsa_list: bool | None = Field(None, alias='cdsaList')

cercla_rq class-attribute instance-attribute

cercla_rq: float | None = Field(None, alias='cerclaRQ')

cfr_marine_pollutant class-attribute instance-attribute

cfr_marine_pollutant: dict | None = Field(
    None, alias="CFRmarinePollutant"
)

cfr_reportable_quantity class-attribute instance-attribute

cfr_reportable_quantity: dict | None = Field(
    None, alias="CFRreportableQuantity"
)

chemical_category class-attribute instance-attribute

chemical_category: list[str] | None = Field(
    None, alias="chemicalCategory"
)

classification class-attribute instance-attribute

classification: str | None = None

classification_type class-attribute instance-attribute

classification_type: str | None = Field(
    default=None, alias="classificationType"
)

cn_csd_c_regulations class-attribute instance-attribute

cn_csd_c_regulations: bool | None = Field(
    None, alias="cnCSDCRegulations"
)

cn_pcod_list class-attribute instance-attribute

cn_pcod_list: bool | None = Field(None, alias='cnPCODList')

cn_priority_list class-attribute instance-attribute

cn_priority_list: bool | None = Field(
    None, alias="cnPriorityList"
)

degradability_info class-attribute instance-attribute

degradability_info: list[DegradabilityInfo] | None = Field(
    None, alias="degradabilityInfo"
)

dermal_acute_toxicity class-attribute instance-attribute

dermal_acute_toxicity: float | None = Field(
    None, alias="dermalAcuteToxicity"
)

dnel_info class-attribute instance-attribute

dnel_info: list[DNELInfo] | None = Field(
    None, alias="dnelInfo"
)

ec_list_no class-attribute instance-attribute

ec_list_no: str | None = Field(
    default=None, alias="ecListNo"
)

ec_notified class-attribute instance-attribute

ec_notified: str | None = Field(None, alias='ecNotified')

eu_annex_14_substances_list class-attribute instance-attribute

eu_annex_14_substances_list: bool | None = Field(
    None, alias="euAnnex14SubstancesList"
)

eu_annex_17_restrictions_list class-attribute instance-attribute

eu_annex_17_restrictions_list: bool | None = Field(
    None, alias="euAnnex17RestrictionsList"
)

eu_annex_17_substances_list class-attribute instance-attribute

eu_annex_17_substances_list: bool | None = Field(
    None, alias="euAnnex17SubstancesList"
)

eu_candidate_list class-attribute instance-attribute

eu_candidate_list: bool | None = Field(
    None, alias="euCandidateList"
)

eu_dang_chem_annex_1_part_1_list class-attribute instance-attribute

eu_dang_chem_annex_1_part_1_list: bool | None = Field(
    None, alias="euDangChemAnnex1Part1List"
)

eu_dang_chem_annex_1_part_2_list class-attribute instance-attribute

eu_dang_chem_annex_1_part_2_list: bool | None = Field(
    None, alias="euDangChemAnnex1Part2List"
)

eu_dang_chem_annex_1_part_3_list class-attribute instance-attribute

eu_dang_chem_annex_1_part_3_list: bool | None = Field(
    None, alias="euDangChemAnnex1Part3List"
)

eu_dang_chem_annex_5_list class-attribute instance-attribute

eu_dang_chem_annex_5_list: bool | None = Field(
    None, alias="euDangChemAnnex5List"
)

eu_directive_ec_list class-attribute instance-attribute

eu_directive_ec_list: bool | None = Field(
    None, alias="euDirectiveEcList"
)

eu_explosive_precursors_annex_1_list class-attribute instance-attribute

eu_explosive_precursors_annex_1_list: bool | None = Field(
    None, alias="euExplosivePrecursorsAnnex1List"
)

eu_explosive_precursors_annex_2_list class-attribute instance-attribute

eu_explosive_precursors_annex_2_list: bool | None = Field(
    None, alias="euExplosivePrecursorsAnnex2List"
)

eu_ozone_depletion_list class-attribute instance-attribute

eu_ozone_depletion_list: bool | None = Field(
    None, alias="euOzoneDepletionList"
)

eu_pollutant_annex_2_list class-attribute instance-attribute

eu_pollutant_annex_2_list: bool | None = Field(
    None, alias="euPollutantAnnex2List"
)

eu_pop_list class-attribute instance-attribute

eu_pop_list: bool | None = Field(None, alias='euPopList')

export_control_list_phrases class-attribute instance-attribute

export_control_list_phrases: bool | None = Field(
    None, alias="exportControlListPhrases"
)

exposure_controls_acgih class-attribute instance-attribute

exposure_controls_acgih: list[ExposureControl] | None = (
    Field(None, alias="exposureControlsACGIH")
)

exposure_controls_aiha class-attribute instance-attribute

exposure_controls_aiha: list[ExposureControl] | None = (
    Field(None, alias="exposureControlsAIHA")
)

exposure_controls_niosh class-attribute instance-attribute

exposure_controls_niosh: list[ExposureControl] | None = (
    Field(None, alias="exposureControlsNIOSH")
)

exposure_controls_osha class-attribute instance-attribute

exposure_controls_osha: list[ExposureControl] | None = (
    Field(None, alias="exposureControlsOSHA")
)

green_gas_list class-attribute instance-attribute

green_gas_list: bool | None = Field(
    None, alias="greenGasList"
)

hazards class-attribute instance-attribute

hazards: list[Hazard] | None = None

health_effects class-attribute instance-attribute

health_effects: str | None = Field(
    None, alias="healthEffects"
)

iarc_carcinogen class-attribute instance-attribute

iarc_carcinogen: str | None = Field(
    None, alias="iarcCarcinogen"
)

iecsc_notified class-attribute instance-attribute

iecsc_notified: bool | None = Field(
    None, alias="iecscNotified"
)

index_no class-attribute instance-attribute

index_no: str | None = Field(None, alias='indexNo')

inhalation_acute_toxicity class-attribute instance-attribute

inhalation_acute_toxicity: float | None = Field(
    None, alias="inhalationAcuteToxicity"
)

is_known class-attribute instance-attribute

is_known: bool = Field(default=True, alias='isCas')

jpencs_notified class-attribute instance-attribute

jpencs_notified: bool | None = Field(
    None, alias="jpencsNotified"
)

jpishl_notified class-attribute instance-attribute

jpishl_notified: bool | None = Field(
    None, alias="jpishlNotified"
)

koecl_notified class-attribute instance-attribute

koecl_notified: bool | None = Field(
    None, alias="koeclNotified"
)

kyoto_protocol class-attribute instance-attribute

kyoto_protocol: bool | None = Field(
    None, alias="kyotoProtocol"
)

lethal_dose_and_concentrations class-attribute instance-attribute

lethal_dose_and_concentrations: (
    list[LethalDoseConcentration] | None
) = Field(None, alias="lethalDoseAndConcentrations")

m_factor class-attribute instance-attribute

m_factor: int | None = Field(None, alias='mFactor')

m_factor_chronic class-attribute instance-attribute

m_factor_chronic: int | None = Field(
    None, alias="mFactorChronic"
)

massachusetts_rtk class-attribute instance-attribute

massachusetts_rtk: bool | None = Field(
    None, alias="massachusettsRTK"
)

molecular_weight class-attribute instance-attribute

molecular_weight: list[MolecularWeight] | None = Field(
    None, alias="molecularWeight"
)

montreal_protocol class-attribute instance-attribute

montreal_protocol: bool | None = Field(
    None, alias="montrealProtocol"
)

name class-attribute instance-attribute

name: list[SubstanceName] | None = None

new_jersey_rtk class-attribute instance-attribute

new_jersey_rtk: bool | None = Field(
    None, alias="newJerseyRTK"
)

new_york_rtk class-attribute instance-attribute

new_york_rtk: bool | None = Field(None, alias='newYorkRTK')

ntp_carcinogen class-attribute instance-attribute

ntp_carcinogen: str | None = Field(
    None, alias="ntpCarcinogen"
)

nzioc_notified class-attribute instance-attribute

nzioc_notified: bool | None = Field(
    None, alias="nziocNotified"
)

oral_acute_toxicity class-attribute instance-attribute

oral_acute_toxicity: float | None = Field(
    None, alias="oralAcuteToxicity"
)

osha_carcinogen class-attribute instance-attribute

osha_carcinogen: bool | None = Field(
    None, alias="oshaCarcinogen"
)

page_number class-attribute instance-attribute

page_number: int | None = Field(None, alias='pageNumber')

pcr_regulated class-attribute instance-attribute

pcr_regulated: bool | None = Field(
    None, alias="pcrRegulated"
)

pennsylvania_rtk class-attribute instance-attribute

pennsylvania_rtk: bool | None = Field(
    None, alias="pennsylvaniaRTK"
)

peroxide_function_groups class-attribute instance-attribute

peroxide_function_groups: int | None = Field(
    None, alias="peroxideFunctionGroups"
)

piccs_notified class-attribute instance-attribute

piccs_notified: bool | None = Field(
    None, alias="piccsNotified"
)

respiratory_skin_sens_info class-attribute instance-attribute

respiratory_skin_sens_info: (
    list[RespiratorySkinSensInfo] | None
) = Field(None, alias="respiratorySkinSensInfo")

rhode_island_rtk class-attribute instance-attribute

rhode_island_rtk: bool | None = Field(
    None, alias="rhodeIslandRTK"
)

rohs_concentration class-attribute instance-attribute

rohs_concentration: float | None = Field(
    None, alias="rohsConcentration"
)

rotterdam_conv_list class-attribute instance-attribute

rotterdam_conv_list: bool | None = Field(
    None, alias="rotterdamConvList"
)

rsl class-attribute instance-attribute

rsl: RSL | None = Field(None, alias='rsl')

sara_302 class-attribute instance-attribute

sara_302: bool | None = Field(None, alias='sara302')

sara_313_concentration_limit class-attribute instance-attribute

sara_313_concentration_limit: float | None = Field(
    None, alias="sara313ConcentrationLimit"
)

sdwa class-attribute instance-attribute

sdwa: bool | None = Field(None, alias='sdwa')

serious_eye_damage_info class-attribute instance-attribute

serious_eye_damage_info: (
    list[SeriousEyeDamageInfo] | None
) = Field(None, alias="seriousEyeDamageInfo")

skin_corrosion_info class-attribute instance-attribute

skin_corrosion_info: list[SkinCorrosionInfo] | None = Field(
    None, alias="skinCorrosionInfo"
)

snur class-attribute instance-attribute

snur: bool | dict | None = None

source class-attribute instance-attribute

source: str | None = Field(None, alias='source')

specific_conc_eu class-attribute instance-attribute

specific_conc_eu: list[SpecificConcentration] | None = (
    Field(None, alias="specificConcEU")
)

specific_conc_source class-attribute instance-attribute

specific_conc_source: str | None = Field(
    None, alias="specificConcSource"
)

specific_concentration_limit class-attribute instance-attribute

specific_concentration_limit: str | None = Field(
    None, alias="specificConcentrationLimit"
)

stockholm_conv_list class-attribute instance-attribute

stockholm_conv_list: bool | None = Field(
    None, alias="stockholmConvList"
)

stot_affected_organs class-attribute instance-attribute

stot_affected_organs: str | None = Field(
    None, alias="stotAffectedOrgans"
)

stot_route_of_exposure class-attribute instance-attribute

stot_route_of_exposure: str | None = Field(
    None, alias="stotRouteOfExposure"
)

sustainability_status_lbc class-attribute instance-attribute

sustainability_status_lbc: str | None = Field(
    None, alias="sustainabilityStatusLBC"
)

tcsi_notified class-attribute instance-attribute

tcsi_notified: bool | None = Field(
    None, alias="tcsiNotified"
)

trade_secret class-attribute instance-attribute

trade_secret: bool | None = Field(None, alias="tradeSecret")

tsca_12b_concentration_limit class-attribute instance-attribute

tsca_12b_concentration_limit: float | None = Field(
    None, alias="tsca12BConcentrationLimit"
)

tsca_8b class-attribute instance-attribute

tsca_8b: bool | None = Field(None, alias='tsca8B')

tw_ghs_clas_list class-attribute instance-attribute

tw_ghs_clas_list: bool | None = Field(
    None, alias="twGHSClasList"
)

tw_handle_priority_chem class-attribute instance-attribute

tw_handle_priority_chem: bool | None = Field(
    None, alias="twHandlePriorityChem"
)

tw_handle_toxic_chem class-attribute instance-attribute

tw_handle_toxic_chem: bool | None = Field(
    None, alias="twHandleToxicChem"
)

tw_ind_waste_standards class-attribute instance-attribute

tw_ind_waste_standards: bool | None = Field(
    None, alias="twIndWasteStandards"
)

type class-attribute instance-attribute

type: Literal['Substance'] = 'Substance'

vinic_notified class-attribute instance-attribute

vinic_notified: bool | None = Field(
    None, alias="vinicNotified"
)

SubstanceResponse

Bases: BaseAlbertModel

SubstanceResponse is a Pydantic model representing the response containing substance information.

Attributes:

Name Type Description
substances list[Substance]

A list of substances.

substance_errors list[Any] | None

A list of errors related to substances, if any.

substance_errors class-attribute instance-attribute

substance_errors: list[dict[str, Any]] | None = Field(
    None, alias="substanceErrors"
)

substances instance-attribute

substances: list[SubstanceInfo]