opensearch-eo.yaml 31 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875
  1. ---
  2. swagger: '2.0'
  3. info:
  4. version: 1.0.0
  5. title: OpenSearch for EO search index access
  6. description: Allows to manipulate the OpenSearch for EO index
  7. contact:
  8. name: GeoServer
  9. email: 'geoserver-users@osgeo.org'
  10. url: 'https://geoserver.org/comm/'
  11. host: localhost:8080
  12. basePath: /geoserver/rest/oseo/
  13. paths:
  14. /collections:
  15. get:
  16. description: Retrieves a list of all available collections (names and links)
  17. tags:
  18. - "OpenSearchEO"
  19. parameters:
  20. - name: offset
  21. in: query
  22. description: First element for paged responses
  23. required: false
  24. type: integer
  25. - name: limit
  26. in: query
  27. description: Number of elements in page
  28. required: false
  29. type: integer
  30. produces:
  31. - application/json
  32. responses:
  33. 200:
  34. description: Success
  35. examples:
  36. application/json: |
  37. {
  38. "collections" : [
  39. {
  40. "name" : "SENTINEL1",
  41. "href" : "http://host:port/geoserver/rest/oseo/collections/SENTINEL1.json",
  42. "search": "http://host:port/geoserver/oseo/description?parentId=SENTINEL1"
  43. },
  44. {
  45. "name" : "SENTINEL2",
  46. "href" : "http://host:port/geoserver/rest/oseo/collections/SENTINEL2.json",
  47. "search": "http://host:port/geoserver/oseo/description?parentId=SENTINEL2"
  48. }
  49. ]
  50. }
  51. post:
  52. description: |
  53. Creates a new collection via its search attributes and ogc links.
  54. The zip format accepts a set of files creating the collection in a single shot, and will contain the following files:
  55. * collection.json: the list of searchable attributes, the format is the same as the one returned by a GET on a collection, the "*HRef" properties should be omitted.
  56. * description.html: the HTML description for the collection
  57. * metadata.xml: the ISO metadata for the collection
  58. * thumbnail.png: the collection thumbnail (ignored at the time of writing)
  59. * owsLinks.json: the list of OWS links, in the same JSON format as the associated resource
  60. A creation with ZIP is recommend for speed and consistency sake.
  61. tags:
  62. - "OpenSearchEO"
  63. parameters:
  64. - name: ogc_publish
  65. in: query
  66. description: When set to true, instructs GeoServer to automatically publish the collection as a layer in the location GeoServer
  67. type: boolean
  68. required: false
  69. - name: workspace
  70. in: query
  71. description: workspace where the collection will be published (if missing the default workspace will be used)
  72. required: false
  73. type: string
  74. - name: layer
  75. in: query
  76. description: layer name used when publishing the collection (if missing the collection name will be used)
  77. type: string
  78. consumes:
  79. - application/json
  80. - application/zip
  81. responses:
  82. 201:
  83. description: Created
  84. headers:
  85. Location:
  86. description: The location of the newly created collection
  87. type: string
  88. 400:
  89. description: If any error is found in the collection json payload
  90. 409:
  91. description: Returned if the target collection or layer is already there
  92. /collections/{collection}:
  93. parameters:
  94. - name: collection
  95. in: path
  96. description: Identifier of the collection
  97. required: true
  98. type: string
  99. get:
  100. description: Retrieves a collection search attributes and its ogc links
  101. tags:
  102. - "OpenSearchEO"
  103. produces:
  104. - application/json
  105. responses:
  106. 200:
  107. description: Success. The response contains cross links to ogcLinks/metadata/thumbnail sub-resources.
  108. examples:
  109. application/json: |
  110. {
  111. "type": "Feature",
  112. "geometry": {
  113. "type":"Polygon",
  114. "coordinates":[[[-180,-90],[180,-90],[180,90],[-180,90],[-180, -90]]]
  115. },
  116. "properties": {
  117. "name": "SENTINEL2",
  118. "primary": true,
  119. "timeStart" : "2012-04-23T18:25:43.511Z",
  120. "timeEnd" : null,
  121. "queryables" : [ "s2:mean_solar_azimuth", "s2:datastrip_id", "view:sun_azimuth", "sat:anx_datetime", "custom:clouds", "datetime", "eo:cloud_cover" ],
  122. "productcqlfilter" : null,
  123. "masked" : false,
  124. "eo:identifier" : "SENTINEL2",
  125. "eo:productType" : "S2MS1C",
  126. "eo:platform" : "Sentinel-2",
  127. "eo:platformSerialIdentifier" : "A",
  128. "eo:instrument" : "MSI",
  129. "eo:sensorType" : "OPTICAL",
  130. "eo:compositeType" : null,
  131. "eo:processingLevel" : "Level-1C",
  132. "eo:orbitType" : "LEO",
  133. "eo:spectralRange" : null,
  134. "eo:wavelength" : null,
  135. "eo:securityConstraints" : null,
  136. "eo:dissemination" : null,
  137. "eo:acquisitionStation" : null,
  138. "ogcLinksHref": "http://host:port/geoserver/rest/oseo/collection/SENTINEL2/ogcLinks",
  139. "metadataHref": "http://host:port/geoserver/rest/oseo/collection/SENTINEL2/metadata",
  140. "thumbnailHref": "http://host:port/geoserver/rest/oseo/collection/SENTINEL2/thumbnail"
  141. }
  142. }
  143. 404:
  144. description: The specified collection cannot be found
  145. put:
  146. description: Updates a collection search attributes
  147. tags:
  148. - "OpenSearchEO"
  149. consumes:
  150. - application/json
  151. responses:
  152. 200:
  153. description: Success
  154. 400:
  155. description: If any error is found in the json payload (details will be provided in the error message)
  156. 404:
  157. description: The specified collection cannot be found
  158. delete:
  159. tags:
  160. - "OpenSearchEO"
  161. parameters:
  162. - name: keepMetadata
  163. in: query
  164. description: When present and set to true, makes GeoServer un-publish the collection (removal of OGC links, removal of associated layer) without removing the metadata. The collection remains searchable.
  165. type: boolean
  166. description: Deletes a collection and everything inside it
  167. responses:
  168. 200:
  169. description: OK
  170. 404:
  171. description: The specified collection cannot be found
  172. /collections/{collection}/metadata:
  173. parameters:
  174. - name: collection
  175. in: path
  176. description: Identifier of the collection
  177. required: true
  178. type: string
  179. get:
  180. description: Returns the ISO metadata of this collection
  181. tags:
  182. - "OpenSearchEO"
  183. produces:
  184. - application/xml
  185. responses:
  186. 200:
  187. description: Success
  188. 404:
  189. description: The specified collection cannot be found
  190. put:
  191. description: Updates/creates a collection ISO metadata
  192. tags:
  193. - "OpenSearchEO"
  194. consumes:
  195. - application/xml
  196. responses:
  197. 200:
  198. description: Success
  199. 400:
  200. description: The metadata is not a match for the target schema
  201. 404:
  202. description: The specified collection cannot be found
  203. delete:
  204. description: Removes the product metadata
  205. tags:
  206. - "OpenSearchEO"
  207. responses:
  208. 200:
  209. description: OK
  210. 404:
  211. description: The specified collection cannot be found
  212. /collections/{collection}/ogcLinks:
  213. parameters:
  214. - name: collection
  215. in: path
  216. description: Identifier of the collection
  217. required: true
  218. type: string
  219. get:
  220. description: Returns the list of OGC links
  221. tags:
  222. - "OpenSearchEO"
  223. produces:
  224. - text/html
  225. responses:
  226. 200:
  227. description: Success
  228. examples:
  229. application/json: |
  230. {
  231. "links": [
  232. {
  233. "offering": "http://www.opengis.net/spec/owc/1.0/req/atom/wms",
  234. "method": "GET",
  235. "code": "GetCapabilities",
  236. "type": "application/xml",
  237. "href": "${BASE_URL}/sentinel1/ows?service=wms&version=1.3.0&request=GetCapabilities"
  238. },
  239. {
  240. "offering": "http://www.opengis.net/spec/owc/1.0/req/atom/wms",
  241. "method": "GET",
  242. "code": "GetMap",
  243. "type": "image/jpeg",
  244. "href": "${BASE_URL}/landsat8/LS8_RGB/wms?SERVICE=WMS&VERSION=1.1.1&REQUEST=GetMap&FORMAT=image%2Fjpeg&STYLES&LAYERS=landsat8%3ALS8_RGB&SRS=EPSG%3A4326&WIDTH=800&HEIGHT=600&BBOX=-180%2C-90%2C180%2C90"
  245. }
  246. ]
  247. }
  248. 404:
  249. description: The specified collection cannot be found
  250. put:
  251. description: Updates/creates a collection OGC links
  252. tags:
  253. - "OpenSearchEO"
  254. consumes:
  255. - text/html
  256. responses:
  257. 200:
  258. description: Success
  259. 400:
  260. description: The payload does not match the expected structure (
  261. 404:
  262. description: The specified collection cannot be found
  263. delete:
  264. description: Removes the collection OGC links
  265. tags:
  266. - "OpenSearchEO"
  267. responses:
  268. 200:
  269. description: OK
  270. 404:
  271. description: The specified product cannot be found
  272. /collections/{collection}/thumbnail:
  273. parameters:
  274. - name: collection
  275. in: path
  276. description: Identifier of the collection
  277. required: true
  278. type: string
  279. get:
  280. description: Returns the thumbnail of this collection
  281. tags:
  282. - "OpenSearchEO"
  283. produces:
  284. - image/png
  285. responses:
  286. 200:
  287. description: Success
  288. 404:
  289. description: The specified product cannot be found
  290. put:
  291. description: Updates/creates a collection thumbnail
  292. tags:
  293. - "OpenSearchEO"
  294. consumes:
  295. - image/png
  296. - image/jpeg
  297. responses:
  298. 200:
  299. description: Success
  300. 404:
  301. description: The specified collection cannot be found
  302. delete:
  303. description: Removes the collection thumbnail
  304. tags:
  305. - "OpenSearchEO"
  306. responses:
  307. 200:
  308. description: OK
  309. 404:
  310. description: The specified collection cannot be found
  311. /collections/{collection}/layer:
  312. parameters:
  313. - name: collection
  314. in: path
  315. description: Identifier of the collection
  316. required: true
  317. type: string
  318. get:
  319. deprecated: true
  320. description: Returns the current publishing configuration for the layer (or 404 if no configuration is currently in use)
  321. tags:
  322. - "OpenSearchEO"
  323. produces:
  324. - application/json
  325. responses:
  326. 200:
  327. description: Success
  328. examples:
  329. application/json: |
  330. {
  331. "workspace": "gs",
  332. "layer": "test123",
  333. "separateBands": true,
  334. "bands": [
  335. "B02",
  336. "B03",
  337. "B04",
  338. "B08"
  339. ],
  340. "browseBands": [
  341. "B08",
  342. "B03",
  343. "B02"
  344. ],
  345. "heterogeneousCRS": true,
  346. "mosaicCRS": "EPSG:4326",
  347. "defaultLayer": true
  348. }
  349. 404:
  350. description: The specified collection or publishing configuration cannot be found
  351. put:
  352. deprecated: true
  353. description: Removes the previous publshing configuration and replaces with a new one, creating along the mosaic configuration, store, layer and style as described
  354. tags:
  355. - "OpenSearchEO"
  356. consumes:
  357. - application/json
  358. responses:
  359. 200:
  360. description: Success
  361. 400:
  362. description: The payload does not match the expected structure
  363. 404:
  364. description: The specified collection cannot be found
  365. delete:
  366. deprecated: true
  367. description: Removes the mosaic configuration, store, layer and style associated to this collection
  368. tags:
  369. - "OpenSearchEO"
  370. responses:
  371. 200:
  372. description: OK
  373. 404:
  374. description: The specified collection or publishing configuration cannot be found
  375. /collections/{collection}/layers:
  376. parameters:
  377. - name: collection
  378. in: path
  379. description: Identifier of the collection
  380. required: true
  381. type: string
  382. get:
  383. description: Returns the list of collection layers
  384. tags:
  385. - "OpenSearchEO"
  386. produces:
  387. - application/json
  388. responses:
  389. 200:
  390. description: Success
  391. examples:
  392. application/json: |
  393. {
  394. "workspace": "gs",
  395. "layer": "test123",
  396. "separateBands": true,
  397. "bands": [
  398. "B02",
  399. "B03",
  400. "B04",
  401. "B08"
  402. ],
  403. "browseBands": [
  404. "B08",
  405. "B03",
  406. "B02"
  407. ],
  408. "heterogeneousCRS": true,
  409. "mosaicCRS": "EPSG:4326"
  410. }
  411. 404:
  412. description: The specified collection cannot be found
  413. /collections/{collection}/layers/{layer}:
  414. parameters:
  415. - name: collection
  416. in: path
  417. description: Identifier of the collection
  418. required: true
  419. type: string
  420. - name: layer
  421. in: path
  422. description: Identifier of the layer
  423. required: true
  424. type: string
  425. get:
  426. description: Returns the list of collection layers
  427. tags:
  428. - "OpenSearchEO"
  429. produces:
  430. - application/json
  431. responses:
  432. 200:
  433. description: Success
  434. examples:
  435. application/json: |
  436. {
  437. "layers": [
  438. {
  439. "name": "test123-layer1",
  440. "href": "http://localhost:8080/geoserver/rest/oseo/collections/TEST123/layers/test123-layer1"
  441. },
  442. {
  443. "name": "test123-layer2",
  444. "href": "http://localhost:8080/geoserver/rest/oseo/collections/TEST123/layers/test123-layer2"
  445. }
  446. ]
  447. }
  448. 404:
  449. description: The specified collection or layer cannot be found
  450. put:
  451. description: Updates/creates a collection layer publishing configuration
  452. tags:
  453. - "OpenSearchEO"
  454. consumes:
  455. - application/json
  456. responses:
  457. 200:
  458. description: Success
  459. 404:
  460. description: The specified collection cannot be found
  461. delete:
  462. description: Removes the collection layer configuration
  463. tags:
  464. - "OpenSearchEO"
  465. responses:
  466. 200:
  467. description: OK
  468. 404:
  469. description: The specified collection or layer cannot be found
  470. /collections/{collection}/products:
  471. parameters:
  472. - name: collection
  473. in: path
  474. description: Identifier of the collection
  475. required: true
  476. type: string
  477. get:
  478. description: Returns a paged list of all available products
  479. tags:
  480. - "OpenSearchEO"
  481. parameters:
  482. - name: offset
  483. in: query
  484. description: First element for paged responses
  485. required: false
  486. type: integer
  487. default: 0
  488. - name: limit
  489. in: query
  490. description: Number of elements in page
  491. required: false
  492. type: integer
  493. default: 10
  494. produces:
  495. - application/json
  496. responses:
  497. 200:
  498. description: Success
  499. examples:
  500. application/json: |
  501. {
  502. "products" : [
  503. {
  504. "id" : "S2A_OPER_MSI_L1C_TL_SGS__20160929T154211_A006640_T32TPP_N02.04",
  505. "href" : "http://host:port/geoserver/rest/oseo/collections/SENTINEL2/products/S2A_OPER_MSI_L1C_TL_SGS__20160929T154211_A006640_T32TPP_N02.04",
  506. "rss": "http://host:port/geoserver/oseo/search?uid=S2A_OPER_MSI_L1C_TL_SGS__20160929T154211_A006640_T32TPP_N02.04"
  507. },
  508. {
  509. "id" : "S2A_OPER_MSI_L1C_TL_SGS__20161207T162012_A007627_T31TCG_N02.04",
  510. "href" : "http://host:port/geoserver/rest/oseo/collections/SENTINEL2/products/S2A_OPER_MSI_L1C_TL_SGS__20161207T162012_A007627_T31TCG_N02.04",
  511. "rss": "http://host:port/geoserver/oseo/search?uid=S2A_OPER_MSI_L1C_TL_SGS__20161207T162012_A007627_T31TCG_N02.04"
  512. }
  513. ]
  514. }
  515. 404:
  516. description: The specified collection cannot be found
  517. post:
  518. description: |
  519. Creates a new product via its search attributes and ogc links. The zip format accepts
  520. a set of files creating the collection in a single shot, and will contain the following files:
  521. * product.json: the list of searchable attributes and eventual OGC links
  522. * description.html: the HTML description for the product
  523. * metadata.xml: the O&M metadata for the collection
  524. * thumbnail.png: the product thumbnail (can also have jpeg or jpg extension)
  525. * owsLinks.json: the list of OWS links, in the same JSON format as the associated resource
  526. * granules.json: the list of granules, in the same JSON format as the associated resource
  527. The JSON format is the same as the one returned by a GET on an existing product, the "*Href" properties should be omitted
  528. tags:
  529. - "OpenSearchEO"
  530. consumes:
  531. - application/json
  532. - application/zip
  533. responses:
  534. 201:
  535. description: Created
  536. headers:
  537. Location:
  538. description: The location of the newly created collection
  539. type: string
  540. 400:
  541. description: The payload provided does not match the expected structure (error message will provide details)
  542. 404:
  543. description: The specified collection cannot be found
  544. 409:
  545. description: Returned if the target collection or layer is already there
  546. /collections/{collection}/products/{product}:
  547. parameters:
  548. - name: collection
  549. in: path
  550. description: Identifier of the collection
  551. required: true
  552. type: string
  553. - name: product
  554. in: path
  555. description: Identifier of the product
  556. required: true
  557. type: string
  558. get:
  559. description: |
  560. Retrieves a product search attributes, ogc links and granules.
  561. The response contains cross links to ogcLinks/metadata/thumbnail/granules sub-resources, when the same JSON is used to create a new collection the associated can be omitted, or if everything needs to be put in the JSON, the associated representations can be inlined instead (the thumbnail image can be BASE64 encoded). A creation with ZIP is recommend.
  562. tags:
  563. - "OpenSearchEO"
  564. produces:
  565. - application/json
  566. - application/xml
  567. responses:
  568. 200:
  569. description: Success
  570. examples:
  571. application/json: |
  572. {
  573. "type": "Feature",
  574. "geometry": {
  575. "type":"Polygon",
  576. "coordinates":[[[-180,-90],[180,-90],[180,90],[-180,90],[-180, -90]]]
  577. },
  578. "properties": {
  579. "eop:identifier" : "S2A_OPER_MSI_L1C_TL_SGS__20160929T154211_A006640_T32TPP_N02.04",
  580. "timeStart" : "2016-09-29T18:59:02Z",
  581. "timeEnd" : "2016-09-29T18:59:02Z",
  582. "originalPackageLocation" : "/var/data/sentinel2/2017/04/23/S2A_OPER_MSI_L1C_TL_SGS__20160929T154211_A006640_T32TPP_N02.04.zip",
  583. "thumbnailURL" : null,
  584. "quicklookURL" : null,
  585. "eop:parentIdentifier" : "SENTINEL2",
  586. "eop:productionStatus" : null,
  587. "eop:acquisitionType" : "NOMINAL",
  588. "eop:orbitNumber" : 65,
  589. "eop:orbitDirection" : "DESCENDING",
  590. "eop:track" : null,
  591. "eop:frame" : null,
  592. "eop:spwathIdentifier" : null,
  593. "opt:cloudCover" : 0,
  594. "opt:snowCover" : null,
  595. "eop:productQualityStatus" : null,
  596. "eop:productQualityDegradationStatus" : null,
  597. "eo:processorName" : null,
  598. "eop:processingCenter" : null,
  599. "eop:creationDate" : "2016-09-29T18:59:02Z",
  600. "eop:modificationDate" : null,
  601. "eop:processingDate" : null,
  602. "eop:sensorMode" : null,
  603. "eop:archivingCenter" : "DPA"
  604. "eop:processingMode" : "DATA_DRIVEN",
  605. "eop:availabilityTime" : null,
  606. "eop:acquisitionStation" : null,
  607. "eop:acquisitionSubtype" : null,
  608. "eop:startTimeFromAscendingNode" : null,
  609. "eop:completionTimeFromAscendingNode" : null,
  610. "eop:illuminationAzimuthAngle" : null,
  611. "eop:illuminationZenithAngle" : null,
  612. "eop:illuminationElevationAngle" : null,
  613. "sar:polarisationMode" : null,
  614. "sar:polarisationChannels" : null,
  615. "sar:antennaLookDirection" : null,
  616. "sar:minimumIncidenceAngle" : null,
  617. "sar:maximumIncidenceAngle" : null,
  618. "sar:dopplerFrequency" : null,
  619. "sar:incidenceAngleVariation" : null,
  620. "eop:resolution" : null,
  621. "ogcLinksHref": "http://host:port/geoserver/rest/oseo/collection/SENTINEL2/products/S2A_OPER_MSI_L1C_TL_SGS__20160929T154211_A006640_T32TPP_N02.04/ogcLinks",
  622. "metadataHref": "http://host:port/geoserver/rest/oseo/collection/SENTINEL2/prodcuts/S2A_OPER_MSI_L1C_TL_SGS__20160929T154211_A006640_T32TPP_N02.04metadata",
  623. "thumbnailHref": "http://host:port/geoserver/rest/oseo/collection/SENTINEL2/prodcuts/S2A_OPER_MSI_L1C_TL_SGS__20160929T154211_A006640_T32TPP_N02.04/thumbnail",
  624. "granulesHref": "http://host:port/geoserver/rest/oseo/collection/SENTINEL2/prodcuts/S2A_OPER_MSI_L1C_TL_SGS__20160929T154211_A006640_T32TPP_N02.04/granules"
  625. }
  626. }
  627. 404:
  628. description: The specified product cannot be found
  629. put:
  630. description: Updates a product search attributes and OGC links
  631. tags:
  632. - "OpenSearchEO"
  633. consumes:
  634. - application/json
  635. - application/xml
  636. responses:
  637. 200:
  638. description: Success
  639. 400:
  640. description: The payload provided does not match the expected structure (error message will provide details)
  641. 404:
  642. description: The specified product cannot be found
  643. delete:
  644. description: Deletes a product and everything inside it
  645. tags:
  646. - "OpenSearchEO"
  647. parameters:
  648. - name: keepMetadata
  649. in: query
  650. description: When present and set to true, makes GeoServer un-publish the product (removal of OGC links, direct download location and granule references) without removing the metadata. The product remains searchable.
  651. type: boolean
  652. responses:
  653. 200:
  654. description: OK
  655. /collections/{collection}/products/{product}/metadata:
  656. parameters:
  657. - name: collection
  658. in: path
  659. description: Identifier of the collection
  660. required: true
  661. type: string
  662. - name: product
  663. in: path
  664. description: Identifier of the product
  665. required: true
  666. type: string
  667. get:
  668. description: Returns the O&M metadata of this product
  669. tags:
  670. - "OpenSearchEO"
  671. produces:
  672. - application/xml
  673. responses:
  674. 200:
  675. description: Success
  676. 404:
  677. description: The specified product cannot be found
  678. put:
  679. description: Updates/creates a product O&M metadata
  680. tags:
  681. - "OpenSearchEO"
  682. consumes:
  683. - application/xml
  684. responses:
  685. 200:
  686. description: Success
  687. 400:
  688. description: The payload provided does not match the expected structure (error message will provide details)
  689. 404:
  690. description: The specified product cannot be found
  691. delete:
  692. description: Removes the product metadata
  693. tags:
  694. - "OpenSearchEO"
  695. responses:
  696. 200:
  697. description: OK
  698. 404:
  699. description: The specified product cannot be found
  700. /collections/{collection}/products/{product}/thumbnail:
  701. parameters:
  702. - name: collection
  703. in: path
  704. description: Identifier of the collection
  705. required: true
  706. type: string
  707. - name: product
  708. in: path
  709. description: Identifier of the product
  710. required: true
  711. type: string
  712. get:
  713. description: Returns the thumbnail of this product
  714. tags:
  715. - "OpenSearchEO"
  716. produces:
  717. - image/png
  718. - image/jpeg
  719. responses:
  720. 200:
  721. description: Success
  722. 404:
  723. description: The specified product cannot be found
  724. put:
  725. description: Updates/creates a product thumbnail
  726. tags:
  727. - "OpenSearchEO"
  728. consumes:
  729. - image/png
  730. - image/jpeg
  731. responses:
  732. 200:
  733. description: Success
  734. 400:
  735. description: The payload provided does not match the expected structure (error message will provide details)
  736. 404:
  737. description: The specified product cannot be found
  738. delete:
  739. description: Removes the product thumbnail
  740. tags:
  741. - "OpenSearchEO"
  742. responses:
  743. 200:
  744. description: OK
  745. 404:
  746. description: The specified product cannot be found
  747. /collections/{collection}/products/{product}/ogcLinks:
  748. parameters:
  749. - name: collection
  750. in: path
  751. description: Identifier of the collection
  752. required: true
  753. type: string
  754. - name: product
  755. in: path
  756. description: Identifier of the product
  757. required: true
  758. type: string
  759. get:
  760. description: Returns the list of a product OGC links
  761. tags:
  762. - "OpenSearchEO"
  763. produces:
  764. - text/html
  765. responses:
  766. 200:
  767. description: Success
  768. examples:
  769. application/json: |
  770. [
  771. {
  772. "offering": "http://www.opengis.net/spec/owc/1.0/req/atom/wms",
  773. "method": "GET",
  774. "code": "GetCapabilities",
  775. "type": "application/xml",
  776. "href": "${BASE_URL}/sentinel2/S2A_OPER_MSI_L1C_TL_SGS__20160929T154211_A006640_T32TPP_N02.04/ows?service=wms&version=1.3.0&request=GetCapabilities"
  777. },
  778. {
  779. "offering": "http://www.opengis.net/spec/owc/1.0/req/atom/wms",
  780. "method": "GET",
  781. "code": "GetMap",
  782. "type": "image/jpeg",
  783. "href": "${BASE_URL}/sentinel2/S2A_OPER_MSI_L1C_TL_SGS__20160929T154211_A006640_T32TPP_N02.04/wms?SERVICE=WMS&VERSION=1.1.1&REQUEST=GetMap&FORMAT=image%2Fjpeg&STYLES&LAYERS=SENTINEL2-TCI&SRS=EPSG%3A4326&WIDTH=800&HEIGHT=600&BBOX=-180%2C-90%2C180%2C90"
  784. }
  785. ]
  786. 404:
  787. description: The specified collection or product cannot be found
  788. put:
  789. description: Updates/creates a products OGC links
  790. tags:
  791. - "OpenSearchEO"
  792. consumes:
  793. - text/json
  794. responses:
  795. 200:
  796. description: Success
  797. 400:
  798. description: The payload provided does not match the expected structure (error message will provide details)
  799. 404:
  800. description: The specified collection or product cannot be found
  801. delete:
  802. description: Removes the product OGC links
  803. tags:
  804. - "OpenSearchEO"
  805. responses:
  806. 200:
  807. description: OK
  808. 404:
  809. description: The specified collection or product cannot be found
  810. /collections/{collection}/products/{product}/granules:
  811. parameters:
  812. - name: collection
  813. in: path
  814. description: Identifier of the collection
  815. required: true
  816. type: string
  817. - name: product
  818. in: path
  819. description: Identifier of the product
  820. required: true
  821. type: string
  822. get:
  823. description: Returns the list of a product granules
  824. tags:
  825. - "OpenSearchEO"
  826. produces:
  827. - text/json
  828. responses:
  829. 200:
  830. description: Success, returns the granules for the given product as a GeoJSON collection
  831. examples:
  832. application/json: |
  833. {
  834. "type": "FeatureCollection",
  835. "features": [
  836. {
  837. "type": "Feature",
  838. "geometry": {
  839. "type": "Polygon",
  840. "coordinate":[[[11.4772,40.5362],[11.5145,41.5243],[10.199,41.5456],[10.1811,40.5567],[11.4772,40.5362]]]
  841. },
  842. "properties": {
  843. "gid": 19,
  844. "location": "/efs/geoserver_data/coverages/sentinel/california/S2A_OPER_MSI_L1C_TL_SGS__20160117T141030_A002979_T32TPL_N02.01.tif"
  845. },
  846. "id": "GRANULE.19"
  847. }
  848. ]
  849. }
  850. 404:
  851. description: The specified collection or product cannot be found
  852. put:
  853. description: Updates/creates a product granules
  854. tags:
  855. - "OpenSearchEO"
  856. consumes:
  857. - text/html
  858. responses:
  859. 200:
  860. description: Success
  861. 400:
  862. description: The payload provided does not match the expected structure (error message will provide details)
  863. 404:
  864. description: The specified collection or product cannot be found
  865. delete:
  866. description: Removes the product OGC links
  867. tags:
  868. - "OpenSearchEO"
  869. responses:
  870. 200:
  871. description: OK
  872. 404:
  873. description: The specified collection or product cannot be found