Materials Project Defect Tasks API

The Defect Tasks API from Materials Project — 1 operation(s) for defect tasks.

Operations 1

GET /defects/tasks/ Get DefectTaskDoc 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-defect-tasks-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-defect-tasks-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Materials Project Defect Tasks 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: Defect Tasks
paths:
  /defects/tasks/:
    get:
      tags:
      - Defect Tasks
      summary: Get DefectTaskDoc documents
      operationId: search_defects_tasks__get
      parameters:
      - 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: task_ids
        in: query
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          description: Comma-separated list of task_ids to query on
          title: Task Ids
        description: Comma-separated list of task_ids to query on
      - name: last_updated_min
        in: query
        required: false
        schema:
          anyOf:
          - type: string
            format: date-time
          - type: 'null'
          description: Minimum last updated UTC datetime
          title: Last Updated Min
        description: Minimum last updated UTC datetime
      - name: last_updated_max
        in: query
        required: false
        schema:
          anyOf:
          - type: string
            format: date-time
          - type: 'null'
          description: Maximum last updated UTC datetime
          title: Last Updated Max
        description: Maximum last updated UTC datetime
      - 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 DefectTaskDoc as a list of comma separated strings.                    Fields include: `nsites` `elements` `nelements` `composition` `composition_reduced` `formula_pretty` `formula_anonymous` `chemsys` `volume` `density` `density_atomic` `symmetry` `batch_id` `calc_type` `completed_at` `dir_name` `icsd_id` `input` `last_updated` `orig_inputs` `output` `run_type` `structure` `tags` `task_id` `task_type` `transformations` `vasp_objects` `vasp_version` `additional_json` `analysis` `author` `calcs_reversed` `custodian` `entry` `included_objects` `run_stats` `state` `task_label` `defect_name` `bulk_formula` `defect` `charge_state` `supercell_matrix`'
          title: ' Fields'
        description: 'Fields to project from DefectTaskDoc as a list of comma separated strings.                    Fields include: `nsites` `elements` `nelements` `composition` `composition_reduced` `formula_pretty` `formula_anonymous` `chemsys` `volume` `density` `density_atomic` `symmetry` `batch_id` `calc_type` `completed_at` `dir_name` `icsd_id` `input` `last_updated` `orig_inputs` `output` `run_type` `structure` `tags` `task_id` `task_type` `transformations` `vasp_objects` `vasp_version` `additional_json` `analysis` `author` `calcs_reversed` `custodian` `entry` `included_objects` `run_stats` `state` `task_label` `defect_name` `bulk_formula` `defect` `charge_state` `supercell_matrix`'
      - 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 DefectTaskDoc
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Response_DefectTaskDoc_'
        '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.
    CustodianDoc:
      properties:
        corrections:
          anyOf:
          - items: {}
            type: array
          - type: 'null'
          title: Custodian Corrections
          description: List of custodian correction data for calculation.
        job:
          anyOf:
          - additionalProperties: true
            type: object
          - type: 'null'
          title: Custodian Job Data
          description: Job data logged by custodian.
      type: object
      title: CustodianDoc
    MSONableTypedSiteDict:
      properties:
        '@class':
          type: string
          title: '@Class'
        '@module':
          type: string
          title: '@Module'
        label:
          type: string
          title: Label
        name:
          type: string
          title: Name
        properties:
          $ref: '#/components/schemas/TypedSiteProperitesDict'
        species:
          items:
            $ref: '#/components/schemas/TypedSpeciesDict'
          type: array
          title: Species
        abc:
          items:
            type: number
          type: array
          title: Abc
        xyz:
          items:
            type: number
          type: array
          title: Xyz
      additionalProperties: true
      type: object
      required:
      - '@class'
      - '@module'
      - label
      - name
      - properties
      - species
      - abc
      - xyz
      title: MSONableTypedSiteDict
    TypedOutcarDict:
      properties:
        '@module':
          type: string
          title: '@Module'
        '@class':
          type: string
          title: '@Class'
        efermi:
          anyOf:
          - type: number
          - type: 'null'
          title: Efermi
        magnetization:
          anyOf:
          - items:
              $ref: '#/components/schemas/TypedPerIonProps'
            type: array
          - type: 'null'
          title: Magnetization
        charge:
          anyOf:
          - items:
              $ref: '#/components/schemas/TypedPerIonProps'
            type: array
          - type: 'null'
          title: Charge
        total_magnetization:
          anyOf:
          - type: number
          - type: 'null'
          title: Total Magnetization
        nelect:
          anyOf:
          - type: number
          - type: 'null'
          title: Nelect
        is_stopped:
          anyOf:
          - type: boolean
          - type: 'null'
          title: Is Stopped
        drift:
          anyOf:
          - items:
              items:
                type: number
              type: array
            type: array
          - type: 'null'
          title: Drift
        ngf:
          anyOf:
          - items:
              type: integer
            type: array
          - type: 'null'
          title: Ngf
        sampling_radii:
          anyOf:
          - items:
              type: number
            type: array
          - type: 'null'
          title: Sampling Radii
        electrostatic_potential:
          anyOf:
          - items:
              type: number
            type: array
          - type: 'null'
          title: Electrostatic Potential
        zval_dict:
          anyOf:
          - additionalProperties:
              type: number
            type: object
          - type: 'null'
          title: Zval Dict
        p_elec:
          anyOf:
          - prefixItems:
            - type: number
            - type: number
            - type: number
            type: array
            maxItems: 3
            minItems: 3
          - type: 'null'
          title: P Elec
        born:
          anyOf:
          - 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
          - type: 'null'
          title: Born
      type: object
      required:
      - '@module'
      - '@class'
      title: TypedOutcarDict
    DefectTaskDoc:
      properties:
        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.
        batch_id:
          anyOf:
          - type: string
          - type: 'null'
          title: Batch Id
          description: Identifier for this calculation; should provide rough information about the calculation origin and purpose.
        calc_type:
          anyOf:
          - type: string
          - type: 'null'
          title: Calc Type
          description: The functional and task type used in the calculation.
        completed_at:
          anyOf:
          - type: string
            format: date-time
          - type: 'null'
          title: Completed At
          description: Timestamp for when this task was completed
        dir_name:
          anyOf:
          - type: string
          - type: 'null'
          title: Dir Name
          description: The directory for this VASP task
        icsd_id:
          anyOf:
          - type: integer
          - type: 'null'
          title: Icsd Id
          description: Inorganic Crystal Structure Database id of the structure
        input:
          anyOf:
          - $ref: '#/components/schemas/CalculationInput'
          - type: 'null'
          description: VASP calculation inputs
        last_updated:
          type: string
          format: date-time
          title: Last Updated
          description: Timestamp for the most recent calculation for this task document
        orig_inputs:
          anyOf:
          - $ref: '#/components/schemas/CalculationInput'
          - type: 'null'
          description: The exact set of input parameters used to generate the current task document.
        output:
          anyOf:
          - $ref: '#/components/schemas/OutputDoc'
          - type: 'null'
          description: The exact set of output parameters used to generate the current task document.
        run_type:
          anyOf:
          - type: string
          - type: 'null'
          title: Run Type
          description: The functional used in the calculation.
        structure:
          anyOf:
          - $ref: '#/components/schemas/TypedStructureDict'
          - type: 'null'
          title: Structure
          description: Final output structure from the task
        tags:
          anyOf:
          - items:
              type: string
            type: array
          - type: 'null'
          title: tag
          description: Metadata tagged to a given task.
        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
          - type: 'null'
          title: Task Id
          description: 'The (task) ID of this calculation, used as a universal reference across property documents.This comes in the form: mp-******.'
        task_type:
          anyOf:
          - type: string
          - type: 'null'
          title: Task Type
          description: The type of calculation.
        transformations:
          anyOf:
          - additionalProperties: true
            type: object
          - type: 'null'
          title: Transformations
          description: Information on the structural transformations, parsed from a transformations.json file
        vasp_objects:
          anyOf:
          - additionalProperties: true
            type: object
          - type: 'null'
          title: Vasp Objects
          description: Vasp objects associated with this task
        vasp_version:
          anyOf:
          - type: string
          - type: 'null'
          title: Vasp Version
          description: The version of VASP used for this task.
        additional_json:
          anyOf:
          - additionalProperties: true
            type: object
          - type: 'null'
          title: Additional Json
          description: Additional json loaded from the calculation directory
        analysis:
          anyOf:
          - $ref: '#/components/schemas/AnalysisDoc'
          - type: 'null'
          title: Calculation Analysis
          description: Some analysis of calculation data after collection.
        author:
          anyOf:
          - type: string
          - type: 'null'
          title: Author
          description: Author extracted from transformations
        calcs_reversed:
          anyOf:
          - items:
              $ref: '#/components/schemas/Calculation'
            type: array
          - type: 'null'
          title: Calcs reversed data
          description: Detailed data for each VASP calculation contributing to the task document.
        custodian:
          anyOf:
          - items:
              $ref: '#/components/schemas/CustodianDoc'
            type: array
          - type: 'null'
          title: Calcs reversed data
          description: Detailed custodian data for each VASP calculation contributing to the task document.
        entry:
          anyOf:
          - additionalProperties: true
            type: object
          - type: 'null'
          title: Entry
          description: The ComputedEntry from the task doc
        included_objects:
          anyOf:
          - items:
              type: string
            type: array
          - type: 'null'
          title: Included Objects
          description: List of VASP objects included with this task document
        run_stats:
          anyOf:
          - additionalProperties:
              $ref: '#/components/schemas/RunStatistics'
            type: object
          - type: 'null'
          title: Run Stats
          description: Summary of runtime statistics for each calculation in this task
        state:
          anyOf:
          - type: string
          - type: 'null'
          title: State
          description: State of this calculation
        task_label:
          anyOf:
          - type: string
          - type: 'null'
          title: Task Label
          description: A description of the task
        defect_name:
          type: string
          title: The name of the defect
        bulk_formula:
          type: string
          title: Bulk Formula
          description: Formula of the bulk structure.
        defect:
          $ref: '#/components/schemas/TypedDefectDict'
          title: Defect Object
          description: Unit cell representation of the defect object.
        charge_state:
          anyOf:
          - type: integer
          - type: 'null'
          title: Charge State
          description: Charge state of the defect.
        supercell_matrix:
          anyOf:
          - items:
              items:
                type: integer
              type: array
            type: array
          - type: 'null'
          title: Supercell Matrix
          description: Supercell matrix used to construct the defect supercell.
      additionalProperties: true
      type: object
      required:
      - defect_name
      - bulk_formula
      - defect
      title: DefectTaskDoc
      description: 'Defect Task Document.


        Contains all the task-level information for a defect supercell calculation.'
    BaderAnalysis:
      properties:
        min_dist:
          items:
            type: number
          type: array
          title: Min Dist
        charge:
          items:
            type: number
          type: array
          title: Charge
        atomic_volume:
          items:
            type: number
          type: array
          title: Atomic Volume
        vacuum_charge:
          type: number
          title: Vacuum Charge
        vacuum_volume:
          type: number
          title: Vacuum Volume
        reference_used:
          type: boolean
          title: Reference Used
        bader_version:
          type: number
          title: Bader Version
        charge_transfer:
          anyOf:
          - items:
              type: number
            type: array
          - type: 'null'
          title: Charge Transfer
        magmom:
          anyOf:
          - items:
              type: number
            type: array
          - type: 'null'
          title: Magmom
      type: object
      required:
      - min_dist
      - charge
      - atomic_volume
      - vacuum_charge
      - vacuum_volume
      - reference_used
      - bader_version
      title: BaderAnalysis
      description: 'Output of pymatgen.command_line.bader_caller.bader_analysis_from_objects


        We omit the `charge_densities` field, since these are too large

        to justify storing in the document model.


        Charge densities can already be stored in TaskDoc.vasp_objects'
    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
    RunStatistics:
      properties:
        average_memory:
          type: number
          title: Average Memory
          description: The average memory used in kb
          default: 0
        max_memory:
          type: number
          title: Max Memory
          description: The maximum memory used in kb
          default: 0
        elapsed_time:
          type: number
          title: Elapsed Time
          description: The real time elapsed in seconds
          default: 0
        system_time:
          type: number
          title: System Time
          description: The system CPU time in seconds
          default: 0
        user_time:
          type: number
          title: User Time
          description: The user CPU time spent by VASP in seconds
          default: 0
        total_time:
          type: number
          title: Total Time
          description: The total CPU time for this calculation
          default: 0
        cores:
          type: integer
          title: Cores
          description: The number of cores used by VASP
          default: 0
      type: object
      title: RunStatistics
      description: Summary of the run statistics for a VASP calculation.
    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
    TypedPerIonProps:
      properties:
        s:
          type: number
          title: S
        p:
          type: number
          title: P
        d:
          type: number
          title: D
        tot:
          type: number
          title: Tot
      type: object
      required:
      - s
      - p
      - d
      - tot
      title: TypedPerIonProps
    IonicStep:
      properties:
        e_fr_energy:
          anyOf:
          - type: number
          - type: 'null'
          title: E Fr Energy
          description: The free energy.
        e_wo_entrp:
          anyOf:
          - type: number
          - type: 'null'
          title: E Wo Entrp
          description: The energy without entropy.
        e_0_energy:
          anyOf:
          - type: number
          - type: 'null'
          title: E 0 Energy
          description: The internal energy.
        forces:
          anyOf:
          - items:
              prefixItems:
              - type: number
              - type: number
              - type: number
              type: array
              maxItems: 3
              minItems: 3
            type: array
          - type: 'null'
          title: Forces
          description: The forces on each atom.
        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: Stress
          description: The stress on the lattice.
        electronic_steps:
          anyOf:
          - items:
              $ref: '#/components/schemas/ElectronicStep'
            type: array
          - type: 'null'
          title: Electronic Steps
          description: The electronic convergence steps.
        num_electronic_steps:
          anyOf:
          - type: integer
          - type: 'null'
          title: Num Electronic Steps
          description: The number of electronic steps needed to reach convergence.
        structure:
          anyOf:
          - $ref: '#/components/schemas/TypedStructureDict'
          - type: 'null'
          title: Structure
          description: The structure at this step.
      additionalProperties: true
      type: object
      title: IonicStep
      description: Document defining the information at each ionic step.
    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: boo

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