# Target.expressions returns empty as of 26.06 — has it been replaced by baselineExpression?

**URL:** <https://community.opentargets.org/t/target-expressions-returns-empty-as-of-26-06-has-it-been-replaced-by-baselineexpression/2043>\
**Category:** GraphQL API\
**Created:** [25 June 2026 17:08 UTC](https://community.opentargets.org/t/target-expressions-returns-empty-as-of-26-06-has-it-been-replaced-by-baselineexpression/2043 "2026-06-25T17:08:00Z")\
**Posts on this page:** 7\
**Page:** 1

<div class="post-metadata">

**Author:** ![elarwei](https://dub1.discourse-cdn.com/flex017/user_avatar/community.opentargets.org/elarwei/32/970_2.png) [@elarwei](https://community.opentargets.org/u/elarwei)\
**Post date:** [25 June 2026 17:08 UTC](https://community.opentargets.org/t/target-expressions-returns-empty-as-of-26-06-has-it-been-replaced-by-baselineexpression/2043/1 "2026-06-25T17:08:00Z")

</div>

Hi all,

I searched the community first and only found an older thread about the previous  
`expressions` structure (/t/graphql-query-for-expression-data/1840), which predates  
this change — so I’m opening a new topic.

On data version 26.06, the GraphQL field `target.expressions` returns an empty list  
for every gene I’ve tried — including ubiquitously-expressed housekeeping genes such  
as GAPDH (ENSG00000111640) and ACTB (ENSG00000075624) — consistently across repeated  
calls. The new field `target.baselineExpression`, by contrast, returns populated  
per-biosample data (GTEx bulk and Tabula Sapiens single-cell, TPM summary stats) for  
the same genes. My reproducer query and screenshots are below.

I also notice that `target.expressions` is still present in the schema and is not  
marked as deprecated (isDeprecated: false, deprecationReason: null), and its  
description still refers to Expression Atlas and the Human Protein Atlas — the older  
sources.

A few questions:

1. Is `target.expressions` intentionally retired in 26.06 in favour of  
`target.baselineExpression`?
2. Will `expressions` be formally deprecated/removed, or is the empty result  
temporary?
3. Is `baselineExpression` the recommended field for baseline RNA/protein expression  
going forward?

Thanks very much for any clarification!

 ![image](https://europe1.discourse-cdn.com/flex017/uploads/opentargets/original/1X/1002ada8762894aae18c5c5eec58ec0f9e987b83.png)

test code

```auto
{
    meta { dataVersion { year month } }
    target(ensemblId: "ENSG00000111640") { # GAPDH (housekeeping; swap any ENSG id)
      approvedSymbol
      expressions { tissue { id label } } # OLD field — now returns []
      baselineExpression(page: { index: 0, size: 3 }) { # NEW field (26.06)
        rows {
          tissueBiosample { biosampleId biosampleName }
          median min q1 q3 max unit datasourceId
        }
      }
    }
  }

```

---

<div class="post-metadata">

**Author:** ![Tobi\_Alegbe](https://dub1.discourse-cdn.com/flex017/user_avatar/community.opentargets.org/tobi_alegbe/32/747_2.png) [@Tobi\_Alegbe](https://community.opentargets.org/u/Tobi_Alegbe)\
**Post date:** [25 June 2026 17:28 UTC](https://community.opentargets.org/t/target-expressions-returns-empty-as-of-26-06-has-it-been-replaced-by-baselineexpression/2043/2 "2026-06-25T17:28:51Z")

</div>

> [@elarwei](#):
>
> ENSG00000075624

Hi,

1. Yes target.expression has been intentionally retired in place of target.baselineExpression
2. expressions will be deprecated/removed
3. Yes baselineExpression is the recommended field for baseline RNA/protein expression going forwards

We have replaced the old expression with baseline expression for a few reasons but we aware there may be some teething issues with replacing a dataset like this so if you spot anything that looks amiss, please feel free to let us know. We are confident that this new dataset will be better for most usecases.

Kind regards,

Tobi

---

<div class="post-metadata">

**Author:** ![elarwei](https://dub1.discourse-cdn.com/flex017/user_avatar/community.opentargets.org/elarwei/32/970_2.png) [@elarwei](https://community.opentargets.org/u/elarwei)\
**Post date:** [26 June 2026 12:44 UTC](https://community.opentargets.org/t/target-expressions-returns-empty-as-of-26-06-has-it-been-replaced-by-baselineexpression/2043/3 "2026-06-26T12:44:32Z")

</div>

Hi Tobi,

Thanks for the clear and quick confirmation — that fully answers our questions.

For context, we ran into this while adapting the gget library’s `opentargets`  
interface to the API, which is how we spotted it. Since the data model changed  
(per-tissue RNA z-score → per-biosample TPM at tissue/cell-type level), it isn’t a  
drop-in swap for our existing output, so we’ll discuss internally how best to adopt  
`baselineExpression` — and we’ll flag anything that looks amiss with the new dataset.

Thanks again!

---

<div class="post-metadata">

**Author:** ![ochoa](https://dub1.discourse-cdn.com/flex017/user_avatar/community.opentargets.org/ochoa/32/189_2.png) [@ochoa](https://community.opentargets.org/u/ochoa)\
**Post date:** [29 June 2026 14:41 UTC](https://community.opentargets.org/t/target-expressions-returns-empty-as-of-26-06-has-it-been-replaced-by-baselineexpression/2043/4 "2026-06-29T14:41:46Z")

</div>

@elarwei, I understand we are not making your life easy with these changes in the API schema.

Deprecating endpoints with notice periods might be beyond our reach, but would it be helpful to have the changes in schemas (both data and API) documented in the Release notes?

---

<div class="post-metadata">

**Author:** ![elarwei](https://dub1.discourse-cdn.com/flex017/user_avatar/community.opentargets.org/elarwei/32/970_2.png) [@elarwei](https://community.opentargets.org/u/elarwei)\
**Post date:** [2 July 2026 15:28 UTC](https://community.opentargets.org/t/target-expressions-returns-empty-as-of-26-06-has-it-been-replaced-by-baselineexpression/2043/5 "2026-07-02T15:28:54Z")

</div>

Hi @ochoa — thanks, and honestly no worries; the change makes sense, and the quick confirmation here was exactly what we needed.

Yes, documenting schema changes in the release notes would be really helpful for downstream tools like gget. In our case the field returned an empty list rather than an error, so it took us a bit of digging to realise the change was intentional rather than a transient data issue. A brief note on such changes — ideally covering both API updates (e.g. expressions → baselineExpression) and data-model shifts (per-tissue RNA z-score → per-biosample TPM) — would make it easy for integrators to adapt quickly.

On our side we’ve already repointed gget’s opentargets expression interface to baselineExpression, so we’re all set — this is really just a suggestion for smoothing future releases. Thanks again for being so responsive!

---

<div class="post-metadata">

**Author:** ![ochoa](https://dub1.discourse-cdn.com/flex017/user_avatar/community.opentargets.org/ochoa/32/189_2.png) [@ochoa](https://community.opentargets.org/u/ochoa)\
**Post date:** [5 October 2026 09:35 UTC](https://community.opentargets.org/t/target-expressions-returns-empty-as-of-26-06-has-it-been-replaced-by-baselineexpression/2043/6 "2026-10-05T09:35:27Z")

</div>

Hi @elarwei. For 26.09, we have added to the release notes the changes in schema for the datasets and also for the API. I hope this helps you adapt to new versions of the platform. Thanks for the feedback

> **[Dataset & schema changes - Release notes | Open Targets Platform Documentation](https://platform-docs.opentargets.org/release-notes#dataset-and-schema-changes)**
>
> Release date | Summary of release highlights for the Open Targets Platform

---

<div class="post-metadata">

**Author:** ![elarwei](https://dub1.discourse-cdn.com/flex017/user_avatar/community.opentargets.org/elarwei/32/970_2.png) [@elarwei](https://community.opentargets.org/u/elarwei)\
**Post date:** [6 October 2026 12:21 UTC](https://community.opentargets.org/t/target-expressions-returns-empty-as-of-26-06-has-it-been-replaced-by-baselineexpression/2043/7 "2026-10-06T12:21:35Z")

</div>

Hi @ochoa, thank you, this is really helpful!

The new “Dataset & schema changes” section made it quick to check gget against 26.09: none of our GraphQL queries are affected (we’d already moved from `knownDrugs` to `drugAndClinicalCandidates`), and the only update needed was refreshing our live-data test fixtures.

Much appreciated that you took the feedback on board.
