> ## Documentation Index
> Fetch the complete documentation index at: https://docs.oneshotagent.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Gene Pathways

> Look up the lowest-level biological pathways a gene’s products take part in, by NCBI Gene ID.

Find the lowest-level pathways a gene’s products take part in, from Reactome. Covers curated human pathways and pathways inferred for other species. Pass the gene’s own organism as taxon\_id (human, 9606, by default): a Gene ID belongs to one organism. Inferred pathways are computed from human pathways by orthology rather than curated for this species; in\_disease pathways describe disease mechanisms. Returns up to limit pathways in source order, with total counting all pathways the source returned. An unknown gene, a gene with no pathways, or an organism mismatch returns an empty list. Reactome data is CC0 and refreshed in quarterly releases; no diagrams or images are returned.

## Authentication

Requires x402 payment in the `payment-signature` header.

## Request Body

<ParamField body="gene_id" type="string" required>
  An NCBI Gene ID, for example 7157. Digits only, 1 to 12.
</ParamField>

<ParamField body="taxon_id" type="integer">
  The gene’s own organism as an NCBI Taxonomy ID; 9606 is human, 10090 is mouse. From 1 to 999999999. Defaults to `9606`.
</ParamField>

<ParamField body="limit" type="integer">
  Maximum pathways returned, in source order. From 1 to 100. Defaults to `50`.
</ParamField>

<Snippet file="audit-context-params.mdx" />

## Response (200 OK)

Top-level envelope: `success` (boolean) and `data` (object). All fields below are nested under `data`.

<ResponseField name="data.request_id" type="string">
  Durable job ID for audit and lookup
</ResponseField>

<ResponseField name="data.status" type="string">
  Job status: `completed`
</ResponseField>

<ResponseField name="data.tool" type="string">
  Always `gene_pathways`
</ResponseField>

<ResponseField name="data.result" type="object">
  The answer, described under Result below
</ResponseField>

<ResponseField name="data.evidence" type="object">
  Where the answer came from and when
</ResponseField>

<ResponseField name="data.evidence.source" type="string">
  The public body the data comes from. Always `Reactome`.
</ResponseField>

<ResponseField name="data.evidence.source_kind" type="string">
  `public` when the data comes from a public body, `commercial` otherwise
</ResponseField>

<ResponseField name="data.evidence.retrieved_at" type="string">
  When the lookup was made, as an ISO 8601 UTC time
</ResponseField>

<ResponseField name="data.evidence.as_of" type="string">
  The newest last-updated date among all pathways in the source answer, including those beyond limit; null when none has one.
</ResponseField>

## Result

Nested under `data.result`.

<ResponseField name="data.result.total" type="integer">
  Number of pathways the source returned before limit.
</ResponseField>

<ResponseField name="data.result.pathways" type="object[]">
  Pathways.
</ResponseField>

<ResponseField name="data.result.pathways[].reactome_id" type="string">
  Stable Reactome pathway identifier.
</ResponseField>

<ResponseField name="data.result.pathways[].version" type="string">
  Versioned stable pathway identifier.
</ResponseField>

<ResponseField name="data.result.pathways[].name" type="string">
  Pathway display name.
</ResponseField>

<ResponseField name="data.result.pathways[].species" type="string">
  Organism scientific name.
</ResponseField>

<ResponseField name="data.result.pathways[].in_disease" type="boolean">
  Whether the pathway describes a disease mechanism.
</ResponseField>

<ResponseField name="data.result.pathways[].inferred" type="boolean">
  Computed from human pathways by orthology rather than curated for this species.
</ResponseField>

<ResponseField name="data.result.pathways[].released_on" type="string">
  Pathway release date.
</ResponseField>

<ResponseField name="data.result.pathways[].last_updated" type="string">
  Last update date, or null when absent.
</ResponseField>

<ResponseField name="data.result.pathways[].page_url" type="string">
  Reactome pathway detail page.
</ResponseField>

<RequestExample>
  ```bash cURL theme={null}
  curl -X POST https://win.oneshotagent.com/v1/tools/lookup/gene-pathways \
    -H "Content-Type: application/json" \
    -H "payment-signature: <base64 x402 payment>" \
    -d '{
      "gene_id": "7157",
      "limit": 1
    }'
  ```

  ```javascript JavaScript theme={null}
  const response = await fetch("https://win.oneshotagent.com/v1/tools/lookup/gene-pathways", {
    method: "POST",
    headers: {
      "Content-Type": "application/json",
      "payment-signature": paymentProof,
    },
    body: JSON.stringify({
      "gene_id": "7157",
      "limit": 1
    }),
  });
  ```

  ```typescript SDK theme={null}
  const result = await agent.tool('lookup/gene-pathways', {
    gene_id: '7157',
    limit: 1
  });
  console.log(result.data.result);
  console.log(result.data.evidence);
  ```
</RequestExample>

<ResponseExample>
  ```json Response (200) theme={null}
  {
    "success": true,
    "data": {
      "request_id": "uuid",
      "receipt_id": "rcpt_...",
      "status": "completed",
      "tool": "gene_pathways",
      "result": {
        "total": 46,
        "pathways": [
          {
            "reactome_id": "R-HSA-111448",
            "version": "R-HSA-111448.5",
            "name": "Activation of NOXA and translocation to mitochondria",
            "species": "Homo sapiens",
            "in_disease": false,
            "inferred": false,
            "released_on": "2004-10-27",
            "last_updated": "2016-03-24",
            "page_url": "https://reactome.org/content/detail/R-HSA-111448"
          }
        ]
      },
      "evidence": {
        "source": "Reactome",
        "source_kind": "public",
        "retrieved_at": "2026-10-18T12:00:00.000Z",
        "calls": [
          {
            "retrieved_at": "2026-10-18T12:00:00.000Z"
          }
        ],
        "as_of": "2023-03-29"
      }
    }
  }
  ```
</ResponseExample>

<Info>See [Pricing](/pricing) for this tool's price. A wallet (x402) call receives it in the 402 quote before anything is charged; a call paid from prepaid credits is charged when the API accepts the request and answers `200`.</Info>

## Notes

* Results return inline. The finished job stays available at `/v1/requests/{request_id}`


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.