## Resume a stopped protein design run

**post** `/compute/v1/protein/design/{id}/resume`

Resume a stopped protein design run from its last checkpoint

### Path Parameters

- `id: string`

### Returns

- `id: string`

  Unique ProteinDesignRun identifier

- `completed_at: string`

- `created_at: string`

- `data_deleted_at: string`

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

- `engine: "boltzprot"`

  Deprecated. Use pipeline instead.

  - `"boltzprot"`

- `engine_version: "1.0"`

  Deprecated. Use pipeline_version instead.

  - `"1.0"`

- `error: object { code, message, details }`

  - `code: string`

    Machine-readable error code

  - `message: string`

    Human-readable error message

  - `details: optional unknown`

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

- `input: object { binder_specification, num_proteins, target, 2 more }`

  Pipeline input (null if data deleted)

  - `binder_specification: object { chain_selection, modality, structure, 2 more }  or object { entities, modality, type, 2 more }  or object { binder, type, rules }  or object { binder_specifications, type }`

    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.

    - `StructureTemplateBinderSpecResponse object { chain_selection, modality, structure, 2 more }`

      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: map[object { chain_type, crop_residues, design_motifs }  or object { chain_type } ]`

        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.

        - `StructureTemplatePolymerChainSpec object { chain_type, crop_residues, design_motifs }`

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

          - `chain_type: "polymer"`

            - `"polymer"`

          - `crop_residues: array of number or "all"`

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

            - `array of number`

            - `"all"`

              - `"all"`

          - `design_motifs: optional array of object { design_length_range, end_index, start_index, type }  or object { after_residue_index, design_length_range, type }`

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

            - `ReplacementMotif object { design_length_range, end_index, start_index, type }`

              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: object { max, min }`

                Allowed sequence length range for designed regions

                - `max: number`

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

                - `min: number`

                  Minimum sequence length in residues

              - `end_index: number`

                0-indexed end residue (inclusive)

              - `start_index: number`

                0-indexed start residue (inclusive)

              - `type: "replacement"`

                - `"replacement"`

            - `InsertionMotif object { after_residue_index, design_length_range, type }`

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

              - `after_residue_index: number`

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

              - `design_length_range: object { max, min }`

                Allowed sequence length range for designed regions

                - `max: number`

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

                - `min: number`

                  Minimum sequence length in residues

              - `type: "insertion"`

                - `"insertion"`

        - `StructureTemplateLigandChainSpec object { chain_type }`

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

          - `chain_type: "ligand"`

            - `"ligand"`

      - `modality: "peptide" or "antibody" or "nanobody" or "custom_protein"`

        - `"peptide"`

        - `"antibody"`

        - `"nanobody"`

        - `"custom_protein"`

      - `structure: object { url, url_expires_at }`

        - `url: string`

          URL to download the file

        - `url_expires_at: string`

          When the presigned URL expires

      - `type: "structure_template"`

        - `"structure_template"`

      - `rules: optional object { excluded_amino_acids, excluded_sequence_motifs, max_hydrophobic_fraction }`

        Constraints applied during sequence design

        - `excluded_amino_acids: optional array of string`

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

        - `excluded_sequence_motifs: optional array of string`

          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 number`

          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.

    - `NoTemplateBinderSpecResponse object { entities, modality, type, 2 more }`

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

      - `entities: array of object { chain_ids, type, value, 2 more }  or object { chain_ids, type, value, 2 more }  or object { chain_ids, type, value, 2 more }  or 3 more`

        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.

        - `DesignedProteinEntityResponse object { chain_ids, type, value, 2 more }`

          Protein binder entity with designed and/or fixed segments.

          - `chain_ids: array of string`

            Chain IDs to assign to this entity

          - `type: "designed_protein"`

            - `"designed_protein"`

          - `value: string`

            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 boolean`

            Whether the sequence is cyclic

          - `modifications: optional array of object { residue_index, type, value }`

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

            - `residue_index: number`

              0-based index of the residue to modify

            - `type: "ccd"`

              Modification format. Only CCD polymer modifications are supported.

              - `"ccd"`

            - `value: string`

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

        - `FixedProteinEntityResponse object { chain_ids, type, value, 2 more }`

          A fixed protein entity whose sequence is not redesigned.

          - `chain_ids: array of string`

            Chain IDs to assign to this entity

          - `type: "protein"`

            - `"protein"`

          - `value: string`

            Amino acid sequence (one-letter codes)

          - `cyclic: optional boolean`

            Whether the sequence is cyclic

          - `modifications: optional array of object { residue_index, type, value }`

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

            - `residue_index: number`

              0-based index of the residue to modify

            - `type: "ccd"`

              Modification format. Only CCD polymer modifications are supported.

              - `"ccd"`

            - `value: string`

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

        - `FixedRnaEntityResponse object { chain_ids, type, value, 2 more }`

          - `chain_ids: array of string`

            Chain IDs to assign to this entity

          - `type: "rna"`

            - `"rna"`

          - `value: string`

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

          - `cyclic: optional boolean`

            Whether the sequence is cyclic

          - `modifications: optional array of object { residue_index, type, value }`

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

            - `residue_index: number`

              0-based index of the residue to modify

            - `type: "ccd"`

              Modification format. Only CCD polymer modifications are supported.

              - `"ccd"`

            - `value: string`

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

        - `FixedDnaEntityResponse object { chain_ids, type, value, 2 more }`

          - `chain_ids: array of string`

            Chain IDs to assign to this entity

          - `type: "dna"`

            - `"dna"`

          - `value: string`

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

          - `cyclic: optional boolean`

            Whether the sequence is cyclic

          - `modifications: optional array of object { residue_index, type, value }`

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

            - `residue_index: number`

              0-based index of the residue to modify

            - `type: "ccd"`

              Modification format. Only CCD polymer modifications are supported.

              - `"ccd"`

            - `value: string`

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

        - `FixedLigandSmilesEntityResponse object { chain_ids, type, value }`

          - `chain_ids: array of string`

            Chain IDs to assign to this entity

          - `type: "ligand_smiles"`

            - `"ligand_smiles"`

          - `value: string`

            SMILES string representing the ligand

        - `FixedLigandCcdEntityResponse object { chain_ids, type, value }`

          - `chain_ids: array of string`

            Chain IDs to assign to this entity

          - `type: "ligand_ccd"`

            - `"ligand_ccd"`

          - `value: string`

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

      - `modality: "peptide" or "antibody" or "nanobody" or "custom_protein"`

        - `"peptide"`

        - `"antibody"`

        - `"nanobody"`

        - `"custom_protein"`

      - `type: "no_template"`

        - `"no_template"`

      - `bonds: optional array of object { atom1, atom2 }`

        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: object { atom_name, chain_id, type }  or object { atom_name, chain_id, residue_index, type }`

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

          - `LigandAtomResponse object { atom_name, chain_id, type }`

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

            - `atom_name: string`

              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: string`

              Chain ID containing the atom

            - `type: "ligand_atom"`

              - `"ligand_atom"`

          - `PolymerAtomResponse object { atom_name, chain_id, residue_index, type }`

            - `atom_name: string`

              Standardized atom name (verifiable in CIF file on RCSB)

            - `chain_id: string`

              Chain ID containing the atom

            - `residue_index: number`

              0-based residue index

            - `type: "polymer_atom"`

              - `"polymer_atom"`

        - `atom2: object { atom_name, chain_id, type }  or object { atom_name, chain_id, residue_index, type }`

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

          - `LigandAtomResponse object { atom_name, chain_id, type }`

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

            - `atom_name: string`

              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: string`

              Chain ID containing the atom

            - `type: "ligand_atom"`

              - `"ligand_atom"`

          - `PolymerAtomResponse object { atom_name, chain_id, residue_index, type }`

            - `atom_name: string`

              Standardized atom name (verifiable in CIF file on RCSB)

            - `chain_id: string`

              Chain ID containing the atom

            - `residue_index: number`

              0-based residue index

            - `type: "polymer_atom"`

              - `"polymer_atom"`

      - `rules: optional object { excluded_amino_acids, excluded_sequence_motifs, max_hydrophobic_fraction }`

        Constraints applied during sequence design

        - `excluded_amino_acids: optional array of string`

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

        - `excluded_sequence_motifs: optional array of string`

          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 number`

          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.

    - `BoltzCuratedBinderSpecResponse object { binder, type, rules }`

      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: "boltz_nanobody" or "boltz_antibody"`

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

        - `"boltz_nanobody"`

        - `"boltz_antibody"`

      - `type: "boltz_curated"`

        - `"boltz_curated"`

      - `rules: optional object { excluded_amino_acids, excluded_sequence_motifs, max_hydrophobic_fraction }`

        Constraints applied during sequence design

        - `excluded_amino_acids: optional array of string`

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

        - `excluded_sequence_motifs: optional array of string`

          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 number`

          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.

    - `UniformlySampledBinderSpecResponse object { binder_specifications, type }`

      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: array of object { chain_selection, modality, structure, 2 more }  or object { entities, modality, type, 2 more }  or object { binder, type, rules }`

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

        - `StructureTemplateBinderSpecResponse object { chain_selection, modality, structure, 2 more }`

          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: map[object { chain_type, crop_residues, design_motifs }  or object { chain_type } ]`

            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.

            - `StructureTemplatePolymerChainSpec object { chain_type, crop_residues, design_motifs }`

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

              - `chain_type: "polymer"`

                - `"polymer"`

              - `crop_residues: array of number or "all"`

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

                - `array of number`

                - `"all"`

                  - `"all"`

              - `design_motifs: optional array of object { design_length_range, end_index, start_index, type }  or object { after_residue_index, design_length_range, type }`

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

                - `ReplacementMotif object { design_length_range, end_index, start_index, type }`

                  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: object { max, min }`

                    Allowed sequence length range for designed regions

                    - `max: number`

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

                    - `min: number`

                      Minimum sequence length in residues

                  - `end_index: number`

                    0-indexed end residue (inclusive)

                  - `start_index: number`

                    0-indexed start residue (inclusive)

                  - `type: "replacement"`

                    - `"replacement"`

                - `InsertionMotif object { after_residue_index, design_length_range, type }`

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

                  - `after_residue_index: number`

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

                  - `design_length_range: object { max, min }`

                    Allowed sequence length range for designed regions

                    - `max: number`

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

                    - `min: number`

                      Minimum sequence length in residues

                  - `type: "insertion"`

                    - `"insertion"`

            - `StructureTemplateLigandChainSpec object { chain_type }`

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

              - `chain_type: "ligand"`

                - `"ligand"`

          - `modality: "peptide" or "antibody" or "nanobody" or "custom_protein"`

            - `"peptide"`

            - `"antibody"`

            - `"nanobody"`

            - `"custom_protein"`

          - `structure: object { url, url_expires_at }`

            - `url: string`

              URL to download the file

            - `url_expires_at: string`

              When the presigned URL expires

          - `type: "structure_template"`

            - `"structure_template"`

          - `rules: optional object { excluded_amino_acids, excluded_sequence_motifs, max_hydrophobic_fraction }`

            Constraints applied during sequence design

            - `excluded_amino_acids: optional array of string`

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

            - `excluded_sequence_motifs: optional array of string`

              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 number`

              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.

        - `NoTemplateBinderSpecResponse object { entities, modality, type, 2 more }`

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

          - `entities: array of object { chain_ids, type, value, 2 more }  or object { chain_ids, type, value, 2 more }  or object { chain_ids, type, value, 2 more }  or 3 more`

            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.

            - `DesignedProteinEntityResponse object { chain_ids, type, value, 2 more }`

              Protein binder entity with designed and/or fixed segments.

              - `chain_ids: array of string`

                Chain IDs to assign to this entity

              - `type: "designed_protein"`

                - `"designed_protein"`

              - `value: string`

                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 boolean`

                Whether the sequence is cyclic

              - `modifications: optional array of object { residue_index, type, value }`

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

                - `residue_index: number`

                  0-based index of the residue to modify

                - `type: "ccd"`

                  Modification format. Only CCD polymer modifications are supported.

                  - `"ccd"`

                - `value: string`

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

            - `FixedProteinEntityResponse object { chain_ids, type, value, 2 more }`

              A fixed protein entity whose sequence is not redesigned.

              - `chain_ids: array of string`

                Chain IDs to assign to this entity

              - `type: "protein"`

                - `"protein"`

              - `value: string`

                Amino acid sequence (one-letter codes)

              - `cyclic: optional boolean`

                Whether the sequence is cyclic

              - `modifications: optional array of object { residue_index, type, value }`

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

                - `residue_index: number`

                  0-based index of the residue to modify

                - `type: "ccd"`

                  Modification format. Only CCD polymer modifications are supported.

                  - `"ccd"`

                - `value: string`

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

            - `FixedRnaEntityResponse object { chain_ids, type, value, 2 more }`

              - `chain_ids: array of string`

                Chain IDs to assign to this entity

              - `type: "rna"`

                - `"rna"`

              - `value: string`

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

              - `cyclic: optional boolean`

                Whether the sequence is cyclic

              - `modifications: optional array of object { residue_index, type, value }`

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

                - `residue_index: number`

                  0-based index of the residue to modify

                - `type: "ccd"`

                  Modification format. Only CCD polymer modifications are supported.

                  - `"ccd"`

                - `value: string`

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

            - `FixedDnaEntityResponse object { chain_ids, type, value, 2 more }`

              - `chain_ids: array of string`

                Chain IDs to assign to this entity

              - `type: "dna"`

                - `"dna"`

              - `value: string`

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

              - `cyclic: optional boolean`

                Whether the sequence is cyclic

              - `modifications: optional array of object { residue_index, type, value }`

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

                - `residue_index: number`

                  0-based index of the residue to modify

                - `type: "ccd"`

                  Modification format. Only CCD polymer modifications are supported.

                  - `"ccd"`

                - `value: string`

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

            - `FixedLigandSmilesEntityResponse object { chain_ids, type, value }`

              - `chain_ids: array of string`

                Chain IDs to assign to this entity

              - `type: "ligand_smiles"`

                - `"ligand_smiles"`

              - `value: string`

                SMILES string representing the ligand

            - `FixedLigandCcdEntityResponse object { chain_ids, type, value }`

              - `chain_ids: array of string`

                Chain IDs to assign to this entity

              - `type: "ligand_ccd"`

                - `"ligand_ccd"`

              - `value: string`

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

          - `modality: "peptide" or "antibody" or "nanobody" or "custom_protein"`

            - `"peptide"`

            - `"antibody"`

            - `"nanobody"`

            - `"custom_protein"`

          - `type: "no_template"`

            - `"no_template"`

          - `bonds: optional array of object { atom1, atom2 }`

            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: object { atom_name, chain_id, type }  or object { atom_name, chain_id, residue_index, type }`

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

              - `LigandAtomResponse object { atom_name, chain_id, type }`

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

                - `atom_name: string`

                  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: string`

                  Chain ID containing the atom

                - `type: "ligand_atom"`

                  - `"ligand_atom"`

              - `PolymerAtomResponse object { atom_name, chain_id, residue_index, type }`

                - `atom_name: string`

                  Standardized atom name (verifiable in CIF file on RCSB)

                - `chain_id: string`

                  Chain ID containing the atom

                - `residue_index: number`

                  0-based residue index

                - `type: "polymer_atom"`

                  - `"polymer_atom"`

            - `atom2: object { atom_name, chain_id, type }  or object { atom_name, chain_id, residue_index, type }`

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

              - `LigandAtomResponse object { atom_name, chain_id, type }`

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

                - `atom_name: string`

                  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: string`

                  Chain ID containing the atom

                - `type: "ligand_atom"`

                  - `"ligand_atom"`

              - `PolymerAtomResponse object { atom_name, chain_id, residue_index, type }`

                - `atom_name: string`

                  Standardized atom name (verifiable in CIF file on RCSB)

                - `chain_id: string`

                  Chain ID containing the atom

                - `residue_index: number`

                  0-based residue index

                - `type: "polymer_atom"`

                  - `"polymer_atom"`

          - `rules: optional object { excluded_amino_acids, excluded_sequence_motifs, max_hydrophobic_fraction }`

            Constraints applied during sequence design

            - `excluded_amino_acids: optional array of string`

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

            - `excluded_sequence_motifs: optional array of string`

              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 number`

              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.

        - `BoltzCuratedBinderSpecResponse object { binder, type, rules }`

          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: "boltz_nanobody" or "boltz_antibody"`

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

            - `"boltz_nanobody"`

            - `"boltz_antibody"`

          - `type: "boltz_curated"`

            - `"boltz_curated"`

          - `rules: optional object { excluded_amino_acids, excluded_sequence_motifs, max_hydrophobic_fraction }`

            Constraints applied during sequence design

            - `excluded_amino_acids: optional array of string`

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

            - `excluded_sequence_motifs: optional array of string`

              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 number`

              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.

      - `type: "uniformly_sampled_specifications"`

        - `"uniformly_sampled_specifications"`

  - `num_proteins: number`

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

  - `target: object { chain_selection, structure, type }  or object { entities, type, bonds, 4 more }`

    Target specification (structure template or template-free)

    - `StructureTemplateTargetResponse object { chain_selection, structure, type }`

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

      - `chain_selection: map[object { chain_type, crop_residues, epitope_residues, 2 more }  or object { chain_type } ]`

        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.

        - `StructureTemplateTargetPolymerChainSpec object { chain_type, crop_residues, epitope_residues, 2 more }`

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

          - `chain_type: "polymer"`

            - `"polymer"`

          - `crop_residues: array of number or "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.

            - `array of number`

              0-indexed residue indices to keep

            - `"all"`

              - `"all"`

          - `epitope_residues: optional array of number`

            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 array of number`

            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 array of number`

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

        - `StructureTemplateTargetLigandChainSpec object { chain_type }`

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

          - `chain_type: "ligand"`

            - `"ligand"`

      - `structure: object { url, url_expires_at }`

        - `url: string`

          URL to download the file

        - `url_expires_at: string`

          When the presigned URL expires

      - `type: "structure_template"`

        - `"structure_template"`

    - `NoTemplateTargetResponse object { entities, type, bonds, 4 more }`

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

      - `entities: array of object { chain_ids, type, value, 2 more }  or object { chain_ids, type, value, 2 more }  or object { chain_ids, type, value, 2 more }  or 2 more`

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

        - `ProteinEntityResponse object { chain_ids, type, value, 2 more }`

          - `chain_ids: array of string`

            Chain IDs for this entity

          - `type: "protein"`

            - `"protein"`

          - `value: string`

            Amino acid sequence (one-letter codes)

          - `cyclic: optional boolean`

            Whether the sequence is cyclic

          - `modifications: optional array of object { residue_index, type, value }`

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

            - `residue_index: number`

              0-based index of the residue to modify

            - `type: "ccd"`

              Modification format. Only CCD polymer modifications are supported.

              - `"ccd"`

            - `value: string`

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

        - `RnaEntityResponse object { chain_ids, type, value, 2 more }`

          - `chain_ids: array of string`

            Chain IDs for this entity

          - `type: "rna"`

            - `"rna"`

          - `value: string`

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

          - `cyclic: optional boolean`

            Whether the sequence is cyclic

          - `modifications: optional array of object { residue_index, type, value }`

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

            - `residue_index: number`

              0-based index of the residue to modify

            - `type: "ccd"`

              Modification format. Only CCD polymer modifications are supported.

              - `"ccd"`

            - `value: string`

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

        - `DnaEntityResponse object { chain_ids, type, value, 2 more }`

          - `chain_ids: array of string`

            Chain IDs for this entity

          - `type: "dna"`

            - `"dna"`

          - `value: string`

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

          - `cyclic: optional boolean`

            Whether the sequence is cyclic

          - `modifications: optional array of object { residue_index, type, value }`

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

            - `residue_index: number`

              0-based index of the residue to modify

            - `type: "ccd"`

              Modification format. Only CCD polymer modifications are supported.

              - `"ccd"`

            - `value: string`

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

        - `LigandCcdEntityResponse object { chain_ids, type, value }`

          - `chain_ids: array of string`

            Chain IDs for this ligand

          - `type: "ligand_ccd"`

            - `"ligand_ccd"`

          - `value: string`

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

        - `LigandSmilesEntityResponse object { chain_ids, type, value }`

          - `chain_ids: array of string`

            Chain IDs for this ligand

          - `type: "ligand_smiles"`

            - `"ligand_smiles"`

          - `value: string`

            SMILES string representing the ligand

      - `type: "no_template"`

        - `"no_template"`

      - `bonds: optional array of object { atom1, atom2 }`

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

        - `atom1: object { atom_name, chain_id, type }  or object { atom_name, chain_id, residue_index, type }`

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

          - `LigandAtomResponse object { atom_name, chain_id, type }`

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

            - `atom_name: string`

              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: string`

              Chain ID containing the atom

            - `type: "ligand_atom"`

              - `"ligand_atom"`

          - `PolymerAtomResponse object { atom_name, chain_id, residue_index, type }`

            - `atom_name: string`

              Standardized atom name (verifiable in CIF file on RCSB)

            - `chain_id: string`

              Chain ID containing the atom

            - `residue_index: number`

              0-based residue index

            - `type: "polymer_atom"`

              - `"polymer_atom"`

        - `atom2: object { atom_name, chain_id, type }  or object { atom_name, chain_id, residue_index, type }`

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

          - `LigandAtomResponse object { atom_name, chain_id, type }`

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

            - `atom_name: string`

              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: string`

              Chain ID containing the atom

            - `type: "ligand_atom"`

              - `"ligand_atom"`

          - `PolymerAtomResponse object { atom_name, chain_id, residue_index, type }`

            - `atom_name: string`

              Standardized atom name (verifiable in CIF file on RCSB)

            - `chain_id: string`

              Chain ID containing the atom

            - `residue_index: number`

              0-based residue index

            - `type: "polymer_atom"`

              - `"polymer_atom"`

      - `constraints: optional array of object { binder_chain_id, contact_residues, max_distance_angstrom, 2 more }  or object { max_distance_angstrom, token1, token2, 2 more }`

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

        - `PocketConstraintResponse object { binder_chain_id, contact_residues, max_distance_angstrom, 2 more }`

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

          - `binder_chain_id: string`

            Chain ID of the binder molecule

          - `contact_residues: map[array of number]`

            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: number`

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

          - `type: "pocket"`

            - `"pocket"`

          - `force: optional boolean`

            Whether to force the constraint

        - `ContactConstraintResponse object { max_distance_angstrom, token1, token2, 2 more }`

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

          - `max_distance_angstrom: number`

            Maximum distance in Angstroms

          - `token1: object { chain_id, residue_index, type }  or object { atom_name, chain_id, type }`

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

            - `PolymerContactTokenResponse object { chain_id, residue_index, type }`

              - `chain_id: string`

                Chain ID

              - `residue_index: number`

                0-based residue index

              - `type: "polymer_contact"`

                - `"polymer_contact"`

            - `LigandContactTokenResponse object { atom_name, chain_id, type }`

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

              - `atom_name: string`

                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: string`

                Chain ID

              - `type: "ligand_contact"`

                - `"ligand_contact"`

          - `token2: object { chain_id, residue_index, type }  or object { atom_name, chain_id, type }`

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

            - `PolymerContactTokenResponse object { chain_id, residue_index, type }`

              - `chain_id: string`

                Chain ID

              - `residue_index: number`

                0-based residue index

              - `type: "polymer_contact"`

                - `"polymer_contact"`

            - `LigandContactTokenResponse object { atom_name, chain_id, type }`

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

              - `atom_name: string`

                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: string`

                Chain ID

              - `type: "ligand_contact"`

                - `"ligand_contact"`

          - `type: "contact"`

            - `"contact"`

          - `force: optional boolean`

            Whether to force the constraint

      - `epitope_ligand_chains: optional array of string`

        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 map[array of number]`

        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 map[array of number]`

        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 string`

    Client-provided key to prevent duplicate submissions on retries

  - `workspace_id: optional string`

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

- `livemode: boolean`

  Whether this resource was created with a live API key.

- `pipeline: "boltzprot"`

  Pipeline used for protein design

  - `"boltzprot"`

- `pipeline_version: "1.0"`

  Pipeline version used for protein design

  - `"1.0"`

- `progress: object { num_proteins_generated, total_proteins_to_generate, latest_result_id }`

  - `num_proteins_generated: number`

    Number of protein binders generated so far

  - `total_proteins_to_generate: number`

    Total number of protein binders requested

  - `latest_result_id: optional string`

    ID of the most recently generated result

- `started_at: string`

- `status: "pending" or "running" or "succeeded" or 2 more`

  - `"pending"`

  - `"running"`

  - `"succeeded"`

  - `"failed"`

  - `"stopped"`

- `stopped_at: string`

- `workspace_id: string`

  Workspace ID

- `idempotency_key: optional string`

  Client-provided idempotency key

### Example

```http
curl https://api.boltz.bio/compute/v1/protein/design/$ID/resume \
    -X POST \
    -H "x-api-key: $BOLTZ_API_KEY"
```

#### Response

```json
{
  "id": "id",
  "completed_at": "2019-12-27T18:11:19.117Z",
  "created_at": "2019-12-27T18:11:19.117Z",
  "data_deleted_at": "2019-12-27T18:11:19.117Z",
  "engine": "boltzprot",
  "engine_version": "1.0",
  "error": {
    "code": "code",
    "message": "message",
    "details": {}
  },
  "input": {
    "binder_specification": {
      "chain_selection": {
        "B": {
          "chain_type": "polymer",
          "crop_residues": [
            0,
            1,
            2,
            3,
            4,
            5,
            6,
            7,
            8,
            9
          ],
          "design_motifs": [
            {
              "design_length_range": {
                "max": 8,
                "min": 4
              },
              "end_index": 5,
              "start_index": 0,
              "type": "replacement"
            }
          ]
        }
      },
      "modality": "peptide",
      "structure": {
        "url": "https://example.com",
        "url_expires_at": "2019-12-27T18:11:19.117Z"
      },
      "type": "structure_template",
      "rules": {
        "excluded_amino_acids": [
          "x"
        ],
        "excluded_sequence_motifs": [
          "string"
        ],
        "max_hydrophobic_fraction": 0
      }
    },
    "num_proteins": 10,
    "target": {
      "chain_selection": {
        "A": {
          "chain_type": "polymer",
          "crop_residues": [
            0,
            1,
            2,
            3,
            4,
            5,
            6,
            7,
            8,
            9,
            10,
            11,
            12
          ],
          "epitope_residues": [
            10,
            11,
            12
          ],
          "flexible_residues": [
            5,
            6,
            7
          ],
          "non_binding_residues": [
            0,
            1,
            2
          ]
        }
      },
      "structure": {
        "url": "https://example.com",
        "url_expires_at": "2019-12-27T18:11:19.117Z"
      },
      "type": "structure_template"
    },
    "idempotency_key": "idempotency_key",
    "workspace_id": "workspace_id"
  },
  "livemode": true,
  "pipeline": "boltzprot",
  "pipeline_version": "1.0",
  "progress": {
    "num_proteins_generated": 0,
    "total_proteins_to_generate": 1,
    "latest_result_id": "latest_result_id"
  },
  "started_at": "2019-12-27T18:11:19.117Z",
  "status": "pending",
  "stopped_at": "2019-12-27T18:11:19.117Z",
  "workspace_id": "workspace_id",
  "idempotency_key": "idempotency_key"
}
```
