> ## 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 Expression

> Look up median expression of a human gene across normal tissues, highest expression first.

Reports median expression across donors of normal (non-diseased) tissue for human genes only. Uses open-access summary data from the Genotype-Tissue Expression (GTEx) project, US National Institutes of Health. Please cite the GTEx Portal ([https://gtexportal.org](https://gtexportal.org)) and dbGaP accession phs000424. Values are transcripts per million (TPM), static between releases; the answer names the dataset. Pass an official human gene symbol or an Ensembl gene ID, with or without a version. Exactly one matching reference row is required; otherwise matched is false and candidates lists the returned rows. Tissues are sorted by highest median first; omit limit for all tissues. The data is for research and is not medical advice.

## Authentication

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

## Request Body

**gene** `string` *required*

Official human gene symbol (TP53) or Ensembl gene ID (ENSG00000141510), with or without a version. 1 to 30 characters. Letters, digits, ".", "\_" and "-" only.

**limit** `integer`

Tissues returned, highest median first; omit for all tissues. From 1 to 60.

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

## Response (200 OK)

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

**data.request\_id** `string`

Durable job ID for audit and lookup

**data.status** `string`

Job status: `completed`

**data.tool** `string`

Always `gene_expression`

**data.result** `object`

The answer, described under Result below

**data.evidence** `object`

Where the answer came from and when

**data.evidence.source** `string`

The public body the data comes from. Always `Genotype-Tissue Expression (GTEx) project, US National Institutes of Health`.

**data.evidence.source\_kind** `string`

`public` when the data comes from a public body, `commercial` otherwise

**data.evidence.retrieved\_at** `string`

When the lookup was made, as an ISO 8601 UTC time

**data.evidence.as\_of** `string`

When the source says the fact was last updated, or `null` when the source gives no date

## Result

Nested under `data.result`.

**data.result.matched** `boolean`

Whether exactly one reference gene matched.

**data.result.candidates** `object[]`

Reference rows, only when matched is false.

**data.result.candidates\[].gencode\_id** `string`

Versioned GENCODE gene ID.

**data.result.candidates\[].symbol** `string`

Gene symbol.

**data.result.gene** `object`

Matched gene, or null.

**data.result.gene.gencode\_id** `string`

Versioned GENCODE gene ID.

**data.result.gene.ensembl\_id** `string`

Ensembl gene ID without version.

**data.result.gene.symbol** `string`

Gene symbol.

**data.result.gene.entrez\_gene\_id** `integer`

Entrez gene ID, when available. `null` when the source gives no value.

**data.result.gene.description** `string`

Gene description without the source annotation.

**data.result.gene.chromosome** `string`

Chromosome of the gene.

**data.result.dataset** `string`

GTEx dataset release.

**data.result.unit** `string`

Transcripts per million.

**data.result.tissues** `object[]`

Normal tissues, highest median expression first.

**data.result.tissues\[].tissue** `string`

GTEx tissue site detail ID.

**data.result.tissues\[].ontology\_id** `string`

Source ontology ID, usually UBERON; cultured cells may use EFO. `null` when the source gives no value.

**data.result.tissues\[].median\_tpm** `number`

Median expression across donors in TPM.

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

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

```typescript SDK theme={null}
const result = await agent.tool('lookup/gene-expression', {
  gene: 'TP53',
  limit: 2
});
console.log(result.result);
console.log(result.evidence);
```

```json Response (200) theme={null}
{
  "success": true,
  "data": {
    "request_id": "uuid",
    "receipt_id": "rcpt_...",
    "status": "completed",
    "tool": "gene_expression",
    "result": {
      "matched": true,
      "gene": {
        "gencode_id": "ENSG00000141510.19",
        "ensembl_id": "ENSG00000141510",
        "symbol": "TP53",
        "entrez_gene_id": 7157,
        "description": "tumor protein p53",
        "chromosome": "chr17"
      },
      "dataset": "gtex_v11",
      "unit": "TPM",
      "tissues": [
        {
          "tissue": "Cells_EBV-transformed_lymphocytes",
          "ontology_id": "EFO:0000572",
          "median_tpm": 54.4686
        },
        {
          "tissue": "Skin_Sun_Exposed_Lower_leg",
          "ontology_id": "UBERON:8480050",
          "median_tpm": 25.8191
        }
      ]
    },
    "evidence": {
      "source": "Genotype-Tissue Expression (GTEx) project, US National Institutes of Health",
      "source_kind": "public",
      "retrieved_at": "2026-10-23T18:33:09.767Z",
      "calls": [
        {
          "retrieved_at": "2026-10-23T18:33:09.767Z"
        },
        {
          "retrieved_at": "2026-10-23T18:33:09.767Z"
        }
      ],
      "as_of": null
    }
  }
}
```

> [!NOTE]
>
> See [Pricing](https://docs.oneshotagent.com/pricing.md) 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`.

## 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.