---
title: "Create a new model within an organization"
method: POST
path: "/models"
---

# Create a new model within an organization

`POST /models`

Create a new model in the specified organization.

## Request body

- CreateModel — Model for creating a new model.
  - `name` string, required — The name of the model.
  - `description` string, nullable — An optional description for the model.
  - `pybamm_version` string, nullable — PyBaMM version used for this model. If not provided, will be read from pybamm.__version__.
  - `chemistry` 'lithium_ion' | 'lithium_sulfur' | 'ecm' | 'generic' — Model chemistry kind: 'lithium_ion' (default — assumes pybamm lithium-ion conventions), 'lithium_sulfur', 'ecm', or 'generic' (no chemistry-specific enrichment).
  - `simulation_settings` object, nullable — Optional persistent simulation kwargs (var_pts / submesh_types / spatial_methods / geometry / solver) in the flat canonical form, re-applied at simulation time. None uses the model defaults.
  - `config` object, required — Model configuration stored as JSON.

## Response `201`

Successful Response

- Model — Model representing a model as returned by the API (without config).
  - `name` string, required — The name of the model.
  - `description` string, nullable — An optional description for the model.
  - `pybamm_version` string, nullable — PyBaMM version used for this model. If not provided, will be read from pybamm.__version__.
  - `chemistry` 'lithium_ion' | 'lithium_sulfur' | 'ecm' | 'generic' — Model chemistry kind: 'lithium_ion' (default — assumes pybamm lithium-ion conventions), 'lithium_sulfur', 'ecm', or 'generic' (no chemistry-specific enrichment).
  - `simulation_settings` object, nullable — Optional persistent simulation kwargs (var_pts / submesh_types / spatial_methods / geometry / solver) in the flat canonical form, re-applied at simulation time. None uses the model defaults.
  - `id` string, required — The unique identifier for the model.
  - `user_id` string, required — The ID of the user who created the model.
  - `organization_id` string, required — The ID of the organization this model belongs to.
  - `created_by_email` string, nullable — Email of the user who created the model.
  - `created_at` string, date-time, required — Timestamp of when the model was created.
  - `updated_at` string, date-time, required — Timestamp of when the model was last updated.
  - `is_custom_model` boolean, required — Check if this is a custom model (has compressed model data).

## Other responses

- `422` — Validation Error

---

[API](https://skmtc.dev/ionworks/apis/fastapi.md) · [All operations](https://skmtc.dev/ionworks/apis/fastapi/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/ionworks/fastapi/revisions/7337a3cbdaf2/schema)
