Skip to content
Go to Boltz API

Protein

Design novel protein binders, redesign selected residues in fixed structures, and screen protein libraries against targets.

ProteinDesign

Generate novel protein binders optimized for binding to a target structure. Binder specifications can be provided directly, uploaded as structure templates, or selected from Boltz-managed curated nanobody and antibody defaults. Results are scored by binding confidence (likelihood of protein-protein interaction) and structure confidence.

Start a protein de novo design run
protein.design.start(DesignStartParams**kwargs) -> DesignStartResponse
POST/compute/v1/protein/design
List protein design runs
protein.design.list(DesignListParams**kwargs) -> SyncCursorPage[DesignListResponse]
GET/compute/v1/protein/design
List curated protein design specifications
protein.design.list_curated_specifications(DesignListCuratedSpecificationsParams**kwargs) -> DesignListCuratedSpecificationsResponse
GET/compute/v1/protein/design/curated-specifications
Get protein design run status
protein.design.retrieve(strid, DesignRetrieveParams**kwargs) -> DesignRetrieveResponse
GET/compute/v1/protein/design/{id}
Get generated protein designs
protein.design.list_results(strid, DesignListResultsParams**kwargs) -> SyncCursorPage[DesignListResultsResponse]
GET/compute/v1/protein/design/{id}/results
Stop a running protein design run
protein.design.stop(strid) -> DesignStopResponse
POST/compute/v1/protein/design/{id}/stop
Resume a stopped protein design run
protein.design.resume(strid) -> DesignResumeResponse
POST/compute/v1/protein/design/{id}/resume
Delete protein design run data
protein.design.delete_data(strid) -> DesignDeleteDataResponse
POST/compute/v1/protein/design/{id}/delete-data
Estimate cost for a protein design run
protein.design.estimate_cost(DesignEstimateCostParams**kwargs) -> DesignEstimateCostResponse
POST/compute/v1/protein/design/estimate-cost
ModelsExpand Collapse
class DesignStartResponse:

A protein design pipeline run that generates novel protein binders

id: str

Unique ProteinDesignRun identifier

completed_at: Optional[datetime]
formatdate-time
created_at: datetime
formatdate-time
data_deleted_at: Optional[datetime]

When the input, output, and result data was permanently deleted. Null if data has not been deleted.

formatdate-time
Deprecatedengine: Literal["boltzprot"]
Use pipeline instead.

Deprecated. Use pipeline instead.

Deprecatedengine_version: Literal["1.0"]
Use pipeline_version instead.

Deprecated. Use pipeline_version instead.

error: Optional[Error]
code: str

Machine-readable error code

message: str

Human-readable error message

details: Optional[object]

Additional field-level error details keyed by input path, when available.

input: Optional[Input]

Pipeline input (null if data deleted)

binder_specification: InputBinderSpecification

Binder specification for protein design. Use no_template for sequence-defined binders, structure_template for uploaded binder structures, boltz_curated for Boltz-managed nanobody and antibody defaults, or uniformly_sampled_specifications to sample uniformly across multiple binder specifications.

One of the following:
class InputBinderSpecificationStructureTemplateBinderSpecResponse:

Binder specification starting from an existing 3D structure. Upload a CIF/PDB file and select which chains to include, which residues to keep, and which regions to redesign. Only chains included in chain_selection are part of the pipeline run.

chain_selection: Dict[str, InputBinderSpecificationStructureTemplateBinderSpecResponseChainSelection]

Chains selected from the uploaded binder structure, keyed by chain ID. Only chains listed here are included in the pipeline run — any chains omitted from this mapping are ignored. Each value defines which residues to keep (crop_residues). Omit design_motifs to include the chain as fixed scaffold context.

One of the following:
class InputBinderSpecificationStructureTemplateBinderSpecResponseChainSelectionStructureTemplatePolymerChainSpec:

Per-chain crop and design specification for a polymer chain in structure_template mode.

chain_type: Literal["polymer"]
crop_residues: Union[List[int], Literal["all"]]

0-indexed residue indices to retain from this chain, or ‘all’ to keep all residues. Residues not listed are removed before design.

One of the following:
List[int]
Literal["all"]
design_motifs: Optional[List[InputBinderSpecificationStructureTemplateBinderSpecResponseChainSelectionStructureTemplatePolymerChainSpecDesignMotif]]

Optional motifs (replacement or insertion) defining which regions to redesign on this chain. Omit this field to include the chain as fixed scaffold context.

One of the following:
class InputBinderSpecificationStructureTemplateBinderSpecResponseChainSelectionStructureTemplatePolymerChainSpecDesignMotifReplacementMotif:

Replace a contiguous region of the sequence with a designed segment. Residues from start_index to end_index (inclusive) are replaced with a new sequence of the specified length.

design_length_range: InputBinderSpecificationStructureTemplateBinderSpecResponseChainSelectionStructureTemplatePolymerChainSpecDesignMotifReplacementMotifDesignLengthRange

Allowed sequence length range for designed regions

max: int

Maximum sequence length in residues. Must be >= min.

minimum0
min: int

Minimum sequence length in residues

minimum0
end_index: int

0-indexed end residue (inclusive)

minimum0
start_index: int

0-indexed start residue (inclusive)

minimum0
type: Literal["replacement"]
class InputBinderSpecificationStructureTemplateBinderSpecResponseChainSelectionStructureTemplatePolymerChainSpecDesignMotifInsertionMotif:

Insert a designed segment at a specific position in the sequence.

after_residue_index: int

0-indexed position after which to insert. Use -1 to insert before the first residue.

minimum-1
design_length_range: InputBinderSpecificationStructureTemplateBinderSpecResponseChainSelectionStructureTemplatePolymerChainSpecDesignMotifInsertionMotifDesignLengthRange

Allowed sequence length range for designed regions

max: int

Maximum sequence length in residues. Must be >= min.

minimum0
min: int

Minimum sequence length in residues

minimum0
type: Literal["insertion"]
class InputBinderSpecificationStructureTemplateBinderSpecResponseChainSelectionStructureTemplateLigandChainSpec:

Per-chain specification for a ligand chain in structure_template mode. The full ligand is always included.

chain_type: Literal["ligand"]
modality: Literal["peptide", "antibody", "nanobody", "custom_protein"]
One of the following:
"peptide"
"antibody"
"nanobody"
"custom_protein"
structure: InputBinderSpecificationStructureTemplateBinderSpecResponseStructure
url: str

URL to download the file

formaturi
url_expires_at: datetime

When the presigned URL expires

formatdate-time
type: Literal["structure_template"]
rules: Optional[InputBinderSpecificationStructureTemplateBinderSpecResponseRules]

Constraints applied during sequence design

excluded_amino_acids: Optional[List[str]]

Single-letter amino acid codes to exclude from design (e.g. [‘C’, ‘P’] to exclude cysteine and proline)

excluded_sequence_motifs: Optional[List[str]]

Sequence motifs to exclude from designed regions. Designs containing any of these motifs are filtered out before scoring. Use X as a single-residue wildcard (e.g. “NGS”, “NXS”).

max_hydrophobic_fraction: Optional[float]

Maximum allowed fraction of hydrophobic residues (I, L, V, M, F, W, Y) in designed regions. Designs exceeding this threshold are filtered out before scoring. Leave empty to disable.

minimum0
maximum1
class InputBinderSpecificationNoTemplateBinderSpecResponse:

Binder specification without a structural template. Define the binder from sequence components (fixed and designed segments) without providing a starting 3D structure.

entities: List[InputBinderSpecificationNoTemplateBinderSpecResponseEntity]

Binder entities composing the design. At least one must be a designed_protein entity. Additional fixed entities (RNA, DNA, ligands) can be included as part of the complex.

One of the following:
class InputBinderSpecificationNoTemplateBinderSpecResponseEntityDesignedProteinEntityResponse:

Protein binder entity with designed and/or fixed segments.

chain_ids: List[str]

Chain IDs to assign to this entity

type: Literal["designed_protein"]
value: str

Binder sequence specification. Fixed amino acids are written as literal single-letter codes. Designed regions are written as a length (fixed) or a length range (min..max). Example: “MKTAYI5..10VKSHFSRQ” means fixed MKTAYI, then 5-10 designed residues, then fixed VKSHFSRQ. “20” means 20 fully designed residues. “ACDE8GHI” means fixed ACDE, then 8 designed residues, then fixed GHI.

cyclic: Optional[bool]

Whether the sequence is cyclic

modifications: Optional[List[InputBinderSpecificationNoTemplateBinderSpecResponseEntityDesignedProteinEntityResponseModification]]

Optional CCD polymer modifications. Defaults to [] when omitted. SMILES modifications are not supported.

residue_index: int

0-based index of the residue to modify

minimum0
type: Literal["ccd"]

Modification format. Only CCD polymer modifications are supported.

value: str

CCD code from RCSB PDB (e.g. ‘MSE’ for selenomethionine, ‘SEP’ for phosphoserine)

class InputBinderSpecificationNoTemplateBinderSpecResponseEntityFixedProteinEntityResponse:

A fixed protein entity whose sequence is not redesigned.

chain_ids: List[str]

Chain IDs to assign to this entity

type: Literal["protein"]
value: str

Amino acid sequence (one-letter codes)

cyclic: Optional[bool]

Whether the sequence is cyclic

modifications: Optional[List[InputBinderSpecificationNoTemplateBinderSpecResponseEntityFixedProteinEntityResponseModification]]

Optional CCD polymer modifications. Defaults to [] when omitted. SMILES modifications are not supported.

residue_index: int

0-based index of the residue to modify

minimum0
type: Literal["ccd"]

Modification format. Only CCD polymer modifications are supported.

value: str

CCD code from RCSB PDB (e.g. ‘MSE’ for selenomethionine, ‘SEP’ for phosphoserine)

class InputBinderSpecificationNoTemplateBinderSpecResponseEntityFixedRnaEntityResponse:
chain_ids: List[str]

Chain IDs to assign to this entity

type: Literal["rna"]
value: str

RNA nucleotide sequence (A, C, G, U, N)

cyclic: Optional[bool]

Whether the sequence is cyclic

modifications: Optional[List[InputBinderSpecificationNoTemplateBinderSpecResponseEntityFixedRnaEntityResponseModification]]

Optional CCD polymer modifications. Defaults to [] when omitted. SMILES modifications are not supported.

residue_index: int

0-based index of the residue to modify

minimum0
type: Literal["ccd"]

Modification format. Only CCD polymer modifications are supported.

value: str

CCD code from RCSB PDB (e.g. ‘MSE’ for selenomethionine, ‘SEP’ for phosphoserine)

class InputBinderSpecificationNoTemplateBinderSpecResponseEntityFixedDnaEntityResponse:
chain_ids: List[str]

Chain IDs to assign to this entity

type: Literal["dna"]
value: str

DNA nucleotide sequence (A, C, G, T, N)

cyclic: Optional[bool]

Whether the sequence is cyclic

modifications: Optional[List[InputBinderSpecificationNoTemplateBinderSpecResponseEntityFixedDnaEntityResponseModification]]

Optional CCD polymer modifications. Defaults to [] when omitted. SMILES modifications are not supported.

residue_index: int

0-based index of the residue to modify

minimum0
type: Literal["ccd"]

Modification format. Only CCD polymer modifications are supported.

value: str

CCD code from RCSB PDB (e.g. ‘MSE’ for selenomethionine, ‘SEP’ for phosphoserine)

class InputBinderSpecificationNoTemplateBinderSpecResponseEntityFixedLigandSmilesEntityResponse:
chain_ids: List[str]

Chain IDs to assign to this entity

type: Literal["ligand_smiles"]
value: str

SMILES string representing the ligand

class InputBinderSpecificationNoTemplateBinderSpecResponseEntityFixedLigandCcdEntityResponse:
chain_ids: List[str]

Chain IDs to assign to this entity

type: Literal["ligand_ccd"]
value: str

CCD code from RCSB PDB (e.g. ‘ATP’, ‘ADP’)

modality: Literal["peptide", "antibody", "nanobody", "custom_protein"]
One of the following:
"peptide"
"antibody"
"nanobody"
"custom_protein"
type: Literal["no_template"]
bonds: Optional[List[InputBinderSpecificationNoTemplateBinderSpecResponseBond]]

Covalent bond constraints between atoms in the binder complex. If defining bonds where an atom is part of a designed protein chain, assume residue indices count designed regions as the minimum length. Example: designed protein “1..3C1..2”, “C” is residue 1 (0-indexed) of the designed protein.

atom1: InputBinderSpecificationNoTemplateBinderSpecResponseBondAtom1

Ligand atom reference for a CCD atom or an explicitly atom-mapped SMILES atom.

One of the following:
class InputBinderSpecificationNoTemplateBinderSpecResponseBondAtom1LigandAtomResponse:

Ligand atom reference for a CCD atom or an explicitly atom-mapped SMILES atom.

atom_name: str

Atom name. For ligand_ccd, use the standardized CIF atom name. For ligand_smiles, explicitly label the atom with numeric atom-map notation: [C:1] is referenced as C1 and [O:2] as O2. The resulting name must be unique within the molecule and at most four characters.

chain_id: str

Chain ID containing the atom

type: Literal["ligand_atom"]
class InputBinderSpecificationNoTemplateBinderSpecResponseBondAtom1PolymerAtomResponse:
atom_name: str

Standardized atom name (verifiable in CIF file on RCSB)

chain_id: str

Chain ID containing the atom

residue_index: int

0-based residue index

minimum0
type: Literal["polymer_atom"]
atom2: InputBinderSpecificationNoTemplateBinderSpecResponseBondAtom2

Ligand atom reference for a CCD atom or an explicitly atom-mapped SMILES atom.

One of the following:
class InputBinderSpecificationNoTemplateBinderSpecResponseBondAtom2LigandAtomResponse:

Ligand atom reference for a CCD atom or an explicitly atom-mapped SMILES atom.

atom_name: str

Atom name. For ligand_ccd, use the standardized CIF atom name. For ligand_smiles, explicitly label the atom with numeric atom-map notation: [C:1] is referenced as C1 and [O:2] as O2. The resulting name must be unique within the molecule and at most four characters.

chain_id: str

Chain ID containing the atom

type: Literal["ligand_atom"]
class InputBinderSpecificationNoTemplateBinderSpecResponseBondAtom2PolymerAtomResponse:
atom_name: str

Standardized atom name (verifiable in CIF file on RCSB)

chain_id: str

Chain ID containing the atom

residue_index: int

0-based residue index

minimum0
type: Literal["polymer_atom"]
rules: Optional[InputBinderSpecificationNoTemplateBinderSpecResponseRules]

Constraints applied during sequence design

excluded_amino_acids: Optional[List[str]]

Single-letter amino acid codes to exclude from design (e.g. [‘C’, ‘P’] to exclude cysteine and proline)

excluded_sequence_motifs: Optional[List[str]]

Sequence motifs to exclude from designed regions. Designs containing any of these motifs are filtered out before scoring. Use X as a single-residue wildcard (e.g. “NGS”, “NXS”).

max_hydrophobic_fraction: Optional[float]

Maximum allowed fraction of hydrophobic residues (I, L, V, M, F, W, Y) in designed regions. Designs exceeding this threshold are filtered out before scoring. Leave empty to disable.

minimum0
maximum1
class InputBinderSpecificationBoltzCuratedBinderSpecResponse:

Boltz-managed curated binder specification. Choose a curated nanobody or antibody family and Boltz will select from maintained template lists during design. The curated lists are managed by Boltz and may be updated over time to improve quality and coverage.

binder: Literal["boltz_nanobody", "boltz_antibody"]

Boltz-managed curated binder family. Boltz maintains and may update the underlying template lists on behalf of customers.

One of the following:
"boltz_nanobody"
"boltz_antibody"
type: Literal["boltz_curated"]
rules: Optional[InputBinderSpecificationBoltzCuratedBinderSpecResponseRules]

Constraints applied during sequence design

excluded_amino_acids: Optional[List[str]]

Single-letter amino acid codes to exclude from design (e.g. [‘C’, ‘P’] to exclude cysteine and proline)

excluded_sequence_motifs: Optional[List[str]]

Sequence motifs to exclude from designed regions. Designs containing any of these motifs are filtered out before scoring. Use X as a single-residue wildcard (e.g. “NGS”, “NXS”).

max_hydrophobic_fraction: Optional[float]

Maximum allowed fraction of hydrophobic residues (I, L, V, M, F, W, Y) in designed regions. Designs exceeding this threshold are filtered out before scoring. Leave empty to disable.

minimum0
maximum1
class InputBinderSpecificationUniformlySampledBinderSpecResponse:

A collection of binder specifications sampled uniformly during protein design. This lets one run explore multiple binder definitions while keeping each generation request shape unchanged.

binder_specifications: List[InputBinderSpecificationUniformlySampledBinderSpecResponseBinderSpecification]

Binder specifications to sample uniformly when generating designs. Each generation samples one specification from this list; over larger runs this gives roughly equal representation.

One of the following:
class InputBinderSpecificationUniformlySampledBinderSpecResponseBinderSpecificationStructureTemplateBinderSpecResponse:

Binder specification starting from an existing 3D structure. Upload a CIF/PDB file and select which chains to include, which residues to keep, and which regions to redesign. Only chains included in chain_selection are part of the pipeline run.

chain_selection: Dict[str, InputBinderSpecificationUniformlySampledBinderSpecResponseBinderSpecificationStructureTemplateBinderSpecResponseChainSelection]

Chains selected from the uploaded binder structure, keyed by chain ID. Only chains listed here are included in the pipeline run — any chains omitted from this mapping are ignored. Each value defines which residues to keep (crop_residues). Omit design_motifs to include the chain as fixed scaffold context.

One of the following:
class InputBinderSpecificationUniformlySampledBinderSpecResponseBinderSpecificationStructureTemplateBinderSpecResponseChainSelectionStructureTemplatePolymerChainSpec:

Per-chain crop and design specification for a polymer chain in structure_template mode.

chain_type: Literal["polymer"]
crop_residues: Union[List[int], Literal["all"]]

0-indexed residue indices to retain from this chain, or ‘all’ to keep all residues. Residues not listed are removed before design.

One of the following:
List[int]
Literal["all"]
design_motifs: Optional[List[InputBinderSpecificationUniformlySampledBinderSpecResponseBinderSpecificationStructureTemplateBinderSpecResponseChainSelectionStructureTemplatePolymerChainSpecDesignMotif]]

Optional motifs (replacement or insertion) defining which regions to redesign on this chain. Omit this field to include the chain as fixed scaffold context.

One of the following:
class InputBinderSpecificationUniformlySampledBinderSpecResponseBinderSpecificationStructureTemplateBinderSpecResponseChainSelectionStructureTemplatePolymerChainSpecDesignMotifReplacementMotif:

Replace a contiguous region of the sequence with a designed segment. Residues from start_index to end_index (inclusive) are replaced with a new sequence of the specified length.

design_length_range: InputBinderSpecificationUniformlySampledBinderSpecResponseBinderSpecificationStructureTemplateBinderSpecResponseChainSelectionStructureTemplatePolymerChainSpecDesignMotifReplacementMotifDesignLengthRange

Allowed sequence length range for designed regions

max: int

Maximum sequence length in residues. Must be >= min.

minimum0
min: int

Minimum sequence length in residues

minimum0
end_index: int

0-indexed end residue (inclusive)

minimum0
start_index: int

0-indexed start residue (inclusive)

minimum0
type: Literal["replacement"]
class InputBinderSpecificationUniformlySampledBinderSpecResponseBinderSpecificationStructureTemplateBinderSpecResponseChainSelectionStructureTemplatePolymerChainSpecDesignMotifInsertionMotif:

Insert a designed segment at a specific position in the sequence.

after_residue_index: int

0-indexed position after which to insert. Use -1 to insert before the first residue.

minimum-1
design_length_range: InputBinderSpecificationUniformlySampledBinderSpecResponseBinderSpecificationStructureTemplateBinderSpecResponseChainSelectionStructureTemplatePolymerChainSpecDesignMotifInsertionMotifDesignLengthRange

Allowed sequence length range for designed regions

max: int

Maximum sequence length in residues. Must be >= min.

minimum0
min: int

Minimum sequence length in residues

minimum0
type: Literal["insertion"]
class InputBinderSpecificationUniformlySampledBinderSpecResponseBinderSpecificationStructureTemplateBinderSpecResponseChainSelectionStructureTemplateLigandChainSpec:

Per-chain specification for a ligand chain in structure_template mode. The full ligand is always included.

chain_type: Literal["ligand"]
modality: Literal["peptide", "antibody", "nanobody", "custom_protein"]
One of the following:
"peptide"
"antibody"
"nanobody"
"custom_protein"
structure: InputBinderSpecificationUniformlySampledBinderSpecResponseBinderSpecificationStructureTemplateBinderSpecResponseStructure
url: str

URL to download the file

formaturi
url_expires_at: datetime

When the presigned URL expires

formatdate-time
type: Literal["structure_template"]
rules: Optional[InputBinderSpecificationUniformlySampledBinderSpecResponseBinderSpecificationStructureTemplateBinderSpecResponseRules]

Constraints applied during sequence design

excluded_amino_acids: Optional[List[str]]

Single-letter amino acid codes to exclude from design (e.g. [‘C’, ‘P’] to exclude cysteine and proline)

excluded_sequence_motifs: Optional[List[str]]

Sequence motifs to exclude from designed regions. Designs containing any of these motifs are filtered out before scoring. Use X as a single-residue wildcard (e.g. “NGS”, “NXS”).

max_hydrophobic_fraction: Optional[float]

Maximum allowed fraction of hydrophobic residues (I, L, V, M, F, W, Y) in designed regions. Designs exceeding this threshold are filtered out before scoring. Leave empty to disable.

minimum0
maximum1
class InputBinderSpecificationUniformlySampledBinderSpecResponseBinderSpecificationNoTemplateBinderSpecResponse:

Binder specification without a structural template. Define the binder from sequence components (fixed and designed segments) without providing a starting 3D structure.

entities: List[InputBinderSpecificationUniformlySampledBinderSpecResponseBinderSpecificationNoTemplateBinderSpecResponseEntity]

Binder entities composing the design. At least one must be a designed_protein entity. Additional fixed entities (RNA, DNA, ligands) can be included as part of the complex.

One of the following:
class InputBinderSpecificationUniformlySampledBinderSpecResponseBinderSpecificationNoTemplateBinderSpecResponseEntityDesignedProteinEntityResponse:

Protein binder entity with designed and/or fixed segments.

chain_ids: List[str]

Chain IDs to assign to this entity

type: Literal["designed_protein"]
value: str

Binder sequence specification. Fixed amino acids are written as literal single-letter codes. Designed regions are written as a length (fixed) or a length range (min..max). Example: “MKTAYI5..10VKSHFSRQ” means fixed MKTAYI, then 5-10 designed residues, then fixed VKSHFSRQ. “20” means 20 fully designed residues. “ACDE8GHI” means fixed ACDE, then 8 designed residues, then fixed GHI.

cyclic: Optional[bool]

Whether the sequence is cyclic

modifications: Optional[List[InputBinderSpecificationUniformlySampledBinderSpecResponseBinderSpecificationNoTemplateBinderSpecResponseEntityDesignedProteinEntityResponseModification]]

Optional CCD polymer modifications. Defaults to [] when omitted. SMILES modifications are not supported.

residue_index: int

0-based index of the residue to modify

minimum0
type: Literal["ccd"]

Modification format. Only CCD polymer modifications are supported.

value: str

CCD code from RCSB PDB (e.g. ‘MSE’ for selenomethionine, ‘SEP’ for phosphoserine)

class InputBinderSpecificationUniformlySampledBinderSpecResponseBinderSpecificationNoTemplateBinderSpecResponseEntityFixedProteinEntityResponse:

A fixed protein entity whose sequence is not redesigned.

chain_ids: List[str]

Chain IDs to assign to this entity

type: Literal["protein"]
value: str

Amino acid sequence (one-letter codes)

cyclic: Optional[bool]

Whether the sequence is cyclic

modifications: Optional[List[InputBinderSpecificationUniformlySampledBinderSpecResponseBinderSpecificationNoTemplateBinderSpecResponseEntityFixedProteinEntityResponseModification]]

Optional CCD polymer modifications. Defaults to [] when omitted. SMILES modifications are not supported.

residue_index: int

0-based index of the residue to modify

minimum0
type: Literal["ccd"]

Modification format. Only CCD polymer modifications are supported.

value: str

CCD code from RCSB PDB (e.g. ‘MSE’ for selenomethionine, ‘SEP’ for phosphoserine)

class InputBinderSpecificationUniformlySampledBinderSpecResponseBinderSpecificationNoTemplateBinderSpecResponseEntityFixedRnaEntityResponse:
chain_ids: List[str]

Chain IDs to assign to this entity

type: Literal["rna"]
value: str

RNA nucleotide sequence (A, C, G, U, N)

cyclic: Optional[bool]

Whether the sequence is cyclic

modifications: Optional[List[InputBinderSpecificationUniformlySampledBinderSpecResponseBinderSpecificationNoTemplateBinderSpecResponseEntityFixedRnaEntityResponseModification]]

Optional CCD polymer modifications. Defaults to [] when omitted. SMILES modifications are not supported.

residue_index: int

0-based index of the residue to modify

minimum0
type: Literal["ccd"]

Modification format. Only CCD polymer modifications are supported.

value: str

CCD code from RCSB PDB (e.g. ‘MSE’ for selenomethionine, ‘SEP’ for phosphoserine)

class InputBinderSpecificationUniformlySampledBinderSpecResponseBinderSpecificationNoTemplateBinderSpecResponseEntityFixedDnaEntityResponse:
chain_ids: List[str]

Chain IDs to assign to this entity

type: Literal["dna"]
value: str

DNA nucleotide sequence (A, C, G, T, N)

cyclic: Optional[bool]

Whether the sequence is cyclic

modifications: Optional[List[InputBinderSpecificationUniformlySampledBinderSpecResponseBinderSpecificationNoTemplateBinderSpecResponseEntityFixedDnaEntityResponseModification]]

Optional CCD polymer modifications. Defaults to [] when omitted. SMILES modifications are not supported.

residue_index: int

0-based index of the residue to modify

minimum0
type: Literal["ccd"]

Modification format. Only CCD polymer modifications are supported.

value: str

CCD code from RCSB PDB (e.g. ‘MSE’ for selenomethionine, ‘SEP’ for phosphoserine)

class InputBinderSpecificationUniformlySampledBinderSpecResponseBinderSpecificationNoTemplateBinderSpecResponseEntityFixedLigandSmilesEntityResponse:
chain_ids: List[str]

Chain IDs to assign to this entity

type: Literal["ligand_smiles"]
value: str

SMILES string representing the ligand

class InputBinderSpecificationUniformlySampledBinderSpecResponseBinderSpecificationNoTemplateBinderSpecResponseEntityFixedLigandCcdEntityResponse:
chain_ids: List[str]

Chain IDs to assign to this entity

type: Literal["ligand_ccd"]
value: str

CCD code from RCSB PDB (e.g. ‘ATP’, ‘ADP’)

modality: Literal["peptide", "antibody", "nanobody", "custom_protein"]
One of the following:
"peptide"
"antibody"
"nanobody"
"custom_protein"
type: Literal["no_template"]
bonds: Optional[List[InputBinderSpecificationUniformlySampledBinderSpecResponseBinderSpecificationNoTemplateBinderSpecResponseBond]]

Covalent bond constraints between atoms in the binder complex. If defining bonds where an atom is part of a designed protein chain, assume residue indices count designed regions as the minimum length. Example: designed protein “1..3C1..2”, “C” is residue 1 (0-indexed) of the designed protein.

atom1: InputBinderSpecificationUniformlySampledBinderSpecResponseBinderSpecificationNoTemplateBinderSpecResponseBondAtom1

Ligand atom reference for a CCD atom or an explicitly atom-mapped SMILES atom.

One of the following:
class InputBinderSpecificationUniformlySampledBinderSpecResponseBinderSpecificationNoTemplateBinderSpecResponseBondAtom1LigandAtomResponse:

Ligand atom reference for a CCD atom or an explicitly atom-mapped SMILES atom.

atom_name: str

Atom name. For ligand_ccd, use the standardized CIF atom name. For ligand_smiles, explicitly label the atom with numeric atom-map notation: [C:1] is referenced as C1 and [O:2] as O2. The resulting name must be unique within the molecule and at most four characters.

chain_id: str

Chain ID containing the atom

type: Literal["ligand_atom"]
class InputBinderSpecificationUniformlySampledBinderSpecResponseBinderSpecificationNoTemplateBinderSpecResponseBondAtom1PolymerAtomResponse:
atom_name: str

Standardized atom name (verifiable in CIF file on RCSB)

chain_id: str

Chain ID containing the atom

residue_index: int

0-based residue index

minimum0
type: Literal["polymer_atom"]
atom2: InputBinderSpecificationUniformlySampledBinderSpecResponseBinderSpecificationNoTemplateBinderSpecResponseBondAtom2

Ligand atom reference for a CCD atom or an explicitly atom-mapped SMILES atom.

One of the following:
class InputBinderSpecificationUniformlySampledBinderSpecResponseBinderSpecificationNoTemplateBinderSpecResponseBondAtom2LigandAtomResponse:

Ligand atom reference for a CCD atom or an explicitly atom-mapped SMILES atom.

atom_name: str

Atom name. For ligand_ccd, use the standardized CIF atom name. For ligand_smiles, explicitly label the atom with numeric atom-map notation: [C:1] is referenced as C1 and [O:2] as O2. The resulting name must be unique within the molecule and at most four characters.

chain_id: str

Chain ID containing the atom

type: Literal["ligand_atom"]
class InputBinderSpecificationUniformlySampledBinderSpecResponseBinderSpecificationNoTemplateBinderSpecResponseBondAtom2PolymerAtomResponse:
atom_name: str

Standardized atom name (verifiable in CIF file on RCSB)

chain_id: str

Chain ID containing the atom

residue_index: int

0-based residue index

minimum0
type: Literal["polymer_atom"]
rules: Optional[InputBinderSpecificationUniformlySampledBinderSpecResponseBinderSpecificationNoTemplateBinderSpecResponseRules]

Constraints applied during sequence design

excluded_amino_acids: Optional[List[str]]

Single-letter amino acid codes to exclude from design (e.g. [‘C’, ‘P’] to exclude cysteine and proline)

excluded_sequence_motifs: Optional[List[str]]

Sequence motifs to exclude from designed regions. Designs containing any of these motifs are filtered out before scoring. Use X as a single-residue wildcard (e.g. “NGS”, “NXS”).

max_hydrophobic_fraction: Optional[float]

Maximum allowed fraction of hydrophobic residues (I, L, V, M, F, W, Y) in designed regions. Designs exceeding this threshold are filtered out before scoring. Leave empty to disable.

minimum0
maximum1
class InputBinderSpecificationUniformlySampledBinderSpecResponseBinderSpecificationBoltzCuratedBinderSpecResponse:

Boltz-managed curated binder specification. Choose a curated nanobody or antibody family and Boltz will select from maintained template lists during design. The curated lists are managed by Boltz and may be updated over time to improve quality and coverage.

binder: Literal["boltz_nanobody", "boltz_antibody"]

Boltz-managed curated binder family. Boltz maintains and may update the underlying template lists on behalf of customers.

One of the following:
"boltz_nanobody"
"boltz_antibody"
type: Literal["boltz_curated"]
rules: Optional[InputBinderSpecificationUniformlySampledBinderSpecResponseBinderSpecificationBoltzCuratedBinderSpecResponseRules]

Constraints applied during sequence design

excluded_amino_acids: Optional[List[str]]

Single-letter amino acid codes to exclude from design (e.g. [‘C’, ‘P’] to exclude cysteine and proline)

excluded_sequence_motifs: Optional[List[str]]

Sequence motifs to exclude from designed regions. Designs containing any of these motifs are filtered out before scoring. Use X as a single-residue wildcard (e.g. “NGS”, “NXS”).

max_hydrophobic_fraction: Optional[float]

Maximum allowed fraction of hydrophobic residues (I, L, V, M, F, W, Y) in designed regions. Designs exceeding this threshold are filtered out before scoring. Leave empty to disable.

minimum0
maximum1
type: Literal["uniformly_sampled_specifications"]
num_proteins: int

Number of protein designs to generate. Must be between 10 and 1,000,000.

minimum10
maximum1000000
target: InputTarget

Target specification (structure template or template-free)

One of the following:
class InputTargetStructureTemplateTargetResponse:

Target defined by an uploaded 3D structure (CIF or PDB file). Only chains included in chain_selection are used.

chain_selection: Dict[str, InputTargetStructureTemplateTargetResponseChainSelection]

Chains selected from the uploaded structure, keyed by chain ID. Only chains listed here are included in the pipeline run — any chains omitted from this mapping are ignored. Each value defines which residues to keep, which are epitope residues, which are non-binding residues, and which are flexible.

One of the following:
class InputTargetStructureTemplateTargetResponseChainSelectionStructureTemplateTargetPolymerChainSpec:

Per-chain specification for a polymer (protein/RNA/DNA) chain in a structure template target.

chain_type: Literal["polymer"]
crop_residues: Union[List[int], Literal["all"]]

0-indexed residue indices to retain from this chain, or ‘all’ to keep all residues. Residues not listed are excluded from the pipeline run.

One of the following:
List[int]

0-indexed residue indices to keep

Literal["all"]
epitope_residues: Optional[List[int]]

0-indexed residue indices where binder contact is desired (the epitope). All indices must be present in crop_residues and must not overlap non_binding_residues.

flexible_residues: Optional[List[int]]

0-indexed residue indices allowed to move during design (e.g. flexible loop regions). All indices must be present in crop_residues.

non_binding_residues: Optional[List[int]]

0-indexed residue indices where binder contact should be discouraged. All indices must be present in crop_residues and must not overlap epitope_residues.

class InputTargetStructureTemplateTargetResponseChainSelectionStructureTemplateTargetLigandChainSpec:

Per-chain specification for a ligand chain in a structure template target. The full ligand is always included.

chain_type: Literal["ligand"]
structure: InputTargetStructureTemplateTargetResponseStructure
url: str

URL to download the file

formaturi
url_expires_at: datetime

When the presigned URL expires

formatdate-time
type: Literal["structure_template"]
class InputTargetNoTemplateTargetResponse:

Target defined by sequences only, without a 3D structure template

entities: List[InputTargetNoTemplateTargetResponseEntity]

Entities (proteins, RNA, DNA, ligands) defining the target complex.

One of the following:
class InputTargetNoTemplateTargetResponseEntityProteinEntityResponse:
chain_ids: List[str]

Chain IDs for this entity

type: Literal["protein"]
value: str

Amino acid sequence (one-letter codes)

cyclic: Optional[bool]

Whether the sequence is cyclic

modifications: Optional[List[InputTargetNoTemplateTargetResponseEntityProteinEntityResponseModification]]

CCD post-translational modifications. Optional; defaults to an empty list when omitted. SMILES modifications are not supported.

residue_index: int

0-based index of the residue to modify

minimum0
type: Literal["ccd"]

Modification format. Only CCD polymer modifications are supported.

value: str

CCD code from RCSB PDB (e.g. ‘MSE’ for selenomethionine, ‘SEP’ for phosphoserine)

class InputTargetNoTemplateTargetResponseEntityRnaEntityResponse:
chain_ids: List[str]

Chain IDs for this entity

type: Literal["rna"]
value: str

RNA nucleotide sequence (A, C, G, U, N)

cyclic: Optional[bool]

Whether the sequence is cyclic

modifications: Optional[List[InputTargetNoTemplateTargetResponseEntityRnaEntityResponseModification]]

CCD chemical modifications. Optional; defaults to an empty list when omitted. SMILES modifications are not supported.

residue_index: int

0-based index of the residue to modify

minimum0
type: Literal["ccd"]

Modification format. Only CCD polymer modifications are supported.

value: str

CCD code from RCSB PDB (e.g. ‘MSE’ for selenomethionine, ‘SEP’ for phosphoserine)

class InputTargetNoTemplateTargetResponseEntityDnaEntityResponse:
chain_ids: List[str]

Chain IDs for this entity

type: Literal["dna"]
value: str

DNA nucleotide sequence (A, C, G, T, N)

cyclic: Optional[bool]

Whether the sequence is cyclic

modifications: Optional[List[InputTargetNoTemplateTargetResponseEntityDnaEntityResponseModification]]

CCD chemical modifications. Optional; defaults to an empty list when omitted. SMILES modifications are not supported.

residue_index: int

0-based index of the residue to modify

minimum0
type: Literal["ccd"]

Modification format. Only CCD polymer modifications are supported.

value: str

CCD code from RCSB PDB (e.g. ‘MSE’ for selenomethionine, ‘SEP’ for phosphoserine)

class InputTargetNoTemplateTargetResponseEntityLigandCcdEntityResponse:
chain_ids: List[str]

Chain IDs for this ligand

type: Literal["ligand_ccd"]
value: str

CCD code (e.g., ATP, ADP)

class InputTargetNoTemplateTargetResponseEntityLigandSmilesEntityResponse:
chain_ids: List[str]

Chain IDs for this ligand

type: Literal["ligand_smiles"]
value: str

SMILES string representing the ligand

type: Literal["no_template"]
bonds: Optional[List[InputTargetNoTemplateTargetResponseBond]]

Covalent bond constraints between atoms in the target complex. Ligand atom references support CCD atom names and explicitly atom-mapped SMILES atoms.

atom1: InputTargetNoTemplateTargetResponseBondAtom1

Ligand atom reference for a CCD atom or an explicitly atom-mapped SMILES atom.

One of the following:
class InputTargetNoTemplateTargetResponseBondAtom1LigandAtomResponse:

Ligand atom reference for a CCD atom or an explicitly atom-mapped SMILES atom.

atom_name: str

Atom name. For ligand_ccd, use the standardized CIF atom name. For ligand_smiles, explicitly label the atom with numeric atom-map notation: [C:1] is referenced as C1 and [O:2] as O2. The resulting name must be unique within the molecule and at most four characters.

chain_id: str

Chain ID containing the atom

type: Literal["ligand_atom"]
class InputTargetNoTemplateTargetResponseBondAtom1PolymerAtomResponse:
atom_name: str

Standardized atom name (verifiable in CIF file on RCSB)

chain_id: str

Chain ID containing the atom

residue_index: int

0-based residue index

minimum0
type: Literal["polymer_atom"]
atom2: InputTargetNoTemplateTargetResponseBondAtom2

Ligand atom reference for a CCD atom or an explicitly atom-mapped SMILES atom.

One of the following:
class InputTargetNoTemplateTargetResponseBondAtom2LigandAtomResponse:

Ligand atom reference for a CCD atom or an explicitly atom-mapped SMILES atom.

atom_name: str

Atom name. For ligand_ccd, use the standardized CIF atom name. For ligand_smiles, explicitly label the atom with numeric atom-map notation: [C:1] is referenced as C1 and [O:2] as O2. The resulting name must be unique within the molecule and at most four characters.

chain_id: str

Chain ID containing the atom

type: Literal["ligand_atom"]
class InputTargetNoTemplateTargetResponseBondAtom2PolymerAtomResponse:
atom_name: str

Standardized atom name (verifiable in CIF file on RCSB)

chain_id: str

Chain ID containing the atom

residue_index: int

0-based residue index

minimum0
type: Literal["polymer_atom"]
constraints: Optional[List[InputTargetNoTemplateTargetResponseConstraint]]

Structural constraints (pocket and contact). Ligand atom references support CCD atom names and explicitly atom-mapped SMILES atoms.

One of the following:
class InputTargetNoTemplateTargetResponseConstraintPocketConstraintResponse:

Constrains the binder to interact with specific pocket residues on the target.

binder_chain_id: str

Chain ID of the binder molecule

contact_residues: Dict[str, List[int]]

Binding pocket residues keyed by chain ID. Each key is a chain ID (e.g. “A”) and the value is an array of 0-indexed residue indices that define the pocket on that chain.

max_distance_angstrom: float

Maximum allowed distance in Angstroms between binder and pocket residues. Typical range: 4-8 A.

type: Literal["pocket"]
force: Optional[bool]

Whether to force the constraint

class InputTargetNoTemplateTargetResponseConstraintContactConstraintResponse:

Maximum-distance contact constraint between two polymer residues or ligand atoms.

max_distance_angstrom: float

Maximum distance in Angstroms

token1: InputTargetNoTemplateTargetResponseConstraintContactConstraintResponseToken1

Ligand contact token for a CCD atom or an explicitly atom-mapped SMILES atom.

One of the following:
class InputTargetNoTemplateTargetResponseConstraintContactConstraintResponseToken1PolymerContactTokenResponse:
chain_id: str

Chain ID

residue_index: int

0-based residue index

minimum0
type: Literal["polymer_contact"]
class InputTargetNoTemplateTargetResponseConstraintContactConstraintResponseToken1LigandContactTokenResponse:

Ligand contact token for a CCD atom or an explicitly atom-mapped SMILES atom.

atom_name: str

Atom name. For ligand_ccd, use the standardized CIF atom name. For ligand_smiles, explicitly label the atom with numeric atom-map notation: [C:1] is referenced as C1 and [O:2] as O2. The resulting name must be unique within the molecule and at most four characters.

chain_id: str

Chain ID

type: Literal["ligand_contact"]
token2: InputTargetNoTemplateTargetResponseConstraintContactConstraintResponseToken2

Ligand contact token for a CCD atom or an explicitly atom-mapped SMILES atom.

One of the following:
class InputTargetNoTemplateTargetResponseConstraintContactConstraintResponseToken2PolymerContactTokenResponse:
chain_id: str

Chain ID

residue_index: int

0-based residue index

minimum0
type: Literal["polymer_contact"]
class InputTargetNoTemplateTargetResponseConstraintContactConstraintResponseToken2LigandContactTokenResponse:

Ligand contact token for a CCD atom or an explicitly atom-mapped SMILES atom.

atom_name: str

Atom name. For ligand_ccd, use the standardized CIF atom name. For ligand_smiles, explicitly label the atom with numeric atom-map notation: [C:1] is referenced as C1 and [O:2] as O2. The resulting name must be unique within the molecule and at most four characters.

chain_id: str

Chain ID

type: Literal["ligand_contact"]
type: Literal["contact"]
force: Optional[bool]

Whether to force the constraint

epitope_ligand_chains: Optional[List[str]]

Chain IDs of ligand entities that are part of the binding epitope. Ligands are marked as epitope in full (no residue-level selection).

epitope_residues: Optional[Dict[str, List[int]]]

Polymer chain residues where binder contact is desired (the epitope). Each key is a chain ID of a polymer entity, each value is an array of 0-indexed residue indices. Residues must not overlap non_binding_residues on the same chain.

non_binding_residues: Optional[Dict[str, List[int]]]

Polymer chain residues where binder contact should be discouraged. Each key is a chain ID of a polymer entity, each value is an array of 0-indexed residue indices. Residues must not overlap epitope_residues on the same chain.

idempotency_key: Optional[str]

Client-provided key to prevent duplicate submissions on retries

maxLength255
workspace_id: Optional[str]

Target workspace ID (admin keys only; ignored for workspace keys)

livemode: bool

Whether this resource was created with a live API key.

pipeline: Literal["boltzprot"]

Pipeline used for protein design

pipeline_version: Literal["1.0"]

Pipeline version used for protein design

progress: Optional[Progress]
num_proteins_generated: int

Number of protein binders generated so far

minimum0
total_proteins_to_generate: int

Total number of protein binders requested

minimum1
latest_result_id: Optional[str]

ID of the most recently generated result

started_at: Optional[datetime]
formatdate-time
status: Literal["pending", "running", "succeeded", 2 more]
One of the following:
"pending"
"running"
"succeeded"
"failed"
"stopped"
stopped_at: Optional[datetime]
formatdate-time
workspace_id: str

Workspace ID

idempotency_key: Optional[str]

Client-provided idempotency key

class DesignListResponse:

Summary of a protein design pipeline run (excludes input)

id: str

Unique ProteinDesignRunSummary identifier

completed_at: Optional[datetime]
formatdate-time
created_at: datetime
formatdate-time
data_deleted_at: Optional[datetime]

When the input, output, and result data was permanently deleted. Null if data has not been deleted.

formatdate-time
Deprecatedengine: Literal["boltzprot"]
Use pipeline instead.

Deprecated. Use pipeline instead.

Deprecatedengine_version: Literal["1.0"]
Use pipeline_version instead.

Deprecated. Use pipeline_version instead.

error: Optional[Error]
code: str

Machine-readable error code

message: str

Human-readable error message

details: Optional[object]

Additional field-level error details keyed by input path, when available.

livemode: bool

Whether this resource was created with a live API key.

pipeline: Literal["boltzprot"]

Pipeline used for protein design

pipeline_version: Literal["1.0"]

Pipeline version used for protein design

progress: Optional[Progress]
num_proteins_generated: int

Number of protein binders generated so far

minimum0
total_proteins_to_generate: int

Total number of protein binders requested

minimum1
latest_result_id: Optional[str]

ID of the most recently generated result

started_at: Optional[datetime]
formatdate-time
status: Literal["pending", "running", "succeeded", 2 more]
One of the following:
"pending"
"running"
"succeeded"
"failed"
"stopped"
stopped_at: Optional[datetime]
formatdate-time
workspace_id: str

Workspace ID

idempotency_key: Optional[str]

Client-provided idempotency key

class DesignListCuratedSpecificationsResponse:
data: List[Data]
binder_specification: DataBinderSpecification

Binder specification for protein design. Use no_template for sequence-defined binders, structure_template for uploaded binder structures, boltz_curated for Boltz-managed nanobody and antibody defaults, or uniformly_sampled_specifications to sample uniformly across multiple binder specifications.

One of the following:
class DataBinderSpecificationStructureTemplateBinderSpec:

Binder specification starting from an existing 3D structure. Upload a CIF/PDB file and select which chains to include, which residues to keep, and which regions to redesign. Only chains included in chain_selection are part of the pipeline run.

chain_selection: Dict[str, DataBinderSpecificationStructureTemplateBinderSpecChainSelection]

Chains selected from the uploaded binder structure, keyed by chain ID. Only chains listed here are included in the pipeline run — any chains omitted from this mapping are ignored. Each value defines which residues to keep (crop_residues). Omit design_motifs to include the chain as fixed scaffold context.

One of the following:
class DataBinderSpecificationStructureTemplateBinderSpecChainSelectionStructureTemplatePolymerChainSpec:

Per-chain crop and design specification for a polymer chain in structure_template mode.

chain_type: Literal["polymer"]
crop_residues: Union[List[int], Literal["all"]]

0-indexed residue indices to retain from this chain, or ‘all’ to keep all residues. Residues not listed are removed before design.

One of the following:
List[int]
Literal["all"]
design_motifs: Optional[List[DataBinderSpecificationStructureTemplateBinderSpecChainSelectionStructureTemplatePolymerChainSpecDesignMotif]]

Optional motifs (replacement or insertion) defining which regions to redesign on this chain. Omit this field to include the chain as fixed scaffold context.

One of the following:
class DataBinderSpecificationStructureTemplateBinderSpecChainSelectionStructureTemplatePolymerChainSpecDesignMotifReplacementMotif:

Replace a contiguous region of the sequence with a designed segment. Residues from start_index to end_index (inclusive) are replaced with a new sequence of the specified length.

design_length_range: DataBinderSpecificationStructureTemplateBinderSpecChainSelectionStructureTemplatePolymerChainSpecDesignMotifReplacementMotifDesignLengthRange

Allowed sequence length range for designed regions

max: int

Maximum sequence length in residues. Must be >= min.

minimum0
min: int

Minimum sequence length in residues

minimum0
end_index: int

0-indexed end residue (inclusive)

minimum0
start_index: int

0-indexed start residue (inclusive)

minimum0
type: Literal["replacement"]
class DataBinderSpecificationStructureTemplateBinderSpecChainSelectionStructureTemplatePolymerChainSpecDesignMotifInsertionMotif:

Insert a designed segment at a specific position in the sequence.

after_residue_index: int

0-indexed position after which to insert. Use -1 to insert before the first residue.

minimum-1
design_length_range: DataBinderSpecificationStructureTemplateBinderSpecChainSelectionStructureTemplatePolymerChainSpecDesignMotifInsertionMotifDesignLengthRange

Allowed sequence length range for designed regions

max: int

Maximum sequence length in residues. Must be >= min.

minimum0
min: int

Minimum sequence length in residues

minimum0
type: Literal["insertion"]
class DataBinderSpecificationStructureTemplateBinderSpecChainSelectionStructureTemplateLigandChainSpec:

Per-chain specification for a ligand chain in structure_template mode. The full ligand is always included.

chain_type: Literal["ligand"]
modality: Literal["peptide", "antibody", "nanobody", "custom_protein"]
One of the following:
"peptide"
"antibody"
"nanobody"
"custom_protein"
structure: DataBinderSpecificationStructureTemplateBinderSpecStructure

How to provide a CIF structure file. URLs are auto-detected; base64 uploads must use chemical/x-cif media type.

One of the following:
class DataBinderSpecificationStructureTemplateBinderSpecStructureURLSource:
type: Literal["url"]
url: str
formaturi
class DataBinderSpecificationStructureTemplateBinderSpecStructureCifBase64Source:
data: str

Base64-encoded CIF file contents

media_type: Literal["chemical/x-cif"]

Must be chemical/x-cif for CIF files

type: Literal["base64"]
type: Literal["structure_template"]
rules: Optional[DataBinderSpecificationStructureTemplateBinderSpecRules]

Constraints applied during sequence design

excluded_amino_acids: Optional[List[str]]

Single-letter amino acid codes to exclude from design (e.g. [‘C’, ‘P’] to exclude cysteine and proline)

excluded_sequence_motifs: Optional[List[str]]

Sequence motifs to exclude from designed regions. Designs containing any of these motifs are filtered out before scoring. Use X as a single-residue wildcard (e.g. “NGS”, “NXS”).

max_hydrophobic_fraction: Optional[float]

Maximum allowed fraction of hydrophobic residues (I, L, V, M, F, W, Y) in designed regions. Designs exceeding this threshold are filtered out before scoring. Leave empty to disable.

minimum0
maximum1
class DataBinderSpecificationNoTemplateBinderSpec:

Binder specification without a structural template. Define the binder from sequence components (fixed and designed segments) without providing a starting 3D structure.

entities: List[DataBinderSpecificationNoTemplateBinderSpecEntity]

Binder entities composing the design. At least one must be a designed_protein entity. Additional fixed entities (RNA, DNA, ligands) can be included as part of the complex.

One of the following:
class DataBinderSpecificationNoTemplateBinderSpecEntityDesignedProteinEntity:

Protein binder entity with designed and/or fixed segments.

chain_ids: List[str]

Chain IDs to assign to this entity

type: Literal["designed_protein"]
value: str

Binder sequence specification. Fixed amino acids are written as literal single-letter codes. Designed regions are written as a length (fixed) or a length range (min..max). Example: “MKTAYI5..10VKSHFSRQ” means fixed MKTAYI, then 5-10 designed residues, then fixed VKSHFSRQ. “20” means 20 fully designed residues. “ACDE8GHI” means fixed ACDE, then 8 designed residues, then fixed GHI.

cyclic: Optional[bool]

Whether the sequence is cyclic

modifications: Optional[List[DataBinderSpecificationNoTemplateBinderSpecEntityDesignedProteinEntityModification]]

Optional CCD polymer modifications. Defaults to [] when omitted. SMILES modifications are not supported.

residue_index: int

0-based index of the residue to modify

minimum0
type: Literal["ccd"]

Modification format. Only CCD polymer modifications are supported.

value: str

CCD code from RCSB PDB (e.g. ‘MSE’ for selenomethionine, ‘SEP’ for phosphoserine)

class DataBinderSpecificationNoTemplateBinderSpecEntityFixedProteinEntity:

A fixed protein entity whose sequence is not redesigned.

chain_ids: List[str]

Chain IDs to assign to this entity

type: Literal["protein"]
value: str

Amino acid sequence (one-letter codes)

cyclic: Optional[bool]

Whether the sequence is cyclic

modifications: Optional[List[DataBinderSpecificationNoTemplateBinderSpecEntityFixedProteinEntityModification]]

Optional CCD polymer modifications. Defaults to [] when omitted. SMILES modifications are not supported.

residue_index: int

0-based index of the residue to modify

minimum0
type: Literal["ccd"]

Modification format. Only CCD polymer modifications are supported.

value: str

CCD code from RCSB PDB (e.g. ‘MSE’ for selenomethionine, ‘SEP’ for phosphoserine)

class DataBinderSpecificationNoTemplateBinderSpecEntityFixedRnaEntity:
chain_ids: List[str]

Chain IDs to assign to this entity

type: Literal["rna"]
value: str

RNA nucleotide sequence (A, C, G, U, N)

cyclic: Optional[bool]

Whether the sequence is cyclic

modifications: Optional[List[DataBinderSpecificationNoTemplateBinderSpecEntityFixedRnaEntityModification]]

Optional CCD polymer modifications. Defaults to [] when omitted. SMILES modifications are not supported.

residue_index: int

0-based index of the residue to modify

minimum0
type: Literal["ccd"]

Modification format. Only CCD polymer modifications are supported.

value: str

CCD code from RCSB PDB (e.g. ‘MSE’ for selenomethionine, ‘SEP’ for phosphoserine)

class DataBinderSpecificationNoTemplateBinderSpecEntityFixedDnaEntity:
chain_ids: List[str]

Chain IDs to assign to this entity

type: Literal["dna"]
value: str

DNA nucleotide sequence (A, C, G, T, N)

cyclic: Optional[bool]

Whether the sequence is cyclic

modifications: Optional[List[DataBinderSpecificationNoTemplateBinderSpecEntityFixedDnaEntityModification]]

Optional CCD polymer modifications. Defaults to [] when omitted. SMILES modifications are not supported.

residue_index: int

0-based index of the residue to modify

minimum0
type: Literal["ccd"]

Modification format. Only CCD polymer modifications are supported.

value: str

CCD code from RCSB PDB (e.g. ‘MSE’ for selenomethionine, ‘SEP’ for phosphoserine)

class DataBinderSpecificationNoTemplateBinderSpecEntityFixedLigandSmilesEntity:
chain_ids: List[str]

Chain IDs to assign to this entity

type: Literal["ligand_smiles"]
value: str

SMILES string representing the ligand

class DataBinderSpecificationNoTemplateBinderSpecEntityFixedLigandCcdEntity:
chain_ids: List[str]

Chain IDs to assign to this entity

type: Literal["ligand_ccd"]
value: str

CCD code from RCSB PDB (e.g. ‘ATP’, ‘ADP’)

modality: Literal["peptide", "antibody", "nanobody", "custom_protein"]
One of the following:
"peptide"
"antibody"
"nanobody"
"custom_protein"
type: Literal["no_template"]
bonds: Optional[List[DataBinderSpecificationNoTemplateBinderSpecBond]]

Covalent bond constraints between atoms in the binder complex. If defining bonds where an atom is part of a designed protein chain, assume residue indices count designed regions as the minimum length. Example: designed protein “1..3C1..2”, “C” is residue 1 (0-indexed) of the designed protein.

atom1: DataBinderSpecificationNoTemplateBinderSpecBondAtom1

Ligand atom reference for a CCD atom or an explicitly atom-mapped SMILES atom.

One of the following:
class DataBinderSpecificationNoTemplateBinderSpecBondAtom1LigandAtom:

Ligand atom reference for a CCD atom or an explicitly atom-mapped SMILES atom.

atom_name: str

Atom name. For ligand_ccd, use the standardized CIF atom name. For ligand_smiles, explicitly label the atom with numeric atom-map notation: [C:1] is referenced as C1 and [O:2] as O2. The resulting name must be unique within the molecule and at most four characters.

chain_id: str

Chain ID containing the atom

type: Literal["ligand_atom"]
class DataBinderSpecificationNoTemplateBinderSpecBondAtom1PolymerAtom:
atom_name: str

Standardized atom name (verifiable in CIF file on RCSB)

chain_id: str

Chain ID containing the atom

residue_index: int

0-based residue index

minimum0
type: Literal["polymer_atom"]
atom2: DataBinderSpecificationNoTemplateBinderSpecBondAtom2

Ligand atom reference for a CCD atom or an explicitly atom-mapped SMILES atom.

One of the following:
class DataBinderSpecificationNoTemplateBinderSpecBondAtom2LigandAtom:

Ligand atom reference for a CCD atom or an explicitly atom-mapped SMILES atom.

atom_name: str

Atom name. For ligand_ccd, use the standardized CIF atom name. For ligand_smiles, explicitly label the atom with numeric atom-map notation: [C:1] is referenced as C1 and [O:2] as O2. The resulting name must be unique within the molecule and at most four characters.

chain_id: str

Chain ID containing the atom

type: Literal["ligand_atom"]
class DataBinderSpecificationNoTemplateBinderSpecBondAtom2PolymerAtom:
atom_name: str

Standardized atom name (verifiable in CIF file on RCSB)

chain_id: str

Chain ID containing the atom

residue_index: int

0-based residue index

minimum0
type: Literal["polymer_atom"]
rules: Optional[DataBinderSpecificationNoTemplateBinderSpecRules]

Constraints applied during sequence design

excluded_amino_acids: Optional[List[str]]

Single-letter amino acid codes to exclude from design (e.g. [‘C’, ‘P’] to exclude cysteine and proline)

excluded_sequence_motifs: Optional[List[str]]

Sequence motifs to exclude from designed regions. Designs containing any of these motifs are filtered out before scoring. Use X as a single-residue wildcard (e.g. “NGS”, “NXS”).

max_hydrophobic_fraction: Optional[float]

Maximum allowed fraction of hydrophobic residues (I, L, V, M, F, W, Y) in designed regions. Designs exceeding this threshold are filtered out before scoring. Leave empty to disable.

minimum0
maximum1
class DataBinderSpecificationBoltzCuratedBinderSpec:

Boltz-managed curated binder specification. Choose a curated nanobody or antibody family and Boltz will select from maintained template lists during design. The curated lists are managed by Boltz and may be updated over time to improve quality and coverage.

binder: Literal["boltz_nanobody", "boltz_antibody"]

Boltz-managed curated binder family. Boltz maintains and may update the underlying template lists on behalf of customers.

One of the following:
"boltz_nanobody"
"boltz_antibody"
type: Literal["boltz_curated"]
rules: Optional[DataBinderSpecificationBoltzCuratedBinderSpecRules]

Constraints applied during sequence design

excluded_amino_acids: Optional[List[str]]

Single-letter amino acid codes to exclude from design (e.g. [‘C’, ‘P’] to exclude cysteine and proline)

excluded_sequence_motifs: Optional[List[str]]

Sequence motifs to exclude from designed regions. Designs containing any of these motifs are filtered out before scoring. Use X as a single-residue wildcard (e.g. “NGS”, “NXS”).

max_hydrophobic_fraction: Optional[float]

Maximum allowed fraction of hydrophobic residues (I, L, V, M, F, W, Y) in designed regions. Designs exceeding this threshold are filtered out before scoring. Leave empty to disable.

minimum0
maximum1
class DataBinderSpecificationUniformlySampledBinderSpec:

A collection of binder specifications sampled uniformly during protein design. This lets one run explore multiple binder definitions while keeping each generation request shape unchanged.

binder_specifications: List[DataBinderSpecificationUniformlySampledBinderSpecBinderSpecification]

Binder specifications to sample uniformly when generating designs. Each generation samples one specification from this list; over larger runs this gives roughly equal representation.

One of the following:
class DataBinderSpecificationUniformlySampledBinderSpecBinderSpecificationStructureTemplateBinderSpec:

Binder specification starting from an existing 3D structure. Upload a CIF/PDB file and select which chains to include, which residues to keep, and which regions to redesign. Only chains included in chain_selection are part of the pipeline run.

chain_selection: Dict[str, DataBinderSpecificationUniformlySampledBinderSpecBinderSpecificationStructureTemplateBinderSpecChainSelection]

Chains selected from the uploaded binder structure, keyed by chain ID. Only chains listed here are included in the pipeline run — any chains omitted from this mapping are ignored. Each value defines which residues to keep (crop_residues). Omit design_motifs to include the chain as fixed scaffold context.

One of the following:
class DataBinderSpecificationUniformlySampledBinderSpecBinderSpecificationStructureTemplateBinderSpecChainSelectionStructureTemplatePolymerChainSpec:

Per-chain crop and design specification for a polymer chain in structure_template mode.

chain_type: Literal["polymer"]
crop_residues: Union[List[int], Literal["all"]]

0-indexed residue indices to retain from this chain, or ‘all’ to keep all residues. Residues not listed are removed before design.

One of the following:
List[int]
Literal["all"]
design_motifs: Optional[List[DataBinderSpecificationUniformlySampledBinderSpecBinderSpecificationStructureTemplateBinderSpecChainSelectionStructureTemplatePolymerChainSpecDesignMotif]]

Optional motifs (replacement or insertion) defining which regions to redesign on this chain. Omit this field to include the chain as fixed scaffold context.

One of the following:
class DataBinderSpecificationUniformlySampledBinderSpecBinderSpecificationStructureTemplateBinderSpecChainSelectionStructureTemplatePolymerChainSpecDesignMotifReplacementMotif:

Replace a contiguous region of the sequence with a designed segment. Residues from start_index to end_index (inclusive) are replaced with a new sequence of the specified length.

design_length_range: DataBinderSpecificationUniformlySampledBinderSpecBinderSpecificationStructureTemplateBinderSpecChainSelectionStructureTemplatePolymerChainSpecDesignMotifReplacementMotifDesignLengthRange

Allowed sequence length range for designed regions

max: int

Maximum sequence length in residues. Must be >= min.

minimum0
min: int

Minimum sequence length in residues

minimum0
end_index: int

0-indexed end residue (inclusive)

minimum0
start_index: int

0-indexed start residue (inclusive)

minimum0
type: Literal["replacement"]
class DataBinderSpecificationUniformlySampledBinderSpecBinderSpecificationStructureTemplateBinderSpecChainSelectionStructureTemplatePolymerChainSpecDesignMotifInsertionMotif:

Insert a designed segment at a specific position in the sequence.

after_residue_index: int

0-indexed position after which to insert. Use -1 to insert before the first residue.

minimum-1
design_length_range: DataBinderSpecificationUniformlySampledBinderSpecBinderSpecificationStructureTemplateBinderSpecChainSelectionStructureTemplatePolymerChainSpecDesignMotifInsertionMotifDesignLengthRange

Allowed sequence length range for designed regions

max: int

Maximum sequence length in residues. Must be >= min.

minimum0
min: int

Minimum sequence length in residues

minimum0
type: Literal["insertion"]
class DataBinderSpecificationUniformlySampledBinderSpecBinderSpecificationStructureTemplateBinderSpecChainSelectionStructureTemplateLigandChainSpec:

Per-chain specification for a ligand chain in structure_template mode. The full ligand is always included.

chain_type: Literal["ligand"]
modality: Literal["peptide", "antibody", "nanobody", "custom_protein"]
One of the following:
"peptide"
"antibody"
"nanobody"
"custom_protein"
structure: DataBinderSpecificationUniformlySampledBinderSpecBinderSpecificationStructureTemplateBinderSpecStructure

How to provide a CIF structure file. URLs are auto-detected; base64 uploads must use chemical/x-cif media type.

One of the following:
class DataBinderSpecificationUniformlySampledBinderSpecBinderSpecificationStructureTemplateBinderSpecStructureURLSource:
type: Literal["url"]
url: str
formaturi
class DataBinderSpecificationUniformlySampledBinderSpecBinderSpecificationStructureTemplateBinderSpecStructureCifBase64Source:
data: str

Base64-encoded CIF file contents

media_type: Literal["chemical/x-cif"]

Must be chemical/x-cif for CIF files

type: Literal["base64"]
type: Literal["structure_template"]
rules: Optional[DataBinderSpecificationUniformlySampledBinderSpecBinderSpecificationStructureTemplateBinderSpecRules]

Constraints applied during sequence design

excluded_amino_acids: Optional[List[str]]

Single-letter amino acid codes to exclude from design (e.g. [‘C’, ‘P’] to exclude cysteine and proline)

excluded_sequence_motifs: Optional[List[str]]

Sequence motifs to exclude from designed regions. Designs containing any of these motifs are filtered out before scoring. Use X as a single-residue wildcard (e.g. “NGS”, “NXS”).

max_hydrophobic_fraction: Optional[float]

Maximum allowed fraction of hydrophobic residues (I, L, V, M, F, W, Y) in designed regions. Designs exceeding this threshold are filtered out before scoring. Leave empty to disable.

minimum0
maximum1
class DataBinderSpecificationUniformlySampledBinderSpecBinderSpecificationNoTemplateBinderSpec:

Binder specification without a structural template. Define the binder from sequence components (fixed and designed segments) without providing a starting 3D structure.

entities: List[DataBinderSpecificationUniformlySampledBinderSpecBinderSpecificationNoTemplateBinderSpecEntity]

Binder entities composing the design. At least one must be a designed_protein entity. Additional fixed entities (RNA, DNA, ligands) can be included as part of the complex.

One of the following:
class DataBinderSpecificationUniformlySampledBinderSpecBinderSpecificationNoTemplateBinderSpecEntityDesignedProteinEntity:

Protein binder entity with designed and/or fixed segments.

chain_ids: List[str]

Chain IDs to assign to this entity

type: Literal["designed_protein"]
value: str

Binder sequence specification. Fixed amino acids are written as literal single-letter codes. Designed regions are written as a length (fixed) or a length range (min..max). Example: “MKTAYI5..10VKSHFSRQ” means fixed MKTAYI, then 5-10 designed residues, then fixed VKSHFSRQ. “20” means 20 fully designed residues. “ACDE8GHI” means fixed ACDE, then 8 designed residues, then fixed GHI.

cyclic: Optional[bool]

Whether the sequence is cyclic

modifications: Optional[List[DataBinderSpecificationUniformlySampledBinderSpecBinderSpecificationNoTemplateBinderSpecEntityDesignedProteinEntityModification]]

Optional CCD polymer modifications. Defaults to [] when omitted. SMILES modifications are not supported.

residue_index: int

0-based index of the residue to modify

minimum0
type: Literal["ccd"]

Modification format. Only CCD polymer modifications are supported.

value: str

CCD code from RCSB PDB (e.g. ‘MSE’ for selenomethionine, ‘SEP’ for phosphoserine)

class DataBinderSpecificationUniformlySampledBinderSpecBinderSpecificationNoTemplateBinderSpecEntityFixedProteinEntity:

A fixed protein entity whose sequence is not redesigned.

chain_ids: List[str]

Chain IDs to assign to this entity

type: Literal["protein"]
value: str

Amino acid sequence (one-letter codes)

cyclic: Optional[bool]

Whether the sequence is cyclic

modifications: Optional[List[DataBinderSpecificationUniformlySampledBinderSpecBinderSpecificationNoTemplateBinderSpecEntityFixedProteinEntityModification]]

Optional CCD polymer modifications. Defaults to [] when omitted. SMILES modifications are not supported.

residue_index: int

0-based index of the residue to modify

minimum0
type: Literal["ccd"]

Modification format. Only CCD polymer modifications are supported.

value: str

CCD code from RCSB PDB (e.g. ‘MSE’ for selenomethionine, ‘SEP’ for phosphoserine)

class DataBinderSpecificationUniformlySampledBinderSpecBinderSpecificationNoTemplateBinderSpecEntityFixedRnaEntity:
chain_ids: List[str]

Chain IDs to assign to this entity

type: Literal["rna"]
value: str

RNA nucleotide sequence (A, C, G, U, N)

cyclic: Optional[bool]

Whether the sequence is cyclic

modifications: Optional[List[DataBinderSpecificationUniformlySampledBinderSpecBinderSpecificationNoTemplateBinderSpecEntityFixedRnaEntityModification]]

Optional CCD polymer modifications. Defaults to [] when omitted. SMILES modifications are not supported.

residue_index: int

0-based index of the residue to modify

minimum0
type: Literal["ccd"]

Modification format. Only CCD polymer modifications are supported.

value: str

CCD code from RCSB PDB (e.g. ‘MSE’ for selenomethionine, ‘SEP’ for phosphoserine)

class DataBinderSpecificationUniformlySampledBinderSpecBinderSpecificationNoTemplateBinderSpecEntityFixedDnaEntity:
chain_ids: List[str]

Chain IDs to assign to this entity

type: Literal["dna"]
value: str

DNA nucleotide sequence (A, C, G, T, N)

cyclic: Optional[bool]

Whether the sequence is cyclic

modifications: Optional[List[DataBinderSpecificationUniformlySampledBinderSpecBinderSpecificationNoTemplateBinderSpecEntityFixedDnaEntityModification]]

Optional CCD polymer modifications. Defaults to [] when omitted. SMILES modifications are not supported.

residue_index: int

0-based index of the residue to modify

minimum0
type: Literal["ccd"]

Modification format. Only CCD polymer modifications are supported.

value: str

CCD code from RCSB PDB (e.g. ‘MSE’ for selenomethionine, ‘SEP’ for phosphoserine)

class DataBinderSpecificationUniformlySampledBinderSpecBinderSpecificationNoTemplateBinderSpecEntityFixedLigandSmilesEntity:
chain_ids: List[str]

Chain IDs to assign to this entity

type: Literal["ligand_smiles"]
value: str

SMILES string representing the ligand

class DataBinderSpecificationUniformlySampledBinderSpecBinderSpecificationNoTemplateBinderSpecEntityFixedLigandCcdEntity:
chain_ids: List[str]

Chain IDs to assign to this entity

type: Literal["ligand_ccd"]
value: str

CCD code from RCSB PDB (e.g. ‘ATP’, ‘ADP’)

modality: Literal["peptide", "antibody", "nanobody", "custom_protein"]
One of the following:
"peptide"
"antibody"
"nanobody"
"custom_protein"
type: Literal["no_template"]
bonds: Optional[List[DataBinderSpecificationUniformlySampledBinderSpecBinderSpecificationNoTemplateBinderSpecBond]]

Covalent bond constraints between atoms in the binder complex. If defining bonds where an atom is part of a designed protein chain, assume residue indices count designed regions as the minimum length. Example: designed protein “1..3C1..2”, “C” is residue 1 (0-indexed) of the designed protein.

atom1: DataBinderSpecificationUniformlySampledBinderSpecBinderSpecificationNoTemplateBinderSpecBondAtom1

Ligand atom reference for a CCD atom or an explicitly atom-mapped SMILES atom.

One of the following:
class DataBinderSpecificationUniformlySampledBinderSpecBinderSpecificationNoTemplateBinderSpecBondAtom1LigandAtom:

Ligand atom reference for a CCD atom or an explicitly atom-mapped SMILES atom.

atom_name: str

Atom name. For ligand_ccd, use the standardized CIF atom name. For ligand_smiles, explicitly label the atom with numeric atom-map notation: [C:1] is referenced as C1 and [O:2] as O2. The resulting name must be unique within the molecule and at most four characters.

chain_id: str

Chain ID containing the atom

type: Literal["ligand_atom"]
class DataBinderSpecificationUniformlySampledBinderSpecBinderSpecificationNoTemplateBinderSpecBondAtom1PolymerAtom:
atom_name: str

Standardized atom name (verifiable in CIF file on RCSB)

chain_id: str

Chain ID containing the atom

residue_index: int

0-based residue index

minimum0
type: Literal["polymer_atom"]
atom2: DataBinderSpecificationUniformlySampledBinderSpecBinderSpecificationNoTemplateBinderSpecBondAtom2

Ligand atom reference for a CCD atom or an explicitly atom-mapped SMILES atom.

One of the following:
class DataBinderSpecificationUniformlySampledBinderSpecBinderSpecificationNoTemplateBinderSpecBondAtom2LigandAtom:

Ligand atom reference for a CCD atom or an explicitly atom-mapped SMILES atom.

atom_name: str

Atom name. For ligand_ccd, use the standardized CIF atom name. For ligand_smiles, explicitly label the atom with numeric atom-map notation: [C:1] is referenced as C1 and [O:2] as O2. The resulting name must be unique within the molecule and at most four characters.

chain_id: str

Chain ID containing the atom

type: Literal["ligand_atom"]
class DataBinderSpecificationUniformlySampledBinderSpecBinderSpecificationNoTemplateBinderSpecBondAtom2PolymerAtom:
atom_name: str

Standardized atom name (verifiable in CIF file on RCSB)

chain_id: str

Chain ID containing the atom

residue_index: int

0-based residue index

minimum0
type: Literal["polymer_atom"]
rules: Optional[DataBinderSpecificationUniformlySampledBinderSpecBinderSpecificationNoTemplateBinderSpecRules]

Constraints applied during sequence design

excluded_amino_acids: Optional[List[str]]

Single-letter amino acid codes to exclude from design (e.g. [‘C’, ‘P’] to exclude cysteine and proline)

excluded_sequence_motifs: Optional[List[str]]

Sequence motifs to exclude from designed regions. Designs containing any of these motifs are filtered out before scoring. Use X as a single-residue wildcard (e.g. “NGS”, “NXS”).

max_hydrophobic_fraction: Optional[float]

Maximum allowed fraction of hydrophobic residues (I, L, V, M, F, W, Y) in designed regions. Designs exceeding this threshold are filtered out before scoring. Leave empty to disable.

minimum0
maximum1
class DataBinderSpecificationUniformlySampledBinderSpecBinderSpecificationBoltzCuratedBinderSpec:

Boltz-managed curated binder specification. Choose a curated nanobody or antibody family and Boltz will select from maintained template lists during design. The curated lists are managed by Boltz and may be updated over time to improve quality and coverage.

binder: Literal["boltz_nanobody", "boltz_antibody"]

Boltz-managed curated binder family. Boltz maintains and may update the underlying template lists on behalf of customers.

One of the following:
"boltz_nanobody"
"boltz_antibody"
type: Literal["boltz_curated"]
rules: Optional[DataBinderSpecificationUniformlySampledBinderSpecBinderSpecificationBoltzCuratedBinderSpecRules]

Constraints applied during sequence design

excluded_amino_acids: Optional[List[str]]

Single-letter amino acid codes to exclude from design (e.g. [‘C’, ‘P’] to exclude cysteine and proline)

excluded_sequence_motifs: Optional[List[str]]

Sequence motifs to exclude from designed regions. Designs containing any of these motifs are filtered out before scoring. Use X as a single-residue wildcard (e.g. “NGS”, “NXS”).

max_hydrophobic_fraction: Optional[float]

Maximum allowed fraction of hydrophobic residues (I, L, V, M, F, W, Y) in designed regions. Designs exceeding this threshold are filtered out before scoring. Leave empty to disable.

minimum0
maximum1
type: Literal["uniformly_sampled_specifications"]
name: str

Human-readable name for this curated binder specification.

class DesignRetrieveResponse:

A protein design pipeline run that generates novel protein binders

id: str

Unique ProteinDesignRun identifier

completed_at: Optional[datetime]
formatdate-time
created_at: datetime
formatdate-time
data_deleted_at: Optional[datetime]

When the input, output, and result data was permanently deleted. Null if data has not been deleted.

formatdate-time
Deprecatedengine: Literal["boltzprot"]
Use pipeline instead.

Deprecated. Use pipeline instead.

Deprecatedengine_version: Literal["1.0"]
Use pipeline_version instead.

Deprecated. Use pipeline_version instead.

error: Optional[Error]
code: str

Machine-readable error code

message: str

Human-readable error message

details: Optional[object]

Additional field-level error details keyed by input path, when available.

input: Optional[Input]

Pipeline input (null if data deleted)

binder_specification: InputBinderSpecification

Binder specification for protein design. Use no_template for sequence-defined binders, structure_template for uploaded binder structures, boltz_curated for Boltz-managed nanobody and antibody defaults, or uniformly_sampled_specifications to sample uniformly across multiple binder specifications.

One of the following:
class InputBinderSpecificationStructureTemplateBinderSpecResponse:

Binder specification starting from an existing 3D structure. Upload a CIF/PDB file and select which chains to include, which residues to keep, and which regions to redesign. Only chains included in chain_selection are part of the pipeline run.

chain_selection: Dict[str, InputBinderSpecificationStructureTemplateBinderSpecResponseChainSelection]

Chains selected from the uploaded binder structure, keyed by chain ID. Only chains listed here are included in the pipeline run — any chains omitted from this mapping are ignored. Each value defines which residues to keep (crop_residues). Omit design_motifs to include the chain as fixed scaffold context.

One of the following:
class InputBinderSpecificationStructureTemplateBinderSpecResponseChainSelectionStructureTemplatePolymerChainSpec:

Per-chain crop and design specification for a polymer chain in structure_template mode.

chain_type: Literal["polymer"]
crop_residues: Union[List[int], Literal["all"]]

0-indexed residue indices to retain from this chain, or ‘all’ to keep all residues. Residues not listed are removed before design.

One of the following:
List[int]
Literal["all"]
design_motifs: Optional[List[InputBinderSpecificationStructureTemplateBinderSpecResponseChainSelectionStructureTemplatePolymerChainSpecDesignMotif]]

Optional motifs (replacement or insertion) defining which regions to redesign on this chain. Omit this field to include the chain as fixed scaffold context.

One of the following:
class InputBinderSpecificationStructureTemplateBinderSpecResponseChainSelectionStructureTemplatePolymerChainSpecDesignMotifReplacementMotif:

Replace a contiguous region of the sequence with a designed segment. Residues from start_index to end_index (inclusive) are replaced with a new sequence of the specified length.

design_length_range: InputBinderSpecificationStructureTemplateBinderSpecResponseChainSelectionStructureTemplatePolymerChainSpecDesignMotifReplacementMotifDesignLengthRange

Allowed sequence length range for designed regions

max: int

Maximum sequence length in residues. Must be >= min.

minimum0
min: int

Minimum sequence length in residues

minimum0
end_index: int

0-indexed end residue (inclusive)

minimum0
start_index: int

0-indexed start residue (inclusive)

minimum0
type: Literal["replacement"]
class InputBinderSpecificationStructureTemplateBinderSpecResponseChainSelectionStructureTemplatePolymerChainSpecDesignMotifInsertionMotif:

Insert a designed segment at a specific position in the sequence.

after_residue_index: int

0-indexed position after which to insert. Use -1 to insert before the first residue.

minimum-1
design_length_range: InputBinderSpecificationStructureTemplateBinderSpecResponseChainSelectionStructureTemplatePolymerChainSpecDesignMotifInsertionMotifDesignLengthRange

Allowed sequence length range for designed regions

max: int

Maximum sequence length in residues. Must be >= min.

minimum0
min: int

Minimum sequence length in residues

minimum0
type: Literal["insertion"]
class InputBinderSpecificationStructureTemplateBinderSpecResponseChainSelectionStructureTemplateLigandChainSpec:

Per-chain specification for a ligand chain in structure_template mode. The full ligand is always included.

chain_type: Literal["ligand"]
modality: Literal["peptide", "antibody", "nanobody", "custom_protein"]
One of the following:
"peptide"
"antibody"
"nanobody"
"custom_protein"
structure: InputBinderSpecificationStructureTemplateBinderSpecResponseStructure
url: str

URL to download the file

formaturi
url_expires_at: datetime

When the presigned URL expires

formatdate-time
type: Literal["structure_template"]
rules: Optional[InputBinderSpecificationStructureTemplateBinderSpecResponseRules]

Constraints applied during sequence design

excluded_amino_acids: Optional[List[str]]

Single-letter amino acid codes to exclude from design (e.g. [‘C’, ‘P’] to exclude cysteine and proline)

excluded_sequence_motifs: Optional[List[str]]

Sequence motifs to exclude from designed regions. Designs containing any of these motifs are filtered out before scoring. Use X as a single-residue wildcard (e.g. “NGS”, “NXS”).

max_hydrophobic_fraction: Optional[float]

Maximum allowed fraction of hydrophobic residues (I, L, V, M, F, W, Y) in designed regions. Designs exceeding this threshold are filtered out before scoring. Leave empty to disable.

minimum0
maximum1
class InputBinderSpecificationNoTemplateBinderSpecResponse:

Binder specification without a structural template. Define the binder from sequence components (fixed and designed segments) without providing a starting 3D structure.

entities: List[InputBinderSpecificationNoTemplateBinderSpecResponseEntity]

Binder entities composing the design. At least one must be a designed_protein entity. Additional fixed entities (RNA, DNA, ligands) can be included as part of the complex.

One of the following:
class InputBinderSpecificationNoTemplateBinderSpecResponseEntityDesignedProteinEntityResponse:

Protein binder entity with designed and/or fixed segments.

chain_ids: List[str]

Chain IDs to assign to this entity

type: Literal["designed_protein"]
value: str

Binder sequence specification. Fixed amino acids are written as literal single-letter codes. Designed regions are written as a length (fixed) or a length range (min..max). Example: “MKTAYI5..10VKSHFSRQ” means fixed MKTAYI, then 5-10 designed residues, then fixed VKSHFSRQ. “20” means 20 fully designed residues. “ACDE8GHI” means fixed ACDE, then 8 designed residues, then fixed GHI.

cyclic: Optional[bool]

Whether the sequence is cyclic

modifications: Optional[List[InputBinderSpecificationNoTemplateBinderSpecResponseEntityDesignedProteinEntityResponseModification]]

Optional CCD polymer modifications. Defaults to [] when omitted. SMILES modifications are not supported.

residue_index: int

0-based index of the residue to modify

minimum0
type: Literal["ccd"]

Modification format. Only CCD polymer modifications are supported.

value: str

CCD code from RCSB PDB (e.g. ‘MSE’ for selenomethionine, ‘SEP’ for phosphoserine)

class InputBinderSpecificationNoTemplateBinderSpecResponseEntityFixedProteinEntityResponse:

A fixed protein entity whose sequence is not redesigned.

chain_ids: List[str]

Chain IDs to assign to this entity

type: Literal["protein"]
value: str

Amino acid sequence (one-letter codes)

cyclic: Optional[bool]

Whether the sequence is cyclic

modifications: Optional[List[InputBinderSpecificationNoTemplateBinderSpecResponseEntityFixedProteinEntityResponseModification]]

Optional CCD polymer modifications. Defaults to [] when omitted. SMILES modifications are not supported.

residue_index: int

0-based index of the residue to modify

minimum0
type: Literal["ccd"]

Modification format. Only CCD polymer modifications are supported.

value: str

CCD code from RCSB PDB (e.g. ‘MSE’ for selenomethionine, ‘SEP’ for phosphoserine)

class InputBinderSpecificationNoTemplateBinderSpecResponseEntityFixedRnaEntityResponse:
chain_ids: List[str]

Chain IDs to assign to this entity

type: Literal["rna"]
value: str

RNA nucleotide sequence (A, C, G, U, N)

cyclic: Optional[bool]

Whether the sequence is cyclic

modifications: Optional[List[InputBinderSpecificationNoTemplateBinderSpecResponseEntityFixedRnaEntityResponseModification]]

Optional CCD polymer modifications. Defaults to [] when omitted. SMILES modifications are not supported.

residue_index: int

0-based index of the residue to modify

minimum0
type: Literal["ccd"]

Modification format. Only CCD polymer modifications are supported.

value: str

CCD code from RCSB PDB (e.g. ‘MSE’ for selenomethionine, ‘SEP’ for phosphoserine)

class InputBinderSpecificationNoTemplateBinderSpecResponseEntityFixedDnaEntityResponse:
chain_ids: List[str]

Chain IDs to assign to this entity

type: Literal["dna"]
value: str

DNA nucleotide sequence (A, C, G, T, N)

cyclic: Optional[bool]

Whether the sequence is cyclic

modifications: Optional[List[InputBinderSpecificationNoTemplateBinderSpecResponseEntityFixedDnaEntityResponseModification]]

Optional CCD polymer modifications. Defaults to [] when omitted. SMILES modifications are not supported.

residue_index: int

0-based index of the residue to modify

minimum0
type: Literal["ccd"]

Modification format. Only CCD polymer modifications are supported.

value: str

CCD code from RCSB PDB (e.g. ‘MSE’ for selenomethionine, ‘SEP’ for phosphoserine)

class InputBinderSpecificationNoTemplateBinderSpecResponseEntityFixedLigandSmilesEntityResponse:
chain_ids: List[str]

Chain IDs to assign to this entity

type: Literal["ligand_smiles"]
value: str

SMILES string representing the ligand

class InputBinderSpecificationNoTemplateBinderSpecResponseEntityFixedLigandCcdEntityResponse:
chain_ids: List[str]

Chain IDs to assign to this entity

type: Literal["ligand_ccd"]
value: str

CCD code from RCSB PDB (e.g. ‘ATP’, ‘ADP’)

modality: Literal["peptide", "antibody", "nanobody", "custom_protein"]
One of the following:
"peptide"
"antibody"
"nanobody"
"custom_protein"
type: Literal["no_template"]
bonds: Optional[List[InputBinderSpecificationNoTemplateBinderSpecResponseBond]]

Covalent bond constraints between atoms in the binder complex. If defining bonds where an atom is part of a designed protein chain, assume residue indices count designed regions as the minimum length. Example: designed protein “1..3C1..2”, “C” is residue 1 (0-indexed) of the designed protein.

atom1: InputBinderSpecificationNoTemplateBinderSpecResponseBondAtom1

Ligand atom reference for a CCD atom or an explicitly atom-mapped SMILES atom.

One of the following:
class InputBinderSpecificationNoTemplateBinderSpecResponseBondAtom1LigandAtomResponse:

Ligand atom reference for a CCD atom or an explicitly atom-mapped SMILES atom.

atom_name: str

Atom name. For ligand_ccd, use the standardized CIF atom name. For ligand_smiles, explicitly label the atom with numeric atom-map notation: [C:1] is referenced as C1 and [O:2] as O2. The resulting name must be unique within the molecule and at most four characters.

chain_id: str

Chain ID containing the atom

type: Literal["ligand_atom"]
class InputBinderSpecificationNoTemplateBinderSpecResponseBondAtom1PolymerAtomResponse:
atom_name: str

Standardized atom name (verifiable in CIF file on RCSB)

chain_id: str

Chain ID containing the atom

residue_index: int

0-based residue index

minimum0
type: Literal["polymer_atom"]
atom2: InputBinderSpecificationNoTemplateBinderSpecResponseBondAtom2

Ligand atom reference for a CCD atom or an explicitly atom-mapped SMILES atom.

One of the following:
class InputBinderSpecificationNoTemplateBinderSpecResponseBondAtom2LigandAtomResponse:

Ligand atom reference for a CCD atom or an explicitly atom-mapped SMILES atom.

atom_name: str

Atom name. For ligand_ccd, use the standardized CIF atom name. For ligand_smiles, explicitly label the atom with numeric atom-map notation: [C:1] is referenced as C1 and [O:2] as O2. The resulting name must be unique within the molecule and at most four characters.

chain_id: str

Chain ID containing the atom

type: Literal["ligand_atom"]
class InputBinderSpecificationNoTemplateBinderSpecResponseBondAtom2PolymerAtomResponse:
atom_name: str

Standardized atom name (verifiable in CIF file on RCSB)

chain_id: str

Chain ID containing the atom

residue_index: int

0-based residue index

minimum0
type: Literal["polymer_atom"]
rules: Optional[InputBinderSpecificationNoTemplateBinderSpecResponseRules]

Constraints applied during sequence design

excluded_amino_acids: Optional[List[str]]

Single-letter amino acid codes to exclude from design (e.g. [‘C’, ‘P’] to exclude cysteine and proline)

excluded_sequence_motifs: Optional[List[str]]

Sequence motifs to exclude from designed regions. Designs containing any of these motifs are filtered out before scoring. Use X as a single-residue wildcard (e.g. “NGS”, “NXS”).

max_hydrophobic_fraction: Optional[float]

Maximum allowed fraction of hydrophobic residues (I, L, V, M, F, W, Y) in designed regions. Designs exceeding this threshold are filtered out before scoring. Leave empty to disable.

minimum0
maximum1
class InputBinderSpecificationBoltzCuratedBinderSpecResponse:

Boltz-managed curated binder specification. Choose a curated nanobody or antibody family and Boltz will select from maintained template lists during design. The curated lists are managed by Boltz and may be updated over time to improve quality and coverage.

binder: Literal["boltz_nanobody", "boltz_antibody"]

Boltz-managed curated binder family. Boltz maintains and may update the underlying template lists on behalf of customers.

One of the following:
"boltz_nanobody"
"boltz_antibody"
type: Literal["boltz_curated"]
rules: Optional[InputBinderSpecificationBoltzCuratedBinderSpecResponseRules]

Constraints applied during sequence design

excluded_amino_acids: Optional[List[str]]

Single-letter amino acid codes to exclude from design (e.g. [‘C’, ‘P’] to exclude cysteine and proline)

excluded_sequence_motifs: Optional[List[str]]

Sequence motifs to exclude from designed regions. Designs containing any of these motifs are filtered out before scoring. Use X as a single-residue wildcard (e.g. “NGS”, “NXS”).

max_hydrophobic_fraction: Optional[float]

Maximum allowed fraction of hydrophobic residues (I, L, V, M, F, W, Y) in designed regions. Designs exceeding this threshold are filtered out before scoring. Leave empty to disable.

minimum0
maximum1
class InputBinderSpecificationUniformlySampledBinderSpecResponse:

A collection of binder specifications sampled uniformly during protein design. This lets one run explore multiple binder definitions while keeping each generation request shape unchanged.

binder_specifications: List[InputBinderSpecificationUniformlySampledBinderSpecResponseBinderSpecification]

Binder specifications to sample uniformly when generating designs. Each generation samples one specification from this list; over larger runs this gives roughly equal representation.

One of the following:
class InputBinderSpecificationUniformlySampledBinderSpecResponseBinderSpecificationStructureTemplateBinderSpecResponse:

Binder specification starting from an existing 3D structure. Upload a CIF/PDB file and select which chains to include, which residues to keep, and which regions to redesign. Only chains included in chain_selection are part of the pipeline run.

chain_selection: Dict[str, InputBinderSpecificationUniformlySampledBinderSpecResponseBinderSpecificationStructureTemplateBinderSpecResponseChainSelection]

Chains selected from the uploaded binder structure, keyed by chain ID. Only chains listed here are included in the pipeline run — any chains omitted from this mapping are ignored. Each value defines which residues to keep (crop_residues). Omit design_motifs to include the chain as fixed scaffold context.

One of the following:
class InputBinderSpecificationUniformlySampledBinderSpecResponseBinderSpecificationStructureTemplateBinderSpecResponseChainSelectionStructureTemplatePolymerChainSpec:

Per-chain crop and design specification for a polymer chain in structure_template mode.

chain_type: Literal["polymer"]
crop_residues: Union[List[int], Literal["all"]]

0-indexed residue indices to retain from this chain, or ‘all’ to keep all residues. Residues not listed are removed before design.

One of the following:
List[int]
Literal["all"]
design_motifs: Optional[List[InputBinderSpecificationUniformlySampledBinderSpecResponseBinderSpecificationStructureTemplateBinderSpecResponseChainSelectionStructureTemplatePolymerChainSpecDesignMotif]]

Optional motifs (replacement or insertion) defining which regions to redesign on this chain. Omit this field to include the chain as fixed scaffold context.

One of the following:
class InputBinderSpecificationUniformlySampledBinderSpecResponseBinderSpecificationStructureTemplateBinderSpecResponseChainSelectionStructureTemplatePolymerChainSpecDesignMotifReplacementMotif:

Replace a contiguous region of the sequence with a designed segment. Residues from start_index to end_index (inclusive) are replaced with a new sequence of the specified length.

design_length_range: InputBinderSpecificationUniformlySampledBinderSpecResponseBinderSpecificationStructureTemplateBinderSpecResponseChainSelectionStructureTemplatePolymerChainSpecDesignMotifReplacementMotifDesignLengthRange

Allowed sequence length range for designed regions

max: int

Maximum sequence length in residues. Must be >= min.

minimum0
min: int

Minimum sequence length in residues

minimum0
end_index: int

0-indexed end residue (inclusive)

minimum0
start_index: int

0-indexed start residue (inclusive)

minimum0
type: Literal["replacement"]
class InputBinderSpecificationUniformlySampledBinderSpecResponseBinderSpecificationStructureTemplateBinderSpecResponseChainSelectionStructureTemplatePolymerChainSpecDesignMotifInsertionMotif:

Insert a designed segment at a specific position in the sequence.

after_residue_index: int

0-indexed position after which to insert. Use -1 to insert before the first residue.

minimum-1
design_length_range: InputBinderSpecificationUniformlySampledBinderSpecResponseBinderSpecificationStructureTemplateBinderSpecResponseChainSelectionStructureTemplatePolymerChainSpecDesignMotifInsertionMotifDesignLengthRange

Allowed sequence length range for designed regions

max: int

Maximum sequence length in residues. Must be >= min.

minimum0
min: int

Minimum sequence length in residues

minimum0
type: Literal["insertion"]
class InputBinderSpecificationUniformlySampledBinderSpecResponseBinderSpecificationStructureTemplateBinderSpecResponseChainSelectionStructureTemplateLigandChainSpec:

Per-chain specification for a ligand chain in structure_template mode. The full ligand is always included.

chain_type: Literal["ligand"]
modality: Literal["peptide", "antibody", "nanobody", "custom_protein"]
One of the following:
"peptide"
"antibody"
"nanobody"
"custom_protein"
structure: InputBinderSpecificationUniformlySampledBinderSpecResponseBinderSpecificationStructureTemplateBinderSpecResponseStructure
url: str

URL to download the file

formaturi
url_expires_at: datetime

When the presigned URL expires

formatdate-time
type: Literal["structure_template"]
rules: Optional[InputBinderSpecificationUniformlySampledBinderSpecResponseBinderSpecificationStructureTemplateBinderSpecResponseRules]

Constraints applied during sequence design

excluded_amino_acids: Optional[List[str]]

Single-letter amino acid codes to exclude from design (e.g. [‘C’, ‘P’] to exclude cysteine and proline)

excluded_sequence_motifs: Optional[List[str]]

Sequence motifs to exclude from designed regions. Designs containing any of these motifs are filtered out before scoring. Use X as a single-residue wildcard (e.g. “NGS”, “NXS”).

max_hydrophobic_fraction: Optional[float]

Maximum allowed fraction of hydrophobic residues (I, L, V, M, F, W, Y) in designed regions. Designs exceeding this threshold are filtered out before scoring. Leave empty to disable.

minimum0
maximum1
class InputBinderSpecificationUniformlySampledBinderSpecResponseBinderSpecificationNoTemplateBinderSpecResponse:

Binder specification without a structural template. Define the binder from sequence components (fixed and designed segments) without providing a starting 3D structure.

entities: List[InputBinderSpecificationUniformlySampledBinderSpecResponseBinderSpecificationNoTemplateBinderSpecResponseEntity]

Binder entities composing the design. At least one must be a designed_protein entity. Additional fixed entities (RNA, DNA, ligands) can be included as part of the complex.

One of the following:
class InputBinderSpecificationUniformlySampledBinderSpecResponseBinderSpecificationNoTemplateBinderSpecResponseEntityDesignedProteinEntityResponse:

Protein binder entity with designed and/or fixed segments.

chain_ids: List[str]

Chain IDs to assign to this entity

type: Literal["designed_protein"]
value: str

Binder sequence specification. Fixed amino acids are written as literal single-letter codes. Designed regions are written as a length (fixed) or a length range (min..max). Example: “MKTAYI5..10VKSHFSRQ” means fixed MKTAYI, then 5-10 designed residues, then fixed VKSHFSRQ. “20” means 20 fully designed residues. “ACDE8GHI” means fixed ACDE, then 8 designed residues, then fixed GHI.

cyclic: Optional[bool]

Whether the sequence is cyclic

modifications: Optional[List[InputBinderSpecificationUniformlySampledBinderSpecResponseBinderSpecificationNoTemplateBinderSpecResponseEntityDesignedProteinEntityResponseModification]]

Optional CCD polymer modifications. Defaults to [] when omitted. SMILES modifications are not supported.

residue_index: int

0-based index of the residue to modify

minimum0
type: Literal["ccd"]

Modification format. Only CCD polymer modifications are supported.

value: str

CCD code from RCSB PDB (e.g. ‘MSE’ for selenomethionine, ‘SEP’ for phosphoserine)

class InputBinderSpecificationUniformlySampledBinderSpecResponseBinderSpecificationNoTemplateBinderSpecResponseEntityFixedProteinEntityResponse:

A fixed protein entity whose sequence is not redesigned.

chain_ids: List[str]

Chain IDs to assign to this entity

type: Literal["protein"]
value: str

Amino acid sequence (one-letter codes)

cyclic: Optional[bool]

Whether the sequence is cyclic

modifications: Optional[List[InputBinderSpecificationUniformlySampledBinderSpecResponseBinderSpecificationNoTemplateBinderSpecResponseEntityFixedProteinEntityResponseModification]]

Optional CCD polymer modifications. Defaults to [] when omitted. SMILES modifications are not supported.

residue_index: int

0-based index of the residue to modify

minimum0
type: Literal["ccd"]

Modification format. Only CCD polymer modifications are supported.

value: str

CCD code from RCSB PDB (e.g. ‘MSE’ for selenomethionine, ‘SEP’ for phosphoserine)

class InputBinderSpecificationUniformlySampledBinderSpecResponseBinderSpecificationNoTemplateBinderSpecResponseEntityFixedRnaEntityResponse:
chain_ids: List[str]

Chain IDs to assign to this entity

type: Literal["rna"]
value: str

RNA nucleotide sequence (A, C, G, U, N)

cyclic: Optional[bool]

Whether the sequence is cyclic

modifications: Optional[List[InputBinderSpecificationUniformlySampledBinderSpecResponseBinderSpecificationNoTemplateBinderSpecResponseEntityFixedRnaEntityResponseModification]]

Optional CCD polymer modifications. Defaults to [] when omitted. SMILES modifications are not supported.

residue_index: int

0-based index of the residue to modify

minimum0
type: Literal["ccd"]

Modification format. Only CCD polymer modifications are supported.

value: str

CCD code from RCSB PDB (e.g. ‘MSE’ for selenomethionine, ‘SEP’ for phosphoserine)

class InputBinderSpecificationUniformlySampledBinderSpecResponseBinderSpecificationNoTemplateBinderSpecResponseEntityFixedDnaEntityResponse:
chain_ids: List[str]

Chain IDs to assign to this entity

type: Literal["dna"]
value: str

DNA nucleotide sequence (A, C, G, T, N)

cyclic: Optional[bool]

Whether the sequence is cyclic

modifications: Optional[List[InputBinderSpecificationUniformlySampledBinderSpecResponseBinderSpecificationNoTemplateBinderSpecResponseEntityFixedDnaEntityResponseModification]]

Optional CCD polymer modifications. Defaults to [] when omitted. SMILES modifications are not supported.

residue_index: int

0-based index of the residue to modify

minimum0
type: Literal["ccd"]

Modification format. Only CCD polymer modifications are supported.

value: str

CCD code from RCSB PDB (e.g. ‘MSE’ for selenomethionine, ‘SEP’ for phosphoserine)

class InputBinderSpecificationUniformlySampledBinderSpecResponseBinderSpecificationNoTemplateBinderSpecResponseEntityFixedLigandSmilesEntityResponse:
chain_ids: List[str]

Chain IDs to assign to this entity

type: Literal["ligand_smiles"]
value: str

SMILES string representing the ligand

class InputBinderSpecificationUniformlySampledBinderSpecResponseBinderSpecificationNoTemplateBinderSpecResponseEntityFixedLigandCcdEntityResponse:
chain_ids: List[str]

Chain IDs to assign to this entity

type: Literal["ligand_ccd"]
value: str

CCD code from RCSB PDB (e.g. ‘ATP’, ‘ADP’)

modality: Literal["peptide", "antibody", "nanobody", "custom_protein"]
One of the following:
"peptide"
"antibody"
"nanobody"
"custom_protein"
type: Literal["no_template"]
bonds: Optional[List[InputBinderSpecificationUniformlySampledBinderSpecResponseBinderSpecificationNoTemplateBinderSpecResponseBond]]

Covalent bond constraints between atoms in the binder complex. If defining bonds where an atom is part of a designed protein chain, assume residue indices count designed regions as the minimum length. Example: designed protein “1..3C1..2”, “C” is residue 1 (0-indexed) of the designed protein.

atom1: InputBinderSpecificationUniformlySampledBinderSpecResponseBinderSpecificationNoTemplateBinderSpecResponseBondAtom1

Ligand atom reference for a CCD atom or an explicitly atom-mapped SMILES atom.

One of the following:
class InputBinderSpecificationUniformlySampledBinderSpecResponseBinderSpecificationNoTemplateBinderSpecResponseBondAtom1LigandAtomResponse:

Ligand atom reference for a CCD atom or an explicitly atom-mapped SMILES atom.

atom_name: str

Atom name. For ligand_ccd, use the standardized CIF atom name. For ligand_smiles, explicitly label the atom with numeric atom-map notation: [C:1] is referenced as C1 and [O:2] as O2. The resulting name must be unique within the molecule and at most four characters.

chain_id: str

Chain ID containing the atom

type: Literal["ligand_atom"]
class InputBinderSpecificationUniformlySampledBinderSpecResponseBinderSpecificationNoTemplateBinderSpecResponseBondAtom1PolymerAtomResponse:
atom_name: str

Standardized atom name (verifiable in CIF file on RCSB)

chain_id: str

Chain ID containing the atom

residue_index: int

0-based residue index

minimum0
type: Literal["polymer_atom"]
atom2: InputBinderSpecificationUniformlySampledBinderSpecResponseBinderSpecificationNoTemplateBinderSpecResponseBondAtom2

Ligand atom reference for a CCD atom or an explicitly atom-mapped SMILES atom.

One of the following:
class InputBinderSpecificationUniformlySampledBinderSpecResponseBinderSpecificationNoTemplateBinderSpecResponseBondAtom2LigandAtomResponse:

Ligand atom reference for a CCD atom or an explicitly atom-mapped SMILES atom.

atom_name: str

Atom name. For ligand_ccd, use the standardized CIF atom name. For ligand_smiles, explicitly label the atom with numeric atom-map notation: [C:1] is referenced as C1 and [O:2] as O2. The resulting name must be unique within the molecule and at most four characters.

chain_id: str

Chain ID containing the atom

type: Literal["ligand_atom"]
class InputBinderSpecificationUniformlySampledBinderSpecResponseBinderSpecificationNoTemplateBinderSpecResponseBondAtom2PolymerAtomResponse:
atom_name: str

Standardized atom name (verifiable in CIF file on RCSB)

chain_id: str

Chain ID containing the atom

residue_index: int

0-based residue index

minimum0
type: Literal["polymer_atom"]
rules: Optional[InputBinderSpecificationUniformlySampledBinderSpecResponseBinderSpecificationNoTemplateBinderSpecResponseRules]

Constraints applied during sequence design

excluded_amino_acids: Optional[List[str]]

Single-letter amino acid codes to exclude from design (e.g. [‘C’, ‘P’] to exclude cysteine and proline)

excluded_sequence_motifs: Optional[List[str]]

Sequence motifs to exclude from designed regions. Designs containing any of these motifs are filtered out before scoring. Use X as a single-residue wildcard (e.g. “NGS”, “NXS”).

max_hydrophobic_fraction: Optional[float]

Maximum allowed fraction of hydrophobic residues (I, L, V, M, F, W, Y) in designed regions. Designs exceeding this threshold are filtered out before scoring. Leave empty to disable.

minimum0
maximum1
class InputBinderSpecificationUniformlySampledBinderSpecResponseBinderSpecificationBoltzCuratedBinderSpecResponse:

Boltz-managed curated binder specification. Choose a curated nanobody or antibody family and Boltz will select from maintained template lists during design. The curated lists are managed by Boltz and may be updated over time to improve quality and coverage.

binder: Literal["boltz_nanobody", "boltz_antibody"]

Boltz-managed curated binder family. Boltz maintains and may update the underlying template lists on behalf of customers.

One of the following:
"boltz_nanobody"
"boltz_antibody"
type: Literal["boltz_curated"]
rules: Optional[InputBinderSpecificationUniformlySampledBinderSpecResponseBinderSpecificationBoltzCuratedBinderSpecResponseRules]

Constraints applied during sequence design

excluded_amino_acids: Optional[List[str]]

Single-letter amino acid codes to exclude from design (e.g. [‘C’, ‘P’] to exclude cysteine and proline)

excluded_sequence_motifs: Optional[List[str]]

Sequence motifs to exclude from designed regions. Designs containing any of these motifs are filtered out before scoring. Use X as a single-residue wildcard (e.g. “NGS”, “NXS”).

max_hydrophobic_fraction: Optional[float]

Maximum allowed fraction of hydrophobic residues (I, L, V, M, F, W, Y) in designed regions. Designs exceeding this threshold are filtered out before scoring. Leave empty to disable.

minimum0
maximum1
type: Literal["uniformly_sampled_specifications"]
num_proteins: int

Number of protein designs to generate. Must be between 10 and 1,000,000.

minimum10
maximum1000000
target: InputTarget

Target specification (structure template or template-free)

One of the following:
class InputTargetStructureTemplateTargetResponse:

Target defined by an uploaded 3D structure (CIF or PDB file). Only chains included in chain_selection are used.

chain_selection: Dict[str, InputTargetStructureTemplateTargetResponseChainSelection]

Chains selected from the uploaded structure, keyed by chain ID. Only chains listed here are included in the pipeline run — any chains omitted from this mapping are ignored. Each value defines which residues to keep, which are epitope residues, which are non-binding residues, and which are flexible.

One of the following:
class InputTargetStructureTemplateTargetResponseChainSelectionStructureTemplateTargetPolymerChainSpec:

Per-chain specification for a polymer (protein/RNA/DNA) chain in a structure template target.

chain_type: Literal["polymer"]
crop_residues: Union[List[int], Literal["all"]]

0-indexed residue indices to retain from this chain, or ‘all’ to keep all residues. Residues not listed are excluded from the pipeline run.

One of the following:
List[int]

0-indexed residue indices to keep

Literal["all"]
epitope_residues: Optional[List[int]]

0-indexed residue indices where binder contact is desired (the epitope). All indices must be present in crop_residues and must not overlap non_binding_residues.

flexible_residues: Optional[List[int]]

0-indexed residue indices allowed to move during design (e.g. flexible loop regions). All indices must be present in crop_residues.

non_binding_residues: Optional[List[int]]

0-indexed residue indices where binder contact should be discouraged. All indices must be present in crop_residues and must not overlap epitope_residues.

class InputTargetStructureTemplateTargetResponseChainSelectionStructureTemplateTargetLigandChainSpec:

Per-chain specification for a ligand chain in a structure template target. The full ligand is always included.

chain_type: Literal["ligand"]
structure: InputTargetStructureTemplateTargetResponseStructure
url: str

URL to download the file

formaturi
url_expires_at: datetime

When the presigned URL expires

formatdate-time
type: Literal["structure_template"]
class InputTargetNoTemplateTargetResponse:

Target defined by sequences only, without a 3D structure template

entities: List[InputTargetNoTemplateTargetResponseEntity]

Entities (proteins, RNA, DNA, ligands) defining the target complex.

One of the following:
class InputTargetNoTemplateTargetResponseEntityProteinEntityResponse:
chain_ids: List[str]

Chain IDs for this entity

type: Literal["protein"]
value: str

Amino acid sequence (one-letter codes)

cyclic: Optional[bool]

Whether the sequence is cyclic

modifications: Optional[List[InputTargetNoTemplateTargetResponseEntityProteinEntityResponseModification]]

CCD post-translational modifications. Optional; defaults to an empty list when omitted. SMILES modifications are not supported.

residue_index: int

0-based index of the residue to modify

minimum0
type: Literal["ccd"]

Modification format. Only CCD polymer modifications are supported.

value: str

CCD code from RCSB PDB (e.g. ‘MSE’ for selenomethionine, ‘SEP’ for phosphoserine)

class InputTargetNoTemplateTargetResponseEntityRnaEntityResponse:
chain_ids: List[str]

Chain IDs for this entity

type: Literal["rna"]
value: str

RNA nucleotide sequence (A, C, G, U, N)

cyclic: Optional[bool]

Whether the sequence is cyclic

modifications: Optional[List[InputTargetNoTemplateTargetResponseEntityRnaEntityResponseModification]]

CCD chemical modifications. Optional; defaults to an empty list when omitted. SMILES modifications are not supported.

residue_index: int

0-based index of the residue to modify

minimum0
type: Literal["ccd"]

Modification format. Only CCD polymer modifications are supported.

value: str

CCD code from RCSB PDB (e.g. ‘MSE’ for selenomethionine, ‘SEP’ for phosphoserine)

class InputTargetNoTemplateTargetResponseEntityDnaEntityResponse:
chain_ids: List[str]

Chain IDs for this entity

type: Literal["dna"]
value: str

DNA nucleotide sequence (A, C, G, T, N)

cyclic: Optional[bool]

Whether the sequence is cyclic

modifications: Optional[List[InputTargetNoTemplateTargetResponseEntityDnaEntityResponseModification]]

CCD chemical modifications. Optional; defaults to an empty list when omitted. SMILES modifications are not supported.

residue_index: int

0-based index of the residue to modify

minimum0
type: Literal["ccd"]

Modification format. Only CCD polymer modifications are supported.

value: str

CCD code from RCSB PDB (e.g. ‘MSE’ for selenomethionine, ‘SEP’ for phosphoserine)

class InputTargetNoTemplateTargetResponseEntityLigandCcdEntityResponse:
chain_ids: List[str]

Chain IDs for this ligand

type: Literal["ligand_ccd"]
value: str

CCD code (e.g., ATP, ADP)

class InputTargetNoTemplateTargetResponseEntityLigandSmilesEntityResponse:
chain_ids: List[str]

Chain IDs for this ligand

type: Literal["ligand_smiles"]
value: str

SMILES string representing the ligand

type: Literal["no_template"]
bonds: Optional[List[InputTargetNoTemplateTargetResponseBond]]

Covalent bond constraints between atoms in the target complex. Ligand atom references support CCD atom names and explicitly atom-mapped SMILES atoms.

atom1: InputTargetNoTemplateTargetResponseBondAtom1

Ligand atom reference for a CCD atom or an explicitly atom-mapped SMILES atom.

One of the following:
class InputTargetNoTemplateTargetResponseBondAtom1LigandAtomResponse:

Ligand atom reference for a CCD atom or an explicitly atom-mapped SMILES atom.

atom_name: str

Atom name. For ligand_ccd, use the standardized CIF atom name. For ligand_smiles, explicitly label the atom with numeric atom-map notation: [C:1] is referenced as C1 and [O:2] as O2. The resulting name must be unique within the molecule and at most four characters.

chain_id: str

Chain ID containing the atom

type: Literal["ligand_atom"]
class InputTargetNoTemplateTargetResponseBondAtom1PolymerAtomResponse:
atom_name: str

Standardized atom name (verifiable in CIF file on RCSB)

chain_id: str

Chain ID containing the atom

residue_index: int

0-based residue index

minimum0
type: Literal["polymer_atom"]
atom2: InputTargetNoTemplateTargetResponseBondAtom2

Ligand atom reference for a CCD atom or an explicitly atom-mapped SMILES atom.

One of the following:
class InputTargetNoTemplateTargetResponseBondAtom2LigandAtomResponse:

Ligand atom reference for a CCD atom or an explicitly atom-mapped SMILES atom.

atom_name: str

Atom name. For ligand_ccd, use the standardized CIF atom name. For ligand_smiles, explicitly label the atom with numeric atom-map notation: [C:1] is referenced as C1 and [O:2] as O2. The resulting name must be unique within the molecule and at most four characters.

chain_id: str

Chain ID containing the atom

type: Literal["ligand_atom"]
class InputTargetNoTemplateTargetResponseBondAtom2PolymerAtomResponse:
atom_name: str

Standardized atom name (verifiable in CIF file on RCSB)

chain_id: str

Chain ID containing the atom

residue_index: int

0-based residue index

minimum0
type: Literal["polymer_atom"]
constraints: Optional[List[InputTargetNoTemplateTargetResponseConstraint]]

Structural constraints (pocket and contact). Ligand atom references support CCD atom names and explicitly atom-mapped SMILES atoms.

One of the following:
class InputTargetNoTemplateTargetResponseConstraintPocketConstraintResponse:

Constrains the binder to interact with specific pocket residues on the target.

binder_chain_id: str

Chain ID of the binder molecule

contact_residues: Dict[str, List[int]]

Binding pocket residues keyed by chain ID. Each key is a chain ID (e.g. “A”) and the value is an array of 0-indexed residue indices that define the pocket on that chain.

max_distance_angstrom: float

Maximum allowed distance in Angstroms between binder and pocket residues. Typical range: 4-8 A.

type: Literal["pocket"]
force: Optional[bool]

Whether to force the constraint

class InputTargetNoTemplateTargetResponseConstraintContactConstraintResponse:

Maximum-distance contact constraint between two polymer residues or ligand atoms.

max_distance_angstrom: float

Maximum distance in Angstroms

token1: InputTargetNoTemplateTargetResponseConstraintContactConstraintResponseToken1

Ligand contact token for a CCD atom or an explicitly atom-mapped SMILES atom.

One of the following:
class InputTargetNoTemplateTargetResponseConstraintContactConstraintResponseToken1PolymerContactTokenResponse:
chain_id: str

Chain ID

residue_index: int

0-based residue index

minimum0
type: Literal["polymer_contact"]
class InputTargetNoTemplateTargetResponseConstraintContactConstraintResponseToken1LigandContactTokenResponse:

Ligand contact token for a CCD atom or an explicitly atom-mapped SMILES atom.

atom_name: str

Atom name. For ligand_ccd, use the standardized CIF atom name. For ligand_smiles, explicitly label the atom with numeric atom-map notation: [C:1] is referenced as C1 and [O:2] as O2. The resulting name must be unique within the molecule and at most four characters.

chain_id: str

Chain ID

type: Literal["ligand_contact"]
token2: InputTargetNoTemplateTargetResponseConstraintContactConstraintResponseToken2

Ligand contact token for a CCD atom or an explicitly atom-mapped SMILES atom.

One of the following:
class InputTargetNoTemplateTargetResponseConstraintContactConstraintResponseToken2PolymerContactTokenResponse:
chain_id: str

Chain ID

residue_index: int

0-based residue index

minimum0
type: Literal["polymer_contact"]
class InputTargetNoTemplateTargetResponseConstraintContactConstraintResponseToken2LigandContactTokenResponse:

Ligand contact token for a CCD atom or an explicitly atom-mapped SMILES atom.

atom_name: str

Atom name. For ligand_ccd, use the standardized CIF atom name. For ligand_smiles, explicitly label the atom with numeric atom-map notation: [C:1] is referenced as C1 and [O:2] as O2. The resulting name must be unique within the molecule and at most four characters.

chain_id: str

Chain ID

type: Literal["ligand_contact"]
type: Literal["contact"]
force: Optional[bool]

Whether to force the constraint

epitope_ligand_chains: Optional[List[str]]

Chain IDs of ligand entities that are part of the binding epitope. Ligands are marked as epitope in full (no residue-level selection).

epitope_residues: Optional[Dict[str, List[int]]]

Polymer chain residues where binder contact is desired (the epitope). Each key is a chain ID of a polymer entity, each value is an array of 0-indexed residue indices. Residues must not overlap non_binding_residues on the same chain.

non_binding_residues: Optional[Dict[str, List[int]]]

Polymer chain residues where binder contact should be discouraged. Each key is a chain ID of a polymer entity, each value is an array of 0-indexed residue indices. Residues must not overlap epitope_residues on the same chain.

idempotency_key: Optional[str]

Client-provided key to prevent duplicate submissions on retries

maxLength255
workspace_id: Optional[str]

Target workspace ID (admin keys only; ignored for workspace keys)

livemode: bool

Whether this resource was created with a live API key.

pipeline: Literal["boltzprot"]

Pipeline used for protein design

pipeline_version: Literal["1.0"]

Pipeline version used for protein design

progress: Optional[Progress]
num_proteins_generated: int

Number of protein binders generated so far

minimum0
total_proteins_to_generate: int

Total number of protein binders requested

minimum1
latest_result_id: Optional[str]

ID of the most recently generated result

started_at: Optional[datetime]
formatdate-time
status: Literal["pending", "running", "succeeded", 2 more]
One of the following:
"pending"
"running"
"succeeded"
"failed"
"stopped"
stopped_at: Optional[datetime]
formatdate-time
workspace_id: str

Workspace ID

idempotency_key: Optional[str]

Client-provided idempotency key

class DesignListResultsResponse:

A single generated protein design

id: str

Unique result ID.

artifacts: Artifacts
archive: ArtifactsArchive
url: str

URL to download the file

formaturi
url_expires_at: datetime

When the presigned URL expires

formatdate-time
structure: Optional[ArtifactsStructure]
url: str

URL to download the file

formaturi
url_expires_at: datetime

When the presigned URL expires

formatdate-time
created_at: datetime
formatdate-time
entities: List[Entity]

Entities in the designed complex, including designed and fixed input entities.

One of the following:
class EntityProteinEntity:
chain_ids: List[str]

Chain IDs for this entity

type: Literal["protein"]
value: str

Amino acid sequence (one-letter codes)

cyclic: Optional[bool]

Whether the sequence is cyclic

modifications: Optional[List[EntityProteinEntityModification]]

CCD post-translational modifications. Optional; defaults to an empty list when omitted. SMILES modifications are not supported.

residue_index: int

0-based index of the residue to modify

minimum0
type: Literal["ccd"]

Modification format. Only CCD polymer modifications are supported.

value: str

CCD code from RCSB PDB (e.g. ‘MSE’ for selenomethionine, ‘SEP’ for phosphoserine)

class EntityRnaEntity:
chain_ids: List[str]

Chain IDs for this entity

type: Literal["rna"]
value: str

RNA nucleotide sequence (A, C, G, U, N)

cyclic: Optional[bool]

Whether the sequence is cyclic

modifications: Optional[List[EntityRnaEntityModification]]

CCD chemical modifications. Optional; defaults to an empty list when omitted. SMILES modifications are not supported.

residue_index: int

0-based index of the residue to modify

minimum0
type: Literal["ccd"]

Modification format. Only CCD polymer modifications are supported.

value: str

CCD code from RCSB PDB (e.g. ‘MSE’ for selenomethionine, ‘SEP’ for phosphoserine)

class EntityDnaEntity:
chain_ids: List[str]

Chain IDs for this entity

type: Literal["dna"]
value: str

DNA nucleotide sequence (A, C, G, T, N)

cyclic: Optional[bool]

Whether the sequence is cyclic

modifications: Optional[List[EntityDnaEntityModification]]

CCD chemical modifications. Optional; defaults to an empty list when omitted. SMILES modifications are not supported.

residue_index: int

0-based index of the residue to modify

minimum0
type: Literal["ccd"]

Modification format. Only CCD polymer modifications are supported.

value: str

CCD code from RCSB PDB (e.g. ‘MSE’ for selenomethionine, ‘SEP’ for phosphoserine)

class EntityLigandCcdEntity:
chain_ids: List[str]

Chain IDs for this ligand

type: Literal["ligand_ccd"]
value: str

CCD code (e.g., ATP, ADP)

class EntityLigandSmilesEntity:
chain_ids: List[str]

Chain IDs for this ligand

type: Literal["ligand_smiles"]
value: str

SMILES string representing the ligand

metrics: Metrics

Structural and binding quality metrics for a designed protein binder

binding_confidence: float

Confidence that the designed binder binds the target (0-1). Primary metric for hit discovery.

helix_fraction: float

Fraction of the designed sequence forming alpha helices (0-1).

minimum0
maximum1
iptm: float

Interface predicted TM score (0-1). Confidence in the protein-protein interface.

loop_fraction: float

Fraction of the designed sequence in coil/loop regions (0-1).

minimum0
maximum1
min_interaction_pae: float

Minimum predicted aligned error at the interface (Angstroms). Lower values indicate higher confidence.

sheet_fraction: float

Fraction of the designed sequence forming beta sheets (0-1).

minimum0
maximum1
structure_confidence: float

Confidence in the predicted 3D structure (0-1).

warnings: Optional[List[Warning]]

Warnings about potential quality issues with this result.

code: str

Machine-readable warning code (e.g. “low_confidence”, “unusual_geometry”)

message: str

Human-readable description of the warning

class DesignStopResponse:

A protein design pipeline run that generates novel protein binders

id: str

Unique ProteinDesignRun identifier

completed_at: Optional[datetime]
formatdate-time
created_at: datetime
formatdate-time
data_deleted_at: Optional[datetime]

When the input, output, and result data was permanently deleted. Null if data has not been deleted.

formatdate-time
Deprecatedengine: Literal["boltzprot"]
Use pipeline instead.

Deprecated. Use pipeline instead.

Deprecatedengine_version: Literal["1.0"]
Use pipeline_version instead.

Deprecated. Use pipeline_version instead.

error: Optional[Error]
code: str

Machine-readable error code

message: str

Human-readable error message

details: Optional[object]

Additional field-level error details keyed by input path, when available.

input: Optional[Input]

Pipeline input (null if data deleted)

binder_specification: InputBinderSpecification

Binder specification for protein design. Use no_template for sequence-defined binders, structure_template for uploaded binder structures, boltz_curated for Boltz-managed nanobody and antibody defaults, or uniformly_sampled_specifications to sample uniformly across multiple binder specifications.

One of the following:
class InputBinderSpecificationStructureTemplateBinderSpecResponse:

Binder specification starting from an existing 3D structure. Upload a CIF/PDB file and select which chains to include, which residues to keep, and which regions to redesign. Only chains included in chain_selection are part of the pipeline run.

chain_selection: Dict[str, InputBinderSpecificationStructureTemplateBinderSpecResponseChainSelection]

Chains selected from the uploaded binder structure, keyed by chain ID. Only chains listed here are included in the pipeline run — any chains omitted from this mapping are ignored. Each value defines which residues to keep (crop_residues). Omit design_motifs to include the chain as fixed scaffold context.

One of the following:
class InputBinderSpecificationStructureTemplateBinderSpecResponseChainSelectionStructureTemplatePolymerChainSpec:

Per-chain crop and design specification for a polymer chain in structure_template mode.

chain_type: Literal["polymer"]
crop_residues: Union[List[int], Literal["all"]]

0-indexed residue indices to retain from this chain, or ‘all’ to keep all residues. Residues not listed are removed before design.

One of the following:
List[int]
Literal["all"]
design_motifs: Optional[List[InputBinderSpecificationStructureTemplateBinderSpecResponseChainSelectionStructureTemplatePolymerChainSpecDesignMotif]]

Optional motifs (replacement or insertion) defining which regions to redesign on this chain. Omit this field to include the chain as fixed scaffold context.

One of the following:
class InputBinderSpecificationStructureTemplateBinderSpecResponseChainSelectionStructureTemplatePolymerChainSpecDesignMotifReplacementMotif:

Replace a contiguous region of the sequence with a designed segment. Residues from start_index to end_index (inclusive) are replaced with a new sequence of the specified length.

design_length_range: InputBinderSpecificationStructureTemplateBinderSpecResponseChainSelectionStructureTemplatePolymerChainSpecDesignMotifReplacementMotifDesignLengthRange

Allowed sequence length range for designed regions

max: int

Maximum sequence length in residues. Must be >= min.

minimum0
min: int

Minimum sequence length in residues

minimum0
end_index: int

0-indexed end residue (inclusive)

minimum0
start_index: int

0-indexed start residue (inclusive)

minimum0
type: Literal["replacement"]
class InputBinderSpecificationStructureTemplateBinderSpecResponseChainSelectionStructureTemplatePolymerChainSpecDesignMotifInsertionMotif:

Insert a designed segment at a specific position in the sequence.

after_residue_index: int

0-indexed position after which to insert. Use -1 to insert before the first residue.

minimum-1
design_length_range: InputBinderSpecificationStructureTemplateBinderSpecResponseChainSelectionStructureTemplatePolymerChainSpecDesignMotifInsertionMotifDesignLengthRange

Allowed sequence length range for designed regions

max: int

Maximum sequence length in residues. Must be >= min.

minimum0
min: int

Minimum sequence length in residues

minimum0
type: Literal["insertion"]
class InputBinderSpecificationStructureTemplateBinderSpecResponseChainSelectionStructureTemplateLigandChainSpec:

Per-chain specification for a ligand chain in structure_template mode. The full ligand is always included.

chain_type: Literal["ligand"]
modality: Literal["peptide", "antibody", "nanobody", "custom_protein"]
One of the following:
"peptide"
"antibody"
"nanobody"
"custom_protein"
structure: InputBinderSpecificationStructureTemplateBinderSpecResponseStructure
url: str

URL to download the file

formaturi
url_expires_at: datetime

When the presigned URL expires

formatdate-time
type: Literal["structure_template"]
rules: Optional[InputBinderSpecificationStructureTemplateBinderSpecResponseRules]

Constraints applied during sequence design

excluded_amino_acids: Optional[List[str]]

Single-letter amino acid codes to exclude from design (e.g. [‘C’, ‘P’] to exclude cysteine and proline)

excluded_sequence_motifs: Optional[List[str]]

Sequence motifs to exclude from designed regions. Designs containing any of these motifs are filtered out before scoring. Use X as a single-residue wildcard (e.g. “NGS”, “NXS”).

max_hydrophobic_fraction: Optional[float]

Maximum allowed fraction of hydrophobic residues (I, L, V, M, F, W, Y) in designed regions. Designs exceeding this threshold are filtered out before scoring. Leave empty to disable.

minimum0
maximum1
class InputBinderSpecificationNoTemplateBinderSpecResponse:

Binder specification without a structural template. Define the binder from sequence components (fixed and designed segments) without providing a starting 3D structure.

entities: List[InputBinderSpecificationNoTemplateBinderSpecResponseEntity]

Binder entities composing the design. At least one must be a designed_protein entity. Additional fixed entities (RNA, DNA, ligands) can be included as part of the complex.

One of the following:
class InputBinderSpecificationNoTemplateBinderSpecResponseEntityDesignedProteinEntityResponse:

Protein binder entity with designed and/or fixed segments.

chain_ids: List[str]

Chain IDs to assign to this entity

type: Literal["designed_protein"]
value: str

Binder sequence specification. Fixed amino acids are written as literal single-letter codes. Designed regions are written as a length (fixed) or a length range (min..max). Example: “MKTAYI5..10VKSHFSRQ” means fixed MKTAYI, then 5-10 designed residues, then fixed VKSHFSRQ. “20” means 20 fully designed residues. “ACDE8GHI” means fixed ACDE, then 8 designed residues, then fixed GHI.

cyclic: Optional[bool]

Whether the sequence is cyclic

modifications: Optional[List[InputBinderSpecificationNoTemplateBinderSpecResponseEntityDesignedProteinEntityResponseModification]]

Optional CCD polymer modifications. Defaults to [] when omitted. SMILES modifications are not supported.

residue_index: int

0-based index of the residue to modify

minimum0
type: Literal["ccd"]

Modification format. Only CCD polymer modifications are supported.

value: str

CCD code from RCSB PDB (e.g. ‘MSE’ for selenomethionine, ‘SEP’ for phosphoserine)

class InputBinderSpecificationNoTemplateBinderSpecResponseEntityFixedProteinEntityResponse:

A fixed protein entity whose sequence is not redesigned.

chain_ids: List[str]

Chain IDs to assign to this entity

type: Literal["protein"]
value: str

Amino acid sequence (one-letter codes)

cyclic: Optional[bool]

Whether the sequence is cyclic

modifications: Optional[List[InputBinderSpecificationNoTemplateBinderSpecResponseEntityFixedProteinEntityResponseModification]]

Optional CCD polymer modifications. Defaults to [] when omitted. SMILES modifications are not supported.

residue_index: int

0-based index of the residue to modify

minimum0
type: Literal["ccd"]

Modification format. Only CCD polymer modifications are supported.

value: str

CCD code from RCSB PDB (e.g. ‘MSE’ for selenomethionine, ‘SEP’ for phosphoserine)

class InputBinderSpecificationNoTemplateBinderSpecResponseEntityFixedRnaEntityResponse:
chain_ids: List[str]

Chain IDs to assign to this entity

type: Literal["rna"]
value: str

RNA nucleotide sequence (A, C, G, U, N)

cyclic: Optional[bool]

Whether the sequence is cyclic

modifications: Optional[List[InputBinderSpecificationNoTemplateBinderSpecResponseEntityFixedRnaEntityResponseModification]]

Optional CCD polymer modifications. Defaults to [] when omitted. SMILES modifications are not supported.

residue_index: int

0-based index of the residue to modify

minimum0
type: Literal["ccd"]

Modification format. Only CCD polymer modifications are supported.

value: str

CCD code from RCSB PDB (e.g. ‘MSE’ for selenomethionine, ‘SEP’ for phosphoserine)

class InputBinderSpecificationNoTemplateBinderSpecResponseEntityFixedDnaEntityResponse:
chain_ids: List[str]

Chain IDs to assign to this entity

type: Literal["dna"]
value: str

DNA nucleotide sequence (A, C, G, T, N)

cyclic: Optional[bool]

Whether the sequence is cyclic

modifications: Optional[List[InputBinderSpecificationNoTemplateBinderSpecResponseEntityFixedDnaEntityResponseModification]]

Optional CCD polymer modifications. Defaults to [] when omitted. SMILES modifications are not supported.

residue_index: int

0-based index of the residue to modify

minimum0
type: Literal["ccd"]

Modification format. Only CCD polymer modifications are supported.

value: str

CCD code from RCSB PDB (e.g. ‘MSE’ for selenomethionine, ‘SEP’ for phosphoserine)

class InputBinderSpecificationNoTemplateBinderSpecResponseEntityFixedLigandSmilesEntityResponse:
chain_ids: List[str]

Chain IDs to assign to this entity

type: Literal["ligand_smiles"]
value: str

SMILES string representing the ligand

class InputBinderSpecificationNoTemplateBinderSpecResponseEntityFixedLigandCcdEntityResponse:
chain_ids: List[str]

Chain IDs to assign to this entity

type: Literal["ligand_ccd"]
value: str

CCD code from RCSB PDB (e.g. ‘ATP’, ‘ADP’)

modality: Literal["peptide", "antibody", "nanobody", "custom_protein"]
One of the following:
"peptide"
"antibody"
"nanobody"
"custom_protein"
type: Literal["no_template"]
bonds: Optional[List[InputBinderSpecificationNoTemplateBinderSpecResponseBond]]

Covalent bond constraints between atoms in the binder complex. If defining bonds where an atom is part of a designed protein chain, assume residue indices count designed regions as the minimum length. Example: designed protein “1..3C1..2”, “C” is residue 1 (0-indexed) of the designed protein.

atom1: InputBinderSpecificationNoTemplateBinderSpecResponseBondAtom1

Ligand atom reference for a CCD atom or an explicitly atom-mapped SMILES atom.

One of the following:
class InputBinderSpecificationNoTemplateBinderSpecResponseBondAtom1LigandAtomResponse:

Ligand atom reference for a CCD atom or an explicitly atom-mapped SMILES atom.

atom_name: str

Atom name. For ligand_ccd, use the standardized CIF atom name. For ligand_smiles, explicitly label the atom with numeric atom-map notation: [C:1] is referenced as C1 and [O:2] as O2. The resulting name must be unique within the molecule and at most four characters.

chain_id: str

Chain ID containing the atom

type: Literal["ligand_atom"]
class InputBinderSpecificationNoTemplateBinderSpecResponseBondAtom1PolymerAtomResponse:
atom_name: str

Standardized atom name (verifiable in CIF file on RCSB)

chain_id: str

Chain ID containing the atom

residue_index: int

0-based residue index

minimum0
type: Literal["polymer_atom"]
atom2: InputBinderSpecificationNoTemplateBinderSpecResponseBondAtom2

Ligand atom reference for a CCD atom or an explicitly atom-mapped SMILES atom.

One of the following:
class InputBinderSpecificationNoTemplateBinderSpecResponseBondAtom2LigandAtomResponse:

Ligand atom reference for a CCD atom or an explicitly atom-mapped SMILES atom.

atom_name: str

Atom name. For ligand_ccd, use the standardized CIF atom name. For ligand_smiles, explicitly label the atom with numeric atom-map notation: [C:1] is referenced as C1 and [O:2] as O2. The resulting name must be unique within the molecule and at most four characters.

chain_id: str

Chain ID containing the atom

type: Literal["ligand_atom"]
class InputBinderSpecificationNoTemplateBinderSpecResponseBondAtom2PolymerAtomResponse:
atom_name: str

Standardized atom name (verifiable in CIF file on RCSB)

chain_id: str

Chain ID containing the atom

residue_index: int

0-based residue index

minimum0
type: Literal["polymer_atom"]
rules: Optional[InputBinderSpecificationNoTemplateBinderSpecResponseRules]

Constraints applied during sequence design

excluded_amino_acids: Optional[List[str]]

Single-letter amino acid codes to exclude from design (e.g. [‘C’, ‘P’] to exclude cysteine and proline)

excluded_sequence_motifs: Optional[List[str]]

Sequence motifs to exclude from designed regions. Designs containing any of these motifs are filtered out before scoring. Use X as a single-residue wildcard (e.g. “NGS”, “NXS”).

max_hydrophobic_fraction: Optional[float]

Maximum allowed fraction of hydrophobic residues (I, L, V, M, F, W, Y) in designed regions. Designs exceeding this threshold are filtered out before scoring. Leave empty to disable.

minimum0
maximum1
class InputBinderSpecificationBoltzCuratedBinderSpecResponse:

Boltz-managed curated binder specification. Choose a curated nanobody or antibody family and Boltz will select from maintained template lists during design. The curated lists are managed by Boltz and may be updated over time to improve quality and coverage.

binder: Literal["boltz_nanobody", "boltz_antibody"]

Boltz-managed curated binder family. Boltz maintains and may update the underlying template lists on behalf of customers.

One of the following:
"boltz_nanobody"
"boltz_antibody"
type: Literal["boltz_curated"]
rules: Optional[InputBinderSpecificationBoltzCuratedBinderSpecResponseRules]

Constraints applied during sequence design

excluded_amino_acids: Optional[List[str]]

Single-letter amino acid codes to exclude from design (e.g. [‘C’, ‘P’] to exclude cysteine and proline)

excluded_sequence_motifs: Optional[List[str]]

Sequence motifs to exclude from designed regions. Designs containing any of these motifs are filtered out before scoring. Use X as a single-residue wildcard (e.g. “NGS”, “NXS”).

max_hydrophobic_fraction: Optional[float]

Maximum allowed fraction of hydrophobic residues (I, L, V, M, F, W, Y) in designed regions. Designs exceeding this threshold are filtered out before scoring. Leave empty to disable.

minimum0
maximum1
class InputBinderSpecificationUniformlySampledBinderSpecResponse:

A collection of binder specifications sampled uniformly during protein design. This lets one run explore multiple binder definitions while keeping each generation request shape unchanged.

binder_specifications: List[InputBinderSpecificationUniformlySampledBinderSpecResponseBinderSpecification]

Binder specifications to sample uniformly when generating designs. Each generation samples one specification from this list; over larger runs this gives roughly equal representation.

One of the following:
class InputBinderSpecificationUniformlySampledBinderSpecResponseBinderSpecificationStructureTemplateBinderSpecResponse:

Binder specification starting from an existing 3D structure. Upload a CIF/PDB file and select which chains to include, which residues to keep, and which regions to redesign. Only chains included in chain_selection are part of the pipeline run.

chain_selection: Dict[str, InputBinderSpecificationUniformlySampledBinderSpecResponseBinderSpecificationStructureTemplateBinderSpecResponseChainSelection]

Chains selected from the uploaded binder structure, keyed by chain ID. Only chains listed here are included in the pipeline run — any chains omitted from this mapping are ignored. Each value defines which residues to keep (crop_residues). Omit design_motifs to include the chain as fixed scaffold context.

One of the following:
class InputBinderSpecificationUniformlySampledBinderSpecResponseBinderSpecificationStructureTemplateBinderSpecResponseChainSelectionStructureTemplatePolymerChainSpec:

Per-chain crop and design specification for a polymer chain in structure_template mode.

chain_type: Literal["polymer"]
crop_residues: Union[List[int], Literal["all"]]

0-indexed residue indices to retain from this chain, or ‘all’ to keep all residues. Residues not listed are removed before design.

One of the following:
List[int]
Literal["all"]
design_motifs: Optional[List[InputBinderSpecificationUniformlySampledBinderSpecResponseBinderSpecificationStructureTemplateBinderSpecResponseChainSelectionStructureTemplatePolymerChainSpecDesignMotif]]

Optional motifs (replacement or insertion) defining which regions to redesign on this chain. Omit this field to include the chain as fixed scaffold context.

One of the following:
class InputBinderSpecificationUniformlySampledBinderSpecResponseBinderSpecificationStructureTemplateBinderSpecResponseChainSelectionStructureTemplatePolymerChainSpecDesignMotifReplacementMotif:

Replace a contiguous region of the sequence with a designed segment. Residues from start_index to end_index (inclusive) are replaced with a new sequence of the specified length.

design_length_range: InputBinderSpecificationUniformlySampledBinderSpecResponseBinderSpecificationStructureTemplateBinderSpecResponseChainSelectionStructureTemplatePolymerChainSpecDesignMotifReplacementMotifDesignLengthRange

Allowed sequence length range for designed regions

max: int

Maximum sequence length in residues. Must be >= min.

minimum0
min: int

Minimum sequence length in residues

minimum0
end_index: int

0-indexed end residue (inclusive)

minimum0
start_index: int

0-indexed start residue (inclusive)

minimum0
type: Literal["replacement"]
class InputBinderSpecificationUniformlySampledBinderSpecResponseBinderSpecificationStructureTemplateBinderSpecResponseChainSelectionStructureTemplatePolymerChainSpecDesignMotifInsertionMotif:

Insert a designed segment at a specific position in the sequence.

after_residue_index: int

0-indexed position after which to insert. Use -1 to insert before the first residue.

minimum-1
design_length_range: InputBinderSpecificationUniformlySampledBinderSpecResponseBinderSpecificationStructureTemplateBinderSpecResponseChainSelectionStructureTemplatePolymerChainSpecDesignMotifInsertionMotifDesignLengthRange

Allowed sequence length range for designed regions

max: int

Maximum sequence length in residues. Must be >= min.

minimum0
min: int

Minimum sequence length in residues

minimum0
type: Literal["insertion"]
class InputBinderSpecificationUniformlySampledBinderSpecResponseBinderSpecificationStructureTemplateBinderSpecResponseChainSelectionStructureTemplateLigandChainSpec:

Per-chain specification for a ligand chain in structure_template mode. The full ligand is always included.

chain_type: Literal["ligand"]
modality: Literal["peptide", "antibody", "nanobody", "custom_protein"]
One of the following:
"peptide"
"antibody"
"nanobody"
"custom_protein"
structure: InputBinderSpecificationUniformlySampledBinderSpecResponseBinderSpecificationStructureTemplateBinderSpecResponseStructure
url: str

URL to download the file

formaturi
url_expires_at: datetime

When the presigned URL expires

formatdate-time
type: Literal["structure_template"]
rules: Optional[InputBinderSpecificationUniformlySampledBinderSpecResponseBinderSpecificationStructureTemplateBinderSpecResponseRules]

Constraints applied during sequence design

excluded_amino_acids: Optional[List[str]]

Single-letter amino acid codes to exclude from design (e.g. [‘C’, ‘P’] to exclude cysteine and proline)

excluded_sequence_motifs: Optional[List[str]]

Sequence motifs to exclude from designed regions. Designs containing any of these motifs are filtered out before scoring. Use X as a single-residue wildcard (e.g. “NGS”, “NXS”).

max_hydrophobic_fraction: Optional[float]

Maximum allowed fraction of hydrophobic residues (I, L, V, M, F, W, Y) in designed regions. Designs exceeding this threshold are filtered out before scoring. Leave empty to disable.

minimum0
maximum1
class InputBinderSpecificationUniformlySampledBinderSpecResponseBinderSpecificationNoTemplateBinderSpecResponse:

Binder specification without a structural template. Define the binder from sequence components (fixed and designed segments) without providing a starting 3D structure.

entities: List[InputBinderSpecificationUniformlySampledBinderSpecResponseBinderSpecificationNoTemplateBinderSpecResponseEntity]

Binder entities composing the design. At least one must be a designed_protein entity. Additional fixed entities (RNA, DNA, ligands) can be included as part of the complex.

One of the following:
class InputBinderSpecificationUniformlySampledBinderSpecResponseBinderSpecificationNoTemplateBinderSpecResponseEntityDesignedProteinEntityResponse:

Protein binder entity with designed and/or fixed segments.

chain_ids: List[str]

Chain IDs to assign to this entity

type: Literal["designed_protein"]
value: str

Binder sequence specification. Fixed amino acids are written as literal single-letter codes. Designed regions are written as a length (fixed) or a length range (min..max). Example: “MKTAYI5..10VKSHFSRQ” means fixed MKTAYI, then 5-10 designed residues, then fixed VKSHFSRQ. “20” means 20 fully designed residues. “ACDE8GHI” means fixed ACDE, then 8 designed residues, then fixed GHI.

cyclic: Optional[bool]

Whether the sequence is cyclic

modifications: Optional[List[InputBinderSpecificationUniformlySampledBinderSpecResponseBinderSpecificationNoTemplateBinderSpecResponseEntityDesignedProteinEntityResponseModification]]

Optional CCD polymer modifications. Defaults to [] when omitted. SMILES modifications are not supported.

residue_index: int

0-based index of the residue to modify

minimum0
type: Literal["ccd"]

Modification format. Only CCD polymer modifications are supported.

value: str

CCD code from RCSB PDB (e.g. ‘MSE’ for selenomethionine, ‘SEP’ for phosphoserine)

class InputBinderSpecificationUniformlySampledBinderSpecResponseBinderSpecificationNoTemplateBinderSpecResponseEntityFixedProteinEntityResponse:

A fixed protein entity whose sequence is not redesigned.

chain_ids: List[str]

Chain IDs to assign to this entity

type: Literal["protein"]
value: str

Amino acid sequence (one-letter codes)

cyclic: Optional[bool]

Whether the sequence is cyclic

modifications: Optional[List[InputBinderSpecificationUniformlySampledBinderSpecResponseBinderSpecificationNoTemplateBinderSpecResponseEntityFixedProteinEntityResponseModification]]

Optional CCD polymer modifications. Defaults to [] when omitted. SMILES modifications are not supported.

residue_index: int

0-based index of the residue to modify

minimum0
type: Literal["ccd"]

Modification format. Only CCD polymer modifications are supported.

value: str

CCD code from RCSB PDB (e.g. ‘MSE’ for selenomethionine, ‘SEP’ for phosphoserine)

class InputBinderSpecificationUniformlySampledBinderSpecResponseBinderSpecificationNoTemplateBinderSpecResponseEntityFixedRnaEntityResponse:
chain_ids: List[str]

Chain IDs to assign to this entity

type: Literal["rna"]
value: str

RNA nucleotide sequence (A, C, G, U, N)

cyclic: Optional[bool]

Whether the sequence is cyclic

modifications: Optional[List[InputBinderSpecificationUniformlySampledBinderSpecResponseBinderSpecificationNoTemplateBinderSpecResponseEntityFixedRnaEntityResponseModification]]

Optional CCD polymer modifications. Defaults to [] when omitted. SMILES modifications are not supported.

residue_index: int

0-based index of the residue to modify

minimum0
type: Literal["ccd"]

Modification format. Only CCD polymer modifications are supported.

value: str

CCD code from RCSB PDB (e.g. ‘MSE’ for selenomethionine, ‘SEP’ for phosphoserine)

class InputBinderSpecificationUniformlySampledBinderSpecResponseBinderSpecificationNoTemplateBinderSpecResponseEntityFixedDnaEntityResponse:
chain_ids: List[str]

Chain IDs to assign to this entity

type: Literal["dna"]
value: str

DNA nucleotide sequence (A, C, G, T, N)

cyclic: Optional[bool]

Whether the sequence is cyclic

modifications: Optional[List[InputBinderSpecificationUniformlySampledBinderSpecResponseBinderSpecificationNoTemplateBinderSpecResponseEntityFixedDnaEntityResponseModification]]

Optional CCD polymer modifications. Defaults to [] when omitted. SMILES modifications are not supported.

residue_index: int

0-based index of the residue to modify

minimum0
type: Literal["ccd"]

Modification format. Only CCD polymer modifications are supported.

value: str

CCD code from RCSB PDB (e.g. ‘MSE’ for selenomethionine, ‘SEP’ for phosphoserine)

class InputBinderSpecificationUniformlySampledBinderSpecResponseBinderSpecificationNoTemplateBinderSpecResponseEntityFixedLigandSmilesEntityResponse:
chain_ids: List[str]

Chain IDs to assign to this entity

type: Literal["ligand_smiles"]
value: str

SMILES string representing the ligand

class InputBinderSpecificationUniformlySampledBinderSpecResponseBinderSpecificationNoTemplateBinderSpecResponseEntityFixedLigandCcdEntityResponse:
chain_ids: List[str]

Chain IDs to assign to this entity

type: Literal["ligand_ccd"]
value: str

CCD code from RCSB PDB (e.g. ‘ATP’, ‘ADP’)

modality: Literal["peptide", "antibody", "nanobody", "custom_protein"]
One of the following:
"peptide"
"antibody"
"nanobody"
"custom_protein"
type: Literal["no_template"]
bonds: Optional[List[InputBinderSpecificationUniformlySampledBinderSpecResponseBinderSpecificationNoTemplateBinderSpecResponseBond]]

Covalent bond constraints between atoms in the binder complex. If defining bonds where an atom is part of a designed protein chain, assume residue indices count designed regions as the minimum length. Example: designed protein “1..3C1..2”, “C” is residue 1 (0-indexed) of the designed protein.

atom1: InputBinderSpecificationUniformlySampledBinderSpecResponseBinderSpecificationNoTemplateBinderSpecResponseBondAtom1

Ligand atom reference for a CCD atom or an explicitly atom-mapped SMILES atom.

One of the following:
class InputBinderSpecificationUniformlySampledBinderSpecResponseBinderSpecificationNoTemplateBinderSpecResponseBondAtom1LigandAtomResponse:

Ligand atom reference for a CCD atom or an explicitly atom-mapped SMILES atom.

atom_name: str

Atom name. For ligand_ccd, use the standardized CIF atom name. For ligand_smiles, explicitly label the atom with numeric atom-map notation: [C:1] is referenced as C1 and [O:2] as O2. The resulting name must be unique within the molecule and at most four characters.

chain_id: str

Chain ID containing the atom

type: Literal["ligand_atom"]
class InputBinderSpecificationUniformlySampledBinderSpecResponseBinderSpecificationNoTemplateBinderSpecResponseBondAtom1PolymerAtomResponse:
atom_name: str

Standardized atom name (verifiable in CIF file on RCSB)

chain_id: str

Chain ID containing the atom

residue_index: int

0-based residue index

minimum0
type: Literal["polymer_atom"]
atom2: InputBinderSpecificationUniformlySampledBinderSpecResponseBinderSpecificationNoTemplateBinderSpecResponseBondAtom2

Ligand atom reference for a CCD atom or an explicitly atom-mapped SMILES atom.

One of the following:
class InputBinderSpecificationUniformlySampledBinderSpecResponseBinderSpecificationNoTemplateBinderSpecResponseBondAtom2LigandAtomResponse:

Ligand atom reference for a CCD atom or an explicitly atom-mapped SMILES atom.

atom_name: str

Atom name. For ligand_ccd, use the standardized CIF atom name. For ligand_smiles, explicitly label the atom with numeric atom-map notation: [C:1] is referenced as C1 and [O:2] as O2. The resulting name must be unique within the molecule and at most four characters.

chain_id: str

Chain ID containing the atom

type: Literal["ligand_atom"]
class InputBinderSpecificationUniformlySampledBinderSpecResponseBinderSpecificationNoTemplateBinderSpecResponseBondAtom2PolymerAtomResponse:
atom_name: str

Standardized atom name (verifiable in CIF file on RCSB)

chain_id: str

Chain ID containing the atom

residue_index: int

0-based residue index

minimum0
type: Literal["polymer_atom"]
rules: Optional[InputBinderSpecificationUniformlySampledBinderSpecResponseBinderSpecificationNoTemplateBinderSpecResponseRules]

Constraints applied during sequence design

excluded_amino_acids: Optional[List[str]]

Single-letter amino acid codes to exclude from design (e.g. [‘C’, ‘P’] to exclude cysteine and proline)

excluded_sequence_motifs: Optional[List[str]]

Sequence motifs to exclude from designed regions. Designs containing any of these motifs are filtered out before scoring. Use X as a single-residue wildcard (e.g. “NGS”, “NXS”).

max_hydrophobic_fraction: Optional[float]

Maximum allowed fraction of hydrophobic residues (I, L, V, M, F, W, Y) in designed regions. Designs exceeding this threshold are filtered out before scoring. Leave empty to disable.

minimum0
maximum1
class InputBinderSpecificationUniformlySampledBinderSpecResponseBinderSpecificationBoltzCuratedBinderSpecResponse:

Boltz-managed curated binder specification. Choose a curated nanobody or antibody family and Boltz will select from maintained template lists during design. The curated lists are managed by Boltz and may be updated over time to improve quality and coverage.

binder: Literal["boltz_nanobody", "boltz_antibody"]

Boltz-managed curated binder family. Boltz maintains and may update the underlying template lists on behalf of customers.

One of the following:
"boltz_nanobody"
"boltz_antibody"
type: Literal["boltz_curated"]
rules: Optional[InputBinderSpecificationUniformlySampledBinderSpecResponseBinderSpecificationBoltzCuratedBinderSpecResponseRules]

Constraints applied during sequence design

excluded_amino_acids: Optional[List[str]]

Single-letter amino acid codes to exclude from design (e.g. [‘C’, ‘P’] to exclude cysteine and proline)

excluded_sequence_motifs: Optional[List[str]]

Sequence motifs to exclude from designed regions. Designs containing any of these motifs are filtered out before scoring. Use X as a single-residue wildcard (e.g. “NGS”, “NXS”).

max_hydrophobic_fraction: Optional[float]

Maximum allowed fraction of hydrophobic residues (I, L, V, M, F, W, Y) in designed regions. Designs exceeding this threshold are filtered out before scoring. Leave empty to disable.

minimum0
maximum1
type: Literal["uniformly_sampled_specifications"]
num_proteins: int

Number of protein designs to generate. Must be between 10 and 1,000,000.

minimum10
maximum1000000
target: InputTarget

Target specification (structure template or template-free)

One of the following:
class InputTargetStructureTemplateTargetResponse:

Target defined by an uploaded 3D structure (CIF or PDB file). Only chains included in chain_selection are used.

chain_selection: Dict[str, InputTargetStructureTemplateTargetResponseChainSelection]

Chains selected from the uploaded structure, keyed by chain ID. Only chains listed here are included in the pipeline run — any chains omitted from this mapping are ignored. Each value defines which residues to keep, which are epitope residues, which are non-binding residues, and which are flexible.

One of the following:
class InputTargetStructureTemplateTargetResponseChainSelectionStructureTemplateTargetPolymerChainSpec:

Per-chain specification for a polymer (protein/RNA/DNA) chain in a structure template target.

chain_type: Literal["polymer"]
crop_residues: Union[List[int], Literal["all"]]

0-indexed residue indices to retain from this chain, or ‘all’ to keep all residues. Residues not listed are excluded from the pipeline run.

One of the following:
List[int]

0-indexed residue indices to keep

Literal["all"]
epitope_residues: Optional[List[int]]

0-indexed residue indices where binder contact is desired (the epitope). All indices must be present in crop_residues and must not overlap non_binding_residues.

flexible_residues: Optional[List[int]]

0-indexed residue indices allowed to move during design (e.g. flexible loop regions). All indices must be present in crop_residues.

non_binding_residues: Optional[List[int]]

0-indexed residue indices where binder contact should be discouraged. All indices must be present in crop_residues and must not overlap epitope_residues.

class InputTargetStructureTemplateTargetResponseChainSelectionStructureTemplateTargetLigandChainSpec:

Per-chain specification for a ligand chain in a structure template target. The full ligand is always included.

chain_type: Literal["ligand"]
structure: InputTargetStructureTemplateTargetResponseStructure
url: str

URL to download the file

formaturi
url_expires_at: datetime

When the presigned URL expires

formatdate-time
type: Literal["structure_template"]
class InputTargetNoTemplateTargetResponse:

Target defined by sequences only, without a 3D structure template

entities: List[InputTargetNoTemplateTargetResponseEntity]

Entities (proteins, RNA, DNA, ligands) defining the target complex.

One of the following:
class InputTargetNoTemplateTargetResponseEntityProteinEntityResponse:
chain_ids: List[str]

Chain IDs for this entity

type: Literal["protein"]
value: str

Amino acid sequence (one-letter codes)

cyclic: Optional[bool]

Whether the sequence is cyclic

modifications: Optional[List[InputTargetNoTemplateTargetResponseEntityProteinEntityResponseModification]]

CCD post-translational modifications. Optional; defaults to an empty list when omitted. SMILES modifications are not supported.

residue_index: int

0-based index of the residue to modify

minimum0
type: Literal["ccd"]

Modification format. Only CCD polymer modifications are supported.

value: str

CCD code from RCSB PDB (e.g. ‘MSE’ for selenomethionine, ‘SEP’ for phosphoserine)

class InputTargetNoTemplateTargetResponseEntityRnaEntityResponse:
chain_ids: List[str]

Chain IDs for this entity

type: Literal["rna"]
value: str

RNA nucleotide sequence (A, C, G, U, N)

cyclic: Optional[bool]

Whether the sequence is cyclic

modifications: Optional[List[InputTargetNoTemplateTargetResponseEntityRnaEntityResponseModification]]

CCD chemical modifications. Optional; defaults to an empty list when omitted. SMILES modifications are not supported.

residue_index: int

0-based index of the residue to modify

minimum0
type: Literal["ccd"]

Modification format. Only CCD polymer modifications are supported.

value: str

CCD code from RCSB PDB (e.g. ‘MSE’ for selenomethionine, ‘SEP’ for phosphoserine)

class InputTargetNoTemplateTargetResponseEntityDnaEntityResponse:
chain_ids: List[str]

Chain IDs for this entity

type: Literal["dna"]
value: str

DNA nucleotide sequence (A, C, G, T, N)

cyclic: Optional[bool]

Whether the sequence is cyclic

modifications: Optional[List[InputTargetNoTemplateTargetResponseEntityDnaEntityResponseModification]]

CCD chemical modifications. Optional; defaults to an empty list when omitted. SMILES modifications are not supported.

residue_index: int

0-based index of the residue to modify

minimum0
type: Literal["ccd"]

Modification format. Only CCD polymer modifications are supported.

value: str

CCD code from RCSB PDB (e.g. ‘MSE’ for selenomethionine, ‘SEP’ for phosphoserine)

class InputTargetNoTemplateTargetResponseEntityLigandCcdEntityResponse:
chain_ids: List[str]

Chain IDs for this ligand

type: Literal["ligand_ccd"]
value: str

CCD code (e.g., ATP, ADP)

class InputTargetNoTemplateTargetResponseEntityLigandSmilesEntityResponse:
chain_ids: List[str]

Chain IDs for this ligand

type: Literal["ligand_smiles"]
value: str

SMILES string representing the ligand

type: Literal["no_template"]
bonds: Optional[List[InputTargetNoTemplateTargetResponseBond]]

Covalent bond constraints between atoms in the target complex. Ligand atom references support CCD atom names and explicitly atom-mapped SMILES atoms.

atom1: InputTargetNoTemplateTargetResponseBondAtom1

Ligand atom reference for a CCD atom or an explicitly atom-mapped SMILES atom.

One of the following:
class InputTargetNoTemplateTargetResponseBondAtom1LigandAtomResponse:

Ligand atom reference for a CCD atom or an explicitly atom-mapped SMILES atom.

atom_name: str

Atom name. For ligand_ccd, use the standardized CIF atom name. For ligand_smiles, explicitly label the atom with numeric atom-map notation: [C:1] is referenced as C1 and [O:2] as O2. The resulting name must be unique within the molecule and at most four characters.

chain_id: str

Chain ID containing the atom

type: Literal["ligand_atom"]
class InputTargetNoTemplateTargetResponseBondAtom1PolymerAtomResponse:
atom_name: str

Standardized atom name (verifiable in CIF file on RCSB)

chain_id: str

Chain ID containing the atom

residue_index: int

0-based residue index

minimum0
type: Literal["polymer_atom"]
atom2: InputTargetNoTemplateTargetResponseBondAtom2

Ligand atom reference for a CCD atom or an explicitly atom-mapped SMILES atom.

One of the following:
class InputTargetNoTemplateTargetResponseBondAtom2LigandAtomResponse:

Ligand atom reference for a CCD atom or an explicitly atom-mapped SMILES atom.

atom_name: str

Atom name. For ligand_ccd, use the standardized CIF atom name. For ligand_smiles, explicitly label the atom with numeric atom-map notation: [C:1] is referenced as C1 and [O:2] as O2. The resulting name must be unique within the molecule and at most four characters.

chain_id: str

Chain ID containing the atom

type: Literal["ligand_atom"]
class InputTargetNoTemplateTargetResponseBondAtom2PolymerAtomResponse:
atom_name: str

Standardized atom name (verifiable in CIF file on RCSB)

chain_id: str

Chain ID containing the atom

residue_index: int

0-based residue index

minimum0
type: Literal["polymer_atom"]
constraints: Optional[List[InputTargetNoTemplateTargetResponseConstraint]]

Structural constraints (pocket and contact). Ligand atom references support CCD atom names and explicitly atom-mapped SMILES atoms.

One of the following:
class InputTargetNoTemplateTargetResponseConstraintPocketConstraintResponse:

Constrains the binder to interact with specific pocket residues on the target.

binder_chain_id: str

Chain ID of the binder molecule

contact_residues: Dict[str, List[int]]

Binding pocket residues keyed by chain ID. Each key is a chain ID (e.g. “A”) and the value is an array of 0-indexed residue indices that define the pocket on that chain.

max_distance_angstrom: float

Maximum allowed distance in Angstroms between binder and pocket residues. Typical range: 4-8 A.

type: Literal["pocket"]
force: Optional[bool]

Whether to force the constraint

class InputTargetNoTemplateTargetResponseConstraintContactConstraintResponse:

Maximum-distance contact constraint between two polymer residues or ligand atoms.

max_distance_angstrom: float

Maximum distance in Angstroms

token1: InputTargetNoTemplateTargetResponseConstraintContactConstraintResponseToken1

Ligand contact token for a CCD atom or an explicitly atom-mapped SMILES atom.

One of the following:
class InputTargetNoTemplateTargetResponseConstraintContactConstraintResponseToken1PolymerContactTokenResponse:
chain_id: str

Chain ID

residue_index: int

0-based residue index

minimum0
type: Literal["polymer_contact"]
class InputTargetNoTemplateTargetResponseConstraintContactConstraintResponseToken1LigandContactTokenResponse:

Ligand contact token for a CCD atom or an explicitly atom-mapped SMILES atom.

atom_name: str

Atom name. For ligand_ccd, use the standardized CIF atom name. For ligand_smiles, explicitly label the atom with numeric atom-map notation: [C:1] is referenced as C1 and [O:2] as O2. The resulting name must be unique within the molecule and at most four characters.

chain_id: str

Chain ID

type: Literal["ligand_contact"]
token2: InputTargetNoTemplateTargetResponseConstraintContactConstraintResponseToken2

Ligand contact token for a CCD atom or an explicitly atom-mapped SMILES atom.

One of the following:
class InputTargetNoTemplateTargetResponseConstraintContactConstraintResponseToken2PolymerContactTokenResponse:
chain_id: str

Chain ID

residue_index: int

0-based residue index

minimum0
type: Literal["polymer_contact"]
class InputTargetNoTemplateTargetResponseConstraintContactConstraintResponseToken2LigandContactTokenResponse:

Ligand contact token for a CCD atom or an explicitly atom-mapped SMILES atom.

atom_name: str

Atom name. For ligand_ccd, use the standardized CIF atom name. For ligand_smiles, explicitly label the atom with numeric atom-map notation: [C:1] is referenced as C1 and [O:2] as O2. The resulting name must be unique within the molecule and at most four characters.

chain_id: str

Chain ID

type: Literal["ligand_contact"]
type: Literal["contact"]
force: Optional[bool]

Whether to force the constraint

epitope_ligand_chains: Optional[List[str]]

Chain IDs of ligand entities that are part of the binding epitope. Ligands are marked as epitope in full (no residue-level selection).

epitope_residues: Optional[Dict[str, List[int]]]

Polymer chain residues where binder contact is desired (the epitope). Each key is a chain ID of a polymer entity, each value is an array of 0-indexed residue indices. Residues must not overlap non_binding_residues on the same chain.

non_binding_residues: Optional[Dict[str, List[int]]]

Polymer chain residues where binder contact should be discouraged. Each key is a chain ID of a polymer entity, each value is an array of 0-indexed residue indices. Residues must not overlap epitope_residues on the same chain.

idempotency_key: Optional[str]

Client-provided key to prevent duplicate submissions on retries

maxLength255
workspace_id: Optional[str]

Target workspace ID (admin keys only; ignored for workspace keys)

livemode: bool

Whether this resource was created with a live API key.

pipeline: Literal["boltzprot"]

Pipeline used for protein design

pipeline_version: Literal["1.0"]

Pipeline version used for protein design

progress: Optional[Progress]
num_proteins_generated: int

Number of protein binders generated so far

minimum0
total_proteins_to_generate: int

Total number of protein binders requested

minimum1
latest_result_id: Optional[str]

ID of the most recently generated result

started_at: Optional[datetime]
formatdate-time
status: Literal["pending", "running", "succeeded", 2 more]
One of the following:
"pending"
"running"
"succeeded"
"failed"
"stopped"
stopped_at: Optional[datetime]
formatdate-time
workspace_id: str

Workspace ID

idempotency_key: Optional[str]

Client-provided idempotency key

class DesignResumeResponse:

A protein design pipeline run that generates novel protein binders

id: str

Unique ProteinDesignRun identifier

completed_at: Optional[datetime]
formatdate-time
created_at: datetime
formatdate-time
data_deleted_at: Optional[datetime]

When the input, output, and result data was permanently deleted. Null if data has not been deleted.

formatdate-time
Deprecatedengine: Literal["boltzprot"]
Use pipeline instead.

Deprecated. Use pipeline instead.

Deprecatedengine_version: Literal["1.0"]
Use pipeline_version instead.

Deprecated. Use pipeline_version instead.

error: Optional[Error]
code: str

Machine-readable error code

message: str

Human-readable error message

details: Optional[object]

Additional field-level error details keyed by input path, when available.

input: Optional[Input]

Pipeline input (null if data deleted)

binder_specification: InputBinderSpecification

Binder specification for protein design. Use no_template for sequence-defined binders, structure_template for uploaded binder structures, boltz_curated for Boltz-managed nanobody and antibody defaults, or uniformly_sampled_specifications to sample uniformly across multiple binder specifications.

One of the following:
class InputBinderSpecificationStructureTemplateBinderSpecResponse:

Binder specification starting from an existing 3D structure. Upload a CIF/PDB file and select which chains to include, which residues to keep, and which regions to redesign. Only chains included in chain_selection are part of the pipeline run.

chain_selection: Dict[str, InputBinderSpecificationStructureTemplateBinderSpecResponseChainSelection]

Chains selected from the uploaded binder structure, keyed by chain ID. Only chains listed here are included in the pipeline run — any chains omitted from this mapping are ignored. Each value defines which residues to keep (crop_residues). Omit design_motifs to include the chain as fixed scaffold context.

One of the following:
class InputBinderSpecificationStructureTemplateBinderSpecResponseChainSelectionStructureTemplatePolymerChainSpec:

Per-chain crop and design specification for a polymer chain in structure_template mode.

chain_type: Literal["polymer"]
crop_residues: Union[List[int], Literal["all"]]

0-indexed residue indices to retain from this chain, or ‘all’ to keep all residues. Residues not listed are removed before design.

One of the following:
List[int]
Literal["all"]
design_motifs: Optional[List[InputBinderSpecificationStructureTemplateBinderSpecResponseChainSelectionStructureTemplatePolymerChainSpecDesignMotif]]

Optional motifs (replacement or insertion) defining which regions to redesign on this chain. Omit this field to include the chain as fixed scaffold context.

One of the following:
class InputBinderSpecificationStructureTemplateBinderSpecResponseChainSelectionStructureTemplatePolymerChainSpecDesignMotifReplacementMotif:

Replace a contiguous region of the sequence with a designed segment. Residues from start_index to end_index (inclusive) are replaced with a new sequence of the specified length.

design_length_range: InputBinderSpecificationStructureTemplateBinderSpecResponseChainSelectionStructureTemplatePolymerChainSpecDesignMotifReplacementMotifDesignLengthRange

Allowed sequence length range for designed regions

max: int

Maximum sequence length in residues. Must be >= min.

minimum0
min: int

Minimum sequence length in residues

minimum0
end_index: int

0-indexed end residue (inclusive)

minimum0
start_index: int

0-indexed start residue (inclusive)

minimum0
type: Literal["replacement"]
class InputBinderSpecificationStructureTemplateBinderSpecResponseChainSelectionStructureTemplatePolymerChainSpecDesignMotifInsertionMotif:

Insert a designed segment at a specific position in the sequence.

after_residue_index: int

0-indexed position after which to insert. Use -1 to insert before the first residue.

minimum-1
design_length_range: InputBinderSpecificationStructureTemplateBinderSpecResponseChainSelectionStructureTemplatePolymerChainSpecDesignMotifInsertionMotifDesignLengthRange

Allowed sequence length range for designed regions

max: int

Maximum sequence length in residues. Must be >= min.

minimum0
min: int

Minimum sequence length in residues

minimum0
type: Literal["insertion"]
class InputBinderSpecificationStructureTemplateBinderSpecResponseChainSelectionStructureTemplateLigandChainSpec:

Per-chain specification for a ligand chain in structure_template mode. The full ligand is always included.

chain_type: Literal["ligand"]
modality: Literal["peptide", "antibody", "nanobody", "custom_protein"]
One of the following:
"peptide"
"antibody"
"nanobody"
"custom_protein"
structure: InputBinderSpecificationStructureTemplateBinderSpecResponseStructure
url: str

URL to download the file

formaturi
url_expires_at: datetime

When the presigned URL expires

formatdate-time
type: Literal["structure_template"]
rules: Optional[InputBinderSpecificationStructureTemplateBinderSpecResponseRules]

Constraints applied during sequence design

excluded_amino_acids: Optional[List[str]]

Single-letter amino acid codes to exclude from design (e.g. [‘C’, ‘P’] to exclude cysteine and proline)

excluded_sequence_motifs: Optional[List[str]]

Sequence motifs to exclude from designed regions. Designs containing any of these motifs are filtered out before scoring. Use X as a single-residue wildcard (e.g. “NGS”, “NXS”).

max_hydrophobic_fraction: Optional[float]

Maximum allowed fraction of hydrophobic residues (I, L, V, M, F, W, Y) in designed regions. Designs exceeding this threshold are filtered out before scoring. Leave empty to disable.

minimum0
maximum1
class InputBinderSpecificationNoTemplateBinderSpecResponse:

Binder specification without a structural template. Define the binder from sequence components (fixed and designed segments) without providing a starting 3D structure.

entities: List[InputBinderSpecificationNoTemplateBinderSpecResponseEntity]

Binder entities composing the design. At least one must be a designed_protein entity. Additional fixed entities (RNA, DNA, ligands) can be included as part of the complex.

One of the following:
class InputBinderSpecificationNoTemplateBinderSpecResponseEntityDesignedProteinEntityResponse:

Protein binder entity with designed and/or fixed segments.

chain_ids: List[str]

Chain IDs to assign to this entity

type: Literal["designed_protein"]
value: str

Binder sequence specification. Fixed amino acids are written as literal single-letter codes. Designed regions are written as a length (fixed) or a length range (min..max). Example: “MKTAYI5..10VKSHFSRQ” means fixed MKTAYI, then 5-10 designed residues, then fixed VKSHFSRQ. “20” means 20 fully designed residues. “ACDE8GHI” means fixed ACDE, then 8 designed residues, then fixed GHI.

cyclic: Optional[bool]

Whether the sequence is cyclic

modifications: Optional[List[InputBinderSpecificationNoTemplateBinderSpecResponseEntityDesignedProteinEntityResponseModification]]

Optional CCD polymer modifications. Defaults to [] when omitted. SMILES modifications are not supported.

residue_index: int

0-based index of the residue to modify

minimum0
type: Literal["ccd"]

Modification format. Only CCD polymer modifications are supported.

value: str

CCD code from RCSB PDB (e.g. ‘MSE’ for selenomethionine, ‘SEP’ for phosphoserine)

class InputBinderSpecificationNoTemplateBinderSpecResponseEntityFixedProteinEntityResponse:

A fixed protein entity whose sequence is not redesigned.

chain_ids: List[str]

Chain IDs to assign to this entity

type: Literal["protein"]
value: str

Amino acid sequence (one-letter codes)

cyclic: Optional[bool]

Whether the sequence is cyclic

modifications: Optional[List[InputBinderSpecificationNoTemplateBinderSpecResponseEntityFixedProteinEntityResponseModification]]

Optional CCD polymer modifications. Defaults to [] when omitted. SMILES modifications are not supported.

residue_index: int

0-based index of the residue to modify

minimum0
type: Literal["ccd"]

Modification format. Only CCD polymer modifications are supported.

value: str

CCD code from RCSB PDB (e.g. ‘MSE’ for selenomethionine, ‘SEP’ for phosphoserine)

class InputBinderSpecificationNoTemplateBinderSpecResponseEntityFixedRnaEntityResponse:
chain_ids: List[str]

Chain IDs to assign to this entity

type: Literal["rna"]
value: str

RNA nucleotide sequence (A, C, G, U, N)

cyclic: Optional[bool]

Whether the sequence is cyclic

modifications: Optional[List[InputBinderSpecificationNoTemplateBinderSpecResponseEntityFixedRnaEntityResponseModification]]

Optional CCD polymer modifications. Defaults to [] when omitted. SMILES modifications are not supported.

residue_index: int

0-based index of the residue to modify

minimum0
type: Literal["ccd"]

Modification format. Only CCD polymer modifications are supported.

value: str

CCD code from RCSB PDB (e.g. ‘MSE’ for selenomethionine, ‘SEP’ for phosphoserine)

class InputBinderSpecificationNoTemplateBinderSpecResponseEntityFixedDnaEntityResponse:
chain_ids: List[str]

Chain IDs to assign to this entity

type: Literal["dna"]
value: str

DNA nucleotide sequence (A, C, G, T, N)

cyclic: Optional[bool]

Whether the sequence is cyclic

modifications: Optional[List[InputBinderSpecificationNoTemplateBinderSpecResponseEntityFixedDnaEntityResponseModification]]

Optional CCD polymer modifications. Defaults to [] when omitted. SMILES modifications are not supported.

residue_index: int

0-based index of the residue to modify

minimum0
type: Literal["ccd"]

Modification format. Only CCD polymer modifications are supported.

value: str

CCD code from RCSB PDB (e.g. ‘MSE’ for selenomethionine, ‘SEP’ for phosphoserine)

class InputBinderSpecificationNoTemplateBinderSpecResponseEntityFixedLigandSmilesEntityResponse:
chain_ids: List[str]

Chain IDs to assign to this entity

type: Literal["ligand_smiles"]
value: str

SMILES string representing the ligand

class InputBinderSpecificationNoTemplateBinderSpecResponseEntityFixedLigandCcdEntityResponse:
chain_ids: List[str]

Chain IDs to assign to this entity

type: Literal["ligand_ccd"]
value: str

CCD code from RCSB PDB (e.g. ‘ATP’, ‘ADP’)

modality: Literal["peptide", "antibody", "nanobody", "custom_protein"]
One of the following:
"peptide"
"antibody"
"nanobody"
"custom_protein"
type: Literal["no_template"]
bonds: Optional[List[InputBinderSpecificationNoTemplateBinderSpecResponseBond]]

Covalent bond constraints between atoms in the binder complex. If defining bonds where an atom is part of a designed protein chain, assume residue indices count designed regions as the minimum length. Example: designed protein “1..3C1..2”, “C” is residue 1 (0-indexed) of the designed protein.

atom1: InputBinderSpecificationNoTemplateBinderSpecResponseBondAtom1

Ligand atom reference for a CCD atom or an explicitly atom-mapped SMILES atom.

One of the following:
class InputBinderSpecificationNoTemplateBinderSpecResponseBondAtom1LigandAtomResponse:

Ligand atom reference for a CCD atom or an explicitly atom-mapped SMILES atom.

atom_name: str

Atom name. For ligand_ccd, use the standardized CIF atom name. For ligand_smiles, explicitly label the atom with numeric atom-map notation: [C:1] is referenced as C1 and [O:2] as O2. The resulting name must be unique within the molecule and at most four characters.

chain_id: str

Chain ID containing the atom

type: Literal["ligand_atom"]
class InputBinderSpecificationNoTemplateBinderSpecResponseBondAtom1PolymerAtomResponse:
atom_name: str

Standardized atom name (verifiable in CIF file on RCSB)

chain_id: str

Chain ID containing the atom

residue_index: int

0-based residue index

minimum0
type: Literal["polymer_atom"]
atom2: InputBinderSpecificationNoTemplateBinderSpecResponseBondAtom2

Ligand atom reference for a CCD atom or an explicitly atom-mapped SMILES atom.

One of the following:
class InputBinderSpecificationNoTemplateBinderSpecResponseBondAtom2LigandAtomResponse:

Ligand atom reference for a CCD atom or an explicitly atom-mapped SMILES atom.

atom_name: str

Atom name. For ligand_ccd, use the standardized CIF atom name. For ligand_smiles, explicitly label the atom with numeric atom-map notation: [C:1] is referenced as C1 and [O:2] as O2. The resulting name must be unique within the molecule and at most four characters.

chain_id: str

Chain ID containing the atom

type: Literal["ligand_atom"]
class InputBinderSpecificationNoTemplateBinderSpecResponseBondAtom2PolymerAtomResponse:
atom_name: str

Standardized atom name (verifiable in CIF file on RCSB)

chain_id: str

Chain ID containing the atom

residue_index: int

0-based residue index

minimum0
type: Literal["polymer_atom"]
rules: Optional[InputBinderSpecificationNoTemplateBinderSpecResponseRules]

Constraints applied during sequence design

excluded_amino_acids: Optional[List[str]]

Single-letter amino acid codes to exclude from design (e.g. [‘C’, ‘P’] to exclude cysteine and proline)

excluded_sequence_motifs: Optional[List[str]]

Sequence motifs to exclude from designed regions. Designs containing any of these motifs are filtered out before scoring. Use X as a single-residue wildcard (e.g. “NGS”, “NXS”).

max_hydrophobic_fraction: Optional[float]

Maximum allowed fraction of hydrophobic residues (I, L, V, M, F, W, Y) in designed regions. Designs exceeding this threshold are filtered out before scoring. Leave empty to disable.

minimum0
maximum1
class InputBinderSpecificationBoltzCuratedBinderSpecResponse:

Boltz-managed curated binder specification. Choose a curated nanobody or antibody family and Boltz will select from maintained template lists during design. The curated lists are managed by Boltz and may be updated over time to improve quality and coverage.

binder: Literal["boltz_nanobody", "boltz_antibody"]

Boltz-managed curated binder family. Boltz maintains and may update the underlying template lists on behalf of customers.

One of the following:
"boltz_nanobody"
"boltz_antibody"
type: Literal["boltz_curated"]
rules: Optional[InputBinderSpecificationBoltzCuratedBinderSpecResponseRules]

Constraints applied during sequence design

excluded_amino_acids: Optional[List[str]]

Single-letter amino acid codes to exclude from design (e.g. [‘C’, ‘P’] to exclude cysteine and proline)

excluded_sequence_motifs: Optional[List[str]]

Sequence motifs to exclude from designed regions. Designs containing any of these motifs are filtered out before scoring. Use X as a single-residue wildcard (e.g. “NGS”, “NXS”).

max_hydrophobic_fraction: Optional[float]

Maximum allowed fraction of hydrophobic residues (I, L, V, M, F, W, Y) in designed regions. Designs exceeding this threshold are filtered out before scoring. Leave empty to disable.

minimum0
maximum1
class InputBinderSpecificationUniformlySampledBinderSpecResponse:

A collection of binder specifications sampled uniformly during protein design. This lets one run explore multiple binder definitions while keeping each generation request shape unchanged.

binder_specifications: List[InputBinderSpecificationUniformlySampledBinderSpecResponseBinderSpecification]

Binder specifications to sample uniformly when generating designs. Each generation samples one specification from this list; over larger runs this gives roughly equal representation.

One of the following:
class InputBinderSpecificationUniformlySampledBinderSpecResponseBinderSpecificationStructureTemplateBinderSpecResponse:

Binder specification starting from an existing 3D structure. Upload a CIF/PDB file and select which chains to include, which residues to keep, and which regions to redesign. Only chains included in chain_selection are part of the pipeline run.

chain_selection: Dict[str, InputBinderSpecificationUniformlySampledBinderSpecResponseBinderSpecificationStructureTemplateBinderSpecResponseChainSelection]

Chains selected from the uploaded binder structure, keyed by chain ID. Only chains listed here are included in the pipeline run — any chains omitted from this mapping are ignored. Each value defines which residues to keep (crop_residues). Omit design_motifs to include the chain as fixed scaffold context.

One of the following:
class InputBinderSpecificationUniformlySampledBinderSpecResponseBinderSpecificationStructureTemplateBinderSpecResponseChainSelectionStructureTemplatePolymerChainSpec:

Per-chain crop and design specification for a polymer chain in structure_template mode.

chain_type: Literal["polymer"]
crop_residues: Union[List[int], Literal["all"]]

0-indexed residue indices to retain from this chain, or ‘all’ to keep all residues. Residues not listed are removed before design.

One of the following:
List[int]
Literal["all"]
design_motifs: Optional[List[InputBinderSpecificationUniformlySampledBinderSpecResponseBinderSpecificationStructureTemplateBinderSpecResponseChainSelectionStructureTemplatePolymerChainSpecDesignMotif]]

Optional motifs (replacement or insertion) defining which regions to redesign on this chain. Omit this field to include the chain as fixed scaffold context.

One of the following:
class InputBinderSpecificationUniformlySampledBinderSpecResponseBinderSpecificationStructureTemplateBinderSpecResponseChainSelectionStructureTemplatePolymerChainSpecDesignMotifReplacementMotif:

Replace a contiguous region of the sequence with a designed segment. Residues from start_index to end_index (inclusive) are replaced with a new sequence of the specified length.

design_length_range: InputBinderSpecificationUniformlySampledBinderSpecResponseBinderSpecificationStructureTemplateBinderSpecResponseChainSelectionStructureTemplatePolymerChainSpecDesignMotifReplacementMotifDesignLengthRange

Allowed sequence length range for designed regions

max: int

Maximum sequence length in residues. Must be >= min.

minimum0
min: int

Minimum sequence length in residues

minimum0
end_index: int

0-indexed end residue (inclusive)

minimum0
start_index: int

0-indexed start residue (inclusive)

minimum0
type: Literal["replacement"]
class InputBinderSpecificationUniformlySampledBinderSpecResponseBinderSpecificationStructureTemplateBinderSpecResponseChainSelectionStructureTemplatePolymerChainSpecDesignMotifInsertionMotif:

Insert a designed segment at a specific position in the sequence.

after_residue_index: int

0-indexed position after which to insert. Use -1 to insert before the first residue.

minimum-1
design_length_range: InputBinderSpecificationUniformlySampledBinderSpecResponseBinderSpecificationStructureTemplateBinderSpecResponseChainSelectionStructureTemplatePolymerChainSpecDesignMotifInsertionMotifDesignLengthRange

Allowed sequence length range for designed regions

max: int

Maximum sequence length in residues. Must be >= min.

minimum0
min: int

Minimum sequence length in residues

minimum0
type: Literal["insertion"]
class InputBinderSpecificationUniformlySampledBinderSpecResponseBinderSpecificationStructureTemplateBinderSpecResponseChainSelectionStructureTemplateLigandChainSpec:

Per-chain specification for a ligand chain in structure_template mode. The full ligand is always included.

chain_type: Literal["ligand"]
modality: Literal["peptide", "antibody", "nanobody", "custom_protein"]
One of the following:
"peptide"
"antibody"
"nanobody"
"custom_protein"
structure: InputBinderSpecificationUniformlySampledBinderSpecResponseBinderSpecificationStructureTemplateBinderSpecResponseStructure
url: str

URL to download the file

formaturi
url_expires_at: datetime

When the presigned URL expires

formatdate-time
type: Literal["structure_template"]
rules: Optional[InputBinderSpecificationUniformlySampledBinderSpecResponseBinderSpecificationStructureTemplateBinderSpecResponseRules]

Constraints applied during sequence design

excluded_amino_acids: Optional[List[str]]

Single-letter amino acid codes to exclude from design (e.g. [‘C’, ‘P’] to exclude cysteine and proline)

excluded_sequence_motifs: Optional[List[str]]

Sequence motifs to exclude from designed regions. Designs containing any of these motifs are filtered out before scoring. Use X as a single-residue wildcard (e.g. “NGS”, “NXS”).

max_hydrophobic_fraction: Optional[float]

Maximum allowed fraction of hydrophobic residues (I, L, V, M, F, W, Y) in designed regions. Designs exceeding this threshold are filtered out before scoring. Leave empty to disable.

minimum0
maximum1
class InputBinderSpecificationUniformlySampledBinderSpecResponseBinderSpecificationNoTemplateBinderSpecResponse:

Binder specification without a structural template. Define the binder from sequence components (fixed and designed segments) without providing a starting 3D structure.

entities: List[InputBinderSpecificationUniformlySampledBinderSpecResponseBinderSpecificationNoTemplateBinderSpecResponseEntity]

Binder entities composing the design. At least one must be a designed_protein entity. Additional fixed entities (RNA, DNA, ligands) can be included as part of the complex.

One of the following:
class InputBinderSpecificationUniformlySampledBinderSpecResponseBinderSpecificationNoTemplateBinderSpecResponseEntityDesignedProteinEntityResponse:

Protein binder entity with designed and/or fixed segments.

chain_ids: List[str]

Chain IDs to assign to this entity

type: Literal["designed_protein"]
value: str

Binder sequence specification. Fixed amino acids are written as literal single-letter codes. Designed regions are written as a length (fixed) or a length range (min..max). Example: “MKTAYI5..10VKSHFSRQ” means fixed MKTAYI, then 5-10 designed residues, then fixed VKSHFSRQ. “20” means 20 fully designed residues. “ACDE8GHI” means fixed ACDE, then 8 designed residues, then fixed GHI.

cyclic: Optional[bool]

Whether the sequence is cyclic

modifications: Optional[List[InputBinderSpecificationUniformlySampledBinderSpecResponseBinderSpecificationNoTemplateBinderSpecResponseEntityDesignedProteinEntityResponseModification]]

Optional CCD polymer modifications. Defaults to [] when omitted. SMILES modifications are not supported.

residue_index: int

0-based index of the residue to modify

minimum0
type: Literal["ccd"]

Modification format. Only CCD polymer modifications are supported.

value: str

CCD code from RCSB PDB (e.g. ‘MSE’ for selenomethionine, ‘SEP’ for phosphoserine)

class InputBinderSpecificationUniformlySampledBinderSpecResponseBinderSpecificationNoTemplateBinderSpecResponseEntityFixedProteinEntityResponse:

A fixed protein entity whose sequence is not redesigned.

chain_ids: List[str]

Chain IDs to assign to this entity

type: Literal["protein"]
value: str

Amino acid sequence (one-letter codes)

cyclic: Optional[bool]

Whether the sequence is cyclic

modifications: Optional[List[InputBinderSpecificationUniformlySampledBinderSpecResponseBinderSpecificationNoTemplateBinderSpecResponseEntityFixedProteinEntityResponseModification]]

Optional CCD polymer modifications. Defaults to [] when omitted. SMILES modifications are not supported.

residue_index: int

0-based index of the residue to modify

minimum0
type: Literal["ccd"]

Modification format. Only CCD polymer modifications are supported.

value: str

CCD code from RCSB PDB (e.g. ‘MSE’ for selenomethionine, ‘SEP’ for phosphoserine)

class InputBinderSpecificationUniformlySampledBinderSpecResponseBinderSpecificationNoTemplateBinderSpecResponseEntityFixedRnaEntityResponse:
chain_ids: List[str]

Chain IDs to assign to this entity

type: Literal["rna"]
value: str

RNA nucleotide sequence (A, C, G, U, N)

cyclic: Optional[bool]

Whether the sequence is cyclic

modifications: Optional[List[InputBinderSpecificationUniformlySampledBinderSpecResponseBinderSpecificationNoTemplateBinderSpecResponseEntityFixedRnaEntityResponseModification]]

Optional CCD polymer modifications. Defaults to [] when omitted. SMILES modifications are not supported.

residue_index: int

0-based index of the residue to modify

minimum0
type: Literal["ccd"]

Modification format. Only CCD polymer modifications are supported.

value: str

CCD code from RCSB PDB (e.g. ‘MSE’ for selenomethionine, ‘SEP’ for phosphoserine)

class InputBinderSpecificationUniformlySampledBinderSpecResponseBinderSpecificationNoTemplateBinderSpecResponseEntityFixedDnaEntityResponse:
chain_ids: List[str]

Chain IDs to assign to this entity

type: Literal["dna"]
value: str

DNA nucleotide sequence (A, C, G, T, N)

cyclic: Optional[bool]

Whether the sequence is cyclic

modifications: Optional[List[InputBinderSpecificationUniformlySampledBinderSpecResponseBinderSpecificationNoTemplateBinderSpecResponseEntityFixedDnaEntityResponseModification]]

Optional CCD polymer modifications. Defaults to [] when omitted. SMILES modifications are not supported.

residue_index: int

0-based index of the residue to modify

minimum0
type: Literal["ccd"]

Modification format. Only CCD polymer modifications are supported.

value: str

CCD code from RCSB PDB (e.g. ‘MSE’ for selenomethionine, ‘SEP’ for phosphoserine)

class InputBinderSpecificationUniformlySampledBinderSpecResponseBinderSpecificationNoTemplateBinderSpecResponseEntityFixedLigandSmilesEntityResponse:
chain_ids: List[str]

Chain IDs to assign to this entity

type: Literal["ligand_smiles"]
value: str

SMILES string representing the ligand

class InputBinderSpecificationUniformlySampledBinderSpecResponseBinderSpecificationNoTemplateBinderSpecResponseEntityFixedLigandCcdEntityResponse:
chain_ids: List[str]

Chain IDs to assign to this entity

type: Literal["ligand_ccd"]
value: str

CCD code from RCSB PDB (e.g. ‘ATP’, ‘ADP’)

modality: Literal["peptide", "antibody", "nanobody", "custom_protein"]
One of the following:
"peptide"
"antibody"
"nanobody"
"custom_protein"
type: Literal["no_template"]
bonds: Optional[List[InputBinderSpecificationUniformlySampledBinderSpecResponseBinderSpecificationNoTemplateBinderSpecResponseBond]]

Covalent bond constraints between atoms in the binder complex. If defining bonds where an atom is part of a designed protein chain, assume residue indices count designed regions as the minimum length. Example: designed protein “1..3C1..2”, “C” is residue 1 (0-indexed) of the designed protein.

atom1: InputBinderSpecificationUniformlySampledBinderSpecResponseBinderSpecificationNoTemplateBinderSpecResponseBondAtom1

Ligand atom reference for a CCD atom or an explicitly atom-mapped SMILES atom.

One of the following:
class InputBinderSpecificationUniformlySampledBinderSpecResponseBinderSpecificationNoTemplateBinderSpecResponseBondAtom1LigandAtomResponse:

Ligand atom reference for a CCD atom or an explicitly atom-mapped SMILES atom.

atom_name: str

Atom name. For ligand_ccd, use the standardized CIF atom name. For ligand_smiles, explicitly label the atom with numeric atom-map notation: [C:1] is referenced as C1 and [O:2] as O2. The resulting name must be unique within the molecule and at most four characters.

chain_id: str

Chain ID containing the atom

type: Literal["ligand_atom"]
class InputBinderSpecificationUniformlySampledBinderSpecResponseBinderSpecificationNoTemplateBinderSpecResponseBondAtom1PolymerAtomResponse:
atom_name: str

Standardized atom name (verifiable in CIF file on RCSB)

chain_id: str

Chain ID containing the atom

residue_index: int

0-based residue index

minimum0
type: Literal["polymer_atom"]
atom2: InputBinderSpecificationUniformlySampledBinderSpecResponseBinderSpecificationNoTemplateBinderSpecResponseBondAtom2

Ligand atom reference for a CCD atom or an explicitly atom-mapped SMILES atom.

One of the following:
class InputBinderSpecificationUniformlySampledBinderSpecResponseBinderSpecificationNoTemplateBinderSpecResponseBondAtom2LigandAtomResponse:

Ligand atom reference for a CCD atom or an explicitly atom-mapped SMILES atom.

atom_name: str

Atom name. For ligand_ccd, use the standardized CIF atom name. For ligand_smiles, explicitly label the atom with numeric atom-map notation: [C:1] is referenced as C1 and [O:2] as O2. The resulting name must be unique within the molecule and at most four characters.

chain_id: str

Chain ID containing the atom

type: Literal["ligand_atom"]
class InputBinderSpecificationUniformlySampledBinderSpecResponseBinderSpecificationNoTemplateBinderSpecResponseBondAtom2PolymerAtomResponse:
atom_name: str

Standardized atom name (verifiable in CIF file on RCSB)

chain_id: str

Chain ID containing the atom

residue_index: int

0-based residue index

minimum0
type: Literal["polymer_atom"]
rules: Optional[InputBinderSpecificationUniformlySampledBinderSpecResponseBinderSpecificationNoTemplateBinderSpecResponseRules]

Constraints applied during sequence design

excluded_amino_acids: Optional[List[str]]

Single-letter amino acid codes to exclude from design (e.g. [‘C’, ‘P’] to exclude cysteine and proline)

excluded_sequence_motifs: Optional[List[str]]

Sequence motifs to exclude from designed regions. Designs containing any of these motifs are filtered out before scoring. Use X as a single-residue wildcard (e.g. “NGS”, “NXS”).

max_hydrophobic_fraction: Optional[float]

Maximum allowed fraction of hydrophobic residues (I, L, V, M, F, W, Y) in designed regions. Designs exceeding this threshold are filtered out before scoring. Leave empty to disable.

minimum0
maximum1
class InputBinderSpecificationUniformlySampledBinderSpecResponseBinderSpecificationBoltzCuratedBinderSpecResponse:

Boltz-managed curated binder specification. Choose a curated nanobody or antibody family and Boltz will select from maintained template lists during design. The curated lists are managed by Boltz and may be updated over time to improve quality and coverage.

binder: Literal["boltz_nanobody", "boltz_antibody"]

Boltz-managed curated binder family. Boltz maintains and may update the underlying template lists on behalf of customers.

One of the following:
"boltz_nanobody"
"boltz_antibody"
type: Literal["boltz_curated"]
rules: Optional[InputBinderSpecificationUniformlySampledBinderSpecResponseBinderSpecificationBoltzCuratedBinderSpecResponseRules]

Constraints applied during sequence design

excluded_amino_acids: Optional[List[str]]

Single-letter amino acid codes to exclude from design (e.g. [‘C’, ‘P’] to exclude cysteine and proline)

excluded_sequence_motifs: Optional[List[str]]

Sequence motifs to exclude from designed regions. Designs containing any of these motifs are filtered out before scoring. Use X as a single-residue wildcard (e.g. “NGS”, “NXS”).

max_hydrophobic_fraction: Optional[float]

Maximum allowed fraction of hydrophobic residues (I, L, V, M, F, W, Y) in designed regions. Designs exceeding this threshold are filtered out before scoring. Leave empty to disable.

minimum0
maximum1
type: Literal["uniformly_sampled_specifications"]
num_proteins: int

Number of protein designs to generate. Must be between 10 and 1,000,000.

minimum10
maximum1000000
target: InputTarget

Target specification (structure template or template-free)

One of the following:
class InputTargetStructureTemplateTargetResponse:

Target defined by an uploaded 3D structure (CIF or PDB file). Only chains included in chain_selection are used.

chain_selection: Dict[str, InputTargetStructureTemplateTargetResponseChainSelection]

Chains selected from the uploaded structure, keyed by chain ID. Only chains listed here are included in the pipeline run — any chains omitted from this mapping are ignored. Each value defines which residues to keep, which are epitope residues, which are non-binding residues, and which are flexible.

One of the following:
class InputTargetStructureTemplateTargetResponseChainSelectionStructureTemplateTargetPolymerChainSpec:

Per-chain specification for a polymer (protein/RNA/DNA) chain in a structure template target.

chain_type: Literal["polymer"]
crop_residues: Union[List[int], Literal["all"]]

0-indexed residue indices to retain from this chain, or ‘all’ to keep all residues. Residues not listed are excluded from the pipeline run.

One of the following:
List[int]

0-indexed residue indices to keep

Literal["all"]
epitope_residues: Optional[List[int]]

0-indexed residue indices where binder contact is desired (the epitope). All indices must be present in crop_residues and must not overlap non_binding_residues.

flexible_residues: Optional[List[int]]

0-indexed residue indices allowed to move during design (e.g. flexible loop regions). All indices must be present in crop_residues.

non_binding_residues: Optional[List[int]]

0-indexed residue indices where binder contact should be discouraged. All indices must be present in crop_residues and must not overlap epitope_residues.

class InputTargetStructureTemplateTargetResponseChainSelectionStructureTemplateTargetLigandChainSpec:

Per-chain specification for a ligand chain in a structure template target. The full ligand is always included.

chain_type: Literal["ligand"]
structure: InputTargetStructureTemplateTargetResponseStructure
url: str

URL to download the file

formaturi
url_expires_at: datetime

When the presigned URL expires

formatdate-time
type: Literal["structure_template"]
class InputTargetNoTemplateTargetResponse:

Target defined by sequences only, without a 3D structure template

entities: List[InputTargetNoTemplateTargetResponseEntity]

Entities (proteins, RNA, DNA, ligands) defining the target complex.

One of the following:
class InputTargetNoTemplateTargetResponseEntityProteinEntityResponse:
chain_ids: List[str]

Chain IDs for this entity

type: Literal["protein"]
value: str

Amino acid sequence (one-letter codes)

cyclic: Optional[bool]

Whether the sequence is cyclic

modifications: Optional[List[InputTargetNoTemplateTargetResponseEntityProteinEntityResponseModification]]

CCD post-translational modifications. Optional; defaults to an empty list when omitted. SMILES modifications are not supported.

residue_index: int

0-based index of the residue to modify

minimum0
type: Literal["ccd"]

Modification format. Only CCD polymer modifications are supported.

value: str

CCD code from RCSB PDB (e.g. ‘MSE’ for selenomethionine, ‘SEP’ for phosphoserine)

class InputTargetNoTemplateTargetResponseEntityRnaEntityResponse:
chain_ids: List[str]

Chain IDs for this entity

type: Literal["rna"]
value: str

RNA nucleotide sequence (A, C, G, U, N)

cyclic: Optional[bool]

Whether the sequence is cyclic

modifications: Optional[List[InputTargetNoTemplateTargetResponseEntityRnaEntityResponseModification]]

CCD chemical modifications. Optional; defaults to an empty list when omitted. SMILES modifications are not supported.

residue_index: int

0-based index of the residue to modify

minimum0
type: Literal["ccd"]

Modification format. Only CCD polymer modifications are supported.

value: str

CCD code from RCSB PDB (e.g. ‘MSE’ for selenomethionine, ‘SEP’ for phosphoserine)

class InputTargetNoTemplateTargetResponseEntityDnaEntityResponse:
chain_ids: List[str]

Chain IDs for this entity

type: Literal["dna"]
value: str

DNA nucleotide sequence (A, C, G, T, N)

cyclic: Optional[bool]

Whether the sequence is cyclic

modifications: Optional[List[InputTargetNoTemplateTargetResponseEntityDnaEntityResponseModification]]

CCD chemical modifications. Optional; defaults to an empty list when omitted. SMILES modifications are not supported.

residue_index: int

0-based index of the residue to modify

minimum0
type: Literal["ccd"]

Modification format. Only CCD polymer modifications are supported.

value: str

CCD code from RCSB PDB (e.g. ‘MSE’ for selenomethionine, ‘SEP’ for phosphoserine)

class InputTargetNoTemplateTargetResponseEntityLigandCcdEntityResponse:
chain_ids: List[str]

Chain IDs for this ligand

type: Literal["ligand_ccd"]
value: str

CCD code (e.g., ATP, ADP)

class InputTargetNoTemplateTargetResponseEntityLigandSmilesEntityResponse:
chain_ids: List[str]

Chain IDs for this ligand

type: Literal["ligand_smiles"]
value: str

SMILES string representing the ligand

type: Literal["no_template"]
bonds: Optional[List[InputTargetNoTemplateTargetResponseBond]]

Covalent bond constraints between atoms in the target complex. Ligand atom references support CCD atom names and explicitly atom-mapped SMILES atoms.

atom1: InputTargetNoTemplateTargetResponseBondAtom1

Ligand atom reference for a CCD atom or an explicitly atom-mapped SMILES atom.

One of the following:
class InputTargetNoTemplateTargetResponseBondAtom1LigandAtomResponse:

Ligand atom reference for a CCD atom or an explicitly atom-mapped SMILES atom.

atom_name: str

Atom name. For ligand_ccd, use the standardized CIF atom name. For ligand_smiles, explicitly label the atom with numeric atom-map notation: [C:1] is referenced as C1 and [O:2] as O2. The resulting name must be unique within the molecule and at most four characters.

chain_id: str

Chain ID containing the atom

type: Literal["ligand_atom"]
class InputTargetNoTemplateTargetResponseBondAtom1PolymerAtomResponse:
atom_name: str

Standardized atom name (verifiable in CIF file on RCSB)

chain_id: str

Chain ID containing the atom

residue_index: int

0-based residue index

minimum0
type: Literal["polymer_atom"]
atom2: InputTargetNoTemplateTargetResponseBondAtom2

Ligand atom reference for a CCD atom or an explicitly atom-mapped SMILES atom.

One of the following:
class InputTargetNoTemplateTargetResponseBondAtom2LigandAtomResponse:

Ligand atom reference for a CCD atom or an explicitly atom-mapped SMILES atom.

atom_name: str

Atom name. For ligand_ccd, use the standardized CIF atom name. For ligand_smiles, explicitly label the atom with numeric atom-map notation: [C:1] is referenced as C1 and [O:2] as O2. The resulting name must be unique within the molecule and at most four characters.

chain_id: str

Chain ID containing the atom

type: Literal["ligand_atom"]
class InputTargetNoTemplateTargetResponseBondAtom2PolymerAtomResponse:
atom_name: str

Standardized atom name (verifiable in CIF file on RCSB)

chain_id: str

Chain ID containing the atom

residue_index: int

0-based residue index

minimum0
type: Literal["polymer_atom"]
constraints: Optional[List[InputTargetNoTemplateTargetResponseConstraint]]

Structural constraints (pocket and contact). Ligand atom references support CCD atom names and explicitly atom-mapped SMILES atoms.

One of the following:
class InputTargetNoTemplateTargetResponseConstraintPocketConstraintResponse:

Constrains the binder to interact with specific pocket residues on the target.

binder_chain_id: str

Chain ID of the binder molecule

contact_residues: Dict[str, List[int]]

Binding pocket residues keyed by chain ID. Each key is a chain ID (e.g. “A”) and the value is an array of 0-indexed residue indices that define the pocket on that chain.

max_distance_angstrom: float

Maximum allowed distance in Angstroms between binder and pocket residues. Typical range: 4-8 A.

type: Literal["pocket"]
force: Optional[bool]

Whether to force the constraint

class InputTargetNoTemplateTargetResponseConstraintContactConstraintResponse:

Maximum-distance contact constraint between two polymer residues or ligand atoms.

max_distance_angstrom: float

Maximum distance in Angstroms

token1: InputTargetNoTemplateTargetResponseConstraintContactConstraintResponseToken1

Ligand contact token for a CCD atom or an explicitly atom-mapped SMILES atom.

One of the following:
class InputTargetNoTemplateTargetResponseConstraintContactConstraintResponseToken1PolymerContactTokenResponse:
chain_id: str

Chain ID

residue_index: int

0-based residue index

minimum0
type: Literal["polymer_contact"]
class InputTargetNoTemplateTargetResponseConstraintContactConstraintResponseToken1LigandContactTokenResponse:

Ligand contact token for a CCD atom or an explicitly atom-mapped SMILES atom.

atom_name: str

Atom name. For ligand_ccd, use the standardized CIF atom name. For ligand_smiles, explicitly label the atom with numeric atom-map notation: [C:1] is referenced as C1 and [O:2] as O2. The resulting name must be unique within the molecule and at most four characters.

chain_id: str

Chain ID

type: Literal["ligand_contact"]
token2: InputTargetNoTemplateTargetResponseConstraintContactConstraintResponseToken2

Ligand contact token for a CCD atom or an explicitly atom-mapped SMILES atom.

One of the following:
class InputTargetNoTemplateTargetResponseConstraintContactConstraintResponseToken2PolymerContactTokenResponse:
chain_id: str

Chain ID

residue_index: int

0-based residue index

minimum0
type: Literal["polymer_contact"]
class InputTargetNoTemplateTargetResponseConstraintContactConstraintResponseToken2LigandContactTokenResponse:

Ligand contact token for a CCD atom or an explicitly atom-mapped SMILES atom.

atom_name: str

Atom name. For ligand_ccd, use the standardized CIF atom name. For ligand_smiles, explicitly label the atom with numeric atom-map notation: [C:1] is referenced as C1 and [O:2] as O2. The resulting name must be unique within the molecule and at most four characters.

chain_id: str

Chain ID

type: Literal["ligand_contact"]
type: Literal["contact"]
force: Optional[bool]

Whether to force the constraint

epitope_ligand_chains: Optional[List[str]]

Chain IDs of ligand entities that are part of the binding epitope. Ligands are marked as epitope in full (no residue-level selection).

epitope_residues: Optional[Dict[str, List[int]]]

Polymer chain residues where binder contact is desired (the epitope). Each key is a chain ID of a polymer entity, each value is an array of 0-indexed residue indices. Residues must not overlap non_binding_residues on the same chain.

non_binding_residues: Optional[Dict[str, List[int]]]

Polymer chain residues where binder contact should be discouraged. Each key is a chain ID of a polymer entity, each value is an array of 0-indexed residue indices. Residues must not overlap epitope_residues on the same chain.

idempotency_key: Optional[str]

Client-provided key to prevent duplicate submissions on retries

maxLength255
workspace_id: Optional[str]

Target workspace ID (admin keys only; ignored for workspace keys)

livemode: bool

Whether this resource was created with a live API key.

pipeline: Literal["boltzprot"]

Pipeline used for protein design

pipeline_version: Literal["1.0"]

Pipeline version used for protein design

progress: Optional[Progress]
num_proteins_generated: int

Number of protein binders generated so far

minimum0
total_proteins_to_generate: int

Total number of protein binders requested

minimum1
latest_result_id: Optional[str]

ID of the most recently generated result

started_at: Optional[datetime]
formatdate-time
status: Literal["pending", "running", "succeeded", 2 more]
One of the following:
"pending"
"running"
"succeeded"
"failed"
"stopped"
stopped_at: Optional[datetime]
formatdate-time
workspace_id: str

Workspace ID

idempotency_key: Optional[str]

Client-provided idempotency key

class DesignDeleteDataResponse:
id: str

ID of the resource whose data was deleted

data_deleted: Literal[true]
data_deleted_at: datetime

When the data was deleted

formatdate-time
class DesignEstimateCostResponse:

Estimate response with monetary values encoded as decimal strings to preserve precision.

breakdown: Breakdown

Cost breakdown for the billed application.

application: Literal["structure_and_binding", "small_molecule_design", "small_molecule_library_screen", 4 more]
One of the following:
"structure_and_binding"
"small_molecule_design"
"small_molecule_library_screen"
"protein_design"
"protein_redesign"
"protein_library_screen"
"adme"
cost_per_unit_usd: str

Estimated cost per displayed unit as a decimal string, rounded up to 4 decimal places. This may include token-size multipliers or generation overhead; estimated_cost_usd is the authoritative total.

num_units: int

Number of billable units in the estimate. The unit depends on the endpoint: samples for structure-and-binding, molecules for ADME, and requested proteins or molecules for design/screen endpoints.

disclaimer: str
estimated_cost_usd: str

Estimated total cost as a decimal string

ProteinSequence Redesign

Redesign selected protein residues in one fixed CIF structure. Use the top-level type discriminator to choose binder redesign, with target and binder chain roles, or generic redesign. Every chain in the input structure must be assigned exactly once. Binder results include binding and structure metrics; generic results include structure and secondary-structure metrics.

Start a protein sequence redesign run
protein.sequence_redesign.start(SequenceRedesignStartParams**kwargs) -> SequenceRedesignStartResponse
POST/compute/v1/protein/sequence-redesign
List protein sequence redesign runs
protein.sequence_redesign.list(SequenceRedesignListParams**kwargs) -> SyncCursorPage[SequenceRedesignListResponse]
GET/compute/v1/protein/sequence-redesign
Get protein sequence redesign run status
protein.sequence_redesign.retrieve(strid, SequenceRedesignRetrieveParams**kwargs) -> SequenceRedesignRetrieveResponse
GET/compute/v1/protein/sequence-redesign/{id}
Get redesigned protein sequences
protein.sequence_redesign.list_results(strid, SequenceRedesignListResultsParams**kwargs) -> SyncCursorPage[SequenceRedesignListResultsResponse]
GET/compute/v1/protein/sequence-redesign/{id}/results
Stop a running protein sequence redesign run
protein.sequence_redesign.stop(strid) -> SequenceRedesignStopResponse
POST/compute/v1/protein/sequence-redesign/{id}/stop
Resume a stopped protein sequence redesign run
protein.sequence_redesign.resume(strid) -> SequenceRedesignResumeResponse
POST/compute/v1/protein/sequence-redesign/{id}/resume
Delete protein sequence redesign run data
protein.sequence_redesign.delete_data(strid) -> SequenceRedesignDeleteDataResponse
POST/compute/v1/protein/sequence-redesign/{id}/delete-data
Estimate cost for a protein sequence redesign run
protein.sequence_redesign.estimate_cost(SequenceRedesignEstimateCostParams**kwargs) -> SequenceRedesignEstimateCostResponse
POST/compute/v1/protein/sequence-redesign/estimate-cost
ModelsExpand Collapse
class SequenceRedesignStartResponse:

A fixed-structure protein sequence redesign run.

id: str

Unique ProteinSequenceRedesignRun identifier

completed_at: Optional[datetime]
formatdate-time
created_at: datetime
formatdate-time
data_deleted_at: Optional[datetime]

When the input, output, and result data was permanently deleted. Null if data has not been deleted.

formatdate-time
Deprecatedengine: Literal["boltz-protein-redesign"]
Use pipeline instead.

Deprecated. Use pipeline instead.

Deprecatedengine_version: Literal["v2026-07-14"]
Use pipeline_version instead.

Deprecated. Use pipeline_version instead.

error: Optional[Error]
code: str

Machine-readable error code

message: str

Human-readable error message

details: Optional[object]

Additional field-level error details keyed by input path, when available.

input: Optional[Input]

Pipeline input (null if data deleted)

One of the following:
class InputBinderProteinSequenceRedesignRunInputResponse:
entities: List[InputBinderProteinSequenceRedesignRunInputResponseEntity]

Every chain in the input CIF, assigned exactly once as target or binder.

One of the following:
class InputBinderProteinSequenceRedesignRunInputResponseEntityBinderSequenceRedesignTargetEntityResponse:

A fixed target chain from the input CIF.

chain_id: str
minLength1
role: Literal["target"]
type: Literal["from_template"]
class InputBinderProteinSequenceRedesignRunInputResponseEntityBinderSequenceRedesignBinderEntityResponse:
chain_id: str
minLength1
role: Literal["binder"]
type: Literal["from_template"]
design_motifs: Optional[List[InputBinderProteinSequenceRedesignRunInputResponseEntityBinderSequenceRedesignBinderEntityResponseDesignMotif]]

Residues to redesign. Omit this field to keep the binder chain fixed.

filters: List[InputBinderProteinSequenceRedesignRunInputResponseEntityBinderSequenceRedesignBinderEntityResponseDesignMotifFilter]

Filters applied to this motif in addition to global_design_filters.

One of the following:
class InputBinderProteinSequenceRedesignRunInputResponseEntityBinderSequenceRedesignBinderEntityResponseDesignMotifFilterExcludedAminoAcidsDesignFilterResponse:
amino_acids: List[str]

Single-letter amino-acid codes that must not occur in the filtered designed region.

type: Literal["excluded_amino_acids"]
class InputBinderProteinSequenceRedesignRunInputResponseEntityBinderSequenceRedesignBinderEntityResponseDesignMotifFilterMaxHydrophobicFractionDesignFilterResponse:
max_fraction: float
minimum0
maximum1
type: Literal["max_hydrophobic_fraction"]
class InputBinderProteinSequenceRedesignRunInputResponseEntityBinderSequenceRedesignBinderEntityResponseDesignMotifFilterExcludedSequenceMotifsDesignFilterResponse:
motifs: List[str]

Sequence motifs that must not occur. X matches any single residue.

type: Literal["excluded_sequence_motifs"]
residues: List[int]

0-indexed residues to redesign on this chain.

type: Literal["residues"]
num_proteins: int

Number of unique filter-passing redesigned proteins to generate.

minimum1
maximum1000
structure: InputBinderProteinSequenceRedesignRunInputResponseStructure
url: str

URL to download the file

formaturi
url_expires_at: datetime

When the presigned URL expires

formatdate-time
type: Literal["binder"]
global_design_filters: Optional[List[InputBinderProteinSequenceRedesignRunInputResponseGlobalDesignFilter]]

Filters applied to every redesigned region. When omitted, cysteine is excluded. Pass [] to disable global filters.

One of the following:
class InputBinderProteinSequenceRedesignRunInputResponseGlobalDesignFilterExcludedAminoAcidsDesignFilterResponse:
amino_acids: List[str]

Single-letter amino-acid codes that must not occur in the filtered designed region.

type: Literal["excluded_amino_acids"]
class InputBinderProteinSequenceRedesignRunInputResponseGlobalDesignFilterMaxHydrophobicFractionDesignFilterResponse:
max_fraction: float
minimum0
maximum1
type: Literal["max_hydrophobic_fraction"]
class InputBinderProteinSequenceRedesignRunInputResponseGlobalDesignFilterExcludedSequenceMotifsDesignFilterResponse:
motifs: List[str]

Sequence motifs that must not occur. X matches any single residue.

type: Literal["excluded_sequence_motifs"]
idempotency_key: Optional[str]
maxLength255
workspace_id: Optional[str]

Workspace to run this redesign in.

class InputGenericProteinSequenceRedesignRunInputResponse:
entities: List[InputGenericProteinSequenceRedesignRunInputResponseEntity]

Every chain in the input CIF, assigned exactly once.

chain_id: str
minLength1
type: Literal["from_template"]
design_motifs: Optional[List[InputGenericProteinSequenceRedesignRunInputResponseEntityDesignMotif]]

Residues to redesign. Omit this field to keep the chain fixed.

filters: List[InputGenericProteinSequenceRedesignRunInputResponseEntityDesignMotifFilter]

Filters applied to this motif in addition to global_design_filters.

One of the following:
class InputGenericProteinSequenceRedesignRunInputResponseEntityDesignMotifFilterExcludedAminoAcidsDesignFilterResponse:
amino_acids: List[str]

Single-letter amino-acid codes that must not occur in the filtered designed region.

type: Literal["excluded_amino_acids"]
class InputGenericProteinSequenceRedesignRunInputResponseEntityDesignMotifFilterMaxHydrophobicFractionDesignFilterResponse:
max_fraction: float
minimum0
maximum1
type: Literal["max_hydrophobic_fraction"]
class InputGenericProteinSequenceRedesignRunInputResponseEntityDesignMotifFilterExcludedSequenceMotifsDesignFilterResponse:
motifs: List[str]

Sequence motifs that must not occur. X matches any single residue.

type: Literal["excluded_sequence_motifs"]
residues: List[int]

0-indexed residues to redesign on this chain.

type: Literal["residues"]
num_proteins: int

Number of unique filter-passing redesigned proteins to generate.

minimum1
maximum1000
structure: InputGenericProteinSequenceRedesignRunInputResponseStructure
url: str

URL to download the file

formaturi
url_expires_at: datetime

When the presigned URL expires

formatdate-time
type: Literal["generic"]
global_design_filters: Optional[List[InputGenericProteinSequenceRedesignRunInputResponseGlobalDesignFilter]]

Filters applied to every redesigned region. When omitted, cysteine is excluded. Pass [] to disable global filters.

One of the following:
class InputGenericProteinSequenceRedesignRunInputResponseGlobalDesignFilterExcludedAminoAcidsDesignFilterResponse:
amino_acids: List[str]

Single-letter amino-acid codes that must not occur in the filtered designed region.

type: Literal["excluded_amino_acids"]
class InputGenericProteinSequenceRedesignRunInputResponseGlobalDesignFilterMaxHydrophobicFractionDesignFilterResponse:
max_fraction: float
minimum0
maximum1
type: Literal["max_hydrophobic_fraction"]
class InputGenericProteinSequenceRedesignRunInputResponseGlobalDesignFilterExcludedSequenceMotifsDesignFilterResponse:
motifs: List[str]

Sequence motifs that must not occur. X matches any single residue.

type: Literal["excluded_sequence_motifs"]
idempotency_key: Optional[str]
maxLength255
workspace_id: Optional[str]

Workspace to run this redesign in.

livemode: bool

Whether this resource was created with a live API key.

pipeline: Literal["boltz-protein-redesign"]
pipeline_version: Literal["v2026-07-14"]
progress: Optional[Progress]
num_proteins_generated: int

Number of protein binders generated so far

minimum0
total_proteins_to_generate: int

Total number of protein binders requested

minimum1
latest_result_id: Optional[str]

ID of the most recently generated result

started_at: Optional[datetime]
formatdate-time
status: Literal["pending", "running", "succeeded", 2 more]
One of the following:
"pending"
"running"
"succeeded"
"failed"
"stopped"
stopped_at: Optional[datetime]
formatdate-time
workspace_id: str

Workspace ID

idempotency_key: Optional[str]

Client-provided idempotency key

class SequenceRedesignListResponse:

Summary of a protein sequence redesign run.

id: str

Unique ProteinSequenceRedesignRunSummary identifier

completed_at: Optional[datetime]
formatdate-time
created_at: datetime
formatdate-time
data_deleted_at: Optional[datetime]

When the input, output, and result data was permanently deleted. Null if data has not been deleted.

formatdate-time
Deprecatedengine: Literal["boltz-protein-redesign"]
Use pipeline instead.

Deprecated. Use pipeline instead.

Deprecatedengine_version: Literal["v2026-07-14"]
Use pipeline_version instead.

Deprecated. Use pipeline_version instead.

error: Optional[Error]
code: str

Machine-readable error code

message: str

Human-readable error message

details: Optional[object]

Additional field-level error details keyed by input path, when available.

livemode: bool

Whether this resource was created with a live API key.

pipeline: Literal["boltz-protein-redesign"]
pipeline_version: Literal["v2026-07-14"]
progress: Optional[Progress]
num_proteins_generated: int

Number of protein binders generated so far

minimum0
total_proteins_to_generate: int

Total number of protein binders requested

minimum1
latest_result_id: Optional[str]

ID of the most recently generated result

started_at: Optional[datetime]
formatdate-time
status: Literal["pending", "running", "succeeded", 2 more]
One of the following:
"pending"
"running"
"succeeded"
"failed"
"stopped"
stopped_at: Optional[datetime]
formatdate-time
workspace_id: str

Workspace ID

idempotency_key: Optional[str]

Client-provided idempotency key

class SequenceRedesignRetrieveResponse:

A fixed-structure protein sequence redesign run.

id: str

Unique ProteinSequenceRedesignRun identifier

completed_at: Optional[datetime]
formatdate-time
created_at: datetime
formatdate-time
data_deleted_at: Optional[datetime]

When the input, output, and result data was permanently deleted. Null if data has not been deleted.

formatdate-time
Deprecatedengine: Literal["boltz-protein-redesign"]
Use pipeline instead.

Deprecated. Use pipeline instead.

Deprecatedengine_version: Literal["v2026-07-14"]
Use pipeline_version instead.

Deprecated. Use pipeline_version instead.

error: Optional[Error]
code: str

Machine-readable error code

message: str

Human-readable error message

details: Optional[object]

Additional field-level error details keyed by input path, when available.

input: Optional[Input]

Pipeline input (null if data deleted)

One of the following:
class InputBinderProteinSequenceRedesignRunInputResponse:
entities: List[InputBinderProteinSequenceRedesignRunInputResponseEntity]

Every chain in the input CIF, assigned exactly once as target or binder.

One of the following:
class InputBinderProteinSequenceRedesignRunInputResponseEntityBinderSequenceRedesignTargetEntityResponse:

A fixed target chain from the input CIF.

chain_id: str
minLength1
role: Literal["target"]
type: Literal["from_template"]
class InputBinderProteinSequenceRedesignRunInputResponseEntityBinderSequenceRedesignBinderEntityResponse:
chain_id: str
minLength1
role: Literal["binder"]
type: Literal["from_template"]
design_motifs: Optional[List[InputBinderProteinSequenceRedesignRunInputResponseEntityBinderSequenceRedesignBinderEntityResponseDesignMotif]]

Residues to redesign. Omit this field to keep the binder chain fixed.

filters: List[InputBinderProteinSequenceRedesignRunInputResponseEntityBinderSequenceRedesignBinderEntityResponseDesignMotifFilter]

Filters applied to this motif in addition to global_design_filters.

One of the following:
class InputBinderProteinSequenceRedesignRunInputResponseEntityBinderSequenceRedesignBinderEntityResponseDesignMotifFilterExcludedAminoAcidsDesignFilterResponse:
amino_acids: List[str]

Single-letter amino-acid codes that must not occur in the filtered designed region.

type: Literal["excluded_amino_acids"]
class InputBinderProteinSequenceRedesignRunInputResponseEntityBinderSequenceRedesignBinderEntityResponseDesignMotifFilterMaxHydrophobicFractionDesignFilterResponse:
max_fraction: float
minimum0
maximum1
type: Literal["max_hydrophobic_fraction"]
class InputBinderProteinSequenceRedesignRunInputResponseEntityBinderSequenceRedesignBinderEntityResponseDesignMotifFilterExcludedSequenceMotifsDesignFilterResponse:
motifs: List[str]

Sequence motifs that must not occur. X matches any single residue.

type: Literal["excluded_sequence_motifs"]
residues: List[int]

0-indexed residues to redesign on this chain.

type: Literal["residues"]
num_proteins: int

Number of unique filter-passing redesigned proteins to generate.

minimum1
maximum1000
structure: InputBinderProteinSequenceRedesignRunInputResponseStructure
url: str

URL to download the file

formaturi
url_expires_at: datetime

When the presigned URL expires

formatdate-time
type: Literal["binder"]
global_design_filters: Optional[List[InputBinderProteinSequenceRedesignRunInputResponseGlobalDesignFilter]]

Filters applied to every redesigned region. When omitted, cysteine is excluded. Pass [] to disable global filters.

One of the following:
class InputBinderProteinSequenceRedesignRunInputResponseGlobalDesignFilterExcludedAminoAcidsDesignFilterResponse:
amino_acids: List[str]

Single-letter amino-acid codes that must not occur in the filtered designed region.

type: Literal["excluded_amino_acids"]
class InputBinderProteinSequenceRedesignRunInputResponseGlobalDesignFilterMaxHydrophobicFractionDesignFilterResponse:
max_fraction: float
minimum0
maximum1
type: Literal["max_hydrophobic_fraction"]
class InputBinderProteinSequenceRedesignRunInputResponseGlobalDesignFilterExcludedSequenceMotifsDesignFilterResponse:
motifs: List[str]

Sequence motifs that must not occur. X matches any single residue.

type: Literal["excluded_sequence_motifs"]
idempotency_key: Optional[str]
maxLength255
workspace_id: Optional[str]

Workspace to run this redesign in.

class InputGenericProteinSequenceRedesignRunInputResponse:
entities: List[InputGenericProteinSequenceRedesignRunInputResponseEntity]

Every chain in the input CIF, assigned exactly once.

chain_id: str
minLength1
type: Literal["from_template"]
design_motifs: Optional[List[InputGenericProteinSequenceRedesignRunInputResponseEntityDesignMotif]]

Residues to redesign. Omit this field to keep the chain fixed.

filters: List[InputGenericProteinSequenceRedesignRunInputResponseEntityDesignMotifFilter]

Filters applied to this motif in addition to global_design_filters.

One of the following:
class InputGenericProteinSequenceRedesignRunInputResponseEntityDesignMotifFilterExcludedAminoAcidsDesignFilterResponse:
amino_acids: List[str]

Single-letter amino-acid codes that must not occur in the filtered designed region.

type: Literal["excluded_amino_acids"]
class InputGenericProteinSequenceRedesignRunInputResponseEntityDesignMotifFilterMaxHydrophobicFractionDesignFilterResponse:
max_fraction: float
minimum0
maximum1
type: Literal["max_hydrophobic_fraction"]
class InputGenericProteinSequenceRedesignRunInputResponseEntityDesignMotifFilterExcludedSequenceMotifsDesignFilterResponse:
motifs: List[str]

Sequence motifs that must not occur. X matches any single residue.

type: Literal["excluded_sequence_motifs"]
residues: List[int]

0-indexed residues to redesign on this chain.

type: Literal["residues"]
num_proteins: int

Number of unique filter-passing redesigned proteins to generate.

minimum1
maximum1000
structure: InputGenericProteinSequenceRedesignRunInputResponseStructure
url: str

URL to download the file

formaturi
url_expires_at: datetime

When the presigned URL expires

formatdate-time
type: Literal["generic"]
global_design_filters: Optional[List[InputGenericProteinSequenceRedesignRunInputResponseGlobalDesignFilter]]

Filters applied to every redesigned region. When omitted, cysteine is excluded. Pass [] to disable global filters.

One of the following:
class InputGenericProteinSequenceRedesignRunInputResponseGlobalDesignFilterExcludedAminoAcidsDesignFilterResponse:
amino_acids: List[str]

Single-letter amino-acid codes that must not occur in the filtered designed region.

type: Literal["excluded_amino_acids"]
class InputGenericProteinSequenceRedesignRunInputResponseGlobalDesignFilterMaxHydrophobicFractionDesignFilterResponse:
max_fraction: float
minimum0
maximum1
type: Literal["max_hydrophobic_fraction"]
class InputGenericProteinSequenceRedesignRunInputResponseGlobalDesignFilterExcludedSequenceMotifsDesignFilterResponse:
motifs: List[str]

Sequence motifs that must not occur. X matches any single residue.

type: Literal["excluded_sequence_motifs"]
idempotency_key: Optional[str]
maxLength255
workspace_id: Optional[str]

Workspace to run this redesign in.

livemode: bool

Whether this resource was created with a live API key.

pipeline: Literal["boltz-protein-redesign"]
pipeline_version: Literal["v2026-07-14"]
progress: Optional[Progress]
num_proteins_generated: int

Number of protein binders generated so far

minimum0
total_proteins_to_generate: int

Total number of protein binders requested

minimum1
latest_result_id: Optional[str]

ID of the most recently generated result

started_at: Optional[datetime]
formatdate-time
status: Literal["pending", "running", "succeeded", 2 more]
One of the following:
"pending"
"running"
"succeeded"
"failed"
"stopped"
stopped_at: Optional[datetime]
formatdate-time
workspace_id: str

Workspace ID

idempotency_key: Optional[str]

Client-provided idempotency key

One of the following:
class BinderProteinDesignResult:
id: str

Unique result ID.

artifacts: BinderProteinDesignResultArtifacts
archive: BinderProteinDesignResultArtifactsArchive
url: str

URL to download the file

formaturi
url_expires_at: datetime

When the presigned URL expires

formatdate-time
structure: Optional[BinderProteinDesignResultArtifactsStructure]
url: str

URL to download the file

formaturi
url_expires_at: datetime

When the presigned URL expires

formatdate-time
created_at: datetime
formatdate-time
entities: List[BinderProteinDesignResultEntity]

Entities in the designed complex, including designed and fixed input entities.

One of the following:
class BinderProteinDesignResultEntityProteinEntity:
chain_ids: List[str]

Chain IDs for this entity

type: Literal["protein"]
value: str

Amino acid sequence (one-letter codes)

cyclic: Optional[bool]

Whether the sequence is cyclic

modifications: Optional[List[BinderProteinDesignResultEntityProteinEntityModification]]

CCD post-translational modifications. Optional; defaults to an empty list when omitted. SMILES modifications are not supported.

residue_index: int

0-based index of the residue to modify

minimum0
type: Literal["ccd"]

Modification format. Only CCD polymer modifications are supported.

value: str

CCD code from RCSB PDB (e.g. ‘MSE’ for selenomethionine, ‘SEP’ for phosphoserine)

class BinderProteinDesignResultEntityRnaEntity:
chain_ids: List[str]

Chain IDs for this entity

type: Literal["rna"]
value: str

RNA nucleotide sequence (A, C, G, U, N)

cyclic: Optional[bool]

Whether the sequence is cyclic

modifications: Optional[List[BinderProteinDesignResultEntityRnaEntityModification]]

CCD chemical modifications. Optional; defaults to an empty list when omitted. SMILES modifications are not supported.

residue_index: int

0-based index of the residue to modify

minimum0
type: Literal["ccd"]

Modification format. Only CCD polymer modifications are supported.

value: str

CCD code from RCSB PDB (e.g. ‘MSE’ for selenomethionine, ‘SEP’ for phosphoserine)

class BinderProteinDesignResultEntityDnaEntity:
chain_ids: List[str]

Chain IDs for this entity

type: Literal["dna"]
value: str

DNA nucleotide sequence (A, C, G, T, N)

cyclic: Optional[bool]

Whether the sequence is cyclic

modifications: Optional[List[BinderProteinDesignResultEntityDnaEntityModification]]

CCD chemical modifications. Optional; defaults to an empty list when omitted. SMILES modifications are not supported.

residue_index: int

0-based index of the residue to modify

minimum0
type: Literal["ccd"]

Modification format. Only CCD polymer modifications are supported.

value: str

CCD code from RCSB PDB (e.g. ‘MSE’ for selenomethionine, ‘SEP’ for phosphoserine)

class BinderProteinDesignResultEntityLigandCcdEntity:
chain_ids: List[str]

Chain IDs for this ligand

type: Literal["ligand_ccd"]
value: str

CCD code (e.g., ATP, ADP)

class BinderProteinDesignResultEntityLigandSmilesEntity:
chain_ids: List[str]

Chain IDs for this ligand

type: Literal["ligand_smiles"]
value: str

SMILES string representing the ligand

metrics: BinderProteinDesignResultMetrics

Structural and binding quality metrics for a designed protein binder

binding_confidence: float

Confidence that the designed binder binds the target (0-1). Primary metric for hit discovery.

helix_fraction: float

Fraction of the designed sequence forming alpha helices (0-1).

minimum0
maximum1
iptm: float

Interface predicted TM score (0-1). Confidence in the protein-protein interface.

loop_fraction: float

Fraction of the designed sequence in coil/loop regions (0-1).

minimum0
maximum1
min_interaction_pae: float

Minimum predicted aligned error at the interface (Angstroms). Lower values indicate higher confidence.

sheet_fraction: float

Fraction of the designed sequence forming beta sheets (0-1).

minimum0
maximum1
structure_confidence: float

Confidence in the predicted 3D structure (0-1).

type: Literal["binder"]
warnings: Optional[List[BinderProteinDesignResultWarning]]

Warnings about potential quality issues with this result.

code: str

Machine-readable warning code (e.g. “low_confidence”, “unusual_geometry”)

message: str

Human-readable description of the warning

class GenericProteinDesignResult:
id: str

Unique result ID.

artifacts: GenericProteinDesignResultArtifacts
archive: GenericProteinDesignResultArtifactsArchive
url: str

URL to download the file

formaturi
url_expires_at: datetime

When the presigned URL expires

formatdate-time
structure: Optional[GenericProteinDesignResultArtifactsStructure]
url: str

URL to download the file

formaturi
url_expires_at: datetime

When the presigned URL expires

formatdate-time
created_at: datetime
formatdate-time
entities: List[GenericProteinDesignResultEntity]

Entities in the designed complex, including designed and fixed input entities.

One of the following:
class GenericProteinDesignResultEntityProteinEntity:
chain_ids: List[str]

Chain IDs for this entity

type: Literal["protein"]
value: str

Amino acid sequence (one-letter codes)

cyclic: Optional[bool]

Whether the sequence is cyclic

modifications: Optional[List[GenericProteinDesignResultEntityProteinEntityModification]]

CCD post-translational modifications. Optional; defaults to an empty list when omitted. SMILES modifications are not supported.

residue_index: int

0-based index of the residue to modify

minimum0
type: Literal["ccd"]

Modification format. Only CCD polymer modifications are supported.

value: str

CCD code from RCSB PDB (e.g. ‘MSE’ for selenomethionine, ‘SEP’ for phosphoserine)

class GenericProteinDesignResultEntityRnaEntity:
chain_ids: List[str]

Chain IDs for this entity

type: Literal["rna"]
value: str

RNA nucleotide sequence (A, C, G, U, N)

cyclic: Optional[bool]

Whether the sequence is cyclic

modifications: Optional[List[GenericProteinDesignResultEntityRnaEntityModification]]

CCD chemical modifications. Optional; defaults to an empty list when omitted. SMILES modifications are not supported.

residue_index: int

0-based index of the residue to modify

minimum0
type: Literal["ccd"]

Modification format. Only CCD polymer modifications are supported.

value: str

CCD code from RCSB PDB (e.g. ‘MSE’ for selenomethionine, ‘SEP’ for phosphoserine)

class GenericProteinDesignResultEntityDnaEntity:
chain_ids: List[str]

Chain IDs for this entity

type: Literal["dna"]
value: str

DNA nucleotide sequence (A, C, G, T, N)

cyclic: Optional[bool]

Whether the sequence is cyclic

modifications: Optional[List[GenericProteinDesignResultEntityDnaEntityModification]]

CCD chemical modifications. Optional; defaults to an empty list when omitted. SMILES modifications are not supported.

residue_index: int

0-based index of the residue to modify

minimum0
type: Literal["ccd"]

Modification format. Only CCD polymer modifications are supported.

value: str

CCD code from RCSB PDB (e.g. ‘MSE’ for selenomethionine, ‘SEP’ for phosphoserine)

class GenericProteinDesignResultEntityLigandCcdEntity:
chain_ids: List[str]

Chain IDs for this ligand

type: Literal["ligand_ccd"]
value: str

CCD code (e.g., ATP, ADP)

class GenericProteinDesignResultEntityLigandSmilesEntity:
chain_ids: List[str]

Chain IDs for this ligand

type: Literal["ligand_smiles"]
value: str

SMILES string representing the ligand

metrics: GenericProteinDesignResultMetrics

Structure and design-quality metrics for a generic protein design.

helix_fraction: float

Fraction of the designed sequence forming alpha helices (0-1).

minimum0
maximum1
loop_fraction: float

Fraction of the designed sequence in coil/loop regions (0-1).

minimum0
maximum1
sheet_fraction: float

Fraction of the designed sequence forming beta sheets (0-1).

minimum0
maximum1
structure_confidence: float

Confidence in the predicted 3D structure (0-1).

type: Literal["generic"]
warnings: Optional[List[GenericProteinDesignResultWarning]]

Warnings about potential quality issues with this result.

code: str

Machine-readable warning code (e.g. “low_confidence”, “unusual_geometry”)

message: str

Human-readable description of the warning

class SequenceRedesignStopResponse:

A fixed-structure protein sequence redesign run.

id: str

Unique ProteinSequenceRedesignRun identifier

completed_at: Optional[datetime]
formatdate-time
created_at: datetime
formatdate-time
data_deleted_at: Optional[datetime]

When the input, output, and result data was permanently deleted. Null if data has not been deleted.

formatdate-time
Deprecatedengine: Literal["boltz-protein-redesign"]
Use pipeline instead.

Deprecated. Use pipeline instead.

Deprecatedengine_version: Literal["v2026-07-14"]
Use pipeline_version instead.

Deprecated. Use pipeline_version instead.

error: Optional[Error]
code: str

Machine-readable error code

message: str

Human-readable error message

details: Optional[object]

Additional field-level error details keyed by input path, when available.

input: Optional[Input]

Pipeline input (null if data deleted)

One of the following:
class InputBinderProteinSequenceRedesignRunInputResponse:
entities: List[InputBinderProteinSequenceRedesignRunInputResponseEntity]

Every chain in the input CIF, assigned exactly once as target or binder.

One of the following:
class InputBinderProteinSequenceRedesignRunInputResponseEntityBinderSequenceRedesignTargetEntityResponse:

A fixed target chain from the input CIF.

chain_id: str
minLength1
role: Literal["target"]
type: Literal["from_template"]
class InputBinderProteinSequenceRedesignRunInputResponseEntityBinderSequenceRedesignBinderEntityResponse:
chain_id: str
minLength1
role: Literal["binder"]
type: Literal["from_template"]
design_motifs: Optional[List[InputBinderProteinSequenceRedesignRunInputResponseEntityBinderSequenceRedesignBinderEntityResponseDesignMotif]]

Residues to redesign. Omit this field to keep the binder chain fixed.

filters: List[InputBinderProteinSequenceRedesignRunInputResponseEntityBinderSequenceRedesignBinderEntityResponseDesignMotifFilter]

Filters applied to this motif in addition to global_design_filters.

One of the following:
class InputBinderProteinSequenceRedesignRunInputResponseEntityBinderSequenceRedesignBinderEntityResponseDesignMotifFilterExcludedAminoAcidsDesignFilterResponse:
amino_acids: List[str]

Single-letter amino-acid codes that must not occur in the filtered designed region.

type: Literal["excluded_amino_acids"]
class InputBinderProteinSequenceRedesignRunInputResponseEntityBinderSequenceRedesignBinderEntityResponseDesignMotifFilterMaxHydrophobicFractionDesignFilterResponse:
max_fraction: float
minimum0
maximum1
type: Literal["max_hydrophobic_fraction"]
class InputBinderProteinSequenceRedesignRunInputResponseEntityBinderSequenceRedesignBinderEntityResponseDesignMotifFilterExcludedSequenceMotifsDesignFilterResponse:
motifs: List[str]

Sequence motifs that must not occur. X matches any single residue.

type: Literal["excluded_sequence_motifs"]
residues: List[int]

0-indexed residues to redesign on this chain.

type: Literal["residues"]
num_proteins: int

Number of unique filter-passing redesigned proteins to generate.

minimum1
maximum1000
structure: InputBinderProteinSequenceRedesignRunInputResponseStructure
url: str

URL to download the file

formaturi
url_expires_at: datetime

When the presigned URL expires

formatdate-time
type: Literal["binder"]
global_design_filters: Optional[List[InputBinderProteinSequenceRedesignRunInputResponseGlobalDesignFilter]]

Filters applied to every redesigned region. When omitted, cysteine is excluded. Pass [] to disable global filters.

One of the following:
class InputBinderProteinSequenceRedesignRunInputResponseGlobalDesignFilterExcludedAminoAcidsDesignFilterResponse:
amino_acids: List[str]

Single-letter amino-acid codes that must not occur in the filtered designed region.

type: Literal["excluded_amino_acids"]
class InputBinderProteinSequenceRedesignRunInputResponseGlobalDesignFilterMaxHydrophobicFractionDesignFilterResponse:
max_fraction: float
minimum0
maximum1
type: Literal["max_hydrophobic_fraction"]
class InputBinderProteinSequenceRedesignRunInputResponseGlobalDesignFilterExcludedSequenceMotifsDesignFilterResponse:
motifs: List[str]

Sequence motifs that must not occur. X matches any single residue.

type: Literal["excluded_sequence_motifs"]
idempotency_key: Optional[str]
maxLength255
workspace_id: Optional[str]

Workspace to run this redesign in.

class InputGenericProteinSequenceRedesignRunInputResponse:
entities: List[InputGenericProteinSequenceRedesignRunInputResponseEntity]

Every chain in the input CIF, assigned exactly once.

chain_id: str
minLength1
type: Literal["from_template"]
design_motifs: Optional[List[InputGenericProteinSequenceRedesignRunInputResponseEntityDesignMotif]]

Residues to redesign. Omit this field to keep the chain fixed.

filters: List[InputGenericProteinSequenceRedesignRunInputResponseEntityDesignMotifFilter]

Filters applied to this motif in addition to global_design_filters.

One of the following:
class InputGenericProteinSequenceRedesignRunInputResponseEntityDesignMotifFilterExcludedAminoAcidsDesignFilterResponse:
amino_acids: List[str]

Single-letter amino-acid codes that must not occur in the filtered designed region.

type: Literal["excluded_amino_acids"]
class InputGenericProteinSequenceRedesignRunInputResponseEntityDesignMotifFilterMaxHydrophobicFractionDesignFilterResponse:
max_fraction: float
minimum0
maximum1
type: Literal["max_hydrophobic_fraction"]
class InputGenericProteinSequenceRedesignRunInputResponseEntityDesignMotifFilterExcludedSequenceMotifsDesignFilterResponse:
motifs: List[str]

Sequence motifs that must not occur. X matches any single residue.

type: Literal["excluded_sequence_motifs"]
residues: List[int]

0-indexed residues to redesign on this chain.

type: Literal["residues"]
num_proteins: int

Number of unique filter-passing redesigned proteins to generate.

minimum1
maximum1000
structure: InputGenericProteinSequenceRedesignRunInputResponseStructure
url: str

URL to download the file

formaturi
url_expires_at: datetime

When the presigned URL expires

formatdate-time
type: Literal["generic"]
global_design_filters: Optional[List[InputGenericProteinSequenceRedesignRunInputResponseGlobalDesignFilter]]

Filters applied to every redesigned region. When omitted, cysteine is excluded. Pass [] to disable global filters.

One of the following:
class InputGenericProteinSequenceRedesignRunInputResponseGlobalDesignFilterExcludedAminoAcidsDesignFilterResponse:
amino_acids: List[str]

Single-letter amino-acid codes that must not occur in the filtered designed region.

type: Literal["excluded_amino_acids"]
class InputGenericProteinSequenceRedesignRunInputResponseGlobalDesignFilterMaxHydrophobicFractionDesignFilterResponse:
max_fraction: float
minimum0
maximum1
type: Literal["max_hydrophobic_fraction"]
class InputGenericProteinSequenceRedesignRunInputResponseGlobalDesignFilterExcludedSequenceMotifsDesignFilterResponse:
motifs: List[str]

Sequence motifs that must not occur. X matches any single residue.

type: Literal["excluded_sequence_motifs"]
idempotency_key: Optional[str]
maxLength255
workspace_id: Optional[str]

Workspace to run this redesign in.

livemode: bool

Whether this resource was created with a live API key.

pipeline: Literal["boltz-protein-redesign"]
pipeline_version: Literal["v2026-07-14"]
progress: Optional[Progress]
num_proteins_generated: int

Number of protein binders generated so far

minimum0
total_proteins_to_generate: int

Total number of protein binders requested

minimum1
latest_result_id: Optional[str]

ID of the most recently generated result

started_at: Optional[datetime]
formatdate-time
status: Literal["pending", "running", "succeeded", 2 more]
One of the following:
"pending"
"running"
"succeeded"
"failed"
"stopped"
stopped_at: Optional[datetime]
formatdate-time
workspace_id: str

Workspace ID

idempotency_key: Optional[str]

Client-provided idempotency key

class SequenceRedesignResumeResponse:

A fixed-structure protein sequence redesign run.

id: str

Unique ProteinSequenceRedesignRun identifier

completed_at: Optional[datetime]
formatdate-time
created_at: datetime
formatdate-time
data_deleted_at: Optional[datetime]

When the input, output, and result data was permanently deleted. Null if data has not been deleted.

formatdate-time
Deprecatedengine: Literal["boltz-protein-redesign"]
Use pipeline instead.

Deprecated. Use pipeline instead.

Deprecatedengine_version: Literal["v2026-07-14"]
Use pipeline_version instead.

Deprecated. Use pipeline_version instead.

error: Optional[Error]
code: str

Machine-readable error code

message: str

Human-readable error message

details: Optional[object]

Additional field-level error details keyed by input path, when available.

input: Optional[Input]

Pipeline input (null if data deleted)

One of the following:
class InputBinderProteinSequenceRedesignRunInputResponse:
entities: List[InputBinderProteinSequenceRedesignRunInputResponseEntity]

Every chain in the input CIF, assigned exactly once as target or binder.

One of the following:
class InputBinderProteinSequenceRedesignRunInputResponseEntityBinderSequenceRedesignTargetEntityResponse:

A fixed target chain from the input CIF.

chain_id: str
minLength1
role: Literal["target"]
type: Literal["from_template"]
class InputBinderProteinSequenceRedesignRunInputResponseEntityBinderSequenceRedesignBinderEntityResponse:
chain_id: str
minLength1
role: Literal["binder"]
type: Literal["from_template"]
design_motifs: Optional[List[InputBinderProteinSequenceRedesignRunInputResponseEntityBinderSequenceRedesignBinderEntityResponseDesignMotif]]

Residues to redesign. Omit this field to keep the binder chain fixed.

filters: List[InputBinderProteinSequenceRedesignRunInputResponseEntityBinderSequenceRedesignBinderEntityResponseDesignMotifFilter]

Filters applied to this motif in addition to global_design_filters.

One of the following:
class InputBinderProteinSequenceRedesignRunInputResponseEntityBinderSequenceRedesignBinderEntityResponseDesignMotifFilterExcludedAminoAcidsDesignFilterResponse:
amino_acids: List[str]

Single-letter amino-acid codes that must not occur in the filtered designed region.

type: Literal["excluded_amino_acids"]
class InputBinderProteinSequenceRedesignRunInputResponseEntityBinderSequenceRedesignBinderEntityResponseDesignMotifFilterMaxHydrophobicFractionDesignFilterResponse:
max_fraction: float
minimum0
maximum1
type: Literal["max_hydrophobic_fraction"]
class InputBinderProteinSequenceRedesignRunInputResponseEntityBinderSequenceRedesignBinderEntityResponseDesignMotifFilterExcludedSequenceMotifsDesignFilterResponse:
motifs: List[str]

Sequence motifs that must not occur. X matches any single residue.

type: Literal["excluded_sequence_motifs"]
residues: List[int]

0-indexed residues to redesign on this chain.

type: Literal["residues"]
num_proteins: int

Number of unique filter-passing redesigned proteins to generate.

minimum1
maximum1000
structure: InputBinderProteinSequenceRedesignRunInputResponseStructure
url: str

URL to download the file

formaturi
url_expires_at: datetime

When the presigned URL expires

formatdate-time
type: Literal["binder"]
global_design_filters: Optional[List[InputBinderProteinSequenceRedesignRunInputResponseGlobalDesignFilter]]

Filters applied to every redesigned region. When omitted, cysteine is excluded. Pass [] to disable global filters.

One of the following:
class InputBinderProteinSequenceRedesignRunInputResponseGlobalDesignFilterExcludedAminoAcidsDesignFilterResponse:
amino_acids: List[str]

Single-letter amino-acid codes that must not occur in the filtered designed region.

type: Literal["excluded_amino_acids"]
class InputBinderProteinSequenceRedesignRunInputResponseGlobalDesignFilterMaxHydrophobicFractionDesignFilterResponse:
max_fraction: float
minimum0
maximum1
type: Literal["max_hydrophobic_fraction"]
class InputBinderProteinSequenceRedesignRunInputResponseGlobalDesignFilterExcludedSequenceMotifsDesignFilterResponse:
motifs: List[str]

Sequence motifs that must not occur. X matches any single residue.

type: Literal["excluded_sequence_motifs"]
idempotency_key: Optional[str]
maxLength255
workspace_id: Optional[str]

Workspace to run this redesign in.

class InputGenericProteinSequenceRedesignRunInputResponse:
entities: List[InputGenericProteinSequenceRedesignRunInputResponseEntity]

Every chain in the input CIF, assigned exactly once.

chain_id: str
minLength1
type: Literal["from_template"]
design_motifs: Optional[List[InputGenericProteinSequenceRedesignRunInputResponseEntityDesignMotif]]

Residues to redesign. Omit this field to keep the chain fixed.

filters: List[InputGenericProteinSequenceRedesignRunInputResponseEntityDesignMotifFilter]

Filters applied to this motif in addition to global_design_filters.

One of the following:
class InputGenericProteinSequenceRedesignRunInputResponseEntityDesignMotifFilterExcludedAminoAcidsDesignFilterResponse:
amino_acids: List[str]

Single-letter amino-acid codes that must not occur in the filtered designed region.

type: Literal["excluded_amino_acids"]
class InputGenericProteinSequenceRedesignRunInputResponseEntityDesignMotifFilterMaxHydrophobicFractionDesignFilterResponse:
max_fraction: float
minimum0
maximum1
type: Literal["max_hydrophobic_fraction"]
class InputGenericProteinSequenceRedesignRunInputResponseEntityDesignMotifFilterExcludedSequenceMotifsDesignFilterResponse:
motifs: List[str]

Sequence motifs that must not occur. X matches any single residue.

type: Literal["excluded_sequence_motifs"]
residues: List[int]

0-indexed residues to redesign on this chain.

type: Literal["residues"]
num_proteins: int

Number of unique filter-passing redesigned proteins to generate.

minimum1
maximum1000
structure: InputGenericProteinSequenceRedesignRunInputResponseStructure
url: str

URL to download the file

formaturi
url_expires_at: datetime

When the presigned URL expires

formatdate-time
type: Literal["generic"]
global_design_filters: Optional[List[InputGenericProteinSequenceRedesignRunInputResponseGlobalDesignFilter]]

Filters applied to every redesigned region. When omitted, cysteine is excluded. Pass [] to disable global filters.

One of the following:
class InputGenericProteinSequenceRedesignRunInputResponseGlobalDesignFilterExcludedAminoAcidsDesignFilterResponse:
amino_acids: List[str]

Single-letter amino-acid codes that must not occur in the filtered designed region.

type: Literal["excluded_amino_acids"]
class InputGenericProteinSequenceRedesignRunInputResponseGlobalDesignFilterMaxHydrophobicFractionDesignFilterResponse:
max_fraction: float
minimum0
maximum1
type: Literal["max_hydrophobic_fraction"]
class InputGenericProteinSequenceRedesignRunInputResponseGlobalDesignFilterExcludedSequenceMotifsDesignFilterResponse:
motifs: List[str]

Sequence motifs that must not occur. X matches any single residue.

type: Literal["excluded_sequence_motifs"]
idempotency_key: Optional[str]
maxLength255
workspace_id: Optional[str]

Workspace to run this redesign in.

livemode: bool

Whether this resource was created with a live API key.

pipeline: Literal["boltz-protein-redesign"]
pipeline_version: Literal["v2026-07-14"]
progress: Optional[Progress]
num_proteins_generated: int

Number of protein binders generated so far

minimum0
total_proteins_to_generate: int

Total number of protein binders requested

minimum1
latest_result_id: Optional[str]

ID of the most recently generated result

started_at: Optional[datetime]
formatdate-time
status: Literal["pending", "running", "succeeded", 2 more]
One of the following:
"pending"
"running"
"succeeded"
"failed"
"stopped"
stopped_at: Optional[datetime]
formatdate-time
workspace_id: str

Workspace ID

idempotency_key: Optional[str]

Client-provided idempotency key

class SequenceRedesignDeleteDataResponse:
id: str

ID of the resource whose data was deleted

data_deleted: Literal[true]
data_deleted_at: datetime

When the data was deleted

formatdate-time
class SequenceRedesignEstimateCostResponse:

Estimate response with monetary values encoded as decimal strings to preserve precision.

breakdown: Breakdown

Cost breakdown for the billed application.

application: Literal["structure_and_binding", "small_molecule_design", "small_molecule_library_screen", 4 more]
One of the following:
"structure_and_binding"
"small_molecule_design"
"small_molecule_library_screen"
"protein_design"
"protein_redesign"
"protein_library_screen"
"adme"
cost_per_unit_usd: str

Estimated cost per displayed unit as a decimal string, rounded up to 4 decimal places. This may include token-size multipliers or generation overhead; estimated_cost_usd is the authoritative total.

num_units: int

Number of billable units in the estimate. The unit depends on the endpoint: samples for structure-and-binding, molecules for ADME, and requested proteins or molecules for design/screen endpoints.

disclaimer: str
estimated_cost_usd: str

Estimated total cost as a decimal string

ProteinLibrary Screen

Screen an existing library of proteins against a target structure. Results are scored by binding confidence (likelihood of protein-protein interaction) and structure confidence.

Start a protein library screen
protein.library_screen.start(LibraryScreenStartParams**kwargs) -> LibraryScreenStartResponse
POST/compute/v1/protein/library-screen
List protein library screens
protein.library_screen.list(LibraryScreenListParams**kwargs) -> SyncCursorPage[LibraryScreenListResponse]
GET/compute/v1/protein/library-screen
Get protein library screen status
protein.library_screen.retrieve(strid, LibraryScreenRetrieveParams**kwargs) -> LibraryScreenRetrieveResponse
GET/compute/v1/protein/library-screen/{id}
Get screened protein candidates
protein.library_screen.list_results(strid, LibraryScreenListResultsParams**kwargs) -> SyncCursorPage[LibraryScreenListResultsResponse]
GET/compute/v1/protein/library-screen/{id}/results
Stop a running protein library screen
protein.library_screen.stop(strid) -> LibraryScreenStopResponse
POST/compute/v1/protein/library-screen/{id}/stop
Resume a stopped protein library screen
protein.library_screen.resume(strid) -> LibraryScreenResumeResponse
POST/compute/v1/protein/library-screen/{id}/resume
Delete protein library screen data
protein.library_screen.delete_data(strid) -> LibraryScreenDeleteDataResponse
POST/compute/v1/protein/library-screen/{id}/delete-data
Estimate cost for a protein library screen
protein.library_screen.estimate_cost(LibraryScreenEstimateCostParams**kwargs) -> LibraryScreenEstimateCostResponse
POST/compute/v1/protein/library-screen/estimate-cost
ModelsExpand Collapse
class LibraryScreenStartResponse:

A protein library screening pipeline run

id: str

Unique ProteinLibraryScreen identifier

completed_at: Optional[datetime]
formatdate-time
created_at: datetime
formatdate-time
data_deleted_at: Optional[datetime]

When the input, output, and result data was permanently deleted. Null if data has not been deleted.

formatdate-time
Deprecatedengine: Literal["boltzprot"]
Use pipeline instead.

Deprecated. Use pipeline instead.

Deprecatedengine_version: Literal["1.0"]
Use pipeline_version instead.

Deprecated. Use pipeline_version instead.

error: Optional[Error]
code: str

Machine-readable error code

message: str

Human-readable error message

details: Optional[object]

Additional field-level error details keyed by input path, when available.

input: Optional[Input]

Pipeline input (null if data deleted)

proteins: InputProteins
url: str

URL to download the file

formaturi
url_expires_at: datetime

When the presigned URL expires

formatdate-time
target: InputTarget

Target specification (structure template or template-free)

One of the following:
class InputTargetStructureTemplateTargetResponse:

Target defined by an uploaded 3D structure (CIF or PDB file). Only chains included in chain_selection are used.

chain_selection: Dict[str, InputTargetStructureTemplateTargetResponseChainSelection]

Chains selected from the uploaded structure, keyed by chain ID. Only chains listed here are included in the pipeline run — any chains omitted from this mapping are ignored. Each value defines which residues to keep, which are epitope residues, which are non-binding residues, and which are flexible.

One of the following:
class InputTargetStructureTemplateTargetResponseChainSelectionStructureTemplateTargetPolymerChainSpec:

Per-chain specification for a polymer (protein/RNA/DNA) chain in a structure template target.

chain_type: Literal["polymer"]
crop_residues: Union[List[int], Literal["all"]]

0-indexed residue indices to retain from this chain, or ‘all’ to keep all residues. Residues not listed are excluded from the pipeline run.

One of the following:
List[int]

0-indexed residue indices to keep

Literal["all"]
epitope_residues: Optional[List[int]]

0-indexed residue indices where binder contact is desired (the epitope). All indices must be present in crop_residues and must not overlap non_binding_residues.

flexible_residues: Optional[List[int]]

0-indexed residue indices allowed to move during design (e.g. flexible loop regions). All indices must be present in crop_residues.

non_binding_residues: Optional[List[int]]

0-indexed residue indices where binder contact should be discouraged. All indices must be present in crop_residues and must not overlap epitope_residues.

class InputTargetStructureTemplateTargetResponseChainSelectionStructureTemplateTargetLigandChainSpec:

Per-chain specification for a ligand chain in a structure template target. The full ligand is always included.

chain_type: Literal["ligand"]
structure: InputTargetStructureTemplateTargetResponseStructure
url: str

URL to download the file

formaturi
url_expires_at: datetime

When the presigned URL expires

formatdate-time
type: Literal["structure_template"]
class InputTargetNoTemplateTargetResponse:

Target defined by sequences only, without a 3D structure template

entities: List[InputTargetNoTemplateTargetResponseEntity]

Entities (proteins, RNA, DNA, ligands) defining the target complex.

One of the following:
class InputTargetNoTemplateTargetResponseEntityProteinEntityResponse:
chain_ids: List[str]

Chain IDs for this entity

type: Literal["protein"]
value: str

Amino acid sequence (one-letter codes)

cyclic: Optional[bool]

Whether the sequence is cyclic

modifications: Optional[List[InputTargetNoTemplateTargetResponseEntityProteinEntityResponseModification]]

CCD post-translational modifications. Optional; defaults to an empty list when omitted. SMILES modifications are not supported.

residue_index: int

0-based index of the residue to modify

minimum0
type: Literal["ccd"]

Modification format. Only CCD polymer modifications are supported.

value: str

CCD code from RCSB PDB (e.g. ‘MSE’ for selenomethionine, ‘SEP’ for phosphoserine)

class InputTargetNoTemplateTargetResponseEntityRnaEntityResponse:
chain_ids: List[str]

Chain IDs for this entity

type: Literal["rna"]
value: str

RNA nucleotide sequence (A, C, G, U, N)

cyclic: Optional[bool]

Whether the sequence is cyclic

modifications: Optional[List[InputTargetNoTemplateTargetResponseEntityRnaEntityResponseModification]]

CCD chemical modifications. Optional; defaults to an empty list when omitted. SMILES modifications are not supported.

residue_index: int

0-based index of the residue to modify

minimum0
type: Literal["ccd"]

Modification format. Only CCD polymer modifications are supported.

value: str

CCD code from RCSB PDB (e.g. ‘MSE’ for selenomethionine, ‘SEP’ for phosphoserine)

class InputTargetNoTemplateTargetResponseEntityDnaEntityResponse:
chain_ids: List[str]

Chain IDs for this entity

type: Literal["dna"]
value: str

DNA nucleotide sequence (A, C, G, T, N)

cyclic: Optional[bool]

Whether the sequence is cyclic

modifications: Optional[List[InputTargetNoTemplateTargetResponseEntityDnaEntityResponseModification]]

CCD chemical modifications. Optional; defaults to an empty list when omitted. SMILES modifications are not supported.

residue_index: int

0-based index of the residue to modify

minimum0
type: Literal["ccd"]

Modification format. Only CCD polymer modifications are supported.

value: str

CCD code from RCSB PDB (e.g. ‘MSE’ for selenomethionine, ‘SEP’ for phosphoserine)

class InputTargetNoTemplateTargetResponseEntityLigandCcdEntityResponse:
chain_ids: List[str]

Chain IDs for this ligand

type: Literal["ligand_ccd"]
value: str

CCD code (e.g., ATP, ADP)

class InputTargetNoTemplateTargetResponseEntityLigandSmilesEntityResponse:
chain_ids: List[str]

Chain IDs for this ligand

type: Literal["ligand_smiles"]
value: str

SMILES string representing the ligand

type: Literal["no_template"]
bonds: Optional[List[InputTargetNoTemplateTargetResponseBond]]

Covalent bond constraints between atoms in the target complex. Ligand atom references support CCD atom names and explicitly atom-mapped SMILES atoms.

atom1: InputTargetNoTemplateTargetResponseBondAtom1

Ligand atom reference for a CCD atom or an explicitly atom-mapped SMILES atom.

One of the following:
class InputTargetNoTemplateTargetResponseBondAtom1LigandAtomResponse:

Ligand atom reference for a CCD atom or an explicitly atom-mapped SMILES atom.

atom_name: str

Atom name. For ligand_ccd, use the standardized CIF atom name. For ligand_smiles, explicitly label the atom with numeric atom-map notation: [C:1] is referenced as C1 and [O:2] as O2. The resulting name must be unique within the molecule and at most four characters.

chain_id: str

Chain ID containing the atom

type: Literal["ligand_atom"]
class InputTargetNoTemplateTargetResponseBondAtom1PolymerAtomResponse:
atom_name: str

Standardized atom name (verifiable in CIF file on RCSB)

chain_id: str

Chain ID containing the atom

residue_index: int

0-based residue index

minimum0
type: Literal["polymer_atom"]
atom2: InputTargetNoTemplateTargetResponseBondAtom2

Ligand atom reference for a CCD atom or an explicitly atom-mapped SMILES atom.

One of the following:
class InputTargetNoTemplateTargetResponseBondAtom2LigandAtomResponse:

Ligand atom reference for a CCD atom or an explicitly atom-mapped SMILES atom.

atom_name: str

Atom name. For ligand_ccd, use the standardized CIF atom name. For ligand_smiles, explicitly label the atom with numeric atom-map notation: [C:1] is referenced as C1 and [O:2] as O2. The resulting name must be unique within the molecule and at most four characters.

chain_id: str

Chain ID containing the atom

type: Literal["ligand_atom"]
class InputTargetNoTemplateTargetResponseBondAtom2PolymerAtomResponse:
atom_name: str

Standardized atom name (verifiable in CIF file on RCSB)

chain_id: str

Chain ID containing the atom

residue_index: int

0-based residue index

minimum0
type: Literal["polymer_atom"]
constraints: Optional[List[InputTargetNoTemplateTargetResponseConstraint]]

Structural constraints (pocket and contact). Ligand atom references support CCD atom names and explicitly atom-mapped SMILES atoms.

One of the following:
class InputTargetNoTemplateTargetResponseConstraintPocketConstraintResponse:

Constrains the binder to interact with specific pocket residues on the target.

binder_chain_id: str

Chain ID of the binder molecule

contact_residues: Dict[str, List[int]]

Binding pocket residues keyed by chain ID. Each key is a chain ID (e.g. “A”) and the value is an array of 0-indexed residue indices that define the pocket on that chain.

max_distance_angstrom: float

Maximum allowed distance in Angstroms between binder and pocket residues. Typical range: 4-8 A.

type: Literal["pocket"]
force: Optional[bool]

Whether to force the constraint

class InputTargetNoTemplateTargetResponseConstraintContactConstraintResponse:

Maximum-distance contact constraint between two polymer residues or ligand atoms.

max_distance_angstrom: float

Maximum distance in Angstroms

token1: InputTargetNoTemplateTargetResponseConstraintContactConstraintResponseToken1

Ligand contact token for a CCD atom or an explicitly atom-mapped SMILES atom.

One of the following:
class InputTargetNoTemplateTargetResponseConstraintContactConstraintResponseToken1PolymerContactTokenResponse:
chain_id: str

Chain ID

residue_index: int

0-based residue index

minimum0
type: Literal["polymer_contact"]
class InputTargetNoTemplateTargetResponseConstraintContactConstraintResponseToken1LigandContactTokenResponse:

Ligand contact token for a CCD atom or an explicitly atom-mapped SMILES atom.

atom_name: str

Atom name. For ligand_ccd, use the standardized CIF atom name. For ligand_smiles, explicitly label the atom with numeric atom-map notation: [C:1] is referenced as C1 and [O:2] as O2. The resulting name must be unique within the molecule and at most four characters.

chain_id: str

Chain ID

type: Literal["ligand_contact"]
token2: InputTargetNoTemplateTargetResponseConstraintContactConstraintResponseToken2

Ligand contact token for a CCD atom or an explicitly atom-mapped SMILES atom.

One of the following:
class InputTargetNoTemplateTargetResponseConstraintContactConstraintResponseToken2PolymerContactTokenResponse:
chain_id: str

Chain ID

residue_index: int

0-based residue index

minimum0
type: Literal["polymer_contact"]
class InputTargetNoTemplateTargetResponseConstraintContactConstraintResponseToken2LigandContactTokenResponse:

Ligand contact token for a CCD atom or an explicitly atom-mapped SMILES atom.

atom_name: str

Atom name. For ligand_ccd, use the standardized CIF atom name. For ligand_smiles, explicitly label the atom with numeric atom-map notation: [C:1] is referenced as C1 and [O:2] as O2. The resulting name must be unique within the molecule and at most four characters.

chain_id: str

Chain ID

type: Literal["ligand_contact"]
type: Literal["contact"]
force: Optional[bool]

Whether to force the constraint

epitope_ligand_chains: Optional[List[str]]

Chain IDs of ligand entities that are part of the binding epitope. Ligands are marked as epitope in full (no residue-level selection).

epitope_residues: Optional[Dict[str, List[int]]]

Polymer chain residues where binder contact is desired (the epitope). Each key is a chain ID of a polymer entity, each value is an array of 0-indexed residue indices. Residues must not overlap non_binding_residues on the same chain.

non_binding_residues: Optional[Dict[str, List[int]]]

Polymer chain residues where binder contact should be discouraged. Each key is a chain ID of a polymer entity, each value is an array of 0-indexed residue indices. Residues must not overlap epitope_residues on the same chain.

livemode: bool

Whether this resource was created with a live API key.

pipeline: Literal["boltzprot"]

Pipeline used for protein library screen

pipeline_version: Literal["1.0"]

Pipeline version used for protein library screen

progress: Optional[Progress]
num_proteins_failed: int

Number of accepted proteins that reached terminal failure during screening.

minimum0
num_proteins_screened: int

Number of accepted proteins that produced usable screening results.

minimum0
total_proteins_to_screen: int

Total number of proteins accepted into the screening run.

minimum1
latest_result_id: Optional[str]

ID of the latest result

started_at: Optional[datetime]
formatdate-time
status: Literal["pending", "running", "succeeded", 2 more]
One of the following:
"pending"
"running"
"succeeded"
"failed"
"stopped"
stopped_at: Optional[datetime]
formatdate-time
workspace_id: str

Workspace ID

idempotency_key: Optional[str]

Client-provided idempotency key

class LibraryScreenListResponse:

Summary of a protein library screening pipeline run (excludes input)

id: str

Unique ProteinLibraryScreenSummary identifier

completed_at: Optional[datetime]
formatdate-time
created_at: datetime
formatdate-time
data_deleted_at: Optional[datetime]

When the input, output, and result data was permanently deleted. Null if data has not been deleted.

formatdate-time
Deprecatedengine: Literal["boltzprot"]
Use pipeline instead.

Deprecated. Use pipeline instead.

Deprecatedengine_version: Literal["1.0"]
Use pipeline_version instead.

Deprecated. Use pipeline_version instead.

error: Optional[Error]
code: str

Machine-readable error code

message: str

Human-readable error message

details: Optional[object]

Additional field-level error details keyed by input path, when available.

livemode: bool

Whether this resource was created with a live API key.

pipeline: Literal["boltzprot"]

Pipeline used for protein library screen

pipeline_version: Literal["1.0"]

Pipeline version used for protein library screen

progress: Optional[Progress]
num_proteins_failed: int

Number of accepted proteins that reached terminal failure during screening.

minimum0
num_proteins_screened: int

Number of accepted proteins that produced usable screening results.

minimum0
total_proteins_to_screen: int

Total number of proteins accepted into the screening run.

minimum1
latest_result_id: Optional[str]

ID of the latest result

started_at: Optional[datetime]
formatdate-time
status: Literal["pending", "running", "succeeded", 2 more]
One of the following:
"pending"
"running"
"succeeded"
"failed"
"stopped"
stopped_at: Optional[datetime]
formatdate-time
workspace_id: str

Workspace ID

idempotency_key: Optional[str]

Client-provided idempotency key

class LibraryScreenRetrieveResponse:

A protein library screening pipeline run

id: str

Unique ProteinLibraryScreen identifier

completed_at: Optional[datetime]
formatdate-time
created_at: datetime
formatdate-time
data_deleted_at: Optional[datetime]

When the input, output, and result data was permanently deleted. Null if data has not been deleted.

formatdate-time
Deprecatedengine: Literal["boltzprot"]
Use pipeline instead.

Deprecated. Use pipeline instead.

Deprecatedengine_version: Literal["1.0"]
Use pipeline_version instead.

Deprecated. Use pipeline_version instead.

error: Optional[Error]
code: str

Machine-readable error code

message: str

Human-readable error message

details: Optional[object]

Additional field-level error details keyed by input path, when available.

input: Optional[Input]

Pipeline input (null if data deleted)

proteins: InputProteins
url: str

URL to download the file

formaturi
url_expires_at: datetime

When the presigned URL expires

formatdate-time
target: InputTarget

Target specification (structure template or template-free)

One of the following:
class InputTargetStructureTemplateTargetResponse:

Target defined by an uploaded 3D structure (CIF or PDB file). Only chains included in chain_selection are used.

chain_selection: Dict[str, InputTargetStructureTemplateTargetResponseChainSelection]

Chains selected from the uploaded structure, keyed by chain ID. Only chains listed here are included in the pipeline run — any chains omitted from this mapping are ignored. Each value defines which residues to keep, which are epitope residues, which are non-binding residues, and which are flexible.

One of the following:
class InputTargetStructureTemplateTargetResponseChainSelectionStructureTemplateTargetPolymerChainSpec:

Per-chain specification for a polymer (protein/RNA/DNA) chain in a structure template target.

chain_type: Literal["polymer"]
crop_residues: Union[List[int], Literal["all"]]

0-indexed residue indices to retain from this chain, or ‘all’ to keep all residues. Residues not listed are excluded from the pipeline run.

One of the following:
List[int]

0-indexed residue indices to keep

Literal["all"]
epitope_residues: Optional[List[int]]

0-indexed residue indices where binder contact is desired (the epitope). All indices must be present in crop_residues and must not overlap non_binding_residues.

flexible_residues: Optional[List[int]]

0-indexed residue indices allowed to move during design (e.g. flexible loop regions). All indices must be present in crop_residues.

non_binding_residues: Optional[List[int]]

0-indexed residue indices where binder contact should be discouraged. All indices must be present in crop_residues and must not overlap epitope_residues.

class InputTargetStructureTemplateTargetResponseChainSelectionStructureTemplateTargetLigandChainSpec:

Per-chain specification for a ligand chain in a structure template target. The full ligand is always included.

chain_type: Literal["ligand"]
structure: InputTargetStructureTemplateTargetResponseStructure
url: str

URL to download the file

formaturi
url_expires_at: datetime

When the presigned URL expires

formatdate-time
type: Literal["structure_template"]
class InputTargetNoTemplateTargetResponse:

Target defined by sequences only, without a 3D structure template

entities: List[InputTargetNoTemplateTargetResponseEntity]

Entities (proteins, RNA, DNA, ligands) defining the target complex.

One of the following:
class InputTargetNoTemplateTargetResponseEntityProteinEntityResponse:
chain_ids: List[str]

Chain IDs for this entity

type: Literal["protein"]
value: str

Amino acid sequence (one-letter codes)

cyclic: Optional[bool]

Whether the sequence is cyclic

modifications: Optional[List[InputTargetNoTemplateTargetResponseEntityProteinEntityResponseModification]]

CCD post-translational modifications. Optional; defaults to an empty list when omitted. SMILES modifications are not supported.

residue_index: int

0-based index of the residue to modify

minimum0
type: Literal["ccd"]

Modification format. Only CCD polymer modifications are supported.

value: str

CCD code from RCSB PDB (e.g. ‘MSE’ for selenomethionine, ‘SEP’ for phosphoserine)

class InputTargetNoTemplateTargetResponseEntityRnaEntityResponse:
chain_ids: List[str]

Chain IDs for this entity

type: Literal["rna"]
value: str

RNA nucleotide sequence (A, C, G, U, N)

cyclic: Optional[bool]

Whether the sequence is cyclic

modifications: Optional[List[InputTargetNoTemplateTargetResponseEntityRnaEntityResponseModification]]

CCD chemical modifications. Optional; defaults to an empty list when omitted. SMILES modifications are not supported.

residue_index: int

0-based index of the residue to modify

minimum0
type: Literal["ccd"]

Modification format. Only CCD polymer modifications are supported.

value: str

CCD code from RCSB PDB (e.g. ‘MSE’ for selenomethionine, ‘SEP’ for phosphoserine)

class InputTargetNoTemplateTargetResponseEntityDnaEntityResponse:
chain_ids: List[str]

Chain IDs for this entity

type: Literal["dna"]
value: str

DNA nucleotide sequence (A, C, G, T, N)

cyclic: Optional[bool]

Whether the sequence is cyclic

modifications: Optional[List[InputTargetNoTemplateTargetResponseEntityDnaEntityResponseModification]]

CCD chemical modifications. Optional; defaults to an empty list when omitted. SMILES modifications are not supported.

residue_index: int

0-based index of the residue to modify

minimum0
type: Literal["ccd"]

Modification format. Only CCD polymer modifications are supported.

value: str

CCD code from RCSB PDB (e.g. ‘MSE’ for selenomethionine, ‘SEP’ for phosphoserine)

class InputTargetNoTemplateTargetResponseEntityLigandCcdEntityResponse:
chain_ids: List[str]

Chain IDs for this ligand

type: Literal["ligand_ccd"]
value: str

CCD code (e.g., ATP, ADP)

class InputTargetNoTemplateTargetResponseEntityLigandSmilesEntityResponse:
chain_ids: List[str]

Chain IDs for this ligand

type: Literal["ligand_smiles"]
value: str

SMILES string representing the ligand

type: Literal["no_template"]
bonds: Optional[List[InputTargetNoTemplateTargetResponseBond]]

Covalent bond constraints between atoms in the target complex. Ligand atom references support CCD atom names and explicitly atom-mapped SMILES atoms.

atom1: InputTargetNoTemplateTargetResponseBondAtom1

Ligand atom reference for a CCD atom or an explicitly atom-mapped SMILES atom.

One of the following:
class InputTargetNoTemplateTargetResponseBondAtom1LigandAtomResponse:

Ligand atom reference for a CCD atom or an explicitly atom-mapped SMILES atom.

atom_name: str

Atom name. For ligand_ccd, use the standardized CIF atom name. For ligand_smiles, explicitly label the atom with numeric atom-map notation: [C:1] is referenced as C1 and [O:2] as O2. The resulting name must be unique within the molecule and at most four characters.

chain_id: str

Chain ID containing the atom

type: Literal["ligand_atom"]
class InputTargetNoTemplateTargetResponseBondAtom1PolymerAtomResponse:
atom_name: str

Standardized atom name (verifiable in CIF file on RCSB)

chain_id: str

Chain ID containing the atom

residue_index: int

0-based residue index

minimum0
type: Literal["polymer_atom"]
atom2: InputTargetNoTemplateTargetResponseBondAtom2

Ligand atom reference for a CCD atom or an explicitly atom-mapped SMILES atom.

One of the following:
class InputTargetNoTemplateTargetResponseBondAtom2LigandAtomResponse:

Ligand atom reference for a CCD atom or an explicitly atom-mapped SMILES atom.

atom_name: str

Atom name. For ligand_ccd, use the standardized CIF atom name. For ligand_smiles, explicitly label the atom with numeric atom-map notation: [C:1] is referenced as C1 and [O:2] as O2. The resulting name must be unique within the molecule and at most four characters.

chain_id: str

Chain ID containing the atom

type: Literal["ligand_atom"]
class InputTargetNoTemplateTargetResponseBondAtom2PolymerAtomResponse:
atom_name: str

Standardized atom name (verifiable in CIF file on RCSB)

chain_id: str

Chain ID containing the atom

residue_index: int

0-based residue index

minimum0
type: Literal["polymer_atom"]
constraints: Optional[List[InputTargetNoTemplateTargetResponseConstraint]]

Structural constraints (pocket and contact). Ligand atom references support CCD atom names and explicitly atom-mapped SMILES atoms.

One of the following:
class InputTargetNoTemplateTargetResponseConstraintPocketConstraintResponse:

Constrains the binder to interact with specific pocket residues on the target.

binder_chain_id: str

Chain ID of the binder molecule

contact_residues: Dict[str, List[int]]

Binding pocket residues keyed by chain ID. Each key is a chain ID (e.g. “A”) and the value is an array of 0-indexed residue indices that define the pocket on that chain.

max_distance_angstrom: float

Maximum allowed distance in Angstroms between binder and pocket residues. Typical range: 4-8 A.

type: Literal["pocket"]
force: Optional[bool]

Whether to force the constraint

class InputTargetNoTemplateTargetResponseConstraintContactConstraintResponse:

Maximum-distance contact constraint between two polymer residues or ligand atoms.

max_distance_angstrom: float

Maximum distance in Angstroms

token1: InputTargetNoTemplateTargetResponseConstraintContactConstraintResponseToken1

Ligand contact token for a CCD atom or an explicitly atom-mapped SMILES atom.

One of the following:
class InputTargetNoTemplateTargetResponseConstraintContactConstraintResponseToken1PolymerContactTokenResponse:
chain_id: str

Chain ID

residue_index: int

0-based residue index

minimum0
type: Literal["polymer_contact"]
class InputTargetNoTemplateTargetResponseConstraintContactConstraintResponseToken1LigandContactTokenResponse:

Ligand contact token for a CCD atom or an explicitly atom-mapped SMILES atom.

atom_name: str

Atom name. For ligand_ccd, use the standardized CIF atom name. For ligand_smiles, explicitly label the atom with numeric atom-map notation: [C:1] is referenced as C1 and [O:2] as O2. The resulting name must be unique within the molecule and at most four characters.

chain_id: str

Chain ID

type: Literal["ligand_contact"]
token2: InputTargetNoTemplateTargetResponseConstraintContactConstraintResponseToken2

Ligand contact token for a CCD atom or an explicitly atom-mapped SMILES atom.

One of the following:
class InputTargetNoTemplateTargetResponseConstraintContactConstraintResponseToken2PolymerContactTokenResponse:
chain_id: str

Chain ID

residue_index: int

0-based residue index

minimum0
type: Literal["polymer_contact"]
class InputTargetNoTemplateTargetResponseConstraintContactConstraintResponseToken2LigandContactTokenResponse:

Ligand contact token for a CCD atom or an explicitly atom-mapped SMILES atom.

atom_name: str

Atom name. For ligand_ccd, use the standardized CIF atom name. For ligand_smiles, explicitly label the atom with numeric atom-map notation: [C:1] is referenced as C1 and [O:2] as O2. The resulting name must be unique within the molecule and at most four characters.

chain_id: str

Chain ID

type: Literal["ligand_contact"]
type: Literal["contact"]
force: Optional[bool]

Whether to force the constraint

epitope_ligand_chains: Optional[List[str]]

Chain IDs of ligand entities that are part of the binding epitope. Ligands are marked as epitope in full (no residue-level selection).

epitope_residues: Optional[Dict[str, List[int]]]

Polymer chain residues where binder contact is desired (the epitope). Each key is a chain ID of a polymer entity, each value is an array of 0-indexed residue indices. Residues must not overlap non_binding_residues on the same chain.

non_binding_residues: Optional[Dict[str, List[int]]]

Polymer chain residues where binder contact should be discouraged. Each key is a chain ID of a polymer entity, each value is an array of 0-indexed residue indices. Residues must not overlap epitope_residues on the same chain.

livemode: bool

Whether this resource was created with a live API key.

pipeline: Literal["boltzprot"]

Pipeline used for protein library screen

pipeline_version: Literal["1.0"]

Pipeline version used for protein library screen

progress: Optional[Progress]
num_proteins_failed: int

Number of accepted proteins that reached terminal failure during screening.

minimum0
num_proteins_screened: int

Number of accepted proteins that produced usable screening results.

minimum0
total_proteins_to_screen: int

Total number of proteins accepted into the screening run.

minimum1
latest_result_id: Optional[str]

ID of the latest result

started_at: Optional[datetime]
formatdate-time
status: Literal["pending", "running", "succeeded", 2 more]
One of the following:
"pending"
"running"
"succeeded"
"failed"
"stopped"
stopped_at: Optional[datetime]
formatdate-time
workspace_id: str

Workspace ID

idempotency_key: Optional[str]

Client-provided idempotency key

class LibraryScreenListResultsResponse:

Result for a single screened protein

id: str

Unique result ID

artifacts: Artifacts
archive: ArtifactsArchive
url: str

URL to download the file

formaturi
url_expires_at: datetime

When the presigned URL expires

formatdate-time
structure: ArtifactsStructure
url: str

URL to download the file

formaturi
url_expires_at: datetime

When the presigned URL expires

formatdate-time
created_at: datetime
formatdate-time
entities: List[Entity]

Entities of the screened complex. Includes both screened and fixed entities from the input.

One of the following:
class EntityProteinEntity:
chain_ids: List[str]

Chain IDs for this entity

type: Literal["protein"]
value: str

Amino acid sequence (one-letter codes)

cyclic: Optional[bool]

Whether the sequence is cyclic

modifications: Optional[List[EntityProteinEntityModification]]

CCD post-translational modifications. Optional; defaults to an empty list when omitted. SMILES modifications are not supported.

residue_index: int

0-based index of the residue to modify

minimum0
type: Literal["ccd"]

Modification format. Only CCD polymer modifications are supported.

value: str

CCD code from RCSB PDB (e.g. ‘MSE’ for selenomethionine, ‘SEP’ for phosphoserine)

class EntityRnaEntity:
chain_ids: List[str]

Chain IDs for this entity

type: Literal["rna"]
value: str

RNA nucleotide sequence (A, C, G, U, N)

cyclic: Optional[bool]

Whether the sequence is cyclic

modifications: Optional[List[EntityRnaEntityModification]]

CCD chemical modifications. Optional; defaults to an empty list when omitted. SMILES modifications are not supported.

residue_index: int

0-based index of the residue to modify

minimum0
type: Literal["ccd"]

Modification format. Only CCD polymer modifications are supported.

value: str

CCD code from RCSB PDB (e.g. ‘MSE’ for selenomethionine, ‘SEP’ for phosphoserine)

class EntityDnaEntity:
chain_ids: List[str]

Chain IDs for this entity

type: Literal["dna"]
value: str

DNA nucleotide sequence (A, C, G, T, N)

cyclic: Optional[bool]

Whether the sequence is cyclic

modifications: Optional[List[EntityDnaEntityModification]]

CCD chemical modifications. Optional; defaults to an empty list when omitted. SMILES modifications are not supported.

residue_index: int

0-based index of the residue to modify

minimum0
type: Literal["ccd"]

Modification format. Only CCD polymer modifications are supported.

value: str

CCD code from RCSB PDB (e.g. ‘MSE’ for selenomethionine, ‘SEP’ for phosphoserine)

class EntityLigandCcdEntity:
chain_ids: List[str]

Chain IDs for this ligand

type: Literal["ligand_ccd"]
value: str

CCD code (e.g., ATP, ADP)

class EntityLigandSmilesEntity:
chain_ids: List[str]

Chain IDs for this ligand

type: Literal["ligand_smiles"]
value: str

SMILES string representing the ligand

metrics: Metrics

Structural and binding quality metrics for a screened protein

binding_confidence: float

Confidence that the protein binds the target (0-1). Primary metric for hit discovery.

helix_fraction: float

Fraction of the sequence forming alpha helices (0-1).

iptm: float

Interface predicted TM score (0-1). Confidence in the protein-protein interface.

loop_fraction: float

Fraction of the sequence in coil/loop regions (0-1).

min_interaction_pae: float

Minimum predicted aligned error at the interface (Angstroms). Lower values indicate higher confidence.

sheet_fraction: float

Fraction of the sequence forming beta sheets (0-1).

structure_confidence: float

Confidence in the predicted 3D structure (0-1).

external_id: Optional[str]

Client-provided identifier for this protein, if provided

warnings: Optional[List[Warning]]

Warnings about potential quality issues with this result.

code: str

Machine-readable warning code (e.g. “low_confidence”, “unusual_geometry”)

message: str

Human-readable description of the warning

class LibraryScreenStopResponse:

A protein library screening pipeline run

id: str

Unique ProteinLibraryScreen identifier

completed_at: Optional[datetime]
formatdate-time
created_at: datetime
formatdate-time
data_deleted_at: Optional[datetime]

When the input, output, and result data was permanently deleted. Null if data has not been deleted.

formatdate-time
Deprecatedengine: Literal["boltzprot"]
Use pipeline instead.

Deprecated. Use pipeline instead.

Deprecatedengine_version: Literal["1.0"]
Use pipeline_version instead.

Deprecated. Use pipeline_version instead.

error: Optional[Error]
code: str

Machine-readable error code

message: str

Human-readable error message

details: Optional[object]

Additional field-level error details keyed by input path, when available.

input: Optional[Input]

Pipeline input (null if data deleted)

proteins: InputProteins
url: str

URL to download the file

formaturi
url_expires_at: datetime

When the presigned URL expires

formatdate-time
target: InputTarget

Target specification (structure template or template-free)

One of the following:
class InputTargetStructureTemplateTargetResponse:

Target defined by an uploaded 3D structure (CIF or PDB file). Only chains included in chain_selection are used.

chain_selection: Dict[str, InputTargetStructureTemplateTargetResponseChainSelection]

Chains selected from the uploaded structure, keyed by chain ID. Only chains listed here are included in the pipeline run — any chains omitted from this mapping are ignored. Each value defines which residues to keep, which are epitope residues, which are non-binding residues, and which are flexible.

One of the following:
class InputTargetStructureTemplateTargetResponseChainSelectionStructureTemplateTargetPolymerChainSpec:

Per-chain specification for a polymer (protein/RNA/DNA) chain in a structure template target.

chain_type: Literal["polymer"]
crop_residues: Union[List[int], Literal["all"]]

0-indexed residue indices to retain from this chain, or ‘all’ to keep all residues. Residues not listed are excluded from the pipeline run.

One of the following:
List[int]

0-indexed residue indices to keep

Literal["all"]
epitope_residues: Optional[List[int]]

0-indexed residue indices where binder contact is desired (the epitope). All indices must be present in crop_residues and must not overlap non_binding_residues.

flexible_residues: Optional[List[int]]

0-indexed residue indices allowed to move during design (e.g. flexible loop regions). All indices must be present in crop_residues.

non_binding_residues: Optional[List[int]]

0-indexed residue indices where binder contact should be discouraged. All indices must be present in crop_residues and must not overlap epitope_residues.

class InputTargetStructureTemplateTargetResponseChainSelectionStructureTemplateTargetLigandChainSpec:

Per-chain specification for a ligand chain in a structure template target. The full ligand is always included.

chain_type: Literal["ligand"]
structure: InputTargetStructureTemplateTargetResponseStructure
url: str

URL to download the file

formaturi
url_expires_at: datetime

When the presigned URL expires

formatdate-time
type: Literal["structure_template"]
class InputTargetNoTemplateTargetResponse:

Target defined by sequences only, without a 3D structure template

entities: List[InputTargetNoTemplateTargetResponseEntity]

Entities (proteins, RNA, DNA, ligands) defining the target complex.

One of the following:
class InputTargetNoTemplateTargetResponseEntityProteinEntityResponse:
chain_ids: List[str]

Chain IDs for this entity

type: Literal["protein"]
value: str

Amino acid sequence (one-letter codes)

cyclic: Optional[bool]

Whether the sequence is cyclic

modifications: Optional[List[InputTargetNoTemplateTargetResponseEntityProteinEntityResponseModification]]

CCD post-translational modifications. Optional; defaults to an empty list when omitted. SMILES modifications are not supported.

residue_index: int

0-based index of the residue to modify

minimum0
type: Literal["ccd"]

Modification format. Only CCD polymer modifications are supported.

value: str

CCD code from RCSB PDB (e.g. ‘MSE’ for selenomethionine, ‘SEP’ for phosphoserine)

class InputTargetNoTemplateTargetResponseEntityRnaEntityResponse:
chain_ids: List[str]

Chain IDs for this entity

type: Literal["rna"]
value: str

RNA nucleotide sequence (A, C, G, U, N)

cyclic: Optional[bool]

Whether the sequence is cyclic

modifications: Optional[List[InputTargetNoTemplateTargetResponseEntityRnaEntityResponseModification]]

CCD chemical modifications. Optional; defaults to an empty list when omitted. SMILES modifications are not supported.

residue_index: int

0-based index of the residue to modify

minimum0
type: Literal["ccd"]

Modification format. Only CCD polymer modifications are supported.

value: str

CCD code from RCSB PDB (e.g. ‘MSE’ for selenomethionine, ‘SEP’ for phosphoserine)

class InputTargetNoTemplateTargetResponseEntityDnaEntityResponse:
chain_ids: List[str]

Chain IDs for this entity

type: Literal["dna"]
value: str

DNA nucleotide sequence (A, C, G, T, N)

cyclic: Optional[bool]

Whether the sequence is cyclic

modifications: Optional[List[InputTargetNoTemplateTargetResponseEntityDnaEntityResponseModification]]

CCD chemical modifications. Optional; defaults to an empty list when omitted. SMILES modifications are not supported.

residue_index: int

0-based index of the residue to modify

minimum0
type: Literal["ccd"]

Modification format. Only CCD polymer modifications are supported.

value: str

CCD code from RCSB PDB (e.g. ‘MSE’ for selenomethionine, ‘SEP’ for phosphoserine)

class InputTargetNoTemplateTargetResponseEntityLigandCcdEntityResponse:
chain_ids: List[str]

Chain IDs for this ligand

type: Literal["ligand_ccd"]
value: str

CCD code (e.g., ATP, ADP)

class InputTargetNoTemplateTargetResponseEntityLigandSmilesEntityResponse:
chain_ids: List[str]

Chain IDs for this ligand

type: Literal["ligand_smiles"]
value: str

SMILES string representing the ligand

type: Literal["no_template"]
bonds: Optional[List[InputTargetNoTemplateTargetResponseBond]]

Covalent bond constraints between atoms in the target complex. Ligand atom references support CCD atom names and explicitly atom-mapped SMILES atoms.

atom1: InputTargetNoTemplateTargetResponseBondAtom1

Ligand atom reference for a CCD atom or an explicitly atom-mapped SMILES atom.

One of the following:
class InputTargetNoTemplateTargetResponseBondAtom1LigandAtomResponse:

Ligand atom reference for a CCD atom or an explicitly atom-mapped SMILES atom.

atom_name: str

Atom name. For ligand_ccd, use the standardized CIF atom name. For ligand_smiles, explicitly label the atom with numeric atom-map notation: [C:1] is referenced as C1 and [O:2] as O2. The resulting name must be unique within the molecule and at most four characters.

chain_id: str

Chain ID containing the atom

type: Literal["ligand_atom"]
class InputTargetNoTemplateTargetResponseBondAtom1PolymerAtomResponse:
atom_name: str

Standardized atom name (verifiable in CIF file on RCSB)

chain_id: str

Chain ID containing the atom

residue_index: int

0-based residue index

minimum0
type: Literal["polymer_atom"]
atom2: InputTargetNoTemplateTargetResponseBondAtom2

Ligand atom reference for a CCD atom or an explicitly atom-mapped SMILES atom.

One of the following:
class InputTargetNoTemplateTargetResponseBondAtom2LigandAtomResponse:

Ligand atom reference for a CCD atom or an explicitly atom-mapped SMILES atom.

atom_name: str

Atom name. For ligand_ccd, use the standardized CIF atom name. For ligand_smiles, explicitly label the atom with numeric atom-map notation: [C:1] is referenced as C1 and [O:2] as O2. The resulting name must be unique within the molecule and at most four characters.

chain_id: str

Chain ID containing the atom

type: Literal["ligand_atom"]
class InputTargetNoTemplateTargetResponseBondAtom2PolymerAtomResponse:
atom_name: str

Standardized atom name (verifiable in CIF file on RCSB)

chain_id: str

Chain ID containing the atom

residue_index: int

0-based residue index

minimum0
type: Literal["polymer_atom"]
constraints: Optional[List[InputTargetNoTemplateTargetResponseConstraint]]

Structural constraints (pocket and contact). Ligand atom references support CCD atom names and explicitly atom-mapped SMILES atoms.

One of the following:
class InputTargetNoTemplateTargetResponseConstraintPocketConstraintResponse:

Constrains the binder to interact with specific pocket residues on the target.

binder_chain_id: str

Chain ID of the binder molecule

contact_residues: Dict[str, List[int]]

Binding pocket residues keyed by chain ID. Each key is a chain ID (e.g. “A”) and the value is an array of 0-indexed residue indices that define the pocket on that chain.

max_distance_angstrom: float

Maximum allowed distance in Angstroms between binder and pocket residues. Typical range: 4-8 A.

type: Literal["pocket"]
force: Optional[bool]

Whether to force the constraint

class InputTargetNoTemplateTargetResponseConstraintContactConstraintResponse:

Maximum-distance contact constraint between two polymer residues or ligand atoms.

max_distance_angstrom: float

Maximum distance in Angstroms

token1: InputTargetNoTemplateTargetResponseConstraintContactConstraintResponseToken1

Ligand contact token for a CCD atom or an explicitly atom-mapped SMILES atom.

One of the following:
class InputTargetNoTemplateTargetResponseConstraintContactConstraintResponseToken1PolymerContactTokenResponse:
chain_id: str

Chain ID

residue_index: int

0-based residue index

minimum0
type: Literal["polymer_contact"]
class InputTargetNoTemplateTargetResponseConstraintContactConstraintResponseToken1LigandContactTokenResponse:

Ligand contact token for a CCD atom or an explicitly atom-mapped SMILES atom.

atom_name: str

Atom name. For ligand_ccd, use the standardized CIF atom name. For ligand_smiles, explicitly label the atom with numeric atom-map notation: [C:1] is referenced as C1 and [O:2] as O2. The resulting name must be unique within the molecule and at most four characters.

chain_id: str

Chain ID

type: Literal["ligand_contact"]
token2: InputTargetNoTemplateTargetResponseConstraintContactConstraintResponseToken2

Ligand contact token for a CCD atom or an explicitly atom-mapped SMILES atom.

One of the following:
class InputTargetNoTemplateTargetResponseConstraintContactConstraintResponseToken2PolymerContactTokenResponse:
chain_id: str

Chain ID

residue_index: int

0-based residue index

minimum0
type: Literal["polymer_contact"]
class InputTargetNoTemplateTargetResponseConstraintContactConstraintResponseToken2LigandContactTokenResponse:

Ligand contact token for a CCD atom or an explicitly atom-mapped SMILES atom.

atom_name: str

Atom name. For ligand_ccd, use the standardized CIF atom name. For ligand_smiles, explicitly label the atom with numeric atom-map notation: [C:1] is referenced as C1 and [O:2] as O2. The resulting name must be unique within the molecule and at most four characters.

chain_id: str

Chain ID

type: Literal["ligand_contact"]
type: Literal["contact"]
force: Optional[bool]

Whether to force the constraint

epitope_ligand_chains: Optional[List[str]]

Chain IDs of ligand entities that are part of the binding epitope. Ligands are marked as epitope in full (no residue-level selection).

epitope_residues: Optional[Dict[str, List[int]]]

Polymer chain residues where binder contact is desired (the epitope). Each key is a chain ID of a polymer entity, each value is an array of 0-indexed residue indices. Residues must not overlap non_binding_residues on the same chain.

non_binding_residues: Optional[Dict[str, List[int]]]

Polymer chain residues where binder contact should be discouraged. Each key is a chain ID of a polymer entity, each value is an array of 0-indexed residue indices. Residues must not overlap epitope_residues on the same chain.

livemode: bool

Whether this resource was created with a live API key.

pipeline: Literal["boltzprot"]

Pipeline used for protein library screen

pipeline_version: Literal["1.0"]

Pipeline version used for protein library screen

progress: Optional[Progress]
num_proteins_failed: int

Number of accepted proteins that reached terminal failure during screening.

minimum0
num_proteins_screened: int

Number of accepted proteins that produced usable screening results.

minimum0
total_proteins_to_screen: int

Total number of proteins accepted into the screening run.

minimum1
latest_result_id: Optional[str]

ID of the latest result

started_at: Optional[datetime]
formatdate-time
status: Literal["pending", "running", "succeeded", 2 more]
One of the following:
"pending"
"running"
"succeeded"
"failed"
"stopped"
stopped_at: Optional[datetime]
formatdate-time
workspace_id: str

Workspace ID

idempotency_key: Optional[str]

Client-provided idempotency key

class LibraryScreenResumeResponse:

A protein library screening pipeline run

id: str

Unique ProteinLibraryScreen identifier

completed_at: Optional[datetime]
formatdate-time
created_at: datetime
formatdate-time
data_deleted_at: Optional[datetime]

When the input, output, and result data was permanently deleted. Null if data has not been deleted.

formatdate-time
Deprecatedengine: Literal["boltzprot"]
Use pipeline instead.

Deprecated. Use pipeline instead.

Deprecatedengine_version: Literal["1.0"]
Use pipeline_version instead.

Deprecated. Use pipeline_version instead.

error: Optional[Error]
code: str

Machine-readable error code

message: str

Human-readable error message

details: Optional[object]

Additional field-level error details keyed by input path, when available.

input: Optional[Input]

Pipeline input (null if data deleted)

proteins: InputProteins
url: str

URL to download the file

formaturi
url_expires_at: datetime

When the presigned URL expires

formatdate-time
target: InputTarget

Target specification (structure template or template-free)

One of the following:
class InputTargetStructureTemplateTargetResponse:

Target defined by an uploaded 3D structure (CIF or PDB file). Only chains included in chain_selection are used.

chain_selection: Dict[str, InputTargetStructureTemplateTargetResponseChainSelection]

Chains selected from the uploaded structure, keyed by chain ID. Only chains listed here are included in the pipeline run — any chains omitted from this mapping are ignored. Each value defines which residues to keep, which are epitope residues, which are non-binding residues, and which are flexible.

One of the following:
class InputTargetStructureTemplateTargetResponseChainSelectionStructureTemplateTargetPolymerChainSpec:

Per-chain specification for a polymer (protein/RNA/DNA) chain in a structure template target.

chain_type: Literal["polymer"]
crop_residues: Union[List[int], Literal["all"]]

0-indexed residue indices to retain from this chain, or ‘all’ to keep all residues. Residues not listed are excluded from the pipeline run.

One of the following:
List[int]

0-indexed residue indices to keep

Literal["all"]
epitope_residues: Optional[List[int]]

0-indexed residue indices where binder contact is desired (the epitope). All indices must be present in crop_residues and must not overlap non_binding_residues.

flexible_residues: Optional[List[int]]

0-indexed residue indices allowed to move during design (e.g. flexible loop regions). All indices must be present in crop_residues.

non_binding_residues: Optional[List[int]]

0-indexed residue indices where binder contact should be discouraged. All indices must be present in crop_residues and must not overlap epitope_residues.

class InputTargetStructureTemplateTargetResponseChainSelectionStructureTemplateTargetLigandChainSpec:

Per-chain specification for a ligand chain in a structure template target. The full ligand is always included.

chain_type: Literal["ligand"]
structure: InputTargetStructureTemplateTargetResponseStructure
url: str

URL to download the file

formaturi
url_expires_at: datetime

When the presigned URL expires

formatdate-time
type: Literal["structure_template"]
class InputTargetNoTemplateTargetResponse:

Target defined by sequences only, without a 3D structure template

entities: List[InputTargetNoTemplateTargetResponseEntity]

Entities (proteins, RNA, DNA, ligands) defining the target complex.

One of the following:
class InputTargetNoTemplateTargetResponseEntityProteinEntityResponse:
chain_ids: List[str]

Chain IDs for this entity

type: Literal["protein"]
value: str

Amino acid sequence (one-letter codes)

cyclic: Optional[bool]

Whether the sequence is cyclic

modifications: Optional[List[InputTargetNoTemplateTargetResponseEntityProteinEntityResponseModification]]

CCD post-translational modifications. Optional; defaults to an empty list when omitted. SMILES modifications are not supported.

residue_index: int

0-based index of the residue to modify

minimum0
type: Literal["ccd"]

Modification format. Only CCD polymer modifications are supported.

value: str

CCD code from RCSB PDB (e.g. ‘MSE’ for selenomethionine, ‘SEP’ for phosphoserine)

class InputTargetNoTemplateTargetResponseEntityRnaEntityResponse:
chain_ids: List[str]

Chain IDs for this entity

type: Literal["rna"]
value: str

RNA nucleotide sequence (A, C, G, U, N)

cyclic: Optional[bool]

Whether the sequence is cyclic

modifications: Optional[List[InputTargetNoTemplateTargetResponseEntityRnaEntityResponseModification]]

CCD chemical modifications. Optional; defaults to an empty list when omitted. SMILES modifications are not supported.

residue_index: int

0-based index of the residue to modify

minimum0
type: Literal["ccd"]

Modification format. Only CCD polymer modifications are supported.

value: str

CCD code from RCSB PDB (e.g. ‘MSE’ for selenomethionine, ‘SEP’ for phosphoserine)

class InputTargetNoTemplateTargetResponseEntityDnaEntityResponse:
chain_ids: List[str]

Chain IDs for this entity

type: Literal["dna"]
value: str

DNA nucleotide sequence (A, C, G, T, N)

cyclic: Optional[bool]

Whether the sequence is cyclic

modifications: Optional[List[InputTargetNoTemplateTargetResponseEntityDnaEntityResponseModification]]

CCD chemical modifications. Optional; defaults to an empty list when omitted. SMILES modifications are not supported.

residue_index: int

0-based index of the residue to modify

minimum0
type: Literal["ccd"]

Modification format. Only CCD polymer modifications are supported.

value: str

CCD code from RCSB PDB (e.g. ‘MSE’ for selenomethionine, ‘SEP’ for phosphoserine)

class InputTargetNoTemplateTargetResponseEntityLigandCcdEntityResponse:
chain_ids: List[str]

Chain IDs for this ligand

type: Literal["ligand_ccd"]
value: str

CCD code (e.g., ATP, ADP)

class InputTargetNoTemplateTargetResponseEntityLigandSmilesEntityResponse:
chain_ids: List[str]

Chain IDs for this ligand

type: Literal["ligand_smiles"]
value: str

SMILES string representing the ligand

type: Literal["no_template"]
bonds: Optional[List[InputTargetNoTemplateTargetResponseBond]]

Covalent bond constraints between atoms in the target complex. Ligand atom references support CCD atom names and explicitly atom-mapped SMILES atoms.

atom1: InputTargetNoTemplateTargetResponseBondAtom1

Ligand atom reference for a CCD atom or an explicitly atom-mapped SMILES atom.

One of the following:
class InputTargetNoTemplateTargetResponseBondAtom1LigandAtomResponse:

Ligand atom reference for a CCD atom or an explicitly atom-mapped SMILES atom.

atom_name: str

Atom name. For ligand_ccd, use the standardized CIF atom name. For ligand_smiles, explicitly label the atom with numeric atom-map notation: [C:1] is referenced as C1 and [O:2] as O2. The resulting name must be unique within the molecule and at most four characters.

chain_id: str

Chain ID containing the atom

type: Literal["ligand_atom"]
class InputTargetNoTemplateTargetResponseBondAtom1PolymerAtomResponse:
atom_name: str

Standardized atom name (verifiable in CIF file on RCSB)

chain_id: str

Chain ID containing the atom

residue_index: int

0-based residue index

minimum0
type: Literal["polymer_atom"]
atom2: InputTargetNoTemplateTargetResponseBondAtom2

Ligand atom reference for a CCD atom or an explicitly atom-mapped SMILES atom.

One of the following:
class InputTargetNoTemplateTargetResponseBondAtom2LigandAtomResponse:

Ligand atom reference for a CCD atom or an explicitly atom-mapped SMILES atom.

atom_name: str

Atom name. For ligand_ccd, use the standardized CIF atom name. For ligand_smiles, explicitly label the atom with numeric atom-map notation: [C:1] is referenced as C1 and [O:2] as O2. The resulting name must be unique within the molecule and at most four characters.

chain_id: str

Chain ID containing the atom

type: Literal["ligand_atom"]
class InputTargetNoTemplateTargetResponseBondAtom2PolymerAtomResponse:
atom_name: str

Standardized atom name (verifiable in CIF file on RCSB)

chain_id: str

Chain ID containing the atom

residue_index: int

0-based residue index

minimum0
type: Literal["polymer_atom"]
constraints: Optional[List[InputTargetNoTemplateTargetResponseConstraint]]

Structural constraints (pocket and contact). Ligand atom references support CCD atom names and explicitly atom-mapped SMILES atoms.

One of the following:
class InputTargetNoTemplateTargetResponseConstraintPocketConstraintResponse:

Constrains the binder to interact with specific pocket residues on the target.

binder_chain_id: str

Chain ID of the binder molecule

contact_residues: Dict[str, List[int]]

Binding pocket residues keyed by chain ID. Each key is a chain ID (e.g. “A”) and the value is an array of 0-indexed residue indices that define the pocket on that chain.

max_distance_angstrom: float

Maximum allowed distance in Angstroms between binder and pocket residues. Typical range: 4-8 A.

type: Literal["pocket"]
force: Optional[bool]

Whether to force the constraint

class InputTargetNoTemplateTargetResponseConstraintContactConstraintResponse:

Maximum-distance contact constraint between two polymer residues or ligand atoms.

max_distance_angstrom: float

Maximum distance in Angstroms

token1: InputTargetNoTemplateTargetResponseConstraintContactConstraintResponseToken1

Ligand contact token for a CCD atom or an explicitly atom-mapped SMILES atom.

One of the following:
class InputTargetNoTemplateTargetResponseConstraintContactConstraintResponseToken1PolymerContactTokenResponse:
chain_id: str

Chain ID

residue_index: int

0-based residue index

minimum0
type: Literal["polymer_contact"]
class InputTargetNoTemplateTargetResponseConstraintContactConstraintResponseToken1LigandContactTokenResponse:

Ligand contact token for a CCD atom or an explicitly atom-mapped SMILES atom.

atom_name: str

Atom name. For ligand_ccd, use the standardized CIF atom name. For ligand_smiles, explicitly label the atom with numeric atom-map notation: [C:1] is referenced as C1 and [O:2] as O2. The resulting name must be unique within the molecule and at most four characters.

chain_id: str

Chain ID

type: Literal["ligand_contact"]
token2: InputTargetNoTemplateTargetResponseConstraintContactConstraintResponseToken2

Ligand contact token for a CCD atom or an explicitly atom-mapped SMILES atom.

One of the following:
class InputTargetNoTemplateTargetResponseConstraintContactConstraintResponseToken2PolymerContactTokenResponse:
chain_id: str

Chain ID

residue_index: int

0-based residue index

minimum0
type: Literal["polymer_contact"]
class InputTargetNoTemplateTargetResponseConstraintContactConstraintResponseToken2LigandContactTokenResponse:

Ligand contact token for a CCD atom or an explicitly atom-mapped SMILES atom.

atom_name: str

Atom name. For ligand_ccd, use the standardized CIF atom name. For ligand_smiles, explicitly label the atom with numeric atom-map notation: [C:1] is referenced as C1 and [O:2] as O2. The resulting name must be unique within the molecule and at most four characters.

chain_id: str

Chain ID

type: Literal["ligand_contact"]
type: Literal["contact"]
force: Optional[bool]

Whether to force the constraint

epitope_ligand_chains: Optional[List[str]]

Chain IDs of ligand entities that are part of the binding epitope. Ligands are marked as epitope in full (no residue-level selection).

epitope_residues: Optional[Dict[str, List[int]]]

Polymer chain residues where binder contact is desired (the epitope). Each key is a chain ID of a polymer entity, each value is an array of 0-indexed residue indices. Residues must not overlap non_binding_residues on the same chain.

non_binding_residues: Optional[Dict[str, List[int]]]

Polymer chain residues where binder contact should be discouraged. Each key is a chain ID of a polymer entity, each value is an array of 0-indexed residue indices. Residues must not overlap epitope_residues on the same chain.

livemode: bool

Whether this resource was created with a live API key.

pipeline: Literal["boltzprot"]

Pipeline used for protein library screen

pipeline_version: Literal["1.0"]

Pipeline version used for protein library screen

progress: Optional[Progress]
num_proteins_failed: int

Number of accepted proteins that reached terminal failure during screening.

minimum0
num_proteins_screened: int

Number of accepted proteins that produced usable screening results.

minimum0
total_proteins_to_screen: int

Total number of proteins accepted into the screening run.

minimum1
latest_result_id: Optional[str]

ID of the latest result

started_at: Optional[datetime]
formatdate-time
status: Literal["pending", "running", "succeeded", 2 more]
One of the following:
"pending"
"running"
"succeeded"
"failed"
"stopped"
stopped_at: Optional[datetime]
formatdate-time
workspace_id: str

Workspace ID

idempotency_key: Optional[str]

Client-provided idempotency key

class LibraryScreenDeleteDataResponse:
id: str

ID of the resource whose data was deleted

data_deleted: Literal[true]
data_deleted_at: datetime

When the data was deleted

formatdate-time
class LibraryScreenEstimateCostResponse:

Estimate response with monetary values encoded as decimal strings to preserve precision.

breakdown: Breakdown

Cost breakdown for the billed application.

application: Literal["structure_and_binding", "small_molecule_design", "small_molecule_library_screen", 4 more]
One of the following:
"structure_and_binding"
"small_molecule_design"
"small_molecule_library_screen"
"protein_design"
"protein_redesign"
"protein_library_screen"
"adme"
cost_per_unit_usd: str

Estimated cost per displayed unit as a decimal string, rounded up to 4 decimal places. This may include token-size multipliers or generation overhead; estimated_cost_usd is the authoritative total.

num_units: int

Number of billable units in the estimate. The unit depends on the endpoint: samples for structure-and-binding, molecules for ADME, and requested proteins or molecules for design/screen endpoints.

disclaimer: str
estimated_cost_usd: str

Estimated total cost as a decimal string

Run
client.protein.design.run(*, binder_specification: protein_design_start_params.BinderSpecification, num_proteins: int, target: protein_design_start_params.Target, root_dir: str | PathLike[str], name: str | None, workspace_id: str | Omit, download_mode: DownloadMode | str | None, quiet: bool, poll_interval_seconds: float) -> Path
FunctionSDK workflow
Run
client.protein.library_screen.run(*, proteins: Iterable[protein_library_screen_start_params.Protein], target: protein_library_screen_start_params.Target, root_dir: str | PathLike[str], name: str | None, workspace_id: str | Omit, download_mode: DownloadMode | str | None, quiet: bool, poll_interval_seconds: float) -> Path
FunctionSDK workflow