openapi: 3.0.1 info: title: AuroraX Application.wadl Utilities API description: "## Overview\n\nThis webpage is an interactive documentation interface for the AuroraX RESTful API. This API\nis used by several applications including the AuroraX Conjunction Search, Event Explorer,\nKeogramist, PyAuroraX, and IDL-AuroraX. You can view these applications and libraries at\nhttps://aurorax.space and\nhttps://github.com/aurorax-space.\n\nDetailed documentation about the AuroraX platform and examples of using this API can be found at\nhttps://docs.aurorax.space.\n\nBelow, we outline the major categories of endpoints available for use:\n\n| Interface | Description |\n| ---------------- | --------------------------------------------------------------------------- |\n| Accounts | Operations relating to user accounts, API keys, and saved user data |\n| Authentication | Authentication using an email address and password, or an API key |\n| Availability | Retrieve information describing what data is in the database |\n| Data Sources | Interact with data sources |\n| Conjunctions | Search for conjunctions between multiple sets of data sources |\n| Ephemeris | Search and manage ephemeris data associated with a data source |\n| Data Products | Search and manage data products data associated with a data source |\n| Utils | Utilities, such as describing a search query in an SQL-like format |\n\n## Authentication\n\nAuroraX allows for two methods of authentication:\n\n1. Authenticate via username and password using the /authenticate endpoint to obtain an access\n token. Access tokens need to be sent on every request for secure resources. Inactive access tokens\n timeout after 30 minutes.\n\n2. Authenticate using an API key sent in the request header (key called 'x-aurorax-api-key')\n\nMore information can be found\nhere.\n\n## Errors\n\nThis API uses standard HTTP status codes to indicate the success or failure of the\nAPI call. When an error occurs, the body of the response will be JSON and contain an error code\nand message. All errors will respond with this format:\n```\n{\n \"error_code\": \"DUPLICATE\",\n \"error_message\": \"There was a duplicate record found. No changes were made.\"\n}\n```\n" version: stable servers: - url: https://api.aurorax.space description: AuroraX production server variables: {} - url: https://api.staging.aurorax.space description: AuroraX staging server variables: {} - url: http://localhost:8080/ description: Local Development and Debugging variables: {} tags: - name: Utilities description: Various helper endpoints paths: /api/v1/utils/terminator: get: tags: - Utilities summary: Retrieve terminator coordinates description: "Retrieve coordinates for the terminator. \n\nThe timestamp parameter should be supplied in the format \"YYYY-MM-DDTHH:mm:ss\". \nUTC is the expected timezone.\n\nThe angle parameter is used for retrieving the terminator for civil, nautical, \nor astronomical twilight. Use the values -6.0, -12.0, or -18.0 for each of these \nterminators, respectively.\n\nNotes:\n - The algorithm does not account for altitude at this time\n - By default requests are cached. Use the 'no_cache' parameter to disable this functionality." operationId: get_terminator_api_v1_utils_terminator_get parameters: - name: timestamp in: query required: true schema: type: string format: date-time title: Timestamp - name: angle in: query required: false schema: type: number default: -12.0 title: Angle - name: no_cache in: query required: false schema: type: boolean default: false title: No Cache responses: '200': description: Terminator coordinates content: application/json: schema: $ref: '#/components/schemas/Terminator' '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' /api/v1/utils/magnetic_grid: get: tags: - Utilities summary: Retrieve geomagnetic coordinate grid description: "Retrieve a geomagnetic coordinate grid for a given timestamp.\n\nThe timestamp parameter should be supplied in the format \"YYYY-MM-DDTHH:mm:ss\". \nUTC is the expected timezone.\n\nThe grid consists of meridian lines (constant magnetic longitude, \"vertical\") and parallel lines\n(constant magnetic latitude, \"horizontal\") for both northern and southern hemispheres.\n\nNotes\n - The resolution_lon and resolution_lat parameters control the spacing (in degrees) between\nmagnetic longitude and latitude lines, respectively. Lower values produce a denser grid.\n - By default requests are cached. Use the 'no_cache' parameter to disable this functionality." operationId: get_magnetic_grid_api_v1_utils_magnetic_grid_get parameters: - name: timestamp in: query required: true schema: type: string format: date-time title: Timestamp - name: resolution_lon in: query required: false schema: type: number default: 10.0 title: Resolution Lon - name: resolution_lat in: query required: false schema: type: number default: 5.0 title: Resolution Lat - name: min_latitude in: query required: false schema: type: number default: 50.0 title: Min Latitude - name: altitude_km in: query required: false schema: type: number default: 0.0 title: Altitude Km - name: no_cache in: query required: false schema: type: boolean default: false title: No Cache responses: '200': description: Geomagnetic grid in geographic coordinates content: application/json: schema: $ref: '#/components/schemas/MagneticGrid' '400': description: Problematic request made content: application/json: schema: $ref: '#/components/schemas/ErrorMessage' '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' components: schemas: ValidationError: properties: loc: items: anyOf: - type: string - type: integer type: array title: Location msg: type: string title: Message type: type: string title: Error Type input: title: Input ctx: type: object title: Context type: object required: - loc - msg - type title: ValidationError HTTPValidationError: properties: detail: items: $ref: '#/components/schemas/ValidationError' type: array title: Detail type: object title: HTTPValidationError Terminator: properties: timestamp: type: string format: date-time title: Timestamp coords: items: {} type: array title: Coords type: object required: - timestamp - coords title: Terminator MagneticGrid: properties: timestamp: type: string format: date-time title: Timestamp north: $ref: '#/components/schemas/MagneticGridHemisphere' south: $ref: '#/components/schemas/MagneticGridHemisphere' type: object required: - timestamp - north - south title: MagneticGrid ErrorMessage: properties: detail: type: string title: Detail type: object required: - detail title: ErrorMessage MagneticGridHemisphere: properties: vertical: items: items: items: type: number type: array type: array type: array title: Vertical horizontal: items: items: items: type: number type: array type: array type: array title: Horizontal type: object required: - vertical - horizontal title: MagneticGridHemisphere securitySchemes: AccessToken: type: http description: Send the Authorization header found in the response of a successful /authentication request on all secure endpoints. Copy it verbatim to the request header. It is fine to send this header on all requests to the API. The value in Swagger UI should only include the access token part (leave out 'Bearer'). name: Authorization in: header scheme: bearer bearerFormat: Generated by server ApiKeyAuth: type: apiKey description: API keys are intended to be used by non-interactive software interfacing with the REST API. These can be used instead of an Access Token approach. name: x-aurorax-api-key in: header