openapi: 3.1.0 info: title: Materials Project Defect Tasks Materials Electronic Structure API description: "\nThe Materials Project API allows anyone to have direct access to current, up-to-date information from the Materials Project database in a structured way.\n\nThis allows for analysis, development of automated tools, machine learning, downloading personal copies of the Materials Project database and more on a large scale.\n\nThe API is offered with the hopes of making Materials Project data more useful to you. We want you to use our data! As such, the API is offered free-of-charge and we support several tools to help you get started.\n\n## API Key\nTo make any request to the Materials Project API, you must use an API key. Your API key is generated for you automatically upon registering with the Materials Project website and is synced with the email you used to register.\n\nRemember to keep your API key safe and to not share it with anyone you do not trust.\n\nIf you are logged in, you can always access your API key from this page or from your [dashboard](https://next-gen.materialsproject.org/dashboard).\n\nIf you intend heavy API usage, you can give us a heads up by sending a message to . With the exception of retrieving charge densities, this is not required, but may help us if we see unusual load on our servers.\n\n## Accessing Data\nTo use the API, you have three options:\n\n1. You can use our first-party supported Python client. This is the recommend route. The `mp-api` package containing the client is pip installable.\n\n ```\n pip install mp-api\n ```\n\n The `MPRester` client can be accessed by importing from it. This will ultimately replace the legacy `MPRester` available in pymatgen.\n\n For more details on how to use this, including code examples, please see .\n\n2. You can demo the API interactively on this documentation page. Click the \"Authorize\" button, paste in your API key, and then click the appropriate section to try out a query.\n\n3. Since this is a REST API, and offers a fully-compliant OpenAPI specification, it's possible to use the API with many libraries in many languages and environments, including JavaScript, MATLAB, Mathematica, etc. However, we do not offer first-party support for explaining how to do this, and you will have to follow the specification yourself.\n\n" version: 0.86.4rc5.dev1+g77c2c1315 x-logo: url: https://raw.githubusercontent.com/materialsproject/emmet/master/emmet-api/emmet/api/core/assets/mp_logo_small.png security: - ApiKeyAuth: [] tags: - name: Materials Electronic Structure description: Routes providing computed electronic structure related data for a material such as band gap and fermi level. Python objects for line-mode band structures, density of states, and fermi surfaces are also available. This data was obtained following the methodology discussed by [Munro *et al.*](https://doi.org/10.1038/s41524-020-00383-7) and [Ganose *et al.*](https://doi.org/10.21105/joss.03089) Note that full band structure, density of states, and fermi surface data has not been calculated for all materials in the Materials Project database. See the `ElectronicStructureDoc` and `FermiDoc` schema for a full list of fields returned by the associated routes. externalDocs: description: For a more detailed description url: https://docs.materialsproject.org/methodology/electronic-structure paths: /materials/fermi/: get: tags: - Materials Electronic Structure summary: Get FermiDoc documents operationId: search_materials_fermi__get parameters: - name: material_ids in: query required: false schema: anyOf: - type: string - type: 'null' description: Comma-separated list of material_id values to query on title: Material Ids description: Comma-separated list of material_id values to query on - name: _page in: query required: false schema: type: integer description: Page number to request (takes precedent over _limit and _skip). title: ' Page' description: Page number to request (takes precedent over _limit and _skip). - name: _per_page in: query required: false schema: type: integer description: Number of entries to show per page (takes precedent over _limit and _skip). Limited to 1000. default: 100 title: ' Per Page' description: Number of entries to show per page (takes precedent over _limit and _skip). Limited to 1000. - name: _skip in: query required: false schema: type: integer description: Number of entries to skip in the search. default: 0 title: ' Skip' description: Number of entries to skip in the search. - name: _limit in: query required: false schema: type: integer description: Max number of entries to return in a single query. Limited to 1000. default: 100 title: ' Limit' description: Max number of entries to return in a single query. Limited to 1000. - name: _fields in: query required: false schema: type: string description: 'Fields to project from FermiDoc as a list of comma separated strings. Fields include: `fermi_surfaces` `surface_types` `material_id` `last_updated`' title: ' Fields' description: 'Fields to project from FermiDoc as a list of comma separated strings. Fields include: `fermi_surfaces` `surface_types` `material_id` `last_updated`' - name: _all_fields in: query required: false schema: type: boolean description: Include all fields. default: false title: ' All Fields' description: Include all fields. responses: '200': description: Search for a FermiDoc content: application/json: schema: $ref: '#/components/schemas/Response_FermiDoc_' '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' /materials/electronic_structure/bandstructure/: get: tags: - Materials Electronic Structure summary: Get ElectronicStructureDoc documents operationId: search_materials_electronic_structure_bandstructure__get parameters: - name: path_type in: query required: false schema: anyOf: - type: string - type: 'null' description: k-path selection convention for the band structure. title: Path Type description: k-path selection convention for the band structure. - name: band_gap_max in: query required: false schema: anyOf: - type: number - type: 'null' description: Maximum value for the band gap energy in eV. title: Band Gap Max description: Maximum value for the band gap energy in eV. - name: band_gap_min in: query required: false schema: anyOf: - type: number - type: 'null' description: Minimum value for the band gap energy in eV. title: Band Gap Min description: Minimum value for the band gap energy in eV. - name: efermi_max in: query required: false schema: anyOf: - type: number - type: 'null' description: Maximum value for the fermi energy in eV. title: Efermi Max description: Maximum value for the fermi energy in eV. - name: efermi_min in: query required: false schema: anyOf: - type: number - type: 'null' description: Minimum value for the fermi energy in eV. title: Efermi Min description: Minimum value for the fermi energy in eV. - name: magnetic_ordering in: query required: false schema: anyOf: - $ref: '#/components/schemas/Ordering' - type: 'null' description: Magnetic ordering associated with the data. title: Magnetic Ordering description: Magnetic ordering associated with the data. - name: is_gap_direct in: query required: false schema: anyOf: - type: boolean - type: 'null' description: Whether a band gap is direct or not. title: Is Gap Direct description: Whether a band gap is direct or not. - name: is_metal in: query required: false schema: anyOf: - type: boolean - type: 'null' description: Whether the material is considered a metal. title: Is Metal description: Whether the material is considered a metal. - name: deprecated in: query required: false schema: anyOf: - type: boolean - type: 'null' description: Whether the material is marked as deprecated default: false title: Deprecated description: Whether the material is marked as deprecated - name: _page in: query required: false schema: type: integer description: Page number to request (takes precedent over _limit and _skip). title: ' Page' description: Page number to request (takes precedent over _limit and _skip). - name: _per_page in: query required: false schema: type: integer description: Number of entries to show per page (takes precedent over _limit and _skip). Limited to 1000. default: 100 title: ' Per Page' description: Number of entries to show per page (takes precedent over _limit and _skip). Limited to 1000. - name: _skip in: query required: false schema: type: integer description: Number of entries to skip in the search. default: 0 title: ' Skip' description: Number of entries to skip in the search. - name: _limit in: query required: false schema: type: integer description: Max number of entries to return in a single query. Limited to 1000. default: 100 title: ' Limit' description: Max number of entries to return in a single query. Limited to 1000. - name: _fields in: query required: false schema: type: string description: 'Fields to project from ElectronicStructureDoc as a list of comma separated strings. Fields include: `task_id` `band_gap` `cbm` `vbm` `efermi` `is_gap_direct` `is_metal` `magnetic_ordering` `builder_meta` `nsites` `elements` `nelements` `composition` `composition_reduced` `formula_pretty` `formula_anonymous` `chemsys` `volume` `density` `density_atomic` `symmetry` `material_id` `deprecated` `deprecation_reasons` `last_updated` `origins` `warnings` `structure` `property_name` `bandstructure` `dos`' title: ' Fields' description: 'Fields to project from ElectronicStructureDoc as a list of comma separated strings. Fields include: `task_id` `band_gap` `cbm` `vbm` `efermi` `is_gap_direct` `is_metal` `magnetic_ordering` `builder_meta` `nsites` `elements` `nelements` `composition` `composition_reduced` `formula_pretty` `formula_anonymous` `chemsys` `volume` `density` `density_atomic` `symmetry` `material_id` `deprecated` `deprecation_reasons` `last_updated` `origins` `warnings` `structure` `property_name` `bandstructure` `dos`' - name: _all_fields in: query required: false schema: type: boolean description: Include all fields. default: false title: ' All Fields' description: Include all fields. responses: '200': description: Search for a ElectronicStructureDoc content: application/json: schema: $ref: '#/components/schemas/Response_ElectronicStructureDoc_' '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' /materials/electronic_structure/dos/: get: tags: - Materials Electronic Structure summary: Get ElectronicStructureDoc documents operationId: search_materials_electronic_structure_dos__get parameters: - name: projection_type in: query required: false schema: anyOf: - type: string - type: 'null' description: Projection type for the density of states data. title: Projection Type description: Projection type for the density of states data. - name: spin in: query required: false schema: anyOf: - enum: - '1' - '-1' type: string - $ref: '#/components/schemas/Spin' - type: 'null' description: Spin channel for density of states data. '1' corresponds to spin up. title: Spin description: Spin channel for density of states data. '1' corresponds to spin up. - name: element in: query required: false schema: anyOf: - $ref: '#/components/schemas/Element' - type: 'null' description: Element type for projected density of states data. title: Element description: Element type for projected density of states data. - name: orbital in: query required: false schema: anyOf: - $ref: '#/components/schemas/OrbitalType' - type: 'null' description: Orbital type for projected density of states data. title: Orbital description: Orbital type for projected density of states data. - name: band_gap_max in: query required: false schema: anyOf: - type: number - type: 'null' description: Maximum value for the band gap energy in eV. title: Band Gap Max description: Maximum value for the band gap energy in eV. - name: band_gap_min in: query required: false schema: anyOf: - type: number - type: 'null' description: Minimum value for the band gap energy in eV. title: Band Gap Min description: Minimum value for the band gap energy in eV. - name: efermi_max in: query required: false schema: anyOf: - type: number - type: 'null' description: Maximum value for the fermi energy in eV. title: Efermi Max description: Maximum value for the fermi energy in eV. - name: efermi_min in: query required: false schema: anyOf: - type: number - type: 'null' description: Minimum value for the fermi energy in eV. title: Efermi Min description: Minimum value for the fermi energy in eV. - name: magnetic_ordering in: query required: false schema: anyOf: - $ref: '#/components/schemas/Ordering' - type: 'null' description: Magnetic ordering associated with the data. title: Magnetic Ordering description: Magnetic ordering associated with the data. - name: deprecated in: query required: false schema: anyOf: - type: boolean - type: 'null' description: Whether the material is marked as deprecated default: false title: Deprecated description: Whether the material is marked as deprecated - name: _page in: query required: false schema: type: integer description: Page number to request (takes precedent over _limit and _skip). title: ' Page' description: Page number to request (takes precedent over _limit and _skip). - name: _per_page in: query required: false schema: type: integer description: Number of entries to show per page (takes precedent over _limit and _skip). Limited to 1000. default: 100 title: ' Per Page' description: Number of entries to show per page (takes precedent over _limit and _skip). Limited to 1000. - name: _skip in: query required: false schema: type: integer description: Number of entries to skip in the search. default: 0 title: ' Skip' description: Number of entries to skip in the search. - name: _limit in: query required: false schema: type: integer description: Max number of entries to return in a single query. Limited to 1000. default: 100 title: ' Limit' description: Max number of entries to return in a single query. Limited to 1000. - name: _fields in: query required: false schema: type: string description: 'Fields to project from ElectronicStructureDoc as a list of comma separated strings. Fields include: `task_id` `band_gap` `cbm` `vbm` `efermi` `is_gap_direct` `is_metal` `magnetic_ordering` `builder_meta` `nsites` `elements` `nelements` `composition` `composition_reduced` `formula_pretty` `formula_anonymous` `chemsys` `volume` `density` `density_atomic` `symmetry` `material_id` `deprecated` `deprecation_reasons` `last_updated` `origins` `warnings` `structure` `property_name` `bandstructure` `dos`' title: ' Fields' description: 'Fields to project from ElectronicStructureDoc as a list of comma separated strings. Fields include: `task_id` `band_gap` `cbm` `vbm` `efermi` `is_gap_direct` `is_metal` `magnetic_ordering` `builder_meta` `nsites` `elements` `nelements` `composition` `composition_reduced` `formula_pretty` `formula_anonymous` `chemsys` `volume` `density` `density_atomic` `symmetry` `material_id` `deprecated` `deprecation_reasons` `last_updated` `origins` `warnings` `structure` `property_name` `bandstructure` `dos`' - name: _all_fields in: query required: false schema: type: boolean description: Include all fields. default: false title: ' All Fields' description: Include all fields. responses: '200': description: Search for a ElectronicStructureDoc content: application/json: schema: $ref: '#/components/schemas/Response_ElectronicStructureDoc_' '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' /materials/electronic_structure/: get: tags: - Materials Electronic Structure summary: Get ElectronicStructureDoc documents operationId: search_materials_electronic_structure__get parameters: - name: material_ids in: query required: false schema: anyOf: - type: string - type: 'null' description: Comma-separated list of material_id values to query on title: Material Ids description: Comma-separated list of material_id values to query on - name: magnetic_ordering in: query required: false schema: anyOf: - $ref: '#/components/schemas/Ordering' - type: 'null' description: Magnetic ordering associated with the data. title: Magnetic Ordering description: Magnetic ordering associated with the data. - name: is_gap_direct in: query required: false schema: anyOf: - type: boolean - type: 'null' description: Whether a band gap is direct or not. title: Is Gap Direct description: Whether a band gap is direct or not. - name: is_metal in: query required: false schema: anyOf: - type: boolean - type: 'null' description: Whether the material is considered a metal. title: Is Metal description: Whether the material is considered a metal. - name: formula in: query required: false schema: anyOf: - type: string - type: 'null' description: Query by formula including anonymized formula or by including wild cards. A comma delimited string list of anonymous formulas or regular formulas can also be provided. title: Formula description: Query by formula including anonymized formula or by including wild cards. A comma delimited string list of anonymous formulas or regular formulas can also be provided. - name: chemsys in: query required: false schema: anyOf: - type: string - type: 'null' description: A comma delimited string list of chemical systems. Wildcards for unknown elements only supported for single chemsys queries title: Chemsys description: A comma delimited string list of chemical systems. Wildcards for unknown elements only supported for single chemsys queries - name: elements in: query required: false schema: anyOf: - type: string maxLength: 60 - type: 'null' description: Query by elements in the material composition as a comma-separated list title: Elements description: Query by elements in the material composition as a comma-separated list - name: exclude_elements in: query required: false schema: anyOf: - type: string maxLength: 60 - type: 'null' description: Query by excluded elements in the material composition as a comma-separated list title: Exclude Elements description: Query by excluded elements in the material composition as a comma-separated list - name: band_gap_max in: query required: false schema: type: number description: Query for maximum value of band_gap title: Band Gap Max description: Query for maximum value of band_gap - name: band_gap_min in: query required: false schema: type: number description: Query for minimum value of band_gap title: Band Gap Min description: Query for minimum value of band_gap - name: cbm_max in: query required: false schema: anyOf: - type: number - type: 'null' description: Query for maximum value of cbm title: Cbm Max description: Query for maximum value of cbm - name: cbm_min in: query required: false schema: anyOf: - type: number - type: 'null' description: Query for minimum value of cbm title: Cbm Min description: Query for minimum value of cbm - name: vbm_max in: query required: false schema: anyOf: - type: number - type: 'null' description: Query for maximum value of vbm title: Vbm Max description: Query for maximum value of vbm - name: vbm_min in: query required: false schema: anyOf: - type: number - type: 'null' description: Query for minimum value of vbm title: Vbm Min description: Query for minimum value of vbm - name: efermi_max in: query required: false schema: anyOf: - type: number - type: 'null' description: Query for maximum value of efermi title: Efermi Max description: Query for maximum value of efermi - name: efermi_min in: query required: false schema: anyOf: - type: number - type: 'null' description: Query for minimum value of efermi title: Efermi Min description: Query for minimum value of efermi - name: nsites_max in: query required: false schema: anyOf: - type: integer - type: 'null' description: Query for maximum value of nsites title: Nsites Max description: Query for maximum value of nsites - name: nsites_min in: query required: false schema: anyOf: - type: integer - type: 'null' description: Query for minimum value of nsites title: Nsites Min description: Query for minimum value of nsites - name: nsites in: query required: false schema: anyOf: - type: integer - type: 'null' description: Query for nsites being equal to an exact value title: Nsites description: Query for nsites being equal to an exact value - name: nsites_not_eq in: query required: false schema: anyOf: - type: integer - type: 'null' description: Query for nsites being not equal to an exact value title: Nsites Not Eq description: Query for nsites being not equal to an exact value - name: nsites_eq_any in: query required: false schema: type: string description: Query for nsites being any of these values. Provide a comma separated list. title: Nsites Eq Any description: Query for nsites being any of these values. Provide a comma separated list. - name: nsites_neq_any in: query required: false schema: type: string description: Query for nsites being not any of these values. Provide a comma separated list. title: Nsites Neq Any description: Query for nsites being not any of these values. Provide a comma separated list. - name: nelements_max in: query required: false schema: anyOf: - type: integer - type: 'null' description: Query for maximum value of nelements title: Nelements Max description: Query for maximum value of nelements - name: nelements_min in: query required: false schema: anyOf: - type: integer - type: 'null' description: Query for minimum value of nelements title: Nelements Min description: Query for minimum value of nelements - name: nelements in: query required: false schema: anyOf: - type: integer - type: 'null' description: Query for nelements being equal to an exact value title: Nelements description: Query for nelements being equal to an exact value - name: nelements_not_eq in: query required: false schema: anyOf: - type: integer - type: 'null' description: Query for nelements being not equal to an exact value title: Nelements Not Eq description: Query for nelements being not equal to an exact value - name: nelements_eq_any in: query required: false schema: type: string description: Query for nelements being any of these values. Provide a comma separated list. title: Nelements Eq Any description: Query for nelements being any of these values. Provide a comma separated list. - name: nelements_neq_any in: query required: false schema: type: string description: Query for nelements being not any of these values. Provide a comma separated list. title: Nelements Neq Any description: Query for nelements being not any of these values. Provide a comma separated list. - name: volume_max in: query required: false schema: anyOf: - type: number - type: 'null' description: Query for maximum value of volume title: Volume Max description: Query for maximum value of volume - name: volume_min in: query required: false schema: anyOf: - type: number - type: 'null' description: Query for minimum value of volume title: Volume Min description: Query for minimum value of volume - name: density_max in: query required: false schema: anyOf: - type: number - type: 'null' description: Query for maximum value of density title: Density Max description: Query for maximum value of density - name: density_min in: query required: false schema: anyOf: - type: number - type: 'null' description: Query for minimum value of density title: Density Min description: Query for minimum value of density - name: density_atomic_max in: query required: false schema: anyOf: - type: number - type: 'null' description: Query for maximum value of density_atomic title: Density Atomic Max description: Query for maximum value of density_atomic - name: density_atomic_min in: query required: false schema: anyOf: - type: number - type: 'null' description: Query for minimum value of density_atomic title: Density Atomic Min description: Query for minimum value of density_atomic - name: deprecated in: query required: false schema: anyOf: - type: boolean - type: 'null' description: Whether the material is marked as deprecated default: false title: Deprecated description: Whether the material is marked as deprecated - name: _page in: query required: false schema: type: integer description: Page number to request (takes precedent over _limit and _skip). title: ' Page' description: Page number to request (takes precedent over _limit and _skip). - name: _per_page in: query required: false schema: type: integer description: Number of entries to show per page (takes precedent over _limit and _skip). Limited to 1000. default: 100 title: ' Per Page' description: Number of entries to show per page (takes precedent over _limit and _skip). Limited to 1000. - name: _skip in: query required: false schema: type: integer description: Number of entries to skip in the search. default: 0 title: ' Skip' description: Number of entries to skip in the search. - name: _limit in: query required: false schema: type: integer description: Max number of entries to return in a single query. Limited to 1000. default: 100 title: ' Limit' description: Max number of entries to return in a single query. Limited to 1000. - name: _fields in: query required: false schema: type: string description: 'Fields to project from ElectronicStructureDoc as a list of comma separated strings. Fields include: `task_id` `band_gap` `cbm` `vbm` `efermi` `is_gap_direct` `is_metal` `magnetic_ordering` `builder_meta` `nsites` `elements` `nelements` `composition` `composition_reduced` `formula_pretty` `formula_anonymous` `chemsys` `volume` `density` `density_atomic` `symmetry` `material_id` `deprecated` `deprecation_reasons` `last_updated` `origins` `warnings` `structure` `property_name` `bandstructure` `dos`' title: ' Fields' description: 'Fields to project from ElectronicStructureDoc as a list of comma separated strings. Fields include: `task_id` `band_gap` `cbm` `vbm` `efermi` `is_gap_direct` `is_metal` `magnetic_ordering` `builder_meta` `nsites` `elements` `nelements` `composition` `composition_reduced` `formula_pretty` `formula_anonymous` `chemsys` `volume` `density` `density_atomic` `symmetry` `material_id` `deprecated` `deprecation_reasons` `last_updated` `origins` `warnings` `structure` `property_name` `bandstructure` `dos`' - name: _all_fields in: query required: false schema: type: boolean description: Include all fields. default: false title: ' All Fields' description: Include all fields. responses: '200': description: Search for a ElectronicStructureDoc content: application/json: schema: $ref: '#/components/schemas/Response_ElectronicStructureDoc_' '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' components: schemas: EmmetMeta: properties: emmet_version: anyOf: - type: string - type: 'null' title: Emmet Version description: The version of emmet this document was built with. default: 0.86.4rc4 pymatgen_version: anyOf: - type: string - type: 'null' title: Pymatgen Version description: The version of pymatgen this document was built with. default: 2026.4.16 run_id: anyOf: - type: string - type: 'null' title: Run Id description: The run id associated with this data build. batch_id: anyOf: - type: string - type: 'null' title: Batch Id description: Identifier corresponding to the origin of this document's blessed task. database_version: anyOf: - type: string - type: 'null' title: Database Version description: The database version for the built data. build_date: anyOf: - type: string format: date-time - type: 'null' title: Build Date description: The build date for this document. license: anyOf: - type: string enum: - BY-C - BY-NC - type: 'null' title: License description: License for the data entry. type: object title: EmmetMeta description: Default emmet metadata. ElectronicStructureDoc: properties: task_id: anyOf: - type: string pattern: ^([A-Za-z]+-)?(\d+)(-[A-Za-z0-9]+)*$ examples: - mp-3534 - '3453' - mp-834-Ag - type: string examples: - mp-ft - task:pqrs title: Task Id description: The source calculation (task) ID for the electronic structure data. This has the same form as a Materials Project ID. band_gap: type: number title: Band Gap description: Band gap energy in eV. cbm: anyOf: - type: number - type: 'null' title: Cbm description: Conduction band minimum data. vbm: anyOf: - type: number - type: 'null' title: Vbm description: Valence band maximum data. efermi: anyOf: - type: number - type: 'null' title: Efermi description: Fermi energy in eV. is_gap_direct: type: boolean title: Is Gap Direct description: Whether the band gap is direct. is_metal: type: boolean title: Is Metal description: Whether the material is a metal. magnetic_ordering: type: string description: Magnetic ordering of the calculation. builder_meta: anyOf: - $ref: '#/components/schemas/EmmetMeta' - type: 'null' description: Builder metadata. nsites: anyOf: - type: integer - type: 'null' title: Nsites description: Total number of sites in the structure. elements: anyOf: - items: type: string type: array - type: 'null' title: Elements description: List of elements in the material. nelements: anyOf: - type: integer - type: 'null' title: Nelements description: Number of elements. composition: anyOf: - additionalProperties: type: number type: object - type: 'null' title: Composition description: Full composition for the material. composition_reduced: anyOf: - additionalProperties: type: number type: object - type: 'null' title: Reduced Composition description: Simplified representation of the composition. formula_pretty: anyOf: - type: string - type: 'null' title: Pretty Formula description: Cleaned representation of the formula. formula_anonymous: anyOf: - type: string - type: 'null' title: Anonymous Formula description: Anonymized representation of the formula. chemsys: anyOf: - type: string - type: 'null' title: Chemical System description: Dash-separated string of elements in the material. volume: anyOf: - type: number - type: 'null' title: Volume description: Total volume for this structure in ų. density: anyOf: - type: number - type: 'null' title: Density description: Density in g/cm³. density_atomic: anyOf: - type: number - type: 'null' title: Packing Density description: The atomic packing density in ų/atom. symmetry: anyOf: - $ref: '#/components/schemas/SymmetryData' - type: 'null' description: Symmetry data for this material. material_id: anyOf: - type: string pattern: ^([A-Za-z]+-)?(\d+)(-[A-Za-z0-9]+)*$ examples: - mp-3534 - '3453' - mp-834-Ag - type: string examples: - mp-ft - task:pqrs - type: 'null' title: Material Id description: 'The Materials Project ID of the material, used as a universal reference across property documents.This comes in the form: mp-******.' deprecated: type: boolean title: Deprecated description: Whether this property document is deprecated. default: true deprecation_reasons: anyOf: - items: type: string type: array - type: 'null' title: Deprecation Reasons description: List of deprecation tags detailing why this document isn't valid. last_updated: type: string format: date-time title: Last Updated description: Timestamp for the most recent calculation update for this property. origins: anyOf: - items: $ref: '#/components/schemas/PropertyOrigin' type: array - type: 'null' title: Origins description: Dictionary for tracking the provenance of properties. warnings: items: type: string type: array title: Warnings description: Any warnings related to this property. default: [] property_name: type: string title: Property Name default: electronic_structure bandstructure: anyOf: - $ref: '#/components/schemas/BandstructureData' - type: 'null' description: Band structure data for the material. dos: anyOf: - $ref: '#/components/schemas/DosData' - type: 'null' description: Density of states data for the material. type: object required: - task_id - band_gap - is_gap_direct - is_metal - magnetic_ordering title: ElectronicStructureDoc description: Definition for a core Electronic Structure Document OrbitalType: type: integer enum: - 0 - 1 - 2 - 3 title: OrbitalType description: Enum type for orbital type. Indices are the azimuthal quantum number l. Spin: type: integer enum: - 1 - -1 title: Spin description: 'Enum type for Spin. Only up and down. Usage: Spin.up, Spin.down.' TypedKpointDict: properties: '@module': type: string title: '@Module' '@class': type: string title: '@Class' lattice: $ref: '#/components/schemas/MSONableTypedLatticeDict' fcoords: items: type: number type: array title: Fcoords ccoords: items: type: number type: array title: Ccoords label: type: string title: Label type: object required: - '@module' - '@class' - lattice - fcoords - ccoords - label title: TypedKpointDict Meta: properties: api_version: type: string title: Api Version description: A string containing the version of the Materials API implementation, e.g. v0.9.5 default: 0.86.4rc5.dev1+g77c2c1315 time_stamp: type: string format: date-time title: Time Stamp description: A string containing the date and time at which the query was executed total_doc: anyOf: - type: integer minimum: 0.0 - type: 'null' title: Total Doc description: The total number of documents available for this query facet: anyOf: - additionalProperties: true type: object - type: 'null' title: Facet description: A dictionary containing the facets available for this query additionalProperties: true type: object title: Meta description: Meta information for the MAPI Response. HTTPValidationError: properties: detail: items: $ref: '#/components/schemas/ValidationError' type: array title: Detail type: object title: HTTPValidationError DosSummaryData: properties: task_id: anyOf: - type: string pattern: ^([A-Za-z]+-)?(\d+)(-[A-Za-z0-9]+)*$ examples: - mp-3534 - '3453' - mp-834-Ag - type: string examples: - mp-ft - task:pqrs title: Task Id description: The source calculation (task) ID for the electronic structure data. This has the same form as a Materials Project ID. band_gap: type: number title: Band Gap description: Band gap energy in eV. cbm: anyOf: - type: number - type: 'null' title: Cbm description: Conduction band minimum data. vbm: anyOf: - type: number - type: 'null' title: Vbm description: Valence band maximum data. efermi: anyOf: - type: number - type: 'null' title: Efermi description: Fermi energy in eV. spin_polarization: anyOf: - type: number - type: 'null' title: Spin Polarization description: Spin polarization at the fermi level. type: object required: - task_id - band_gap title: DosSummaryData description: Schematize high-level DOS data for the API. DosData: properties: total: anyOf: - additionalProperties: $ref: '#/components/schemas/DosSummaryData' type: object - type: 'null' title: Total description: Total DOS summary data. elemental: anyOf: - additionalProperties: additionalProperties: additionalProperties: $ref: '#/components/schemas/DosSummaryData' type: object propertyNames: enum: - s - p - d - f - total type: object type: object - type: 'null' title: Elemental description: Band structure summary data using the Hinuma et al. path convention. orbital: anyOf: - additionalProperties: additionalProperties: $ref: '#/components/schemas/DosSummaryData' type: object propertyNames: enum: - s - p - d - f - total type: object - type: 'null' title: Orbital description: Band structure summary data using the Latimer-Munro path convention. magnetic_ordering: anyOf: - type: string - type: 'null' description: Magnetic ordering of the calculation. type: object title: DosData Response_ElectronicStructureDoc_: properties: data: anyOf: - items: $ref: '#/components/schemas/ElectronicStructureDoc' type: array - type: 'null' title: Data description: List of returned data errors: anyOf: - items: $ref: '#/components/schemas/Error' type: array - type: 'null' title: Errors description: Any errors on processing this query meta: anyOf: - $ref: '#/components/schemas/Meta' - type: 'null' description: Extra information for the query type: object title: Response[ElectronicStructureDoc] BandStructureSummaryData: properties: task_id: anyOf: - type: string pattern: ^([A-Za-z]+-)?(\d+)(-[A-Za-z0-9]+)*$ examples: - mp-3534 - '3453' - mp-834-Ag - type: string examples: - mp-ft - task:pqrs title: Task Id description: The source calculation (task) ID for the electronic structure data. This has the same form as a Materials Project ID. band_gap: type: number title: Band Gap description: Band gap energy in eV. cbm: anyOf: - $ref: '#/components/schemas/TypedBandDict' - type: 'null' description: Conduction band minimum data. vbm: anyOf: - $ref: '#/components/schemas/TypedBandDict' - type: 'null' description: Valence band maximum data. efermi: anyOf: - type: number - type: 'null' title: Efermi description: Fermi energy in eV. is_gap_direct: type: boolean title: Is Gap Direct description: Whether the band gap is direct. is_metal: type: boolean title: Is Metal description: Whether the material is a metal. magnetic_ordering: type: string description: Magnetic ordering of the calculation. equivalent_labels: additionalProperties: additionalProperties: additionalProperties: type: string type: object type: object type: object title: Equivalent Labels description: Equivalent k-point labels in other k-path conventions. nbands: type: number title: Nbands description: Number of bands. direct_gap: type: number title: Direct Gap description: Direct gap energy in eV. type: object required: - task_id - band_gap - is_gap_direct - is_metal - magnetic_ordering - equivalent_labels - nbands - direct_gap title: BandStructureSummaryData description: Schematize high-level band structure data for the API. TypedBandDict: properties: band_index: additionalProperties: items: type: integer type: array type: object title: Band Index kpoint_index: items: type: integer type: array title: Kpoint Index kpoint: $ref: '#/components/schemas/TypedKpointDict' title: Kpoint energy: type: number title: Energy projections: additionalProperties: items: items: type: number type: array type: array type: object title: Projections type: object required: - band_index - kpoint_index - kpoint - energy - projections title: TypedBandDict description: Type def for data stored for cbms or vbms Error: properties: code: type: integer title: Code description: The error code message: type: string title: Message description: The description of the error type: object required: - code - message title: Error description: Base Error model for General API. Element: type: string enum: - H - D - T - He - Li - Be - B - C - N - O - F - Ne - Na - Mg - Al - Si - P - S - Cl - Ar - K - Ca - Sc - Ti - V - Cr - Mn - Fe - Co - Ni - Cu - Zn - Ga - Ge - As - Se - Br - Kr - Rb - Sr - Y - Zr - Nb - Mo - Tc - Ru - Rh - Pd - Ag - Cd - In - Sn - Sb - Te - I - Xe - Cs - Ba - La - Ce - Pr - Nd - Pm - Sm - Eu - Gd - Tb - Dy - Ho - Er - Tm - Yb - Lu - Hf - Ta - W - Re - Os - Ir - Pt - Au - Hg - Tl - Pb - Bi - Po - At - Rn - Fr - Ra - Ac - Th - Pa - U - Np - Pu - Am - Cm - Bk - Cf - Es - Fm - Md - 'No' - Lr - Rf - Db - Sg - Bh - Hs - Mt - Ds - Rg - Cn - Nh - Fl - Mc - Lv - Ts - Og title: Element description: Enum representing an element in the periodic table. Ordering: type: string enum: - FM - AFM - FiM - NM - Unknown title: Ordering description: Enumeration defining possible magnetic orderings. ValidationError: properties: loc: items: anyOf: - type: string - type: integer type: array title: Location msg: type: string title: Message type: type: string title: Error Type input: title: Input ctx: type: object title: Context type: object required: - loc - msg - type title: ValidationError FermiDoc: properties: fermi_surfaces: anyOf: - items: additionalProperties: true type: object type: array - type: 'null' title: Fermi Surfaces description: List of IFermi FermiSurface objects. surface_types: anyOf: - items: type: string type: array - type: 'null' title: Surface Types description: Type of each fermi surface in the fermi_surfaces list. Is either CBM or VBM for semiconductors, or fermi_surface for metals. material_id: anyOf: - type: string - type: 'null' title: Material Id description: 'The Materials Project ID of the material. This comes in the form: mp-******.' last_updated: type: string format: date-time title: Last Updated description: Timestamp for the most recent calculation for this fermi surface document. type: object title: FermiDoc description: Fermi surfaces. SymmetryData: properties: crystal_system: anyOf: - type: string - type: 'null' title: Crystal System description: The crystal system for this lattice. symbol: anyOf: - type: string - type: 'null' title: Space Group Symbol description: The spacegroup symbol for the lattice. hall: anyOf: - type: string - type: 'null' title: Hall Symbol description: Hall symbol for the lattice number: anyOf: - type: integer - type: 'null' title: Space Group Number description: The spacegroup number for the lattice. point_group: anyOf: - type: string - type: 'null' title: Point Group Symbol description: The point group for the lattice. symprec: anyOf: - type: number - type: 'null' title: Symmetry Finding Precision description: The precision provided to spglib to determine the symmetry of this structure. angle_tolerance: anyOf: - type: number - type: 'null' title: Angle Tolerance description: Angle tolerance provided to spglib to determine the symmetry of this structure. version: anyOf: - type: string - type: 'null' title: spglib version type: object title: SymmetryData description: Defines a symmetry data set for materials documents PropertyOrigin: properties: name: type: string title: Name description: The property name task_id: anyOf: - type: string pattern: ^([A-Za-z]+-)?(\d+)(-[A-Za-z0-9]+)*$ examples: - mp-3534 - '3453' - mp-834-Ag - type: string examples: - mp-ft - task:pqrs title: Task Id description: The calculation ID this property comes from. last_updated: type: string format: date-time title: Last Updated description: The timestamp when this calculation was last updated type: object required: - name - task_id title: PropertyOrigin description: Provenance document for the origin of properties in a material document Response_FermiDoc_: properties: data: anyOf: - items: $ref: '#/components/schemas/FermiDoc' type: array - type: 'null' title: Data description: List of returned data errors: anyOf: - items: $ref: '#/components/schemas/Error' type: array - type: 'null' title: Errors description: Any errors on processing this query meta: anyOf: - $ref: '#/components/schemas/Meta' - type: 'null' description: Extra information for the query type: object title: Response[FermiDoc] MSONableTypedLatticeDict: properties: '@module': type: string title: '@Module' '@class': type: string title: '@Class' matrix: items: items: type: number type: array type: array title: Matrix pbc: prefixItems: - type: boolean - type: boolean - type: boolean type: array maxItems: 3 minItems: 3 title: Pbc a: type: number title: A b: type: number title: B c: type: number title: C alpha: type: number title: Alpha beta: type: number title: Beta gamma: type: number title: Gamma volume: type: number title: Volume type: object required: - '@module' - '@class' - matrix - pbc - a - b - c - alpha - beta - gamma - volume title: MSONableTypedLatticeDict BandstructureData: properties: setyawan_curtarolo: anyOf: - $ref: '#/components/schemas/BandStructureSummaryData' - type: 'null' description: Band structure summary data using the Setyawan-Curtarolo path convention. hinuma: anyOf: - $ref: '#/components/schemas/BandStructureSummaryData' - type: 'null' description: Band structure summary data using the Hinuma et al. path convention. latimer_munro: anyOf: - $ref: '#/components/schemas/BandStructureSummaryData' - type: 'null' description: Band structure summary data using the Latimer-Munro path convention. type: object title: BandstructureData securitySchemes: ApiKeyAuth: descriptions: MP API key to authorize requests name: X-API-KEY in: header type: apiKey