## Start a protein sequence redesign run

`client.Protein.SequenceRedesign.Start(ctx, body) (*ProteinSequenceRedesignStartResponse, error)`

**post** `/compute/v1/protein/sequence-redesign`

Create a protein sequence redesign run from selected residues in a fixed input structure

### Parameters

- `body ProteinSequenceRedesignStartParams`

  - `Entities param.Field[[]ProteinSequenceRedesignStartParamsBinderProteinSequenceRedesignRunInputEntityUnion]`

    Every chain in the input CIF, assigned exactly once as target or binder.

    - `ProteinSequenceRedesignStartParamsBinderProteinSequenceRedesignRunInputEntityBinderSequenceRedesignTargetEntity`

      - `ChainID string`

      - `Role Target`

        - `const TargetTarget Target = "target"`

      - `Type FromTemplate`

        - `const FromTemplateFromTemplate FromTemplate = "from_template"`

    - `ProteinSequenceRedesignStartParamsBinderProteinSequenceRedesignRunInputEntityBinderSequenceRedesignBinderEntity`

      - `ChainID string`

      - `Role Binder`

        - `const BinderBinder Binder = "binder"`

      - `Type FromTemplate`

        - `const FromTemplateFromTemplate FromTemplate = "from_template"`

      - `DesignMotifs []ProteinSequenceRedesignStartParamsBinderProteinSequenceRedesignRunInputEntityBinderSequenceRedesignBinderEntityDesignMotif`

        Residues to redesign. Omit this field to keep the binder chain fixed.

        - `Filters []ProteinSequenceRedesignStartParamsBinderProteinSequenceRedesignRunInputEntityBinderSequenceRedesignBinderEntityDesignMotifFilterUnion`

          Filters applied to this motif in addition to global_design_filters.

          - `ProteinSequenceRedesignStartParamsBinderProteinSequenceRedesignRunInputEntityBinderSequenceRedesignBinderEntityDesignMotifFilterExcludedAminoAcidsDesignFilter`

            - `AminoAcids []string`

              Single-letter amino-acid codes that must not occur in the filtered designed region.

            - `Type ExcludedAminoAcids`

              - `const ExcludedAminoAcidsExcludedAminoAcids ExcludedAminoAcids = "excluded_amino_acids"`

          - `ProteinSequenceRedesignStartParamsBinderProteinSequenceRedesignRunInputEntityBinderSequenceRedesignBinderEntityDesignMotifFilterMaxHydrophobicFractionDesignFilter`

            - `MaxFraction float64`

            - `Type MaxHydrophobicFraction`

              - `const MaxHydrophobicFractionMaxHydrophobicFraction MaxHydrophobicFraction = "max_hydrophobic_fraction"`

          - `ProteinSequenceRedesignStartParamsBinderProteinSequenceRedesignRunInputEntityBinderSequenceRedesignBinderEntityDesignMotifFilterExcludedSequenceMotifsDesignFilter`

            - `Motifs []string`

              Sequence motifs that must not occur. X matches any single residue.

            - `Type ExcludedSequenceMotifs`

              - `const ExcludedSequenceMotifsExcludedSequenceMotifs ExcludedSequenceMotifs = "excluded_sequence_motifs"`

        - `Residues []int64`

          0-indexed residues to redesign on this chain.

        - `Type Residues`

          - `const ResiduesResidues Residues = "residues"`

  - `NumProteins param.Field[int64]`

    Number of unique filter-passing redesigned proteins to generate.

  - `Structure param.Field[ProteinSequenceRedesignStartParamsBinderProteinSequenceRedesignRunInputStructureUnion]`

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

    - `ProteinSequenceRedesignStartParamsBinderProteinSequenceRedesignRunInputStructureURLSource`

      - `Type URL`

        - `const URLURL URL = "url"`

      - `URL string`

    - `ProteinSequenceRedesignStartParamsBinderProteinSequenceRedesignRunInputStructureCifBase64Source`

      - `Data string`

        Base64-encoded CIF file contents

      - `MediaType ChemicalXCif`

        Must be chemical/x-cif for CIF files

        - `const ChemicalXCifChemicalXCif ChemicalXCif = "chemical/x-cif"`

      - `Type Base64`

        - `const Base64Base64 Base64 = "base64"`

  - `Type param.Field[Binder]`

    - `const BinderBinder Binder = "binder"`

  - `GlobalDesignFilters param.Field[[]ProteinSequenceRedesignStartParamsBinderProteinSequenceRedesignRunInputGlobalDesignFilterUnion]`

    Filters applied to every redesigned region. When omitted, cysteine is excluded. Pass [] to disable global filters.

    - `ProteinSequenceRedesignStartParamsBinderProteinSequenceRedesignRunInputGlobalDesignFilterExcludedAminoAcidsDesignFilter`

      - `AminoAcids []string`

        Single-letter amino-acid codes that must not occur in the filtered designed region.

      - `Type ExcludedAminoAcids`

        - `const ExcludedAminoAcidsExcludedAminoAcids ExcludedAminoAcids = "excluded_amino_acids"`

    - `ProteinSequenceRedesignStartParamsBinderProteinSequenceRedesignRunInputGlobalDesignFilterMaxHydrophobicFractionDesignFilter`

      - `MaxFraction float64`

      - `Type MaxHydrophobicFraction`

        - `const MaxHydrophobicFractionMaxHydrophobicFraction MaxHydrophobicFraction = "max_hydrophobic_fraction"`

    - `ProteinSequenceRedesignStartParamsBinderProteinSequenceRedesignRunInputGlobalDesignFilterExcludedSequenceMotifsDesignFilter`

      - `Motifs []string`

        Sequence motifs that must not occur. X matches any single residue.

      - `Type ExcludedSequenceMotifs`

        - `const ExcludedSequenceMotifsExcludedSequenceMotifs ExcludedSequenceMotifs = "excluded_sequence_motifs"`

  - `IdempotencyKey param.Field[string]`

  - `WorkspaceID param.Field[string]`

    Workspace to run this redesign in.

### Returns

- `type ProteinSequenceRedesignStartResponse struct{…}`

  A fixed-structure protein sequence redesign run.

  - `ID string`

    Unique ProteinSequenceRedesignRun identifier

  - `CompletedAt Time`

  - `CreatedAt Time`

  - `DataDeletedAt Time`

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

  - `Engine BoltzProteinRedesign`

    Deprecated. Use pipeline instead.

    - `const BoltzProteinRedesignBoltzProteinRedesign BoltzProteinRedesign = "boltz-protein-redesign"`

  - `EngineVersion V2026_07_14`

    Deprecated. Use pipeline_version instead.

    - `const V2026_07_14V2026_07_14 V2026_07_14 = "v2026-07-14"`

  - `Error ProteinSequenceRedesignStartResponseError`

    - `Code string`

      Machine-readable error code

    - `Message string`

      Human-readable error message

    - `Details any`

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

  - `Input ProteinSequenceRedesignStartResponseInputUnion`

    Pipeline input (null if data deleted)

    - `type ProteinSequenceRedesignStartResponseInputBinderProteinSequenceRedesignRunInputResponse struct{…}`

      - `Entities []ProteinSequenceRedesignStartResponseInputBinderProteinSequenceRedesignRunInputResponseEntityUnion`

        Every chain in the input CIF, assigned exactly once as target or binder.

        - `type ProteinSequenceRedesignStartResponseInputBinderProteinSequenceRedesignRunInputResponseEntityBinderSequenceRedesignTargetEntityResponse struct{…}`

          A fixed target chain from the input CIF.

          - `ChainID string`

          - `Role Target`

            - `const TargetTarget Target = "target"`

          - `Type FromTemplate`

            - `const FromTemplateFromTemplate FromTemplate = "from_template"`

        - `type ProteinSequenceRedesignStartResponseInputBinderProteinSequenceRedesignRunInputResponseEntityBinderSequenceRedesignBinderEntityResponse struct{…}`

          - `ChainID string`

          - `Role Binder`

            - `const BinderBinder Binder = "binder"`

          - `Type FromTemplate`

            - `const FromTemplateFromTemplate FromTemplate = "from_template"`

          - `DesignMotifs []ProteinSequenceRedesignStartResponseInputBinderProteinSequenceRedesignRunInputResponseEntityBinderSequenceRedesignBinderEntityResponseDesignMotif`

            Residues to redesign. Omit this field to keep the binder chain fixed.

            - `Filters []ProteinSequenceRedesignStartResponseInputBinderProteinSequenceRedesignRunInputResponseEntityBinderSequenceRedesignBinderEntityResponseDesignMotifFilterUnion`

              Filters applied to this motif in addition to global_design_filters.

              - `type ProteinSequenceRedesignStartResponseInputBinderProteinSequenceRedesignRunInputResponseEntityBinderSequenceRedesignBinderEntityResponseDesignMotifFilterExcludedAminoAcidsDesignFilterResponse struct{…}`

                - `AminoAcids []string`

                  Single-letter amino-acid codes that must not occur in the filtered designed region.

                - `Type ExcludedAminoAcids`

                  - `const ExcludedAminoAcidsExcludedAminoAcids ExcludedAminoAcids = "excluded_amino_acids"`

              - `type ProteinSequenceRedesignStartResponseInputBinderProteinSequenceRedesignRunInputResponseEntityBinderSequenceRedesignBinderEntityResponseDesignMotifFilterMaxHydrophobicFractionDesignFilterResponse struct{…}`

                - `MaxFraction float64`

                - `Type MaxHydrophobicFraction`

                  - `const MaxHydrophobicFractionMaxHydrophobicFraction MaxHydrophobicFraction = "max_hydrophobic_fraction"`

              - `type ProteinSequenceRedesignStartResponseInputBinderProteinSequenceRedesignRunInputResponseEntityBinderSequenceRedesignBinderEntityResponseDesignMotifFilterExcludedSequenceMotifsDesignFilterResponse struct{…}`

                - `Motifs []string`

                  Sequence motifs that must not occur. X matches any single residue.

                - `Type ExcludedSequenceMotifs`

                  - `const ExcludedSequenceMotifsExcludedSequenceMotifs ExcludedSequenceMotifs = "excluded_sequence_motifs"`

            - `Residues []int64`

              0-indexed residues to redesign on this chain.

            - `Type Residues`

              - `const ResiduesResidues Residues = "residues"`

      - `NumProteins int64`

        Number of unique filter-passing redesigned proteins to generate.

      - `Structure ProteinSequenceRedesignStartResponseInputBinderProteinSequenceRedesignRunInputResponseStructure`

        - `URL string`

          URL to download the file

        - `URLExpiresAt Time`

          When the presigned URL expires

      - `Type Binder`

        - `const BinderBinder Binder = "binder"`

      - `GlobalDesignFilters []ProteinSequenceRedesignStartResponseInputBinderProteinSequenceRedesignRunInputResponseGlobalDesignFilterUnion`

        Filters applied to every redesigned region. When omitted, cysteine is excluded. Pass [] to disable global filters.

        - `type ProteinSequenceRedesignStartResponseInputBinderProteinSequenceRedesignRunInputResponseGlobalDesignFilterExcludedAminoAcidsDesignFilterResponse struct{…}`

          - `AminoAcids []string`

            Single-letter amino-acid codes that must not occur in the filtered designed region.

          - `Type ExcludedAminoAcids`

            - `const ExcludedAminoAcidsExcludedAminoAcids ExcludedAminoAcids = "excluded_amino_acids"`

        - `type ProteinSequenceRedesignStartResponseInputBinderProteinSequenceRedesignRunInputResponseGlobalDesignFilterMaxHydrophobicFractionDesignFilterResponse struct{…}`

          - `MaxFraction float64`

          - `Type MaxHydrophobicFraction`

            - `const MaxHydrophobicFractionMaxHydrophobicFraction MaxHydrophobicFraction = "max_hydrophobic_fraction"`

        - `type ProteinSequenceRedesignStartResponseInputBinderProteinSequenceRedesignRunInputResponseGlobalDesignFilterExcludedSequenceMotifsDesignFilterResponse struct{…}`

          - `Motifs []string`

            Sequence motifs that must not occur. X matches any single residue.

          - `Type ExcludedSequenceMotifs`

            - `const ExcludedSequenceMotifsExcludedSequenceMotifs ExcludedSequenceMotifs = "excluded_sequence_motifs"`

      - `IdempotencyKey string`

      - `WorkspaceID string`

        Workspace to run this redesign in.

    - `type ProteinSequenceRedesignStartResponseInputGenericProteinSequenceRedesignRunInputResponse struct{…}`

      - `Entities []ProteinSequenceRedesignStartResponseInputGenericProteinSequenceRedesignRunInputResponseEntity`

        Every chain in the input CIF, assigned exactly once.

        - `ChainID string`

        - `Type FromTemplate`

          - `const FromTemplateFromTemplate FromTemplate = "from_template"`

        - `DesignMotifs []ProteinSequenceRedesignStartResponseInputGenericProteinSequenceRedesignRunInputResponseEntityDesignMotif`

          Residues to redesign. Omit this field to keep the chain fixed.

          - `Filters []ProteinSequenceRedesignStartResponseInputGenericProteinSequenceRedesignRunInputResponseEntityDesignMotifFilterUnion`

            Filters applied to this motif in addition to global_design_filters.

            - `type ProteinSequenceRedesignStartResponseInputGenericProteinSequenceRedesignRunInputResponseEntityDesignMotifFilterExcludedAminoAcidsDesignFilterResponse struct{…}`

              - `AminoAcids []string`

                Single-letter amino-acid codes that must not occur in the filtered designed region.

              - `Type ExcludedAminoAcids`

                - `const ExcludedAminoAcidsExcludedAminoAcids ExcludedAminoAcids = "excluded_amino_acids"`

            - `type ProteinSequenceRedesignStartResponseInputGenericProteinSequenceRedesignRunInputResponseEntityDesignMotifFilterMaxHydrophobicFractionDesignFilterResponse struct{…}`

              - `MaxFraction float64`

              - `Type MaxHydrophobicFraction`

                - `const MaxHydrophobicFractionMaxHydrophobicFraction MaxHydrophobicFraction = "max_hydrophobic_fraction"`

            - `type ProteinSequenceRedesignStartResponseInputGenericProteinSequenceRedesignRunInputResponseEntityDesignMotifFilterExcludedSequenceMotifsDesignFilterResponse struct{…}`

              - `Motifs []string`

                Sequence motifs that must not occur. X matches any single residue.

              - `Type ExcludedSequenceMotifs`

                - `const ExcludedSequenceMotifsExcludedSequenceMotifs ExcludedSequenceMotifs = "excluded_sequence_motifs"`

          - `Residues []int64`

            0-indexed residues to redesign on this chain.

          - `Type Residues`

            - `const ResiduesResidues Residues = "residues"`

      - `NumProteins int64`

        Number of unique filter-passing redesigned proteins to generate.

      - `Structure ProteinSequenceRedesignStartResponseInputGenericProteinSequenceRedesignRunInputResponseStructure`

        - `URL string`

          URL to download the file

        - `URLExpiresAt Time`

          When the presigned URL expires

      - `Type Generic`

        - `const GenericGeneric Generic = "generic"`

      - `GlobalDesignFilters []ProteinSequenceRedesignStartResponseInputGenericProteinSequenceRedesignRunInputResponseGlobalDesignFilterUnion`

        Filters applied to every redesigned region. When omitted, cysteine is excluded. Pass [] to disable global filters.

        - `type ProteinSequenceRedesignStartResponseInputGenericProteinSequenceRedesignRunInputResponseGlobalDesignFilterExcludedAminoAcidsDesignFilterResponse struct{…}`

          - `AminoAcids []string`

            Single-letter amino-acid codes that must not occur in the filtered designed region.

          - `Type ExcludedAminoAcids`

            - `const ExcludedAminoAcidsExcludedAminoAcids ExcludedAminoAcids = "excluded_amino_acids"`

        - `type ProteinSequenceRedesignStartResponseInputGenericProteinSequenceRedesignRunInputResponseGlobalDesignFilterMaxHydrophobicFractionDesignFilterResponse struct{…}`

          - `MaxFraction float64`

          - `Type MaxHydrophobicFraction`

            - `const MaxHydrophobicFractionMaxHydrophobicFraction MaxHydrophobicFraction = "max_hydrophobic_fraction"`

        - `type ProteinSequenceRedesignStartResponseInputGenericProteinSequenceRedesignRunInputResponseGlobalDesignFilterExcludedSequenceMotifsDesignFilterResponse struct{…}`

          - `Motifs []string`

            Sequence motifs that must not occur. X matches any single residue.

          - `Type ExcludedSequenceMotifs`

            - `const ExcludedSequenceMotifsExcludedSequenceMotifs ExcludedSequenceMotifs = "excluded_sequence_motifs"`

      - `IdempotencyKey string`

      - `WorkspaceID string`

        Workspace to run this redesign in.

  - `Livemode bool`

    Whether this resource was created with a live API key.

  - `Pipeline BoltzProteinRedesign`

    - `const BoltzProteinRedesignBoltzProteinRedesign BoltzProteinRedesign = "boltz-protein-redesign"`

  - `PipelineVersion V2026_07_14`

    - `const V2026_07_14V2026_07_14 V2026_07_14 = "v2026-07-14"`

  - `Progress ProteinSequenceRedesignStartResponseProgress`

    - `NumProteinsGenerated int64`

      Number of protein binders generated so far

    - `TotalProteinsToGenerate int64`

      Total number of protein binders requested

    - `LatestResultID string`

      ID of the most recently generated result

  - `StartedAt Time`

  - `Status ProteinSequenceRedesignStartResponseStatus`

    - `const ProteinSequenceRedesignStartResponseStatusPending ProteinSequenceRedesignStartResponseStatus = "pending"`

    - `const ProteinSequenceRedesignStartResponseStatusRunning ProteinSequenceRedesignStartResponseStatus = "running"`

    - `const ProteinSequenceRedesignStartResponseStatusSucceeded ProteinSequenceRedesignStartResponseStatus = "succeeded"`

    - `const ProteinSequenceRedesignStartResponseStatusFailed ProteinSequenceRedesignStartResponseStatus = "failed"`

    - `const ProteinSequenceRedesignStartResponseStatusStopped ProteinSequenceRedesignStartResponseStatus = "stopped"`

  - `StoppedAt Time`

  - `WorkspaceID string`

    Workspace ID

  - `IdempotencyKey string`

    Client-provided idempotency key

### Example

```go
package main

import (
  "context"
  "fmt"

  "github.com/boltz-bio/boltz-api-go"
  "github.com/boltz-bio/boltz-api-go/option"
)

func main() {
  client := boltzapi.NewClient(
    option.WithAPIKey("My API Key"),
  )
  response, err := client.Protein.SequenceRedesign.Start(context.TODO(), boltzapi.ProteinSequenceRedesignStartParams{
    OfBinderProteinSequenceRedesignRunInput: &boltzapi.ProteinSequenceRedesignStartParamsBodyBinderProteinSequenceRedesignRunInput{
      Entities: []boltzapi.ProteinSequenceRedesignStartParamsBodyBinderProteinSequenceRedesignRunInputEntityUnion{boltzapi.ProteinSequenceRedesignStartParamsBodyBinderProteinSequenceRedesignRunInputEntityUnion{
        OfProteinSequenceRedesignStartsBodyBinderProteinSequenceRedesignRunInputEntityBinderSequenceRedesignTargetEntity: &boltzapi.ProteinSequenceRedesignStartParamsBodyBinderProteinSequenceRedesignRunInputEntityBinderSequenceRedesignTargetEntity{
          ChainID: "x",
        },
      }, boltzapi.ProteinSequenceRedesignStartParamsBodyBinderProteinSequenceRedesignRunInputEntityUnion{
        OfProteinSequenceRedesignStartsBodyBinderProteinSequenceRedesignRunInputEntityBinderSequenceRedesignTargetEntity: &boltzapi.ProteinSequenceRedesignStartParamsBodyBinderProteinSequenceRedesignRunInputEntityBinderSequenceRedesignTargetEntity{
          ChainID: "x",
        },
      }},
      NumProteins: 1,
      Structure: boltzapi.ProteinSequenceRedesignStartParamsBodyBinderProteinSequenceRedesignRunInputStructureUnion{
        OfProteinSequenceRedesignStartsBodyBinderProteinSequenceRedesignRunInputStructureURLSource: &boltzapi.ProteinSequenceRedesignStartParamsBodyBinderProteinSequenceRedesignRunInputStructureURLSource{
          URL: "https://example.com",
        },
      },
    },
  })
  if err != nil {
    panic(err.Error())
  }
  fmt.Printf("%+v\n", response.ID)
}
```

#### 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": "boltz-protein-redesign",
  "engine_version": "v2026-07-14",
  "error": {
    "code": "code",
    "message": "message",
    "details": {}
  },
  "input": {
    "entities": [
      {
        "chain_id": "x",
        "role": "target",
        "type": "from_template"
      },
      {
        "chain_id": "x",
        "role": "target",
        "type": "from_template"
      }
    ],
    "num_proteins": 1,
    "structure": {
      "url": "https://example.com",
      "url_expires_at": "2019-12-27T18:11:19.117Z"
    },
    "type": "binder",
    "global_design_filters": [
      {
        "amino_acids": [
          "x"
        ],
        "type": "excluded_amino_acids"
      }
    ],
    "idempotency_key": "idempotency_key",
    "workspace_id": "workspace_id"
  },
  "livemode": true,
  "pipeline": "boltz-protein-redesign",
  "pipeline_version": "v2026-07-14",
  "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"
}
```
