---
title: "Recover an accepted Hub `boltzgen` request. New launches return HTTP 410 `hub_execution_retired`; use `/v2/zencloud`."
method: POST
path: "/v2/hub/boltzgen/start"
tags: ["Hub"]
---

# Recover an accepted Hub \`boltzgen\` request. New launches return HTTP 410 \`hub_execution_retired\`; use \`/v2/zencloud\`.

`POST /v2/hub/boltzgen/start`

## Request

- Base URL: `https://api.omtx.ai` (the document declares no server; this is the origin it was published from)
- URL: `https://api.omtx.ai/v2/hub/boltzgen/start`
- Auth: one of:
  - API key in header `x-api-key`
  - HTTP bearer

## Headers

- `Idempotency-Key` string, required

## Request body

- object: BoltzGen protein/peptide/nanobody design. Canonical launch contract is primitive-only. Runtime object payloads are constructed in runner code. Cost: Launch pricing uses `base_cents * product(provided _cost_fields values)` with missing fields treated as factor 1, strict numeric > 0 validation, and a 9900-cent hard cap.
  - `job_name` string: Human-readable job name
  - `protocol` 'protein_anything' | 'peptide_anything' | 'protein_small_molecule' | 'nanobody_anything', required: BoltzGen protocol to use
  - `target_cif_artifact_id` string, uuid, nullable: Uploaded target structure artifact UUID (.cif/.mmcif); required for protein/peptide/nanobody protocols
  - `target_chain_id` string, nullable: Optional target chain ID constraint for protein/peptide/nanobody protocols
  - `binder_length_min` integer, nullable: Minimum generated design-protein length
  - `binder_length_max` integer, nullable: Maximum generated design-protein length
  - `ligand_smiles` string, nullable: Required for protocol=protein_small_molecule

## Response `200`

Successful Response

- unknown

## Other responses

- `202`: Job accepted. Poll /v2/jobs/{job_id} for status/result.

---

[API](https://skmtc.dev/omtx/apis/gateway.md) - [All operations](https://skmtc.dev/omtx/apis/gateway/llms.txt) - [OpenAPI document](https://skmtc.dev/omtx/apis/gateway/revisions/232715a75205?raw)
