---
title: "Create a Molecule"
method: POST
path: "/molecules"
tags: ["molecules"]
---

# Create a Molecule

`POST /molecules`

## Request

- Base URL: `https://{tenant_name}.benchling.com/api/v2`
- URL: `https://{tenant_name}.benchling.com/api/v2/molecules`
- Auth: HTTP bearer

Create a Molecule

## Request body

- MoleculeCreate
  - `aliases` string[]: Aliases to add to the Molecule.
  - `authorIds` string[]: IDs of users to set as the Molecule's authors.
  - `chemicalStructure` MoleculeStructure, required
    - `structureFormat` 'smiles' | 'molfile': Format of the chemical structure. - smiles - molfile
    - `value` string: Chemical structure in SMILES or molfile format. Pass an empty SMILES string to create a Molecule with no defined structure (equivalent to leaving the structure blank in the app's sketcher).
  - `customFields` CustomFields
  - `fields` Fields
  - `folderId` string: ID of the folder containing the entity. Can be left empty when registryId is present.
  - `name` string, required: Name of the Molecule.
  - `schemaId` string: ID of the Molecule's schema.
  - `entityRegistryId` string: Entity registry ID to set for the registered entity. Cannot specify both entityRegistryId and namingStrategy at the same time.
  - `namingStrategy` 'NEW_IDS' | 'IDS_FROM_NAMES' | 'DELETE_NAMES' | 'SET_FROM_NAME_PARTS' | 'REPLACE_NAMES_FROM_PARTS' | 'KEEP_NAMES' | 'REPLACE_ID_AND_NAME_FROM_PARTS': Specifies the behavior for automatically generated names when registering an entity. - NEW_IDS: Generate new registry IDs - IDS_FROM_NAMES: Generate registry IDs based on entity names - DELETE_NAMES: Generate new registry IDs and replace name with registry ID - SET_FROM_NAME_PARTS: Generate new registry IDs, rename according to name template, and keep old name as alias - REPLACE_NAMES_FROM_PARTS: Generate new registry IDs, and replace name according to name template - KEEP_NAMES: Keep existing entity names as registry IDs - REPLACE_ID_AND_NAME_FROM_PARTS: Generate registry IDs and names according to name template
  - `registryId` string: Registry ID into which entity should be registered. this is the ID of the registry which was configured for a particular organization To get available registryIds, use the [/registries endpoint](https://docs.benchling.com/docs/api/v2/benchling-api/registry/list-registries) Required in order for entities to be created directly in the registry.

## Response `201`

Created

- Molecule
  - `aliases` string[]: Array of aliases.
  - `apiURL` string, uri: The canonical url of the Molecule in the API.
  - `archiveRecord` ArchiveRecord
    - `reason` string
  - `authors` UserSummary[]
    - `handle` string
    - `id` string
    - `name` string
  - `canonicalizedSmiles` string: The canonicalized chemical structure in SMILES format.
  - `createdAt` string, date-time: DateTime the Molecule was created.
  - `creator` UserSummary
    - `handle` string
    - `id` string
    - `name` string
  - `customFields` CustomFields
  - `entityRegistryId` string, nullable: Registry ID of the Molecule if registered.
  - `fields` Fields
  - `folderId` string, nullable: ID of the folder that contains the Molecule.
  - `id` string: ID of the Molecule.
  - `modifiedAt` string, date-time: DateTime the Molecule was last modified.
  - `name` string: Name of the Molecule.
  - `originalSmiles` string, nullable: The original chemical structure supplied by the user in SMILES format. Null if the user did not originally supply SMILES.
  - `registrationOrigin` RegistrationOrigin
    - `originEntryId` string, nullable
    - `registeredAt` string, date-time
  - `registryId` string, nullable: Registry the Molecule is registered in.
  - `schema` SchemaSummary
    - `id` string
    - `name` string
  - `webURL` string, uri: URL of the Molecule.

## Other responses

- `400`: Bad Request
- `503`: Deprecated, a 429 is returned for too many requests

---

[API](https://skmtc.dev/benchling/apis/benchling-api-2.md) - [All operations](https://skmtc.dev/benchling/apis/benchling-api-2/llms.txt) - [OpenAPI document](https://skmtc.dev/benchling/apis/benchling-api-2/revisions/01d2fa8523cd?raw)
