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