The ESO Phase 2 API

ESO has released a Phase 2 Application Programming Interface (API) that can be used to create, modify, or delete observation blocks (OBs), containers and an accompanying ReadMe file that define an observing run. In short, the API uses the lightweight JavaScript Object Notation (JSON) standard as data format to exchange information between the user-dedicated application and the Phase 2 server at ESO.

We strongly encourage ESO users who are planning to programmatically produce large amount of OBs (e.g. Large Program, Surveys runs) to familiarize with the ESO API using the p2 API Python tutorial page.

In order to program more conveniently against the API, it is helpful to create small, language-specific bindings to the API. Detailed instructions and practical examples using Python are provided at the pages above. Please see here some examples of the use of the API.  

Note to the users: Users should remember that any new item (e.g. OBs, scheduling containers) created with the API is immediately stored on the ESO database. Hence users are kindly asked to test the API functionalities by programming against the p2 Demo server before using their script on the Phase 2 approved run. This is critical to preserve the stability and integrity of the ESO database used in operations. Please be reminded that the OBs or any item created inside the demo environment are publicly visible and may be deleted.