Get started

API

Connect scripts and services to your workspace.

The ProteinIQ API runs scientific tools using your workspace's inputs, credits, and permissions. Jobs run asynchronously: submit a request, follow its progress, then retrieve structured results and files.

Data routes use the base URL https://proteiniq.io/api/v1 and require a workspace API key. API access is included in every paid plan.

Run your first analysis

The quickstart includes a complete Python script that checks a quote, submits an ESMFold job, waits for results, and downloads available files. It uses the Python standard library.

API resources

Each resource represents part of an analysis:

  • Tools: Discover available analyses and their accepted inputs, settings, outputs, and credit models.
  • Jobs: Quote, submit, list, monitor, share, or cancel individual tool runs.
  • Results: Read structured outputs and retrieve temporary file download URLs.
  • Files: Upload inputs once and reuse saved files across jobs.
  • Projects: Group jobs, files, workflows, and workflow runs.
  • Workflows: Run published workflows and manage their attempts and review checkpoints.
  • Events: Stream job progress instead of repeatedly requesting status.

Requests and responses

JSON write requests require Content-Type: application/json. Tool contracts describe accepted slots in input.slots[]; job requests supply their data in input.inputs[].

Resource responses identify their type with object, such as job or job_result. Paginated lists return data, has_more, and next_cursor. Pass a non-null cursor as starting_after to request the next page.

Errors return an error object with a stable code, readable message, and recovery guidance. Inspect the HTTP status before treating a response as a resource.

Compatibility and versions

The /api/v1 contract allows additive optional fields. Clients should ignore unknown response fields. Removed fields, changed meanings, and incompatible request shapes require a new API version. The OpenAPI document records the supported routes and request shapes; CI checks those routes against the application.

Job and result responses include an execution binding when the job has saved scientific provenance. It identifies the package release, execution compatibility version, and input and settings digests. Historical jobs can have incomplete or null provenance. A website release does not change the scientific release saved on an existing job.

The Python SDK follows semantic versioning independently of the HTTP API. Install a specific wheel version and retain its adjacent .sha256 checksum for reproducible environments. Batch submission and workflow draft authoring are currently MCP operations; the HTTP API and Python SDK expose published workflow execution. Browser calculators run locally and are not hosted execution endpoints.

Workspace limits

API jobs use the same credits as jobs in the app. Quotes estimate spending without creating a job or reserving credits.

The account endpoint reports available credits, concurrency, request limits, and key metadata. Honor Retry-After when a request is throttled.

Client integrations

The OpenAPI specification describes HTTP routes and schemas. The Python SDK reference covers the maintained client and its current installation requirements. AI clients can connect through MCP.