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:
-
GET /classes must return context in the list of product classes:
["any", "bundles", "collections", "context", "documents", "observationals", "products"]
-
GET /classes/context must return a valid, paginated list of Context products.
-
GET /classes/context/{lidvid} must return a single Context product by LID/LIDVID.
-
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
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
/classesendpoint does not includecontext, and requests to/classes/contextreturn 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:
GET /classesmust returncontextin the list of product classes:GET /classes/contextmust return a valid, paginated list of Context products.GET /classes/context/{lidvid}must return a single Context product by LID/LIDVID.Standard query parameters (
q,fields,sort,limit,start) must work against thecontextclass.Context product types include (PDS4 schema):
Product_Contextcovering: Instrument, Instrument_Host, Investigation (Mission), Target, Facility, Telescope, Observatory, PDS_Affiliate, PDS_GuestRelated 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/contextThen I expect a
200 OKresponse with a paginated list of Context productsGiven a deployed PDS Search API instance
When I send
GET /classesThen I expect
"context"to appear in the returned list of product classes⚙️ Engineering Details
🎉 I&T