{ "openapi": "3.0.2", "info": { "title": "Baha'i Library Online", "version": "0.0.0" }, "servers": [], "paths": { "\/api\/login": { "post": { "tags": [ "auth" ], "summary": "Login user", "requestBody": { "description": "Login user", "content": { "application\/json": { "schema": { "$ref": "#\/components\/schemas\/Login" } } }, "required": true }, "responses": { "201": { "description": "Token created", "content": { "application\/json": { "schema": { "type": "object", "properties": { "token": { "type": "string", "example": "Bearer token" } } } } } }, "422": { "$ref": "#\/components\/responses\/ValidationErrors" } } } }, "\/api\/documents": { "get": { "tags": [ "document" ], "summary": "List documents", "description": "Returns a paginated collection of documents, most recent first", "responses": { "200": { "description": "Successful response", "content": { "application\/json": { "schema": { "$ref": "#\/components\/schemas\/Document" } } } } } }, "post": { "tags": [ "document" ], "responses": { "200": { "description": "Successful response", "content": { "application\/json": {} } } } } }, "\/api\/documents\/{document}": { "get": { "tags": [ "document" ], "parameters": [ { "name": "document", "in": "path", "description": "", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "Successful response", "content": { "application\/json": {} } } } }, "put": { "tags": [ "document" ], "parameters": [ { "name": "document", "in": "path", "description": "", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "Successful response", "content": { "application\/json": {} } } } }, "delete": { "tags": [ "document" ], "parameters": [ { "name": "document", "in": "path", "description": "", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "Successful response", "content": { "application\/json": {} } } } } }, "\/api\/documents\/{document}\/editions": { "get": { "tags": [ "document--editions" ], "parameters": [ { "name": "document", "in": "path", "description": "", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "Successful response", "content": { "application\/json": {} } } } }, "post": { "tags": [ "document--editions" ], "parameters": [ { "name": "document", "in": "path", "description": "", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "Successful response", "content": { "application\/json": {} } } } } }, "\/api\/documents\/{document}\/activities": { "get": { "tags": [ "document-activities" ], "parameters": [ { "name": "document", "in": "path", "description": "", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "Successful response", "content": { "application\/json": {} } } } }, "post": { "tags": [ "document-activities" ], "parameters": [ { "name": "document", "in": "path", "description": "", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "Successful response", "content": { "application\/json": {} } } } } }, "\/api\/documents\/{document}\/languages": { "get": { "tags": [ "document-languages" ], "parameters": [ { "name": "document", "in": "path", "description": "", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "Successful response", "content": { "application\/json": {} } } } } }, "\/api\/documents\/{document}\/languages\/{language}": { "post": { "tags": [ "document-languages" ], "parameters": [ { "name": "document", "in": "path", "description": "", "required": true, "schema": { "type": "string" } }, { "name": "language", "in": "path", "description": "", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "Successful response", "content": { "application\/json": {} } } } }, "delete": { "tags": [ "document-languages" ], "parameters": [ { "name": "document", "in": "path", "description": "", "required": true, "schema": { "type": "string" } }, { "name": "language", "in": "path", "description": "", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "Successful response", "content": { "application\/json": {} } } } } }, "\/api\/documents\/{document}\/tags": { "get": { "tags": [ "document-tags" ], "parameters": [ { "name": "document", "in": "path", "description": "", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "Successful response", "content": { "application\/json": {} } } } } }, "\/api\/documents\/{document}\/tags\/{tag}": { "post": { "tags": [ "document-tags" ], "parameters": [ { "name": "document", "in": "path", "description": "", "required": true, "schema": { "type": "string" } }, { "name": "tag", "in": "path", "description": "", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "Successful response", "content": { "application\/json": {} } } } }, "delete": { "tags": [ "document-tags" ], "parameters": [ { "name": "document", "in": "path", "description": "", "required": true, "schema": { "type": "string" } }, { "name": "tag", "in": "path", "description": "", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "Successful response", "content": { "application\/json": {} } } } } }, "\/api\/documents\/{document}\/locations": { "get": { "tags": [ "document-locations" ], "parameters": [ { "name": "document", "in": "path", "description": "", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "Successful response", "content": { "application\/json": {} } } } } }, "\/api\/documents\/{document}\/locations\/{location}": { "post": { "tags": [ "document-locations" ], "parameters": [ { "name": "document", "in": "path", "description": "", "required": true, "schema": { "type": "string" } }, { "name": "location", "in": "path", "description": "", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "Successful response", "content": { "application\/json": {} } } } }, "delete": { "tags": [ "document-locations" ], "parameters": [ { "name": "document", "in": "path", "description": "", "required": true, "schema": { "type": "string" } }, { "name": "location", "in": "path", "description": "", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "Successful response", "content": { "application\/json": {} } } } } }, "\/api\/documents\/{document}\/collections": { "get": { "tags": [ "document--collections" ], "parameters": [ { "name": "document", "in": "path", "description": "", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "Successful response", "content": { "application\/json": {} } } } } }, "\/api\/documents\/{document}\/collections\/{collection}": { "post": { "tags": [ "document--collections" ], "parameters": [ { "name": "document", "in": "path", "description": "", "required": true, "schema": { "type": "string" } }, { "name": "collection", "in": "path", "description": "", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "Successful response", "content": { "application\/json": {} } } } }, "delete": { "tags": [ "document--collections" ], "parameters": [ { "name": "document", "in": "path", "description": "", "required": true, "schema": { "type": "string" } }, { "name": "collection", "in": "path", "description": "", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "Successful response", "content": { "application\/json": {} } } } } }, "\/api\/documents\/{document}\/creators": { "get": { "tags": [ "document--creators" ], "parameters": [ { "name": "document", "in": "path", "description": "", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "Successful response", "content": { "application\/json": {} } } } } }, "\/api\/documents\/{document}\/creators\/{creator}": { "post": { "tags": [ "document--creators" ], "parameters": [ { "name": "document", "in": "path", "description": "", "required": true, "schema": { "type": "string" } }, { "name": "creator", "in": "path", "description": "", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "Successful response", "content": { "application\/json": {} } } } }, "delete": { "tags": [ "document--creators" ], "parameters": [ { "name": "document", "in": "path", "description": "", "required": true, "schema": { "type": "string" } }, { "name": "creator", "in": "path", "description": "", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "Successful response", "content": { "application\/json": {} } } } } }, "\/api\/collections": { "get": { "tags": [ "collection" ], "responses": { "200": { "description": "Successful response", "content": { "application\/json": {} } } } }, "post": { "tags": [ "collection" ], "responses": { "200": { "description": "Successful response", "content": { "application\/json": {} } } } } }, "\/api\/collections\/{collection}": { "get": { "tags": [ "collection" ], "parameters": [ { "name": "collection", "in": "path", "description": "", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "Successful response", "content": { "application\/json": {} } } } }, "put": { "tags": [ "collection" ], "parameters": [ { "name": "collection", "in": "path", "description": "", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "Successful response", "content": { "application\/json": {} } } } }, "delete": { "tags": [ "collection" ], "parameters": [ { "name": "collection", "in": "path", "description": "", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "Successful response", "content": { "application\/json": {} } } } } }, "\/api\/collections\/{collection}\/documents": { "get": { "tags": [ "collection-documents" ], "parameters": [ { "name": "collection", "in": "path", "description": "", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "Successful response", "content": { "application\/json": {} } } } } }, "\/api\/collections\/{collection}\/documents\/{document}": { "post": { "tags": [ "collection-documents" ], "parameters": [ { "name": "collection", "in": "path", "description": "", "required": true, "schema": { "type": "string" } }, { "name": "document", "in": "path", "description": "", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "Successful response", "content": { "application\/json": {} } } } }, "delete": { "tags": [ "collection-documents" ], "parameters": [ { "name": "collection", "in": "path", "description": "", "required": true, "schema": { "type": "string" } }, { "name": "document", "in": "path", "description": "", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "Successful response", "content": { "application\/json": {} } } } } }, "\/api\/tags": { "get": { "tags": [ "tag" ], "responses": { "200": { "description": "Successful response", "content": { "application\/json": {} } } } }, "post": { "tags": [ "tag" ], "responses": { "200": { "description": "Successful response", "content": { "application\/json": {} } } } } }, "\/api\/tags\/{tag}": { "get": { "tags": [ "tag" ], "parameters": [ { "name": "tag", "in": "path", "description": "", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "Successful response", "content": { "application\/json": {} } } } }, "put": { "tags": [ "tag" ], "parameters": [ { "name": "tag", "in": "path", "description": "", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "Successful response", "content": { "application\/json": {} } } } }, "delete": { "tags": [ "tag" ], "parameters": [ { "name": "tag", "in": "path", "description": "", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "Successful response", "content": { "application\/json": {} } } } } }, "\/api\/tags\/{tag}\/documents": { "get": { "tags": [ "tag-documents" ], "parameters": [ { "name": "tag", "in": "path", "description": "", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "Successful response", "content": { "application\/json": {} } } } } }, "\/api\/tags\/{tag}\/documents\/{document}": { "post": { "tags": [ "tag-documents" ], "parameters": [ { "name": "tag", "in": "path", "description": "", "required": true, "schema": { "type": "string" } }, { "name": "document", "in": "path", "description": "", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "Successful response", "content": { "application\/json": {} } } } }, "delete": { "tags": [ "tag-documents" ], "parameters": [ { "name": "tag", "in": "path", "description": "", "required": true, "schema": { "type": "string" } }, { "name": "document", "in": "path", "description": "", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "Successful response", "content": { "application\/json": {} } } } } }, "\/api\/users": { "get": { "tags": [ "user" ], "responses": { "200": { "description": "Successful response", "content": { "application\/json": {} } } } }, "post": { "tags": [ "user" ], "responses": { "200": { "description": "Successful response", "content": { "application\/json": {} } } } } }, "\/api\/users\/{user}": { "get": { "tags": [ "user" ], "parameters": [ { "name": "user", "in": "path", "description": "", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "Successful response", "content": { "application\/json": {} } } } }, "put": { "tags": [ "user" ], "parameters": [ { "name": "user", "in": "path", "description": "", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "Successful response", "content": { "application\/json": {} } } } }, "delete": { "tags": [ "user" ], "parameters": [ { "name": "user", "in": "path", "description": "", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "Successful response", "content": { "application\/json": {} } } } } }, "\/api\/users\/{user}\/activities": { "get": { "tags": [ "user-activities" ], "parameters": [ { "name": "user", "in": "path", "description": "", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "Successful response", "content": { "application\/json": {} } } } }, "post": { "tags": [ "user-activities" ], "parameters": [ { "name": "user", "in": "path", "description": "", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "Successful response", "content": { "application\/json": {} } } } } }, "\/api\/languages": { "get": { "tags": [ "language" ], "responses": { "200": { "description": "Successful response", "content": { "application\/json": {} } } } }, "post": { "tags": [ "language" ], "responses": { "200": { "description": "Successful response", "content": { "application\/json": {} } } } } }, "\/api\/languages\/{language}": { "get": { "tags": [ "language" ], "parameters": [ { "name": "language", "in": "path", "description": "", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "Successful response", "content": { "application\/json": {} } } } }, "put": { "tags": [ "language" ], "parameters": [ { "name": "language", "in": "path", "description": "", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "Successful response", "content": { "application\/json": {} } } } }, "delete": { "tags": [ "language" ], "parameters": [ { "name": "language", "in": "path", "description": "", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "Successful response", "content": { "application\/json": {} } } } } }, "\/api\/languages\/{language}\/documents": { "get": { "tags": [ "language-documents" ], "parameters": [ { "name": "language", "in": "path", "description": "", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "Successful response", "content": { "application\/json": {} } } } } }, "\/api\/languages\/{language}\/documents\/{document}": { "post": { "tags": [ "language-documents" ], "parameters": [ { "name": "language", "in": "path", "description": "", "required": true, "schema": { "type": "string" } }, { "name": "document", "in": "path", "description": "", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "Successful response", "content": { "application\/json": {} } } } }, "delete": { "tags": [ "language-documents" ], "parameters": [ { "name": "language", "in": "path", "description": "", "required": true, "schema": { "type": "string" } }, { "name": "document", "in": "path", "description": "", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "Successful response", "content": { "application\/json": {} } } } } }, "\/api\/locations": { "get": { "tags": [ "location" ], "responses": { "200": { "description": "Successful response", "content": { "application\/json": {} } } } }, "post": { "tags": [ "location" ], "responses": { "200": { "description": "Successful response", "content": { "application\/json": {} } } } } }, "\/api\/locations\/{location}": { "get": { "tags": [ "location" ], "parameters": [ { "name": "location", "in": "path", "description": "", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "Successful response", "content": { "application\/json": {} } } } }, "put": { "tags": [ "location" ], "parameters": [ { "name": "location", "in": "path", "description": "", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "Successful response", "content": { "application\/json": {} } } } }, "delete": { "tags": [ "location" ], "parameters": [ { "name": "location", "in": "path", "description": "", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "Successful response", "content": { "application\/json": {} } } } } }, "\/api\/locations\/{location}\/documents": { "get": { "tags": [ "location-documents" ], "parameters": [ { "name": "location", "in": "path", "description": "", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "Successful response", "content": { "application\/json": {} } } } } }, "\/api\/locations\/{location}\/documents\/{document}": { "post": { "tags": [ "location-documents" ], "parameters": [ { "name": "location", "in": "path", "description": "", "required": true, "schema": { "type": "string" } }, { "name": "document", "in": "path", "description": "", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "Successful response", "content": { "application\/json": {} } } } }, "delete": { "tags": [ "location-documents" ], "parameters": [ { "name": "location", "in": "path", "description": "", "required": true, "schema": { "type": "string" } }, { "name": "document", "in": "path", "description": "", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "Successful response", "content": { "application\/json": {} } } } } }, "\/api\/creators": { "get": { "tags": [ "creator" ], "responses": { "200": { "description": "Successful response", "content": { "application\/json": {} } } } }, "post": { "tags": [ "creator" ], "responses": { "200": { "description": "Successful response", "content": { "application\/json": {} } } } } }, "\/api\/creators\/{creator}": { "get": { "tags": [ "creator" ], "parameters": [ { "name": "creator", "in": "path", "description": "", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "Successful response", "content": { "application\/json": {} } } } }, "put": { "tags": [ "creator" ], "parameters": [ { "name": "creator", "in": "path", "description": "", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "Successful response", "content": { "application\/json": {} } } } }, "delete": { "tags": [ "creator" ], "parameters": [ { "name": "creator", "in": "path", "description": "", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "Successful response", "content": { "application\/json": {} } } } } }, "\/api\/creators\/{creator}\/documents": { "get": { "tags": [ "creator-documents" ], "parameters": [ { "name": "creator", "in": "path", "description": "", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "Successful response", "content": { "application\/json": {} } } } } }, "\/api\/creators\/{creator}\/documents\/{document}": { "post": { "tags": [ "creator-documents" ], "parameters": [ { "name": "creator", "in": "path", "description": "", "required": true, "schema": { "type": "string" } }, { "name": "document", "in": "path", "description": "", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "Successful response", "content": { "application\/json": {} } } } }, "delete": { "tags": [ "creator-documents" ], "parameters": [ { "name": "creator", "in": "path", "description": "", "required": true, "schema": { "type": "string" } }, { "name": "document", "in": "path", "description": "", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "Successful response", "content": { "application\/json": {} } } } } }, "\/api\/editions": { "get": { "tags": [ "edition" ], "responses": { "200": { "description": "Successful response", "content": { "application\/json": {} } } } }, "post": { "tags": [ "edition" ], "responses": { "200": { "description": "Successful response", "content": { "application\/json": {} } } } } }, "\/api\/editions\/{edition}": { "get": { "tags": [ "edition" ], "parameters": [ { "name": "edition", "in": "path", "description": "", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "Successful response", "content": { "application\/json": {} } } } }, "put": { "tags": [ "edition" ], "parameters": [ { "name": "edition", "in": "path", "description": "", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "Successful response", "content": { "application\/json": {} } } } }, "delete": { "tags": [ "edition" ], "parameters": [ { "name": "edition", "in": "path", "description": "", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "Successful response", "content": { "application\/json": {} } } } } }, "\/api\/activities": { "get": { "tags": [ "activity" ], "responses": { "200": { "description": "Successful response", "content": { "application\/json": {} } } } }, "post": { "tags": [ "activity" ], "responses": { "200": { "description": "Successful response", "content": { "application\/json": {} } } } } }, "\/api\/activities\/{activity}": { "get": { "tags": [ "activity" ], "parameters": [ { "name": "activity", "in": "path", "description": "", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "Successful response", "content": { "application\/json": {} } } } }, "put": { "tags": [ "activity" ], "parameters": [ { "name": "activity", "in": "path", "description": "", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "Successful response", "content": { "application\/json": {} } } } }, "delete": { "tags": [ "activity" ], "parameters": [ { "name": "activity", "in": "path", "description": "", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "Successful response", "content": { "application\/json": {} } } } } } }, "components": { "schemas": { "Document": { "type": "object", "properties": { "content_html": { "type": "string" } } }, "Login": { "type": "object", "properties": { "email": { "type": "string" }, "password": { "type": "string" } } } }, "responses": { "ValidationErrors": { "description": "Validation errors", "content": { "application\/json": { "schema": { "type": "object", "properties": { "message": { "type": "string", "example": "The given data was invalid." }, "errors": { "type": "object", "additionalProperties": { "type": "array", "items": { "type": "string" } }, "example": { "field": [ "first error", "second error", "X error" ] } } } } } } } } }, "tags": [ { "name": "auth", "description": "Application auth related endpoints" } ] }