Skip to content

Commit 2874f94

Browse files
committed
added spice documentation
1 parent 7f33698 commit 2874f94

3 files changed

Lines changed: 399 additions & 1 deletion

File tree

docs/source/data-access/index.rst

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@ interacting with the API programmatically. It is the preferred way to use the AP
1111
:maxdepth: 1
1212

1313
imap-data-access
14+
spice-files
1415

1516
Users may also download, upload, and query via the REST API directly through the browser, or via `curl` commands.
1617
The `REST API Specification`_ section describes the various endpoints that are supported, and how to use them.

docs/source/data-access/openapi.yml

Lines changed: 178 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -229,4 +229,181 @@ paths:
229229
type: array
230230
items:
231231
type: string
232-
format: uri
232+
format: uri
233+
234+
'/spice-query':
235+
get:
236+
tags:
237+
- SPICE Query
238+
summary: Query for SPICE kernel metadata
239+
operationId: spice-query
240+
parameters:
241+
- in: query
242+
name: file_name
243+
description: |
244+
The name of a specific SPICE kernel file (e.g. ``naif0012.tls``).
245+
required: false
246+
schema:
247+
type: string
248+
- in: query
249+
name: start_time
250+
description: |
251+
Coverage start time in TDB seconds since J2000. Returns kernels whose
252+
coverage ends on or after this time.
253+
required: false
254+
schema:
255+
type: string
256+
- in: query
257+
name: end_time
258+
description: |
259+
Coverage end time in TDB seconds since J2000. Returns kernels whose
260+
coverage begins on or before this time.
261+
required: false
262+
schema:
263+
type: string
264+
- in: query
265+
name: type
266+
description: |
267+
The SPICE kernel type to filter by. Accepted values are:
268+
``leapseconds``, ``planetary_constants``, ``imap_frames``,
269+
``science_frames``, ``spacecraft_clock``, ``earth_attitude``,
270+
``planetary_ephemeris``, ``ephemeris_reconstructed``,
271+
``ephemeris_nominal``, ``ephemeris_predicted``, ``ephemeris_90days``,
272+
``ephemeris_long``, ``ephemeris_launch``, ``attitude_history``,
273+
``attitude_predict``, ``pointing_attitude``.
274+
required: false
275+
schema:
276+
type: string
277+
- in: query
278+
name: latest
279+
description: |
280+
If ``True``, only return the latest version of each kernel matching
281+
the other query parameters.
282+
required: false
283+
schema:
284+
type: string
285+
- in: query
286+
name: start_ingest_date
287+
description: |
288+
Filter results to kernels ingested on or after this date, in the
289+
format ``YYYYMMDD``.
290+
required: false
291+
schema:
292+
type: string
293+
- in: query
294+
name: end_ingest_date
295+
description: |
296+
Filter results to kernels ingested on or before this date, in the
297+
format ``YYYYMMDD``.
298+
required: false
299+
schema:
300+
type: string
301+
responses:
302+
'200':
303+
description: Successful query — returns a list of SPICE kernel metadata objects
304+
content:
305+
application/json:
306+
schema:
307+
type: array
308+
items:
309+
type: object
310+
'400':
311+
description: Invalid query parameter or parameter value
312+
content:
313+
application/json:
314+
schema:
315+
type: string
316+
317+
'/metakernel':
318+
get:
319+
tags:
320+
- SPICE Query
321+
summary: Retrieve a metakernel or list of SPICE kernel filenames for a time range
322+
operationId: metakernel
323+
parameters:
324+
- in: query
325+
name: start_time
326+
description: |
327+
Coverage start time. Accepts either TDB seconds since J2000 or a date
328+
string in the format ``YYYYMMDD``.
329+
required: true
330+
schema:
331+
type: string
332+
- in: query
333+
name: end_time
334+
description: |
335+
Coverage end time. Accepts either TDB seconds since J2000 or a date
336+
string in the format ``YYYYMMDD``.
337+
required: true
338+
schema:
339+
type: string
340+
- in: query
341+
name: spice_path
342+
description: |
343+
Root path for the SPICE directory. This path is prepended to all kernel file
344+
locations in the returned metakernel. If omitted the paths are left
345+
relative. Only applicable if ``list_files``` is ``False``.
346+
required: false
347+
schema:
348+
type: string
349+
- in: query
350+
name: list_files
351+
description: |
352+
If ``True``, return only a list of kernel filenames instead of a full
353+
metakernel file.
354+
required: false
355+
schema:
356+
type: string
357+
- in: query
358+
name: require_coverage
359+
description: |
360+
If ``True``, the request will fail with a HTTP ``422`` status if there
361+
are any gaps in coverage for the requested time range.
362+
required: false
363+
schema:
364+
type: string
365+
- in: query
366+
name: file_types
367+
description: |
368+
Comma-separated list of kernel types to include. If omitted, all
369+
available kernel types are included. Accepted values are:
370+
``leapseconds``, ``planetary_constants``, ``imap_frames``,
371+
``science_frames``, ``spacecraft_clock``, ``earth_attitude``,
372+
``planetary_ephemeris``, ``ephemeris_reconstructed``,
373+
``ephemeris_nominal``, ``ephemeris_predicted``, ``ephemeris_90days``,
374+
``ephemeris_long``, ``ephemeris_launch``, ``attitude_history``,
375+
``attitude_predict``, ``pointing_attitude``.
376+
required: false
377+
schema:
378+
type: string
379+
responses:
380+
'200':
381+
description: |
382+
Successful response. Returns a metakernel file (text/plain) when
383+
``list_files`` is ``False`` (default), or a JSON array of kernel
384+
filenames when ``list_files`` is ``True``.
385+
content:
386+
text/plain:
387+
schema:
388+
type: string
389+
application/json:
390+
schema:
391+
type: array
392+
items:
393+
type: string
394+
'404':
395+
description: No kernel files found for the requested time range
396+
content:
397+
application/json:
398+
schema:
399+
type: string
400+
'422':
401+
description: |
402+
Coverage gaps detected when ``require_coverage=True``. The response
403+
body contains a list of the gap intervals.
404+
content:
405+
application/json:
406+
schema:
407+
type: array
408+
items:
409+
type: object

0 commit comments

Comments
 (0)