Web Service – Documentation

Web Service – Documentation Search & Publication

Description

Manages a documentation archive plus associated PostgreSQL database.

Users

institute, questionnaire

Clients

pyesdoc

Open Endpoints

GET https://api.es-doc.org/2/document/retrieve

GET https://api.es-doc.org/2/document/search-drs

GET https://api.es-doc.org/2/document/search-externalid

GET https://api.es-doc.org/2/document/search-id

GET https://api.es-doc.org/2/document/search-name

GET https://api.es-doc.org/2/summary/search

GET https://api.es-doc.org/2/summary/search/setup

Secure Endpoints

POST https://api.es-doc.org/2/document/create

DELETE https://api.es-doc.org/2/document/delete

PUT https://api.es-doc.org/2/document/update

Request Authentication

Credentials extracted from ‘Authorisation’ HTTP header

Credentials authenticated with GitHub User API

Request Authorization

Assert user’s GitHub account is member of: ES-DOC-OPS/documentation-publication-XXXX where XXXX=institution id

Assert user’s GitHub access token scope >= read.org

Request Validation

Request headers & parameters are validated with JSON schema

Documents are validated with pyesdoc

Daemon process

Requires access to $HOME/.esdoc/archive

Requires access to PostGreSQL dB with dedicated PostGreSQL account