Materials Project Materials Elasticity API

Route providing computed elasticity data for a material following the methodology discussed by [de Jong *et al.*](https://doi.org/10.1038/sdata.2015.9) Note that elasticity data has not been calculated for all materials in the Materials Project database. See the `ElasticityDoc` schema for a full list of fields returned by this route.

Operations 1

GET /materials/elasticity/ Get ElasticityDoc documents #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/materials-project-materials-elasticity-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

materials-project-materials-elasticity-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Materials Project Defect Tasks Materials Elasticity 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 <heavy.api.use@materialsproject.org>. 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 <https://next-gen.materialsproject.org/api>.\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
servers:
- url: https://api.materialsproject.org
  description: Base URL declared by the provider in apis.yml (roadmap#122).
security:
- ApiKeyAuth: []
tags:
- name: Materials Elasticity
  description: Route providing computed elasticity data for a material following the             methodology discussed by [de Jong *et al.*](https://doi.org/10.1038/sdata.2015.9)             Note that elasticity data has not been calculated for all materials in the Materials             Project database. See the `ElasticityDoc` schema for a full list of fields returned by this route.
  externalDocs:
    description: For a more detailed description
    url: https://docs.materialsproject.org/methodology/elasticity
paths:
  /materials/elasticity/:
    get:
      tags:
      - Materials Elasticity
      summary: Get ElasticityDoc documents
      operationId: search_materials_elasticity__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: chemsys
        in: query
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          description: A comma delimited string list of chemical systems.
          title: Chemsys
        description: A comma delimited string list of chemical systems.
      - name: k_voigt_max
        in: query
        required: false
        schema:
          anyOf:
          - type: number
          - type: 'null'
          description: Maximum value for the Voigt average of the bulk modulus in GPa.
          title: K Voigt Max
        description: Maximum value for the Voigt average of the bulk modulus in GPa.
      - name: k_voigt_min
        in: query
        required: false
        schema:
          anyOf:
          - type: number
          - type: 'null'
          description: Minimum value for the Voigt average of the bulk modulus in GPa.
          title: K Voigt Min
        description: Minimum value for the Voigt average of the bulk modulus in GPa.
      - name: k_reuss_max
        in: query
        required: false
        schema:
          anyOf:
          - type: number
          - type: 'null'
          description: Maximum value for the Reuss average of the bulk modulus in GPa.
          title: K Reuss Max
        description: Maximum value for the Reuss average of the bulk modulus in GPa.
      - name: k_reuss_min
        in: query
        required: false
        schema:
          anyOf:
          - type: number
          - type: 'null'
          description: Minimum value for the Reuss average of the bulk modulus in GPa.
          title: K Reuss Min
        description: Minimum value for the Reuss average of the bulk modulus in GPa.
      - name: k_vrh_max
        in: query
        required: false
        schema:
          anyOf:
          - type: number
          - type: 'null'
          description: Maximum value for the Voigt-Reuss-Hill average of the bulk modulus in GPa.
          title: K Vrh Max
        description: Maximum value for the Voigt-Reuss-Hill average of the bulk modulus in GPa.
      - name: k_vrh_min
        in: query
        required: false
        schema:
          anyOf:
          - type: number
          - type: 'null'
          description: Minimum value for the Voigt-Reuss-Hill average of the bulk modulus in GPa.
          title: K Vrh Min
        description: Minimum value for the Voigt-Reuss-Hill average of the bulk modulus in GPa.
      - name: g_voigt_max
        in: query
        required: false
        schema:
          anyOf:
          - type: number
          - type: 'null'
          description: Maximum value for the Voigt average of the shear modulus in GPa.
          title: G Voigt Max
        description: Maximum value for the Voigt average of the shear modulus in GPa.
      - name: g_voigt_min
        in: query
        required: false
        schema:
          anyOf:
          - type: number
          - type: 'null'
          description: Minimum value for the Voigt average of the shear modulus in GPa.
          title: G Voigt Min
        description: Minimum value for the Voigt average of the shear modulus in GPa.
      - name: g_reuss_max
        in: query
        required: false
        schema:
          anyOf:
          - type: number
          - type: 'null'
          description: Maximum value for the Reuss average of the shear modulus in GPa.
          title: G Reuss Max
        description: Maximum value for the Reuss average of the shear modulus in GPa.
      - name: g_reuss_min
        in: query
        required: false
        schema:
          anyOf:
          - type: number
          - type: 'null'
          description: Minimum value for the Reuss average of the shear modulus in GPa.
          title: G Reuss Min
        description: Minimum value for the Reuss average of the shear modulus in GPa.
      - name: g_vrh_max
        in: query
        required: false
        schema:
          anyOf:
          - type: number
          - type: 'null'
          description: Maximum value for the Voigt-Reuss-Hill average of the shear modulus in GPa.
          title: G Vrh Max
        description: Maximum value for the Voigt-Reuss-Hill average of the shear modulus in GPa.
      - name: g_vrh_min
        in: query
        required: false
        schema:
          anyOf:
          - type: number
          - type: 'null'
          description: Minimum value for the Voigt-Reuss-Hill average of the shear modulus in GPa.
          title: G Vrh Min
        description: Minimum value for the Voigt-Reuss-Hill average of the shear modulus in GPa.
      - name: elastic_anisotropy_max
        in: query
        required: false
        schema:
          anyOf:
          - type: number
          - type: 'null'
          description: Maximum value for the elastic anisotropy.
          title: Elastic Anisotropy Max
        description: Maximum value for the elastic anisotropy.
      - name: elastic_anisotropy_min
        in: query
        required: false
        schema:
          anyOf:
          - type: number
          - type: 'null'
          description: Maximum value for the elastic anisotropy.
          title: Elastic Anisotropy Min
        description: Maximum value for the elastic anisotropy.
      - name: poisson_max
        in: query
        required: false
        schema:
          anyOf:
          - type: number
          - type: 'null'
          description: Maximum value for Poisson's ratio.
          title: Poisson Max
        description: Maximum value for Poisson's ratio.
      - name: poisson_min
        in: query
        required: false
        schema:
          anyOf:
          - type: number
          - type: 'null'
          description: Minimum value for Poisson's ratio.
          title: Poisson Min
        description: Minimum value for Poisson's ratio.
      - 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 ElasticityDoc as a list of comma separated strings.                    Fields include: `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` `order` `elastic_tensor` `compliance_tensor` `bulk_modulus` `shear_modulus` `sound_velocity` `thermal_conductivity` `young_modulus` `universal_anisotropy` `homogeneous_poisson` `debye_temperature` `fitting_data` `fitting_method` `state`'
          title: ' Fields'
        description: 'Fields to project from ElasticityDoc as a list of comma separated strings.                    Fields include: `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` `order` `elastic_tensor` `compliance_tensor` `bulk_modulus` `shear_modulus` `sound_velocity` `thermal_conductivity` `young_modulus` `universal_anisotropy` `homogeneous_poisson` `debye_temperature` `fitting_data` `fitting_method` `state`'
      - 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 ElasticityDoc
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Response_ElasticityDoc_'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
components:
  schemas:
    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.
    FittingData:
      properties:
        deformations:
          items:
            prefixItems:
            - prefixItems:
              - type: number
              - type: number
              - type: number
              type: array
              maxItems: 3
              minItems: 3
            - prefixItems:
              - type: number
              - type: number
              - type: number
              type: array
              maxItems: 3
              minItems: 3
            - prefixItems:
              - type: number
              - type: number
              - type: number
              type: array
              maxItems: 3
              minItems: 3
            type: array
            maxItems: 3
            minItems: 3
          type: array
          title: Deformations
          description: Deformations corresponding to the strained structures
        strains:
          items:
            prefixItems:
            - prefixItems:
              - type: number
              - type: number
              - type: number
              type: array
              maxItems: 3
              minItems: 3
            - prefixItems:
              - type: number
              - type: number
              - type: number
              type: array
              maxItems: 3
              minItems: 3
            - prefixItems:
              - type: number
              - type: number
              - type: number
              type: array
              maxItems: 3
              minItems: 3
            type: array
            maxItems: 3
            minItems: 3
          type: array
          title: Strains
          description: Lagrangian strain tensors applied to structures
        cauchy_stresses:
          items:
            prefixItems:
            - prefixItems:
              - type: number
              - type: number
              - type: number
              type: array
              maxItems: 3
              minItems: 3
            - prefixItems:
              - type: number
              - type: number
              - type: number
              type: array
              maxItems: 3
              minItems: 3
            - prefixItems:
              - type: number
              - type: number
              - type: number
              type: array
              maxItems: 3
              minItems: 3
            type: array
            maxItems: 3
            minItems: 3
          type: array
          title: Cauchy Stresses
          description: Cauchy stress tensors on strained structures
        second_pk_stresses:
          items:
            prefixItems:
            - prefixItems:
              - type: number
              - type: number
              - type: number
              type: array
              maxItems: 3
              minItems: 3
            - prefixItems:
              - type: number
              - type: number
              - type: number
              type: array
              maxItems: 3
              minItems: 3
            - prefixItems:
              - type: number
              - type: number
              - type: number
              type: array
              maxItems: 3
              minItems: 3
            type: array
            maxItems: 3
            minItems: 3
          type: array
          title: Second Pk Stresses
          description: Second Piola-Kirchhoff stress tensors on structures
        deformation_tasks:
          anyOf:
          - items:
              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: array
          - type: 'null'
          title: Deformation Tasks
          description: Deformation task ids corresponding to the strained structures
        deformation_dir_names:
          anyOf:
          - items:
              type: string
            type: array
          - type: 'null'
          title: Deformation Dir Names
          description: Paths to the running directories of deformation tasks
        equilibrium_cauchy_stress:
          anyOf:
          - prefixItems:
            - prefixItems:
              - type: number
              - type: number
              - type: number
              type: array
              maxItems: 3
              minItems: 3
            - prefixItems:
              - type: number
              - type: number
              - type: number
              type: array
              maxItems: 3
              minItems: 3
            - prefixItems:
              - type: number
              - type: number
              - type: number
              type: array
              maxItems: 3
              minItems: 3
            type: array
            maxItems: 3
            minItems: 3
          - type: 'null'
          title: Equilibrium Cauchy Stress
          description: Cauchy stress tensor of the relaxed structure
        optimization_task:
          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: Optimization Task
          description: Optimization task corresponding to the relaxed structure
        optimization_dir_name:
          anyOf:
          - type: string
          - type: 'null'
          title: Optimization Dir Name
          description: Path to the running directory of the optimization task
        num_total_strain_stress_states:
          anyOf:
          - type: integer
          - type: 'null'
          title: Num Total Strain Stress States
          description: Number of total strain--stress states used for fitting, i.e. the sum of explicitly calculated deformations and derived deformations from symmetry.
      type: object
      required:
      - deformations
      - strains
      - cauchy_stresses
      - second_pk_stresses
      title: FittingData
      description: 'Data used to fit the elastic tensor.


        Note, this only consists of the explicitly calculated primary data.

        With the data here, one can redo the fitting to regenerate the elastic data,

        e.g. using `ElasticityDoc.from_deformations_and_stresses()`.'
    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
    TypedLatticeDict:
      properties:
        matrix:
          items:
            items:
              type: number
            type: array
          type: array
          title: Matrix
        pbc:
          anyOf:
          - prefixItems:
            - type: boolean
            - type: boolean
            - type: boolean
            type: array
            maxItems: 3
            minItems: 3
          - type: 'null'
          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:
      - matrix
      - a
      - b
      - c
      - alpha
      - beta
      - gamma
      - volume
      title: TypedLatticeDict
    TypedSpeciesDict:
      properties:
        element:
          anyOf:
          - type: string
          - type: 'null'
          title: Element
        oxidation_state:
          anyOf:
          - type: number
          - type: 'null'
          title: Oxidation State
        spin:
          anyOf:
          - type: number
          - type: 'null'
          title: Spin
        occu:
          anyOf:
          - type: number
          - type: 'null'
          title: Occu
      type: object
      title: TypedSpeciesDict
    ThermalConductivity:
      properties:
        clarke:
          anyOf:
          - type: number
          - type: 'null'
          title: Clarke
          description: Clarke's thermal conductivity (SI units)
        cahill:
          anyOf:
          - type: number
          - type: 'null'
          title: Cahill
          description: Cahill's thermal conductivity (SI units)
      type: object
      title: ThermalConductivity
    ElasticityDoc:
      properties:
        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: []
        structure:
          anyOf:
          - $ref: '#/components/schemas/TypedStructureDict'
          - type: 'null'
          title: Structure
          description: Structure to compute the elasticity
        property_name:
          type: string
          title: Property Name
          default: elasticity
        order:
          type: integer
          title: Order
          description: Order of the expansion of the elastic tensor
          default: 2
        elastic_tensor:
          anyOf:
          - $ref: '#/components/schemas/ElasticTensorDoc'
          - type: 'null'
          description: Elastic tensor
        compliance_tensor:
          anyOf:
          - $ref: '#/components/schemas/ComplianceTensorDoc'
          - type: 'null'
          description: Compliance tensor
        bulk_modulus:
          anyOf:
          - $ref: '#/components/schemas/BulkModulus'
          - type: 'null'
          description: Bulk modulus
        shear_modulus:
          anyOf:
          - $ref: '#/components/schemas/ShearModulus'
          - type: 'null'
          description: Shear modulus
        sound_velocity:
          anyOf:
          - $ref: '#/components/schemas/SoundVelocity'
          - type: 'null'
          description: Sound velocity
        thermal_conductivity:
          anyOf:
          - $ref: '#/components/schemas/ThermalConductivity'
          - type: 'null'
          description: Thermal conductivity
        youngs_modulus:
          anyOf:
          - type: number
          - type: 'null'
          title: Youngs Modulus
          description: Young's modulus (SI units)
        universal_anisotropy:
          anyOf:
          - type: number
          - type: 'null'
          title: Universal Anisotropy
          description: Universal elastic anisotropy
        homogeneous_poisson:
          anyOf:
          - type: number
          - type: 'null'
          title: Homogeneous Poisson
          description: Homogeneous Poisson ratio
        debye_temperature:
          anyOf:
          - type: number
          - type: 'null'
          title: Debye Temperature
          description: Debye temperature (SI units)
        fitting_data:
          anyOf:
          - $ref: '#/components/schemas/FittingData'
          - type: 'null'
          description: Data used to fit the elastic tensor
        fitting_method:
          anyOf:
          - type: string
          - type: 'null'
          title: Fitting Method
          description: Method used to fit the elastic tensor
        state:
          anyOf:
          - type: string
          - type: 'null'
          title: State
          description: 'State of the fitting/analysis: `successful` or `failed`'
      type: object
      title: ElasticityDoc
    ShearModulus:
      properties:
        voigt:
          anyOf:
          - type: number
          - type: 'null'
          title: Voigt
          description: Shear modulus Voigt average (GPa)
        reuss:
          anyOf:
          - type: number
          - type: 'null'
          title: Reuss
          description: Shear modulus Reuss average (GPa)
        vrh:
          anyOf:
          - type: number
          - type: 'null'
          title: Vrh
          description: Shear modulus Voigt-Reuss-Hill average (GPa)
      type: object
      title: ShearModulus
    SoundVelocity:
      properties:
        transverse:
          anyOf:
          - type: number
          - type: 'null'
          title: Transverse
          description: Transverse sound velocity (SI units)
        longitudinal:
          anyOf:
          - type: number
          - type: 'null'
          title: Longitudinal
          description: Longitudinal sound velocity (SI units)
        snyder_acoustic:
          anyOf:
          - type: number
          - type: 'null'
          title: Snyder Acoustic
          description: Snyder's acoustic sound velocity (SI units)
        snyder_optical:
          anyOf:
          - type: number
          - type: 'null'
          title: Snyder Optical
          description: Snyder's optical sound velocity (SI units)
        snyder_total:
          anyOf:
          - type: number
          - type: 'null'
          title: Snyder Total
          description: Snyder's total sound velocity (SI units)
      type: object
      title: SoundVelocity
    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:
     

# --- truncated at 32 KB (48 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/materials-project/refs/heads/main/openapi/materials-project-materials-elasticity-api-openapi.yml