responses¶
EntryInfoResponse (Success)
pydantic-model
¶
Source code in optimade/models/responses.py
class EntryInfoResponse(Success):
data: EntryInfoResource = StrictField(
..., description="OPTIMADE information for an entry endpoint."
)
EntryResponseMany (Success)
pydantic-model
¶
Source code in optimade/models/responses.py
class EntryResponseMany(Success):
data: Union[list[EntryResource], list[dict[str, Any]]] = Field( # type: ignore[assignment]
..., uniqueItems=True
)
included: Optional[Union[list[EntryResource], list[dict[str, Any]]]] = Field( # type: ignore[assignment]
None, uniqueItems=True
)
EntryResponseOne (Success)
pydantic-model
¶
Source code in optimade/models/responses.py
class EntryResponseOne(Success):
data: Union[EntryResource, dict[str, Any], None] = Field(...) # type: ignore[assignment]
included: Optional[Union[list[EntryResource], list[dict[str, Any]]]] = Field( # type: ignore[assignment]
None, uniqueItems=True
)
ErrorResponse (Response)
pydantic-model
¶
errors MUST be present and data MUST be skipped
Source code in optimade/models/responses.py
class ErrorResponse(Response):
"""errors MUST be present and data MUST be skipped"""
meta: ResponseMeta = StrictField(
..., description="A meta object containing non-standard information."
)
errors: list[OptimadeError] = StrictField(
...,
description="A list of OPTIMADE-specific JSON API error objects, where the field detail MUST be present.",
uniqueItems=True,
)
@root_validator(pre=True)
def data_must_be_skipped(cls, values):
if "data" in values:
raise ValueError("data MUST be skipped for failures reporting errors.")
return values
data_must_be_skipped(values)
classmethod
¶
Source code in optimade/models/responses.py
@root_validator(pre=True)
def data_must_be_skipped(cls, values):
if "data" in values:
raise ValueError("data MUST be skipped for failures reporting errors.")
return values
IndexInfoResponse (Success)
pydantic-model
¶
Source code in optimade/models/responses.py
class IndexInfoResponse(Success):
data: IndexInfoResource = StrictField(
..., description="Index meta-database /info data."
)
InfoResponse (Success)
pydantic-model
¶
Source code in optimade/models/responses.py
class InfoResponse(Success):
data: BaseInfoResource = StrictField(
..., description="The implementations /info data."
)
LinksResponse (EntryResponseMany)
pydantic-model
¶
Source code in optimade/models/responses.py
class LinksResponse(EntryResponseMany):
data: Union[list[LinksResource], list[dict[str, Any]]] = StrictField(
...,
description="List of unique OPTIMADE links resource objects.",
uniqueItems=True,
)
ReferenceResponseMany (EntryResponseMany)
pydantic-model
¶
Source code in optimade/models/responses.py
class ReferenceResponseMany(EntryResponseMany):
data: Union[list[ReferenceResource], list[dict[str, Any]]] = StrictField(
...,
description="List of unique OPTIMADE references entry resource objects.",
uniqueItems=True,
)
ReferenceResponseOne (EntryResponseOne)
pydantic-model
¶
Source code in optimade/models/responses.py
class ReferenceResponseOne(EntryResponseOne):
data: Union[ReferenceResource, dict[str, Any], None] = StrictField(
..., description="A single references entry resource."
)
StructureResponseMany (EntryResponseMany)
pydantic-model
¶
Source code in optimade/models/responses.py
class StructureResponseMany(EntryResponseMany):
data: Union[list[StructureResource], list[dict[str, Any]]] = StrictField(
...,
description="List of unique OPTIMADE structures entry resource objects.",
uniqueItems=True,
)
StructureResponseOne (EntryResponseOne)
pydantic-model
¶
Source code in optimade/models/responses.py
class StructureResponseOne(EntryResponseOne):
data: Union[StructureResource, dict[str, Any], None] = StrictField(
..., description="A single structures entry resource."
)