Skip to content

As a data user, I want to search for Context products via the PDS Search API so that I can discover mission and instrument context for planetary data products #770

@jordanpadams

Description

@jordanpadams

Checked for duplicates

Yes - I've already checked

🧑‍🔬 User Persona(s)

Data User, Data Engineer, Science Application Developer

💡 User Story

As a data user, I want to search for Context products (Missions, Instruments, Spacecraft, Targets, Nodes, Facilities) via the PDS Search API so that I can discover the scientific and operational context associated with planetary data products.

💪 Motivation

...so that I can retrieve structured metadata about missions, instruments, spacecraft, and observation targets — enabling science applications to present users with rich contextual information alongside observational data.

Currently, the /classes endpoint does not include context, and requests to /classes/context return no results. Users have no standard API path to query Context products, which are critical for understanding data provenance and scientific scope.

📖 Additional Details

Expected API behavior after implementation:

  1. GET /classes must return context in the list of product classes:

    ["any", "bundles", "collections", "context", "documents", "observationals", "products"]
  2. GET /classes/context must return a valid, paginated list of Context products.

  3. GET /classes/context/{lidvid} must return a single Context product by LID/LIDVID.

  4. Standard query parameters (q, fields, sort, limit, start) must work against the context class.

Context product types include (PDS4 schema):

  • Product_Context covering: Instrument, Instrument_Host, Investigation (Mission), Target, Facility, Telescope, Observatory, PDS_Affiliate, PDS_Guest

Related theme: #357


For Internal Dev Team To Complete

Acceptance Criteria

Given a deployed PDS Search API instance with harvested Context products
When I send GET /classes/context
Then I expect a 200 OK response with a paginated list of Context products

Given a deployed PDS Search API instance
When I send GET /classes
Then I expect "context" to appear in the returned list of product classes

⚙️ Engineering Details

🎉 I&T

Metadata

Metadata

Assignees

No one assigned

    Type

    No type
    No fields configured for issues without a type.

    Projects

    Status

    ToDo

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions