Help: COVE API User's Guide: Custom Missions

The Custom Missions feature allows users to create notional or proposed missions, and request a list of custom missions a user has already created. Custom Missions may be used in Acquisition Forecaster, Revisits Calculator, and Coincident Calculator to submit tasks.

Custom Missions throttle limits:
  • GET: 120 requests per hour
 

Retrieve custom missions list

Request Method: GET
 
Request URL:
https://ceos-cove.org/en/api/v1_2/custom_missions/
 
URL Parameters: None
 
Response Example:
{
"custom_missions": [{
"custom_mission_name": "Mission_A",
"orbit_type": "Sun Synchronous",
"revolutions_per_day_revs": 14.56,
"altitude_km": 705.0,
"revolutions_to_repeat_revs": 233.0,
"local_time": "11:10",
"direction": "ascending",
"instruments": [{
"custom_instrument_name": "Beam_A",
"field_of_view_deg": 5.0,
"pointing_angle_deg": 5.0
}]
}]
}
 

Create a custom mission

The endpoint will allow users to create one custom mission with multiple custom instruments. Custom missions may be created from existing missions or with new mission details. Custom instruments may be created from an existing mission’s instrument-mode or using new instrument details. Custom instruments may be added to an existing custom instrument. Refer to the COVE UI User's Guide for additional details on creating custom missions.

Input parameters to create a Custom Mission:
Parameter Name Data Type Required Description
custom_mission Yes Refer to Special Data Types for more information on ExistingMissionFilter, CircularOrbitFilter, SunSynchronousOrbitFilter, or AdvancedOrbitFilter.
custom_instruments CustomInstrumentsFilter [ ] Yes Refer to Special Data Types for more information on CustomInstrumentsFilter.
 
Example request to add a new instrument to an existing custom mission CustomInstrumentFilter:
{
"custom_mission": {
"name": "Mission1"
},
"custom_instruments": [
{
"name": "beam",
"existing": true,
"mission": {
"mission": "Sentinel-2A",
"instrument": "MSI",
"mode": ""
}
}
]
}
 
Example request to create a custom mission from an existing mission using ExistingMissionFilter and CustomInstrumentFilter:
{
"custom_mission": {
"name": "Euclid",
"existing": true,
"mission": "Sentinel-1A"
},
"custom_instruments": [
{
"name": "beam",
"existing": true,
"mission": {
"mission": "Sentinel-2A",
"instrument": "MSI",
"mode": ""
}
}
]
}
 
Example request to create a custom mission with a circular orbit using CircularOrbitFilter:
{
"custom_mission": {
"name": "Pythagoras",
"existing": false,
"orbit_type": "circular",
"inclination": 65,
"altitude": 600,
"longitude": 350
},
"custom_instruments": [
{
"name": "beam",
"existing": false,
"field_of_view": 15.0,
"pointing_angle": 0.0
}
]
}
 
Example request to create a custom mission with a sun synchronous orbit using SunSynchronousOrbitFilter:
{
"custom_mission": {
"name": "Archimedes",
"existing": false,
"orbit_type": "sun_synchronous",
"altitude": 705.0,
"revolutions_to_repeat": 233.0,
"local_time": "11:10",
"direction": "ascending"
},
"custom_instruments": [
{
"name": "beam",
"existing": false,
"field_of_view": 1.2,
"pointing_angle": 5.0
}
]
}
 
Example request to create a custom mission with an advanced orbit using AdvancedOrbitFilter:
{
"custom_mission": {
"name": "Newton",
"existing": false,
"orbit_type": "advanced",
"semimajor_axis": 6800.0,
"eccentricity": 0,
"inclination": 35,
"argument_of_perigee": 90,
"raan": 130,
"true_anomaly": 250
},
"custom_instruments": [
{
"name": "beam",
"existing": false,
"field_of_view": 9.0,
"pointing_angle": 0
}
]
}
Request Method: POST
 
Request URL:
https://ceos-cove.org/en/api/v1_2/custom_missions/
 
URL Parameters: None
 
Response Examples:
Example successful response:
{"status": 200, "message": "Custom mission created successfully"}
 
Failed Response Examples:
{"status": 417, "message": "An error occurred while creating custom mission"}
 

Example API requests using curl

Custom missions list:
curl -H 'Accept: application/json; indent=4' -u username:password https://ceos-cove.org/en/api/custom_missions/
 
Add instrument to existing custom mission:
curl -H "Content-Type: application/json" -X POST -u username:password -d '{"custom_mission": {"name": "Mission1"}, "custom_instruments": [{"name": "beam", "existing": true, "mission": {"mission": "Sentinel-2A", "instrument": "MSI", "mode": ""}}]}' https://ceos-cove.org/en/api/custom_missions/
 
Create custom mission from existing mission:
curl -H "Content-Type: application/json" -X POST -u username:password -d '{"custom_mission": {"name": "Euclid", "existing": true, "mission": "Sentinel-1A"}, "custom_instruments": [{"name": "beam", "existing": true, "mission": {"mission": "Sentinel-2A", "instrument": "MSI", "mode": ""}}]}' https://ceos-cove.org/en/api/custom_missions/
 
Create custom mission (circular orbit):
curl -H "Content-Type: application/json" -X POST -u username:password -d '{"custom_mission": {"name": "Pythagoras", "existing": false, "orbit_type": "circular", "inclination": 0, "altitude": 600, "longitude": 180}, "custom_instruments": [{"name": "beam", "existing": false, "field_of_view": 5.0, "pointing_angle": 5.0}]}' https://ceos-cove.org/en/api/custom_missions/
 
Create custom mission (sun synchronous orbit):
curl -H "Content-Type: application/json" -X POST -u username:password -d '{"custom_mission": {"name": "Archimedes", "existing": false, "orbit_type": "sun_synchronous", "altitude": 705.0, "revolutions_to_repeat": 233.0, "local_time": "11:10", "direction": "ascending"}, "custom_instruments": [ {"name": "beam", "existing": false, "field_of_view": 1.2, "pointing_angle": 5.0}]}' https://ceos-cove.org/en/api/custom_missions/
 
Create custom mission (advanced orbit):
curl -H "Content-Type: application/json" -X POST -u username:password -d '{"custom_mission": {"name": "Newton", "existing": false, "orbit_type": "advanced", "semimajor_axis": 6800.0, "eccentricity": 0, "inclination": 35, "argument_of_perigee": 90, "raan": 130, "true_anomaly": 250}, "custom_instruments": [{"name": "beam", "existing": false, "field_of_view": 9.0, "pointing_angle": 0}]}' https://ceos-cove.org/en/api/custom_missions/