diff --git a/DEVELOPING.md b/DEVELOPING.md index 3e0a1516ef..1d46c0a318 100644 --- a/DEVELOPING.md +++ b/DEVELOPING.md @@ -35,10 +35,11 @@ Our monorepo comes with few preconfigured 1. Open root folder of this repo in VS Code. 2. Install lerna globally `npm i -g lerna` 3. Run `lerna bootstrap` -4. Create .env files for all the micro service packages. -5. Run DB migrations using `lerna run db:migrate`. -6. Build all microservices in one go - `lerna run build`. -7. Run `lerna run start` to start all the micro services in one go. +4. Run `npm i` +5. Create .env files for all the micro service packages. +6. Run DB migrations using `lerna run db:migrate`. +7. Build all microservices in one go - `lerna run build`. +8. Run `lerna run start` to start all the micro services in one go. ## Building the project diff --git a/README.md b/README.md index d0df27621a..70d9b10c52 100644 --- a/README.md +++ b/README.md @@ -1,11 +1,11 @@ -# loopback4-microservice-catalog +# Sourceloop [![LoopBack](https://github.com/strongloop/loopback-next/raw/master/docs/site/imgs/branding/Powered-by-LoopBack-Badge-(blue)-@2x.png)](http://loopback.io/) [![lerna](https://img.shields.io/badge/maintained%20with-lerna-cc00ff.svg)](https://lerna.js.org/) [![Commitizen friendly](https://img.shields.io/badge/commitizen-friendly-brightgreen.svg)](http://commitizen.github.io/cz-cli/) -The `loopback4-microservice-catalog` is a collection of pre-built microservices that aim to reduce time to market for Enterprise projects. Large enterprises usually face a similar set of challenges when developing cloud native platforms as part of digital transformation efforts or the creation of new products. The services are implemented as [LoopBack Extensions](https://loopback.io/doc/en/lb4/Extending-LoopBack-4.html), allowing you to install them into existing LoopBack applications or use the [LoopBack Command-line interface](https://loopback.io/doc/en/lb4/Command-line-interface.html) to generate standalone services. Our recommended approach is to deploy these services as standalone micro-services in Docker. +The `Sourceloop` is a collection of pre-built microservices that aim to reduce time to market for Enterprise projects. Large enterprises usually face a similar set of challenges when developing cloud native platforms as part of digital transformation efforts or the creation of new products. The services are implemented as [LoopBack Extensions](https://loopback.io/doc/en/lb4/Extending-LoopBack-4.html), allowing you to install them into existing LoopBack applications or use the [LoopBack Command-line interface](https://loopback.io/doc/en/lb4/Command-line-interface.html) to generate standalone services. Our recommended approach is to deploy these services as standalone micro-services in Docker. The current catalog consists of the following services: @@ -28,7 +28,7 @@ This repository also contains a set of example projects in the [sandbox](sandbox ## Table of Contents -- [loopback4-microservice-catalog](#loopback4-microservice-catalog) +- [Sourceloop](#Sourceloop) * [Table of Contents](#table-of-contents) + [Long Term Support](#long-term-support) + [Documentation](#documentation) @@ -212,15 +212,15 @@ You can now run the example service with `npm start`. ### DataSources and Migrations -The `loopback4-microservice-catalog` can support any Loopback 4 [DataSource](https://loopback.io/doc/en/lb4/DataSource.html). While you may see existing `DataSource`s and [Database Migrations](https://loopback.io/doc/en/lb4/Database-migrations.html#overview), it is not mandatory to use them. +The `Sourceloop` can support any Loopback 4 [DataSource](https://loopback.io/doc/en/lb4/DataSource.html). While you may see existing `DataSource`s and [Database Migrations](https://loopback.io/doc/en/lb4/Database-migrations.html#overview), it is not mandatory to use them. ### Production Deployment -Inside of the `sandbox` folder, you will find example applications and Dockerfiles for each application. The `loopback4-microservice-catalog` is agnostic of the Docker deployment strategy. Deploy the services into the platform of your choice. +Inside of the `sandbox` folder, you will find example applications and Dockerfiles for each application. The `Sourceloop` is agnostic of the Docker deployment strategy. Deploy the services into the platform of your choice. ### Related Projects -The `loopback4-microservice-catalog` utilizes many extensions created by SourceFuse. +The `Sourceloop` utilizes many extensions created by SourceFuse. * [sourcefuse/loopback4-ratelimiter: A rate limiting extension for loopback4 applications (github.com)](https://github.com/sourcefuse/loopback4-ratelimiter) * [sourcefuse/loopback4-notifications: An extension for setting up various notification mechanisms in loopback4 application, vis-a-vis, Push notification, SMS notification, Email notification (github.com)](https://github.com/sourcefuse/loopback4-notifications) @@ -234,7 +234,7 @@ The `loopback4-microservice-catalog` utilizes many extensions created by SourceF ### Feedback -If you've noticed a bug or have a question or have a feature request, [search the issue tracker]([Issues · sourcefuse/loopback4-microservice-catalog · GitHub](https://github.com/sourcefuse/loopback4-microservice-catalog/issues)) to see if someone else in the community has already created a ticket. If not, go ahead and [make one](https://github.com/sourcefuse/loopback4-microservice-catalog/issues/new/choose)! All feature requests are welcome. Implementation time may vary. Feel free to contribute the same, if you can. If you think this extension is useful, please [star](https://help.github.com/en/articles/about-stars) it. Appreciation really helps in keeping this project alive. +If you've noticed a bug or have a question or have a feature request, [search the issue tracker]([Issues · sourcefuse/loopback4-microservices-catalog · GitHub](https://github.com/sourcefuse/loopback4-microservice-catalog/issues)) to see if someone else in the community has already created a ticket. If not, go ahead and [make one](https://github.com/sourcefuse/loopback4-microservice-catalog/issues/new/choose)! All feature requests are welcome. Implementation time may vary. Feel free to contribute the same, if you can. If you think this extension is useful, please [star](https://help.github.com/en/articles/about-stars) it. Appreciation really helps in keeping this project alive. ### Contributing diff --git a/sandbox/audit-ms-example/README.md b/sandbox/audit-ms-example/README.md index 29cbee5a13..3acf7d04ba 100644 --- a/sandbox/audit-ms-example/README.md +++ b/sandbox/audit-ms-example/README.md @@ -1,3 +1,7 @@ # auth-multitenant-example [![LoopBack](https://github.com/strongloop/loopback-next/raw/master/docs/site/imgs/branding/Powered-by-LoopBack-Badge-(blue)-@2x.png)](http://loopback.io/) + +#### API Details + +Visit the [OpenAPI spec docs](./openapi.md) \ No newline at end of file diff --git a/sandbox/audit-ms-example/openapi.md b/sandbox/audit-ms-example/openapi.md new file mode 100644 index 0000000000..c11eb415a9 --- /dev/null +++ b/sandbox/audit-ms-example/openapi.md @@ -0,0 +1,1477 @@ +--- +title: Audit Service v1.0.0 +language_tabs: + - "'javascript": JavaScript + - "'javascript--nodejs": Node.JS' +language_clients: + - "'javascript": request' + - "'javascript--nodejs": "" +toc_footers: [] +includes: [] +search: false +highlight_theme: darkula +headingLevel: 2 + +--- + + + +

Audit Service v1.0.0

+ +> Scroll down for code samples, example requests and responses. Select a language for code samples from the tabs above or the mobile navigation menu. + +An audit microservice example + +Base URLs: + +* http://localhost:3000 + +# Authentication + +- HTTP Authentication, scheme: bearer + +

AuditController

+ +## AuditController.count + + + +> Code samples + +```'javascript--nodejs +const fetch = require('node-fetch'); + +const headers = { + 'Accept':'application/json', + 'Authorization':'Bearer {access-token}' +}; + +fetch('http://localhost:3000/audit-logs/count', +{ + method: 'GET', + + headers: headers +}) +.then(function(res) { + return res.json(); +}).then(function(body) { + console.log(body); +}); + +``` + +`GET /audit-logs/count` + +

Parameters

+ +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|where|query|object|false|none| + +> Example responses + +> 200 Response + +```json +{ + "count": 0 +} +``` + +

Responses

+ +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|AuditLog model count|[loopback.Count](#schemaloopback.count)| + + + +## AuditController.findById + + + +> Code samples + +```'javascript--nodejs +const fetch = require('node-fetch'); + +const headers = { + 'Accept':'application/json', + 'Authorization':'Bearer {access-token}' +}; + +fetch('http://localhost:3000/audit-logs/{id}', +{ + method: 'GET', + + headers: headers +}) +.then(function(res) { + return res.json(); +}).then(function(body) { + console.log(body); +}); + +``` + +`GET /audit-logs/{id}` + +

Parameters

+ +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|id|path|string|true|none| +|filter|query|[audit_logs.Filter](#schemaaudit_logs.filter)|false|none| + +> Example responses + +> 200 Response + +```json +{ + "id": "string", + "action": "string", + "actedAt": "2019-08-24T14:15:22Z", + "actedOn": "string", + "actionKey": "string", + "entityId": "string", + "actor": "string", + "before": {}, + "after": {}, + "actionGroup": "string" +} +``` + +

Responses

+ +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|AuditLog model instance|[AuditLogWithRelations](#schemaauditlogwithrelations)| + + + +## AuditController.create + + + +> Code samples + +```'javascript--nodejs +const fetch = require('node-fetch'); +const inputBody = { + "action": "string", + "actedAt": "2019-08-24T14:15:22Z", + "actedOn": "string", + "actionKey": "string", + "entityId": "string", + "actor": "string", + "before": {}, + "after": {}, + "actionGroup": "string" +}; +const headers = { + 'Content-Type':'application/json', + 'Accept':'application/json', + 'Authorization':'Bearer {access-token}' +}; + +fetch('http://localhost:3000/audit-logs', +{ + method: 'POST', + body: JSON.stringify(inputBody), + headers: headers +}) +.then(function(res) { + return res.json(); +}).then(function(body) { + console.log(body); +}); + +``` + +`POST /audit-logs` + +> Body parameter + +```json +{ + "action": "string", + "actedAt": "2019-08-24T14:15:22Z", + "actedOn": "string", + "actionKey": "string", + "entityId": "string", + "actor": "string", + "before": {}, + "after": {}, + "actionGroup": "string" +} +``` + +

Parameters

+ +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|body|body|[NewAuditLog](#schemanewauditlog)|false|none| + +> Example responses + +> 200 Response + +```json +{ + "id": "string", + "action": "string", + "actedAt": "2019-08-24T14:15:22Z", + "actedOn": "string", + "actionKey": "string", + "entityId": "string", + "actor": "string", + "before": {}, + "after": {}, + "actionGroup": "string" +} +``` + +

Responses

+ +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|AuditLog model instance|[AuditLog](#schemaauditlog)| + + + +## AuditController.find + + + +> Code samples + +```'javascript--nodejs +const fetch = require('node-fetch'); + +const headers = { + 'Accept':'application/json', + 'Authorization':'Bearer {access-token}' +}; + +fetch('http://localhost:3000/audit-logs', +{ + method: 'GET', + + headers: headers +}) +.then(function(res) { + return res.json(); +}).then(function(body) { + console.log(body); +}); + +``` + +`GET /audit-logs` + +

Parameters

+ +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|filter|query|[audit_logs.Filter1](#schemaaudit_logs.filter1)|false|none| + +> Example responses + +> 200 Response + +```json +[ + { + "id": "string", + "action": "string", + "actedAt": "2019-08-24T14:15:22Z", + "actedOn": "string", + "actionKey": "string", + "entityId": "string", + "actor": "string", + "before": {}, + "after": {}, + "actionGroup": "string" + } +] +``` + +

Responses

+ +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|Array of AuditLog model instances|Inline| + +

Response Schema

+ +Status Code **200** + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|*anonymous*|[[AuditLogWithRelations](#schemaauditlogwithrelations)]|false|none|[(tsType: AuditLogWithRelations, schemaOptions: { includeRelations: true })]| +|» AuditLogWithRelations|[AuditLogWithRelations](#schemaauditlogwithrelations)|false|none|(tsType: AuditLogWithRelations, schemaOptions: { includeRelations: true })| +|»» id|string|false|none|none| +|»» action|string|true|none|none| +|»» actedAt|string(date-time)|true|none|none| +|»» actedOn|string|false|none|none| +|»» actionKey|string|true|none|none| +|»» entityId|string|true|none|none| +|»» actor|string|true|none|none| +|»» before|object|false|none|none| +|»» after|object|false|none|none| +|»» actionGroup|string|false|none|none| + + + +

ToDoController

+ +## ToDoController.count + + + +> Code samples + +```'javascript--nodejs +const fetch = require('node-fetch'); + +const headers = { + 'Accept':'application/json' +}; + +fetch('http://localhost:3000/to-dos/count', +{ + method: 'GET', + + headers: headers +}) +.then(function(res) { + return res.json(); +}).then(function(body) { + console.log(body); +}); + +``` + +`GET /to-dos/count` + +

Parameters

+ +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|where|query|object|false|none| + +> Example responses + +> 200 Response + +```json +{ + "count": 0 +} +``` + +

Responses

+ +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|ToDo model count|[loopback.Count](#schemaloopback.count)| + + + +## ToDoController.replaceById + + + +> Code samples + +```'javascript--nodejs +const fetch = require('node-fetch'); +const inputBody = { + "id": "string", + "title": "string", + "description": "string", + "items": [ + "string" + ] +}; +const headers = { + 'Content-Type':'application/json', + 'Accept':'application/json' +}; + +fetch('http://localhost:3000/to-dos/{id}', +{ + method: 'PUT', + body: JSON.stringify(inputBody), + headers: headers +}) +.then(function(res) { + return res.json(); +}).then(function(body) { + console.log(body); +}); + +``` + +`PUT /to-dos/{id}` + +> Body parameter + +```json +{ + "id": "string", + "title": "string", + "description": "string", + "items": [ + "string" + ] +} +``` + +

Parameters

+ +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|id|path|string|true|none| +|body|body|[ToDo](#schematodo)|false|none| + +> Example responses + +> 204 Response + +```json +null +``` + +

Responses

+ +|Status|Meaning|Description|Schema| +|---|---|---|---| +|204|[No Content](https://tools.ietf.org/html/rfc7231#section-6.3.5)|No Content|Inline| + +

Response Schema

+ +Status Code **204** + +*ToDo PUT success* + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| + + + +## ToDoController.updateById + + + +> Code samples + +```'javascript--nodejs +const fetch = require('node-fetch'); +const inputBody = { + "id": "string", + "title": "string", + "description": "string", + "items": [ + "string" + ] +}; +const headers = { + 'Content-Type':'application/json', + 'Accept':'application/json' +}; + +fetch('http://localhost:3000/to-dos/{id}', +{ + method: 'PATCH', + body: JSON.stringify(inputBody), + headers: headers +}) +.then(function(res) { + return res.json(); +}).then(function(body) { + console.log(body); +}); + +``` + +`PATCH /to-dos/{id}` + +> Body parameter + +```json +{ + "id": "string", + "title": "string", + "description": "string", + "items": [ + "string" + ] +} +``` + +

Parameters

+ +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|id|path|string|true|none| +|body|body|[ToDoPartial](#schematodopartial)|false|none| + +> Example responses + +> 204 Response + +```json +null +``` + +

Responses

+ +|Status|Meaning|Description|Schema| +|---|---|---|---| +|204|[No Content](https://tools.ietf.org/html/rfc7231#section-6.3.5)|No Content|Inline| + +

Response Schema

+ +Status Code **204** + +*ToDo PATCH success* + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| + + + +## ToDoController.findById + + + +> Code samples + +```'javascript--nodejs +const fetch = require('node-fetch'); + +const headers = { + 'Accept':'application/json' +}; + +fetch('http://localhost:3000/to-dos/{id}', +{ + method: 'GET', + + headers: headers +}) +.then(function(res) { + return res.json(); +}).then(function(body) { + console.log(body); +}); + +``` + +`GET /to-dos/{id}` + +

Parameters

+ +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|id|path|string|true|none| +|filter|query|[ToDo.Filter](#schematodo.filter)|false|none| + +> Example responses + +> 200 Response + +```json +{ + "id": "string", + "title": "string", + "description": "string", + "items": [ + "string" + ] +} +``` + +

Responses

+ +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|ToDo model instance|[ToDoWithRelations](#schematodowithrelations)| + + + +## ToDoController.deleteById + + + +> Code samples + +```'javascript--nodejs +const fetch = require('node-fetch'); + +const headers = { + 'Accept':'application/json' +}; + +fetch('http://localhost:3000/to-dos/{id}', +{ + method: 'DELETE', + + headers: headers +}) +.then(function(res) { + return res.json(); +}).then(function(body) { + console.log(body); +}); + +``` + +`DELETE /to-dos/{id}` + +

Parameters

+ +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|id|path|string|true|none| + +> Example responses + +> 204 Response + +```json +null +``` + +

Responses

+ +|Status|Meaning|Description|Schema| +|---|---|---|---| +|204|[No Content](https://tools.ietf.org/html/rfc7231#section-6.3.5)|No Content|Inline| + +

Response Schema

+ +Status Code **204** + +*ToDo DELETE success* + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| + + + +## ToDoController.create + + + +> Code samples + +```'javascript--nodejs +const fetch = require('node-fetch'); +const inputBody = { + "title": "string", + "description": "string", + "items": [ + "string" + ] +}; +const headers = { + 'Content-Type':'application/json', + 'Accept':'application/json' +}; + +fetch('http://localhost:3000/to-dos', +{ + method: 'POST', + body: JSON.stringify(inputBody), + headers: headers +}) +.then(function(res) { + return res.json(); +}).then(function(body) { + console.log(body); +}); + +``` + +`POST /to-dos` + +> Body parameter + +```json +{ + "title": "string", + "description": "string", + "items": [ + "string" + ] +} +``` + +

Parameters

+ +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|body|body|[NewToDo](#schemanewtodo)|false|none| + +> Example responses + +> 200 Response + +```json +{ + "id": "string", + "title": "string", + "description": "string", + "items": [ + "string" + ] +} +``` + +

Responses

+ +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|ToDo model instance|[ToDo](#schematodo)| + + + +## ToDoController.updateAll + + + +> Code samples + +```'javascript--nodejs +const fetch = require('node-fetch'); +const inputBody = { + "id": "string", + "title": "string", + "description": "string", + "items": [ + "string" + ] +}; +const headers = { + 'Content-Type':'application/json', + 'Accept':'application/json' +}; + +fetch('http://localhost:3000/to-dos', +{ + method: 'PATCH', + body: JSON.stringify(inputBody), + headers: headers +}) +.then(function(res) { + return res.json(); +}).then(function(body) { + console.log(body); +}); + +``` + +`PATCH /to-dos` + +> Body parameter + +```json +{ + "id": "string", + "title": "string", + "description": "string", + "items": [ + "string" + ] +} +``` + +

Parameters

+ +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|where|query|object|false|none| +|body|body|[ToDoPartial](#schematodopartial)|false|none| + +> Example responses + +> 200 Response + +```json +{ + "count": 0 +} +``` + +

Responses

+ +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|ToDo PATCH success count|[loopback.Count](#schemaloopback.count)| + + + +## ToDoController.find + + + +> Code samples + +```'javascript--nodejs +const fetch = require('node-fetch'); + +const headers = { + 'Accept':'application/json' +}; + +fetch('http://localhost:3000/to-dos', +{ + method: 'GET', + + headers: headers +}) +.then(function(res) { + return res.json(); +}).then(function(body) { + console.log(body); +}); + +``` + +`GET /to-dos` + +

Parameters

+ +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|filter|query|[ToDo.Filter1](#schematodo.filter1)|false|none| + +> Example responses + +> 200 Response + +```json +[ + { + "id": "string", + "title": "string", + "description": "string", + "items": [ + "string" + ] + } +] +``` + +

Responses

+ +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|Array of ToDo model instances|Inline| + +

Response Schema

+ +Status Code **200** + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|*anonymous*|[[ToDoWithRelations](#schematodowithrelations)]|false|none|[(tsType: ToDoWithRelations, schemaOptions: { includeRelations: true })]| +|» ToDoWithRelations|[ToDoWithRelations](#schematodowithrelations)|false|none|(tsType: ToDoWithRelations, schemaOptions: { includeRelations: true })| +|»» id|string|false|none|none| +|»» title|string|true|none|none| +|»» description|string|true|none|none| +|»» items|[string]|false|none|none| + + + +# Schemas + +

AuditLog

+ + + + + + +```json +{ + "id": "string", + "action": "string", + "actedAt": "2019-08-24T14:15:22Z", + "actedOn": "string", + "actionKey": "string", + "entityId": "string", + "actor": "string", + "before": {}, + "after": {}, + "actionGroup": "string" +} + +``` + +AuditLog + +### Properties + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|id|string|false|none|none| +|action|string|true|none|none| +|actedAt|string(date-time)|true|none|none| +|actedOn|string|false|none|none| +|actionKey|string|true|none|none| +|entityId|string|true|none|none| +|actor|string|true|none|none| +|before|object|false|none|none| +|after|object|false|none|none| +|actionGroup|string|false|none|none| + +

NewAuditLog

+ + + + + + +```json +{ + "action": "string", + "actedAt": "2019-08-24T14:15:22Z", + "actedOn": "string", + "actionKey": "string", + "entityId": "string", + "actor": "string", + "before": {}, + "after": {}, + "actionGroup": "string" +} + +``` + +NewAuditLog + +### Properties + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|action|string|true|none|none| +|actedAt|string(date-time)|true|none|none| +|actedOn|string|false|none|none| +|actionKey|string|true|none|none| +|entityId|string|true|none|none| +|actor|string|true|none|none| +|before|object|false|none|none| +|after|object|false|none|none| +|actionGroup|string|false|none|none| + +

AuditLogWithRelations

+ + + + + + +```json +{ + "id": "string", + "action": "string", + "actedAt": "2019-08-24T14:15:22Z", + "actedOn": "string", + "actionKey": "string", + "entityId": "string", + "actor": "string", + "before": {}, + "after": {}, + "actionGroup": "string" +} + +``` + +AuditLogWithRelations + +### Properties + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|id|string|false|none|none| +|action|string|true|none|none| +|actedAt|string(date-time)|true|none|none| +|actedOn|string|false|none|none| +|actionKey|string|true|none|none| +|entityId|string|true|none|none| +|actor|string|true|none|none| +|before|object|false|none|none| +|after|object|false|none|none| +|actionGroup|string|false|none|none| + +

ToDo

+ + + + + + +```json +{ + "id": "string", + "title": "string", + "description": "string", + "items": [ + "string" + ] +} + +``` + +ToDo + +### Properties + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|id|string|false|none|none| +|title|string|true|none|none| +|description|string|true|none|none| +|items|[string]|false|none|none| + +

NewToDo

+ + + + + + +```json +{ + "title": "string", + "description": "string", + "items": [ + "string" + ] +} + +``` + +NewToDo + +### Properties + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|title|string|true|none|none| +|description|string|true|none|none| +|items|[string]|false|none|none| + +

ToDoWithRelations

+ + + + + + +```json +{ + "id": "string", + "title": "string", + "description": "string", + "items": [ + "string" + ] +} + +``` + +ToDoWithRelations + +### Properties + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|id|string|false|none|none| +|title|string|true|none|none| +|description|string|true|none|none| +|items|[string]|false|none|none| + +

ToDoPartial

+ + + + + + +```json +{ + "id": "string", + "title": "string", + "description": "string", + "items": [ + "string" + ] +} + +``` + +ToDoPartial + +### Properties + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|id|string|false|none|none| +|title|string|false|none|none| +|description|string|false|none|none| +|items|[string]|false|none|none| + +

loopback.Count

+ + + + + + +```json +{ + "count": 0 +} + +``` + +loopback.Count + +### Properties + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|count|number|false|none|none| + +

audit_logs.Filter

+ + + + + + +```json +{ + "offset": 0, + "limit": 100, + "skip": 0, + "order": "string", + "fields": { + "id": true, + "action": true, + "actedAt": true, + "actedOn": true, + "actionKey": true, + "entityId": true, + "actor": true, + "before": true, + "after": true, + "actionGroup": true + } +} + +``` + +audit_logs.Filter + +### Properties + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|offset|integer|false|none|none| +|limit|integer|false|none|none| +|skip|integer|false|none|none| +|order|any|false|none|none| + +oneOf + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|» *anonymous*|string|false|none|none| + +xor + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|» *anonymous*|[string]|false|none|none| + +continued + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|fields|any|false|none|none| + +oneOf + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|» *anonymous*|object|false|none|none| +|»» id|boolean|false|none|none| +|»» action|boolean|false|none|none| +|»» actedAt|boolean|false|none|none| +|»» actedOn|boolean|false|none|none| +|»» actionKey|boolean|false|none|none| +|»» entityId|boolean|false|none|none| +|»» actor|boolean|false|none|none| +|»» before|boolean|false|none|none| +|»» after|boolean|false|none|none| +|»» actionGroup|boolean|false|none|none| + +xor + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|» *anonymous*|[string]|false|none|none| + +

audit_logs.Filter1

+ + + + + + +```json +{ + "offset": 0, + "limit": 100, + "skip": 0, + "order": "string", + "where": {}, + "fields": { + "id": true, + "action": true, + "actedAt": true, + "actedOn": true, + "actionKey": true, + "entityId": true, + "actor": true, + "before": true, + "after": true, + "actionGroup": true + } +} + +``` + +audit_logs.Filter + +### Properties + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|offset|integer|false|none|none| +|limit|integer|false|none|none| +|skip|integer|false|none|none| +|order|any|false|none|none| + +oneOf + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|» *anonymous*|string|false|none|none| + +xor + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|» *anonymous*|[string]|false|none|none| + +continued + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|where|object|false|none|none| +|fields|any|false|none|none| + +oneOf + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|» *anonymous*|object|false|none|none| +|»» id|boolean|false|none|none| +|»» action|boolean|false|none|none| +|»» actedAt|boolean|false|none|none| +|»» actedOn|boolean|false|none|none| +|»» actionKey|boolean|false|none|none| +|»» entityId|boolean|false|none|none| +|»» actor|boolean|false|none|none| +|»» before|boolean|false|none|none| +|»» after|boolean|false|none|none| +|»» actionGroup|boolean|false|none|none| + +xor + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|» *anonymous*|[string]|false|none|none| + +

ToDo.Filter

+ + + + + + +```json +{ + "offset": 0, + "limit": 100, + "skip": 0, + "order": "string", + "fields": { + "id": true, + "title": true, + "description": true, + "items": true + } +} + +``` + +ToDo.Filter + +### Properties + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|offset|integer|false|none|none| +|limit|integer|false|none|none| +|skip|integer|false|none|none| +|order|any|false|none|none| + +oneOf + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|» *anonymous*|string|false|none|none| + +xor + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|» *anonymous*|[string]|false|none|none| + +continued + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|fields|any|false|none|none| + +oneOf + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|» *anonymous*|object|false|none|none| +|»» id|boolean|false|none|none| +|»» title|boolean|false|none|none| +|»» description|boolean|false|none|none| +|»» items|boolean|false|none|none| + +xor + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|» *anonymous*|[string]|false|none|none| + +

ToDo.Filter1

+ + + + + + +```json +{ + "offset": 0, + "limit": 100, + "skip": 0, + "order": "string", + "where": {}, + "fields": { + "id": true, + "title": true, + "description": true, + "items": true + } +} + +``` + +ToDo.Filter + +### Properties + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|offset|integer|false|none|none| +|limit|integer|false|none|none| +|skip|integer|false|none|none| +|order|any|false|none|none| + +oneOf + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|» *anonymous*|string|false|none|none| + +xor + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|» *anonymous*|[string]|false|none|none| + +continued + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|where|object|false|none|none| +|fields|any|false|none|none| + +oneOf + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|» *anonymous*|object|false|none|none| +|»» id|boolean|false|none|none| +|»» title|boolean|false|none|none| +|»» description|boolean|false|none|none| +|»» items|boolean|false|none|none| + +xor + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|» *anonymous*|[string]|false|none|none| + diff --git a/sandbox/auth-ms-basic-example/README.md b/sandbox/auth-ms-basic-example/README.md index c320e093a8..915a1c1459 100644 --- a/sandbox/auth-ms-basic-example/README.md +++ b/sandbox/auth-ms-basic-example/README.md @@ -1,3 +1,7 @@ # auth-basic-example [![LoopBack](https://github.com/strongloop/loopback-next/raw/master/docs/site/imgs/branding/Powered-by-LoopBack-Badge-(blue)-@2x.png)](http://loopback.io/) + +#### API Details + +Visit the [OpenAPI spec docs](./openapi.md) \ No newline at end of file diff --git a/sandbox/auth-ms-basic-example/openapi.md b/sandbox/auth-ms-basic-example/openapi.md new file mode 100644 index 0000000000..0765255c83 --- /dev/null +++ b/sandbox/auth-ms-basic-example/openapi.md @@ -0,0 +1,3934 @@ +--- +title: Authentication Service v1.0.0 +language_tabs: + - "'javascript": JavaScript + - "'javascript--nodejs": Node.JS' +language_clients: + - "'javascript": request' + - "'javascript--nodejs": "" +toc_footers: [] +includes: [] +search: false +highlight_theme: darkula +headingLevel: 2 + +--- + + + +

Authentication Service v1.0.0

+ +> Scroll down for code samples, example requests and responses. Select a language for code samples from the tabs above or the mobile navigation menu. + +Auth microservice basic example + +Base URLs: + +* http://localhost:3000 + +# Authentication + +- HTTP Authentication, scheme: bearer + +

LoginController

+ +## LoginController.resetPassword + + + +> Code samples + +```'javascript--nodejs +const fetch = require('node-fetch'); +const inputBody = { + "refreshToken": "string", + "username": "string", + "password": "string", + "oldPassword": "string" +}; +const headers = { + 'Content-Type':'application/json', + 'Authorization':'string' +}; + +fetch('http://localhost:3000/auth/change-password', +{ + method: 'PATCH', + body: JSON.stringify(inputBody), + headers: headers +}) +.then(function(res) { + return res.json(); +}).then(function(body) { + console.log(body); +}); + +``` + +`PATCH /auth/change-password` + +> Body parameter + +```json +{ + "refreshToken": "string", + "username": "string", + "password": "string", + "oldPassword": "string" +} +``` + +

Parameters

+ +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|Authorization|header|string|false|none| +|body|body|[ResetPasswordPartial](#schemaresetpasswordpartial)|false|none| + +

Responses

+ +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|If User password successfully changed.|None| + + + +## LoginController.postLoginViaGoogle + + + +> Code samples + +```'javascript--nodejs +const fetch = require('node-fetch'); +const inputBody = { + "client_id": "string", + "client_secret": "string" +}; +const headers = { + 'Content-Type':'application/x-www-form-urlencoded', + 'Accept':'application/json' +}; + +fetch('http://localhost:3000/auth/google', +{ + method: 'POST', + body: JSON.stringify(inputBody), + headers: headers +}) +.then(function(res) { + return res.json(); +}).then(function(body) { + console.log(body); +}); + +``` + +`POST /auth/google` + +> Body parameter + +```yaml +client_id: string +client_secret: string + +``` + +

Parameters

+ +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|body|body|[ClientAuthRequest](#schemaclientauthrequest)|false|none| + +> Example responses + +> 200 Response + +```json +{ + "accessToken": "string", + "refreshToken": "string", + "expires": 0, + "pubnubToken": "string" +} +``` + +

Responses

+ +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|POST Call for Google based login|[TokenResponse](#schematokenresponse)| + + + +## LoginController.loginViaGoogle + + + +> Code samples + +```'javascript--nodejs +const fetch = require('node-fetch'); + +const headers = { + 'Accept':'application/json' +}; + +fetch('http://localhost:3000/auth/google', +{ + method: 'GET', + + headers: headers +}) +.then(function(res) { + return res.json(); +}).then(function(body) { + console.log(body); +}); + +``` + +`GET /auth/google` + +

Parameters

+ +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|client_id|query|string|false|none| +|client_secret|query|string|false|none| + +> Example responses + +> 200 Response + +```json +{ + "accessToken": "string", + "refreshToken": "string", + "expires": 0, + "pubnubToken": "string" +} +``` + +

Responses

+ +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|Google Token Response (Deprecated: Possible security issue if secret is passed via query params, please use the post endpoint)|[TokenResponse](#schematokenresponse)| + + + +## LoginController.googleCallback + + + +> Code samples + +```'javascript--nodejs +const fetch = require('node-fetch'); + +const headers = { + 'Accept':'application/json' +}; + +fetch('http://localhost:3000/auth/google-auth-redirect', +{ + method: 'GET', + + headers: headers +}) +.then(function(res) { + return res.json(); +}).then(function(body) { + console.log(body); +}); + +``` + +`GET /auth/google-auth-redirect` + +

Parameters

+ +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|code|query|string|false|none| +|state|query|string|false|none| + +> Example responses + +> 200 Response + +```json +{ + "accessToken": "string", + "refreshToken": "string", + "expires": 0, + "pubnubToken": "string" +} +``` + +

Responses

+ +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|Google Redirect Token Response|[TokenResponse](#schematokenresponse)| + + + +## LoginController.postLoginViaInstagram + + + +> Code samples + +```'javascript--nodejs +const fetch = require('node-fetch'); +const inputBody = { + "client_id": "string", + "client_secret": "string" +}; +const headers = { + 'Content-Type':'application/x-www-form-urlencoded', + 'Accept':'application/json' +}; + +fetch('http://localhost:3000/auth/instagram', +{ + method: 'POST', + body: JSON.stringify(inputBody), + headers: headers +}) +.then(function(res) { + return res.json(); +}).then(function(body) { + console.log(body); +}); + +``` + +`POST /auth/instagram` + +> Body parameter + +```yaml +client_id: string +client_secret: string + +``` + +

Parameters

+ +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|body|body|[ClientAuthRequest](#schemaclientauthrequest)|false|none| + +> Example responses + +> 200 Response + +```json +{ + "accessToken": "string", + "refreshToken": "string", + "expires": 0, + "pubnubToken": "string" +} +``` + +

Responses

+ +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|POST Call for Instagram based login|[TokenResponse](#schematokenresponse)| + + + +## LoginController.instagramCallback + + + +> Code samples + +```'javascript--nodejs +const fetch = require('node-fetch'); + +const headers = { + 'Accept':'application/json' +}; + +fetch('http://localhost:3000/auth/instagram-auth-redirect', +{ + method: 'GET', + + headers: headers +}) +.then(function(res) { + return res.json(); +}).then(function(body) { + console.log(body); +}); + +``` + +`GET /auth/instagram-auth-redirect` + +

Parameters

+ +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|code|query|string|false|none| +|state|query|string|false|none| + +> Example responses + +> 200 Response + +```json +{ + "accessToken": "string", + "refreshToken": "string", + "expires": 0, + "pubnubToken": "string" +} +``` + +

Responses

+ +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|Instagram Redirect Token Response|[TokenResponse](#schematokenresponse)| + + + +## LoginController.postLoginViaKeycloak + + + +> Code samples + +```'javascript--nodejs +const fetch = require('node-fetch'); +const inputBody = { + "client_id": "string", + "client_secret": "string" +}; +const headers = { + 'Content-Type':'application/x-www-form-urlencoded', + 'Accept':'application/json' +}; + +fetch('http://localhost:3000/auth/keycloak', +{ + method: 'POST', + body: JSON.stringify(inputBody), + headers: headers +}) +.then(function(res) { + return res.json(); +}).then(function(body) { + console.log(body); +}); + +``` + +`POST /auth/keycloak` + +POST Call for keycloak based login + +> Body parameter + +```yaml +client_id: string +client_secret: string + +``` + +

Parameters

+ +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|body|body|[ClientAuthRequest](#schemaclientauthrequest)|false|none| + +> Example responses + +> 200 Response + +```json +{ + "accessToken": "string", + "refreshToken": "string", + "expires": 0, + "pubnubToken": "string" +} +``` + +

Responses

+ +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|Keycloak Token Response|[TokenResponse](#schematokenresponse)| + + + +## LoginController.loginViaKeycloak + + + +> Code samples + +```'javascript--nodejs +const fetch = require('node-fetch'); + +const headers = { + 'Accept':'application/json' +}; + +fetch('http://localhost:3000/auth/keycloak', +{ + method: 'GET', + + headers: headers +}) +.then(function(res) { + return res.json(); +}).then(function(body) { + console.log(body); +}); + +``` + +`GET /auth/keycloak` + +

Parameters

+ +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|client_id|query|string|false|none| +|client_secret|query|string|false|none| + +> Example responses + +> 200 Response + +```json +{ + "accessToken": "string", + "refreshToken": "string", + "expires": 0, + "pubnubToken": "string" +} +``` + +

Responses

+ +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|Keycloak Token Response (Deprecated: Possible security issue if secret is passed via query params, please use the post endpoint)|[TokenResponse](#schematokenresponse)| + + + +## LoginController.keycloakCallback + + + +> Code samples + +```'javascript--nodejs +const fetch = require('node-fetch'); + +const headers = { + 'Accept':'application/json' +}; + +fetch('http://localhost:3000/auth/keycloak-auth-redirect', +{ + method: 'GET', + + headers: headers +}) +.then(function(res) { + return res.json(); +}).then(function(body) { + console.log(body); +}); + +``` + +`GET /auth/keycloak-auth-redirect` + +

Parameters

+ +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|code|query|string|false|none| +|state|query|string|false|none| + +> Example responses + +> 200 Response + +```json +{ + "accessToken": "string", + "refreshToken": "string", + "expires": 0, + "pubnubToken": "string" +} +``` + +

Responses

+ +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|Keycloak Redirect Token Response|[TokenResponse](#schematokenresponse)| + + + +## LoginController.login + + + +> Code samples + +```'javascript--nodejs +const fetch = require('node-fetch'); +const inputBody = { + "client_id": "string", + "client_secret": "string", + "username": "string", + "password": "string" +}; +const headers = { + 'Content-Type':'application/json' +}; + +fetch('http://localhost:3000/auth/login', +{ + method: 'POST', + body: JSON.stringify(inputBody), + headers: headers +}) +.then(function(res) { + return res.json(); +}).then(function(body) { + console.log(body); +}); + +``` + +`POST /auth/login` + +Gets you the code that will be used for getting token (webapps) + +> Body parameter + +```json +{ + "client_id": "string", + "client_secret": "string", + "username": "string", + "password": "string" +} +``` + +

Parameters

+ +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|body|body|[LoginRequest](#schemaloginrequest)|false|none| + +> Example responses + +

Responses

+ +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|Auth Code|None| +|400|[Bad Request](https://tools.ietf.org/html/rfc7231#section-6.5.1)|The syntax of the request entity is incorrect.|None| +|401|[Unauthorized](https://tools.ietf.org/html/rfc7235#section-3.1)|Invalid Credentials.|None| +|404|[Not Found](https://tools.ietf.org/html/rfc7231#section-6.5.4)|The entity requested does not exist.|None| +|422|[Unprocessable Entity](https://tools.ietf.org/html/rfc2518#section-10.3)|The syntax of the request entity is incorrect|None| + +

Response Schema

+ + + +## LoginController.loginWithClientUser + + + +> Code samples + +```'javascript--nodejs +const fetch = require('node-fetch'); +const inputBody = { + "client_id": "string", + "client_secret": "string", + "username": "string", + "password": "string" +}; +const headers = { + 'Content-Type':'application/json', + 'Accept':'application/json', + 'device_id':'string' +}; + +fetch('http://localhost:3000/auth/login-token', +{ + method: 'POST', + body: JSON.stringify(inputBody), + headers: headers +}) +.then(function(res) { + return res.json(); +}).then(function(body) { + console.log(body); +}); + +``` + +`POST /auth/login-token` + +Gets you refresh token and access token in one hit. (mobile app) + +> Body parameter + +```json +{ + "client_id": "string", + "client_secret": "string", + "username": "string", + "password": "string" +} +``` + +

Parameters

+ +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|device_id|header|string|false|none| +|body|body|[LoginRequest](#schemaloginrequest)|false|none| + +> Example responses + +> 200 Response + +```json +{ + "accessToken": "string", + "refreshToken": "string", + "expires": 0, + "pubnubToken": "string" +} +``` + +

Responses

+ +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|Token Response Model|[TokenResponse](#schematokenresponse)| +|400|[Bad Request](https://tools.ietf.org/html/rfc7231#section-6.5.1)|The syntax of the request entity is incorrect.|None| +|401|[Unauthorized](https://tools.ietf.org/html/rfc7235#section-3.1)|Invalid Credentials.|None| +|404|[Not Found](https://tools.ietf.org/html/rfc7231#section-6.5.4)|The entity requested does not exist.|None| +|422|[Unprocessable Entity](https://tools.ietf.org/html/rfc2518#section-10.3)|The syntax of the request entity is incorrect|None| + + + +## LoginController.me + + + +> Code samples + +```'javascript--nodejs +const fetch = require('node-fetch'); + +const headers = { + 'Authorization':'Bearer {access-token}' +}; + +fetch('http://localhost:3000/auth/me', +{ + method: 'GET', + + headers: headers +}) +.then(function(res) { + return res.json(); +}).then(function(body) { + console.log(body); +}); + +``` + +`GET /auth/me` + +To get the user details + +> Example responses + +

Responses

+ +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|User Object|None| +|400|[Bad Request](https://tools.ietf.org/html/rfc7231#section-6.5.1)|The syntax of the request entity is incorrect.|None| +|401|[Unauthorized](https://tools.ietf.org/html/rfc7235#section-3.1)|Invalid Credentials.|None| +|404|[Not Found](https://tools.ietf.org/html/rfc7231#section-6.5.4)|The entity requested does not exist.|None| +|422|[Unprocessable Entity](https://tools.ietf.org/html/rfc2518#section-10.3)|The syntax of the request entity is incorrect|None| + +

Response Schema

+ + + +## LoginController.getToken + + + +> Code samples + +```'javascript--nodejs +const fetch = require('node-fetch'); +const inputBody = { + "code": "string", + "clientId": "string" +}; +const headers = { + 'Content-Type':'application/json', + 'Accept':'application/json', + 'device_id':'string' +}; + +fetch('http://localhost:3000/auth/token', +{ + method: 'POST', + body: JSON.stringify(inputBody), + headers: headers +}) +.then(function(res) { + return res.json(); +}).then(function(body) { + console.log(body); +}); + +``` + +`POST /auth/token` + + Send the code received from the above api and this api will send you refresh token and access token (webapps) + +> Body parameter + +```json +{ + "code": "string", + "clientId": "string" +} +``` + +

Parameters

+ +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|device_id|header|string|false|none| +|body|body|[AuthTokenRequest](#schemaauthtokenrequest)|false|none| + +> Example responses + +> 200 Response + +```json +{ + "accessToken": "string", + "refreshToken": "string", + "expires": 0, + "pubnubToken": "string" +} +``` + +

Responses

+ +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|Token Response|[TokenResponse](#schematokenresponse)| +|400|[Bad Request](https://tools.ietf.org/html/rfc7231#section-6.5.1)|The syntax of the request entity is incorrect.|None| +|401|[Unauthorized](https://tools.ietf.org/html/rfc7235#section-3.1)|Invalid Credentials.|None| +|404|[Not Found](https://tools.ietf.org/html/rfc7231#section-6.5.4)|The entity requested does not exist.|None| +|422|[Unprocessable Entity](https://tools.ietf.org/html/rfc2518#section-10.3)|The syntax of the request entity is incorrect|None| + + + +## LoginController.exchangeToken + + + +> Code samples + +```'javascript--nodejs +const fetch = require('node-fetch'); +const inputBody = { + "refreshToken": "string" +}; +const headers = { + 'Content-Type':'application/json', + 'Accept':'application/json', + 'device_id':'string' +}; + +fetch('http://localhost:3000/auth/token-refresh', +{ + method: 'POST', + body: JSON.stringify(inputBody), + headers: headers +}) +.then(function(res) { + return res.json(); +}).then(function(body) { + console.log(body); +}); + +``` + +`POST /auth/token-refresh` + + Gets you a new access and refresh token once your access token is expired. (both mobile and web) + +> Body parameter + +```json +{ + "refreshToken": "string" +} +``` + +

Parameters

+ +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|device_id|header|string|false|none| +|body|body|[AuthRefreshTokenRequest](#schemaauthrefreshtokenrequest)|false|none| + +> Example responses + +> 200 Response + +```json +{ + "accessToken": "string", + "refreshToken": "string", + "expires": 0, + "pubnubToken": "string" +} +``` + +

Responses

+ +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|New Token Response|[TokenResponse](#schematokenresponse)| +|400|[Bad Request](https://tools.ietf.org/html/rfc7231#section-6.5.1)|The syntax of the request entity is incorrect.|None| +|401|[Unauthorized](https://tools.ietf.org/html/rfc7235#section-3.1)|Invalid Credentials.|None| +|404|[Not Found](https://tools.ietf.org/html/rfc7231#section-6.5.4)|The entity requested does not exist.|None| +|422|[Unprocessable Entity](https://tools.ietf.org/html/rfc2518#section-10.3)|The syntax of the request entity is incorrect|None| + + + +

ForgetPasswordController

+ +## ForgetPasswordController.forgetPassword + + + +> Code samples + +```'javascript--nodejs +const fetch = require('node-fetch'); +const inputBody = { + "username": "string", + "client_id": "string", + "client_secret": "string" +}; +const headers = { + 'Content-Type':'application/json', + 'Accept':'application/json' +}; + +fetch('http://localhost:3000/auth/forget-password', +{ + method: 'POST', + body: JSON.stringify(inputBody), + headers: headers +}) +.then(function(res) { + return res.json(); +}).then(function(body) { + console.log(body); +}); + +``` + +`POST /auth/forget-password` + +> Body parameter + +```json +{ + "username": "string", + "client_id": "string", + "client_secret": "string" +} +``` + +

Parameters

+ +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|body|body|[ForgetPasswordDto](#schemaforgetpassworddto)|false|none| + +> Example responses + +> 200 Response + +```json +{ + "code": "string", + "expiry": 0, + "email": "string", + "user": { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "firstName": "string", + "lastName": "string", + "middleName": "string", + "username": "string", + "email": "string", + "phone": "string", + "authClientIds": "string", + "lastLogin": "2019-08-24T14:15:22Z", + "dob": "2019-08-24T14:15:22Z", + "gender": "M", + "defaultTenantId": "string" + } +} +``` + +

Responses

+ +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|Success Response.|[ForgetPasswordResponseDto](#schemaforgetpasswordresponsedto)| +|400|[Bad Request](https://tools.ietf.org/html/rfc7231#section-6.5.1)|The syntax of the request entity is incorrect.|None| +|401|[Unauthorized](https://tools.ietf.org/html/rfc7235#section-3.1)|Invalid Credentials.|None| +|404|[Not Found](https://tools.ietf.org/html/rfc7231#section-6.5.4)|The entity requested does not exist.|None| +|422|[Unprocessable Entity](https://tools.ietf.org/html/rfc2518#section-10.3)|The syntax of the request entity is incorrect|None| + + + +## ForgetPasswordController.resetPassword + + + +> Code samples + +```'javascript--nodejs +const fetch = require('node-fetch'); +const inputBody = { + "token": "string", + "password": "string", + "client_id": "string", + "client_secret": "string" +}; +const headers = { + 'Content-Type':'application/json' +}; + +fetch('http://localhost:3000/auth/reset-password', +{ + method: 'PATCH', + body: JSON.stringify(inputBody), + headers: headers +}) +.then(function(res) { + return res.json(); +}).then(function(body) { + console.log(body); +}); + +``` + +`PATCH /auth/reset-password` + +> Body parameter + +```json +{ + "token": "string", + "password": "string", + "client_id": "string", + "client_secret": "string" +} +``` + +

Parameters

+ +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|body|body|[ResetPasswordWithClient](#schemaresetpasswordwithclient)|false|none| + +

Responses

+ +|Status|Meaning|Description|Schema| +|---|---|---|---| +|204|[No Content](https://tools.ietf.org/html/rfc7231#section-6.3.5)|If User password successfully changed.|None| + + + +## ForgetPasswordController.verifyResetPasswordLink + + + +> Code samples + +```'javascript--nodejs +const fetch = require('node-fetch'); + +fetch('http://localhost:3000/auth/verify-reset-password-link?token=string', +{ + method: 'GET' + +}) +.then(function(res) { + return res.json(); +}).then(function(body) { + console.log(body); +}); + +``` + +`GET /auth/verify-reset-password-link` + + + +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|token|query|string|true|none| + + + +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|Check if Token Is Valid and not Expired.|None| + + + +

SignupRequestController

+ +## SignupRequestController.requestSignup + + + +> Code samples + +```'javascript--nodejs +const fetch = require('node-fetch'); +const inputBody = { + "email": "string", + "data": {} +}; +const headers = { + 'Content-Type':'application/json', + 'Accept':'application/json' +}; + +fetch('http://localhost:3000/auth/sign-up/create-token', +{ + method: 'POST', + body: JSON.stringify(inputBody), + headers: headers +}) +.then(function(res) { + return res.json(); +}).then(function(body) { + console.log(body); +}); + +``` + +`POST /auth/sign-up/create-token` + +> Body parameter + +```json +{ + "email": "string", + "data": {} +} +``` + +

Parameters

+ +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|body|body|[SignupRequestDto](#schemasignuprequestdto)|false|none| + +> Example responses + +> 200 Response + +```json +{ + "code": "string", + "expiry": 0, + "email": "string" +} +``` + +

Responses

+ +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|Sucess Response.|[SignupRequestResponseDto](#schemasignuprequestresponsedto)| +|400|[Bad Request](https://tools.ietf.org/html/rfc7231#section-6.5.1)|The syntax of the request entity is incorrect.|None| +|401|[Unauthorized](https://tools.ietf.org/html/rfc7235#section-3.1)|Invalid Credentials.|None| +|404|[Not Found](https://tools.ietf.org/html/rfc7231#section-6.5.4)|The entity requested does not exist.|None| +|422|[Unprocessable Entity](https://tools.ietf.org/html/rfc2518#section-10.3)|The syntax of the request entity is incorrect|None| + + + +## SignupRequestController.signupWithToken + + + +> Code samples + +```'javascript--nodejs +const fetch = require('node-fetch'); +const inputBody = { + "email": "string", + "password": "string" +}; +const headers = { + 'Content-Type':'application/json', + 'Accept':'application/json' +}; + +fetch('http://localhost:3000/auth/sign-up/create-user', +{ + method: 'POST', + body: JSON.stringify(inputBody), + headers: headers +}) +.then(function(res) { + return res.json(); +}).then(function(body) { + console.log(body); +}); + +``` + +`POST /auth/sign-up/create-user` + +> Body parameter + +```json +{ + "email": "string", + "password": "string" +} +``` + +

Parameters

+ +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|body|body|[LocalUserProfileDto](#schemalocaluserprofiledto)|false|none| + +> Example responses + +> 200 Response + +```json +{ + "email": "string", + "password": "string" +} +``` + +

Responses

+ +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|Sucess Response.|[LocalUserProfileDto](#schemalocaluserprofiledto)| +|400|[Bad Request](https://tools.ietf.org/html/rfc7231#section-6.5.1)|The syntax of the request entity is incorrect.|None| +|401|[Unauthorized](https://tools.ietf.org/html/rfc7235#section-3.1)|Invalid Credentials.|None| +|404|[Not Found](https://tools.ietf.org/html/rfc7231#section-6.5.4)|The entity requested does not exist.|None| +|422|[Unprocessable Entity](https://tools.ietf.org/html/rfc2518#section-10.3)|The syntax of the request entity is incorrect|None| + + + +## SignupRequestController.verifyInviteToken + + + +> Code samples + +```'javascript--nodejs +const fetch = require('node-fetch'); + +fetch('http://localhost:3000/auth/sign-up/verify-token', +{ + method: 'GET' + +}) +.then(function(res) { + return res.json(); +}).then(function(body) { + console.log(body); +}); + +``` + +`GET /auth/sign-up/verify-token` + +

Responses

+ +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|Sucess Response.|None| +|400|[Bad Request](https://tools.ietf.org/html/rfc7231#section-6.5.1)|The syntax of the request entity is incorrect.|None| +|401|[Unauthorized](https://tools.ietf.org/html/rfc7235#section-3.1)|Invalid Credentials.|None| +|404|[Not Found](https://tools.ietf.org/html/rfc7231#section-6.5.4)|The entity requested does not exist.|None| +|422|[Unprocessable Entity](https://tools.ietf.org/html/rfc2518#section-10.3)|The syntax of the request entity is incorrect|None| + + + +

AuthClientController

+ +## AuthClientController.count + + + +> Code samples + +```'javascript--nodejs +const fetch = require('node-fetch'); + +const headers = { + 'Accept':'application/json', + 'Authorization':'Bearer {access-token}' +}; + +fetch('http://localhost:3000/auth-clients/count', +{ + method: 'GET', + + headers: headers +}) +.then(function(res) { + return res.json(); +}).then(function(body) { + console.log(body); +}); + +``` + +`GET /auth-clients/count` + +

Parameters

+ +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|where|query|object|false|none| + +> Example responses + +> 200 Response + +```json +{ + "count": 0 +} +``` + +

Responses

+ +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|AuthClient model count|[loopback.Count](#schemaloopback.count)| + + + +## AuthClientController.replaceById + + + +> Code samples + +```'javascript--nodejs +const fetch = require('node-fetch'); +const inputBody = { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "id": 0, + "clientId": "string", + "clientSecret": "string", + "secret": "string", + "redirectUrl": "string", + "accessTokenExpiration": 0, + "refreshTokenExpiration": 0, + "authCodeExpiration": 0 +}; +const headers = { + 'Content-Type':'application/json', + 'Authorization':'Bearer {access-token}' +}; + +fetch('http://localhost:3000/auth-clients/{id}', +{ + method: 'PUT', + body: JSON.stringify(inputBody), + headers: headers +}) +.then(function(res) { + return res.json(); +}).then(function(body) { + console.log(body); +}); + +``` + +`PUT /auth-clients/{id}` + +> Body parameter + +```json +{ + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "id": 0, + "clientId": "string", + "clientSecret": "string", + "secret": "string", + "redirectUrl": "string", + "accessTokenExpiration": 0, + "refreshTokenExpiration": 0, + "authCodeExpiration": 0 +} +``` + +

Parameters

+ +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|id|path|number|true|none| +|body|body|[AuthClient](#schemaauthclient)|false|none| + +

Responses

+ +|Status|Meaning|Description|Schema| +|---|---|---|---| +|204|[No Content](https://tools.ietf.org/html/rfc7231#section-6.3.5)|AuthClient PUT success|None| + + + +## AuthClientController.updateById + + + +> Code samples + +```'javascript--nodejs +const fetch = require('node-fetch'); +const inputBody = { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "id": 0, + "clientId": "string", + "clientSecret": "string", + "secret": "string", + "redirectUrl": "string", + "accessTokenExpiration": 0, + "refreshTokenExpiration": 0, + "authCodeExpiration": 0 +}; +const headers = { + 'Content-Type':'application/json', + 'Authorization':'Bearer {access-token}' +}; + +fetch('http://localhost:3000/auth-clients/{id}', +{ + method: 'PATCH', + body: JSON.stringify(inputBody), + headers: headers +}) +.then(function(res) { + return res.json(); +}).then(function(body) { + console.log(body); +}); + +``` + +`PATCH /auth-clients/{id}` + +> Body parameter + +```json +{ + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "id": 0, + "clientId": "string", + "clientSecret": "string", + "secret": "string", + "redirectUrl": "string", + "accessTokenExpiration": 0, + "refreshTokenExpiration": 0, + "authCodeExpiration": 0 +} +``` + +

Parameters

+ +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|id|path|number|true|none| +|body|body|[AuthClientPartial](#schemaauthclientpartial)|false|none| + +

Responses

+ +|Status|Meaning|Description|Schema| +|---|---|---|---| +|204|[No Content](https://tools.ietf.org/html/rfc7231#section-6.3.5)|AuthClient PATCH success|None| + + + +## AuthClientController.findById + + + +> Code samples + +```'javascript--nodejs +const fetch = require('node-fetch'); + +const headers = { + 'Accept':'application/json', + 'Authorization':'Bearer {access-token}' +}; + +fetch('http://localhost:3000/auth-clients/{id}', +{ + method: 'GET', + + headers: headers +}) +.then(function(res) { + return res.json(); +}).then(function(body) { + console.log(body); +}); + +``` + +`GET /auth-clients/{id}` + +

Parameters

+ +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|id|path|number|true|none| + +> Example responses + +> 200 Response + +```json +{ + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "id": 0, + "clientId": "string", + "clientSecret": "string", + "secret": "string", + "redirectUrl": "string", + "accessTokenExpiration": 0, + "refreshTokenExpiration": 0, + "authCodeExpiration": 0 +} +``` + +

Responses

+ +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|AuthClient model instance|[AuthClient](#schemaauthclient)| + + + +## AuthClientController.deleteById + + + +> Code samples + +```'javascript--nodejs +const fetch = require('node-fetch'); + +const headers = { + 'Authorization':'Bearer {access-token}' +}; + +fetch('http://localhost:3000/auth-clients/{id}', +{ + method: 'DELETE', + + headers: headers +}) +.then(function(res) { + return res.json(); +}).then(function(body) { + console.log(body); +}); + +``` + +`DELETE /auth-clients/{id}` + +

Parameters

+ +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|id|path|number|true|none| + +

Responses

+ +|Status|Meaning|Description|Schema| +|---|---|---|---| +|204|[No Content](https://tools.ietf.org/html/rfc7231#section-6.3.5)|AuthClient DELETE success|None| + + + +## AuthClientController.create + + + +> Code samples + +```'javascript--nodejs +const fetch = require('node-fetch'); +const inputBody = { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "clientId": "string", + "clientSecret": "string", + "secret": "string", + "redirectUrl": "string", + "accessTokenExpiration": 0, + "refreshTokenExpiration": 0, + "authCodeExpiration": 0 +}; +const headers = { + 'Content-Type':'application/json', + 'Accept':'application/json', + 'Authorization':'Bearer {access-token}' +}; + +fetch('http://localhost:3000/auth-clients', +{ + method: 'POST', + body: JSON.stringify(inputBody), + headers: headers +}) +.then(function(res) { + return res.json(); +}).then(function(body) { + console.log(body); +}); + +``` + +`POST /auth-clients` + +> Body parameter + +```json +{ + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "clientId": "string", + "clientSecret": "string", + "secret": "string", + "redirectUrl": "string", + "accessTokenExpiration": 0, + "refreshTokenExpiration": 0, + "authCodeExpiration": 0 +} +``` + +

Parameters

+ +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|body|body|[AuthClientExcluding_id_](#schemaauthclientexcluding_id_)|false|none| + +> Example responses + +> 200 Response + +```json +{ + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "id": 0, + "clientId": "string", + "clientSecret": "string", + "secret": "string", + "redirectUrl": "string", + "accessTokenExpiration": 0, + "refreshTokenExpiration": 0, + "authCodeExpiration": 0 +} +``` + +

Responses

+ +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|AuthClient model instance|[AuthClient](#schemaauthclient)| + + + +## AuthClientController.updateAll + + + +> Code samples + +```'javascript--nodejs +const fetch = require('node-fetch'); +const inputBody = { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "id": 0, + "clientId": "string", + "clientSecret": "string", + "secret": "string", + "redirectUrl": "string", + "accessTokenExpiration": 0, + "refreshTokenExpiration": 0, + "authCodeExpiration": 0 +}; +const headers = { + 'Content-Type':'application/json', + 'Accept':'application/json', + 'Authorization':'Bearer {access-token}' +}; + +fetch('http://localhost:3000/auth-clients', +{ + method: 'PATCH', + body: JSON.stringify(inputBody), + headers: headers +}) +.then(function(res) { + return res.json(); +}).then(function(body) { + console.log(body); +}); + +``` + +`PATCH /auth-clients` + +> Body parameter + +```json +{ + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "id": 0, + "clientId": "string", + "clientSecret": "string", + "secret": "string", + "redirectUrl": "string", + "accessTokenExpiration": 0, + "refreshTokenExpiration": 0, + "authCodeExpiration": 0 +} +``` + +

Parameters

+ +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|where|query|object|false|none| +|body|body|[AuthClientPartial](#schemaauthclientpartial)|false|none| + +> Example responses + +> 200 Response + +```json +{ + "count": 0 +} +``` + +

Responses

+ +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|AuthClient PATCH success count|[loopback.Count](#schemaloopback.count)| + + + +## AuthClientController.find + + + +> Code samples + +```'javascript--nodejs +const fetch = require('node-fetch'); + +const headers = { + 'Accept':'application/json', + 'Authorization':'Bearer {access-token}' +}; + +fetch('http://localhost:3000/auth-clients', +{ + method: 'GET', + + headers: headers +}) +.then(function(res) { + return res.json(); +}).then(function(body) { + console.log(body); +}); + +``` + +`GET /auth-clients` + +

Parameters

+ +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|filter|query|[auth_clients.Filter](#schemaauth_clients.filter)|false|none| + +> Example responses + +> 200 Response + +```json +[ + { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "id": 0, + "clientId": "string", + "clientSecret": "string", + "secret": "string", + "redirectUrl": "string", + "accessTokenExpiration": 0, + "refreshTokenExpiration": 0, + "authCodeExpiration": 0 + } +] +``` + +

Responses

+ +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|Array of AuthClient model instances|Inline| + +

Response Schema

+ +Status Code **200** + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|*anonymous*|[[AuthClient](#schemaauthclient)]|false|none|none| +|» AuthClient|[AuthClient](#schemaauthclient)|false|none|none| +|»» deleted|boolean|false|none|none| +|»» deletedOn|string(date-time)¦null|false|none|none| +|»» deletedBy|string¦null|false|none|none| +|»» createdOn|string(date-time)|false|none|none| +|»» modifiedOn|string(date-time)|false|none|none| +|»» id|number|false|none|none| +|»» clientId|string|true|none|none| +|»» clientSecret|string|true|none|none| +|»» secret|string|true|none|none| +|»» redirectUrl|string|false|none|none| +|»» accessTokenExpiration|number|true|none|none| +|»» refreshTokenExpiration|number|true|none|none| +|»» authCodeExpiration|number|true|none|none| + + + +

LogoutController

+ +## LogoutController.keycloakLogout + + + +> Code samples + +```'javascript--nodejs +const fetch = require('node-fetch'); +const inputBody = { + "refreshToken": "string" +}; +const headers = { + 'Content-Type':'application/json', + 'Accept':'application/json', + 'Authorization':'string' +}; + +fetch('http://localhost:3000/keycloak/logout', +{ + method: 'POST', + body: JSON.stringify(inputBody), + headers: headers +}) +.then(function(res) { + return res.json(); +}).then(function(body) { + console.log(body); +}); + +``` + +`POST /keycloak/logout` + +This API will log out the user from application as well as keycloak + +> Body parameter + +```json +{ + "refreshToken": "string" +} +``` + +

Parameters

+ +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|Authorization|header|string|false|This is the access token which is required to authenticate user.| +|body|body|[RefreshTokenRequestPartial](#schemarefreshtokenrequestpartial)|false|none| + +> Example responses + +> 200 Response + +```json +{ + "success": true +} +``` + +

Responses

+ +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|Success Response|[SuccessResponse](#schemasuccessresponse)| +|400|[Bad Request](https://tools.ietf.org/html/rfc7231#section-6.5.1)|The syntax of the request entity is incorrect.|None| +|401|[Unauthorized](https://tools.ietf.org/html/rfc7235#section-3.1)|Invalid Credentials.|None| +|404|[Not Found](https://tools.ietf.org/html/rfc7231#section-6.5.4)|The entity requested does not exist.|None| +|422|[Unprocessable Entity](https://tools.ietf.org/html/rfc2518#section-10.3)|The syntax of the request entity is incorrect|None| + + + +## LogoutController.logout + + + +> Code samples + +```'javascript--nodejs +const fetch = require('node-fetch'); +const inputBody = { + "refreshToken": "string" +}; +const headers = { + 'Content-Type':'application/json', + 'Accept':'application/json', + 'Authorization':'string' +}; + +fetch('http://localhost:3000/logout', +{ + method: 'POST', + body: JSON.stringify(inputBody), + headers: headers +}) +.then(function(res) { + return res.json(); +}).then(function(body) { + console.log(body); +}); + +``` + +`POST /logout` + +To logout + +> Body parameter + +```json +{ + "refreshToken": "string" +} +``` + +

Parameters

+ +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|Authorization|header|string|false|This is the access token which is required to authenticate user.| +|body|body|[RefreshTokenRequestPartial](#schemarefreshtokenrequestpartial)|false|none| + +> Example responses + +> 200 Response + +```json +{ + "success": true +} +``` + +

Responses

+ +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|Success Response|[SuccessResponse](#schemasuccessresponse)| +|400|[Bad Request](https://tools.ietf.org/html/rfc7231#section-6.5.1)|The syntax of the request entity is incorrect.|None| +|401|[Unauthorized](https://tools.ietf.org/html/rfc7235#section-3.1)|Invalid Credentials.|None| +|404|[Not Found](https://tools.ietf.org/html/rfc7231#section-6.5.4)|The entity requested does not exist.|None| +|422|[Unprocessable Entity](https://tools.ietf.org/html/rfc2518#section-10.3)|The syntax of the request entity is incorrect|None| + + + +

OtpController

+ +## OtpController.findById + + + +> Code samples + +```'javascript--nodejs +const fetch = require('node-fetch'); + +const headers = { + 'Accept':'application/json' +}; + +fetch('http://localhost:3000/otp-caches/{id}', +{ + method: 'GET', + + headers: headers +}) +.then(function(res) { + return res.json(); +}).then(function(body) { + console.log(body); +}); + +``` + +`GET /otp-caches/{id}` + +

Parameters

+ +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|id|path|string|true|none| + +> Example responses + +> 200 Response + +```json +{ + "otp": "string", + "username": "string" +} +``` + +

Responses

+ +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|Otp model instance|[Otp](#schemaotp)| + + + +## OtpController.deleteById + + + +> Code samples + +```'javascript--nodejs +const fetch = require('node-fetch'); + +fetch('http://localhost:3000/otp-caches/{id}', +{ + method: 'DELETE' + +}) +.then(function(res) { + return res.json(); +}).then(function(body) { + console.log(body); +}); + +``` + +`DELETE /otp-caches/{id}` + +

Parameters

+ +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|id|path|string|true|none| + +

Responses

+ +|Status|Meaning|Description|Schema| +|---|---|---|---| +|204|[No Content](https://tools.ietf.org/html/rfc7231#section-6.3.5)|Otp DELETE success|None| + + + +## OtpController.create + + + +> Code samples + +```'javascript--nodejs +const fetch = require('node-fetch'); +const inputBody = { + "otp": "string", + "username": "string" +}; +const headers = { + 'Content-Type':'application/json', + 'Accept':'application/json' +}; + +fetch('http://localhost:3000/otp-caches', +{ + method: 'POST', + body: JSON.stringify(inputBody), + headers: headers +}) +.then(function(res) { + return res.json(); +}).then(function(body) { + console.log(body); +}); + +``` + +`POST /otp-caches` + +> Body parameter + +```json +{ + "otp": "string", + "username": "string" +} +``` + +

Parameters

+ +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|body|body|[Otp](#schemaotp)|false|none| + +> Example responses + +> 200 Response + +```json +{ + "otp": "string", + "username": "string" +} +``` + +

Responses

+ +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|Otp model instance|[Otp](#schemaotp)| + + + +

ToDoController

+ +## ToDoController.count + + + +> Code samples + +```'javascript--nodejs +const fetch = require('node-fetch'); + +const headers = { + 'Accept':'application/json' +}; + +fetch('http://localhost:3000/to-dos/count', +{ + method: 'GET', + + headers: headers +}) +.then(function(res) { + return res.json(); +}).then(function(body) { + console.log(body); +}); + +``` + +`GET /to-dos/count` + +

Parameters

+ +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|where|query|object|false|none| + +> Example responses + +> 200 Response + +```json +{ + "count": 0 +} +``` + +

Responses

+ +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|ToDo model count|[loopback.Count](#schemaloopback.count)| + + + +## ToDoController.replaceById + + + +> Code samples + +```'javascript--nodejs +const fetch = require('node-fetch'); +const inputBody = { + "id": "string", + "title": "string", + "description": "string", + "items": [ + "string" + ] +}; +const headers = { + 'Content-Type':'application/json', + 'Accept':'application/json' +}; + +fetch('http://localhost:3000/to-dos/{id}', +{ + method: 'PUT', + body: JSON.stringify(inputBody), + headers: headers +}) +.then(function(res) { + return res.json(); +}).then(function(body) { + console.log(body); +}); + +``` + +`PUT /to-dos/{id}` + +> Body parameter + +```json +{ + "id": "string", + "title": "string", + "description": "string", + "items": [ + "string" + ] +} +``` + +

Parameters

+ +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|id|path|string|true|none| +|body|body|[ToDo](#schematodo)|false|none| + +> Example responses + +> 204 Response + +```json +null +``` + +

Responses

+ +|Status|Meaning|Description|Schema| +|---|---|---|---| +|204|[No Content](https://tools.ietf.org/html/rfc7231#section-6.3.5)|No Content|Inline| + +

Response Schema

+ +Status Code **204** + +*ToDo PUT success* + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| + + + +## ToDoController.updateById + + + +> Code samples + +```'javascript--nodejs +const fetch = require('node-fetch'); +const inputBody = { + "id": "string", + "title": "string", + "description": "string", + "items": [ + "string" + ] +}; +const headers = { + 'Content-Type':'application/json', + 'Accept':'application/json' +}; + +fetch('http://localhost:3000/to-dos/{id}', +{ + method: 'PATCH', + body: JSON.stringify(inputBody), + headers: headers +}) +.then(function(res) { + return res.json(); +}).then(function(body) { + console.log(body); +}); + +``` + +`PATCH /to-dos/{id}` + +> Body parameter + +```json +{ + "id": "string", + "title": "string", + "description": "string", + "items": [ + "string" + ] +} +``` + +

Parameters

+ +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|id|path|string|true|none| +|body|body|[ToDoPartial](#schematodopartial)|false|none| + +> Example responses + +> 204 Response + +```json +null +``` + +

Responses

+ +|Status|Meaning|Description|Schema| +|---|---|---|---| +|204|[No Content](https://tools.ietf.org/html/rfc7231#section-6.3.5)|No Content|Inline| + +

Response Schema

+ +Status Code **204** + +*ToDo PATCH success* + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| + + + +## ToDoController.findById + + + +> Code samples + +```'javascript--nodejs +const fetch = require('node-fetch'); + +const headers = { + 'Accept':'application/json' +}; + +fetch('http://localhost:3000/to-dos/{id}', +{ + method: 'GET', + + headers: headers +}) +.then(function(res) { + return res.json(); +}).then(function(body) { + console.log(body); +}); + +``` + +`GET /to-dos/{id}` + +

Parameters

+ +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|id|path|string|true|none| +|filter|query|[ToDo.Filter](#schematodo.filter)|false|none| + +> Example responses + +> 200 Response + +```json +{ + "id": "string", + "title": "string", + "description": "string", + "items": [ + "string" + ] +} +``` + +

Responses

+ +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|ToDo model instance|[ToDoWithRelations](#schematodowithrelations)| + + + +## ToDoController.deleteById + + + +> Code samples + +```'javascript--nodejs +const fetch = require('node-fetch'); + +const headers = { + 'Accept':'application/json' +}; + +fetch('http://localhost:3000/to-dos/{id}', +{ + method: 'DELETE', + + headers: headers +}) +.then(function(res) { + return res.json(); +}).then(function(body) { + console.log(body); +}); + +``` + +`DELETE /to-dos/{id}` + +

Parameters

+ +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|id|path|string|true|none| + +> Example responses + +> 204 Response + +```json +null +``` + +

Responses

+ +|Status|Meaning|Description|Schema| +|---|---|---|---| +|204|[No Content](https://tools.ietf.org/html/rfc7231#section-6.3.5)|No Content|Inline| + +

Response Schema

+ +Status Code **204** + +*ToDo DELETE success* + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| + + + +## ToDoController.create + + + +> Code samples + +```'javascript--nodejs +const fetch = require('node-fetch'); +const inputBody = { + "title": "string", + "description": "string", + "items": [ + "string" + ] +}; +const headers = { + 'Content-Type':'application/json', + 'Accept':'application/json' +}; + +fetch('http://localhost:3000/to-dos', +{ + method: 'POST', + body: JSON.stringify(inputBody), + headers: headers +}) +.then(function(res) { + return res.json(); +}).then(function(body) { + console.log(body); +}); + +``` + +`POST /to-dos` + +> Body parameter + +```json +{ + "title": "string", + "description": "string", + "items": [ + "string" + ] +} +``` + +

Parameters

+ +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|body|body|[NewToDo](#schemanewtodo)|false|none| + +> Example responses + +> 200 Response + +```json +{ + "id": "string", + "title": "string", + "description": "string", + "items": [ + "string" + ] +} +``` + +

Responses

+ +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|ToDo model instance|[ToDo](#schematodo)| + + + +## ToDoController.updateAll + + + +> Code samples + +```'javascript--nodejs +const fetch = require('node-fetch'); +const inputBody = { + "id": "string", + "title": "string", + "description": "string", + "items": [ + "string" + ] +}; +const headers = { + 'Content-Type':'application/json', + 'Accept':'application/json' +}; + +fetch('http://localhost:3000/to-dos', +{ + method: 'PATCH', + body: JSON.stringify(inputBody), + headers: headers +}) +.then(function(res) { + return res.json(); +}).then(function(body) { + console.log(body); +}); + +``` + +`PATCH /to-dos` + +> Body parameter + +```json +{ + "id": "string", + "title": "string", + "description": "string", + "items": [ + "string" + ] +} +``` + +

Parameters

+ +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|where|query|object|false|none| +|body|body|[ToDoPartial](#schematodopartial)|false|none| + +> Example responses + +> 200 Response + +```json +{ + "count": 0 +} +``` + +

Responses

+ +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|ToDo PATCH success count|[loopback.Count](#schemaloopback.count)| + + + +## ToDoController.find + + + +> Code samples + +```'javascript--nodejs +const fetch = require('node-fetch'); + +const headers = { + 'Accept':'application/json' +}; + +fetch('http://localhost:3000/to-dos', +{ + method: 'GET', + + headers: headers +}) +.then(function(res) { + return res.json(); +}).then(function(body) { + console.log(body); +}); + +``` + +`GET /to-dos` + +

Parameters

+ +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|filter|query|[ToDo.Filter1](#schematodo.filter1)|false|none| + +> Example responses + +> 200 Response + +```json +[ + { + "id": "string", + "title": "string", + "description": "string", + "items": [ + "string" + ] + } +] +``` + +

Responses

+ +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|Array of ToDo model instances|Inline| + +

Response Schema

+ +Status Code **200** + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|*anonymous*|[[ToDoWithRelations](#schematodowithrelations)]|false|none|[(tsType: ToDoWithRelations, schemaOptions: { includeRelations: true })]| +|» ToDoWithRelations|[ToDoWithRelations](#schematodowithrelations)|false|none|(tsType: ToDoWithRelations, schemaOptions: { includeRelations: true })| +|»» id|string|false|none|none| +|»» title|string|true|none|none| +|»» description|string|true|none|none| +|»» items|[string]|false|none|none| + + + +# Schemas + +

LoginRequest

+ + + + + + +```json +{ + "client_id": "string", + "client_secret": "string", + "username": "string", + "password": "string" +} + +``` + +LoginRequest + +### Properties + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|client_id|string|true|none|This property is supposed to be a string and is a required field| +|client_secret|string|true|none|This property is supposed to be a string and is a required field| +|username|string|true|none|This property is supposed to be a string and is a required field| +|password|string|true|none|This property is supposed to be a string and is a required field| + +

TokenResponse

+ + + + + + +```json +{ + "accessToken": "string", + "refreshToken": "string", + "expires": 0, + "pubnubToken": "string" +} + +``` + +TokenResponse + +### Properties + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|accessToken|string|true|none|This property is supposed to be a string and is a required field| +|refreshToken|string|true|none|This property is supposed to be a string and is a required field| +|expires|number|true|none|none| +|pubnubToken|string|false|none|none| + +

AuthTokenRequest

+ + + + + + +```json +{ + "code": "string", + "clientId": "string" +} + +``` + +AuthTokenRequest + +### Properties + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|code|string|true|none|none| +|clientId|string|true|none|none| + +

Function

+ + + + + + +```json +null + +``` + +### Properties + +*None* + +

AuthRefreshTokenRequest

+ + + + + + +```json +{ + "refreshToken": "string" +} + +``` + +AuthRefreshTokenRequest + +### Properties + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|refreshToken|string|true|none|none| + +

ClientAuthRequest

+ + + + + + +```json +{ + "client_id": "string", + "client_secret": "string" +} + +``` + +ClientAuthRequest + +### Properties + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|client_id|string|true|none|This property is supposed to be a string and is a required field| +|client_secret|string|true|none|This property is supposed to be a string and is a required field| + +

ResetPasswordPartial

+ + + + + + +```json +{ + "refreshToken": "string", + "username": "string", + "password": "string", + "oldPassword": "string" +} + +``` + +ResetPasswordPartial + +### Properties + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|refreshToken|string|false|none|none| +|username|string|false|none|This property is supposed to be a string and is a required field| +|password|string|false|none|This property is supposed to be a string and is a required field| +|oldPassword|string|false|none|This property is supposed to be a string and is a required field| + +

ResetPassword

+ + + + + + +```json +{ + "refreshToken": "string", + "username": "string", + "password": "string", + "oldPassword": "string" +} + +``` + +ResetPassword + +### Properties + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|refreshToken|string|true|none|none| +|username|string|true|none|This property is supposed to be a string and is a required field| +|password|string|true|none|This property is supposed to be a string and is a required field| +|oldPassword|string|false|none|This property is supposed to be a string and is a required field| + +

SuccessResponse

+ + + + + + +```json +{ + "success": true +} + +``` + +SuccessResponse + +### Properties + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|success|boolean|false|none|none| + +

RefreshTokenRequestPartial

+ + + + + + +```json +{ + "refreshToken": "string" +} + +``` + +RefreshTokenRequestPartial + +### Properties + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|refreshToken|string|false|none|none| + +

RefreshTokenRequest

+ + + + + + +```json +{ + "refreshToken": "string" +} + +``` + +RefreshTokenRequest + +### Properties + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|refreshToken|string|true|none|none| + +

Otp

+ + + + + + +```json +{ + "otp": "string", + "username": "string" +} + +``` + +Otp + +### Properties + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|otp|string|true|none|none| +|username|string|true|none|none| + +

AuthClient

+ + + + + + +```json +{ + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "id": 0, + "clientId": "string", + "clientSecret": "string", + "secret": "string", + "redirectUrl": "string", + "accessTokenExpiration": 0, + "refreshTokenExpiration": 0, + "authCodeExpiration": 0 +} + +``` + +AuthClient + +### Properties + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|deleted|boolean|false|none|none| +|deletedOn|string(date-time)¦null|false|none|none| +|deletedBy|string¦null|false|none|none| +|createdOn|string(date-time)|false|none|none| +|modifiedOn|string(date-time)|false|none|none| +|id|number|false|none|none| +|clientId|string|true|none|none| +|clientSecret|string|true|none|none| +|secret|string|true|none|none| +|redirectUrl|string|false|none|none| +|accessTokenExpiration|number|true|none|none| +|refreshTokenExpiration|number|true|none|none| +|authCodeExpiration|number|true|none|none| + +

AuthClientExcluding_id_

+ + + + + + +```json +{ + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "clientId": "string", + "clientSecret": "string", + "secret": "string", + "redirectUrl": "string", + "accessTokenExpiration": 0, + "refreshTokenExpiration": 0, + "authCodeExpiration": 0 +} + +``` + +AuthClientExcluding_id_ + +### Properties + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|deleted|boolean|false|none|none| +|deletedOn|string(date-time)¦null|false|none|none| +|deletedBy|string¦null|false|none|none| +|createdOn|string(date-time)|false|none|none| +|modifiedOn|string(date-time)|false|none|none| +|clientId|string|true|none|none| +|clientSecret|string|true|none|none| +|secret|string|true|none|none| +|redirectUrl|string|false|none|none| +|accessTokenExpiration|number|true|none|none| +|refreshTokenExpiration|number|true|none|none| +|authCodeExpiration|number|true|none|none| + +

AuthClientPartial

+ + + + + + +```json +{ + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "id": 0, + "clientId": "string", + "clientSecret": "string", + "secret": "string", + "redirectUrl": "string", + "accessTokenExpiration": 0, + "refreshTokenExpiration": 0, + "authCodeExpiration": 0 +} + +``` + +AuthClientPartial + +### Properties + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|deleted|boolean|false|none|none| +|deletedOn|string(date-time)¦null|false|none|none| +|deletedBy|string¦null|false|none|none| +|createdOn|string(date-time)|false|none|none| +|modifiedOn|string(date-time)|false|none|none| +|id|number|false|none|none| +|clientId|string|false|none|none| +|clientSecret|string|false|none|none| +|secret|string|false|none|none| +|redirectUrl|string|false|none|none| +|accessTokenExpiration|number|false|none|none| +|refreshTokenExpiration|number|false|none|none| +|authCodeExpiration|number|false|none|none| + +

User

+ + + + + + +```json +{ + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "firstName": "string", + "lastName": "string", + "middleName": "string", + "username": "string", + "email": "string", + "phone": "string", + "authClientIds": "string", + "lastLogin": "2019-08-24T14:15:22Z", + "dob": "2019-08-24T14:15:22Z", + "gender": "M", + "defaultTenantId": "string" +} + +``` + +User + +### Properties + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|deleted|boolean|false|none|none| +|deletedOn|string(date-time)¦null|false|none|none| +|deletedBy|string¦null|false|none|none| +|createdOn|string(date-time)|false|none|none| +|modifiedOn|string(date-time)|false|none|none| +|createdBy|string|false|none|none| +|modifiedBy|string|false|none|none| +|id|string|false|none|none| +|firstName|string|true|none|none| +|lastName|string|false|none|none| +|middleName|string|false|none|none| +|username|string|true|none|none| +|email|string|false|none|none| +|phone|string|false|none|none| +|authClientIds|string|false|none|none| +|lastLogin|string(date-time)|false|none|none| +|dob|string(date-time)|false|none|none| +|gender|string|false|none|This field takes a single character as input in database.
'M' for male and 'F' for female.| +|defaultTenantId|string|false|none|none| + +#### Enumerated Values + +|Property|Value| +|---|---| +|gender|M| +|gender|F| +|gender|O| + +

ForgetPasswordResponseDto

+ + + + + + +```json +{ + "code": "string", + "expiry": 0, + "email": "string", + "user": { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "firstName": "string", + "lastName": "string", + "middleName": "string", + "username": "string", + "email": "string", + "phone": "string", + "authClientIds": "string", + "lastLogin": "2019-08-24T14:15:22Z", + "dob": "2019-08-24T14:15:22Z", + "gender": "M", + "defaultTenantId": "string" + } +} + +``` + +ForgetPasswordResponseDto + +### Properties + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|code|string|true|none|none| +|expiry|number|true|none|none| +|email|string|true|none|none| +|user|[User](#schemauser)|false|none|This is signature for user model.| + +

ForgetPasswordDto

+ + + + + + +```json +{ + "username": "string", + "client_id": "string", + "client_secret": "string" +} + +``` + +ForgetPasswordDto + +### Properties + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|username|string|true|none|none| +|client_id|string|true|none|none| +|client_secret|string|true|none|none| + +

ResetPasswordWithClient

+ + + + + + +```json +{ + "token": "string", + "password": "string", + "client_id": "string", + "client_secret": "string" +} + +``` + +ResetPasswordWithClient + +### Properties + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|token|string|true|none|none| +|password|string|true|none|none| +|client_id|string|true|none|none| +|client_secret|string|true|none|none| + +

SignupRequestResponseDto

+ + + + + + +```json +{ + "code": "string", + "expiry": 0, + "email": "string" +} + +``` + +SignupRequestResponseDto + +### Properties + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|code|string|true|none|none| +|expiry|number|true|none|none| +|email|string|true|none|none| + +

SignupRequestDto

+ + + + + + +```json +{ + "email": "string", + "data": {} +} + +``` + +SignupRequestDto + +### Properties + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|email|string|true|none|none| +|data|object|false|none|none| + +

LocalUserProfileDto

+ + + + + + +```json +{ + "email": "string", + "password": "string" +} + +``` + +LocalUserProfileDto + +### Properties + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|email|string|true|none|none| +|password|string|true|none|none| + +

SignupRequest

+ + + + + + +```json +{ + "email": "string", + "expiry": "string" +} + +``` + +SignupRequest + +### Properties + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|email|string|true|none|none| +|expiry|string|false|none|none| + +

ToDo

+ + + + + + +```json +{ + "id": "string", + "title": "string", + "description": "string", + "items": [ + "string" + ] +} + +``` + +ToDo + +### Properties + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|id|string|false|none|none| +|title|string|true|none|none| +|description|string|true|none|none| +|items|[string]|false|none|none| + +

NewToDo

+ + + + + + +```json +{ + "title": "string", + "description": "string", + "items": [ + "string" + ] +} + +``` + +NewToDo + +### Properties + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|title|string|true|none|none| +|description|string|true|none|none| +|items|[string]|false|none|none| + +

ToDoWithRelations

+ + + + + + +```json +{ + "id": "string", + "title": "string", + "description": "string", + "items": [ + "string" + ] +} + +``` + +ToDoWithRelations + +### Properties + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|id|string|false|none|none| +|title|string|true|none|none| +|description|string|true|none|none| +|items|[string]|false|none|none| + +

ToDoPartial

+ + + + + + +```json +{ + "id": "string", + "title": "string", + "description": "string", + "items": [ + "string" + ] +} + +``` + +ToDoPartial + +### Properties + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|id|string|false|none|none| +|title|string|false|none|none| +|description|string|false|none|none| +|items|[string]|false|none|none| + +

loopback.Count

+ + + + + + +```json +{ + "count": 0 +} + +``` + +loopback.Count + +### Properties + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|count|number|false|none|none| + +

auth_clients.Filter

+ + + + + + +```json +{ + "offset": 0, + "limit": 100, + "skip": 0, + "order": "string", + "where": {}, + "fields": { + "deleted": true, + "deletedOn": true, + "deletedBy": true, + "createdOn": true, + "modifiedOn": true, + "id": true, + "clientId": true, + "clientSecret": true, + "secret": true, + "redirectUrl": true, + "accessTokenExpiration": true, + "refreshTokenExpiration": true, + "authCodeExpiration": true + } +} + +``` + +auth_clients.Filter + +### Properties + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|offset|integer|false|none|none| +|limit|integer|false|none|none| +|skip|integer|false|none|none| +|order|any|false|none|none| + +oneOf + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|» *anonymous*|string|false|none|none| + +xor + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|» *anonymous*|[string]|false|none|none| + +continued + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|where|object|false|none|none| +|fields|any|false|none|none| + +oneOf + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|» *anonymous*|object|false|none|none| +|»» deleted|boolean|false|none|none| +|»» deletedOn|boolean|false|none|none| +|»» deletedBy|boolean|false|none|none| +|»» createdOn|boolean|false|none|none| +|»» modifiedOn|boolean|false|none|none| +|»» id|boolean|false|none|none| +|»» clientId|boolean|false|none|none| +|»» clientSecret|boolean|false|none|none| +|»» secret|boolean|false|none|none| +|»» redirectUrl|boolean|false|none|none| +|»» accessTokenExpiration|boolean|false|none|none| +|»» refreshTokenExpiration|boolean|false|none|none| +|»» authCodeExpiration|boolean|false|none|none| + +xor + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|» *anonymous*|[string]|false|none|none| + +

ToDo.Filter

+ + + + + + +```json +{ + "offset": 0, + "limit": 100, + "skip": 0, + "order": "string", + "fields": { + "id": true, + "title": true, + "description": true, + "items": true + } +} + +``` + +ToDo.Filter + +### Properties + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|offset|integer|false|none|none| +|limit|integer|false|none|none| +|skip|integer|false|none|none| +|order|any|false|none|none| + +oneOf + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|» *anonymous*|string|false|none|none| + +xor + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|» *anonymous*|[string]|false|none|none| + +continued + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|fields|any|false|none|none| + +oneOf + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|» *anonymous*|object|false|none|none| +|»» id|boolean|false|none|none| +|»» title|boolean|false|none|none| +|»» description|boolean|false|none|none| +|»» items|boolean|false|none|none| + +xor + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|» *anonymous*|[string]|false|none|none| + +

ToDo.Filter1

+ + + + + + +```json +{ + "offset": 0, + "limit": 100, + "skip": 0, + "order": "string", + "where": {}, + "fields": { + "id": true, + "title": true, + "description": true, + "items": true + } +} + +``` + +ToDo.Filter + +### Properties + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|offset|integer|false|none|none| +|limit|integer|false|none|none| +|skip|integer|false|none|none| +|order|any|false|none|none| + +oneOf + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|» *anonymous*|string|false|none|none| + +xor + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|» *anonymous*|[string]|false|none|none| + +continued + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|where|object|false|none|none| +|fields|any|false|none|none| + +oneOf + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|» *anonymous*|object|false|none|none| +|»» id|boolean|false|none|none| +|»» title|boolean|false|none|none| +|»» description|boolean|false|none|none| +|»» items|boolean|false|none|none| + +xor + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|» *anonymous*|[string]|false|none|none| + diff --git a/sandbox/auth-multitenant-example/README.md b/sandbox/auth-multitenant-example/README.md index 29cbee5a13..3acf7d04ba 100644 --- a/sandbox/auth-multitenant-example/README.md +++ b/sandbox/auth-multitenant-example/README.md @@ -1,3 +1,7 @@ # auth-multitenant-example [![LoopBack](https://github.com/strongloop/loopback-next/raw/master/docs/site/imgs/branding/Powered-by-LoopBack-Badge-(blue)-@2x.png)](http://loopback.io/) + +#### API Details + +Visit the [OpenAPI spec docs](./openapi.md) \ No newline at end of file diff --git a/sandbox/auth-multitenant-example/openapi.md b/sandbox/auth-multitenant-example/openapi.md new file mode 100644 index 0000000000..e1b87f0d89 --- /dev/null +++ b/sandbox/auth-multitenant-example/openapi.md @@ -0,0 +1,3990 @@ +--- +title: Authentication Service v1.0.0 +language_tabs: + - "'javascript": JavaScript + - "'javascript--nodejs": Node.JS' +language_clients: + - "'javascript": request' + - "'javascript--nodejs": "" +toc_footers: [] +includes: [] +search: false +highlight_theme: darkula +headingLevel: 2 + +--- + + + +

Authentication Service v1.0.0

+ +> Scroll down for code samples, example requests and responses. Select a language for code samples from the tabs above or the mobile navigation menu. + +This is a sample application for sandbox testing of auth microservice components. + +Base URLs: + +* http://localhost:3000 + +# Authentication + +- HTTP Authentication, scheme: bearer + +

LoginController

+ +## LoginController.resetPassword + + + +> Code samples + +```'javascript--nodejs +const fetch = require('node-fetch'); +const inputBody = { + "refreshToken": "string", + "username": "string", + "password": "string", + "oldPassword": "string" +}; +const headers = { + 'Content-Type':'application/json', + 'Authorization':'string' +}; + +fetch('http://localhost:3000/auth/change-password', +{ + method: 'PATCH', + body: JSON.stringify(inputBody), + headers: headers +}) +.then(function(res) { + return res.json(); +}).then(function(body) { + console.log(body); +}); + +``` + +`PATCH /auth/change-password` + +> Body parameter + +```json +{ + "refreshToken": "string", + "username": "string", + "password": "string", + "oldPassword": "string" +} +``` + +

Parameters

+ +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|Authorization|header|string|false|none| +|body|body|[ResetPasswordPartial](#schemaresetpasswordpartial)|false|none| + +

Responses

+ +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|If User password successfully changed.|None| + + + +## LoginController.postLoginViaGoogle + + + +> Code samples + +```'javascript--nodejs +const fetch = require('node-fetch'); +const inputBody = { + "client_id": "string", + "client_secret": "string" +}; +const headers = { + 'Content-Type':'application/x-www-form-urlencoded', + 'Accept':'application/json' +}; + +fetch('http://localhost:3000/auth/google', +{ + method: 'POST', + body: JSON.stringify(inputBody), + headers: headers +}) +.then(function(res) { + return res.json(); +}).then(function(body) { + console.log(body); +}); + +``` + +`POST /auth/google` + +> Body parameter + +```yaml +client_id: string +client_secret: string + +``` + +

Parameters

+ +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|body|body|[ClientAuthRequest](#schemaclientauthrequest)|false|none| + +> Example responses + +> 200 Response + +```json +{ + "accessToken": "string", + "refreshToken": "string", + "expires": 0, + "pubnubToken": "string" +} +``` + +

Responses

+ +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|POST Call for Google based login|[TokenResponse](#schematokenresponse)| + + + +## LoginController.loginViaGoogle + + + +> Code samples + +```'javascript--nodejs +const fetch = require('node-fetch'); + +const headers = { + 'Accept':'application/json' +}; + +fetch('http://localhost:3000/auth/google', +{ + method: 'GET', + + headers: headers +}) +.then(function(res) { + return res.json(); +}).then(function(body) { + console.log(body); +}); + +``` + +`GET /auth/google` + +

Parameters

+ +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|client_id|query|string|false|none| +|client_secret|query|string|false|none| + +> Example responses + +> 200 Response + +```json +{ + "accessToken": "string", + "refreshToken": "string", + "expires": 0, + "pubnubToken": "string" +} +``` + +

Responses

+ +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|Google Token Response (Deprecated: Possible security issue if secret is passed via query params, please use the post endpoint)|[TokenResponse](#schematokenresponse)| + + + +## LoginController.googleCallback + + + +> Code samples + +```'javascript--nodejs +const fetch = require('node-fetch'); + +const headers = { + 'Accept':'application/json' +}; + +fetch('http://localhost:3000/auth/google-auth-redirect', +{ + method: 'GET', + + headers: headers +}) +.then(function(res) { + return res.json(); +}).then(function(body) { + console.log(body); +}); + +``` + +`GET /auth/google-auth-redirect` + +

Parameters

+ +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|code|query|string|false|none| +|state|query|string|false|none| + +> Example responses + +> 200 Response + +```json +{ + "accessToken": "string", + "refreshToken": "string", + "expires": 0, + "pubnubToken": "string" +} +``` + +

Responses

+ +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|Google Redirect Token Response|[TokenResponse](#schematokenresponse)| + + + +## LoginController.postLoginViaInstagram + + + +> Code samples + +```'javascript--nodejs +const fetch = require('node-fetch'); +const inputBody = { + "client_id": "string", + "client_secret": "string" +}; +const headers = { + 'Content-Type':'application/x-www-form-urlencoded', + 'Accept':'application/json' +}; + +fetch('http://localhost:3000/auth/instagram', +{ + method: 'POST', + body: JSON.stringify(inputBody), + headers: headers +}) +.then(function(res) { + return res.json(); +}).then(function(body) { + console.log(body); +}); + +``` + +`POST /auth/instagram` + +> Body parameter + +```yaml +client_id: string +client_secret: string + +``` + +

Parameters

+ +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|body|body|[ClientAuthRequest](#schemaclientauthrequest)|false|none| + +> Example responses + +> 200 Response + +```json +{ + "accessToken": "string", + "refreshToken": "string", + "expires": 0, + "pubnubToken": "string" +} +``` + +

Responses

+ +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|POST Call for Instagram based login|[TokenResponse](#schematokenresponse)| + + + +## LoginController.instagramCallback + + + +> Code samples + +```'javascript--nodejs +const fetch = require('node-fetch'); + +const headers = { + 'Accept':'application/json' +}; + +fetch('http://localhost:3000/auth/instagram-auth-redirect', +{ + method: 'GET', + + headers: headers +}) +.then(function(res) { + return res.json(); +}).then(function(body) { + console.log(body); +}); + +``` + +`GET /auth/instagram-auth-redirect` + +

Parameters

+ +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|code|query|string|false|none| +|state|query|string|false|none| + +> Example responses + +> 200 Response + +```json +{ + "accessToken": "string", + "refreshToken": "string", + "expires": 0, + "pubnubToken": "string" +} +``` + +

Responses

+ +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|Instagram Redirect Token Response|[TokenResponse](#schematokenresponse)| + + + +## LoginController.postLoginViaKeycloak + + + +> Code samples + +```'javascript--nodejs +const fetch = require('node-fetch'); +const inputBody = { + "client_id": "string", + "client_secret": "string" +}; +const headers = { + 'Content-Type':'application/x-www-form-urlencoded', + 'Accept':'application/json' +}; + +fetch('http://localhost:3000/auth/keycloak', +{ + method: 'POST', + body: JSON.stringify(inputBody), + headers: headers +}) +.then(function(res) { + return res.json(); +}).then(function(body) { + console.log(body); +}); + +``` + +`POST /auth/keycloak` + +POST Call for keycloak based login + +> Body parameter + +```yaml +client_id: string +client_secret: string + +``` + +

Parameters

+ +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|body|body|[ClientAuthRequest](#schemaclientauthrequest)|false|none| + +> Example responses + +> 200 Response + +```json +{ + "accessToken": "string", + "refreshToken": "string", + "expires": 0, + "pubnubToken": "string" +} +``` + +

Responses

+ +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|Keycloak Token Response|[TokenResponse](#schematokenresponse)| + + + +## LoginController.loginViaKeycloak + + + +> Code samples + +```'javascript--nodejs +const fetch = require('node-fetch'); + +const headers = { + 'Accept':'application/json' +}; + +fetch('http://localhost:3000/auth/keycloak', +{ + method: 'GET', + + headers: headers +}) +.then(function(res) { + return res.json(); +}).then(function(body) { + console.log(body); +}); + +``` + +`GET /auth/keycloak` + +

Parameters

+ +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|client_id|query|string|false|none| +|client_secret|query|string|false|none| + +> Example responses + +> 200 Response + +```json +{ + "accessToken": "string", + "refreshToken": "string", + "expires": 0, + "pubnubToken": "string" +} +``` + +

Responses

+ +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|Keycloak Token Response (Deprecated: Possible security issue if secret is passed via query params, please use the post endpoint)|[TokenResponse](#schematokenresponse)| + + + +## LoginController.keycloakCallback + + + +> Code samples + +```'javascript--nodejs +const fetch = require('node-fetch'); + +const headers = { + 'Accept':'application/json' +}; + +fetch('http://localhost:3000/auth/keycloak-auth-redirect', +{ + method: 'GET', + + headers: headers +}) +.then(function(res) { + return res.json(); +}).then(function(body) { + console.log(body); +}); + +``` + +`GET /auth/keycloak-auth-redirect` + +

Parameters

+ +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|code|query|string|false|none| +|state|query|string|false|none| + +> Example responses + +> 200 Response + +```json +{ + "accessToken": "string", + "refreshToken": "string", + "expires": 0, + "pubnubToken": "string" +} +``` + +

Responses

+ +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|Keycloak Redirect Token Response|[TokenResponse](#schematokenresponse)| + + + +## LoginController.login + + + +> Code samples + +```'javascript--nodejs +const fetch = require('node-fetch'); +const inputBody = { + "client_id": "string", + "client_secret": "string", + "username": "string", + "password": "string" +}; +const headers = { + 'Content-Type':'application/json' +}; + +fetch('http://localhost:3000/auth/login', +{ + method: 'POST', + body: JSON.stringify(inputBody), + headers: headers +}) +.then(function(res) { + return res.json(); +}).then(function(body) { + console.log(body); +}); + +``` + +`POST /auth/login` + +Gets you the code that will be used for getting token (webapps) + +> Body parameter + +```json +{ + "client_id": "string", + "client_secret": "string", + "username": "string", + "password": "string" +} +``` + +

Parameters

+ +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|body|body|[LoginRequest](#schemaloginrequest)|false|none| + +> Example responses + +

Responses

+ +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|Auth Code|None| +|400|[Bad Request](https://tools.ietf.org/html/rfc7231#section-6.5.1)|The syntax of the request entity is incorrect.|None| +|401|[Unauthorized](https://tools.ietf.org/html/rfc7235#section-3.1)|Invalid Credentials.|None| +|404|[Not Found](https://tools.ietf.org/html/rfc7231#section-6.5.4)|The entity requested does not exist.|None| +|422|[Unprocessable Entity](https://tools.ietf.org/html/rfc2518#section-10.3)|The syntax of the request entity is incorrect|None| + +

Response Schema

+ + + +## LoginController.loginWithClientUser + + + +> Code samples + +```'javascript--nodejs +const fetch = require('node-fetch'); +const inputBody = { + "client_id": "string", + "client_secret": "string", + "username": "string", + "password": "string" +}; +const headers = { + 'Content-Type':'application/json', + 'Accept':'application/json', + 'device_id':'string' +}; + +fetch('http://localhost:3000/auth/login-token', +{ + method: 'POST', + body: JSON.stringify(inputBody), + headers: headers +}) +.then(function(res) { + return res.json(); +}).then(function(body) { + console.log(body); +}); + +``` + +`POST /auth/login-token` + +Gets you refresh token and access token in one hit. (mobile app) + +> Body parameter + +```json +{ + "client_id": "string", + "client_secret": "string", + "username": "string", + "password": "string" +} +``` + +

Parameters

+ +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|device_id|header|string|false|none| +|body|body|[LoginRequest](#schemaloginrequest)|false|none| + +> Example responses + +> 200 Response + +```json +{ + "accessToken": "string", + "refreshToken": "string", + "expires": 0, + "pubnubToken": "string" +} +``` + +

Responses

+ +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|Token Response Model|[TokenResponse](#schematokenresponse)| +|400|[Bad Request](https://tools.ietf.org/html/rfc7231#section-6.5.1)|The syntax of the request entity is incorrect.|None| +|401|[Unauthorized](https://tools.ietf.org/html/rfc7235#section-3.1)|Invalid Credentials.|None| +|404|[Not Found](https://tools.ietf.org/html/rfc7231#section-6.5.4)|The entity requested does not exist.|None| +|422|[Unprocessable Entity](https://tools.ietf.org/html/rfc2518#section-10.3)|The syntax of the request entity is incorrect|None| + + + +## LoginController.me + + + +> Code samples + +```'javascript--nodejs +const fetch = require('node-fetch'); + +const headers = { + 'Authorization':'Bearer {access-token}' +}; + +fetch('http://localhost:3000/auth/me', +{ + method: 'GET', + + headers: headers +}) +.then(function(res) { + return res.json(); +}).then(function(body) { + console.log(body); +}); + +``` + +`GET /auth/me` + +To get the user details + +> Example responses + +

Responses

+ +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|User Object|None| +|400|[Bad Request](https://tools.ietf.org/html/rfc7231#section-6.5.1)|The syntax of the request entity is incorrect.|None| +|401|[Unauthorized](https://tools.ietf.org/html/rfc7235#section-3.1)|Invalid Credentials.|None| +|404|[Not Found](https://tools.ietf.org/html/rfc7231#section-6.5.4)|The entity requested does not exist.|None| +|422|[Unprocessable Entity](https://tools.ietf.org/html/rfc2518#section-10.3)|The syntax of the request entity is incorrect|None| + +

Response Schema

+ + + +## LoginController.getToken + + + +> Code samples + +```'javascript--nodejs +const fetch = require('node-fetch'); +const inputBody = { + "code": "string", + "clientId": "string" +}; +const headers = { + 'Content-Type':'application/json', + 'Accept':'application/json', + 'device_id':'string' +}; + +fetch('http://localhost:3000/auth/token', +{ + method: 'POST', + body: JSON.stringify(inputBody), + headers: headers +}) +.then(function(res) { + return res.json(); +}).then(function(body) { + console.log(body); +}); + +``` + +`POST /auth/token` + + Send the code received from the above api and this api will send you refresh token and access token (webapps) + +> Body parameter + +```json +{ + "code": "string", + "clientId": "string" +} +``` + +

Parameters

+ +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|device_id|header|string|false|none| +|body|body|[AuthTokenRequest](#schemaauthtokenrequest)|false|none| + +> Example responses + +> 200 Response + +```json +{ + "accessToken": "string", + "refreshToken": "string", + "expires": 0, + "pubnubToken": "string" +} +``` + +

Responses

+ +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|Token Response|[TokenResponse](#schematokenresponse)| +|400|[Bad Request](https://tools.ietf.org/html/rfc7231#section-6.5.1)|The syntax of the request entity is incorrect.|None| +|401|[Unauthorized](https://tools.ietf.org/html/rfc7235#section-3.1)|Invalid Credentials.|None| +|404|[Not Found](https://tools.ietf.org/html/rfc7231#section-6.5.4)|The entity requested does not exist.|None| +|422|[Unprocessable Entity](https://tools.ietf.org/html/rfc2518#section-10.3)|The syntax of the request entity is incorrect|None| + + + +## LoginController.exchangeToken + + + +> Code samples + +```'javascript--nodejs +const fetch = require('node-fetch'); +const inputBody = { + "refreshToken": "string" +}; +const headers = { + 'Content-Type':'application/json', + 'Accept':'application/json', + 'device_id':'string' +}; + +fetch('http://localhost:3000/auth/token-refresh', +{ + method: 'POST', + body: JSON.stringify(inputBody), + headers: headers +}) +.then(function(res) { + return res.json(); +}).then(function(body) { + console.log(body); +}); + +``` + +`POST /auth/token-refresh` + + Gets you a new access and refresh token once your access token is expired. (both mobile and web) + +> Body parameter + +```json +{ + "refreshToken": "string" +} +``` + +

Parameters

+ +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|device_id|header|string|false|none| +|body|body|[AuthRefreshTokenRequest](#schemaauthrefreshtokenrequest)|false|none| + +> Example responses + +> 200 Response + +```json +{ + "accessToken": "string", + "refreshToken": "string", + "expires": 0, + "pubnubToken": "string" +} +``` + +

Responses

+ +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|New Token Response|[TokenResponse](#schematokenresponse)| +|400|[Bad Request](https://tools.ietf.org/html/rfc7231#section-6.5.1)|The syntax of the request entity is incorrect.|None| +|401|[Unauthorized](https://tools.ietf.org/html/rfc7235#section-3.1)|Invalid Credentials.|None| +|404|[Not Found](https://tools.ietf.org/html/rfc7231#section-6.5.4)|The entity requested does not exist.|None| +|422|[Unprocessable Entity](https://tools.ietf.org/html/rfc2518#section-10.3)|The syntax of the request entity is incorrect|None| + + + +

ForgetPasswordController

+ +## ForgetPasswordController.forgetPassword + + + +> Code samples + +```'javascript--nodejs +const fetch = require('node-fetch'); +const inputBody = { + "username": "string", + "client_id": "string", + "client_secret": "string" +}; +const headers = { + 'Content-Type':'application/json', + 'Accept':'application/json' +}; + +fetch('http://localhost:3000/auth/forget-password', +{ + method: 'POST', + body: JSON.stringify(inputBody), + headers: headers +}) +.then(function(res) { + return res.json(); +}).then(function(body) { + console.log(body); +}); + +``` + +`POST /auth/forget-password` + +> Body parameter + +```json +{ + "username": "string", + "client_id": "string", + "client_secret": "string" +} +``` + +

Parameters

+ +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|body|body|[ForgetPasswordDto](#schemaforgetpassworddto)|false|none| + +> Example responses + +> 200 Response + +```json +{ + "code": "string", + "expiry": 0, + "email": "string", + "user": { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "firstName": "string", + "lastName": "string", + "middleName": "string", + "username": "string", + "email": "string", + "phone": "string", + "authClientIds": "string", + "lastLogin": "2019-08-24T14:15:22Z", + "dob": "2019-08-24T14:15:22Z", + "gender": "M", + "defaultTenantId": "string" + } +} +``` + +

Responses

+ +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|Success Response.|[ForgetPasswordResponseDto](#schemaforgetpasswordresponsedto)| +|400|[Bad Request](https://tools.ietf.org/html/rfc7231#section-6.5.1)|The syntax of the request entity is incorrect.|None| +|401|[Unauthorized](https://tools.ietf.org/html/rfc7235#section-3.1)|Invalid Credentials.|None| +|404|[Not Found](https://tools.ietf.org/html/rfc7231#section-6.5.4)|The entity requested does not exist.|None| +|422|[Unprocessable Entity](https://tools.ietf.org/html/rfc2518#section-10.3)|The syntax of the request entity is incorrect|None| + + + +## ForgetPasswordController.resetPassword + + + +> Code samples + +```'javascript--nodejs +const fetch = require('node-fetch'); +const inputBody = { + "token": "string", + "password": "string", + "client_id": "string", + "client_secret": "string" +}; +const headers = { + 'Content-Type':'application/json' +}; + +fetch('http://localhost:3000/auth/reset-password', +{ + method: 'PATCH', + body: JSON.stringify(inputBody), + headers: headers +}) +.then(function(res) { + return res.json(); +}).then(function(body) { + console.log(body); +}); + +``` + +`PATCH /auth/reset-password` + +> Body parameter + +```json +{ + "token": "string", + "password": "string", + "client_id": "string", + "client_secret": "string" +} +``` + +

Parameters

+ +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|body|body|[ResetPasswordWithClient](#schemaresetpasswordwithclient)|false|none| + +

Responses

+ +|Status|Meaning|Description|Schema| +|---|---|---|---| +|204|[No Content](https://tools.ietf.org/html/rfc7231#section-6.3.5)|If User password successfully changed.|None| + + + +## ForgetPasswordController.verifyResetPasswordLink + + + +> Code samples + +```'javascript--nodejs +const fetch = require('node-fetch'); + +fetch('http://localhost:3000/auth/verify-reset-password-link?token=string', +{ + method: 'GET' + +}) +.then(function(res) { + return res.json(); +}).then(function(body) { + console.log(body); +}); + +``` + +`GET /auth/verify-reset-password-link` + + + +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|token|query|string|true|none| + + + +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|Check if Token Is Valid and not Expired.|None| + + + +

SignupRequestController

+ +## SignupRequestController.requestSignup + + + +> Code samples + +```'javascript--nodejs +const fetch = require('node-fetch'); +const inputBody = { + "email": "string", + "data": {} +}; +const headers = { + 'Content-Type':'application/json', + 'Accept':'application/json' +}; + +fetch('http://localhost:3000/auth/sign-up/create-token', +{ + method: 'POST', + body: JSON.stringify(inputBody), + headers: headers +}) +.then(function(res) { + return res.json(); +}).then(function(body) { + console.log(body); +}); + +``` + +`POST /auth/sign-up/create-token` + +> Body parameter + +```json +{ + "email": "string", + "data": {} +} +``` + +

Parameters

+ +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|body|body|[SignupRequestDto](#schemasignuprequestdto)|false|none| + +> Example responses + +> 200 Response + +```json +{ + "code": "string", + "expiry": 0, + "email": "string" +} +``` + +

Responses

+ +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|Sucess Response.|[SignupRequestResponseDto](#schemasignuprequestresponsedto)| +|400|[Bad Request](https://tools.ietf.org/html/rfc7231#section-6.5.1)|The syntax of the request entity is incorrect.|None| +|401|[Unauthorized](https://tools.ietf.org/html/rfc7235#section-3.1)|Invalid Credentials.|None| +|404|[Not Found](https://tools.ietf.org/html/rfc7231#section-6.5.4)|The entity requested does not exist.|None| +|422|[Unprocessable Entity](https://tools.ietf.org/html/rfc2518#section-10.3)|The syntax of the request entity is incorrect|None| + + + +## SignupRequestController.signupWithToken + + + +> Code samples + +```'javascript--nodejs +const fetch = require('node-fetch'); +const inputBody = { + "email": "string", + "password": "string" +}; +const headers = { + 'Content-Type':'application/json', + 'Accept':'application/json' +}; + +fetch('http://localhost:3000/auth/sign-up/create-user', +{ + method: 'POST', + body: JSON.stringify(inputBody), + headers: headers +}) +.then(function(res) { + return res.json(); +}).then(function(body) { + console.log(body); +}); + +``` + +`POST /auth/sign-up/create-user` + +> Body parameter + +```json +{ + "email": "string", + "password": "string" +} +``` + +

Parameters

+ +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|body|body|[LocalUserProfileDto](#schemalocaluserprofiledto)|false|none| + +> Example responses + +> 200 Response + +```json +{ + "email": "string", + "password": "string" +} +``` + +

Responses

+ +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|Sucess Response.|[LocalUserProfileDto](#schemalocaluserprofiledto)| +|400|[Bad Request](https://tools.ietf.org/html/rfc7231#section-6.5.1)|The syntax of the request entity is incorrect.|None| +|401|[Unauthorized](https://tools.ietf.org/html/rfc7235#section-3.1)|Invalid Credentials.|None| +|404|[Not Found](https://tools.ietf.org/html/rfc7231#section-6.5.4)|The entity requested does not exist.|None| +|422|[Unprocessable Entity](https://tools.ietf.org/html/rfc2518#section-10.3)|The syntax of the request entity is incorrect|None| + + + +## SignupRequestController.verifyInviteToken + + + +> Code samples + +```'javascript--nodejs +const fetch = require('node-fetch'); + +fetch('http://localhost:3000/auth/sign-up/verify-token', +{ + method: 'GET' + +}) +.then(function(res) { + return res.json(); +}).then(function(body) { + console.log(body); +}); + +``` + +`GET /auth/sign-up/verify-token` + +

Responses

+ +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|Sucess Response.|None| +|400|[Bad Request](https://tools.ietf.org/html/rfc7231#section-6.5.1)|The syntax of the request entity is incorrect.|None| +|401|[Unauthorized](https://tools.ietf.org/html/rfc7235#section-3.1)|Invalid Credentials.|None| +|404|[Not Found](https://tools.ietf.org/html/rfc7231#section-6.5.4)|The entity requested does not exist.|None| +|422|[Unprocessable Entity](https://tools.ietf.org/html/rfc2518#section-10.3)|The syntax of the request entity is incorrect|None| + + + +

AuthClientController

+ +## AuthClientController.count + + + +> Code samples + +```'javascript--nodejs +const fetch = require('node-fetch'); + +const headers = { + 'Accept':'application/json', + 'Authorization':'Bearer {access-token}' +}; + +fetch('http://localhost:3000/auth-clients/count', +{ + method: 'GET', + + headers: headers +}) +.then(function(res) { + return res.json(); +}).then(function(body) { + console.log(body); +}); + +``` + +`GET /auth-clients/count` + +

Parameters

+ +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|where|query|object|false|none| + +> Example responses + +> 200 Response + +```json +{ + "count": 0 +} +``` + +

Responses

+ +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|AuthClient model count|[loopback.Count](#schemaloopback.count)| + + + +## AuthClientController.replaceById + + + +> Code samples + +```'javascript--nodejs +const fetch = require('node-fetch'); +const inputBody = { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "id": 0, + "clientId": "string", + "clientSecret": "string", + "secret": "string", + "redirectUrl": "string", + "accessTokenExpiration": 0, + "refreshTokenExpiration": 0, + "authCodeExpiration": 0 +}; +const headers = { + 'Content-Type':'application/json', + 'Authorization':'Bearer {access-token}' +}; + +fetch('http://localhost:3000/auth-clients/{id}', +{ + method: 'PUT', + body: JSON.stringify(inputBody), + headers: headers +}) +.then(function(res) { + return res.json(); +}).then(function(body) { + console.log(body); +}); + +``` + +`PUT /auth-clients/{id}` + +> Body parameter + +```json +{ + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "id": 0, + "clientId": "string", + "clientSecret": "string", + "secret": "string", + "redirectUrl": "string", + "accessTokenExpiration": 0, + "refreshTokenExpiration": 0, + "authCodeExpiration": 0 +} +``` + +

Parameters

+ +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|id|path|number|true|none| +|body|body|[AuthClient](#schemaauthclient)|false|none| + +

Responses

+ +|Status|Meaning|Description|Schema| +|---|---|---|---| +|204|[No Content](https://tools.ietf.org/html/rfc7231#section-6.3.5)|AuthClient PUT success|None| + + + +## AuthClientController.updateById + + + +> Code samples + +```'javascript--nodejs +const fetch = require('node-fetch'); +const inputBody = { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "id": 0, + "clientId": "string", + "clientSecret": "string", + "secret": "string", + "redirectUrl": "string", + "accessTokenExpiration": 0, + "refreshTokenExpiration": 0, + "authCodeExpiration": 0 +}; +const headers = { + 'Content-Type':'application/json', + 'Authorization':'Bearer {access-token}' +}; + +fetch('http://localhost:3000/auth-clients/{id}', +{ + method: 'PATCH', + body: JSON.stringify(inputBody), + headers: headers +}) +.then(function(res) { + return res.json(); +}).then(function(body) { + console.log(body); +}); + +``` + +`PATCH /auth-clients/{id}` + +> Body parameter + +```json +{ + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "id": 0, + "clientId": "string", + "clientSecret": "string", + "secret": "string", + "redirectUrl": "string", + "accessTokenExpiration": 0, + "refreshTokenExpiration": 0, + "authCodeExpiration": 0 +} +``` + +

Parameters

+ +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|id|path|number|true|none| +|body|body|[AuthClientPartial](#schemaauthclientpartial)|false|none| + +

Responses

+ +|Status|Meaning|Description|Schema| +|---|---|---|---| +|204|[No Content](https://tools.ietf.org/html/rfc7231#section-6.3.5)|AuthClient PATCH success|None| + + + +## AuthClientController.findById + + + +> Code samples + +```'javascript--nodejs +const fetch = require('node-fetch'); + +const headers = { + 'Accept':'application/json', + 'Authorization':'Bearer {access-token}' +}; + +fetch('http://localhost:3000/auth-clients/{id}', +{ + method: 'GET', + + headers: headers +}) +.then(function(res) { + return res.json(); +}).then(function(body) { + console.log(body); +}); + +``` + +`GET /auth-clients/{id}` + +

Parameters

+ +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|id|path|number|true|none| + +> Example responses + +> 200 Response + +```json +{ + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "id": 0, + "clientId": "string", + "clientSecret": "string", + "secret": "string", + "redirectUrl": "string", + "accessTokenExpiration": 0, + "refreshTokenExpiration": 0, + "authCodeExpiration": 0 +} +``` + +

Responses

+ +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|AuthClient model instance|[AuthClient](#schemaauthclient)| + + + +## AuthClientController.deleteById + + + +> Code samples + +```'javascript--nodejs +const fetch = require('node-fetch'); + +const headers = { + 'Authorization':'Bearer {access-token}' +}; + +fetch('http://localhost:3000/auth-clients/{id}', +{ + method: 'DELETE', + + headers: headers +}) +.then(function(res) { + return res.json(); +}).then(function(body) { + console.log(body); +}); + +``` + +`DELETE /auth-clients/{id}` + +

Parameters

+ +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|id|path|number|true|none| + +

Responses

+ +|Status|Meaning|Description|Schema| +|---|---|---|---| +|204|[No Content](https://tools.ietf.org/html/rfc7231#section-6.3.5)|AuthClient DELETE success|None| + + + +## AuthClientController.create + + + +> Code samples + +```'javascript--nodejs +const fetch = require('node-fetch'); +const inputBody = { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "clientId": "string", + "clientSecret": "string", + "secret": "string", + "redirectUrl": "string", + "accessTokenExpiration": 0, + "refreshTokenExpiration": 0, + "authCodeExpiration": 0 +}; +const headers = { + 'Content-Type':'application/json', + 'Accept':'application/json', + 'Authorization':'Bearer {access-token}' +}; + +fetch('http://localhost:3000/auth-clients', +{ + method: 'POST', + body: JSON.stringify(inputBody), + headers: headers +}) +.then(function(res) { + return res.json(); +}).then(function(body) { + console.log(body); +}); + +``` + +`POST /auth-clients` + +> Body parameter + +```json +{ + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "clientId": "string", + "clientSecret": "string", + "secret": "string", + "redirectUrl": "string", + "accessTokenExpiration": 0, + "refreshTokenExpiration": 0, + "authCodeExpiration": 0 +} +``` + +

Parameters

+ +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|body|body|[AuthClientExcluding_id_](#schemaauthclientexcluding_id_)|false|none| + +> Example responses + +> 200 Response + +```json +{ + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "id": 0, + "clientId": "string", + "clientSecret": "string", + "secret": "string", + "redirectUrl": "string", + "accessTokenExpiration": 0, + "refreshTokenExpiration": 0, + "authCodeExpiration": 0 +} +``` + +

Responses

+ +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|AuthClient model instance|[AuthClient](#schemaauthclient)| + + + +## AuthClientController.updateAll + + + +> Code samples + +```'javascript--nodejs +const fetch = require('node-fetch'); +const inputBody = { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "id": 0, + "clientId": "string", + "clientSecret": "string", + "secret": "string", + "redirectUrl": "string", + "accessTokenExpiration": 0, + "refreshTokenExpiration": 0, + "authCodeExpiration": 0 +}; +const headers = { + 'Content-Type':'application/json', + 'Accept':'application/json', + 'Authorization':'Bearer {access-token}' +}; + +fetch('http://localhost:3000/auth-clients', +{ + method: 'PATCH', + body: JSON.stringify(inputBody), + headers: headers +}) +.then(function(res) { + return res.json(); +}).then(function(body) { + console.log(body); +}); + +``` + +`PATCH /auth-clients` + +> Body parameter + +```json +{ + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "id": 0, + "clientId": "string", + "clientSecret": "string", + "secret": "string", + "redirectUrl": "string", + "accessTokenExpiration": 0, + "refreshTokenExpiration": 0, + "authCodeExpiration": 0 +} +``` + +

Parameters

+ +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|where|query|object|false|none| +|body|body|[AuthClientPartial](#schemaauthclientpartial)|false|none| + +> Example responses + +> 200 Response + +```json +{ + "count": 0 +} +``` + +

Responses

+ +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|AuthClient PATCH success count|[loopback.Count](#schemaloopback.count)| + + + +## AuthClientController.find + + + +> Code samples + +```'javascript--nodejs +const fetch = require('node-fetch'); + +const headers = { + 'Accept':'application/json', + 'Authorization':'Bearer {access-token}' +}; + +fetch('http://localhost:3000/auth-clients', +{ + method: 'GET', + + headers: headers +}) +.then(function(res) { + return res.json(); +}).then(function(body) { + console.log(body); +}); + +``` + +`GET /auth-clients` + +

Parameters

+ +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|filter|query|[auth_clients.Filter](#schemaauth_clients.filter)|false|none| + +> Example responses + +> 200 Response + +```json +[ + { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "id": 0, + "clientId": "string", + "clientSecret": "string", + "secret": "string", + "redirectUrl": "string", + "accessTokenExpiration": 0, + "refreshTokenExpiration": 0, + "authCodeExpiration": 0 + } +] +``` + +

Responses

+ +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|Array of AuthClient model instances|Inline| + +

Response Schema

+ +Status Code **200** + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|*anonymous*|[[AuthClient](#schemaauthclient)]|false|none|none| +|» AuthClient|[AuthClient](#schemaauthclient)|false|none|none| +|»» deleted|boolean|false|none|none| +|»» deletedOn|string(date-time)¦null|false|none|none| +|»» deletedBy|string¦null|false|none|none| +|»» createdOn|string(date-time)|false|none|none| +|»» modifiedOn|string(date-time)|false|none|none| +|»» id|number|false|none|none| +|»» clientId|string|true|none|none| +|»» clientSecret|string|true|none|none| +|»» secret|string|true|none|none| +|»» redirectUrl|string|false|none|none| +|»» accessTokenExpiration|number|true|none|none| +|»» refreshTokenExpiration|number|true|none|none| +|»» authCodeExpiration|number|true|none|none| + + + +

LogoutController

+ +## LogoutController.keycloakLogout + + + +> Code samples + +```'javascript--nodejs +const fetch = require('node-fetch'); +const inputBody = { + "refreshToken": "string" +}; +const headers = { + 'Content-Type':'application/json', + 'Accept':'application/json', + 'Authorization':'string' +}; + +fetch('http://localhost:3000/keycloak/logout', +{ + method: 'POST', + body: JSON.stringify(inputBody), + headers: headers +}) +.then(function(res) { + return res.json(); +}).then(function(body) { + console.log(body); +}); + +``` + +`POST /keycloak/logout` + +This API will log out the user from application as well as keycloak + +> Body parameter + +```json +{ + "refreshToken": "string" +} +``` + +

Parameters

+ +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|Authorization|header|string|false|This is the access token which is required to authenticate user.| +|body|body|[RefreshTokenRequestPartial](#schemarefreshtokenrequestpartial)|false|none| + +> Example responses + +> 200 Response + +```json +{ + "success": true +} +``` + +

Responses

+ +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|Success Response|[SuccessResponse](#schemasuccessresponse)| +|400|[Bad Request](https://tools.ietf.org/html/rfc7231#section-6.5.1)|The syntax of the request entity is incorrect.|None| +|401|[Unauthorized](https://tools.ietf.org/html/rfc7235#section-3.1)|Invalid Credentials.|None| +|404|[Not Found](https://tools.ietf.org/html/rfc7231#section-6.5.4)|The entity requested does not exist.|None| +|422|[Unprocessable Entity](https://tools.ietf.org/html/rfc2518#section-10.3)|The syntax of the request entity is incorrect|None| + + + +## LogoutController.logout + + + +> Code samples + +```'javascript--nodejs +const fetch = require('node-fetch'); +const inputBody = { + "refreshToken": "string" +}; +const headers = { + 'Content-Type':'application/json', + 'Accept':'application/json', + 'Authorization':'string' +}; + +fetch('http://localhost:3000/logout', +{ + method: 'POST', + body: JSON.stringify(inputBody), + headers: headers +}) +.then(function(res) { + return res.json(); +}).then(function(body) { + console.log(body); +}); + +``` + +`POST /logout` + +To logout + +> Body parameter + +```json +{ + "refreshToken": "string" +} +``` + +

Parameters

+ +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|Authorization|header|string|false|This is the access token which is required to authenticate user.| +|body|body|[RefreshTokenRequestPartial](#schemarefreshtokenrequestpartial)|false|none| + +> Example responses + +> 200 Response + +```json +{ + "success": true +} +``` + +

Responses

+ +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|Success Response|[SuccessResponse](#schemasuccessresponse)| +|400|[Bad Request](https://tools.ietf.org/html/rfc7231#section-6.5.1)|The syntax of the request entity is incorrect.|None| +|401|[Unauthorized](https://tools.ietf.org/html/rfc7235#section-3.1)|Invalid Credentials.|None| +|404|[Not Found](https://tools.ietf.org/html/rfc7231#section-6.5.4)|The entity requested does not exist.|None| +|422|[Unprocessable Entity](https://tools.ietf.org/html/rfc2518#section-10.3)|The syntax of the request entity is incorrect|None| + + + +

OtpController

+ +## OtpController.findById + + + +> Code samples + +```'javascript--nodejs +const fetch = require('node-fetch'); + +const headers = { + 'Accept':'application/json' +}; + +fetch('http://localhost:3000/otp-caches/{id}', +{ + method: 'GET', + + headers: headers +}) +.then(function(res) { + return res.json(); +}).then(function(body) { + console.log(body); +}); + +``` + +`GET /otp-caches/{id}` + +

Parameters

+ +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|id|path|string|true|none| + +> Example responses + +> 200 Response + +```json +{ + "otp": "string", + "username": "string" +} +``` + +

Responses

+ +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|Otp model instance|[Otp](#schemaotp)| + + + +## OtpController.deleteById + + + +> Code samples + +```'javascript--nodejs +const fetch = require('node-fetch'); + +fetch('http://localhost:3000/otp-caches/{id}', +{ + method: 'DELETE' + +}) +.then(function(res) { + return res.json(); +}).then(function(body) { + console.log(body); +}); + +``` + +`DELETE /otp-caches/{id}` + +

Parameters

+ +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|id|path|string|true|none| + +

Responses

+ +|Status|Meaning|Description|Schema| +|---|---|---|---| +|204|[No Content](https://tools.ietf.org/html/rfc7231#section-6.3.5)|Otp DELETE success|None| + + + +## OtpController.create + + + +> Code samples + +```'javascript--nodejs +const fetch = require('node-fetch'); +const inputBody = { + "otp": "string", + "username": "string" +}; +const headers = { + 'Content-Type':'application/json', + 'Accept':'application/json' +}; + +fetch('http://localhost:3000/otp-caches', +{ + method: 'POST', + body: JSON.stringify(inputBody), + headers: headers +}) +.then(function(res) { + return res.json(); +}).then(function(body) { + console.log(body); +}); + +``` + +`POST /otp-caches` + +> Body parameter + +```json +{ + "otp": "string", + "username": "string" +} +``` + +

Parameters

+ +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|body|body|[Otp](#schemaotp)|false|none| + +> Example responses + +> 200 Response + +```json +{ + "otp": "string", + "username": "string" +} +``` + +

Responses

+ +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|Otp model instance|[Otp](#schemaotp)| + + + +

PingController

+ +## PingController.ping + + + +> Code samples + +```'javascript--nodejs +const fetch = require('node-fetch'); + +const headers = { + 'Accept':'application/json' +}; + +fetch('http://localhost:3000/ping', +{ + method: 'GET', + + headers: headers +}) +.then(function(res) { + return res.json(); +}).then(function(body) { + console.log(body); +}); + +``` + +`GET /ping` + +> Example responses + +> 200 Response + +```json +{ + "greeting": "string", + "date": "string", + "url": "string", + "headers": { + "Content-Type": "string" + } +} +``` + +

Responses

+ +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|Ping Response|Inline| + +

Response Schema

+ +Status Code **200** + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|» greeting|string|false|none|none| +|» date|string|false|none|none| +|» url|string|false|none|none| +|» headers|object|false|none|none| +|»» Content-Type|string|false|none|none| + + + +

TodoController

+ +## TodoController.count + + + +> Code samples + +```'javascript--nodejs +const fetch = require('node-fetch'); + +const headers = { + 'Accept':'application/json' +}; + +fetch('http://localhost:3000/todos/count', +{ + method: 'GET', + + headers: headers +}) +.then(function(res) { + return res.json(); +}).then(function(body) { + console.log(body); +}); + +``` + +`GET /todos/count` + +

Parameters

+ +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|where|query|object|false|none| + +> Example responses + +> 200 Response + +```json +{ + "count": 0 +} +``` + +

Responses

+ +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|ToDo model count|[loopback.Count](#schemaloopback.count)| + + + +## TodoController.updateById + + + +> Code samples + +```'javascript--nodejs +const fetch = require('node-fetch'); +const inputBody = { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "title": "string", + "description": "string", + "items": [ + "string" + ] +}; +const headers = { + 'Content-Type':'application/json' +}; + +fetch('http://localhost:3000/todos/{id}', +{ + method: 'PATCH', + body: JSON.stringify(inputBody), + headers: headers +}) +.then(function(res) { + return res.json(); +}).then(function(body) { + console.log(body); +}); + +``` + +`PATCH /todos/{id}` + +> Body parameter + +```json +{ + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "title": "string", + "description": "string", + "items": [ + "string" + ] +} +``` + +

Parameters

+ +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|id|path|string|true|none| +|body|body|[ToDoPartial](#schematodopartial)|false|none| + +

Responses

+ +|Status|Meaning|Description|Schema| +|---|---|---|---| +|204|[No Content](https://tools.ietf.org/html/rfc7231#section-6.3.5)|ToDo PATCH success|None| + + + +## TodoController.findById + + + +> Code samples + +```'javascript--nodejs +const fetch = require('node-fetch'); + +const headers = { + 'Accept':'application/json' +}; + +fetch('http://localhost:3000/todos/{id}', +{ + method: 'GET', + + headers: headers +}) +.then(function(res) { + return res.json(); +}).then(function(body) { + console.log(body); +}); + +``` + +`GET /todos/{id}` + +

Parameters

+ +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|id|path|string|true|none| +|filter|query|[todos.Filter](#schematodos.filter)|false|none| + +> Example responses + +> 200 Response + +```json +{ + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "title": "string", + "description": "string", + "items": [ + "string" + ] +} +``` + +

Responses

+ +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|ToDo model instance|[ToDoWithRelations](#schematodowithrelations)| + + + +## TodoController.deleteById + + + +> Code samples + +```'javascript--nodejs +const fetch = require('node-fetch'); + +fetch('http://localhost:3000/todos/{id}', +{ + method: 'DELETE' + +}) +.then(function(res) { + return res.json(); +}).then(function(body) { + console.log(body); +}); + +``` + +`DELETE /todos/{id}` + +

Parameters

+ +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|id|path|string|true|none| + +

Responses

+ +|Status|Meaning|Description|Schema| +|---|---|---|---| +|204|[No Content](https://tools.ietf.org/html/rfc7231#section-6.3.5)|ToDo DELETE success|None| + + + +## TodoController.create + + + +> Code samples + +```'javascript--nodejs +const fetch = require('node-fetch'); +const inputBody = { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "title": "string", + "description": "string", + "items": [ + "string" + ] +}; +const headers = { + 'Content-Type':'application/json', + 'Accept':'application/json' +}; + +fetch('http://localhost:3000/todos', +{ + method: 'POST', + body: JSON.stringify(inputBody), + headers: headers +}) +.then(function(res) { + return res.json(); +}).then(function(body) { + console.log(body); +}); + +``` + +`POST /todos` + +> Body parameter + +```json +{ + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "title": "string", + "description": "string", + "items": [ + "string" + ] +} +``` + +

Parameters

+ +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|body|body|[NewToDo](#schemanewtodo)|false|none| + +> Example responses + +> 200 Response + +```json +{ + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "title": "string", + "description": "string", + "items": [ + "string" + ] +} +``` + +

Responses

+ +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|ToDo model instance|[ToDo](#schematodo)| + + + +## TodoController.find + + + +> Code samples + +```'javascript--nodejs +const fetch = require('node-fetch'); + +const headers = { + 'Accept':'application/json' +}; + +fetch('http://localhost:3000/todos', +{ + method: 'GET', + + headers: headers +}) +.then(function(res) { + return res.json(); +}).then(function(body) { + console.log(body); +}); + +``` + +`GET /todos` + +

Parameters

+ +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|filter|query|[todos.Filter1](#schematodos.filter1)|false|none| + +> Example responses + +> 200 Response + +```json +[ + { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "title": "string", + "description": "string", + "items": [ + "string" + ] + } +] +``` + +

Responses

+ +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|Array of ToDo model instances|Inline| + +

Response Schema

+ +Status Code **200** + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|*anonymous*|[[ToDoWithRelations](#schematodowithrelations)]|false|none|[(tsType: ToDoWithRelations, schemaOptions: { includeRelations: true })]| +|» ToDoWithRelations|[ToDoWithRelations](#schematodowithrelations)|false|none|(tsType: ToDoWithRelations, schemaOptions: { includeRelations: true })| +|»» deleted|boolean|false|none|none| +|»» deletedOn|string(date-time)¦null|false|none|none| +|»» deletedBy|string¦null|false|none|none| +|»» createdOn|string(date-time)|false|none|none| +|»» modifiedOn|string(date-time)|false|none|none| +|»» createdBy|string|false|none|none| +|»» modifiedBy|string|false|none|none| +|»» id|string|false|none|none| +|»» title|string|true|none|none| +|»» description|string|true|none|none| +|»» items|[string]|false|none|none| + + + +

HomePageController

+ +## HomePageController.homePage + + + +> Code samples + +```'javascript--nodejs +const fetch = require('node-fetch'); + +const headers = { + 'Accept':'text/html' +}; + +fetch('http://localhost:3000/', +{ + method: 'GET', + + headers: headers +}) +.then(function(res) { + return res.json(); +}).then(function(body) { + console.log(body); +}); + +``` + +`GET /` + +> Example responses + +> 200 Response + +``` +"string" +``` + +

Responses

+ +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|Home Page|string| + + + +# Schemas + +

LoginRequest

+ + + + + + +```json +{ + "client_id": "string", + "client_secret": "string", + "username": "string", + "password": "string" +} + +``` + +LoginRequest + +### Properties + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|client_id|string|true|none|This property is supposed to be a string and is a required field| +|client_secret|string|true|none|This property is supposed to be a string and is a required field| +|username|string|true|none|This property is supposed to be a string and is a required field| +|password|string|true|none|This property is supposed to be a string and is a required field| + +

TokenResponse

+ + + + + + +```json +{ + "accessToken": "string", + "refreshToken": "string", + "expires": 0, + "pubnubToken": "string" +} + +``` + +TokenResponse + +### Properties + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|accessToken|string|true|none|This property is supposed to be a string and is a required field| +|refreshToken|string|true|none|This property is supposed to be a string and is a required field| +|expires|number|true|none|none| +|pubnubToken|string|false|none|none| + +

AuthTokenRequest

+ + + + + + +```json +{ + "code": "string", + "clientId": "string" +} + +``` + +AuthTokenRequest + +### Properties + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|code|string|true|none|none| +|clientId|string|true|none|none| + +

Function

+ + + + + + +```json +null + +``` + +### Properties + +*None* + +

AuthRefreshTokenRequest

+ + + + + + +```json +{ + "refreshToken": "string" +} + +``` + +AuthRefreshTokenRequest + +### Properties + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|refreshToken|string|true|none|none| + +

ClientAuthRequest

+ + + + + + +```json +{ + "client_id": "string", + "client_secret": "string" +} + +``` + +ClientAuthRequest + +### Properties + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|client_id|string|true|none|This property is supposed to be a string and is a required field| +|client_secret|string|true|none|This property is supposed to be a string and is a required field| + +

ResetPasswordPartial

+ + + + + + +```json +{ + "refreshToken": "string", + "username": "string", + "password": "string", + "oldPassword": "string" +} + +``` + +ResetPasswordPartial + +### Properties + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|refreshToken|string|false|none|none| +|username|string|false|none|This property is supposed to be a string and is a required field| +|password|string|false|none|This property is supposed to be a string and is a required field| +|oldPassword|string|false|none|This property is supposed to be a string and is a required field| + +

ResetPassword

+ + + + + + +```json +{ + "refreshToken": "string", + "username": "string", + "password": "string", + "oldPassword": "string" +} + +``` + +ResetPassword + +### Properties + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|refreshToken|string|true|none|none| +|username|string|true|none|This property is supposed to be a string and is a required field| +|password|string|true|none|This property is supposed to be a string and is a required field| +|oldPassword|string|false|none|This property is supposed to be a string and is a required field| + +

SuccessResponse

+ + + + + + +```json +{ + "success": true +} + +``` + +SuccessResponse + +### Properties + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|success|boolean|false|none|none| + +

RefreshTokenRequestPartial

+ + + + + + +```json +{ + "refreshToken": "string" +} + +``` + +RefreshTokenRequestPartial + +### Properties + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|refreshToken|string|false|none|none| + +

RefreshTokenRequest

+ + + + + + +```json +{ + "refreshToken": "string" +} + +``` + +RefreshTokenRequest + +### Properties + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|refreshToken|string|true|none|none| + +

Otp

+ + + + + + +```json +{ + "otp": "string", + "username": "string" +} + +``` + +Otp + +### Properties + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|otp|string|true|none|none| +|username|string|true|none|none| + +

AuthClient

+ + + + + + +```json +{ + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "id": 0, + "clientId": "string", + "clientSecret": "string", + "secret": "string", + "redirectUrl": "string", + "accessTokenExpiration": 0, + "refreshTokenExpiration": 0, + "authCodeExpiration": 0 +} + +``` + +AuthClient + +### Properties + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|deleted|boolean|false|none|none| +|deletedOn|string(date-time)¦null|false|none|none| +|deletedBy|string¦null|false|none|none| +|createdOn|string(date-time)|false|none|none| +|modifiedOn|string(date-time)|false|none|none| +|id|number|false|none|none| +|clientId|string|true|none|none| +|clientSecret|string|true|none|none| +|secret|string|true|none|none| +|redirectUrl|string|false|none|none| +|accessTokenExpiration|number|true|none|none| +|refreshTokenExpiration|number|true|none|none| +|authCodeExpiration|number|true|none|none| + +

AuthClientExcluding_id_

+ + + + + + +```json +{ + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "clientId": "string", + "clientSecret": "string", + "secret": "string", + "redirectUrl": "string", + "accessTokenExpiration": 0, + "refreshTokenExpiration": 0, + "authCodeExpiration": 0 +} + +``` + +AuthClientExcluding_id_ + +### Properties + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|deleted|boolean|false|none|none| +|deletedOn|string(date-time)¦null|false|none|none| +|deletedBy|string¦null|false|none|none| +|createdOn|string(date-time)|false|none|none| +|modifiedOn|string(date-time)|false|none|none| +|clientId|string|true|none|none| +|clientSecret|string|true|none|none| +|secret|string|true|none|none| +|redirectUrl|string|false|none|none| +|accessTokenExpiration|number|true|none|none| +|refreshTokenExpiration|number|true|none|none| +|authCodeExpiration|number|true|none|none| + +

AuthClientPartial

+ + + + + + +```json +{ + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "id": 0, + "clientId": "string", + "clientSecret": "string", + "secret": "string", + "redirectUrl": "string", + "accessTokenExpiration": 0, + "refreshTokenExpiration": 0, + "authCodeExpiration": 0 +} + +``` + +AuthClientPartial + +### Properties + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|deleted|boolean|false|none|none| +|deletedOn|string(date-time)¦null|false|none|none| +|deletedBy|string¦null|false|none|none| +|createdOn|string(date-time)|false|none|none| +|modifiedOn|string(date-time)|false|none|none| +|id|number|false|none|none| +|clientId|string|false|none|none| +|clientSecret|string|false|none|none| +|secret|string|false|none|none| +|redirectUrl|string|false|none|none| +|accessTokenExpiration|number|false|none|none| +|refreshTokenExpiration|number|false|none|none| +|authCodeExpiration|number|false|none|none| + +

User

+ + + + + + +```json +{ + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "firstName": "string", + "lastName": "string", + "middleName": "string", + "username": "string", + "email": "string", + "phone": "string", + "authClientIds": "string", + "lastLogin": "2019-08-24T14:15:22Z", + "dob": "2019-08-24T14:15:22Z", + "gender": "M", + "defaultTenantId": "string" +} + +``` + +User + +### Properties + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|deleted|boolean|false|none|none| +|deletedOn|string(date-time)¦null|false|none|none| +|deletedBy|string¦null|false|none|none| +|createdOn|string(date-time)|false|none|none| +|modifiedOn|string(date-time)|false|none|none| +|createdBy|string|false|none|none| +|modifiedBy|string|false|none|none| +|id|string|false|none|none| +|firstName|string|true|none|none| +|lastName|string|false|none|none| +|middleName|string|false|none|none| +|username|string|true|none|none| +|email|string|false|none|none| +|phone|string|false|none|none| +|authClientIds|string|false|none|none| +|lastLogin|string(date-time)|false|none|none| +|dob|string(date-time)|false|none|none| +|gender|string|false|none|This field takes a single character as input in database.
'M' for male and 'F' for female.| +|defaultTenantId|string|false|none|none| + +#### Enumerated Values + +|Property|Value| +|---|---| +|gender|M| +|gender|F| +|gender|O| + +

ForgetPasswordResponseDto

+ + + + + + +```json +{ + "code": "string", + "expiry": 0, + "email": "string", + "user": { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "firstName": "string", + "lastName": "string", + "middleName": "string", + "username": "string", + "email": "string", + "phone": "string", + "authClientIds": "string", + "lastLogin": "2019-08-24T14:15:22Z", + "dob": "2019-08-24T14:15:22Z", + "gender": "M", + "defaultTenantId": "string" + } +} + +``` + +ForgetPasswordResponseDto + +### Properties + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|code|string|true|none|none| +|expiry|number|true|none|none| +|email|string|true|none|none| +|user|[User](#schemauser)|false|none|This is signature for user model.| + +

ForgetPasswordDto

+ + + + + + +```json +{ + "username": "string", + "client_id": "string", + "client_secret": "string" +} + +``` + +ForgetPasswordDto + +### Properties + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|username|string|true|none|none| +|client_id|string|true|none|none| +|client_secret|string|true|none|none| + +

ResetPasswordWithClient

+ + + + + + +```json +{ + "token": "string", + "password": "string", + "client_id": "string", + "client_secret": "string" +} + +``` + +ResetPasswordWithClient + +### Properties + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|token|string|true|none|none| +|password|string|true|none|none| +|client_id|string|true|none|none| +|client_secret|string|true|none|none| + +

SignupRequestResponseDto

+ + + + + + +```json +{ + "code": "string", + "expiry": 0, + "email": "string" +} + +``` + +SignupRequestResponseDto + +### Properties + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|code|string|true|none|none| +|expiry|number|true|none|none| +|email|string|true|none|none| + +

SignupRequestDto

+ + + + + + +```json +{ + "email": "string", + "data": {} +} + +``` + +SignupRequestDto + +### Properties + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|email|string|true|none|none| +|data|object|false|none|none| + +

LocalUserProfileDto

+ + + + + + +```json +{ + "email": "string", + "password": "string" +} + +``` + +LocalUserProfileDto + +### Properties + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|email|string|true|none|none| +|password|string|true|none|none| + +

SignupRequest

+ + + + + + +```json +{ + "email": "string", + "expiry": "string" +} + +``` + +SignupRequest + +### Properties + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|email|string|true|none|none| +|expiry|string|false|none|none| + +

ToDo

+ + + + + + +```json +{ + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "title": "string", + "description": "string", + "items": [ + "string" + ] +} + +``` + +ToDo + +### Properties + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|deleted|boolean|false|none|none| +|deletedOn|string(date-time)¦null|false|none|none| +|deletedBy|string¦null|false|none|none| +|createdOn|string(date-time)|false|none|none| +|modifiedOn|string(date-time)|false|none|none| +|createdBy|string|false|none|none| +|modifiedBy|string|false|none|none| +|id|string|false|none|none| +|title|string|true|none|none| +|description|string|true|none|none| +|items|[string]|false|none|none| + +

NewToDo

+ + + + + + +```json +{ + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "title": "string", + "description": "string", + "items": [ + "string" + ] +} + +``` + +NewToDo + +### Properties + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|deleted|boolean|false|none|none| +|deletedOn|string(date-time)¦null|false|none|none| +|deletedBy|string¦null|false|none|none| +|createdOn|string(date-time)|false|none|none| +|modifiedOn|string(date-time)|false|none|none| +|createdBy|string|false|none|none| +|modifiedBy|string|false|none|none| +|title|string|true|none|none| +|description|string|true|none|none| +|items|[string]|false|none|none| + +

ToDoWithRelations

+ + + + + + +```json +{ + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "title": "string", + "description": "string", + "items": [ + "string" + ] +} + +``` + +ToDoWithRelations + +### Properties + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|deleted|boolean|false|none|none| +|deletedOn|string(date-time)¦null|false|none|none| +|deletedBy|string¦null|false|none|none| +|createdOn|string(date-time)|false|none|none| +|modifiedOn|string(date-time)|false|none|none| +|createdBy|string|false|none|none| +|modifiedBy|string|false|none|none| +|id|string|false|none|none| +|title|string|true|none|none| +|description|string|true|none|none| +|items|[string]|false|none|none| + +

ToDoPartial

+ + + + + + +```json +{ + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "title": "string", + "description": "string", + "items": [ + "string" + ] +} + +``` + +ToDoPartial + +### Properties + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|deleted|boolean|false|none|none| +|deletedOn|string(date-time)¦null|false|none|none| +|deletedBy|string¦null|false|none|none| +|createdOn|string(date-time)|false|none|none| +|modifiedOn|string(date-time)|false|none|none| +|createdBy|string|false|none|none| +|modifiedBy|string|false|none|none| +|id|string|false|none|none| +|title|string|false|none|none| +|description|string|false|none|none| +|items|[string]|false|none|none| + +

loopback.Count

+ + + + + + +```json +{ + "count": 0 +} + +``` + +loopback.Count + +### Properties + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|count|number|false|none|none| + +

auth_clients.Filter

+ + + + + + +```json +{ + "offset": 0, + "limit": 100, + "skip": 0, + "order": "string", + "where": {}, + "fields": { + "deleted": true, + "deletedOn": true, + "deletedBy": true, + "createdOn": true, + "modifiedOn": true, + "id": true, + "clientId": true, + "clientSecret": true, + "secret": true, + "redirectUrl": true, + "accessTokenExpiration": true, + "refreshTokenExpiration": true, + "authCodeExpiration": true + } +} + +``` + +auth_clients.Filter + +### Properties + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|offset|integer|false|none|none| +|limit|integer|false|none|none| +|skip|integer|false|none|none| +|order|any|false|none|none| + +oneOf + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|» *anonymous*|string|false|none|none| + +xor + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|» *anonymous*|[string]|false|none|none| + +continued + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|where|object|false|none|none| +|fields|any|false|none|none| + +oneOf + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|» *anonymous*|object|false|none|none| +|»» deleted|boolean|false|none|none| +|»» deletedOn|boolean|false|none|none| +|»» deletedBy|boolean|false|none|none| +|»» createdOn|boolean|false|none|none| +|»» modifiedOn|boolean|false|none|none| +|»» id|boolean|false|none|none| +|»» clientId|boolean|false|none|none| +|»» clientSecret|boolean|false|none|none| +|»» secret|boolean|false|none|none| +|»» redirectUrl|boolean|false|none|none| +|»» accessTokenExpiration|boolean|false|none|none| +|»» refreshTokenExpiration|boolean|false|none|none| +|»» authCodeExpiration|boolean|false|none|none| + +xor + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|» *anonymous*|[string]|false|none|none| + +

todos.Filter

+ + + + + + +```json +{ + "offset": 0, + "limit": 100, + "skip": 0, + "order": "string", + "fields": { + "deleted": true, + "deletedOn": true, + "deletedBy": true, + "createdOn": true, + "modifiedOn": true, + "createdBy": true, + "modifiedBy": true, + "id": true, + "title": true, + "description": true, + "items": true + } +} + +``` + +todos.Filter + +### Properties + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|offset|integer|false|none|none| +|limit|integer|false|none|none| +|skip|integer|false|none|none| +|order|any|false|none|none| + +oneOf + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|» *anonymous*|string|false|none|none| + +xor + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|» *anonymous*|[string]|false|none|none| + +continued + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|fields|any|false|none|none| + +oneOf + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|» *anonymous*|object|false|none|none| +|»» deleted|boolean|false|none|none| +|»» deletedOn|boolean|false|none|none| +|»» deletedBy|boolean|false|none|none| +|»» createdOn|boolean|false|none|none| +|»» modifiedOn|boolean|false|none|none| +|»» createdBy|boolean|false|none|none| +|»» modifiedBy|boolean|false|none|none| +|»» id|boolean|false|none|none| +|»» title|boolean|false|none|none| +|»» description|boolean|false|none|none| +|»» items|boolean|false|none|none| + +xor + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|» *anonymous*|[string]|false|none|none| + +

todos.Filter1

+ + + + + + +```json +{ + "offset": 0, + "limit": 100, + "skip": 0, + "order": "string", + "where": {}, + "fields": { + "deleted": true, + "deletedOn": true, + "deletedBy": true, + "createdOn": true, + "modifiedOn": true, + "createdBy": true, + "modifiedBy": true, + "id": true, + "title": true, + "description": true, + "items": true + } +} + +``` + +todos.Filter + +### Properties + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|offset|integer|false|none|none| +|limit|integer|false|none|none| +|skip|integer|false|none|none| +|order|any|false|none|none| + +oneOf + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|» *anonymous*|string|false|none|none| + +xor + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|» *anonymous*|[string]|false|none|none| + +continued + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|where|object|false|none|none| +|fields|any|false|none|none| + +oneOf + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|» *anonymous*|object|false|none|none| +|»» deleted|boolean|false|none|none| +|»» deletedOn|boolean|false|none|none| +|»» deletedBy|boolean|false|none|none| +|»» createdOn|boolean|false|none|none| +|»» modifiedOn|boolean|false|none|none| +|»» createdBy|boolean|false|none|none| +|»» modifiedBy|boolean|false|none|none| +|»» id|boolean|false|none|none| +|»» title|boolean|false|none|none| +|»» description|boolean|false|none|none| +|»» items|boolean|false|none|none| + +xor + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|» *anonymous*|[string]|false|none|none| + diff --git a/sandbox/in-mail-example/README.md b/sandbox/in-mail-example/README.md index 518030e403..129b20bfc3 100644 --- a/sandbox/in-mail-example/README.md +++ b/sandbox/in-mail-example/README.md @@ -28,6 +28,10 @@ You can also run `node .` to skip the build step. Open http://127.0.0.1:3000 in your browser. +#### API Details + +Visit the [OpenAPI spec docs](./openapi.md) + ## Rebuild the project To incrementally build the project: diff --git a/sandbox/in-mail-example/openapi.md b/sandbox/in-mail-example/openapi.md new file mode 100644 index 0000000000..5f34490faa --- /dev/null +++ b/sandbox/in-mail-example/openapi.md @@ -0,0 +1,3891 @@ +--- +title: In-mail Service v1.0.0 +language_tabs: + - "'javascript": JavaScript + - "'javascript--nodejs": Node.JS' +language_clients: + - "'javascript": request' + - "'javascript--nodejs": "" +toc_footers: [] +includes: [] +search: false +highlight_theme: darkula +headingLevel: 2 + +--- + + + +

In-mail Service v1.0.0

+ +> Scroll down for code samples, example requests and responses. Select a language for code samples from the tabs above or the mobile navigation menu. + +in mail example + +Base URLs: + +* http://localhost:3000 + + +# Authentication + +- HTTP Authentication, scheme: bearer + +

OriginatorController

+ +## API provides an interface for restore message from trash. + + + +> Code samples + +```'javascript--nodejs +const fetch = require('node-fetch'); +const inputBody = { + "messageIds": [ + "string" + ], + "threadIds": [ + "string" + ] +}; +const headers = { + 'Content-Type':'application/json' +}; + +fetch('http://localhost:3000/mails/bulk/restore', +{ + method: 'PATCH', + body: JSON.stringify(inputBody), + headers: headers +}) +.then(function(res) { + return res.json(); +}).then(function(body) { + console.log(body); +}); + +``` + +`PATCH /mails/bulk/restore` + +> Body parameter + +```json +{ + "messageIds": [ + "string" + ], + "threadIds": [ + "string" + ] +} +``` + +

Parameters

+ +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|filter|query|object|false|none| +|body|body|[IdArraysPartial](#schemaidarrayspartial)|false|none| + +

Responses

+ +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|Restore Message Successful!|None| +|400|[Bad Request](https://tools.ietf.org/html/rfc7231#section-6.5.1)|Message identity does not exist.|None| +|403|[Forbidden](https://tools.ietf.org/html/rfc7231#section-6.5.3)|Forbidden request due to unauthorized token in header.|None| + + + +## API for moving mails to trash and then delete + + + +> Code samples + +```'javascript--nodejs +const fetch = require('node-fetch'); +const inputBody = { + "messageIds": [ + "string" + ], + "threadIds": [ + "string" + ] +}; +const headers = { + 'Content-Type':'application/json' +}; + +fetch('http://localhost:3000/mails/bulk/{storage}/{action}', +{ + method: 'DELETE', + body: JSON.stringify(inputBody), + headers: headers +}) +.then(function(res) { + return res.json(); +}).then(function(body) { + console.log(body); +}); + +``` + +`DELETE /mails/bulk/{storage}/{action}` + +> Body parameter + +```json +{ + "messageIds": [ + "string" + ], + "threadIds": [ + "string" + ] +} +``` + +

Parameters

+ +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|storage|path|string|true|none| +|action|path|string|true|none| +|filter|query|object|false|none| +|body|body|[IdArraysPartial](#schemaidarrayspartial)|false|none| + +

Responses

+ +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|Trash/Deletion of Mail(s) sucessful!|None| +|403|[Forbidden](https://tools.ietf.org/html/rfc7231#section-6.5.3)|Forbidden request due to unauthorized token in header.|None| +|404|[Not Found](https://tools.ietf.org/html/rfc7231#section-6.5.4)|Message identity does not exist.|None| + + + +## API provides interface to mark read, unread and important + + + +> Code samples + +```'javascript--nodejs +const fetch = require('node-fetch'); +const inputBody = { + "messageIds": [ + "string" + ], + "threadIds": [ + "string" + ] +}; +const headers = { + 'Content-Type':'application/json' +}; + +fetch('http://localhost:3000/mails/marking/{markType}', +{ + method: 'PATCH', + body: JSON.stringify(inputBody), + headers: headers +}) +.then(function(res) { + return res.json(); +}).then(function(body) { + console.log(body); +}); + +``` + +`PATCH /mails/marking/{markType}` + +> Body parameter + +```json +{ + "messageIds": [ + "string" + ], + "threadIds": [ + "string" + ] +} +``` + +

Parameters

+ +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|markType|path|string|true|none| +|body|body|[IdArraysPartial](#schemaidarrayspartial)|false|none| + +

Responses

+ +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|Message is marked read/unread/important|None| + + + +## API provides an interface for removing attachment before message is sent + + + +> Code samples + +```'javascript--nodejs +const fetch = require('node-fetch'); + +fetch('http://localhost:3000/mails/{messageId}/attachments/{attachmentId}', +{ + method: 'DELETE' + +}) +.then(function(res) { + return res.json(); +}).then(function(body) { + console.log(body); +}); + +``` + +`DELETE /mails/{messageId}/attachments/{attachmentId}` + +

Parameters

+ +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|messageId|path|string|true|none| +|attachmentId|path|string|true|none| +|filter|query|object|false|none| + +

Responses

+ +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|Deletetion of Attachment Successful!|None| +|403|[Forbidden](https://tools.ietf.org/html/rfc7231#section-6.5.3)|Forbidden request due to unauthorized token in header.|None| +|404|[Not Found](https://tools.ietf.org/html/rfc7231#section-6.5.4)|Message identity does not exist.|None| + + + +## API provides an interface for adding attachment before message is sent. + + + +> Code samples + +```'javascript--nodejs +const fetch = require('node-fetch'); +const inputBody = { + "attachments": [ + { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "name": "string", + "path": "string", + "thumbnail": "string", + "mime": "string", + "extId": "string", + "extMetadata": {}, + "messageId": "string" + } + ] +}; +const headers = { + 'Content-Type':'application/json', + 'Accept':'application/json' +}; + +fetch('http://localhost:3000/mails/{messageId}/attachments', +{ + method: 'POST', + body: JSON.stringify(inputBody), + headers: headers +}) +.then(function(res) { + return res.json(); +}).then(function(body) { + console.log(body); +}); + +``` + +`POST /mails/{messageId}/attachments` + +> Body parameter + +```json +{ + "attachments": [ + { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "name": "string", + "path": "string", + "thumbnail": "string", + "mime": "string", + "extId": "string", + "extMetadata": {}, + "messageId": "string" + } + ] +} +``` + +

Parameters

+ +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|messageId|path|string|true|none| +|filter|query|object|false|none| +|body|body|object|false|none| +|» attachments|body|[[AttachmentPartial](#schemaattachmentpartial)]|false|[(tsType: Partial, schemaOptions: { partial: true })]| +|»» AttachmentPartial|body|[AttachmentPartial](#schemaattachmentpartial)|false|(tsType: Partial, schemaOptions: { partial: true })| +|»»» deleted|body|boolean|false|none| +|»»» deletedOn|body|string(date-time)¦null|false|none| +|»»» deletedBy|body|string¦null|false|none| +|»»» createdOn|body|string(date-time)|false|none| +|»»» modifiedOn|body|string(date-time)|false|none| +|»»» createdBy|body|string|false|none| +|»»» modifiedBy|body|string|false|none| +|»»» id|body|string|false|none| +|»»» name|body|string|false|none| +|»»» path|body|string|false|none| +|»»» thumbnail|body|string|false|none| +|»»» mime|body|string|false|none| +|»»» extId|body|string|false|none| +|»»» extMetadata|body|object|false|none| +|»»» messageId|body|string|false|none| + +> Example responses + +> 200 Response + +```json +{ + "items": [ + { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "name": "string", + "path": "string", + "thumbnail": "string", + "mime": "string", + "extId": "string", + "extMetadata": {}, + "messageId": "string" + } + ] +} +``` + +

Responses

+ +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|collect single attachment for user by message identifier|[Attachment add response schema](#schemaattachment add response schema)| +|400|[Bad Request](https://tools.ietf.org/html/rfc7231#section-6.5.1)|Message identity does not exist.|None| +|403|[Forbidden](https://tools.ietf.org/html/rfc7231#section-6.5.3)|Forbidden request due to unauthorized token in header.|None| + + + +## API for sending a drafted message. + + + +> Code samples + +```'javascript--nodejs +const fetch = require('node-fetch'); + +fetch('http://localhost:3000/mails/{messageId}/send', +{ + method: 'PATCH' + +}) +.then(function(res) { + return res.json(); +}).then(function(body) { + console.log(body); +}); + +``` + +`PATCH /mails/{messageId}/send` + +

Parameters

+ +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|messageId|path|string|true|none| +|filter|query|object|false|none| + +

Responses

+ +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|Mail is Successfully sent!|None| +|400|[Bad Request](https://tools.ietf.org/html/rfc7231#section-6.5.1)|Message identity does not exist.|None| +|403|[Forbidden](https://tools.ietf.org/html/rfc7231#section-6.5.3)|Forbidden request due to unauthorized token in header.|None| + + + +## Update API. Update draft messages. + + + +> Code samples + +```'javascript--nodejs +const fetch = require('node-fetch'); +const inputBody = { + "threadId": "string", + "groups": [ + { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "party": "string", + "type": "from", + "isImportant": true, + "storage": "inbox", + "visibility": "new", + "extId": "string", + "extMetadata": {}, + "messageId": "string", + "threadId": "string" + } + ], + "attachments": [ + { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "name": "string", + "path": "string", + "thumbnail": "string", + "mime": "string", + "extId": "string", + "extMetadata": {}, + "messageId": "string" + } + ], + "meta": [ + { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "key": "string", + "value": "string", + "extId": "string", + "extMetadata": {}, + "messageId": "string" + } + ], + "body": "string", + "subject": "string", + "status": "string", + "extId": "string", + "extMetadata": {} +}; +const headers = { + 'Content-Type':'application/json', + 'Accept':'application/json' +}; + +fetch('http://localhost:3000/mails/{messageId}', +{ + method: 'PUT', + body: JSON.stringify(inputBody), + headers: headers +}) +.then(function(res) { + return res.json(); +}).then(function(body) { + console.log(body); +}); + +``` + +`PUT /mails/{messageId}` + +> Body parameter + +```json +{ + "threadId": "string", + "groups": [ + { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "party": "string", + "type": "from", + "isImportant": true, + "storage": "inbox", + "visibility": "new", + "extId": "string", + "extMetadata": {}, + "messageId": "string", + "threadId": "string" + } + ], + "attachments": [ + { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "name": "string", + "path": "string", + "thumbnail": "string", + "mime": "string", + "extId": "string", + "extMetadata": {}, + "messageId": "string" + } + ], + "meta": [ + { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "key": "string", + "value": "string", + "extId": "string", + "extMetadata": {}, + "messageId": "string" + } + ], + "body": "string", + "subject": "string", + "status": "string", + "extId": "string", + "extMetadata": {} +} +``` + +

Parameters

+ +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|messageId|path|string|true|none| +|body|body|[composeMailBody](#schemacomposemailbody)|false|none| + +> Example responses + +

Responses

+ +|Status|Meaning|Description|Schema| +|---|---|---|---| +|400|[Bad Request](https://tools.ietf.org/html/rfc7231#section-6.5.1)|Message identity does not exist.|None| +|403|[Forbidden](https://tools.ietf.org/html/rfc7231#section-6.5.3)|Forbidden request due to unauthorized token in header.|None| +|application/json|Unknown|collect single message for user by message identifier|None| + +

Response Schema

+ + + +## ComposeAPI. For drafting, reply on and create new message + + + +> Code samples + +```'javascript--nodejs +const fetch = require('node-fetch'); +const inputBody = { + "threadId": "string", + "groups": [ + { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "party": "string", + "type": "from", + "isImportant": true, + "storage": "inbox", + "visibility": "new", + "extId": "string", + "extMetadata": {}, + "messageId": "string", + "threadId": "string" + } + ], + "attachments": [ + { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "name": "string", + "path": "string", + "thumbnail": "string", + "mime": "string", + "extId": "string", + "extMetadata": {}, + "messageId": "string" + } + ], + "meta": [ + { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "key": "string", + "value": "string", + "extId": "string", + "extMetadata": {}, + "messageId": "string" + } + ], + "body": "string", + "subject": "string", + "status": "string", + "extId": "string", + "extMetadata": {} +}; +const headers = { + 'Content-Type':'application/json', + 'Accept':'application/json' +}; + +fetch('http://localhost:3000/mails', +{ + method: 'POST', + body: JSON.stringify(inputBody), + headers: headers +}) +.then(function(res) { + return res.json(); +}).then(function(body) { + console.log(body); +}); + +``` + +`POST /mails` + +> Body parameter + +```json +{ + "threadId": "string", + "groups": [ + { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "party": "string", + "type": "from", + "isImportant": true, + "storage": "inbox", + "visibility": "new", + "extId": "string", + "extMetadata": {}, + "messageId": "string", + "threadId": "string" + } + ], + "attachments": [ + { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "name": "string", + "path": "string", + "thumbnail": "string", + "mime": "string", + "extId": "string", + "extMetadata": {}, + "messageId": "string" + } + ], + "meta": [ + { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "key": "string", + "value": "string", + "extId": "string", + "extMetadata": {}, + "messageId": "string" + } + ], + "body": "string", + "subject": "string", + "status": "string", + "extId": "string", + "extMetadata": {} +} +``` + +

Parameters

+ +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|body|body|[composeMailBody](#schemacomposemailbody)|false|none| + +> Example responses + +

Responses

+ +|Status|Meaning|Description|Schema| +|---|---|---|---| +|201|[Created](https://tools.ietf.org/html/rfc7231#section-6.3.2)|collect single message for user by message identifier|None| +|403|[Forbidden](https://tools.ietf.org/html/rfc7231#section-6.5.3)|Forbidden request due to unauthorized token in header.|None| +|404|[Not Found](https://tools.ietf.org/html/rfc7231#section-6.5.4)|Message identity does not exist.|None| + +

Response Schema

+ + + +

CollectorController

+ +## GET Message API. Collect a single message based on message identity. + + + +> Code samples + +```'javascript--nodejs +const fetch = require('node-fetch'); + +const headers = { + 'Accept':'application/json' +}; + +fetch('http://localhost:3000/mails/{messageId}', +{ + method: 'GET', + + headers: headers +}) +.then(function(res) { + return res.json(); +}).then(function(body) { + console.log(body); +}); + +``` + +`GET /mails/{messageId}` + +

Parameters

+ +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|messageId|path|string|true|none| +|filter|query|object|false|none| + +> Example responses + +> 200 Response + +```json +{ + "item": "string" +} +``` + +

Responses

+ +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|Gets mail details based on unique message id|Inline| +|403|[Forbidden](https://tools.ietf.org/html/rfc7231#section-6.5.3)|Forbidden request due to unauthrized token in header.|None| +|404|[Not Found](https://tools.ietf.org/html/rfc7231#section-6.5.4)|Message identity does not exist|None| + +

Response Schema

+ +Status Code **200** + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|» item|string|false|none|none| + + + +## Collect a list of all messages. + + + +> Code samples + +```'javascript--nodejs +const fetch = require('node-fetch'); + +const headers = { + 'Accept':'application/json' +}; + +fetch('http://localhost:3000/mails', +{ + method: 'GET', + + headers: headers +}) +.then(function(res) { + return res.json(); +}).then(function(body) { + console.log(body); +}); + +``` + +`GET /mails` + +

Parameters

+ +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|messageFilter|query|object|false|none| +|groupFilter|query|object|false|none| + +> Example responses + +

Responses

+ +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|fetch mails|None| +|403|[Forbidden](https://tools.ietf.org/html/rfc7231#section-6.5.3)|Forbidden request due to unauthrized token in header.|None| + +

Response Schema

+ + + +## GET Thread Message API. Collect complete single message thread based on thread identity. + + + +> Code samples + +```'javascript--nodejs +const fetch = require('node-fetch'); + +const headers = { + 'Accept':'application/json' +}; + +fetch('http://localhost:3000/threads/{threadId}', +{ + method: 'GET', + + headers: headers +}) +.then(function(res) { + return res.json(); +}).then(function(body) { + console.log(body); +}); + +``` + +`GET /threads/{threadId}` + +

Parameters

+ +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|threadId|path|string|true|none| +|filter|query|object|false|none| + +> Example responses + +> 200 Response + +```json +{ + "item": { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "subject": "string", + "messageCounts": 0, + "extId": "string", + "extMetadata": {} + } +} +``` + +

Responses

+ +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|Fetches a thread along with message, group, attachment(s) etc based on unique thread Id|Inline| +|400|[Bad Request](https://tools.ietf.org/html/rfc7231#section-6.5.1)|Message identity does not exist|None| +|403|[Forbidden](https://tools.ietf.org/html/rfc7231#section-6.5.3)|Forbidden request due to unauthorized token in header.|None| + +

Response Schema

+ +Status Code **200** + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|» item|[Thread](#schemathread)|false|none|none| +|»» deleted|boolean|false|none|none| +|»» deletedOn|string(date-time)¦null|false|none|none| +|»» deletedBy|string¦null|false|none|none| +|»» createdOn|string(date-time)|false|none|none| +|»» modifiedOn|string(date-time)|false|none|none| +|»» createdBy|string|false|none|none| +|»» modifiedBy|string|false|none|none| +|»» id|string|false|none|none| +|»» subject|string|true|none|none| +|»» messageCounts|number|false|none|none| +|»» extId|string|false|none|none| +|»» extMetadata|object|false|none|none| + + + +## Thread List API. Collect a list of all threads. + + + +> Code samples + +```'javascript--nodejs +const fetch = require('node-fetch'); + +const headers = { + 'Accept':'application/json' +}; + +fetch('http://localhost:3000/threads', +{ + method: 'GET', + + headers: headers +}) +.then(function(res) { + return res.json(); +}).then(function(body) { + console.log(body); +}); + +``` + +`GET /threads` + +

Parameters

+ +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|threadFilter|query|object|false|none| +|groupFilter|query|object|false|none| + +> Example responses + +> 200 Response + +```json +{ + "version": "string", + "items": [ + { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "subject": "string", + "messageCounts": 0, + "extId": "string", + "extMetadata": {} + } + ] +} +``` + +

Responses

+ +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|fetch threads|Inline| + +

Response Schema

+ +Status Code **200** + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|» version|string|false|none|none| +|» items|[[Thread](#schemathread)]|false|none|none| +|»» Thread|[Thread](#schemathread)|false|none|none| +|»»» deleted|boolean|false|none|none| +|»»» deletedOn|string(date-time)¦null|false|none|none| +|»»» deletedBy|string¦null|false|none|none| +|»»» createdOn|string(date-time)|false|none|none| +|»»» modifiedOn|string(date-time)|false|none|none| +|»»» createdBy|string|false|none|none| +|»»» modifiedBy|string|false|none|none| +|»»» id|string|false|none|none| +|»»» subject|string|true|none|none| +|»»» messageCounts|number|false|none|none| +|»»» extId|string|false|none|none| +|»»» extMetadata|object|false|none|none| + + + +

PingController

+ +## PingController.ping + + + +> Code samples + +```'javascript--nodejs +const fetch = require('node-fetch'); + +const headers = { + 'Accept':'application/json' +}; + +fetch('http://localhost:3000/ping', +{ + method: 'GET', + + headers: headers +}) +.then(function(res) { + return res.json(); +}).then(function(body) { + console.log(body); +}); + +``` + +`GET /ping` + +> Example responses + +> 200 Response + +```json +{ + "greeting": "string", + "date": "string", + "url": "string", + "headers": { + "Content-Type": "string" + } +} +``` + +

Responses

+ +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|Ping Response|[PingResponse](#schemapingresponse)| + + + +

ReplyAndForwardController

+ +## API provides interface to forward single message. + + + +> Code samples + +```'javascript--nodejs +const fetch = require('node-fetch'); +const inputBody = { + "groups": [ + { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "party": "string", + "type": "from", + "isImportant": true, + "storage": "inbox", + "visibility": "new", + "extId": "string", + "extMetadata": {}, + "messageId": "string", + "threadId": "string" + } + ], + "subject": "string", + "body": "string", + "attachments": [ + { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "name": "string", + "path": "string", + "thumbnail": "string", + "mime": "string", + "extId": "string", + "extMetadata": {}, + "messageId": "string" + } + ], + "meta": [ + { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "key": "string", + "value": "string", + "extId": "string", + "extMetadata": {}, + "messageId": "string" + } + ], + "status": "string" +}; +const headers = { + 'Content-Type':'application/json', + 'Accept':'application/json' +}; + +fetch('http://localhost:3000/threads/{threadId}/forward', +{ + method: 'PATCH', + body: JSON.stringify(inputBody), + headers: headers +}) +.then(function(res) { + return res.json(); +}).then(function(body) { + console.log(body); +}); + +``` + +`PATCH /threads/{threadId}/forward` + +> Body parameter + +```json +{ + "groups": [ + { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "party": "string", + "type": "from", + "isImportant": true, + "storage": "inbox", + "visibility": "new", + "extId": "string", + "extMetadata": {}, + "messageId": "string", + "threadId": "string" + } + ], + "subject": "string", + "body": "string", + "attachments": [ + { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "name": "string", + "path": "string", + "thumbnail": "string", + "mime": "string", + "extId": "string", + "extMetadata": {}, + "messageId": "string" + } + ], + "meta": [ + { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "key": "string", + "value": "string", + "extId": "string", + "extMetadata": {}, + "messageId": "string" + } + ], + "status": "string" +} +``` + +

Parameters

+ +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|threadId|path|string|true|none| +|body|body|object|false|none| +|» groups|body|[[GroupPartial](#schemagrouppartial)]|true|[(tsType: Partial, schemaOptions: { partial: true })]| +|»» GroupPartial|body|[GroupPartial](#schemagrouppartial)|false|(tsType: Partial, schemaOptions: { partial: true })| +|»»» deleted|body|boolean|false|none| +|»»» deletedOn|body|string(date-time)¦null|false|none| +|»»» deletedBy|body|string¦null|false|none| +|»»» createdOn|body|string(date-time)|false|none| +|»»» modifiedOn|body|string(date-time)|false|none| +|»»» createdBy|body|string|false|none| +|»»» modifiedBy|body|string|false|none| +|»»» id|body|string|false|none| +|»»» party|body|string|false|none| +|»»» type|body|string|false|none| +|»»» isImportant|body|boolean|false|none| +|»»» storage|body|string|false|none| +|»»» visibility|body|string|false|none| +|»»» extId|body|string|false|none| +|»»» extMetadata|body|object|false|none| +|»»» messageId|body|string|false|none| +|»»» threadId|body|string|false|none| +|» subject|body|string|false|none| +|» body|body|string|false|none| +|» attachments|body|[[AttachmentPartial](#schemaattachmentpartial)]|false|[(tsType: Partial, schemaOptions: { partial: true })]| +|»» AttachmentPartial|body|[AttachmentPartial](#schemaattachmentpartial)|false|(tsType: Partial, schemaOptions: { partial: true })| +|»»» deleted|body|boolean|false|none| +|»»» deletedOn|body|string(date-time)¦null|false|none| +|»»» deletedBy|body|string¦null|false|none| +|»»» createdOn|body|string(date-time)|false|none| +|»»» modifiedOn|body|string(date-time)|false|none| +|»»» createdBy|body|string|false|none| +|»»» modifiedBy|body|string|false|none| +|»»» id|body|string|false|none| +|»»» name|body|string|false|none| +|»»» path|body|string|false|none| +|»»» thumbnail|body|string|false|none| +|»»» mime|body|string|false|none| +|»»» extId|body|string|false|none| +|»»» extMetadata|body|object|false|none| +|»»» messageId|body|string|false|none| +|» meta|body|[[MetaPartial](#schemametapartial)]|false|[(tsType: Partial, schemaOptions: { partial: true })]| +|»» MetaPartial|body|[MetaPartial](#schemametapartial)|false|(tsType: Partial, schemaOptions: { partial: true })| +|»»» deleted|body|boolean|false|none| +|»»» deletedOn|body|string(date-time)¦null|false|none| +|»»» deletedBy|body|string¦null|false|none| +|»»» createdOn|body|string(date-time)|false|none| +|»»» modifiedOn|body|string(date-time)|false|none| +|»»» createdBy|body|string|false|none| +|»»» modifiedBy|body|string|false|none| +|»»» id|body|string|false|none| +|»»» key|body|string|false|none| +|»»» value|body|string|false|none| +|»»» extId|body|string|false|none| +|»»» extMetadata|body|object|false|none| +|»»» messageId|body|string|false|none| +|» status|body|string|false|none| + +#### Enumerated Values + +|Parameter|Value| +|---|---| +|»»» type|from| +|»»» type|to| +|»»» type|cc| +|»»» type|bcc| +|»»» storage|draft| +|»»» storage|send| +|»»» storage|inbox| +|»»» storage|trash| +|»»» visibility|read| +|»»» visibility|new| +|»»» visibility|unread| +|»»» visibility|important| +|»»» visibility|not-important| + +> Example responses + +

Responses

+ +|Status|Meaning|Description|Schema| +|---|---|---|---| +|204|[No Content](https://tools.ietf.org/html/rfc7231#section-6.3.5)|Message is forwarded to another recipient|None| +|400|[Bad Request](https://tools.ietf.org/html/rfc7231#section-6.5.1)|Message identity does not exist.|None| +|403|[Forbidden](https://tools.ietf.org/html/rfc7231#section-6.5.3)|Forbidden request due to unauthorized token in header.|None| + +

Response Schema

+ + + +## API provides interface to reply to a single message + + + +> Code samples + +```'javascript--nodejs +const fetch = require('node-fetch'); +const inputBody = { + "attachments": [ + { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "name": "string", + "path": "string", + "thumbnail": "string", + "mime": "string", + "extId": "string", + "extMetadata": {}, + "messageId": "string" + } + ], + "meta": [ + { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "key": "string", + "value": "string", + "extId": "string", + "extMetadata": {}, + "messageId": "string" + } + ], + "body": "string", + "subject": "string", + "status": "string", + "extId": "string" +}; +const headers = { + 'Content-Type':'application/json' +}; + +fetch('http://localhost:3000/threads/{threadId}/mails/{messageId}/replies', +{ + method: 'PATCH', + body: JSON.stringify(inputBody), + headers: headers +}) +.then(function(res) { + return res.json(); +}).then(function(body) { + console.log(body); +}); + +``` + +`PATCH /threads/{threadId}/mails/{messageId}/replies` + +> Body parameter + +```json +{ + "attachments": [ + { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "name": "string", + "path": "string", + "thumbnail": "string", + "mime": "string", + "extId": "string", + "extMetadata": {}, + "messageId": "string" + } + ], + "meta": [ + { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "key": "string", + "value": "string", + "extId": "string", + "extMetadata": {}, + "messageId": "string" + } + ], + "body": "string", + "subject": "string", + "status": "string", + "extId": "string" +} +``` + +

Parameters

+ +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|threadId|path|string|true|none| +|messageId|path|string|true|none| +|replyAll|query|boolean|false|none| +|body|body|object|false|none| +|» attachments|body|[[AttachmentPartial](#schemaattachmentpartial)]|false|[(tsType: Partial, schemaOptions: { partial: true })]| +|»» AttachmentPartial|body|[AttachmentPartial](#schemaattachmentpartial)|false|(tsType: Partial, schemaOptions: { partial: true })| +|»»» deleted|body|boolean|false|none| +|»»» deletedOn|body|string(date-time)¦null|false|none| +|»»» deletedBy|body|string¦null|false|none| +|»»» createdOn|body|string(date-time)|false|none| +|»»» modifiedOn|body|string(date-time)|false|none| +|»»» createdBy|body|string|false|none| +|»»» modifiedBy|body|string|false|none| +|»»» id|body|string|false|none| +|»»» name|body|string|false|none| +|»»» path|body|string|false|none| +|»»» thumbnail|body|string|false|none| +|»»» mime|body|string|false|none| +|»»» extId|body|string|false|none| +|»»» extMetadata|body|object|false|none| +|»»» messageId|body|string|false|none| +|» meta|body|[[MetaPartial](#schemametapartial)]|false|[(tsType: Partial, schemaOptions: { partial: true })]| +|»» MetaPartial|body|[MetaPartial](#schemametapartial)|false|(tsType: Partial, schemaOptions: { partial: true })| +|»»» deleted|body|boolean|false|none| +|»»» deletedOn|body|string(date-time)¦null|false|none| +|»»» deletedBy|body|string¦null|false|none| +|»»» createdOn|body|string(date-time)|false|none| +|»»» modifiedOn|body|string(date-time)|false|none| +|»»» createdBy|body|string|false|none| +|»»» modifiedBy|body|string|false|none| +|»»» id|body|string|false|none| +|»»» key|body|string|false|none| +|»»» value|body|string|false|none| +|»»» extId|body|string|false|none| +|»»» extMetadata|body|object|false|none| +|»»» messageId|body|string|false|none| +|» body|body|string|true|none| +|» subject|body|string|false|none| +|» status|body|string|true|none| +|» extId|body|string|false|none| + +

Responses

+ +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|Message is replied back to the sender|None| + + + +# Schemas + +

idResponse

+ + + + + + +```json +false + +``` + +### Properties + +*None* + +

composeMailBody

+ + + + + + +```json +{ + "threadId": "string", + "groups": [ + { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "party": "string", + "type": "from", + "isImportant": true, + "storage": "inbox", + "visibility": "new", + "extId": "string", + "extMetadata": {}, + "messageId": "string", + "threadId": "string" + } + ], + "attachments": [ + { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "name": "string", + "path": "string", + "thumbnail": "string", + "mime": "string", + "extId": "string", + "extMetadata": {}, + "messageId": "string" + } + ], + "meta": [ + { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "key": "string", + "value": "string", + "extId": "string", + "extMetadata": {}, + "messageId": "string" + } + ], + "body": "string", + "subject": "string", + "status": "string", + "extId": "string", + "extMetadata": {} +} + +``` + +### Properties + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|threadId|string|false|none|none| +|groups|[[GroupPartial](#schemagrouppartial)]|true|none|[(tsType: Partial, schemaOptions: { partial: true })]| +|attachments|[[AttachmentPartial](#schemaattachmentpartial)]|false|none|[(tsType: Partial, schemaOptions: { partial: true })]| +|meta|[[MetaPartial](#schemametapartial)]|false|none|[(tsType: Partial, schemaOptions: { partial: true })]| +|body|string|true|none|none| +|subject|string|false|none|none| +|status|string|true|none|none| +|extId|string|false|none|none| +|extMetadata|object|false|none|none| + +

Attachment

+ + + + + + +```json +{ + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "name": "string", + "path": "string", + "thumbnail": "string", + "mime": "string", + "extId": "string", + "extMetadata": {}, + "messageId": "string" +} + +``` + +Attachment + +### Properties + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|deleted|boolean|false|none|none| +|deletedOn|string(date-time)¦null|false|none|none| +|deletedBy|string¦null|false|none|none| +|createdOn|string(date-time)|false|none|none| +|modifiedOn|string(date-time)|false|none|none| +|createdBy|string|false|none|none| +|modifiedBy|string|false|none|none| +|id|string|false|none|none| +|name|string|true|none|none| +|path|string|true|none|none| +|thumbnail|string|true|none|none| +|mime|string|true|none|none| +|extId|string|false|none|none| +|extMetadata|object|false|none|none| +|messageId|string|false|none|none| + +

AttachmentPartial

+ + + + + + +```json +{ + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "name": "string", + "path": "string", + "thumbnail": "string", + "mime": "string", + "extId": "string", + "extMetadata": {}, + "messageId": "string" +} + +``` + +AttachmentPartial + +### Properties + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|deleted|boolean|false|none|none| +|deletedOn|string(date-time)¦null|false|none|none| +|deletedBy|string¦null|false|none|none| +|createdOn|string(date-time)|false|none|none| +|modifiedOn|string(date-time)|false|none|none| +|createdBy|string|false|none|none| +|modifiedBy|string|false|none|none| +|id|string|false|none|none| +|name|string|false|none|none| +|path|string|false|none|none| +|thumbnail|string|false|none|none| +|mime|string|false|none|none| +|extId|string|false|none|none| +|extMetadata|object|false|none|none| +|messageId|string|false|none|none| + +

IdArraysPartial

+ + + + + + +```json +{ + "messageIds": [ + "string" + ], + "threadIds": [ + "string" + ] +} + +``` + +IdArraysPartial + +### Properties + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|messageIds|[string]|false|none|none| +|threadIds|[string]|false|none|none| + +

IdArrays

+ + + + + + +```json +{ + "messageIds": [ + "string" + ], + "threadIds": [ + "string" + ] +} + +``` + +IdArrays + +### Properties + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|messageIds|[string]|false|none|none| +|threadIds|[string]|false|none|none| + +

MetaPartial

+ + + + + + +```json +{ + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "key": "string", + "value": "string", + "extId": "string", + "extMetadata": {}, + "messageId": "string" +} + +``` + +MetaPartial + +### Properties + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|deleted|boolean|false|none|none| +|deletedOn|string(date-time)¦null|false|none|none| +|deletedBy|string¦null|false|none|none| +|createdOn|string(date-time)|false|none|none| +|modifiedOn|string(date-time)|false|none|none| +|createdBy|string|false|none|none| +|modifiedBy|string|false|none|none| +|id|string|false|none|none| +|key|string|false|none|none| +|value|string|false|none|none| +|extId|string|false|none|none| +|extMetadata|object|false|none|none| +|messageId|string|false|none|none| + +

GroupPartial

+ + + + + + +```json +{ + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "party": "string", + "type": "from", + "isImportant": true, + "storage": "inbox", + "visibility": "new", + "extId": "string", + "extMetadata": {}, + "messageId": "string", + "threadId": "string" +} + +``` + +GroupPartial + +### Properties + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|deleted|boolean|false|none|none| +|deletedOn|string(date-time)¦null|false|none|none| +|deletedBy|string¦null|false|none|none| +|createdOn|string(date-time)|false|none|none| +|modifiedOn|string(date-time)|false|none|none| +|createdBy|string|false|none|none| +|modifiedBy|string|false|none|none| +|id|string|false|none|none| +|party|string|false|none|none| +|type|string|false|none|none| +|isImportant|boolean|false|none|none| +|storage|string|false|none|none| +|visibility|string|false|none|none| +|extId|string|false|none|none| +|extMetadata|object|false|none|none| +|messageId|string|false|none|none| +|threadId|string|false|none|none| + +#### Enumerated Values + +|Property|Value| +|---|---| +|type|from| +|type|to| +|type|cc| +|type|bcc| +|storage|draft| +|storage|send| +|storage|inbox| +|storage|trash| +|visibility|read| +|visibility|new| +|visibility|unread| +|visibility|important| +|visibility|not-important| + +

Attachment add response schema

+ + + + + + +```json +{ + "items": [ + { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "name": "string", + "path": "string", + "thumbnail": "string", + "mime": "string", + "extId": "string", + "extMetadata": {}, + "messageId": "string" + } + ] +} + +``` + +Attachment add response schema + +### Properties + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|items|[[Attachment](#schemaattachment)]|false|none|none| + +

AttachmentExcluding_deleted_WithRelations

+ + + + + + +```json +{ + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "name": "string", + "path": "string", + "thumbnail": "string", + "mime": "string", + "extId": "string", + "extMetadata": {}, + "messageId": "string", + "message": { + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "sender": "string", + "subject": "string", + "body": "string", + "status": "draft", + "extId": "string", + "extMetadata": {}, + "threadId": "string", + "attachment": [ + { + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "name": "string", + "path": "string", + "thumbnail": "string", + "mime": "string", + "extId": "string", + "extMetadata": {}, + "messageId": "string", + "message": {} + } + ], + "group": [ + { + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "party": "string", + "type": "from", + "isImportant": true, + "storage": "inbox", + "visibility": "new", + "extId": "string", + "extMetadata": {}, + "messageId": "string", + "threadId": "string", + "message": {}, + "thread": { + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "subject": "string", + "messageCounts": 0, + "extId": "string", + "extMetadata": {}, + "message": [ + {} + ], + "group": [ + {} + ] + } + } + ], + "meta": [ + { + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "key": "string", + "value": "string", + "extId": "string", + "extMetadata": {}, + "messageId": "string", + "message": {} + } + ], + "thread": { + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "subject": "string", + "messageCounts": 0, + "extId": "string", + "extMetadata": {}, + "message": [ + {} + ], + "group": [ + { + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "party": "string", + "type": "from", + "isImportant": true, + "storage": "inbox", + "visibility": "new", + "extId": "string", + "extMetadata": {}, + "messageId": "string", + "threadId": "string", + "message": {}, + "thread": {} + } + ] + } + } +} + +``` + +AttachmentExcluding_deleted_WithRelations + +### Properties + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|deletedOn|string(date-time)¦null|false|none|none| +|deletedBy|string¦null|false|none|none| +|createdOn|string(date-time)|false|none|none| +|modifiedOn|string(date-time)|false|none|none| +|createdBy|string|false|none|none| +|modifiedBy|string|false|none|none| +|id|string|false|none|none| +|name|string|true|none|none| +|path|string|true|none|none| +|thumbnail|string|true|none|none| +|mime|string|true|none|none| +|extId|string|false|none|none| +|extMetadata|object|false|none|none| +|messageId|string|false|none|none| +|message|[MessageExcluding_deleted_WithRelations](#schemamessageexcluding_deleted_withrelations)|false|none|(tsType: Omit, schemaOptions: { exclude: [ 'deleted' ], includeRelations: true })| + +

ThreadExcluding_deleted_WithRelations

+ + + + + + +```json +{ + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "subject": "string", + "messageCounts": 0, + "extId": "string", + "extMetadata": {}, + "message": [ + { + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "sender": "string", + "subject": "string", + "body": "string", + "status": "draft", + "extId": "string", + "extMetadata": {}, + "threadId": "string", + "attachment": [ + { + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "name": "string", + "path": "string", + "thumbnail": "string", + "mime": "string", + "extId": "string", + "extMetadata": {}, + "messageId": "string", + "message": {} + } + ], + "group": [ + { + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "party": "string", + "type": "from", + "isImportant": true, + "storage": "inbox", + "visibility": "new", + "extId": "string", + "extMetadata": {}, + "messageId": "string", + "threadId": "string", + "message": {}, + "thread": { + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "subject": "string", + "messageCounts": 0, + "extId": "string", + "extMetadata": {}, + "message": [], + "group": [ + {} + ] + } + } + ], + "meta": [ + { + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "key": "string", + "value": "string", + "extId": "string", + "extMetadata": {}, + "messageId": "string", + "message": {} + } + ], + "thread": { + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "subject": "string", + "messageCounts": 0, + "extId": "string", + "extMetadata": {}, + "message": [], + "group": [ + { + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "party": "string", + "type": "from", + "isImportant": true, + "storage": "inbox", + "visibility": "new", + "extId": "string", + "extMetadata": {}, + "messageId": "string", + "threadId": "string", + "message": {}, + "thread": {} + } + ] + } + } + ], + "group": [ + { + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "party": "string", + "type": "from", + "isImportant": true, + "storage": "inbox", + "visibility": "new", + "extId": "string", + "extMetadata": {}, + "messageId": "string", + "threadId": "string", + "message": { + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "sender": "string", + "subject": "string", + "body": "string", + "status": "draft", + "extId": "string", + "extMetadata": {}, + "threadId": "string", + "attachment": [ + { + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "name": "string", + "path": "string", + "thumbnail": "string", + "mime": "string", + "extId": "string", + "extMetadata": {}, + "messageId": "string", + "message": {} + } + ], + "group": [ + {} + ], + "meta": [ + { + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "key": "string", + "value": "string", + "extId": "string", + "extMetadata": {}, + "messageId": "string", + "message": {} + } + ], + "thread": { + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "subject": "string", + "messageCounts": 0, + "extId": "string", + "extMetadata": {}, + "message": [ + {} + ], + "group": [] + } + }, + "thread": { + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "subject": "string", + "messageCounts": 0, + "extId": "string", + "extMetadata": {}, + "message": [ + { + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "sender": "string", + "subject": "string", + "body": "string", + "status": "draft", + "extId": "string", + "extMetadata": {}, + "threadId": "string", + "attachment": [ + { + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "name": "string", + "path": "string", + "thumbnail": "string", + "mime": "string", + "extId": "string", + "extMetadata": {}, + "messageId": "string", + "message": {} + } + ], + "group": [ + {} + ], + "meta": [ + { + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "key": "string", + "value": "string", + "extId": "string", + "extMetadata": {}, + "messageId": "string", + "message": {} + } + ], + "thread": {} + } + ], + "group": [] + } + } + ] +} + +``` + +ThreadExcluding_deleted_WithRelations + +### Properties + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|deletedOn|string(date-time)¦null|false|none|none| +|deletedBy|string¦null|false|none|none| +|createdOn|string(date-time)|false|none|none| +|modifiedOn|string(date-time)|false|none|none| +|createdBy|string|false|none|none| +|modifiedBy|string|false|none|none| +|id|string|false|none|none| +|subject|string|true|none|none| +|messageCounts|number|false|none|none| +|extId|string|false|none|none| +|extMetadata|object|false|none|none| +|message|[[MessageExcluding_deleted_WithRelations](#schemamessageexcluding_deleted_withrelations)]|false|none|[(tsType: Omit, schemaOptions: { exclude: [ 'deleted' ], includeRelations: true })]| +|group|[[GroupExcluding_deleted_WithRelations](#schemagroupexcluding_deleted_withrelations)]|false|none|[(tsType: Omit, schemaOptions: { exclude: [ 'deleted' ], includeRelations: true })]| + +

GroupExcluding_deleted_WithRelations

+ + + + + + +```json +{ + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "party": "string", + "type": "from", + "isImportant": true, + "storage": "inbox", + "visibility": "new", + "extId": "string", + "extMetadata": {}, + "messageId": "string", + "threadId": "string", + "message": { + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "sender": "string", + "subject": "string", + "body": "string", + "status": "draft", + "extId": "string", + "extMetadata": {}, + "threadId": "string", + "attachment": [ + { + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "name": "string", + "path": "string", + "thumbnail": "string", + "mime": "string", + "extId": "string", + "extMetadata": {}, + "messageId": "string", + "message": {} + } + ], + "group": [ + { + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "party": "string", + "type": "from", + "isImportant": true, + "storage": "inbox", + "visibility": "new", + "extId": "string", + "extMetadata": {}, + "messageId": "string", + "threadId": "string", + "message": {}, + "thread": { + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "subject": "string", + "messageCounts": 0, + "extId": "string", + "extMetadata": {}, + "message": [ + {} + ], + "group": [ + {} + ] + } + } + ], + "meta": [ + { + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "key": "string", + "value": "string", + "extId": "string", + "extMetadata": {}, + "messageId": "string", + "message": {} + } + ], + "thread": { + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "subject": "string", + "messageCounts": 0, + "extId": "string", + "extMetadata": {}, + "message": [ + {} + ], + "group": [ + { + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "party": "string", + "type": "from", + "isImportant": true, + "storage": "inbox", + "visibility": "new", + "extId": "string", + "extMetadata": {}, + "messageId": "string", + "threadId": "string", + "message": {}, + "thread": {} + } + ] + } + }, + "thread": { + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "subject": "string", + "messageCounts": 0, + "extId": "string", + "extMetadata": {}, + "message": [ + { + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "sender": "string", + "subject": "string", + "body": "string", + "status": "draft", + "extId": "string", + "extMetadata": {}, + "threadId": "string", + "attachment": [ + { + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "name": "string", + "path": "string", + "thumbnail": "string", + "mime": "string", + "extId": "string", + "extMetadata": {}, + "messageId": "string", + "message": {} + } + ], + "group": [ + { + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "party": "string", + "type": "from", + "isImportant": true, + "storage": "inbox", + "visibility": "new", + "extId": "string", + "extMetadata": {}, + "messageId": "string", + "threadId": "string", + "message": {}, + "thread": {} + } + ], + "meta": [ + { + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "key": "string", + "value": "string", + "extId": "string", + "extMetadata": {}, + "messageId": "string", + "message": {} + } + ], + "thread": {} + } + ], + "group": [ + { + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "party": "string", + "type": "from", + "isImportant": true, + "storage": "inbox", + "visibility": "new", + "extId": "string", + "extMetadata": {}, + "messageId": "string", + "threadId": "string", + "message": { + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "sender": "string", + "subject": "string", + "body": "string", + "status": "draft", + "extId": "string", + "extMetadata": {}, + "threadId": "string", + "attachment": [ + { + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "name": "string", + "path": "string", + "thumbnail": "string", + "mime": "string", + "extId": "string", + "extMetadata": {}, + "messageId": "string", + "message": {} + } + ], + "group": [ + {} + ], + "meta": [ + { + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "key": "string", + "value": "string", + "extId": "string", + "extMetadata": {}, + "messageId": "string", + "message": {} + } + ], + "thread": {} + }, + "thread": {} + } + ] + } +} + +``` + +GroupExcluding_deleted_WithRelations + +### Properties + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|deletedOn|string(date-time)¦null|false|none|none| +|deletedBy|string¦null|false|none|none| +|createdOn|string(date-time)|false|none|none| +|modifiedOn|string(date-time)|false|none|none| +|createdBy|string|false|none|none| +|modifiedBy|string|false|none|none| +|id|string|false|none|none| +|party|string|true|none|none| +|type|string|true|none|none| +|isImportant|boolean|false|none|none| +|storage|string|false|none|none| +|visibility|string|false|none|none| +|extId|string|false|none|none| +|extMetadata|object|false|none|none| +|messageId|string|false|none|none| +|threadId|string|false|none|none| +|message|[MessageExcluding_deleted_WithRelations](#schemamessageexcluding_deleted_withrelations)|false|none|(tsType: Omit, schemaOptions: { exclude: [ 'deleted' ], includeRelations: true })| +|thread|[ThreadExcluding_deleted_WithRelations](#schemathreadexcluding_deleted_withrelations)|false|none|(tsType: Omit, schemaOptions: { exclude: [ 'deleted' ], includeRelations: true })| + +#### Enumerated Values + +|Property|Value| +|---|---| +|type|from| +|type|to| +|type|cc| +|type|bcc| +|storage|draft| +|storage|send| +|storage|inbox| +|storage|trash| +|visibility|read| +|visibility|new| +|visibility|unread| +|visibility|important| +|visibility|not-important| + +

MetaExcluding_deleted_WithRelations

+ + + + + + +```json +{ + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "key": "string", + "value": "string", + "extId": "string", + "extMetadata": {}, + "messageId": "string", + "message": { + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "sender": "string", + "subject": "string", + "body": "string", + "status": "draft", + "extId": "string", + "extMetadata": {}, + "threadId": "string", + "attachment": [ + { + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "name": "string", + "path": "string", + "thumbnail": "string", + "mime": "string", + "extId": "string", + "extMetadata": {}, + "messageId": "string", + "message": {} + } + ], + "group": [ + { + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "party": "string", + "type": "from", + "isImportant": true, + "storage": "inbox", + "visibility": "new", + "extId": "string", + "extMetadata": {}, + "messageId": "string", + "threadId": "string", + "message": {}, + "thread": { + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "subject": "string", + "messageCounts": 0, + "extId": "string", + "extMetadata": {}, + "message": [ + {} + ], + "group": [ + {} + ] + } + } + ], + "meta": [ + { + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "key": "string", + "value": "string", + "extId": "string", + "extMetadata": {}, + "messageId": "string", + "message": {} + } + ], + "thread": { + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "subject": "string", + "messageCounts": 0, + "extId": "string", + "extMetadata": {}, + "message": [ + {} + ], + "group": [ + { + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "party": "string", + "type": "from", + "isImportant": true, + "storage": "inbox", + "visibility": "new", + "extId": "string", + "extMetadata": {}, + "messageId": "string", + "threadId": "string", + "message": {}, + "thread": {} + } + ] + } + } +} + +``` + +MetaExcluding_deleted_WithRelations + +### Properties + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|deletedOn|string(date-time)¦null|false|none|none| +|deletedBy|string¦null|false|none|none| +|createdOn|string(date-time)|false|none|none| +|modifiedOn|string(date-time)|false|none|none| +|createdBy|string|false|none|none| +|modifiedBy|string|false|none|none| +|id|string|false|none|none| +|key|string|true|none|none| +|value|string|false|none|none| +|extId|string|false|none|none| +|extMetadata|object|false|none|none| +|messageId|string|false|none|none| +|message|[MessageExcluding_deleted_WithRelations](#schemamessageexcluding_deleted_withrelations)|false|none|(tsType: Omit, schemaOptions: { exclude: [ 'deleted' ], includeRelations: true })| + +

MessageExcluding_deleted_WithRelations

+ + + + + + +```json +{ + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "sender": "string", + "subject": "string", + "body": "string", + "status": "draft", + "extId": "string", + "extMetadata": {}, + "threadId": "string", + "attachment": [ + { + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "name": "string", + "path": "string", + "thumbnail": "string", + "mime": "string", + "extId": "string", + "extMetadata": {}, + "messageId": "string", + "message": { + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "sender": "string", + "subject": "string", + "body": "string", + "status": "draft", + "extId": "string", + "extMetadata": {}, + "threadId": "string", + "attachment": [], + "group": [ + { + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "party": "string", + "type": "from", + "isImportant": true, + "storage": "inbox", + "visibility": "new", + "extId": "string", + "extMetadata": {}, + "messageId": "string", + "threadId": "string", + "message": {}, + "thread": { + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "subject": "string", + "messageCounts": 0, + "extId": "string", + "extMetadata": {}, + "message": [ + {} + ], + "group": [ + {} + ] + } + } + ], + "meta": [ + { + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "key": "string", + "value": "string", + "extId": "string", + "extMetadata": {}, + "messageId": "string", + "message": {} + } + ], + "thread": { + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "subject": "string", + "messageCounts": 0, + "extId": "string", + "extMetadata": {}, + "message": [ + {} + ], + "group": [ + { + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "party": "string", + "type": "from", + "isImportant": true, + "storage": "inbox", + "visibility": "new", + "extId": "string", + "extMetadata": {}, + "messageId": "string", + "threadId": "string", + "message": {}, + "thread": {} + } + ] + } + } + } + ], + "group": [ + { + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "party": "string", + "type": "from", + "isImportant": true, + "storage": "inbox", + "visibility": "new", + "extId": "string", + "extMetadata": {}, + "messageId": "string", + "threadId": "string", + "message": { + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "sender": "string", + "subject": "string", + "body": "string", + "status": "draft", + "extId": "string", + "extMetadata": {}, + "threadId": "string", + "attachment": [ + { + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "name": "string", + "path": "string", + "thumbnail": "string", + "mime": "string", + "extId": "string", + "extMetadata": {}, + "messageId": "string", + "message": {} + } + ], + "group": [], + "meta": [ + { + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "key": "string", + "value": "string", + "extId": "string", + "extMetadata": {}, + "messageId": "string", + "message": {} + } + ], + "thread": { + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "subject": "string", + "messageCounts": 0, + "extId": "string", + "extMetadata": {}, + "message": [ + {} + ], + "group": [ + {} + ] + } + }, + "thread": { + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "subject": "string", + "messageCounts": 0, + "extId": "string", + "extMetadata": {}, + "message": [ + { + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "sender": "string", + "subject": "string", + "body": "string", + "status": "draft", + "extId": "string", + "extMetadata": {}, + "threadId": "string", + "attachment": [ + { + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "name": "string", + "path": "string", + "thumbnail": "string", + "mime": "string", + "extId": "string", + "extMetadata": {}, + "messageId": "string", + "message": {} + } + ], + "group": [], + "meta": [ + { + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "key": "string", + "value": "string", + "extId": "string", + "extMetadata": {}, + "messageId": "string", + "message": {} + } + ], + "thread": {} + } + ], + "group": [ + {} + ] + } + } + ], + "meta": [ + { + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "key": "string", + "value": "string", + "extId": "string", + "extMetadata": {}, + "messageId": "string", + "message": { + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "sender": "string", + "subject": "string", + "body": "string", + "status": "draft", + "extId": "string", + "extMetadata": {}, + "threadId": "string", + "attachment": [ + { + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "name": "string", + "path": "string", + "thumbnail": "string", + "mime": "string", + "extId": "string", + "extMetadata": {}, + "messageId": "string", + "message": {} + } + ], + "group": [ + { + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "party": "string", + "type": "from", + "isImportant": true, + "storage": "inbox", + "visibility": "new", + "extId": "string", + "extMetadata": {}, + "messageId": "string", + "threadId": "string", + "message": {}, + "thread": { + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "subject": "string", + "messageCounts": 0, + "extId": "string", + "extMetadata": {}, + "message": [ + {} + ], + "group": [ + {} + ] + } + } + ], + "meta": [], + "thread": { + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "subject": "string", + "messageCounts": 0, + "extId": "string", + "extMetadata": {}, + "message": [ + {} + ], + "group": [ + { + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "party": "string", + "type": "from", + "isImportant": true, + "storage": "inbox", + "visibility": "new", + "extId": "string", + "extMetadata": {}, + "messageId": "string", + "threadId": "string", + "message": {}, + "thread": {} + } + ] + } + } + } + ], + "thread": { + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "subject": "string", + "messageCounts": 0, + "extId": "string", + "extMetadata": {}, + "message": [ + { + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "sender": "string", + "subject": "string", + "body": "string", + "status": "draft", + "extId": "string", + "extMetadata": {}, + "threadId": "string", + "attachment": [ + { + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "name": "string", + "path": "string", + "thumbnail": "string", + "mime": "string", + "extId": "string", + "extMetadata": {}, + "messageId": "string", + "message": {} + } + ], + "group": [ + { + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "party": "string", + "type": "from", + "isImportant": true, + "storage": "inbox", + "visibility": "new", + "extId": "string", + "extMetadata": {}, + "messageId": "string", + "threadId": "string", + "message": {}, + "thread": {} + } + ], + "meta": [ + { + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "key": "string", + "value": "string", + "extId": "string", + "extMetadata": {}, + "messageId": "string", + "message": {} + } + ], + "thread": {} + } + ], + "group": [ + { + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "party": "string", + "type": "from", + "isImportant": true, + "storage": "inbox", + "visibility": "new", + "extId": "string", + "extMetadata": {}, + "messageId": "string", + "threadId": "string", + "message": { + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "sender": "string", + "subject": "string", + "body": "string", + "status": "draft", + "extId": "string", + "extMetadata": {}, + "threadId": "string", + "attachment": [ + { + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "name": "string", + "path": "string", + "thumbnail": "string", + "mime": "string", + "extId": "string", + "extMetadata": {}, + "messageId": "string", + "message": {} + } + ], + "group": [ + {} + ], + "meta": [ + { + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "key": "string", + "value": "string", + "extId": "string", + "extMetadata": {}, + "messageId": "string", + "message": {} + } + ], + "thread": {} + }, + "thread": {} + } + ] + } +} + +``` + +MessageExcluding_deleted_WithRelations + +### Properties + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|deletedOn|string(date-time)¦null|false|none|none| +|deletedBy|string¦null|false|none|none| +|createdOn|string(date-time)|false|none|none| +|modifiedOn|string(date-time)|false|none|none| +|createdBy|string|false|none|none| +|modifiedBy|string|false|none|none| +|id|string|false|none|none| +|sender|string|true|none|none| +|subject|string|true|none|none| +|body|string|true|none|none| +|status|string|true|none|none| +|extId|string|false|none|none| +|extMetadata|object|false|none|none| +|threadId|string|false|none|none| +|attachment|[[AttachmentExcluding_deleted_WithRelations](#schemaattachmentexcluding_deleted_withrelations)]|false|none|[(tsType: Omit, schemaOptions: { exclude: [ 'deleted' ], includeRelations: true })]| +|group|[[GroupExcluding_deleted_WithRelations](#schemagroupexcluding_deleted_withrelations)]|false|none|[(tsType: Omit, schemaOptions: { exclude: [ 'deleted' ], includeRelations: true })]| +|meta|[[MetaExcluding_deleted_WithRelations](#schemametaexcluding_deleted_withrelations)]|false|none|[(tsType: Omit, schemaOptions: { exclude: [ 'deleted' ], includeRelations: true })]| +|thread|[ThreadExcluding_deleted_WithRelations](#schemathreadexcluding_deleted_withrelations)|false|none|(tsType: Omit, schemaOptions: { exclude: [ 'deleted' ], includeRelations: true })| + +#### Enumerated Values + +|Property|Value| +|---|---| +|status|draft| +|status|send| + +

Message

+ + + + + + +```json +{ + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "sender": "string", + "subject": "string", + "body": "string", + "status": "draft", + "extId": "string", + "extMetadata": {}, + "threadId": "string" +} + +``` + +Message + +### Properties + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|deleted|boolean|false|none|none| +|deletedOn|string(date-time)¦null|false|none|none| +|deletedBy|string¦null|false|none|none| +|createdOn|string(date-time)|false|none|none| +|modifiedOn|string(date-time)|false|none|none| +|createdBy|string|false|none|none| +|modifiedBy|string|false|none|none| +|id|string|false|none|none| +|sender|string|true|none|none| +|subject|string|true|none|none| +|body|string|true|none|none| +|status|string|true|none|none| +|extId|string|false|none|none| +|extMetadata|object|false|none|none| +|threadId|string|false|none|none| + +#### Enumerated Values + +|Property|Value| +|---|---| +|status|draft| +|status|send| + +

PingResponse

+ + + + + + +```json +{ + "greeting": "string", + "date": "string", + "url": "string", + "headers": { + "Content-Type": "string" + } +} + +``` + +PingResponse + +### Properties + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|greeting|string|false|none|none| +|date|string|false|none|none| +|url|string|false|none|none| +|headers|object|false|none|none| +|» Content-Type|string|false|none|none| + +

Thread

+ + + + + + +```json +{ + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "subject": "string", + "messageCounts": 0, + "extId": "string", + "extMetadata": {} +} + +``` + +Thread + +### Properties + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|deleted|boolean|false|none|none| +|deletedOn|string(date-time)¦null|false|none|none| +|deletedBy|string¦null|false|none|none| +|createdOn|string(date-time)|false|none|none| +|modifiedOn|string(date-time)|false|none|none| +|createdBy|string|false|none|none| +|modifiedBy|string|false|none|none| +|id|string|false|none|none| +|subject|string|true|none|none| +|messageCounts|number|false|none|none| +|extId|string|false|none|none| +|extMetadata|object|false|none|none| + diff --git a/sandbox/notification-socket-example/README.md b/sandbox/notification-socket-example/README.md index 8237f70647..1258028899 100644 --- a/sandbox/notification-socket-example/README.md +++ b/sandbox/notification-socket-example/README.md @@ -1,3 +1,7 @@ # notification-socket-example [![LoopBack](https://github.com/strongloop/loopback-next/raw/master/docs/site/imgs/branding/Powered-by-LoopBack-Badge-(blue)-@2x.png)](http://loopback.io/) + +#### API Details + +Visit the [OpenAPI spec docs](./openapi.md) \ No newline at end of file diff --git a/sandbox/notification-socket-example/openapi.md b/sandbox/notification-socket-example/openapi.md new file mode 100644 index 0000000000..adc3572fb0 --- /dev/null +++ b/sandbox/notification-socket-example/openapi.md @@ -0,0 +1,2557 @@ +--- +title: Notification Service v1.0.0 +language_tabs: + - "'javascript": JavaScript + - "'javascript--nodejs": Node.JS' +language_clients: + - "'javascript": request' + - "'javascript--nodejs": "" +toc_footers: [] +includes: [] +search: false +highlight_theme: darkula +headingLevel: 2 + +--- + + + +

Notification Service v1.0.0

+ +> Scroll down for code samples, example requests and responses. Select a language for code samples from the tabs above or the mobile navigation menu. + +sandbox + +Base URLs: + +* http://localhost:3000 + +# Authentication + +- HTTP Authentication, scheme: bearer + +

NotificationUserController

+ +## NotificationUserController.createAll + + + +> Code samples + +```'javascript--nodejs +const fetch = require('node-fetch'); +const inputBody = [ + { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "notificationId": "string", + "userId": "string", + "isRead": true, + "actionMeta": {} + } +]; +const headers = { + 'Content-Type':'application/json', + 'Accept':'application/json' +}; + +fetch('http://localhost:3000/notification-users/bulk', +{ + method: 'POST', + body: JSON.stringify(inputBody), + headers: headers +}) +.then(function(res) { + return res.json(); +}).then(function(body) { + console.log(body); +}); + +``` + +`POST /notification-users/bulk` + +> Body parameter + +```json +[ + { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "notificationId": "string", + "userId": "string", + "isRead": true, + "actionMeta": {} + } +] +``` + +

Parameters

+ +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|body|body|[NewNotificationUser](#schemanewnotificationuser)|false|none| + +> Example responses + +> 200 Response + +```json +{ + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "id": "string", + "notificationId": "string", + "userId": "string", + "isRead": true, + "actionMeta": {} +} +``` + +

Responses

+ +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|Notification User model instance|[NotificationUser](#schemanotificationuser)| + + + +## NotificationUserController.count + + + +> Code samples + +```'javascript--nodejs +const fetch = require('node-fetch'); + +const headers = { + 'Accept':'application/json' +}; + +fetch('http://localhost:3000/notification-users/count', +{ + method: 'GET', + + headers: headers +}) +.then(function(res) { + return res.json(); +}).then(function(body) { + console.log(body); +}); + +``` + +`GET /notification-users/count` + +

Parameters

+ +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|where|query|object|false|none| + +> Example responses + +> 200 Response + +```json +{ + "count": 0 +} +``` + +

Responses

+ +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|NotificationUser model count|[loopback.Count](#schemaloopback.count)| + + + +## NotificationUserController.deleteAllHard + + + +> Code samples + +```'javascript--nodejs +const fetch = require('node-fetch'); + +fetch('http://localhost:3000/notification-users/hard', +{ + method: 'DELETE' + +}) +.then(function(res) { + return res.json(); +}).then(function(body) { + console.log(body); +}); + +``` + +`DELETE /notification-users/hard` + +

Parameters

+ +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|where|query|object|false|none| + +

Responses

+ +|Status|Meaning|Description|Schema| +|---|---|---|---| +|204|[No Content](https://tools.ietf.org/html/rfc7231#section-6.3.5)|Notification DELETE success|None| + + + +## NotificationUserController.replaceById + + + +> Code samples + +```'javascript--nodejs +const fetch = require('node-fetch'); +const inputBody = { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "id": "string", + "notificationId": "string", + "userId": "string", + "isRead": true, + "actionMeta": {} +}; +const headers = { + 'Content-Type':'application/json' +}; + +fetch('http://localhost:3000/notification-users/{id}', +{ + method: 'PUT', + body: JSON.stringify(inputBody), + headers: headers +}) +.then(function(res) { + return res.json(); +}).then(function(body) { + console.log(body); +}); + +``` + +`PUT /notification-users/{id}` + +> Body parameter + +```json +{ + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "id": "string", + "notificationId": "string", + "userId": "string", + "isRead": true, + "actionMeta": {} +} +``` + +

Parameters

+ +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|id|path|string|true|none| +|body|body|[NotificationUser](#schemanotificationuser)|false|none| + +

Responses

+ +|Status|Meaning|Description|Schema| +|---|---|---|---| +|204|[No Content](https://tools.ietf.org/html/rfc7231#section-6.3.5)|NotificationUser PUT success|None| + + + +## NotificationUserController.updateById + + + +> Code samples + +```'javascript--nodejs +const fetch = require('node-fetch'); +const inputBody = { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "id": "string", + "notificationId": "string", + "userId": "string", + "isRead": true, + "actionMeta": {} +}; +const headers = { + 'Content-Type':'application/json' +}; + +fetch('http://localhost:3000/notification-users/{id}', +{ + method: 'PATCH', + body: JSON.stringify(inputBody), + headers: headers +}) +.then(function(res) { + return res.json(); +}).then(function(body) { + console.log(body); +}); + +``` + +`PATCH /notification-users/{id}` + +> Body parameter + +```json +{ + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "id": "string", + "notificationId": "string", + "userId": "string", + "isRead": true, + "actionMeta": {} +} +``` + +

Parameters

+ +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|id|path|string|true|none| +|body|body|[NotificationUserPartial](#schemanotificationuserpartial)|false|none| + +

Responses

+ +|Status|Meaning|Description|Schema| +|---|---|---|---| +|204|[No Content](https://tools.ietf.org/html/rfc7231#section-6.3.5)|NotificationUser PATCH success|None| + + + +## NotificationUserController.findById + + + +> Code samples + +```'javascript--nodejs +const fetch = require('node-fetch'); + +const headers = { + 'Accept':'application/json' +}; + +fetch('http://localhost:3000/notification-users/{id}', +{ + method: 'GET', + + headers: headers +}) +.then(function(res) { + return res.json(); +}).then(function(body) { + console.log(body); +}); + +``` + +`GET /notification-users/{id}` + +

Parameters

+ +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|id|path|string|true|none| + +> Example responses + +> 200 Response + +```json +{ + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "id": "string", + "notificationId": "string", + "userId": "string", + "isRead": true, + "actionMeta": {} +} +``` + +

Responses

+ +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|NotificationUser instance|[NotificationUser](#schemanotificationuser)| + + + +## NotificationUserController.deleteById + + + +> Code samples + +```'javascript--nodejs +const fetch = require('node-fetch'); + +fetch('http://localhost:3000/notification-users/{id}', +{ + method: 'DELETE' + +}) +.then(function(res) { + return res.json(); +}).then(function(body) { + console.log(body); +}); + +``` + +`DELETE /notification-users/{id}` + +

Parameters

+ +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|id|path|string|true|none| + +

Responses

+ +|Status|Meaning|Description|Schema| +|---|---|---|---| +|204|[No Content](https://tools.ietf.org/html/rfc7231#section-6.3.5)|NotificationUser DELETE success|None| + + + +## NotificationUserController.create + + + +> Code samples + +```'javascript--nodejs +const fetch = require('node-fetch'); +const inputBody = { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "notificationId": "string", + "userId": "string", + "isRead": true, + "actionMeta": {} +}; +const headers = { + 'Content-Type':'application/json', + 'Accept':'application/json' +}; + +fetch('http://localhost:3000/notification-users', +{ + method: 'POST', + body: JSON.stringify(inputBody), + headers: headers +}) +.then(function(res) { + return res.json(); +}).then(function(body) { + console.log(body); +}); + +``` + +`POST /notification-users` + +> Body parameter + +```json +{ + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "notificationId": "string", + "userId": "string", + "isRead": true, + "actionMeta": {} +} +``` + +

Parameters

+ +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|body|body|[NewNotificationUser](#schemanewnotificationuser)|false|none| + +> Example responses + +> 200 Response + +```json +{ + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "id": "string", + "notificationId": "string", + "userId": "string", + "isRead": true, + "actionMeta": {} +} +``` + +

Responses

+ +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|NotificationUser model instance|[NotificationUser](#schemanotificationuser)| + + + +## NotificationUserController.updateAll + + + +> Code samples + +```'javascript--nodejs +const fetch = require('node-fetch'); +const inputBody = { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "id": "string", + "notificationId": "string", + "userId": "string", + "isRead": true, + "actionMeta": {} +}; +const headers = { + 'Content-Type':'application/json', + 'Accept':'application/json' +}; + +fetch('http://localhost:3000/notification-users', +{ + method: 'PATCH', + body: JSON.stringify(inputBody), + headers: headers +}) +.then(function(res) { + return res.json(); +}).then(function(body) { + console.log(body); +}); + +``` + +`PATCH /notification-users` + +> Body parameter + +```json +{ + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "id": "string", + "notificationId": "string", + "userId": "string", + "isRead": true, + "actionMeta": {} +} +``` + +

Parameters

+ +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|where|query|object|false|none| +|body|body|[NotificationUserPartial](#schemanotificationuserpartial)|false|none| + +> Example responses + +> 200 Response + +```json +{ + "count": 0 +} +``` + +

Responses

+ +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|NotificationUser PATCH success count|[loopback.Count](#schemaloopback.count)| + + + +## NotificationUserController.find + + + +> Code samples + +```'javascript--nodejs +const fetch = require('node-fetch'); + +const headers = { + 'Accept':'application/json' +}; + +fetch('http://localhost:3000/notification-users', +{ + method: 'GET', + + headers: headers +}) +.then(function(res) { + return res.json(); +}).then(function(body) { + console.log(body); +}); + +``` + +`GET /notification-users` + +

Parameters

+ +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|filter|query|[notification_users.Filter](#schemanotification_users.filter)|false|none| + +> Example responses + +> 200 Response + +```json +[ + { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "id": "string", + "notificationId": "string", + "userId": "string", + "isRead": true, + "actionMeta": {} + } +] +``` + +

Responses

+ +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|Array of NotificationUser model instances|Inline| + +

Response Schema

+ +Status Code **200** + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|*anonymous*|[[NotificationUser](#schemanotificationuser)]|false|none|none| +|» NotificationUser|[NotificationUser](#schemanotificationuser)|false|none|none| +|»» deleted|boolean|false|none|none| +|»» deletedOn|string(date-time)¦null|false|none|none| +|»» deletedBy|string¦null|false|none|none| +|»» createdOn|string(date-time)|false|none|none| +|»» modifiedOn|string(date-time)|false|none|none| +|»» id|string|false|none|none| +|»» notificationId|string|true|none|none| +|»» userId|string|true|none|none| +|»» isRead|boolean|false|none|none| +|»» actionMeta|object|false|none|none| + + + +## NotificationUserController.deleteAll + + + +> Code samples + +```'javascript--nodejs +const fetch = require('node-fetch'); + +fetch('http://localhost:3000/notification-users', +{ + method: 'DELETE' + +}) +.then(function(res) { + return res.json(); +}).then(function(body) { + console.log(body); +}); + +``` + +`DELETE /notification-users` + +

Parameters

+ +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|where|query|object|false|none| + +

Responses

+ +|Status|Meaning|Description|Schema| +|---|---|---|---| +|204|[No Content](https://tools.ietf.org/html/rfc7231#section-6.3.5)|Notification DELETE success|None| + + + +

NotificationUserNotificationController

+ +## NotificationUserNotificationController.getNotification + + + +> Code samples + +```'javascript--nodejs +const fetch = require('node-fetch'); + +const headers = { + 'Accept':'application/json' +}; + +fetch('http://localhost:3000/notification-users/{id}/notification', +{ + method: 'GET', + + headers: headers +}) +.then(function(res) { + return res.json(); +}).then(function(body) { + console.log(body); +}); + +``` + +`GET /notification-users/{id}/notification` + +

Parameters

+ +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|id|path|string|true|none| + +> Example responses + +> 200 Response + +```json +[ + { + "id": "string", + "subject": "string", + "body": "string", + "receiver": {}, + "type": 0, + "sentDate": "2019-08-24T14:15:22Z", + "options": {} + } +] +``` + +

Responses

+ +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|Notification belonging to NotificationUser|Inline| + +

Response Schema

+ +Status Code **200** + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|*anonymous*|[[Notification](#schemanotification)]|false|none|none| +|» Notification|[Notification](#schemanotification)|false|none|none| +|»» id|string|false|none|none| +|»» subject|string¦null|false|none|none| +|»» body|string|true|none|none| +|»» receiver|object|true|none|none| +|»» type|number|true|none|none| +|»» sentDate|string(date-time)|false|none|none| +|»» options|object|false|none|none| + + + +

PubnubNotificationController

+ +## PubnubNotificationController.grantAccess + + + +> Code samples + +```'javascript--nodejs +const fetch = require('node-fetch'); +const inputBody = { + "receiver": {}, + "type": 0, + "options": {} +}; +const headers = { + 'Content-Type':'application/json', + 'Accept':'application/json', + 'Authorization':'string', + 'pubnubToken':'string' +}; + +fetch('http://localhost:3000/notifications/access/{id}', +{ + method: 'PATCH', + body: JSON.stringify(inputBody), + headers: headers +}) +.then(function(res) { + return res.json(); +}).then(function(body) { + console.log(body); +}); + +``` + +`PATCH /notifications/access/{id}` + +> Body parameter + +```json +{ + "receiver": {}, + "type": 0, + "options": {} +} +``` + +

Parameters

+ +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|id|path|string|true|none| +|Authorization|header|string|false|none| +|pubnubToken|header|string|true|none| +|body|body|[NotificationAccess](#schemanotificationaccess)|false|none| + +> Example responses + +> 200 Response + +```json +{ + "ttl": 0, + "cipherKey": "string" +} +``` + +

Responses

+ +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|Access response|[AccessResponseDto](#schemaaccessresponsedto)| + + + +## PubnubNotificationController.revokeAccess + + + +> Code samples + +```'javascript--nodejs +const fetch = require('node-fetch'); + +fetch('http://localhost:3000/notifications/access/{id}', +{ + method: 'DELETE' + +}) +.then(function(res) { + return res.json(); +}).then(function(body) { + console.log(body); +}); + +``` + +`DELETE /notifications/access/{id}` + +

Parameters

+ +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|id|path|string|true|none| + +

Responses

+ +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|Object with success|None| + + + +

NotificationController

+ +## NotificationController.createBulkNotificaitions + + + +> Code samples + +```'javascript--nodejs +const fetch = require('node-fetch'); +const inputBody = [ + { + "subject": "string", + "body": "string", + "receiver": {}, + "type": 0, + "sentDate": "2019-08-24T14:15:22Z", + "options": {} + } +]; +const headers = { + 'Content-Type':'application/json', + 'Accept':'application/json' +}; + +fetch('http://localhost:3000/notifications/bulk', +{ + method: 'POST', + body: JSON.stringify(inputBody), + headers: headers +}) +.then(function(res) { + return res.json(); +}).then(function(body) { + console.log(body); +}); + +``` + +`POST /notifications/bulk` + +> Body parameter + +```json +[ + { + "subject": "string", + "body": "string", + "receiver": {}, + "type": 0, + "sentDate": "2019-08-24T14:15:22Z", + "options": {} + } +] +``` + +

Parameters

+ +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|body|body|[NotificationExcluding_id_](#schemanotificationexcluding_id_)|false|none| + +> Example responses + +

Responses

+ +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|Array of Notifications|None| + +

Response Schema

+ + + +## NotificationController.count + + + +> Code samples + +```'javascript--nodejs +const fetch = require('node-fetch'); + +const headers = { + 'Accept':'application/json' +}; + +fetch('http://localhost:3000/notifications/count', +{ + method: 'GET', + + headers: headers +}) +.then(function(res) { + return res.json(); +}).then(function(body) { + console.log(body); +}); + +``` + +`GET /notifications/count` + +

Parameters

+ +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|where|query|object|false|none| + +> Example responses + +> 200 Response + +```json +{ + "count": 0 +} +``` + +

Responses

+ +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|Notification model count|[loopback.Count](#schemaloopback.count)| + + + +## NotificationController.findById + + + +> Code samples + +```'javascript--nodejs +const fetch = require('node-fetch'); + +const headers = { + 'Accept':'application/json' +}; + +fetch('http://localhost:3000/notifications/{id}', +{ + method: 'GET', + + headers: headers +}) +.then(function(res) { + return res.json(); +}).then(function(body) { + console.log(body); +}); + +``` + +`GET /notifications/{id}` + +

Parameters

+ +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|id|path|string|true|none| + +> Example responses + +> 200 Response + +```json +{ + "id": "string", + "subject": "string", + "body": "string", + "receiver": {}, + "type": 0, + "sentDate": "2019-08-24T14:15:22Z", + "options": {} +} +``` + +

Responses

+ +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|Notification model instance|[Notification](#schemanotification)| + + + +## NotificationController.create + + + +> Code samples + +```'javascript--nodejs +const fetch = require('node-fetch'); +const inputBody = { + "subject": "string", + "body": "string", + "receiver": {}, + "type": 0, + "sentDate": "2019-08-24T14:15:22Z", + "options": {} +}; +const headers = { + 'Content-Type':'application/json', + 'Accept':'application/json' +}; + +fetch('http://localhost:3000/notifications', +{ + method: 'POST', + body: JSON.stringify(inputBody), + headers: headers +}) +.then(function(res) { + return res.json(); +}).then(function(body) { + console.log(body); +}); + +``` + +`POST /notifications` + +> Body parameter + +```json +{ + "subject": "string", + "body": "string", + "receiver": {}, + "type": 0, + "sentDate": "2019-08-24T14:15:22Z", + "options": {} +} +``` + +

Parameters

+ +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|body|body|[NotificationExcluding_id_](#schemanotificationexcluding_id_)|false|none| + +> Example responses + +> 200 Response + +```json +{ + "id": "string", + "subject": "string", + "body": "string", + "receiver": {}, + "type": 0, + "sentDate": "2019-08-24T14:15:22Z", + "options": {} +} +``` + +

Responses

+ +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|Notification model instance|[Notification](#schemanotification)| + + + +## NotificationController.find + + + +> Code samples + +```'javascript--nodejs +const fetch = require('node-fetch'); + +const headers = { + 'Accept':'application/json' +}; + +fetch('http://localhost:3000/notifications', +{ + method: 'GET', + + headers: headers +}) +.then(function(res) { + return res.json(); +}).then(function(body) { + console.log(body); +}); + +``` + +`GET /notifications` + +

Parameters

+ +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|filter|query|[notifications.Filter](#schemanotifications.filter)|false|none| + +> Example responses + +> 200 Response + +```json +[ + { + "id": "string", + "subject": "string", + "body": "string", + "receiver": {}, + "type": 0, + "sentDate": "2019-08-24T14:15:22Z", + "options": {} + } +] +``` + +

Responses

+ +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|Array of Notification model instances|Inline| + +

Response Schema

+ +Status Code **200** + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|*anonymous*|[[Notification](#schemanotification)]|false|none|none| +|» Notification|[Notification](#schemanotification)|false|none|none| +|»» id|string|false|none|none| +|»» subject|string¦null|false|none|none| +|»» body|string|true|none|none| +|»» receiver|object|true|none|none| +|»» type|number|true|none|none| +|»» sentDate|string(date-time)|false|none|none| +|»» options|object|false|none|none| + + + +## NotificationController.deleteAll + + + +> Code samples + +```'javascript--nodejs +const fetch = require('node-fetch'); + +fetch('http://localhost:3000/notifications', +{ + method: 'DELETE' + +}) +.then(function(res) { + return res.json(); +}).then(function(body) { + console.log(body); +}); + +``` + +`DELETE /notifications` + +

Parameters

+ +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|where|query|object|false|none| + +

Responses

+ +|Status|Meaning|Description|Schema| +|---|---|---|---| +|204|[No Content](https://tools.ietf.org/html/rfc7231#section-6.3.5)|Notification DELETE success|None| + + + +

NotificationNotificationUserController

+ +## NotificationNotificationUserController.create + + + +> Code samples + +```'javascript--nodejs +const fetch = require('node-fetch'); +const inputBody = { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "notificationId": "string", + "userId": "string", + "isRead": true, + "actionMeta": {} +}; +const headers = { + 'Content-Type':'application/json', + 'Accept':'application/json' +}; + +fetch('http://localhost:3000/notifications/{id}/notification-users', +{ + method: 'POST', + body: JSON.stringify(inputBody), + headers: headers +}) +.then(function(res) { + return res.json(); +}).then(function(body) { + console.log(body); +}); + +``` + +`POST /notifications/{id}/notification-users` + +> Body parameter + +```json +{ + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "notificationId": "string", + "userId": "string", + "isRead": true, + "actionMeta": {} +} +``` + +

Parameters

+ +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|id|path|string|true|none| +|body|body|[NewNotificationUserInNotification](#schemanewnotificationuserinnotification)|false|none| + +> Example responses + +> 200 Response + +```json +{ + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "id": "string", + "notificationId": "string", + "userId": "string", + "isRead": true, + "actionMeta": {} +} +``` + +

Responses

+ +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|Notification model instance|[NotificationUser](#schemanotificationuser)| + + + +## NotificationNotificationUserController.patch + + + +> Code samples + +```'javascript--nodejs +const fetch = require('node-fetch'); +const inputBody = { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "id": "string", + "notificationId": "string", + "userId": "string", + "isRead": true, + "actionMeta": {} +}; +const headers = { + 'Content-Type':'application/json', + 'Accept':'application/json' +}; + +fetch('http://localhost:3000/notifications/{id}/notification-users', +{ + method: 'PATCH', + body: JSON.stringify(inputBody), + headers: headers +}) +.then(function(res) { + return res.json(); +}).then(function(body) { + console.log(body); +}); + +``` + +`PATCH /notifications/{id}/notification-users` + +> Body parameter + +```json +{ + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "id": "string", + "notificationId": "string", + "userId": "string", + "isRead": true, + "actionMeta": {} +} +``` + +

Parameters

+ +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|id|path|string|true|none| +|where|query|object|false|none| +|body|body|[NotificationUserPartial](#schemanotificationuserpartial)|false|none| + +> Example responses + +> 200 Response + +```json +{ + "count": 0 +} +``` + +

Responses

+ +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|Notification.NotificationUser PATCH success count|[loopback.Count](#schemaloopback.count)| + + + +## NotificationNotificationUserController.find + + + +> Code samples + +```'javascript--nodejs +const fetch = require('node-fetch'); + +const headers = { + 'Accept':'application/json' +}; + +fetch('http://localhost:3000/notifications/{id}/notification-users', +{ + method: 'GET', + + headers: headers +}) +.then(function(res) { + return res.json(); +}).then(function(body) { + console.log(body); +}); + +``` + +`GET /notifications/{id}/notification-users` + +

Parameters

+ +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|id|path|string|true|none| +|filter|query|object|false|none| + +> Example responses + +> 200 Response + +```json +[ + { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "id": "string", + "notificationId": "string", + "userId": "string", + "isRead": true, + "actionMeta": {} + } +] +``` + +

Responses

+ +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|Array of Notification has many NotificationUser|Inline| + +

Response Schema

+ +Status Code **200** + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|*anonymous*|[[NotificationUser](#schemanotificationuser)]|false|none|none| +|» NotificationUser|[NotificationUser](#schemanotificationuser)|false|none|none| +|»» deleted|boolean|false|none|none| +|»» deletedOn|string(date-time)¦null|false|none|none| +|»» deletedBy|string¦null|false|none|none| +|»» createdOn|string(date-time)|false|none|none| +|»» modifiedOn|string(date-time)|false|none|none| +|»» id|string|false|none|none| +|»» notificationId|string|true|none|none| +|»» userId|string|true|none|none| +|»» isRead|boolean|false|none|none| +|»» actionMeta|object|false|none|none| + + + +## NotificationNotificationUserController.delete + + + +> Code samples + +```'javascript--nodejs +const fetch = require('node-fetch'); + +const headers = { + 'Accept':'application/json' +}; + +fetch('http://localhost:3000/notifications/{id}/notification-users', +{ + method: 'DELETE', + + headers: headers +}) +.then(function(res) { + return res.json(); +}).then(function(body) { + console.log(body); +}); + +``` + +`DELETE /notifications/{id}/notification-users` + +

Parameters

+ +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|id|path|string|true|none| +|where|query|object|false|none| + +> Example responses + +> 200 Response + +```json +{ + "count": 0 +} +``` + +

Responses

+ +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|Notification.NotificationUser DELETE success count|[loopback.Count](#schemaloopback.count)| + + + +

PingController

+ +## PingController.ping + + + +> Code samples + +```'javascript--nodejs +const fetch = require('node-fetch'); + +const headers = { + 'Accept':'application/json' +}; + +fetch('http://localhost:3000/ping', +{ + method: 'GET', + + headers: headers +}) +.then(function(res) { + return res.json(); +}).then(function(body) { + console.log(body); +}); + +``` + +`GET /ping` + +> Example responses + +> 200 Response + +```json +{ + "greeting": "string", + "date": "string", + "url": "string", + "headers": { + "Content-Type": "string" + } +} +``` + +

Responses

+ +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|Ping Response|[PingResponse](#schemapingresponse)| + + + +

HomePageController

+ +## HomePageController.homePage + + + +> Code samples + +```'javascript--nodejs +const fetch = require('node-fetch'); + +const headers = { + 'Accept':'text/html' +}; + +fetch('http://localhost:3000/', +{ + method: 'GET', + + headers: headers +}) +.then(function(res) { + return res.json(); +}).then(function(body) { + console.log(body); +}); + +``` + +`GET /` + +> Example responses + +> 200 Response + +``` +"string" +``` + +

Responses

+ +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|Home Page|string| + + + +# Schemas + +

Notification

+ + + + + + +```json +{ + "id": "string", + "subject": "string", + "body": "string", + "receiver": {}, + "type": 0, + "sentDate": "2019-08-24T14:15:22Z", + "options": {} +} + +``` + +Notification + +### Properties + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|id|string|false|none|none| +|subject|string¦null|false|none|none| +|body|string|true|none|none| +|receiver|object|true|none|none| +|type|number|true|none|none| +|sentDate|string(date-time)|false|none|none| +|options|object|false|none|none| + +

NotificationExcluding_id_

+ + + + + + +```json +{ + "subject": "string", + "body": "string", + "receiver": {}, + "type": 0, + "sentDate": "2019-08-24T14:15:22Z", + "options": {} +} + +``` + +NotificationExcluding_id_ + +### Properties + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|subject|string¦null|false|none|none| +|body|string|true|none|none| +|receiver|object|true|none|none| +|type|number|true|none|none| +|sentDate|string(date-time)|false|none|none| +|options|object|false|none|none| + +

NotificationUser

+ + + + + + +```json +{ + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "id": "string", + "notificationId": "string", + "userId": "string", + "isRead": true, + "actionMeta": {} +} + +``` + +NotificationUser + +### Properties + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|deleted|boolean|false|none|none| +|deletedOn|string(date-time)¦null|false|none|none| +|deletedBy|string¦null|false|none|none| +|createdOn|string(date-time)|false|none|none| +|modifiedOn|string(date-time)|false|none|none| +|id|string|false|none|none| +|notificationId|string|true|none|none| +|userId|string|true|none|none| +|isRead|boolean|false|none|none| +|actionMeta|object|false|none|none| + +

NewNotificationUser

+ + + + + + +```json +{ + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "notificationId": "string", + "userId": "string", + "isRead": true, + "actionMeta": {} +} + +``` + +NewNotificationUser + +### Properties + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|deleted|boolean|false|none|none| +|deletedOn|string(date-time)¦null|false|none|none| +|deletedBy|string¦null|false|none|none| +|createdOn|string(date-time)|false|none|none| +|modifiedOn|string(date-time)|false|none|none| +|notificationId|string|true|none|none| +|userId|string|true|none|none| +|isRead|boolean|false|none|none| +|actionMeta|object|false|none|none| + +

NotificationUserPartial

+ + + + + + +```json +{ + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "id": "string", + "notificationId": "string", + "userId": "string", + "isRead": true, + "actionMeta": {} +} + +``` + +NotificationUserPartial + +### Properties + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|deleted|boolean|false|none|none| +|deletedOn|string(date-time)¦null|false|none|none| +|deletedBy|string¦null|false|none|none| +|createdOn|string(date-time)|false|none|none| +|modifiedOn|string(date-time)|false|none|none| +|id|string|false|none|none| +|notificationId|string|false|none|none| +|userId|string|false|none|none| +|isRead|boolean|false|none|none| +|actionMeta|object|false|none|none| + +

AccessResponseDto

+ + + + + + +```json +{ + "ttl": 0, + "cipherKey": "string" +} + +``` + +AccessResponseDto + +### Properties + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|ttl|number|false|none|none| +|cipherKey|string|false|none|none| + +

NotificationAccess

+ + + + + + +```json +{ + "receiver": {}, + "type": 0, + "options": {} +} + +``` + +NotificationAccess + +### Properties + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|receiver|object|true|none|this will contain the list of reciever to give access| +|type|number|true|none|none| +|options|object|false|none|this will contain the ttl property for now| + +

NewNotificationUserInNotification

+ + + + + + +```json +{ + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "notificationId": "string", + "userId": "string", + "isRead": true, + "actionMeta": {} +} + +``` + +NewNotificationUserInNotification + +### Properties + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|deleted|boolean|false|none|none| +|deletedOn|string(date-time)¦null|false|none|none| +|deletedBy|string¦null|false|none|none| +|createdOn|string(date-time)|false|none|none| +|modifiedOn|string(date-time)|false|none|none| +|notificationId|string|false|none|none| +|userId|string|true|none|none| +|isRead|boolean|false|none|none| +|actionMeta|object|false|none|none| + +

loopback.Count

+ + + + + + +```json +{ + "count": 0 +} + +``` + +loopback.Count + +### Properties + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|count|number|false|none|none| + +

notification_users.ScopeFilter

+ + + + + + +```json +{ + "offset": 0, + "limit": 100, + "skip": 0, + "order": "string", + "where": {}, + "fields": {}, + "include": [ + {} + ] +} + +``` + +notification_users.ScopeFilter + +### Properties + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|offset|integer|false|none|none| +|limit|integer|false|none|none| +|skip|integer|false|none|none| +|order|any|false|none|none| + +oneOf + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|» *anonymous*|string|false|none|none| + +xor + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|» *anonymous*|[string]|false|none|none| + +continued + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|where|object|false|none|none| +|fields|any|false|none|none| + +oneOf + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|» *anonymous*|object|false|none|none| + +xor + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|» *anonymous*|[string]|false|none|none| + +continued + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|include|[object]|false|none|none| + +

notification_users.IncludeFilter.Items

+ + + + + + +```json +{ + "relation": "string", + "scope": { + "offset": 0, + "limit": 100, + "skip": 0, + "order": "string", + "where": {}, + "fields": {}, + "include": [ + {} + ] + } +} + +``` + +notification_users.IncludeFilter.Items + +### Properties + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|relation|string|false|none|none| +|scope|[notification_users.ScopeFilter](#schemanotification_users.scopefilter)|false|none|none| + +

notification_users.Filter

+ + + + + + +```json +{ + "offset": 0, + "limit": 100, + "skip": 0, + "order": "string", + "where": {}, + "fields": { + "deleted": true, + "deletedOn": true, + "deletedBy": true, + "createdOn": true, + "modifiedOn": true, + "id": true, + "notificationId": true, + "userId": true, + "isRead": true, + "actionMeta": true + }, + "include": [ + { + "relation": "string", + "scope": { + "offset": 0, + "limit": 100, + "skip": 0, + "order": "string", + "where": {}, + "fields": {}, + "include": [ + {} + ] + } + } + ] +} + +``` + +notification_users.Filter + +### Properties + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|offset|integer|false|none|none| +|limit|integer|false|none|none| +|skip|integer|false|none|none| +|order|any|false|none|none| + +oneOf + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|» *anonymous*|string|false|none|none| + +xor + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|» *anonymous*|[string]|false|none|none| + +continued + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|where|object|false|none|none| +|fields|any|false|none|none| + +oneOf + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|» *anonymous*|object|false|none|none| +|»» deleted|boolean|false|none|none| +|»» deletedOn|boolean|false|none|none| +|»» deletedBy|boolean|false|none|none| +|»» createdOn|boolean|false|none|none| +|»» modifiedOn|boolean|false|none|none| +|»» id|boolean|false|none|none| +|»» notificationId|boolean|false|none|none| +|»» userId|boolean|false|none|none| +|»» isRead|boolean|false|none|none| +|»» actionMeta|boolean|false|none|none| + +xor + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|» *anonymous*|[string]|false|none|none| + +continued + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|include|[anyOf]|false|none|none| + +anyOf + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|» *anonymous*|[notification_users.IncludeFilter.Items](#schemanotification_users.includefilter.items)|false|none|none| + +or + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|» *anonymous*|string|false|none|none| + +

notifications.ScopeFilter

+ + + + + + +```json +{ + "offset": 0, + "limit": 100, + "skip": 0, + "order": "string", + "where": {}, + "fields": {}, + "include": [ + {} + ] +} + +``` + +notifications.ScopeFilter + +### Properties + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|offset|integer|false|none|none| +|limit|integer|false|none|none| +|skip|integer|false|none|none| +|order|any|false|none|none| + +oneOf + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|» *anonymous*|string|false|none|none| + +xor + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|» *anonymous*|[string]|false|none|none| + +continued + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|where|object|false|none|none| +|fields|any|false|none|none| + +oneOf + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|» *anonymous*|object|false|none|none| + +xor + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|» *anonymous*|[string]|false|none|none| + +continued + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|include|[object]|false|none|none| + +

notifications.IncludeFilter.Items

+ + + + + + +```json +{ + "relation": "string", + "scope": { + "offset": 0, + "limit": 100, + "skip": 0, + "order": "string", + "where": {}, + "fields": {}, + "include": [ + {} + ] + } +} + +``` + +notifications.IncludeFilter.Items + +### Properties + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|relation|string|false|none|none| +|scope|[notifications.ScopeFilter](#schemanotifications.scopefilter)|false|none|none| + +

notifications.Filter

+ + + + + + +```json +{ + "offset": 0, + "limit": 100, + "skip": 0, + "order": "string", + "where": {}, + "fields": { + "id": true, + "subject": true, + "body": true, + "receiver": true, + "type": true, + "sentDate": true, + "options": true + }, + "include": [ + { + "relation": "string", + "scope": { + "offset": 0, + "limit": 100, + "skip": 0, + "order": "string", + "where": {}, + "fields": {}, + "include": [ + {} + ] + } + } + ] +} + +``` + +notifications.Filter + +### Properties + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|offset|integer|false|none|none| +|limit|integer|false|none|none| +|skip|integer|false|none|none| +|order|any|false|none|none| + +oneOf + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|» *anonymous*|string|false|none|none| + +xor + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|» *anonymous*|[string]|false|none|none| + +continued + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|where|object|false|none|none| +|fields|any|false|none|none| + +oneOf + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|» *anonymous*|object|false|none|none| +|»» id|boolean|false|none|none| +|»» subject|boolean|false|none|none| +|»» body|boolean|false|none|none| +|»» receiver|boolean|false|none|none| +|»» type|boolean|false|none|none| +|»» sentDate|boolean|false|none|none| +|»» options|boolean|false|none|none| + +xor + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|» *anonymous*|[string]|false|none|none| + +continued + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|include|[anyOf]|false|none|none| + +anyOf + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|» *anonymous*|[notifications.IncludeFilter.Items](#schemanotifications.includefilter.items)|false|none|none| + +or + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|» *anonymous*|string|false|none|none| + +

PingResponse

+ + + + + + +```json +{ + "greeting": "string", + "date": "string", + "url": "string", + "headers": { + "Content-Type": "string" + } +} + +``` + +PingResponse + +### Properties + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|greeting|string|false|none|none| +|date|string|false|none|none| +|url|string|false|none|none| +|headers|object|false|none|none| +|» Content-Type|string|false|none|none| + diff --git a/sandbox/scheduler-example/README.md b/sandbox/scheduler-example/README.md index 2a613d02ac..6619510dfe 100644 --- a/sandbox/scheduler-example/README.md +++ b/sandbox/scheduler-example/README.md @@ -28,6 +28,10 @@ You can also run `node .` to skip the build step. Open http://127.0.0.1:3000 in your browser. +#### API Details + +Visit the [OpenAPI spec docs](./openapi.md) + ## Rebuild the project To incrementally build the project: diff --git a/sandbox/scheduler-example/openapi.md b/sandbox/scheduler-example/openapi.md new file mode 100644 index 0000000000..9c652a32c9 --- /dev/null +++ b/sandbox/scheduler-example/openapi.md @@ -0,0 +1,17800 @@ +--- +title: Scheduler Service v1.0.0 +language_tabs: + - "'javascript": JavaScript + - "'javascript--nodejs": Node.JS' +language_clients: + - "'javascript": request' + - "'javascript--nodejs": "" +toc_footers: [] +includes: [] +search: false +highlight_theme: darkula +headingLevel: 2 + +--- + + + +

Scheduler Service v1.0.0

+ +> Scroll down for code samples, example requests and responses. Select a language for code samples from the tabs above or the mobile navigation menu. + +scheduler-example + +Base URLs: + +* http://localhost:3000 + + +# Authentication + +- HTTP Authentication, scheme: bearer + +

AttachmentController

+ +## AttachmentController.count + + + +> Code samples + +```'javascript--nodejs +const fetch = require('node-fetch'); + +const headers = { + 'Accept':'application/json' +}; + +fetch('http://localhost:3000/attachments/count', +{ + method: 'GET', + + headers: headers +}) +.then(function(res) { + return res.json(); +}).then(function(body) { + console.log(body); +}); + +``` + +`GET /attachments/count` + +

Parameters

+ +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|where|query|object|false|none| + +> Example responses + +> 200 Response + +```json +{ + "count": 0 +} +``` + +

Responses

+ +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|Attachment model count|[loopback.Count](#schemaloopback.count)| + + + +## AttachmentController.replaceById + + + +> Code samples + +```'javascript--nodejs +const fetch = require('node-fetch'); +const inputBody = { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "fileUrl": "string", + "iconLink": "string", + "mimeType": "string", + "title": "string", + "eventId": "string", + "extId": "string", + "extMetadata": {} +}; +const headers = { + 'Content-Type':'application/json' +}; + +fetch('http://localhost:3000/attachments/{id}', +{ + method: 'PUT', + body: JSON.stringify(inputBody), + headers: headers +}) +.then(function(res) { + return res.json(); +}).then(function(body) { + console.log(body); +}); + +``` + +`PUT /attachments/{id}` + +> Body parameter + +```json +{ + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "fileUrl": "string", + "iconLink": "string", + "mimeType": "string", + "title": "string", + "eventId": "string", + "extId": "string", + "extMetadata": {} +} +``` + +

Parameters

+ +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|id|path|string|true|none| +|body|body|[Attachment](#schemaattachment)|false|none| + +

Responses

+ +|Status|Meaning|Description|Schema| +|---|---|---|---| +|204|[No Content](https://tools.ietf.org/html/rfc7231#section-6.3.5)|Attachment PUT success|None| + + + +## AttachmentController.updateById + + + +> Code samples + +```'javascript--nodejs +const fetch = require('node-fetch'); +const inputBody = { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "fileUrl": "string", + "iconLink": "string", + "mimeType": "string", + "title": "string", + "eventId": "string", + "extId": "string", + "extMetadata": {} +}; +const headers = { + 'Content-Type':'application/json' +}; + +fetch('http://localhost:3000/attachments/{id}', +{ + method: 'PATCH', + body: JSON.stringify(inputBody), + headers: headers +}) +.then(function(res) { + return res.json(); +}).then(function(body) { + console.log(body); +}); + +``` + +`PATCH /attachments/{id}` + +> Body parameter + +```json +{ + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "fileUrl": "string", + "iconLink": "string", + "mimeType": "string", + "title": "string", + "eventId": "string", + "extId": "string", + "extMetadata": {} +} +``` + +

Parameters

+ +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|id|path|string|true|none| +|body|body|[AttachmentPartial](#schemaattachmentpartial)|false|none| + +

Responses

+ +|Status|Meaning|Description|Schema| +|---|---|---|---| +|204|[No Content](https://tools.ietf.org/html/rfc7231#section-6.3.5)|Attachment PATCH success|None| + + + +## AttachmentController.findById + + + +> Code samples + +```'javascript--nodejs +const fetch = require('node-fetch'); + +const headers = { + 'Accept':'application/json' +}; + +fetch('http://localhost:3000/attachments/{id}', +{ + method: 'GET', + + headers: headers +}) +.then(function(res) { + return res.json(); +}).then(function(body) { + console.log(body); +}); + +``` + +`GET /attachments/{id}` + +

Parameters

+ +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|id|path|string|true|none| +|filter|query|[attachments.Filter](#schemaattachments.filter)|false|none| + +> Example responses + +> 200 Response + +```json +{ + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "fileUrl": "string", + "iconLink": "string", + "mimeType": "string", + "title": "string", + "eventId": "string", + "extId": "string", + "extMetadata": {}, + "event": { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "bgColor": "string", + "description": "string", + "endDateTime": "2019-08-24T14:15:22Z", + "fgColor": "string", + "iCalUid": "string", + "isFullDayEvent": true, + "isLocked": true, + "link": "string", + "location": "string", + "meetingLink": "string", + "identifier": "string", + "startDateTime": "2019-08-24T14:15:22Z", + "status": "confirmed", + "summary": "string", + "timezone": "string", + "calendarId": "string", + "parentEventId": "string", + "extId": "string", + "extMetadata": {}, + "calendar": { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "source": "string", + "enableWorkingHours": true, + "location": "string", + "identifier": "string", + "summary": "string", + "timezone": "string", + "extId": "string", + "extMetadata": {}, + "events": [ + {} + ], + "workingHours": [ + { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "dayOfWeek": 0, + "end": "string", + "start": "string", + "calendarId": "string", + "extId": "string", + "extMetadata": {}, + "calendar": {} + } + ], + "subscriptions": [ + { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "accessRole": "freeBusyReader", + "bgColor": "string", + "fgColor": "string", + "isHidden": true, + "isPrimary": true, + "identifier": "string", + "defaultReminders": {}, + "notificationSettings": {}, + "calendarId": "string", + "extId": "string", + "extMetadata": {}, + "calendar": {} + } + ] + }, + "parentEvent": {}, + "attendees": [ + { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "identifier": "string", + "isOptional": true, + "isOrganizer": true, + "messages": "string", + "responseStatus": "needsAction", + "eventId": "string", + "extId": "string", + "extMetadata": {}, + "event": {} + } + ], + "attachments": [ + { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "fileUrl": "string", + "iconLink": "string", + "mimeType": "string", + "title": "string", + "eventId": "string", + "extId": "string", + "extMetadata": {}, + "event": {} + } + ] + } +} +``` + +

Responses

+ +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|Attachment model instance|[AttachmentWithRelations](#schemaattachmentwithrelations)| + + + +## AttachmentController.deleteById + + + +> Code samples + +```'javascript--nodejs +const fetch = require('node-fetch'); + +fetch('http://localhost:3000/attachments/{id}', +{ + method: 'DELETE' + +}) +.then(function(res) { + return res.json(); +}).then(function(body) { + console.log(body); +}); + +``` + +`DELETE /attachments/{id}` + +

Parameters

+ +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|id|path|string|true|none| + +

Responses

+ +|Status|Meaning|Description|Schema| +|---|---|---|---| +|204|[No Content](https://tools.ietf.org/html/rfc7231#section-6.3.5)|Attachment DELETE success|None| + + + +## AttachmentController.create + + + +> Code samples + +```'javascript--nodejs +const fetch = require('node-fetch'); +const inputBody = { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "fileUrl": "string", + "iconLink": "string", + "mimeType": "string", + "title": "string", + "eventId": "string", + "extId": "string", + "extMetadata": {} +}; +const headers = { + 'Content-Type':'application/json', + 'Accept':'application/json' +}; + +fetch('http://localhost:3000/attachments', +{ + method: 'POST', + body: JSON.stringify(inputBody), + headers: headers +}) +.then(function(res) { + return res.json(); +}).then(function(body) { + console.log(body); +}); + +``` + +`POST /attachments` + +> Body parameter + +```json +{ + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "fileUrl": "string", + "iconLink": "string", + "mimeType": "string", + "title": "string", + "eventId": "string", + "extId": "string", + "extMetadata": {} +} +``` + +

Parameters

+ +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|body|body|[NewAttachment](#schemanewattachment)|false|none| + +> Example responses + +> 200 Response + +```json +{ + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "fileUrl": "string", + "iconLink": "string", + "mimeType": "string", + "title": "string", + "eventId": "string", + "extId": "string", + "extMetadata": {} +} +``` + +

Responses

+ +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|Attachment model instance|[Attachment](#schemaattachment)| + + + +## AttachmentController.updateAll + + + +> Code samples + +```'javascript--nodejs +const fetch = require('node-fetch'); +const inputBody = { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "fileUrl": "string", + "iconLink": "string", + "mimeType": "string", + "title": "string", + "eventId": "string", + "extId": "string", + "extMetadata": {} +}; +const headers = { + 'Content-Type':'application/json', + 'Accept':'application/json' +}; + +fetch('http://localhost:3000/attachments', +{ + method: 'PATCH', + body: JSON.stringify(inputBody), + headers: headers +}) +.then(function(res) { + return res.json(); +}).then(function(body) { + console.log(body); +}); + +``` + +`PATCH /attachments` + +> Body parameter + +```json +{ + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "fileUrl": "string", + "iconLink": "string", + "mimeType": "string", + "title": "string", + "eventId": "string", + "extId": "string", + "extMetadata": {} +} +``` + +

Parameters

+ +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|where|query|object|false|none| +|body|body|[AttachmentPartial](#schemaattachmentpartial)|false|none| + +> Example responses + +> 200 Response + +```json +{ + "count": 0 +} +``` + +

Responses

+ +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|Attachment PATCH success count|[loopback.Count](#schemaloopback.count)| + + + +## AttachmentController.find + + + +> Code samples + +```'javascript--nodejs +const fetch = require('node-fetch'); + +const headers = { + 'Accept':'application/json' +}; + +fetch('http://localhost:3000/attachments', +{ + method: 'GET', + + headers: headers +}) +.then(function(res) { + return res.json(); +}).then(function(body) { + console.log(body); +}); + +``` + +`GET /attachments` + +

Parameters

+ +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|filter|query|[attachments.Filter1](#schemaattachments.filter1)|false|none| + +> Example responses + +> 200 Response + +```json +[ + { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "fileUrl": "string", + "iconLink": "string", + "mimeType": "string", + "title": "string", + "eventId": "string", + "extId": "string", + "extMetadata": {}, + "event": { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "bgColor": "string", + "description": "string", + "endDateTime": "2019-08-24T14:15:22Z", + "fgColor": "string", + "iCalUid": "string", + "isFullDayEvent": true, + "isLocked": true, + "link": "string", + "location": "string", + "meetingLink": "string", + "identifier": "string", + "startDateTime": "2019-08-24T14:15:22Z", + "status": "confirmed", + "summary": "string", + "timezone": "string", + "calendarId": "string", + "parentEventId": "string", + "extId": "string", + "extMetadata": {}, + "calendar": { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "source": "string", + "enableWorkingHours": true, + "location": "string", + "identifier": "string", + "summary": "string", + "timezone": "string", + "extId": "string", + "extMetadata": {}, + "events": [ + {} + ], + "workingHours": [ + { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "dayOfWeek": 0, + "end": "string", + "start": "string", + "calendarId": "string", + "extId": "string", + "extMetadata": {}, + "calendar": {} + } + ], + "subscriptions": [ + { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "accessRole": "freeBusyReader", + "bgColor": "string", + "fgColor": "string", + "isHidden": true, + "isPrimary": true, + "identifier": "string", + "defaultReminders": {}, + "notificationSettings": {}, + "calendarId": "string", + "extId": "string", + "extMetadata": {}, + "calendar": {} + } + ] + }, + "parentEvent": {}, + "attendees": [ + { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "identifier": "string", + "isOptional": true, + "isOrganizer": true, + "messages": "string", + "responseStatus": "needsAction", + "eventId": "string", + "extId": "string", + "extMetadata": {}, + "event": {} + } + ], + "attachments": [ + {} + ] + } + } +] +``` + +

Responses

+ +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|Array of Attachment model instances|Inline| + +

Response Schema

+ +Status Code **200** + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|*anonymous*|[[AttachmentWithRelations](#schemaattachmentwithrelations)]|false|none|[(tsType: AttachmentWithRelations, schemaOptions: { includeRelations: true })]| +|» AttachmentWithRelations|[AttachmentWithRelations](#schemaattachmentwithrelations)|false|none|(tsType: AttachmentWithRelations, schemaOptions: { includeRelations: true })| +|»» deleted|boolean|false|none|none| +|»» deletedOn|string(date-time)¦null|false|none|none| +|»» deletedBy|string¦null|false|none|none| +|»» createdOn|string(date-time)|false|none|none| +|»» modifiedOn|string(date-time)|false|none|none| +|»» createdBy|string|false|none|none| +|»» modifiedBy|string|false|none|none| +|»» id|string|false|none|none| +|»» fileUrl|string|true|none|none| +|»» iconLink|string|false|none|none| +|»» mimeType|string|false|none|none| +|»» title|string|false|none|none| +|»» eventId|string|true|none|none| +|»» extId|string|false|none|none| +|»» extMetadata|object|false|none|none| +|»» event|[EventWithRelations](#schemaeventwithrelations)|false|none|(tsType: EventWithRelations, schemaOptions: { includeRelations: true })| +|»»» deleted|boolean|false|none|none| +|»»» deletedOn|string(date-time)¦null|false|none|none| +|»»» deletedBy|string¦null|false|none|none| +|»»» createdOn|string(date-time)|false|none|none| +|»»» modifiedOn|string(date-time)|false|none|none| +|»»» createdBy|string|false|none|none| +|»»» modifiedBy|string|false|none|none| +|»»» id|string|false|none|none| +|»»» bgColor|string|false|none|none| +|»»» description|string|false|none|none| +|»»» endDateTime|string(date-time)|false|none|none| +|»»» fgColor|string|false|none|none| +|»»» iCalUid|string|false|none|none| +|»»» isFullDayEvent|boolean|false|none|none| +|»»» isLocked|boolean|false|none|none| +|»»» link|string|false|none|none| +|»»» location|string|false|none|none| +|»»» meetingLink|string|false|none|none| +|»»» identifier|string|false|none|none| +|»»» startDateTime|string(date-time)|false|none|none| +|»»» status|string|false|none|none| +|»»» summary|string|false|none|none| +|»»» timezone|string|false|none|none| +|»»» calendarId|string|true|none|none| +|»»» parentEventId|string|false|none|none| +|»»» extId|string|false|none|none| +|»»» extMetadata|object|false|none|none| +|»»» calendar|[CalendarWithRelations](#schemacalendarwithrelations)|false|none|(tsType: CalendarWithRelations, schemaOptions: { includeRelations: true })| +|»»»» deleted|boolean|false|none|none| +|»»»» deletedOn|string(date-time)¦null|false|none|none| +|»»»» deletedBy|string¦null|false|none|none| +|»»»» createdOn|string(date-time)|false|none|none| +|»»»» modifiedOn|string(date-time)|false|none|none| +|»»»» createdBy|string|false|none|none| +|»»»» modifiedBy|string|false|none|none| +|»»»» id|string|false|none|none| +|»»»» source|string|false|none|none| +|»»»» enableWorkingHours|boolean|false|none|none| +|»»»» location|string|false|none|none| +|»»»» identifier|string|true|none|none| +|»»»» summary|string|false|none|none| +|»»»» timezone|string|false|none|none| +|»»»» extId|string|false|none|none| +|»»»» extMetadata|object|false|none|none| +|»»»» events|[[EventWithRelations](#schemaeventwithrelations)]|false|none|(tsType: EventWithRelations, schemaOptions: { includeRelations: true })| +|»»»»» EventWithRelations|[EventWithRelations](#schemaeventwithrelations)|false|none|(tsType: EventWithRelations, schemaOptions: { includeRelations: true })| +|»»»» workingHours|[[WorkingHourWithRelations](#schemaworkinghourwithrelations)]|false|none|(tsType: WorkingHourWithRelations, schemaOptions: { includeRelations: true })| +|»»»»» WorkingHourWithRelations|[WorkingHourWithRelations](#schemaworkinghourwithrelations)|false|none|(tsType: WorkingHourWithRelations, schemaOptions: { includeRelations: true })| +|»»»»»» deleted|boolean|false|none|none| +|»»»»»» deletedOn|string(date-time)¦null|false|none|none| +|»»»»»» deletedBy|string¦null|false|none|none| +|»»»»»» createdOn|string(date-time)|false|none|none| +|»»»»»» modifiedOn|string(date-time)|false|none|none| +|»»»»»» createdBy|string|false|none|none| +|»»»»»» modifiedBy|string|false|none|none| +|»»»»»» id|string|false|none|none| +|»»»»»» dayOfWeek|number|false|none|none| +|»»»»»» end|string|false|none|none| +|»»»»»» start|string|false|none|none| +|»»»»»» calendarId|string|true|none|none| +|»»»»»» extId|string|false|none|none| +|»»»»»» extMetadata|object|false|none|none| +|»»»»»» calendar|[CalendarWithRelations](#schemacalendarwithrelations)|false|none|(tsType: CalendarWithRelations, schemaOptions: { includeRelations: true })| +|»»»» subscriptions|[[SubscriptionWithRelations](#schemasubscriptionwithrelations)]|false|none|(tsType: SubscriptionWithRelations, schemaOptions: { includeRelations: true })| +|»»»»» SubscriptionWithRelations|[SubscriptionWithRelations](#schemasubscriptionwithrelations)|false|none|(tsType: SubscriptionWithRelations, schemaOptions: { includeRelations: true })| +|»»»»»» deleted|boolean|false|none|none| +|»»»»»» deletedOn|string(date-time)¦null|false|none|none| +|»»»»»» deletedBy|string¦null|false|none|none| +|»»»»»» createdOn|string(date-time)|false|none|none| +|»»»»»» modifiedOn|string(date-time)|false|none|none| +|»»»»»» createdBy|string|false|none|none| +|»»»»»» modifiedBy|string|false|none|none| +|»»»»»» id|string|false|none|none| +|»»»»»» accessRole|string|false|none|none| +|»»»»»» bgColor|string|false|none|none| +|»»»»»» fgColor|string|false|none|none| +|»»»»»» isHidden|boolean|false|none|none| +|»»»»»» isPrimary|boolean|false|none|none| +|»»»»»» identifier|string|true|none|none| +|»»»»»» defaultReminders|object|false|none|none| +|»»»»»» notificationSettings|object|false|none|none| +|»»»»»» calendarId|string|true|none|none| +|»»»»»» extId|string|false|none|none| +|»»»»»» extMetadata|object|false|none|none| +|»»»»»» calendar|[CalendarWithRelations](#schemacalendarwithrelations)|false|none|(tsType: CalendarWithRelations, schemaOptions: { includeRelations: true })| +|»»» parentEvent|[EventWithRelations](#schemaeventwithrelations)|false|none|(tsType: EventWithRelations, schemaOptions: { includeRelations: true })| +|»»» attendees|[[AttendeeWithRelations](#schemaattendeewithrelations)]|false|none|(tsType: AttendeeWithRelations, schemaOptions: { includeRelations: true })| +|»»»» AttendeeWithRelations|[AttendeeWithRelations](#schemaattendeewithrelations)|false|none|(tsType: AttendeeWithRelations, schemaOptions: { includeRelations: true })| +|»»»»» deleted|boolean|false|none|none| +|»»»»» deletedOn|string(date-time)¦null|false|none|none| +|»»»»» deletedBy|string¦null|false|none|none| +|»»»»» createdOn|string(date-time)|false|none|none| +|»»»»» modifiedOn|string(date-time)|false|none|none| +|»»»»» createdBy|string|false|none|none| +|»»»»» modifiedBy|string|false|none|none| +|»»»»» id|string|false|none|none| +|»»»»» identifier|string|true|none|none| +|»»»»» isOptional|boolean|false|none|none| +|»»»»» isOrganizer|boolean|false|none|none| +|»»»»» messages|string|false|none|none| +|»»»»» responseStatus|string|false|none|none| +|»»»»» eventId|string|true|none|none| +|»»»»» extId|string|false|none|none| +|»»»»» extMetadata|object|false|none|none| +|»»»»» event|[EventWithRelations](#schemaeventwithrelations)|false|none|(tsType: EventWithRelations, schemaOptions: { includeRelations: true })| +|»»» attachments|[[AttachmentWithRelations](#schemaattachmentwithrelations)]|false|none|(tsType: AttachmentWithRelations, schemaOptions: { includeRelations: true })| +|»»»» AttachmentWithRelations|[AttachmentWithRelations](#schemaattachmentwithrelations)|false|none|(tsType: AttachmentWithRelations, schemaOptions: { includeRelations: true })| + +#### Enumerated Values + +|Property|Value| +|---|---| +|status|confirmed| +|status|tentative| +|status|cancelled| +|status|completed| +|dayOfWeek|0| +|dayOfWeek|1| +|dayOfWeek|2| +|dayOfWeek|3| +|dayOfWeek|4| +|dayOfWeek|5| +|dayOfWeek|6| +|accessRole|freeBusyReader| +|accessRole|reader| +|accessRole|writer| +|accessRole|owner| +|responseStatus|needsAction| +|responseStatus|tentative| +|responseStatus|accepted| +|responseStatus|declined| + + + +

AttendeeController

+ +## AttendeeController.count + + + +> Code samples + +```'javascript--nodejs +const fetch = require('node-fetch'); + +const headers = { + 'Accept':'application/json' +}; + +fetch('http://localhost:3000/attendees/count', +{ + method: 'GET', + + headers: headers +}) +.then(function(res) { + return res.json(); +}).then(function(body) { + console.log(body); +}); + +``` + +`GET /attendees/count` + +

Parameters

+ +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|where|query|object|false|none| + +> Example responses + +> 200 Response + +```json +{ + "count": 0 +} +``` + +

Responses

+ +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|Attendee model count|[loopback.Count](#schemaloopback.count)| + + + +## AttendeeController.replaceById + + + +> Code samples + +```'javascript--nodejs +const fetch = require('node-fetch'); +const inputBody = { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "identifier": "string", + "isOptional": true, + "isOrganizer": true, + "messages": "string", + "responseStatus": "needsAction", + "eventId": "string", + "extId": "string", + "extMetadata": {} +}; +const headers = { + 'Content-Type':'application/json' +}; + +fetch('http://localhost:3000/attendees/{id}', +{ + method: 'PUT', + body: JSON.stringify(inputBody), + headers: headers +}) +.then(function(res) { + return res.json(); +}).then(function(body) { + console.log(body); +}); + +``` + +`PUT /attendees/{id}` + +> Body parameter + +```json +{ + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "identifier": "string", + "isOptional": true, + "isOrganizer": true, + "messages": "string", + "responseStatus": "needsAction", + "eventId": "string", + "extId": "string", + "extMetadata": {} +} +``` + +

Parameters

+ +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|id|path|string|true|none| +|body|body|[Attendee](#schemaattendee)|false|none| + +

Responses

+ +|Status|Meaning|Description|Schema| +|---|---|---|---| +|204|[No Content](https://tools.ietf.org/html/rfc7231#section-6.3.5)|Attendee PUT success|None| + + + +## AttendeeController.updateById + + + +> Code samples + +```'javascript--nodejs +const fetch = require('node-fetch'); +const inputBody = { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "identifier": "string", + "isOptional": true, + "isOrganizer": true, + "messages": "string", + "responseStatus": "needsAction", + "eventId": "string", + "extId": "string", + "extMetadata": {} +}; +const headers = { + 'Content-Type':'application/json' +}; + +fetch('http://localhost:3000/attendees/{id}', +{ + method: 'PATCH', + body: JSON.stringify(inputBody), + headers: headers +}) +.then(function(res) { + return res.json(); +}).then(function(body) { + console.log(body); +}); + +``` + +`PATCH /attendees/{id}` + +> Body parameter + +```json +{ + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "identifier": "string", + "isOptional": true, + "isOrganizer": true, + "messages": "string", + "responseStatus": "needsAction", + "eventId": "string", + "extId": "string", + "extMetadata": {} +} +``` + +

Parameters

+ +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|id|path|string|true|none| +|body|body|[AttendeePartial](#schemaattendeepartial)|false|none| + +

Responses

+ +|Status|Meaning|Description|Schema| +|---|---|---|---| +|204|[No Content](https://tools.ietf.org/html/rfc7231#section-6.3.5)|Attendee PATCH success|None| + + + +## AttendeeController.findById + + + +> Code samples + +```'javascript--nodejs +const fetch = require('node-fetch'); + +const headers = { + 'Accept':'application/json' +}; + +fetch('http://localhost:3000/attendees/{id}', +{ + method: 'GET', + + headers: headers +}) +.then(function(res) { + return res.json(); +}).then(function(body) { + console.log(body); +}); + +``` + +`GET /attendees/{id}` + +

Parameters

+ +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|id|path|string|true|none| +|filter|query|[attendees.Filter](#schemaattendees.filter)|false|none| + +> Example responses + +> 200 Response + +```json +{ + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "identifier": "string", + "isOptional": true, + "isOrganizer": true, + "messages": "string", + "responseStatus": "needsAction", + "eventId": "string", + "extId": "string", + "extMetadata": {}, + "event": { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "bgColor": "string", + "description": "string", + "endDateTime": "2019-08-24T14:15:22Z", + "fgColor": "string", + "iCalUid": "string", + "isFullDayEvent": true, + "isLocked": true, + "link": "string", + "location": "string", + "meetingLink": "string", + "identifier": "string", + "startDateTime": "2019-08-24T14:15:22Z", + "status": "confirmed", + "summary": "string", + "timezone": "string", + "calendarId": "string", + "parentEventId": "string", + "extId": "string", + "extMetadata": {}, + "calendar": { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "source": "string", + "enableWorkingHours": true, + "location": "string", + "identifier": "string", + "summary": "string", + "timezone": "string", + "extId": "string", + "extMetadata": {}, + "events": [ + {} + ], + "workingHours": [ + { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "dayOfWeek": 0, + "end": "string", + "start": "string", + "calendarId": "string", + "extId": "string", + "extMetadata": {}, + "calendar": {} + } + ], + "subscriptions": [ + { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "accessRole": "freeBusyReader", + "bgColor": "string", + "fgColor": "string", + "isHidden": true, + "isPrimary": true, + "identifier": "string", + "defaultReminders": {}, + "notificationSettings": {}, + "calendarId": "string", + "extId": "string", + "extMetadata": {}, + "calendar": {} + } + ] + }, + "parentEvent": {}, + "attendees": [ + { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "identifier": "string", + "isOptional": true, + "isOrganizer": true, + "messages": "string", + "responseStatus": "needsAction", + "eventId": "string", + "extId": "string", + "extMetadata": {}, + "event": {} + } + ], + "attachments": [ + { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "fileUrl": "string", + "iconLink": "string", + "mimeType": "string", + "title": "string", + "eventId": "string", + "extId": "string", + "extMetadata": {}, + "event": {} + } + ] + } +} +``` + +

Responses

+ +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|Attendee model instance|[AttendeeWithRelations](#schemaattendeewithrelations)| + + + +## AttendeeController.deleteById + + + +> Code samples + +```'javascript--nodejs +const fetch = require('node-fetch'); + +fetch('http://localhost:3000/attendees/{id}', +{ + method: 'DELETE' + +}) +.then(function(res) { + return res.json(); +}).then(function(body) { + console.log(body); +}); + +``` + +`DELETE /attendees/{id}` + +

Parameters

+ +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|id|path|string|true|none| + +

Responses

+ +|Status|Meaning|Description|Schema| +|---|---|---|---| +|204|[No Content](https://tools.ietf.org/html/rfc7231#section-6.3.5)|Attendee DELETE success|None| + + + +## AttendeeController.create + + + +> Code samples + +```'javascript--nodejs +const fetch = require('node-fetch'); +const inputBody = { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "identifier": "string", + "isOptional": true, + "isOrganizer": true, + "messages": "string", + "responseStatus": "needsAction", + "eventId": "string", + "extId": "string", + "extMetadata": {} +}; +const headers = { + 'Content-Type':'application/json', + 'Accept':'application/json' +}; + +fetch('http://localhost:3000/attendees', +{ + method: 'POST', + body: JSON.stringify(inputBody), + headers: headers +}) +.then(function(res) { + return res.json(); +}).then(function(body) { + console.log(body); +}); + +``` + +`POST /attendees` + +> Body parameter + +```json +{ + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "identifier": "string", + "isOptional": true, + "isOrganizer": true, + "messages": "string", + "responseStatus": "needsAction", + "eventId": "string", + "extId": "string", + "extMetadata": {} +} +``` + +

Parameters

+ +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|body|body|[NewAttendee](#schemanewattendee)|false|none| + +> Example responses + +> 200 Response + +```json +{ + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "identifier": "string", + "isOptional": true, + "isOrganizer": true, + "messages": "string", + "responseStatus": "needsAction", + "eventId": "string", + "extId": "string", + "extMetadata": {} +} +``` + +

Responses

+ +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|Attendee model instance|[Attendee](#schemaattendee)| + + + +## AttendeeController.updateAll + + + +> Code samples + +```'javascript--nodejs +const fetch = require('node-fetch'); +const inputBody = { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "identifier": "string", + "isOptional": true, + "isOrganizer": true, + "messages": "string", + "responseStatus": "needsAction", + "eventId": "string", + "extId": "string", + "extMetadata": {} +}; +const headers = { + 'Content-Type':'application/json', + 'Accept':'application/json' +}; + +fetch('http://localhost:3000/attendees', +{ + method: 'PATCH', + body: JSON.stringify(inputBody), + headers: headers +}) +.then(function(res) { + return res.json(); +}).then(function(body) { + console.log(body); +}); + +``` + +`PATCH /attendees` + +> Body parameter + +```json +{ + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "identifier": "string", + "isOptional": true, + "isOrganizer": true, + "messages": "string", + "responseStatus": "needsAction", + "eventId": "string", + "extId": "string", + "extMetadata": {} +} +``` + +

Parameters

+ +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|where|query|object|false|none| +|body|body|[AttendeePartial](#schemaattendeepartial)|false|none| + +> Example responses + +> 200 Response + +```json +{ + "count": 0 +} +``` + +

Responses

+ +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|Attendee PATCH success count|[loopback.Count](#schemaloopback.count)| + + + +## AttendeeController.find + + + +> Code samples + +```'javascript--nodejs +const fetch = require('node-fetch'); + +const headers = { + 'Accept':'application/json' +}; + +fetch('http://localhost:3000/attendees', +{ + method: 'GET', + + headers: headers +}) +.then(function(res) { + return res.json(); +}).then(function(body) { + console.log(body); +}); + +``` + +`GET /attendees` + +

Parameters

+ +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|filter|query|[attendees.Filter1](#schemaattendees.filter1)|false|none| + +> Example responses + +> 200 Response + +```json +[ + { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "identifier": "string", + "isOptional": true, + "isOrganizer": true, + "messages": "string", + "responseStatus": "needsAction", + "eventId": "string", + "extId": "string", + "extMetadata": {}, + "event": { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "bgColor": "string", + "description": "string", + "endDateTime": "2019-08-24T14:15:22Z", + "fgColor": "string", + "iCalUid": "string", + "isFullDayEvent": true, + "isLocked": true, + "link": "string", + "location": "string", + "meetingLink": "string", + "identifier": "string", + "startDateTime": "2019-08-24T14:15:22Z", + "status": "confirmed", + "summary": "string", + "timezone": "string", + "calendarId": "string", + "parentEventId": "string", + "extId": "string", + "extMetadata": {}, + "calendar": { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "source": "string", + "enableWorkingHours": true, + "location": "string", + "identifier": "string", + "summary": "string", + "timezone": "string", + "extId": "string", + "extMetadata": {}, + "events": [ + {} + ], + "workingHours": [ + { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "dayOfWeek": 0, + "end": "string", + "start": "string", + "calendarId": "string", + "extId": "string", + "extMetadata": {}, + "calendar": {} + } + ], + "subscriptions": [ + { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "accessRole": "freeBusyReader", + "bgColor": "string", + "fgColor": "string", + "isHidden": true, + "isPrimary": true, + "identifier": "string", + "defaultReminders": {}, + "notificationSettings": {}, + "calendarId": "string", + "extId": "string", + "extMetadata": {}, + "calendar": {} + } + ] + }, + "parentEvent": {}, + "attendees": [ + {} + ], + "attachments": [ + { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "fileUrl": "string", + "iconLink": "string", + "mimeType": "string", + "title": "string", + "eventId": "string", + "extId": "string", + "extMetadata": {}, + "event": {} + } + ] + } + } +] +``` + +

Responses

+ +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|Array of Attendee model instances|Inline| + +

Response Schema

+ +Status Code **200** + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|*anonymous*|[[AttendeeWithRelations](#schemaattendeewithrelations)]|false|none|[(tsType: AttendeeWithRelations, schemaOptions: { includeRelations: true })]| +|» AttendeeWithRelations|[AttendeeWithRelations](#schemaattendeewithrelations)|false|none|(tsType: AttendeeWithRelations, schemaOptions: { includeRelations: true })| +|»» deleted|boolean|false|none|none| +|»» deletedOn|string(date-time)¦null|false|none|none| +|»» deletedBy|string¦null|false|none|none| +|»» createdOn|string(date-time)|false|none|none| +|»» modifiedOn|string(date-time)|false|none|none| +|»» createdBy|string|false|none|none| +|»» modifiedBy|string|false|none|none| +|»» id|string|false|none|none| +|»» identifier|string|true|none|none| +|»» isOptional|boolean|false|none|none| +|»» isOrganizer|boolean|false|none|none| +|»» messages|string|false|none|none| +|»» responseStatus|string|false|none|none| +|»» eventId|string|true|none|none| +|»» extId|string|false|none|none| +|»» extMetadata|object|false|none|none| +|»» event|[EventWithRelations](#schemaeventwithrelations)|false|none|(tsType: EventWithRelations, schemaOptions: { includeRelations: true })| +|»»» deleted|boolean|false|none|none| +|»»» deletedOn|string(date-time)¦null|false|none|none| +|»»» deletedBy|string¦null|false|none|none| +|»»» createdOn|string(date-time)|false|none|none| +|»»» modifiedOn|string(date-time)|false|none|none| +|»»» createdBy|string|false|none|none| +|»»» modifiedBy|string|false|none|none| +|»»» id|string|false|none|none| +|»»» bgColor|string|false|none|none| +|»»» description|string|false|none|none| +|»»» endDateTime|string(date-time)|false|none|none| +|»»» fgColor|string|false|none|none| +|»»» iCalUid|string|false|none|none| +|»»» isFullDayEvent|boolean|false|none|none| +|»»» isLocked|boolean|false|none|none| +|»»» link|string|false|none|none| +|»»» location|string|false|none|none| +|»»» meetingLink|string|false|none|none| +|»»» identifier|string|false|none|none| +|»»» startDateTime|string(date-time)|false|none|none| +|»»» status|string|false|none|none| +|»»» summary|string|false|none|none| +|»»» timezone|string|false|none|none| +|»»» calendarId|string|true|none|none| +|»»» parentEventId|string|false|none|none| +|»»» extId|string|false|none|none| +|»»» extMetadata|object|false|none|none| +|»»» calendar|[CalendarWithRelations](#schemacalendarwithrelations)|false|none|(tsType: CalendarWithRelations, schemaOptions: { includeRelations: true })| +|»»»» deleted|boolean|false|none|none| +|»»»» deletedOn|string(date-time)¦null|false|none|none| +|»»»» deletedBy|string¦null|false|none|none| +|»»»» createdOn|string(date-time)|false|none|none| +|»»»» modifiedOn|string(date-time)|false|none|none| +|»»»» createdBy|string|false|none|none| +|»»»» modifiedBy|string|false|none|none| +|»»»» id|string|false|none|none| +|»»»» source|string|false|none|none| +|»»»» enableWorkingHours|boolean|false|none|none| +|»»»» location|string|false|none|none| +|»»»» identifier|string|true|none|none| +|»»»» summary|string|false|none|none| +|»»»» timezone|string|false|none|none| +|»»»» extId|string|false|none|none| +|»»»» extMetadata|object|false|none|none| +|»»»» events|[[EventWithRelations](#schemaeventwithrelations)]|false|none|(tsType: EventWithRelations, schemaOptions: { includeRelations: true })| +|»»»»» EventWithRelations|[EventWithRelations](#schemaeventwithrelations)|false|none|(tsType: EventWithRelations, schemaOptions: { includeRelations: true })| +|»»»» workingHours|[[WorkingHourWithRelations](#schemaworkinghourwithrelations)]|false|none|(tsType: WorkingHourWithRelations, schemaOptions: { includeRelations: true })| +|»»»»» WorkingHourWithRelations|[WorkingHourWithRelations](#schemaworkinghourwithrelations)|false|none|(tsType: WorkingHourWithRelations, schemaOptions: { includeRelations: true })| +|»»»»»» deleted|boolean|false|none|none| +|»»»»»» deletedOn|string(date-time)¦null|false|none|none| +|»»»»»» deletedBy|string¦null|false|none|none| +|»»»»»» createdOn|string(date-time)|false|none|none| +|»»»»»» modifiedOn|string(date-time)|false|none|none| +|»»»»»» createdBy|string|false|none|none| +|»»»»»» modifiedBy|string|false|none|none| +|»»»»»» id|string|false|none|none| +|»»»»»» dayOfWeek|number|false|none|none| +|»»»»»» end|string|false|none|none| +|»»»»»» start|string|false|none|none| +|»»»»»» calendarId|string|true|none|none| +|»»»»»» extId|string|false|none|none| +|»»»»»» extMetadata|object|false|none|none| +|»»»»»» calendar|[CalendarWithRelations](#schemacalendarwithrelations)|false|none|(tsType: CalendarWithRelations, schemaOptions: { includeRelations: true })| +|»»»» subscriptions|[[SubscriptionWithRelations](#schemasubscriptionwithrelations)]|false|none|(tsType: SubscriptionWithRelations, schemaOptions: { includeRelations: true })| +|»»»»» SubscriptionWithRelations|[SubscriptionWithRelations](#schemasubscriptionwithrelations)|false|none|(tsType: SubscriptionWithRelations, schemaOptions: { includeRelations: true })| +|»»»»»» deleted|boolean|false|none|none| +|»»»»»» deletedOn|string(date-time)¦null|false|none|none| +|»»»»»» deletedBy|string¦null|false|none|none| +|»»»»»» createdOn|string(date-time)|false|none|none| +|»»»»»» modifiedOn|string(date-time)|false|none|none| +|»»»»»» createdBy|string|false|none|none| +|»»»»»» modifiedBy|string|false|none|none| +|»»»»»» id|string|false|none|none| +|»»»»»» accessRole|string|false|none|none| +|»»»»»» bgColor|string|false|none|none| +|»»»»»» fgColor|string|false|none|none| +|»»»»»» isHidden|boolean|false|none|none| +|»»»»»» isPrimary|boolean|false|none|none| +|»»»»»» identifier|string|true|none|none| +|»»»»»» defaultReminders|object|false|none|none| +|»»»»»» notificationSettings|object|false|none|none| +|»»»»»» calendarId|string|true|none|none| +|»»»»»» extId|string|false|none|none| +|»»»»»» extMetadata|object|false|none|none| +|»»»»»» calendar|[CalendarWithRelations](#schemacalendarwithrelations)|false|none|(tsType: CalendarWithRelations, schemaOptions: { includeRelations: true })| +|»»» parentEvent|[EventWithRelations](#schemaeventwithrelations)|false|none|(tsType: EventWithRelations, schemaOptions: { includeRelations: true })| +|»»» attendees|[[AttendeeWithRelations](#schemaattendeewithrelations)]|false|none|(tsType: AttendeeWithRelations, schemaOptions: { includeRelations: true })| +|»»»» AttendeeWithRelations|[AttendeeWithRelations](#schemaattendeewithrelations)|false|none|(tsType: AttendeeWithRelations, schemaOptions: { includeRelations: true })| +|»»» attachments|[[AttachmentWithRelations](#schemaattachmentwithrelations)]|false|none|(tsType: AttachmentWithRelations, schemaOptions: { includeRelations: true })| +|»»»» AttachmentWithRelations|[AttachmentWithRelations](#schemaattachmentwithrelations)|false|none|(tsType: AttachmentWithRelations, schemaOptions: { includeRelations: true })| +|»»»»» deleted|boolean|false|none|none| +|»»»»» deletedOn|string(date-time)¦null|false|none|none| +|»»»»» deletedBy|string¦null|false|none|none| +|»»»»» createdOn|string(date-time)|false|none|none| +|»»»»» modifiedOn|string(date-time)|false|none|none| +|»»»»» createdBy|string|false|none|none| +|»»»»» modifiedBy|string|false|none|none| +|»»»»» id|string|false|none|none| +|»»»»» fileUrl|string|true|none|none| +|»»»»» iconLink|string|false|none|none| +|»»»»» mimeType|string|false|none|none| +|»»»»» title|string|false|none|none| +|»»»»» eventId|string|true|none|none| +|»»»»» extId|string|false|none|none| +|»»»»» extMetadata|object|false|none|none| +|»»»»» event|[EventWithRelations](#schemaeventwithrelations)|false|none|(tsType: EventWithRelations, schemaOptions: { includeRelations: true })| + +#### Enumerated Values + +|Property|Value| +|---|---| +|responseStatus|needsAction| +|responseStatus|tentative| +|responseStatus|accepted| +|responseStatus|declined| +|status|confirmed| +|status|tentative| +|status|cancelled| +|status|completed| +|dayOfWeek|0| +|dayOfWeek|1| +|dayOfWeek|2| +|dayOfWeek|3| +|dayOfWeek|4| +|dayOfWeek|5| +|dayOfWeek|6| +|accessRole|freeBusyReader| +|accessRole|reader| +|accessRole|writer| +|accessRole|owner| + + + +

CalendarController

+ +## CalendarController.createWithSubscription + + + +> Code samples + +```'javascript--nodejs +const fetch = require('node-fetch'); +const inputBody = { + "source": "string", + "enableWorkingHours": true, + "location": "string", + "identifier": "string", + "summary": "string", + "timezone": "string", + "extId": "string", + "extMetadata": {}, + "workingHours": [ + { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "dayOfWeek": 0, + "end": "string", + "start": "string", + "calendarId": "string", + "extId": "string", + "extMetadata": {} + } + ], + "subscription": {} +}; +const headers = { + 'Content-Type':'application/json', + 'Accept':'application/json' +}; + +fetch('http://localhost:3000/calendars/calendarSubscription', +{ + method: 'POST', + body: JSON.stringify(inputBody), + headers: headers +}) +.then(function(res) { + return res.json(); +}).then(function(body) { + console.log(body); +}); + +``` + +`POST /calendars/calendarSubscription` + +> Body parameter + +```json +{ + "source": "string", + "enableWorkingHours": true, + "location": "string", + "identifier": "string", + "summary": "string", + "timezone": "string", + "extId": "string", + "extMetadata": {}, + "workingHours": [ + { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "dayOfWeek": 0, + "end": "string", + "start": "string", + "calendarId": "string", + "extId": "string", + "extMetadata": {} + } + ], + "subscription": {} +} +``` + +

Parameters

+ +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|body|body|[NewCalendar](#schemanewcalendar)|false|none| + +> Example responses + +> 200 Response + +```json +{ + "id": "string", + "source": "string", + "enableWorkingHours": true, + "location": "string", + "identifier": "string", + "summary": "string", + "timezone": "string", + "extId": "string", + "extMetadata": {}, + "workingHours": [ + { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "dayOfWeek": 0, + "end": "string", + "start": "string", + "calendarId": "string", + "extId": "string", + "extMetadata": {} + } + ], + "subscription": {} +} +``` + +

Responses

+ +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|Calendar model instance|[CalendarDTO](#schemacalendardto)| + + + +## CalendarController.count + + + +> Code samples + +```'javascript--nodejs +const fetch = require('node-fetch'); + +const headers = { + 'Accept':'application/json' +}; + +fetch('http://localhost:3000/calendars/count', +{ + method: 'GET', + + headers: headers +}) +.then(function(res) { + return res.json(); +}).then(function(body) { + console.log(body); +}); + +``` + +`GET /calendars/count` + +

Parameters

+ +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|where|query|object|false|none| + +> Example responses + +> 200 Response + +```json +{ + "count": 0 +} +``` + +

Responses

+ +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|Calendar model count|[loopback.Count](#schemaloopback.count)| + + + +## CalendarController.replaceById + + + +> Code samples + +```'javascript--nodejs +const fetch = require('node-fetch'); +const inputBody = { + "id": "string", + "source": "string", + "enableWorkingHours": true, + "location": "string", + "identifier": "string", + "summary": "string", + "timezone": "string", + "extId": "string", + "extMetadata": {}, + "workingHours": [ + { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "dayOfWeek": 0, + "end": "string", + "start": "string", + "calendarId": "string", + "extId": "string", + "extMetadata": {} + } + ], + "subscription": {} +}; +const headers = { + 'Content-Type':'application/json' +}; + +fetch('http://localhost:3000/calendars/{id}', +{ + method: 'PUT', + body: JSON.stringify(inputBody), + headers: headers +}) +.then(function(res) { + return res.json(); +}).then(function(body) { + console.log(body); +}); + +``` + +`PUT /calendars/{id}` + +> Body parameter + +```json +{ + "id": "string", + "source": "string", + "enableWorkingHours": true, + "location": "string", + "identifier": "string", + "summary": "string", + "timezone": "string", + "extId": "string", + "extMetadata": {}, + "workingHours": [ + { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "dayOfWeek": 0, + "end": "string", + "start": "string", + "calendarId": "string", + "extId": "string", + "extMetadata": {} + } + ], + "subscription": {} +} +``` + +

Parameters

+ +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|id|path|string|true|none| +|body|body|[CalendarDTO](#schemacalendardto)|false|none| + +

Responses

+ +|Status|Meaning|Description|Schema| +|---|---|---|---| +|204|[No Content](https://tools.ietf.org/html/rfc7231#section-6.3.5)|Calendar PUT success|None| + + + +## CalendarController.updateById + + + +> Code samples + +```'javascript--nodejs +const fetch = require('node-fetch'); +const inputBody = { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "source": "string", + "enableWorkingHours": true, + "location": "string", + "identifier": "string", + "summary": "string", + "timezone": "string", + "extId": "string", + "extMetadata": {} +}; +const headers = { + 'Content-Type':'application/json' +}; + +fetch('http://localhost:3000/calendars/{id}', +{ + method: 'PATCH', + body: JSON.stringify(inputBody), + headers: headers +}) +.then(function(res) { + return res.json(); +}).then(function(body) { + console.log(body); +}); + +``` + +`PATCH /calendars/{id}` + +> Body parameter + +```json +{ + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "source": "string", + "enableWorkingHours": true, + "location": "string", + "identifier": "string", + "summary": "string", + "timezone": "string", + "extId": "string", + "extMetadata": {} +} +``` + +

Parameters

+ +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|id|path|string|true|none| +|body|body|[CalendarPartial](#schemacalendarpartial)|false|none| + +

Responses

+ +|Status|Meaning|Description|Schema| +|---|---|---|---| +|204|[No Content](https://tools.ietf.org/html/rfc7231#section-6.3.5)|Calendar PATCH success|None| + + + +## CalendarController.findById + + + +> Code samples + +```'javascript--nodejs +const fetch = require('node-fetch'); + +const headers = { + 'Accept':'application/json' +}; + +fetch('http://localhost:3000/calendars/{id}', +{ + method: 'GET', + + headers: headers +}) +.then(function(res) { + return res.json(); +}).then(function(body) { + console.log(body); +}); + +``` + +`GET /calendars/{id}` + +

Parameters

+ +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|id|path|string|true|none| +|filter|query|[calendars.Filter](#schemacalendars.filter)|false|none| + +> Example responses + +> 200 Response + +```json +{ + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "source": "string", + "enableWorkingHours": true, + "location": "string", + "identifier": "string", + "summary": "string", + "timezone": "string", + "extId": "string", + "extMetadata": {}, + "events": [ + { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "bgColor": "string", + "description": "string", + "endDateTime": "2019-08-24T14:15:22Z", + "fgColor": "string", + "iCalUid": "string", + "isFullDayEvent": true, + "isLocked": true, + "link": "string", + "location": "string", + "meetingLink": "string", + "identifier": "string", + "startDateTime": "2019-08-24T14:15:22Z", + "status": "confirmed", + "summary": "string", + "timezone": "string", + "calendarId": "string", + "parentEventId": "string", + "extId": "string", + "extMetadata": {}, + "calendar": { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "source": "string", + "enableWorkingHours": true, + "location": "string", + "identifier": "string", + "summary": "string", + "timezone": "string", + "extId": "string", + "extMetadata": {}, + "events": [], + "workingHours": [ + { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "dayOfWeek": 0, + "end": "string", + "start": "string", + "calendarId": "string", + "extId": "string", + "extMetadata": {}, + "calendar": {} + } + ], + "subscriptions": [ + { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "accessRole": "freeBusyReader", + "bgColor": "string", + "fgColor": "string", + "isHidden": true, + "isPrimary": true, + "identifier": "string", + "defaultReminders": {}, + "notificationSettings": {}, + "calendarId": "string", + "extId": "string", + "extMetadata": {}, + "calendar": {} + } + ] + }, + "parentEvent": {}, + "attendees": [ + { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "identifier": "string", + "isOptional": true, + "isOrganizer": true, + "messages": "string", + "responseStatus": "needsAction", + "eventId": "string", + "extId": "string", + "extMetadata": {}, + "event": {} + } + ], + "attachments": [ + { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "fileUrl": "string", + "iconLink": "string", + "mimeType": "string", + "title": "string", + "eventId": "string", + "extId": "string", + "extMetadata": {}, + "event": {} + } + ] + } + ], + "workingHours": [ + { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "dayOfWeek": 0, + "end": "string", + "start": "string", + "calendarId": "string", + "extId": "string", + "extMetadata": {}, + "calendar": { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "source": "string", + "enableWorkingHours": true, + "location": "string", + "identifier": "string", + "summary": "string", + "timezone": "string", + "extId": "string", + "extMetadata": {}, + "events": [ + { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "bgColor": "string", + "description": "string", + "endDateTime": "2019-08-24T14:15:22Z", + "fgColor": "string", + "iCalUid": "string", + "isFullDayEvent": true, + "isLocked": true, + "link": "string", + "location": "string", + "meetingLink": "string", + "identifier": "string", + "startDateTime": "2019-08-24T14:15:22Z", + "status": "confirmed", + "summary": "string", + "timezone": "string", + "calendarId": "string", + "parentEventId": "string", + "extId": "string", + "extMetadata": {}, + "calendar": {}, + "parentEvent": {}, + "attendees": [ + { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "identifier": "string", + "isOptional": true, + "isOrganizer": true, + "messages": "string", + "responseStatus": "needsAction", + "eventId": "string", + "extId": "string", + "extMetadata": {}, + "event": {} + } + ], + "attachments": [ + { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "fileUrl": "string", + "iconLink": "string", + "mimeType": "string", + "title": "string", + "eventId": "string", + "extId": "string", + "extMetadata": {}, + "event": {} + } + ] + } + ], + "workingHours": [], + "subscriptions": [ + { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "accessRole": "freeBusyReader", + "bgColor": "string", + "fgColor": "string", + "isHidden": true, + "isPrimary": true, + "identifier": "string", + "defaultReminders": {}, + "notificationSettings": {}, + "calendarId": "string", + "extId": "string", + "extMetadata": {}, + "calendar": {} + } + ] + } + } + ], + "subscriptions": [ + { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "accessRole": "freeBusyReader", + "bgColor": "string", + "fgColor": "string", + "isHidden": true, + "isPrimary": true, + "identifier": "string", + "defaultReminders": {}, + "notificationSettings": {}, + "calendarId": "string", + "extId": "string", + "extMetadata": {}, + "calendar": { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "source": "string", + "enableWorkingHours": true, + "location": "string", + "identifier": "string", + "summary": "string", + "timezone": "string", + "extId": "string", + "extMetadata": {}, + "events": [ + { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "bgColor": "string", + "description": "string", + "endDateTime": "2019-08-24T14:15:22Z", + "fgColor": "string", + "iCalUid": "string", + "isFullDayEvent": true, + "isLocked": true, + "link": "string", + "location": "string", + "meetingLink": "string", + "identifier": "string", + "startDateTime": "2019-08-24T14:15:22Z", + "status": "confirmed", + "summary": "string", + "timezone": "string", + "calendarId": "string", + "parentEventId": "string", + "extId": "string", + "extMetadata": {}, + "calendar": {}, + "parentEvent": {}, + "attendees": [ + { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "identifier": "string", + "isOptional": true, + "isOrganizer": true, + "messages": "string", + "responseStatus": "needsAction", + "eventId": "string", + "extId": "string", + "extMetadata": {}, + "event": {} + } + ], + "attachments": [ + { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "fileUrl": "string", + "iconLink": "string", + "mimeType": "string", + "title": "string", + "eventId": "string", + "extId": "string", + "extMetadata": {}, + "event": {} + } + ] + } + ], + "workingHours": [ + { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "dayOfWeek": 0, + "end": "string", + "start": "string", + "calendarId": "string", + "extId": "string", + "extMetadata": {}, + "calendar": {} + } + ], + "subscriptions": [] + } + } + ] +} +``` + +

Responses

+ +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|Calendar model instance|[CalendarWithRelations](#schemacalendarwithrelations)| + + + +## CalendarController.deleteById + + + +> Code samples + +```'javascript--nodejs +const fetch = require('node-fetch'); + +fetch('http://localhost:3000/calendars/{id}', +{ + method: 'DELETE' + +}) +.then(function(res) { + return res.json(); +}).then(function(body) { + console.log(body); +}); + +``` + +`DELETE /calendars/{id}` + +

Parameters

+ +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|id|path|string|true|none| + +

Responses

+ +|Status|Meaning|Description|Schema| +|---|---|---|---| +|204|[No Content](https://tools.ietf.org/html/rfc7231#section-6.3.5)|Calendar DELETE success|None| + + + +## CalendarController.create + + + +> Code samples + +```'javascript--nodejs +const fetch = require('node-fetch'); +const inputBody = { + "source": "string", + "enableWorkingHours": true, + "location": "string", + "identifier": "string", + "summary": "string", + "timezone": "string", + "extId": "string", + "extMetadata": {}, + "workingHours": [ + { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "dayOfWeek": 0, + "end": "string", + "start": "string", + "calendarId": "string", + "extId": "string", + "extMetadata": {} + } + ], + "subscription": {} +}; +const headers = { + 'Content-Type':'application/json', + 'Accept':'application/json' +}; + +fetch('http://localhost:3000/calendars', +{ + method: 'POST', + body: JSON.stringify(inputBody), + headers: headers +}) +.then(function(res) { + return res.json(); +}).then(function(body) { + console.log(body); +}); + +``` + +`POST /calendars` + +> Body parameter + +```json +{ + "source": "string", + "enableWorkingHours": true, + "location": "string", + "identifier": "string", + "summary": "string", + "timezone": "string", + "extId": "string", + "extMetadata": {}, + "workingHours": [ + { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "dayOfWeek": 0, + "end": "string", + "start": "string", + "calendarId": "string", + "extId": "string", + "extMetadata": {} + } + ], + "subscription": {} +} +``` + +

Parameters

+ +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|body|body|[NewCalendar](#schemanewcalendar)|false|none| + +> Example responses + +> 200 Response + +```json +{ + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "source": "string", + "enableWorkingHours": true, + "location": "string", + "identifier": "string", + "summary": "string", + "timezone": "string", + "extId": "string", + "extMetadata": {} +} +``` + +

Responses

+ +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|Calendar model instance|[Calendar](#schemacalendar)| + + + +## CalendarController.updateAll + + + +> Code samples + +```'javascript--nodejs +const fetch = require('node-fetch'); +const inputBody = { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "source": "string", + "enableWorkingHours": true, + "location": "string", + "identifier": "string", + "summary": "string", + "timezone": "string", + "extId": "string", + "extMetadata": {} +}; +const headers = { + 'Content-Type':'application/json', + 'Accept':'application/json' +}; + +fetch('http://localhost:3000/calendars', +{ + method: 'PATCH', + body: JSON.stringify(inputBody), + headers: headers +}) +.then(function(res) { + return res.json(); +}).then(function(body) { + console.log(body); +}); + +``` + +`PATCH /calendars` + +> Body parameter + +```json +{ + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "source": "string", + "enableWorkingHours": true, + "location": "string", + "identifier": "string", + "summary": "string", + "timezone": "string", + "extId": "string", + "extMetadata": {} +} +``` + +

Parameters

+ +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|where|query|object|false|none| +|body|body|[CalendarPartial](#schemacalendarpartial)|false|none| + +> Example responses + +> 200 Response + +```json +{ + "count": 0 +} +``` + +

Responses

+ +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|Calendar PATCH success count|[loopback.Count](#schemaloopback.count)| + + + +## CalendarController.find + + + +> Code samples + +```'javascript--nodejs +const fetch = require('node-fetch'); + +const headers = { + 'Accept':'application/json' +}; + +fetch('http://localhost:3000/calendars', +{ + method: 'GET', + + headers: headers +}) +.then(function(res) { + return res.json(); +}).then(function(body) { + console.log(body); +}); + +``` + +`GET /calendars` + +

Parameters

+ +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|filter|query|[calendars.Filter1](#schemacalendars.filter1)|false|none| + +> Example responses + +> 200 Response + +```json +[ + { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "source": "string", + "enableWorkingHours": true, + "location": "string", + "identifier": "string", + "summary": "string", + "timezone": "string", + "extId": "string", + "extMetadata": {}, + "events": [ + { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "bgColor": "string", + "description": "string", + "endDateTime": "2019-08-24T14:15:22Z", + "fgColor": "string", + "iCalUid": "string", + "isFullDayEvent": true, + "isLocked": true, + "link": "string", + "location": "string", + "meetingLink": "string", + "identifier": "string", + "startDateTime": "2019-08-24T14:15:22Z", + "status": "confirmed", + "summary": "string", + "timezone": "string", + "calendarId": "string", + "parentEventId": "string", + "extId": "string", + "extMetadata": {}, + "calendar": {}, + "parentEvent": {}, + "attendees": [ + { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "identifier": "string", + "isOptional": true, + "isOrganizer": true, + "messages": "string", + "responseStatus": "needsAction", + "eventId": "string", + "extId": "string", + "extMetadata": {}, + "event": {} + } + ], + "attachments": [ + { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "fileUrl": "string", + "iconLink": "string", + "mimeType": "string", + "title": "string", + "eventId": "string", + "extId": "string", + "extMetadata": {}, + "event": {} + } + ] + } + ], + "workingHours": [ + { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "dayOfWeek": 0, + "end": "string", + "start": "string", + "calendarId": "string", + "extId": "string", + "extMetadata": {}, + "calendar": {} + } + ], + "subscriptions": [ + { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "accessRole": "freeBusyReader", + "bgColor": "string", + "fgColor": "string", + "isHidden": true, + "isPrimary": true, + "identifier": "string", + "defaultReminders": {}, + "notificationSettings": {}, + "calendarId": "string", + "extId": "string", + "extMetadata": {}, + "calendar": {} + } + ] + } +] +``` + +

Responses

+ +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|Array of Calendar model instances|Inline| + +

Response Schema

+ +Status Code **200** + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|*anonymous*|[[CalendarWithRelations](#schemacalendarwithrelations)]|false|none|[(tsType: CalendarWithRelations, schemaOptions: { includeRelations: true })]| +|» CalendarWithRelations|[CalendarWithRelations](#schemacalendarwithrelations)|false|none|(tsType: CalendarWithRelations, schemaOptions: { includeRelations: true })| +|»» deleted|boolean|false|none|none| +|»» deletedOn|string(date-time)¦null|false|none|none| +|»» deletedBy|string¦null|false|none|none| +|»» createdOn|string(date-time)|false|none|none| +|»» modifiedOn|string(date-time)|false|none|none| +|»» createdBy|string|false|none|none| +|»» modifiedBy|string|false|none|none| +|»» id|string|false|none|none| +|»» source|string|false|none|none| +|»» enableWorkingHours|boolean|false|none|none| +|»» location|string|false|none|none| +|»» identifier|string|true|none|none| +|»» summary|string|false|none|none| +|»» timezone|string|false|none|none| +|»» extId|string|false|none|none| +|»» extMetadata|object|false|none|none| +|»» events|[[EventWithRelations](#schemaeventwithrelations)]|false|none|(tsType: EventWithRelations, schemaOptions: { includeRelations: true })| +|»»» EventWithRelations|[EventWithRelations](#schemaeventwithrelations)|false|none|(tsType: EventWithRelations, schemaOptions: { includeRelations: true })| +|»»»» deleted|boolean|false|none|none| +|»»»» deletedOn|string(date-time)¦null|false|none|none| +|»»»» deletedBy|string¦null|false|none|none| +|»»»» createdOn|string(date-time)|false|none|none| +|»»»» modifiedOn|string(date-time)|false|none|none| +|»»»» createdBy|string|false|none|none| +|»»»» modifiedBy|string|false|none|none| +|»»»» id|string|false|none|none| +|»»»» bgColor|string|false|none|none| +|»»»» description|string|false|none|none| +|»»»» endDateTime|string(date-time)|false|none|none| +|»»»» fgColor|string|false|none|none| +|»»»» iCalUid|string|false|none|none| +|»»»» isFullDayEvent|boolean|false|none|none| +|»»»» isLocked|boolean|false|none|none| +|»»»» link|string|false|none|none| +|»»»» location|string|false|none|none| +|»»»» meetingLink|string|false|none|none| +|»»»» identifier|string|false|none|none| +|»»»» startDateTime|string(date-time)|false|none|none| +|»»»» status|string|false|none|none| +|»»»» summary|string|false|none|none| +|»»»» timezone|string|false|none|none| +|»»»» calendarId|string|true|none|none| +|»»»» parentEventId|string|false|none|none| +|»»»» extId|string|false|none|none| +|»»»» extMetadata|object|false|none|none| +|»»»» calendar|[CalendarWithRelations](#schemacalendarwithrelations)|false|none|(tsType: CalendarWithRelations, schemaOptions: { includeRelations: true })| +|»»»» parentEvent|[EventWithRelations](#schemaeventwithrelations)|false|none|(tsType: EventWithRelations, schemaOptions: { includeRelations: true })| +|»»»» attendees|[[AttendeeWithRelations](#schemaattendeewithrelations)]|false|none|(tsType: AttendeeWithRelations, schemaOptions: { includeRelations: true })| +|»»»»» AttendeeWithRelations|[AttendeeWithRelations](#schemaattendeewithrelations)|false|none|(tsType: AttendeeWithRelations, schemaOptions: { includeRelations: true })| +|»»»»»» deleted|boolean|false|none|none| +|»»»»»» deletedOn|string(date-time)¦null|false|none|none| +|»»»»»» deletedBy|string¦null|false|none|none| +|»»»»»» createdOn|string(date-time)|false|none|none| +|»»»»»» modifiedOn|string(date-time)|false|none|none| +|»»»»»» createdBy|string|false|none|none| +|»»»»»» modifiedBy|string|false|none|none| +|»»»»»» id|string|false|none|none| +|»»»»»» identifier|string|true|none|none| +|»»»»»» isOptional|boolean|false|none|none| +|»»»»»» isOrganizer|boolean|false|none|none| +|»»»»»» messages|string|false|none|none| +|»»»»»» responseStatus|string|false|none|none| +|»»»»»» eventId|string|true|none|none| +|»»»»»» extId|string|false|none|none| +|»»»»»» extMetadata|object|false|none|none| +|»»»»»» event|[EventWithRelations](#schemaeventwithrelations)|false|none|(tsType: EventWithRelations, schemaOptions: { includeRelations: true })| +|»»»» attachments|[[AttachmentWithRelations](#schemaattachmentwithrelations)]|false|none|(tsType: AttachmentWithRelations, schemaOptions: { includeRelations: true })| +|»»»»» AttachmentWithRelations|[AttachmentWithRelations](#schemaattachmentwithrelations)|false|none|(tsType: AttachmentWithRelations, schemaOptions: { includeRelations: true })| +|»»»»»» deleted|boolean|false|none|none| +|»»»»»» deletedOn|string(date-time)¦null|false|none|none| +|»»»»»» deletedBy|string¦null|false|none|none| +|»»»»»» createdOn|string(date-time)|false|none|none| +|»»»»»» modifiedOn|string(date-time)|false|none|none| +|»»»»»» createdBy|string|false|none|none| +|»»»»»» modifiedBy|string|false|none|none| +|»»»»»» id|string|false|none|none| +|»»»»»» fileUrl|string|true|none|none| +|»»»»»» iconLink|string|false|none|none| +|»»»»»» mimeType|string|false|none|none| +|»»»»»» title|string|false|none|none| +|»»»»»» eventId|string|true|none|none| +|»»»»»» extId|string|false|none|none| +|»»»»»» extMetadata|object|false|none|none| +|»»»»»» event|[EventWithRelations](#schemaeventwithrelations)|false|none|(tsType: EventWithRelations, schemaOptions: { includeRelations: true })| +|»» workingHours|[[WorkingHourWithRelations](#schemaworkinghourwithrelations)]|false|none|(tsType: WorkingHourWithRelations, schemaOptions: { includeRelations: true })| +|»»» WorkingHourWithRelations|[WorkingHourWithRelations](#schemaworkinghourwithrelations)|false|none|(tsType: WorkingHourWithRelations, schemaOptions: { includeRelations: true })| +|»»»» deleted|boolean|false|none|none| +|»»»» deletedOn|string(date-time)¦null|false|none|none| +|»»»» deletedBy|string¦null|false|none|none| +|»»»» createdOn|string(date-time)|false|none|none| +|»»»» modifiedOn|string(date-time)|false|none|none| +|»»»» createdBy|string|false|none|none| +|»»»» modifiedBy|string|false|none|none| +|»»»» id|string|false|none|none| +|»»»» dayOfWeek|number|false|none|none| +|»»»» end|string|false|none|none| +|»»»» start|string|false|none|none| +|»»»» calendarId|string|true|none|none| +|»»»» extId|string|false|none|none| +|»»»» extMetadata|object|false|none|none| +|»»»» calendar|[CalendarWithRelations](#schemacalendarwithrelations)|false|none|(tsType: CalendarWithRelations, schemaOptions: { includeRelations: true })| +|»» subscriptions|[[SubscriptionWithRelations](#schemasubscriptionwithrelations)]|false|none|(tsType: SubscriptionWithRelations, schemaOptions: { includeRelations: true })| +|»»» SubscriptionWithRelations|[SubscriptionWithRelations](#schemasubscriptionwithrelations)|false|none|(tsType: SubscriptionWithRelations, schemaOptions: { includeRelations: true })| +|»»»» deleted|boolean|false|none|none| +|»»»» deletedOn|string(date-time)¦null|false|none|none| +|»»»» deletedBy|string¦null|false|none|none| +|»»»» createdOn|string(date-time)|false|none|none| +|»»»» modifiedOn|string(date-time)|false|none|none| +|»»»» createdBy|string|false|none|none| +|»»»» modifiedBy|string|false|none|none| +|»»»» id|string|false|none|none| +|»»»» accessRole|string|false|none|none| +|»»»» bgColor|string|false|none|none| +|»»»» fgColor|string|false|none|none| +|»»»» isHidden|boolean|false|none|none| +|»»»» isPrimary|boolean|false|none|none| +|»»»» identifier|string|true|none|none| +|»»»» defaultReminders|object|false|none|none| +|»»»» notificationSettings|object|false|none|none| +|»»»» calendarId|string|true|none|none| +|»»»» extId|string|false|none|none| +|»»»» extMetadata|object|false|none|none| +|»»»» calendar|[CalendarWithRelations](#schemacalendarwithrelations)|false|none|(tsType: CalendarWithRelations, schemaOptions: { includeRelations: true })| + +#### Enumerated Values + +|Property|Value| +|---|---| +|status|confirmed| +|status|tentative| +|status|cancelled| +|status|completed| +|responseStatus|needsAction| +|responseStatus|tentative| +|responseStatus|accepted| +|responseStatus|declined| +|dayOfWeek|0| +|dayOfWeek|1| +|dayOfWeek|2| +|dayOfWeek|3| +|dayOfWeek|4| +|dayOfWeek|5| +|dayOfWeek|6| +|accessRole|freeBusyReader| +|accessRole|reader| +|accessRole|writer| +|accessRole|owner| + + + +

SubscriptionController

+ +## SubscriptionController.findMe + + + +> Code samples + +```'javascript--nodejs +const fetch = require('node-fetch'); + +const headers = { + 'Accept':'application/json' +}; + +fetch('http://localhost:3000/calendars/subscriptions/me', +{ + method: 'GET', + + headers: headers +}) +.then(function(res) { + return res.json(); +}).then(function(body) { + console.log(body); +}); + +``` + +`GET /calendars/subscriptions/me` + +

Parameters

+ +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|filter|query|[subscriptions.Filter](#schemasubscriptions.filter)|false|none| + +> Example responses + +> 200 Response + +```json +[ + { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "accessRole": "freeBusyReader", + "bgColor": "string", + "fgColor": "string", + "isHidden": true, + "isPrimary": true, + "identifier": "string", + "defaultReminders": {}, + "notificationSettings": {}, + "calendarId": "string", + "extId": "string", + "extMetadata": {}, + "calendar": { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "source": "string", + "enableWorkingHours": true, + "location": "string", + "identifier": "string", + "summary": "string", + "timezone": "string", + "extId": "string", + "extMetadata": {}, + "events": [ + { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "bgColor": "string", + "description": "string", + "endDateTime": "2019-08-24T14:15:22Z", + "fgColor": "string", + "iCalUid": "string", + "isFullDayEvent": true, + "isLocked": true, + "link": "string", + "location": "string", + "meetingLink": "string", + "identifier": "string", + "startDateTime": "2019-08-24T14:15:22Z", + "status": "confirmed", + "summary": "string", + "timezone": "string", + "calendarId": "string", + "parentEventId": "string", + "extId": "string", + "extMetadata": {}, + "calendar": {}, + "parentEvent": {}, + "attendees": [ + { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "identifier": "string", + "isOptional": true, + "isOrganizer": true, + "messages": "string", + "responseStatus": "needsAction", + "eventId": "string", + "extId": "string", + "extMetadata": {}, + "event": {} + } + ], + "attachments": [ + { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "fileUrl": "string", + "iconLink": "string", + "mimeType": "string", + "title": "string", + "eventId": "string", + "extId": "string", + "extMetadata": {}, + "event": {} + } + ] + } + ], + "workingHours": [ + { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "dayOfWeek": 0, + "end": "string", + "start": "string", + "calendarId": "string", + "extId": "string", + "extMetadata": {}, + "calendar": {} + } + ], + "subscriptions": [ + {} + ] + } + } +] +``` + +

Responses

+ +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|Array of Subscription model instances|Inline| + +

Response Schema

+ +Status Code **200** + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|*anonymous*|[[SubscriptionWithRelations](#schemasubscriptionwithrelations)]|false|none|[(tsType: SubscriptionWithRelations, schemaOptions: { includeRelations: true })]| +|» SubscriptionWithRelations|[SubscriptionWithRelations](#schemasubscriptionwithrelations)|false|none|(tsType: SubscriptionWithRelations, schemaOptions: { includeRelations: true })| +|»» deleted|boolean|false|none|none| +|»» deletedOn|string(date-time)¦null|false|none|none| +|»» deletedBy|string¦null|false|none|none| +|»» createdOn|string(date-time)|false|none|none| +|»» modifiedOn|string(date-time)|false|none|none| +|»» createdBy|string|false|none|none| +|»» modifiedBy|string|false|none|none| +|»» id|string|false|none|none| +|»» accessRole|string|false|none|none| +|»» bgColor|string|false|none|none| +|»» fgColor|string|false|none|none| +|»» isHidden|boolean|false|none|none| +|»» isPrimary|boolean|false|none|none| +|»» identifier|string|true|none|none| +|»» defaultReminders|object|false|none|none| +|»» notificationSettings|object|false|none|none| +|»» calendarId|string|true|none|none| +|»» extId|string|false|none|none| +|»» extMetadata|object|false|none|none| +|»» calendar|[CalendarWithRelations](#schemacalendarwithrelations)|false|none|(tsType: CalendarWithRelations, schemaOptions: { includeRelations: true })| +|»»» deleted|boolean|false|none|none| +|»»» deletedOn|string(date-time)¦null|false|none|none| +|»»» deletedBy|string¦null|false|none|none| +|»»» createdOn|string(date-time)|false|none|none| +|»»» modifiedOn|string(date-time)|false|none|none| +|»»» createdBy|string|false|none|none| +|»»» modifiedBy|string|false|none|none| +|»»» id|string|false|none|none| +|»»» source|string|false|none|none| +|»»» enableWorkingHours|boolean|false|none|none| +|»»» location|string|false|none|none| +|»»» identifier|string|true|none|none| +|»»» summary|string|false|none|none| +|»»» timezone|string|false|none|none| +|»»» extId|string|false|none|none| +|»»» extMetadata|object|false|none|none| +|»»» events|[[EventWithRelations](#schemaeventwithrelations)]|false|none|(tsType: EventWithRelations, schemaOptions: { includeRelations: true })| +|»»»» EventWithRelations|[EventWithRelations](#schemaeventwithrelations)|false|none|(tsType: EventWithRelations, schemaOptions: { includeRelations: true })| +|»»»»» deleted|boolean|false|none|none| +|»»»»» deletedOn|string(date-time)¦null|false|none|none| +|»»»»» deletedBy|string¦null|false|none|none| +|»»»»» createdOn|string(date-time)|false|none|none| +|»»»»» modifiedOn|string(date-time)|false|none|none| +|»»»»» createdBy|string|false|none|none| +|»»»»» modifiedBy|string|false|none|none| +|»»»»» id|string|false|none|none| +|»»»»» bgColor|string|false|none|none| +|»»»»» description|string|false|none|none| +|»»»»» endDateTime|string(date-time)|false|none|none| +|»»»»» fgColor|string|false|none|none| +|»»»»» iCalUid|string|false|none|none| +|»»»»» isFullDayEvent|boolean|false|none|none| +|»»»»» isLocked|boolean|false|none|none| +|»»»»» link|string|false|none|none| +|»»»»» location|string|false|none|none| +|»»»»» meetingLink|string|false|none|none| +|»»»»» identifier|string|false|none|none| +|»»»»» startDateTime|string(date-time)|false|none|none| +|»»»»» status|string|false|none|none| +|»»»»» summary|string|false|none|none| +|»»»»» timezone|string|false|none|none| +|»»»»» calendarId|string|true|none|none| +|»»»»» parentEventId|string|false|none|none| +|»»»»» extId|string|false|none|none| +|»»»»» extMetadata|object|false|none|none| +|»»»»» calendar|[CalendarWithRelations](#schemacalendarwithrelations)|false|none|(tsType: CalendarWithRelations, schemaOptions: { includeRelations: true })| +|»»»»» parentEvent|[EventWithRelations](#schemaeventwithrelations)|false|none|(tsType: EventWithRelations, schemaOptions: { includeRelations: true })| +|»»»»» attendees|[[AttendeeWithRelations](#schemaattendeewithrelations)]|false|none|(tsType: AttendeeWithRelations, schemaOptions: { includeRelations: true })| +|»»»»»» AttendeeWithRelations|[AttendeeWithRelations](#schemaattendeewithrelations)|false|none|(tsType: AttendeeWithRelations, schemaOptions: { includeRelations: true })| +|»»»»»»» deleted|boolean|false|none|none| +|»»»»»»» deletedOn|string(date-time)¦null|false|none|none| +|»»»»»»» deletedBy|string¦null|false|none|none| +|»»»»»»» createdOn|string(date-time)|false|none|none| +|»»»»»»» modifiedOn|string(date-time)|false|none|none| +|»»»»»»» createdBy|string|false|none|none| +|»»»»»»» modifiedBy|string|false|none|none| +|»»»»»»» id|string|false|none|none| +|»»»»»»» identifier|string|true|none|none| +|»»»»»»» isOptional|boolean|false|none|none| +|»»»»»»» isOrganizer|boolean|false|none|none| +|»»»»»»» messages|string|false|none|none| +|»»»»»»» responseStatus|string|false|none|none| +|»»»»»»» eventId|string|true|none|none| +|»»»»»»» extId|string|false|none|none| +|»»»»»»» extMetadata|object|false|none|none| +|»»»»»»» event|[EventWithRelations](#schemaeventwithrelations)|false|none|(tsType: EventWithRelations, schemaOptions: { includeRelations: true })| +|»»»»» attachments|[[AttachmentWithRelations](#schemaattachmentwithrelations)]|false|none|(tsType: AttachmentWithRelations, schemaOptions: { includeRelations: true })| +|»»»»»» AttachmentWithRelations|[AttachmentWithRelations](#schemaattachmentwithrelations)|false|none|(tsType: AttachmentWithRelations, schemaOptions: { includeRelations: true })| +|»»»»»»» deleted|boolean|false|none|none| +|»»»»»»» deletedOn|string(date-time)¦null|false|none|none| +|»»»»»»» deletedBy|string¦null|false|none|none| +|»»»»»»» createdOn|string(date-time)|false|none|none| +|»»»»»»» modifiedOn|string(date-time)|false|none|none| +|»»»»»»» createdBy|string|false|none|none| +|»»»»»»» modifiedBy|string|false|none|none| +|»»»»»»» id|string|false|none|none| +|»»»»»»» fileUrl|string|true|none|none| +|»»»»»»» iconLink|string|false|none|none| +|»»»»»»» mimeType|string|false|none|none| +|»»»»»»» title|string|false|none|none| +|»»»»»»» eventId|string|true|none|none| +|»»»»»»» extId|string|false|none|none| +|»»»»»»» extMetadata|object|false|none|none| +|»»»»»»» event|[EventWithRelations](#schemaeventwithrelations)|false|none|(tsType: EventWithRelations, schemaOptions: { includeRelations: true })| +|»»» workingHours|[[WorkingHourWithRelations](#schemaworkinghourwithrelations)]|false|none|(tsType: WorkingHourWithRelations, schemaOptions: { includeRelations: true })| +|»»»» WorkingHourWithRelations|[WorkingHourWithRelations](#schemaworkinghourwithrelations)|false|none|(tsType: WorkingHourWithRelations, schemaOptions: { includeRelations: true })| +|»»»»» deleted|boolean|false|none|none| +|»»»»» deletedOn|string(date-time)¦null|false|none|none| +|»»»»» deletedBy|string¦null|false|none|none| +|»»»»» createdOn|string(date-time)|false|none|none| +|»»»»» modifiedOn|string(date-time)|false|none|none| +|»»»»» createdBy|string|false|none|none| +|»»»»» modifiedBy|string|false|none|none| +|»»»»» id|string|false|none|none| +|»»»»» dayOfWeek|number|false|none|none| +|»»»»» end|string|false|none|none| +|»»»»» start|string|false|none|none| +|»»»»» calendarId|string|true|none|none| +|»»»»» extId|string|false|none|none| +|»»»»» extMetadata|object|false|none|none| +|»»»»» calendar|[CalendarWithRelations](#schemacalendarwithrelations)|false|none|(tsType: CalendarWithRelations, schemaOptions: { includeRelations: true })| +|»»» subscriptions|[[SubscriptionWithRelations](#schemasubscriptionwithrelations)]|false|none|(tsType: SubscriptionWithRelations, schemaOptions: { includeRelations: true })| +|»»»» SubscriptionWithRelations|[SubscriptionWithRelations](#schemasubscriptionwithrelations)|false|none|(tsType: SubscriptionWithRelations, schemaOptions: { includeRelations: true })| + +#### Enumerated Values + +|Property|Value| +|---|---| +|accessRole|freeBusyReader| +|accessRole|reader| +|accessRole|writer| +|accessRole|owner| +|status|confirmed| +|status|tentative| +|status|cancelled| +|status|completed| +|responseStatus|needsAction| +|responseStatus|tentative| +|responseStatus|accepted| +|responseStatus|declined| +|dayOfWeek|0| +|dayOfWeek|1| +|dayOfWeek|2| +|dayOfWeek|3| +|dayOfWeek|4| +|dayOfWeek|5| +|dayOfWeek|6| + + + +## SubscriptionController.count + + + +> Code samples + +```'javascript--nodejs +const fetch = require('node-fetch'); + +const headers = { + 'Accept':'application/json' +}; + +fetch('http://localhost:3000/subscriptions/count', +{ + method: 'GET', + + headers: headers +}) +.then(function(res) { + return res.json(); +}).then(function(body) { + console.log(body); +}); + +``` + +`GET /subscriptions/count` + +

Parameters

+ +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|where|query|object|false|none| + +> Example responses + +> 200 Response + +```json +{ + "count": 0 +} +``` + +

Responses

+ +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|Subscription model count|[loopback.Count](#schemaloopback.count)| + + + +## SubscriptionController.replaceById + + + +> Code samples + +```'javascript--nodejs +const fetch = require('node-fetch'); +const inputBody = { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "accessRole": "freeBusyReader", + "bgColor": "string", + "fgColor": "string", + "isHidden": true, + "isPrimary": true, + "identifier": "string", + "defaultReminders": {}, + "notificationSettings": {}, + "calendarId": "string", + "extId": "string", + "extMetadata": {} +}; +const headers = { + 'Content-Type':'application/json' +}; + +fetch('http://localhost:3000/subscriptions/{id}', +{ + method: 'PUT', + body: JSON.stringify(inputBody), + headers: headers +}) +.then(function(res) { + return res.json(); +}).then(function(body) { + console.log(body); +}); + +``` + +`PUT /subscriptions/{id}` + +> Body parameter + +```json +{ + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "accessRole": "freeBusyReader", + "bgColor": "string", + "fgColor": "string", + "isHidden": true, + "isPrimary": true, + "identifier": "string", + "defaultReminders": {}, + "notificationSettings": {}, + "calendarId": "string", + "extId": "string", + "extMetadata": {} +} +``` + +

Parameters

+ +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|id|path|string|true|none| +|body|body|[Subscription](#schemasubscription)|false|none| + +

Responses

+ +|Status|Meaning|Description|Schema| +|---|---|---|---| +|204|[No Content](https://tools.ietf.org/html/rfc7231#section-6.3.5)|Subscription PUT success|None| + + + +## SubscriptionController.updateById + + + +> Code samples + +```'javascript--nodejs +const fetch = require('node-fetch'); +const inputBody = { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "accessRole": "freeBusyReader", + "bgColor": "string", + "fgColor": "string", + "isHidden": true, + "isPrimary": true, + "identifier": "string", + "defaultReminders": {}, + "notificationSettings": {}, + "calendarId": "string", + "extId": "string", + "extMetadata": {} +}; +const headers = { + 'Content-Type':'application/json' +}; + +fetch('http://localhost:3000/subscriptions/{id}', +{ + method: 'PATCH', + body: JSON.stringify(inputBody), + headers: headers +}) +.then(function(res) { + return res.json(); +}).then(function(body) { + console.log(body); +}); + +``` + +`PATCH /subscriptions/{id}` + +> Body parameter + +```json +{ + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "accessRole": "freeBusyReader", + "bgColor": "string", + "fgColor": "string", + "isHidden": true, + "isPrimary": true, + "identifier": "string", + "defaultReminders": {}, + "notificationSettings": {}, + "calendarId": "string", + "extId": "string", + "extMetadata": {} +} +``` + +

Parameters

+ +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|id|path|string|true|none| +|body|body|[SubscriptionPartial](#schemasubscriptionpartial)|false|none| + +

Responses

+ +|Status|Meaning|Description|Schema| +|---|---|---|---| +|204|[No Content](https://tools.ietf.org/html/rfc7231#section-6.3.5)|Subscription PATCH success|None| + + + +## SubscriptionController.findById + + + +> Code samples + +```'javascript--nodejs +const fetch = require('node-fetch'); + +const headers = { + 'Accept':'application/json' +}; + +fetch('http://localhost:3000/subscriptions/{id}', +{ + method: 'GET', + + headers: headers +}) +.then(function(res) { + return res.json(); +}).then(function(body) { + console.log(body); +}); + +``` + +`GET /subscriptions/{id}` + +

Parameters

+ +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|id|path|string|true|none| +|filter|query|[subscriptions.Filter1](#schemasubscriptions.filter1)|false|none| + +> Example responses + +> 200 Response + +```json +{ + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "accessRole": "freeBusyReader", + "bgColor": "string", + "fgColor": "string", + "isHidden": true, + "isPrimary": true, + "identifier": "string", + "defaultReminders": {}, + "notificationSettings": {}, + "calendarId": "string", + "extId": "string", + "extMetadata": {}, + "calendar": { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "source": "string", + "enableWorkingHours": true, + "location": "string", + "identifier": "string", + "summary": "string", + "timezone": "string", + "extId": "string", + "extMetadata": {}, + "events": [ + { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "bgColor": "string", + "description": "string", + "endDateTime": "2019-08-24T14:15:22Z", + "fgColor": "string", + "iCalUid": "string", + "isFullDayEvent": true, + "isLocked": true, + "link": "string", + "location": "string", + "meetingLink": "string", + "identifier": "string", + "startDateTime": "2019-08-24T14:15:22Z", + "status": "confirmed", + "summary": "string", + "timezone": "string", + "calendarId": "string", + "parentEventId": "string", + "extId": "string", + "extMetadata": {}, + "calendar": {}, + "parentEvent": {}, + "attendees": [ + { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "identifier": "string", + "isOptional": true, + "isOrganizer": true, + "messages": "string", + "responseStatus": "needsAction", + "eventId": "string", + "extId": "string", + "extMetadata": {}, + "event": {} + } + ], + "attachments": [ + { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "fileUrl": "string", + "iconLink": "string", + "mimeType": "string", + "title": "string", + "eventId": "string", + "extId": "string", + "extMetadata": {}, + "event": {} + } + ] + } + ], + "workingHours": [ + { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "dayOfWeek": 0, + "end": "string", + "start": "string", + "calendarId": "string", + "extId": "string", + "extMetadata": {}, + "calendar": {} + } + ], + "subscriptions": [ + { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "accessRole": "freeBusyReader", + "bgColor": "string", + "fgColor": "string", + "isHidden": true, + "isPrimary": true, + "identifier": "string", + "defaultReminders": {}, + "notificationSettings": {}, + "calendarId": "string", + "extId": "string", + "extMetadata": {}, + "calendar": {} + } + ] + } +} +``` + +

Responses

+ +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|Subscription model instance|[SubscriptionWithRelations](#schemasubscriptionwithrelations)| + + + +## SubscriptionController.deleteById + + + +> Code samples + +```'javascript--nodejs +const fetch = require('node-fetch'); + +fetch('http://localhost:3000/subscriptions/{id}', +{ + method: 'DELETE' + +}) +.then(function(res) { + return res.json(); +}).then(function(body) { + console.log(body); +}); + +``` + +`DELETE /subscriptions/{id}` + +

Parameters

+ +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|id|path|string|true|none| + +

Responses

+ +|Status|Meaning|Description|Schema| +|---|---|---|---| +|204|[No Content](https://tools.ietf.org/html/rfc7231#section-6.3.5)|Subscription DELETE success|None| + + + +## SubscriptionController.create + + + +> Code samples + +```'javascript--nodejs +const fetch = require('node-fetch'); +const inputBody = { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "accessRole": "freeBusyReader", + "bgColor": "string", + "fgColor": "string", + "isHidden": true, + "isPrimary": true, + "identifier": "string", + "defaultReminders": {}, + "notificationSettings": {}, + "calendarId": "string", + "extId": "string", + "extMetadata": {} +}; +const headers = { + 'Content-Type':'application/json', + 'Accept':'application/json' +}; + +fetch('http://localhost:3000/subscriptions', +{ + method: 'POST', + body: JSON.stringify(inputBody), + headers: headers +}) +.then(function(res) { + return res.json(); +}).then(function(body) { + console.log(body); +}); + +``` + +`POST /subscriptions` + +> Body parameter + +```json +{ + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "accessRole": "freeBusyReader", + "bgColor": "string", + "fgColor": "string", + "isHidden": true, + "isPrimary": true, + "identifier": "string", + "defaultReminders": {}, + "notificationSettings": {}, + "calendarId": "string", + "extId": "string", + "extMetadata": {} +} +``` + +

Parameters

+ +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|body|body|[NewSubscription](#schemanewsubscription)|false|none| + +> Example responses + +> 200 Response + +```json +{ + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "accessRole": "freeBusyReader", + "bgColor": "string", + "fgColor": "string", + "isHidden": true, + "isPrimary": true, + "identifier": "string", + "defaultReminders": {}, + "notificationSettings": {}, + "calendarId": "string", + "extId": "string", + "extMetadata": {} +} +``` + +

Responses

+ +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|Subscription model instance|[Subscription](#schemasubscription)| + + + +## SubscriptionController.updateAll + + + +> Code samples + +```'javascript--nodejs +const fetch = require('node-fetch'); +const inputBody = { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "accessRole": "freeBusyReader", + "bgColor": "string", + "fgColor": "string", + "isHidden": true, + "isPrimary": true, + "identifier": "string", + "defaultReminders": {}, + "notificationSettings": {}, + "calendarId": "string", + "extId": "string", + "extMetadata": {} +}; +const headers = { + 'Content-Type':'application/json', + 'Accept':'application/json' +}; + +fetch('http://localhost:3000/subscriptions', +{ + method: 'PATCH', + body: JSON.stringify(inputBody), + headers: headers +}) +.then(function(res) { + return res.json(); +}).then(function(body) { + console.log(body); +}); + +``` + +`PATCH /subscriptions` + +> Body parameter + +```json +{ + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "accessRole": "freeBusyReader", + "bgColor": "string", + "fgColor": "string", + "isHidden": true, + "isPrimary": true, + "identifier": "string", + "defaultReminders": {}, + "notificationSettings": {}, + "calendarId": "string", + "extId": "string", + "extMetadata": {} +} +``` + +

Parameters

+ +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|where|query|object|false|none| +|body|body|[SubscriptionPartial](#schemasubscriptionpartial)|false|none| + +> Example responses + +> 200 Response + +```json +{ + "count": 0 +} +``` + +

Responses

+ +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|Subscription PATCH success count|[loopback.Count](#schemaloopback.count)| + + + +## SubscriptionController.find + + + +> Code samples + +```'javascript--nodejs +const fetch = require('node-fetch'); + +const headers = { + 'Accept':'application/json' +}; + +fetch('http://localhost:3000/subscriptions', +{ + method: 'GET', + + headers: headers +}) +.then(function(res) { + return res.json(); +}).then(function(body) { + console.log(body); +}); + +``` + +`GET /subscriptions` + +

Parameters

+ +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|filter|query|[subscriptions.Filter](#schemasubscriptions.filter)|false|none| + +> Example responses + +> 200 Response + +```json +[ + { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "accessRole": "freeBusyReader", + "bgColor": "string", + "fgColor": "string", + "isHidden": true, + "isPrimary": true, + "identifier": "string", + "defaultReminders": {}, + "notificationSettings": {}, + "calendarId": "string", + "extId": "string", + "extMetadata": {}, + "calendar": { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "source": "string", + "enableWorkingHours": true, + "location": "string", + "identifier": "string", + "summary": "string", + "timezone": "string", + "extId": "string", + "extMetadata": {}, + "events": [ + { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "bgColor": "string", + "description": "string", + "endDateTime": "2019-08-24T14:15:22Z", + "fgColor": "string", + "iCalUid": "string", + "isFullDayEvent": true, + "isLocked": true, + "link": "string", + "location": "string", + "meetingLink": "string", + "identifier": "string", + "startDateTime": "2019-08-24T14:15:22Z", + "status": "confirmed", + "summary": "string", + "timezone": "string", + "calendarId": "string", + "parentEventId": "string", + "extId": "string", + "extMetadata": {}, + "calendar": {}, + "parentEvent": {}, + "attendees": [ + { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "identifier": "string", + "isOptional": true, + "isOrganizer": true, + "messages": "string", + "responseStatus": "needsAction", + "eventId": "string", + "extId": "string", + "extMetadata": {}, + "event": {} + } + ], + "attachments": [ + { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "fileUrl": "string", + "iconLink": "string", + "mimeType": "string", + "title": "string", + "eventId": "string", + "extId": "string", + "extMetadata": {}, + "event": {} + } + ] + } + ], + "workingHours": [ + { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "dayOfWeek": 0, + "end": "string", + "start": "string", + "calendarId": "string", + "extId": "string", + "extMetadata": {}, + "calendar": {} + } + ], + "subscriptions": [ + {} + ] + } + } +] +``` + +

Responses

+ +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|Array of Subscription model instances|Inline| + +

Response Schema

+ +Status Code **200** + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|*anonymous*|[[SubscriptionWithRelations](#schemasubscriptionwithrelations)]|false|none|[(tsType: SubscriptionWithRelations, schemaOptions: { includeRelations: true })]| +|» SubscriptionWithRelations|[SubscriptionWithRelations](#schemasubscriptionwithrelations)|false|none|(tsType: SubscriptionWithRelations, schemaOptions: { includeRelations: true })| +|»» deleted|boolean|false|none|none| +|»» deletedOn|string(date-time)¦null|false|none|none| +|»» deletedBy|string¦null|false|none|none| +|»» createdOn|string(date-time)|false|none|none| +|»» modifiedOn|string(date-time)|false|none|none| +|»» createdBy|string|false|none|none| +|»» modifiedBy|string|false|none|none| +|»» id|string|false|none|none| +|»» accessRole|string|false|none|none| +|»» bgColor|string|false|none|none| +|»» fgColor|string|false|none|none| +|»» isHidden|boolean|false|none|none| +|»» isPrimary|boolean|false|none|none| +|»» identifier|string|true|none|none| +|»» defaultReminders|object|false|none|none| +|»» notificationSettings|object|false|none|none| +|»» calendarId|string|true|none|none| +|»» extId|string|false|none|none| +|»» extMetadata|object|false|none|none| +|»» calendar|[CalendarWithRelations](#schemacalendarwithrelations)|false|none|(tsType: CalendarWithRelations, schemaOptions: { includeRelations: true })| +|»»» deleted|boolean|false|none|none| +|»»» deletedOn|string(date-time)¦null|false|none|none| +|»»» deletedBy|string¦null|false|none|none| +|»»» createdOn|string(date-time)|false|none|none| +|»»» modifiedOn|string(date-time)|false|none|none| +|»»» createdBy|string|false|none|none| +|»»» modifiedBy|string|false|none|none| +|»»» id|string|false|none|none| +|»»» source|string|false|none|none| +|»»» enableWorkingHours|boolean|false|none|none| +|»»» location|string|false|none|none| +|»»» identifier|string|true|none|none| +|»»» summary|string|false|none|none| +|»»» timezone|string|false|none|none| +|»»» extId|string|false|none|none| +|»»» extMetadata|object|false|none|none| +|»»» events|[[EventWithRelations](#schemaeventwithrelations)]|false|none|(tsType: EventWithRelations, schemaOptions: { includeRelations: true })| +|»»»» EventWithRelations|[EventWithRelations](#schemaeventwithrelations)|false|none|(tsType: EventWithRelations, schemaOptions: { includeRelations: true })| +|»»»»» deleted|boolean|false|none|none| +|»»»»» deletedOn|string(date-time)¦null|false|none|none| +|»»»»» deletedBy|string¦null|false|none|none| +|»»»»» createdOn|string(date-time)|false|none|none| +|»»»»» modifiedOn|string(date-time)|false|none|none| +|»»»»» createdBy|string|false|none|none| +|»»»»» modifiedBy|string|false|none|none| +|»»»»» id|string|false|none|none| +|»»»»» bgColor|string|false|none|none| +|»»»»» description|string|false|none|none| +|»»»»» endDateTime|string(date-time)|false|none|none| +|»»»»» fgColor|string|false|none|none| +|»»»»» iCalUid|string|false|none|none| +|»»»»» isFullDayEvent|boolean|false|none|none| +|»»»»» isLocked|boolean|false|none|none| +|»»»»» link|string|false|none|none| +|»»»»» location|string|false|none|none| +|»»»»» meetingLink|string|false|none|none| +|»»»»» identifier|string|false|none|none| +|»»»»» startDateTime|string(date-time)|false|none|none| +|»»»»» status|string|false|none|none| +|»»»»» summary|string|false|none|none| +|»»»»» timezone|string|false|none|none| +|»»»»» calendarId|string|true|none|none| +|»»»»» parentEventId|string|false|none|none| +|»»»»» extId|string|false|none|none| +|»»»»» extMetadata|object|false|none|none| +|»»»»» calendar|[CalendarWithRelations](#schemacalendarwithrelations)|false|none|(tsType: CalendarWithRelations, schemaOptions: { includeRelations: true })| +|»»»»» parentEvent|[EventWithRelations](#schemaeventwithrelations)|false|none|(tsType: EventWithRelations, schemaOptions: { includeRelations: true })| +|»»»»» attendees|[[AttendeeWithRelations](#schemaattendeewithrelations)]|false|none|(tsType: AttendeeWithRelations, schemaOptions: { includeRelations: true })| +|»»»»»» AttendeeWithRelations|[AttendeeWithRelations](#schemaattendeewithrelations)|false|none|(tsType: AttendeeWithRelations, schemaOptions: { includeRelations: true })| +|»»»»»»» deleted|boolean|false|none|none| +|»»»»»»» deletedOn|string(date-time)¦null|false|none|none| +|»»»»»»» deletedBy|string¦null|false|none|none| +|»»»»»»» createdOn|string(date-time)|false|none|none| +|»»»»»»» modifiedOn|string(date-time)|false|none|none| +|»»»»»»» createdBy|string|false|none|none| +|»»»»»»» modifiedBy|string|false|none|none| +|»»»»»»» id|string|false|none|none| +|»»»»»»» identifier|string|true|none|none| +|»»»»»»» isOptional|boolean|false|none|none| +|»»»»»»» isOrganizer|boolean|false|none|none| +|»»»»»»» messages|string|false|none|none| +|»»»»»»» responseStatus|string|false|none|none| +|»»»»»»» eventId|string|true|none|none| +|»»»»»»» extId|string|false|none|none| +|»»»»»»» extMetadata|object|false|none|none| +|»»»»»»» event|[EventWithRelations](#schemaeventwithrelations)|false|none|(tsType: EventWithRelations, schemaOptions: { includeRelations: true })| +|»»»»» attachments|[[AttachmentWithRelations](#schemaattachmentwithrelations)]|false|none|(tsType: AttachmentWithRelations, schemaOptions: { includeRelations: true })| +|»»»»»» AttachmentWithRelations|[AttachmentWithRelations](#schemaattachmentwithrelations)|false|none|(tsType: AttachmentWithRelations, schemaOptions: { includeRelations: true })| +|»»»»»»» deleted|boolean|false|none|none| +|»»»»»»» deletedOn|string(date-time)¦null|false|none|none| +|»»»»»»» deletedBy|string¦null|false|none|none| +|»»»»»»» createdOn|string(date-time)|false|none|none| +|»»»»»»» modifiedOn|string(date-time)|false|none|none| +|»»»»»»» createdBy|string|false|none|none| +|»»»»»»» modifiedBy|string|false|none|none| +|»»»»»»» id|string|false|none|none| +|»»»»»»» fileUrl|string|true|none|none| +|»»»»»»» iconLink|string|false|none|none| +|»»»»»»» mimeType|string|false|none|none| +|»»»»»»» title|string|false|none|none| +|»»»»»»» eventId|string|true|none|none| +|»»»»»»» extId|string|false|none|none| +|»»»»»»» extMetadata|object|false|none|none| +|»»»»»»» event|[EventWithRelations](#schemaeventwithrelations)|false|none|(tsType: EventWithRelations, schemaOptions: { includeRelations: true })| +|»»» workingHours|[[WorkingHourWithRelations](#schemaworkinghourwithrelations)]|false|none|(tsType: WorkingHourWithRelations, schemaOptions: { includeRelations: true })| +|»»»» WorkingHourWithRelations|[WorkingHourWithRelations](#schemaworkinghourwithrelations)|false|none|(tsType: WorkingHourWithRelations, schemaOptions: { includeRelations: true })| +|»»»»» deleted|boolean|false|none|none| +|»»»»» deletedOn|string(date-time)¦null|false|none|none| +|»»»»» deletedBy|string¦null|false|none|none| +|»»»»» createdOn|string(date-time)|false|none|none| +|»»»»» modifiedOn|string(date-time)|false|none|none| +|»»»»» createdBy|string|false|none|none| +|»»»»» modifiedBy|string|false|none|none| +|»»»»» id|string|false|none|none| +|»»»»» dayOfWeek|number|false|none|none| +|»»»»» end|string|false|none|none| +|»»»»» start|string|false|none|none| +|»»»»» calendarId|string|true|none|none| +|»»»»» extId|string|false|none|none| +|»»»»» extMetadata|object|false|none|none| +|»»»»» calendar|[CalendarWithRelations](#schemacalendarwithrelations)|false|none|(tsType: CalendarWithRelations, schemaOptions: { includeRelations: true })| +|»»» subscriptions|[[SubscriptionWithRelations](#schemasubscriptionwithrelations)]|false|none|(tsType: SubscriptionWithRelations, schemaOptions: { includeRelations: true })| +|»»»» SubscriptionWithRelations|[SubscriptionWithRelations](#schemasubscriptionwithrelations)|false|none|(tsType: SubscriptionWithRelations, schemaOptions: { includeRelations: true })| + +#### Enumerated Values + +|Property|Value| +|---|---| +|accessRole|freeBusyReader| +|accessRole|reader| +|accessRole|writer| +|accessRole|owner| +|status|confirmed| +|status|tentative| +|status|cancelled| +|status|completed| +|responseStatus|needsAction| +|responseStatus|tentative| +|responseStatus|accepted| +|responseStatus|declined| +|dayOfWeek|0| +|dayOfWeek|1| +|dayOfWeek|2| +|dayOfWeek|3| +|dayOfWeek|4| +|dayOfWeek|5| +|dayOfWeek|6| + + + +

CalendarEventController

+ +## CalendarEventController.create + + + +> Code samples + +```'javascript--nodejs +const fetch = require('node-fetch'); +const inputBody = { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "bgColor": "string", + "description": "string", + "endDateTime": "2019-08-24T14:15:22Z", + "fgColor": "string", + "iCalUid": "string", + "isFullDayEvent": true, + "isLocked": true, + "link": "string", + "location": "string", + "meetingLink": "string", + "identifier": "string", + "startDateTime": "2019-08-24T14:15:22Z", + "status": "confirmed", + "summary": "string", + "timezone": "string", + "calendarId": "string", + "parentEventId": "string", + "extId": "string", + "extMetadata": {} +}; +const headers = { + 'Content-Type':'application/json', + 'Accept':'application/json' +}; + +fetch('http://localhost:3000/calendars/{id}/events', +{ + method: 'POST', + body: JSON.stringify(inputBody), + headers: headers +}) +.then(function(res) { + return res.json(); +}).then(function(body) { + console.log(body); +}); + +``` + +`POST /calendars/{id}/events` + +> Body parameter + +```json +{ + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "bgColor": "string", + "description": "string", + "endDateTime": "2019-08-24T14:15:22Z", + "fgColor": "string", + "iCalUid": "string", + "isFullDayEvent": true, + "isLocked": true, + "link": "string", + "location": "string", + "meetingLink": "string", + "identifier": "string", + "startDateTime": "2019-08-24T14:15:22Z", + "status": "confirmed", + "summary": "string", + "timezone": "string", + "calendarId": "string", + "parentEventId": "string", + "extId": "string", + "extMetadata": {} +} +``` + +

Parameters

+ +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|id|path|string|true|none| +|body|body|[NewEventInCalendar](#schemaneweventincalendar)|false|none| + +> Example responses + +> 200 Response + +```json +{ + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "bgColor": "string", + "description": "string", + "endDateTime": "2019-08-24T14:15:22Z", + "fgColor": "string", + "iCalUid": "string", + "isFullDayEvent": true, + "isLocked": true, + "link": "string", + "location": "string", + "meetingLink": "string", + "identifier": "string", + "startDateTime": "2019-08-24T14:15:22Z", + "status": "confirmed", + "summary": "string", + "timezone": "string", + "calendarId": "string", + "parentEventId": "string", + "extId": "string", + "extMetadata": {} +} +``` + +

Responses

+ +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|Calendar model instance|[Event](#schemaevent)| + + + +## CalendarEventController.patch + + + +> Code samples + +```'javascript--nodejs +const fetch = require('node-fetch'); +const inputBody = { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "bgColor": "string", + "description": "string", + "endDateTime": "2019-08-24T14:15:22Z", + "fgColor": "string", + "iCalUid": "string", + "isFullDayEvent": true, + "isLocked": true, + "link": "string", + "location": "string", + "meetingLink": "string", + "identifier": "string", + "startDateTime": "2019-08-24T14:15:22Z", + "status": "confirmed", + "summary": "string", + "timezone": "string", + "calendarId": "string", + "parentEventId": "string", + "extId": "string", + "extMetadata": {} +}; +const headers = { + 'Content-Type':'application/json', + 'Accept':'application/json' +}; + +fetch('http://localhost:3000/calendars/{id}/events', +{ + method: 'PATCH', + body: JSON.stringify(inputBody), + headers: headers +}) +.then(function(res) { + return res.json(); +}).then(function(body) { + console.log(body); +}); + +``` + +`PATCH /calendars/{id}/events` + +> Body parameter + +```json +{ + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "bgColor": "string", + "description": "string", + "endDateTime": "2019-08-24T14:15:22Z", + "fgColor": "string", + "iCalUid": "string", + "isFullDayEvent": true, + "isLocked": true, + "link": "string", + "location": "string", + "meetingLink": "string", + "identifier": "string", + "startDateTime": "2019-08-24T14:15:22Z", + "status": "confirmed", + "summary": "string", + "timezone": "string", + "calendarId": "string", + "parentEventId": "string", + "extId": "string", + "extMetadata": {} +} +``` + +

Parameters

+ +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|id|path|string|true|none| +|where|query|object|false|none| +|body|body|[EventPartial](#schemaeventpartial)|false|none| + +> Example responses + +> 200 Response + +```json +{ + "count": 0 +} +``` + +

Responses

+ +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|Calendar.Event PATCH success count|[loopback.Count](#schemaloopback.count)| + + + +## CalendarEventController.find + + + +> Code samples + +```'javascript--nodejs +const fetch = require('node-fetch'); + +const headers = { + 'Accept':'application/json' +}; + +fetch('http://localhost:3000/calendars/{id}/events', +{ + method: 'GET', + + headers: headers +}) +.then(function(res) { + return res.json(); +}).then(function(body) { + console.log(body); +}); + +``` + +`GET /calendars/{id}/events` + +

Parameters

+ +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|id|path|string|true|none| +|filter|query|object|false|none| +|timeMax|query|string(date-time)|false|none| +|timeMin|query|string(date-time)|false|none| + +> Example responses + +> 200 Response + +```json +[ + { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "bgColor": "string", + "description": "string", + "endDateTime": "2019-08-24T14:15:22Z", + "fgColor": "string", + "iCalUid": "string", + "isFullDayEvent": true, + "isLocked": true, + "link": "string", + "location": "string", + "meetingLink": "string", + "identifier": "string", + "startDateTime": "2019-08-24T14:15:22Z", + "status": "confirmed", + "summary": "string", + "timezone": "string", + "calendarId": "string", + "parentEventId": "string", + "extId": "string", + "extMetadata": {} + } +] +``` + +

Responses

+ +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|Array of Calendar has many Event|Inline| + +

Response Schema

+ +Status Code **200** + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|*anonymous*|[[Event](#schemaevent)]|false|none|none| +|» Event|[Event](#schemaevent)|false|none|none| +|»» deleted|boolean|false|none|none| +|»» deletedOn|string(date-time)¦null|false|none|none| +|»» deletedBy|string¦null|false|none|none| +|»» createdOn|string(date-time)|false|none|none| +|»» modifiedOn|string(date-time)|false|none|none| +|»» createdBy|string|false|none|none| +|»» modifiedBy|string|false|none|none| +|»» id|string|false|none|none| +|»» bgColor|string|false|none|none| +|»» description|string|false|none|none| +|»» endDateTime|string(date-time)|false|none|none| +|»» fgColor|string|false|none|none| +|»» iCalUid|string|false|none|none| +|»» isFullDayEvent|boolean|false|none|none| +|»» isLocked|boolean|false|none|none| +|»» link|string|false|none|none| +|»» location|string|false|none|none| +|»» meetingLink|string|false|none|none| +|»» identifier|string|false|none|none| +|»» startDateTime|string(date-time)|false|none|none| +|»» status|string|false|none|none| +|»» summary|string|false|none|none| +|»» timezone|string|false|none|none| +|»» calendarId|string|true|none|none| +|»» parentEventId|string|false|none|none| +|»» extId|string|false|none|none| +|»» extMetadata|object|false|none|none| + +#### Enumerated Values + +|Property|Value| +|---|---| +|status|confirmed| +|status|tentative| +|status|cancelled| +|status|completed| + + + +## CalendarEventController.delete + + + +> Code samples + +```'javascript--nodejs +const fetch = require('node-fetch'); + +const headers = { + 'Accept':'application/json' +}; + +fetch('http://localhost:3000/calendars/{id}/events', +{ + method: 'DELETE', + + headers: headers +}) +.then(function(res) { + return res.json(); +}).then(function(body) { + console.log(body); +}); + +``` + +`DELETE /calendars/{id}/events` + +

Parameters

+ +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|id|path|string|true|none| +|where|query|object|false|none| + +> Example responses + +> 200 Response + +```json +{ + "count": 0 +} +``` + +

Responses

+ +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|Calendar.Event DELETE success count|[loopback.Count](#schemaloopback.count)| + + + +

CalendarSubscriptionController

+ +## CalendarSubscriptionController.create + + + +> Code samples + +```'javascript--nodejs +const fetch = require('node-fetch'); +const inputBody = { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "accessRole": "freeBusyReader", + "bgColor": "string", + "fgColor": "string", + "isHidden": true, + "isPrimary": true, + "identifier": "string", + "defaultReminders": {}, + "notificationSettings": {}, + "calendarId": "string", + "extId": "string", + "extMetadata": {} +}; +const headers = { + 'Content-Type':'application/json', + 'Accept':'application/json' +}; + +fetch('http://localhost:3000/calendars/{id}/subscriptions', +{ + method: 'POST', + body: JSON.stringify(inputBody), + headers: headers +}) +.then(function(res) { + return res.json(); +}).then(function(body) { + console.log(body); +}); + +``` + +`POST /calendars/{id}/subscriptions` + +> Body parameter + +```json +{ + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "accessRole": "freeBusyReader", + "bgColor": "string", + "fgColor": "string", + "isHidden": true, + "isPrimary": true, + "identifier": "string", + "defaultReminders": {}, + "notificationSettings": {}, + "calendarId": "string", + "extId": "string", + "extMetadata": {} +} +``` + +

Parameters

+ +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|id|path|string|true|none| +|body|body|[NewSubscriptionInCalendar](#schemanewsubscriptionincalendar)|false|none| + +> Example responses + +> 200 Response + +```json +{ + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "accessRole": "freeBusyReader", + "bgColor": "string", + "fgColor": "string", + "isHidden": true, + "isPrimary": true, + "identifier": "string", + "defaultReminders": {}, + "notificationSettings": {}, + "calendarId": "string", + "extId": "string", + "extMetadata": {} +} +``` + +

Responses

+ +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|Calendar model instance|[Subscription](#schemasubscription)| + + + +## CalendarSubscriptionController.patch + + + +> Code samples + +```'javascript--nodejs +const fetch = require('node-fetch'); +const inputBody = { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "accessRole": "freeBusyReader", + "bgColor": "string", + "fgColor": "string", + "isHidden": true, + "isPrimary": true, + "identifier": "string", + "defaultReminders": {}, + "notificationSettings": {}, + "calendarId": "string", + "extId": "string", + "extMetadata": {} +}; +const headers = { + 'Content-Type':'application/json', + 'Accept':'application/json' +}; + +fetch('http://localhost:3000/calendars/{id}/subscriptions', +{ + method: 'PATCH', + body: JSON.stringify(inputBody), + headers: headers +}) +.then(function(res) { + return res.json(); +}).then(function(body) { + console.log(body); +}); + +``` + +`PATCH /calendars/{id}/subscriptions` + +> Body parameter + +```json +{ + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "accessRole": "freeBusyReader", + "bgColor": "string", + "fgColor": "string", + "isHidden": true, + "isPrimary": true, + "identifier": "string", + "defaultReminders": {}, + "notificationSettings": {}, + "calendarId": "string", + "extId": "string", + "extMetadata": {} +} +``` + +

Parameters

+ +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|id|path|string|true|none| +|where|query|object|false|none| +|body|body|[SubscriptionPartial](#schemasubscriptionpartial)|false|none| + +> Example responses + +> 200 Response + +```json +{ + "count": 0 +} +``` + +

Responses

+ +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|Calendar.Subscription PATCH success count|[loopback.Count](#schemaloopback.count)| + + + +## CalendarSubscriptionController.find + + + +> Code samples + +```'javascript--nodejs +const fetch = require('node-fetch'); + +const headers = { + 'Accept':'application/json' +}; + +fetch('http://localhost:3000/calendars/{id}/subscriptions', +{ + method: 'GET', + + headers: headers +}) +.then(function(res) { + return res.json(); +}).then(function(body) { + console.log(body); +}); + +``` + +`GET /calendars/{id}/subscriptions` + +

Parameters

+ +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|id|path|string|true|none| +|filter|query|object|false|none| + +> Example responses + +> 200 Response + +```json +[ + { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "accessRole": "freeBusyReader", + "bgColor": "string", + "fgColor": "string", + "isHidden": true, + "isPrimary": true, + "identifier": "string", + "defaultReminders": {}, + "notificationSettings": {}, + "calendarId": "string", + "extId": "string", + "extMetadata": {} + } +] +``` + +

Responses

+ +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|Array of Calendar has many Subscriptions|Inline| + +

Response Schema

+ +Status Code **200** + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|*anonymous*|[[Subscription](#schemasubscription)]|false|none|none| +|» Subscription|[Subscription](#schemasubscription)|false|none|none| +|»» deleted|boolean|false|none|none| +|»» deletedOn|string(date-time)¦null|false|none|none| +|»» deletedBy|string¦null|false|none|none| +|»» createdOn|string(date-time)|false|none|none| +|»» modifiedOn|string(date-time)|false|none|none| +|»» createdBy|string|false|none|none| +|»» modifiedBy|string|false|none|none| +|»» id|string|false|none|none| +|»» accessRole|string|false|none|none| +|»» bgColor|string|false|none|none| +|»» fgColor|string|false|none|none| +|»» isHidden|boolean|false|none|none| +|»» isPrimary|boolean|false|none|none| +|»» identifier|string|true|none|none| +|»» defaultReminders|object|false|none|none| +|»» notificationSettings|object|false|none|none| +|»» calendarId|string|true|none|none| +|»» extId|string|false|none|none| +|»» extMetadata|object|false|none|none| + +#### Enumerated Values + +|Property|Value| +|---|---| +|accessRole|freeBusyReader| +|accessRole|reader| +|accessRole|writer| +|accessRole|owner| + + + +## CalendarSubscriptionController.delete + + + +> Code samples + +```'javascript--nodejs +const fetch = require('node-fetch'); + +const headers = { + 'Accept':'application/json' +}; + +fetch('http://localhost:3000/calendars/{id}/subscriptions', +{ + method: 'DELETE', + + headers: headers +}) +.then(function(res) { + return res.json(); +}).then(function(body) { + console.log(body); +}); + +``` + +`DELETE /calendars/{id}/subscriptions` + +

Parameters

+ +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|id|path|string|true|none| +|where|query|object|false|none| + +> Example responses + +> 200 Response + +```json +{ + "count": 0 +} +``` + +

Responses

+ +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|Calendar.Subscription DELETE success count|[loopback.Count](#schemaloopback.count)| + + + +

CalendarWorkingHourController

+ +## CalendarWorkingHourController.create + + + +> Code samples + +```'javascript--nodejs +const fetch = require('node-fetch'); +const inputBody = { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "dayOfWeek": 0, + "end": "string", + "start": "string", + "calendarId": "string", + "extId": "string", + "extMetadata": {} +}; +const headers = { + 'Content-Type':'application/json', + 'Accept':'application/json' +}; + +fetch('http://localhost:3000/calendars/{id}/working-hours', +{ + method: 'POST', + body: JSON.stringify(inputBody), + headers: headers +}) +.then(function(res) { + return res.json(); +}).then(function(body) { + console.log(body); +}); + +``` + +`POST /calendars/{id}/working-hours` + +> Body parameter + +```json +{ + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "dayOfWeek": 0, + "end": "string", + "start": "string", + "calendarId": "string", + "extId": "string", + "extMetadata": {} +} +``` + +

Parameters

+ +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|id|path|string|true|none| +|body|body|[NewWorkingHourInCalendar](#schemanewworkinghourincalendar)|false|none| + +> Example responses + +> 200 Response + +```json +{ + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "dayOfWeek": 0, + "end": "string", + "start": "string", + "calendarId": "string", + "extId": "string", + "extMetadata": {} +} +``` + +

Responses

+ +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|Calendar model instance|[WorkingHour](#schemaworkinghour)| + + + +## CalendarWorkingHourController.patch + + + +> Code samples + +```'javascript--nodejs +const fetch = require('node-fetch'); +const inputBody = { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "dayOfWeek": 0, + "end": "string", + "start": "string", + "calendarId": "string", + "extId": "string", + "extMetadata": {} +}; +const headers = { + 'Content-Type':'application/json', + 'Accept':'application/json' +}; + +fetch('http://localhost:3000/calendars/{id}/working-hours', +{ + method: 'PATCH', + body: JSON.stringify(inputBody), + headers: headers +}) +.then(function(res) { + return res.json(); +}).then(function(body) { + console.log(body); +}); + +``` + +`PATCH /calendars/{id}/working-hours` + +> Body parameter + +```json +{ + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "dayOfWeek": 0, + "end": "string", + "start": "string", + "calendarId": "string", + "extId": "string", + "extMetadata": {} +} +``` + +

Parameters

+ +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|id|path|string|true|none| +|where|query|object|false|none| +|body|body|[WorkingHourPartial](#schemaworkinghourpartial)|false|none| + +> Example responses + +> 200 Response + +```json +{ + "count": 0 +} +``` + +

Responses

+ +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|Calendar.WorkingHour PATCH success count|[loopback.Count](#schemaloopback.count)| + + + +## CalendarWorkingHourController.find + + + +> Code samples + +```'javascript--nodejs +const fetch = require('node-fetch'); + +const headers = { + 'Accept':'application/json' +}; + +fetch('http://localhost:3000/calendars/{id}/working-hours', +{ + method: 'GET', + + headers: headers +}) +.then(function(res) { + return res.json(); +}).then(function(body) { + console.log(body); +}); + +``` + +`GET /calendars/{id}/working-hours` + +

Parameters

+ +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|id|path|string|true|none| +|filter|query|object|false|none| + +> Example responses + +> 200 Response + +```json +[ + { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "dayOfWeek": 0, + "end": "string", + "start": "string", + "calendarId": "string", + "extId": "string", + "extMetadata": {} + } +] +``` + +

Responses

+ +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|Array of Calendar has many WorkingHour|Inline| + +

Response Schema

+ +Status Code **200** + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|*anonymous*|[[WorkingHour](#schemaworkinghour)]|false|none|none| +|» WorkingHour|[WorkingHour](#schemaworkinghour)|false|none|none| +|»» deleted|boolean|false|none|none| +|»» deletedOn|string(date-time)¦null|false|none|none| +|»» deletedBy|string¦null|false|none|none| +|»» createdOn|string(date-time)|false|none|none| +|»» modifiedOn|string(date-time)|false|none|none| +|»» createdBy|string|false|none|none| +|»» modifiedBy|string|false|none|none| +|»» id|string|false|none|none| +|»» dayOfWeek|number|false|none|none| +|»» end|string|false|none|none| +|»» start|string|false|none|none| +|»» calendarId|string|true|none|none| +|»» extId|string|false|none|none| +|»» extMetadata|object|false|none|none| + +#### Enumerated Values + +|Property|Value| +|---|---| +|dayOfWeek|0| +|dayOfWeek|1| +|dayOfWeek|2| +|dayOfWeek|3| +|dayOfWeek|4| +|dayOfWeek|5| +|dayOfWeek|6| + + + +## CalendarWorkingHourController.delete + + + +> Code samples + +```'javascript--nodejs +const fetch = require('node-fetch'); + +const headers = { + 'Accept':'application/json' +}; + +fetch('http://localhost:3000/calendars/{id}/working-hours', +{ + method: 'DELETE', + + headers: headers +}) +.then(function(res) { + return res.json(); +}).then(function(body) { + console.log(body); +}); + +``` + +`DELETE /calendars/{id}/working-hours` + +

Parameters

+ +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|id|path|string|true|none| +|where|query|object|false|none| + +> Example responses + +> 200 Response + +```json +{ + "count": 0 +} +``` + +

Responses

+ +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|Calendar.WorkingHour DELETE success count|[loopback.Count](#schemaloopback.count)| + + + +

EventController

+ +## EventController.count + + + +> Code samples + +```'javascript--nodejs +const fetch = require('node-fetch'); + +const headers = { + 'Accept':'application/json' +}; + +fetch('http://localhost:3000/events/count', +{ + method: 'GET', + + headers: headers +}) +.then(function(res) { + return res.json(); +}).then(function(body) { + console.log(body); +}); + +``` + +`GET /events/count` + +

Parameters

+ +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|where|query|object|false|none| + +> Example responses + +> 200 Response + +```json +{ + "count": 0 +} +``` + +

Responses

+ +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|Event model count|[loopback.Count](#schemaloopback.count)| + + + +## EventController.getFeeBusyStatus + + + +> Code samples + +```'javascript--nodejs +const fetch = require('node-fetch'); +const inputBody = { + "timeMax": "2019-08-24T14:15:22Z", + "timeMin": "2019-08-24T14:15:22Z", + "items": [ + { + "id": "string", + "bgColor": "string", + "description": "string", + "endDateTime": "2019-08-24T14:15:22Z", + "extId": "string", + "extMetadata": {}, + "fgColor": "string", + "iCalUid": "string", + "isFullDayEvent": true, + "isLocked": true, + "link": "string", + "location": "string", + "meetingLink": "string", + "identifier": "string", + "startDateTime": "2019-08-24T14:15:22Z", + "status": "confirmed", + "summary": "string", + "timezone": "string", + "attendeeId": "string", + "isOptional": true, + "attendeeIdentifier": "string", + "isOrganizer": true, + "messages": "string", + "eventId": "string" + } + ] +}; +const headers = { + 'Content-Type':'application/json' +}; + +fetch('http://localhost:3000/events/freeBusy', +{ + method: 'GET', + body: JSON.stringify(inputBody), + headers: headers +}) +.then(function(res) { + return res.json(); +}).then(function(body) { + console.log(body); +}); + +``` + +`GET /events/freeBusy` + +> Body parameter + +```json +{ + "timeMax": "2019-08-24T14:15:22Z", + "timeMin": "2019-08-24T14:15:22Z", + "items": [ + { + "id": "string", + "bgColor": "string", + "description": "string", + "endDateTime": "2019-08-24T14:15:22Z", + "extId": "string", + "extMetadata": {}, + "fgColor": "string", + "iCalUid": "string", + "isFullDayEvent": true, + "isLocked": true, + "link": "string", + "location": "string", + "meetingLink": "string", + "identifier": "string", + "startDateTime": "2019-08-24T14:15:22Z", + "status": "confirmed", + "summary": "string", + "timezone": "string", + "attendeeId": "string", + "isOptional": true, + "attendeeIdentifier": "string", + "isOrganizer": true, + "messages": "string", + "eventId": "string" + } + ] +} +``` + +

Parameters

+ +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|body|body|[FreeBusyRequest](#schemafreebusyrequest)|false|none| + +

Responses

+ +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|Return value of EventController.getFeeBusyStatus|None| + + + +## EventController.replaceById + + + +> Code samples + +```'javascript--nodejs +const fetch = require('node-fetch'); +const inputBody = { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "bgColor": "string", + "description": "string", + "endDateTime": "2019-08-24T14:15:22Z", + "fgColor": "string", + "iCalUid": "string", + "isFullDayEvent": true, + "isLocked": true, + "link": "string", + "location": "string", + "meetingLink": "string", + "identifier": "string", + "startDateTime": "2019-08-24T14:15:22Z", + "status": "confirmed", + "summary": "string", + "timezone": "string", + "calendarId": "string", + "parentEventId": "string", + "extId": "string", + "extMetadata": {} +}; +const headers = { + 'Content-Type':'application/json' +}; + +fetch('http://localhost:3000/events/{id}', +{ + method: 'PUT', + body: JSON.stringify(inputBody), + headers: headers +}) +.then(function(res) { + return res.json(); +}).then(function(body) { + console.log(body); +}); + +``` + +`PUT /events/{id}` + +> Body parameter + +```json +{ + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "bgColor": "string", + "description": "string", + "endDateTime": "2019-08-24T14:15:22Z", + "fgColor": "string", + "iCalUid": "string", + "isFullDayEvent": true, + "isLocked": true, + "link": "string", + "location": "string", + "meetingLink": "string", + "identifier": "string", + "startDateTime": "2019-08-24T14:15:22Z", + "status": "confirmed", + "summary": "string", + "timezone": "string", + "calendarId": "string", + "parentEventId": "string", + "extId": "string", + "extMetadata": {} +} +``` + +

Parameters

+ +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|id|path|string|true|none| +|body|body|[Event](#schemaevent)|false|none| + +

Responses

+ +|Status|Meaning|Description|Schema| +|---|---|---|---| +|204|[No Content](https://tools.ietf.org/html/rfc7231#section-6.3.5)|Event PUT success|None| + + + +## EventController.updateById + + + +> Code samples + +```'javascript--nodejs +const fetch = require('node-fetch'); +const inputBody = { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "bgColor": "string", + "description": "string", + "endDateTime": "2019-08-24T14:15:22Z", + "fgColor": "string", + "iCalUid": "string", + "isFullDayEvent": true, + "isLocked": true, + "link": "string", + "location": "string", + "meetingLink": "string", + "identifier": "string", + "startDateTime": "2019-08-24T14:15:22Z", + "status": "confirmed", + "summary": "string", + "timezone": "string", + "calendarId": "string", + "parentEventId": "string", + "extId": "string", + "extMetadata": {} +}; +const headers = { + 'Content-Type':'application/json' +}; + +fetch('http://localhost:3000/events/{id}', +{ + method: 'PATCH', + body: JSON.stringify(inputBody), + headers: headers +}) +.then(function(res) { + return res.json(); +}).then(function(body) { + console.log(body); +}); + +``` + +`PATCH /events/{id}` + +> Body parameter + +```json +{ + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "bgColor": "string", + "description": "string", + "endDateTime": "2019-08-24T14:15:22Z", + "fgColor": "string", + "iCalUid": "string", + "isFullDayEvent": true, + "isLocked": true, + "link": "string", + "location": "string", + "meetingLink": "string", + "identifier": "string", + "startDateTime": "2019-08-24T14:15:22Z", + "status": "confirmed", + "summary": "string", + "timezone": "string", + "calendarId": "string", + "parentEventId": "string", + "extId": "string", + "extMetadata": {} +} +``` + +

Parameters

+ +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|id|path|string|true|none| +|body|body|[EventPartial](#schemaeventpartial)|false|none| + +

Responses

+ +|Status|Meaning|Description|Schema| +|---|---|---|---| +|204|[No Content](https://tools.ietf.org/html/rfc7231#section-6.3.5)|Event PATCH success|None| + + + +## EventController.findById + + + +> Code samples + +```'javascript--nodejs +const fetch = require('node-fetch'); + +const headers = { + 'Accept':'application/json' +}; + +fetch('http://localhost:3000/events/{id}', +{ + method: 'GET', + + headers: headers +}) +.then(function(res) { + return res.json(); +}).then(function(body) { + console.log(body); +}); + +``` + +`GET /events/{id}` + +

Parameters

+ +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|id|path|string|true|none| +|filter|query|[events.Filter](#schemaevents.filter)|false|none| + +> Example responses + +> 200 Response + +```json +{ + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "bgColor": "string", + "description": "string", + "endDateTime": "2019-08-24T14:15:22Z", + "fgColor": "string", + "iCalUid": "string", + "isFullDayEvent": true, + "isLocked": true, + "link": "string", + "location": "string", + "meetingLink": "string", + "identifier": "string", + "startDateTime": "2019-08-24T14:15:22Z", + "status": "confirmed", + "summary": "string", + "timezone": "string", + "calendarId": "string", + "parentEventId": "string", + "extId": "string", + "extMetadata": {}, + "calendar": { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "source": "string", + "enableWorkingHours": true, + "location": "string", + "identifier": "string", + "summary": "string", + "timezone": "string", + "extId": "string", + "extMetadata": {}, + "events": [ + { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "bgColor": "string", + "description": "string", + "endDateTime": "2019-08-24T14:15:22Z", + "fgColor": "string", + "iCalUid": "string", + "isFullDayEvent": true, + "isLocked": true, + "link": "string", + "location": "string", + "meetingLink": "string", + "identifier": "string", + "startDateTime": "2019-08-24T14:15:22Z", + "status": "confirmed", + "summary": "string", + "timezone": "string", + "calendarId": "string", + "parentEventId": "string", + "extId": "string", + "extMetadata": {}, + "calendar": {}, + "parentEvent": {}, + "attendees": [ + { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "identifier": "string", + "isOptional": true, + "isOrganizer": true, + "messages": "string", + "responseStatus": "needsAction", + "eventId": "string", + "extId": "string", + "extMetadata": {}, + "event": {} + } + ], + "attachments": [ + { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "fileUrl": "string", + "iconLink": "string", + "mimeType": "string", + "title": "string", + "eventId": "string", + "extId": "string", + "extMetadata": {}, + "event": {} + } + ] + } + ], + "workingHours": [ + { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "dayOfWeek": 0, + "end": "string", + "start": "string", + "calendarId": "string", + "extId": "string", + "extMetadata": {}, + "calendar": {} + } + ], + "subscriptions": [ + { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "accessRole": "freeBusyReader", + "bgColor": "string", + "fgColor": "string", + "isHidden": true, + "isPrimary": true, + "identifier": "string", + "defaultReminders": {}, + "notificationSettings": {}, + "calendarId": "string", + "extId": "string", + "extMetadata": {}, + "calendar": {} + } + ] + }, + "parentEvent": { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "bgColor": "string", + "description": "string", + "endDateTime": "2019-08-24T14:15:22Z", + "fgColor": "string", + "iCalUid": "string", + "isFullDayEvent": true, + "isLocked": true, + "link": "string", + "location": "string", + "meetingLink": "string", + "identifier": "string", + "startDateTime": "2019-08-24T14:15:22Z", + "status": "confirmed", + "summary": "string", + "timezone": "string", + "calendarId": "string", + "parentEventId": "string", + "extId": "string", + "extMetadata": {}, + "calendar": { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "source": "string", + "enableWorkingHours": true, + "location": "string", + "identifier": "string", + "summary": "string", + "timezone": "string", + "extId": "string", + "extMetadata": {}, + "events": [ + {} + ], + "workingHours": [ + { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "dayOfWeek": 0, + "end": "string", + "start": "string", + "calendarId": "string", + "extId": "string", + "extMetadata": {}, + "calendar": {} + } + ], + "subscriptions": [ + { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "accessRole": "freeBusyReader", + "bgColor": "string", + "fgColor": "string", + "isHidden": true, + "isPrimary": true, + "identifier": "string", + "defaultReminders": {}, + "notificationSettings": {}, + "calendarId": "string", + "extId": "string", + "extMetadata": {}, + "calendar": {} + } + ] + }, + "parentEvent": {}, + "attendees": [ + { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "identifier": "string", + "isOptional": true, + "isOrganizer": true, + "messages": "string", + "responseStatus": "needsAction", + "eventId": "string", + "extId": "string", + "extMetadata": {}, + "event": {} + } + ], + "attachments": [ + { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "fileUrl": "string", + "iconLink": "string", + "mimeType": "string", + "title": "string", + "eventId": "string", + "extId": "string", + "extMetadata": {}, + "event": {} + } + ] + }, + "attendees": [ + { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "identifier": "string", + "isOptional": true, + "isOrganizer": true, + "messages": "string", + "responseStatus": "needsAction", + "eventId": "string", + "extId": "string", + "extMetadata": {}, + "event": { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "bgColor": "string", + "description": "string", + "endDateTime": "2019-08-24T14:15:22Z", + "fgColor": "string", + "iCalUid": "string", + "isFullDayEvent": true, + "isLocked": true, + "link": "string", + "location": "string", + "meetingLink": "string", + "identifier": "string", + "startDateTime": "2019-08-24T14:15:22Z", + "status": "confirmed", + "summary": "string", + "timezone": "string", + "calendarId": "string", + "parentEventId": "string", + "extId": "string", + "extMetadata": {}, + "calendar": { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "source": "string", + "enableWorkingHours": true, + "location": "string", + "identifier": "string", + "summary": "string", + "timezone": "string", + "extId": "string", + "extMetadata": {}, + "events": [ + {} + ], + "workingHours": [ + { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "dayOfWeek": 0, + "end": "string", + "start": "string", + "calendarId": "string", + "extId": "string", + "extMetadata": {}, + "calendar": {} + } + ], + "subscriptions": [ + { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "accessRole": "freeBusyReader", + "bgColor": "string", + "fgColor": "string", + "isHidden": true, + "isPrimary": true, + "identifier": "string", + "defaultReminders": {}, + "notificationSettings": {}, + "calendarId": "string", + "extId": "string", + "extMetadata": {}, + "calendar": {} + } + ] + }, + "parentEvent": {}, + "attendees": [], + "attachments": [ + { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "fileUrl": "string", + "iconLink": "string", + "mimeType": "string", + "title": "string", + "eventId": "string", + "extId": "string", + "extMetadata": {}, + "event": {} + } + ] + } + } + ], + "attachments": [ + { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "fileUrl": "string", + "iconLink": "string", + "mimeType": "string", + "title": "string", + "eventId": "string", + "extId": "string", + "extMetadata": {}, + "event": { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "bgColor": "string", + "description": "string", + "endDateTime": "2019-08-24T14:15:22Z", + "fgColor": "string", + "iCalUid": "string", + "isFullDayEvent": true, + "isLocked": true, + "link": "string", + "location": "string", + "meetingLink": "string", + "identifier": "string", + "startDateTime": "2019-08-24T14:15:22Z", + "status": "confirmed", + "summary": "string", + "timezone": "string", + "calendarId": "string", + "parentEventId": "string", + "extId": "string", + "extMetadata": {}, + "calendar": { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "source": "string", + "enableWorkingHours": true, + "location": "string", + "identifier": "string", + "summary": "string", + "timezone": "string", + "extId": "string", + "extMetadata": {}, + "events": [ + {} + ], + "workingHours": [ + { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "dayOfWeek": 0, + "end": "string", + "start": "string", + "calendarId": "string", + "extId": "string", + "extMetadata": {}, + "calendar": {} + } + ], + "subscriptions": [ + { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "accessRole": "freeBusyReader", + "bgColor": "string", + "fgColor": "string", + "isHidden": true, + "isPrimary": true, + "identifier": "string", + "defaultReminders": {}, + "notificationSettings": {}, + "calendarId": "string", + "extId": "string", + "extMetadata": {}, + "calendar": {} + } + ] + }, + "parentEvent": {}, + "attendees": [ + { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "identifier": "string", + "isOptional": true, + "isOrganizer": true, + "messages": "string", + "responseStatus": "needsAction", + "eventId": "string", + "extId": "string", + "extMetadata": {}, + "event": {} + } + ], + "attachments": [] + } + } + ] +} +``` + +

Responses

+ +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|Event model instance|[EventWithRelations](#schemaeventwithrelations)| + + + +## EventController.deleteById + + + +> Code samples + +```'javascript--nodejs +const fetch = require('node-fetch'); + +fetch('http://localhost:3000/events/{id}', +{ + method: 'DELETE' + +}) +.then(function(res) { + return res.json(); +}).then(function(body) { + console.log(body); +}); + +``` + +`DELETE /events/{id}` + +

Parameters

+ +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|id|path|string|true|none| + +

Responses

+ +|Status|Meaning|Description|Schema| +|---|---|---|---| +|204|[No Content](https://tools.ietf.org/html/rfc7231#section-6.3.5)|Event DELETE success|None| + + + +## EventController.create + + + +> Code samples + +```'javascript--nodejs +const fetch = require('node-fetch'); +const inputBody = { + "bgColor": "string", + "description": "string", + "endDateTime": "2019-08-24T14:15:22Z", + "fgColor": "string", + "iCalUid": "string", + "isFullDayEvent": true, + "isLocked": true, + "link": "string", + "location": "string", + "meetingLink": "string", + "identifier": "string", + "startDateTime": "2019-08-24T14:15:22Z", + "status": "confirmed", + "summary": "string", + "timezone": "string", + "calendarId": "string", + "parentEventId": "string", + "attachments": [ + { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "fileUrl": "string", + "iconLink": "string", + "mimeType": "string", + "title": "string", + "eventId": "string", + "extId": "string", + "extMetadata": {} + } + ], + "attendees": [ + { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "identifier": "string", + "isOptional": true, + "isOrganizer": true, + "messages": "string", + "responseStatus": "needsAction", + "eventId": "string", + "extId": "string", + "extMetadata": {} + } + ], + "extId": "string", + "extMetadata": {} +}; +const headers = { + 'Content-Type':'application/json', + 'Accept':'application/json' +}; + +fetch('http://localhost:3000/events', +{ + method: 'POST', + body: JSON.stringify(inputBody), + headers: headers +}) +.then(function(res) { + return res.json(); +}).then(function(body) { + console.log(body); +}); + +``` + +`POST /events` + +> Body parameter + +```json +{ + "bgColor": "string", + "description": "string", + "endDateTime": "2019-08-24T14:15:22Z", + "fgColor": "string", + "iCalUid": "string", + "isFullDayEvent": true, + "isLocked": true, + "link": "string", + "location": "string", + "meetingLink": "string", + "identifier": "string", + "startDateTime": "2019-08-24T14:15:22Z", + "status": "confirmed", + "summary": "string", + "timezone": "string", + "calendarId": "string", + "parentEventId": "string", + "attachments": [ + { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "fileUrl": "string", + "iconLink": "string", + "mimeType": "string", + "title": "string", + "eventId": "string", + "extId": "string", + "extMetadata": {} + } + ], + "attendees": [ + { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "identifier": "string", + "isOptional": true, + "isOrganizer": true, + "messages": "string", + "responseStatus": "needsAction", + "eventId": "string", + "extId": "string", + "extMetadata": {} + } + ], + "extId": "string", + "extMetadata": {} +} +``` + +

Parameters

+ +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|body|body|[NewEvent](#schemanewevent)|false|none| + +> Example responses + +> 200 Response + +```json +{ + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "bgColor": "string", + "description": "string", + "endDateTime": "2019-08-24T14:15:22Z", + "fgColor": "string", + "iCalUid": "string", + "isFullDayEvent": true, + "isLocked": true, + "link": "string", + "location": "string", + "meetingLink": "string", + "identifier": "string", + "startDateTime": "2019-08-24T14:15:22Z", + "status": "confirmed", + "summary": "string", + "timezone": "string", + "calendarId": "string", + "parentEventId": "string", + "extId": "string", + "extMetadata": {} +} +``` + +

Responses

+ +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|Event model instance|[Event](#schemaevent)| + + + +## EventController.updateAll + + + +> Code samples + +```'javascript--nodejs +const fetch = require('node-fetch'); +const inputBody = { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "bgColor": "string", + "description": "string", + "endDateTime": "2019-08-24T14:15:22Z", + "fgColor": "string", + "iCalUid": "string", + "isFullDayEvent": true, + "isLocked": true, + "link": "string", + "location": "string", + "meetingLink": "string", + "identifier": "string", + "startDateTime": "2019-08-24T14:15:22Z", + "status": "confirmed", + "summary": "string", + "timezone": "string", + "calendarId": "string", + "parentEventId": "string", + "extId": "string", + "extMetadata": {} +}; +const headers = { + 'Content-Type':'application/json', + 'Accept':'application/json' +}; + +fetch('http://localhost:3000/events', +{ + method: 'PATCH', + body: JSON.stringify(inputBody), + headers: headers +}) +.then(function(res) { + return res.json(); +}).then(function(body) { + console.log(body); +}); + +``` + +`PATCH /events` + +> Body parameter + +```json +{ + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "bgColor": "string", + "description": "string", + "endDateTime": "2019-08-24T14:15:22Z", + "fgColor": "string", + "iCalUid": "string", + "isFullDayEvent": true, + "isLocked": true, + "link": "string", + "location": "string", + "meetingLink": "string", + "identifier": "string", + "startDateTime": "2019-08-24T14:15:22Z", + "status": "confirmed", + "summary": "string", + "timezone": "string", + "calendarId": "string", + "parentEventId": "string", + "extId": "string", + "extMetadata": {} +} +``` + +

Parameters

+ +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|where|query|object|false|none| +|body|body|[EventPartial](#schemaeventpartial)|false|none| + +> Example responses + +> 200 Response + +```json +{ + "count": 0 +} +``` + +

Responses

+ +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|Event PATCH success count|[loopback.Count](#schemaloopback.count)| + + + +## EventController.find + + + +> Code samples + +```'javascript--nodejs +const fetch = require('node-fetch'); + +const headers = { + 'Accept':'application/json' +}; + +fetch('http://localhost:3000/events', +{ + method: 'GET', + + headers: headers +}) +.then(function(res) { + return res.json(); +}).then(function(body) { + console.log(body); +}); + +``` + +`GET /events` + +

Parameters

+ +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|filter|query|[events_attendees_view.Filter](#schemaevents_attendees_view.filter)|false|none| + +> Example responses + +> 200 Response + +```json +[ + { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "bgColor": "string", + "description": "string", + "endDateTime": "2019-08-24T14:15:22Z", + "fgColor": "string", + "iCalUid": "string", + "isFullDayEvent": true, + "isLocked": true, + "link": "string", + "location": "string", + "meetingLink": "string", + "identifier": "string", + "startDateTime": "2019-08-24T14:15:22Z", + "status": "confirmed", + "summary": "string", + "timezone": "string", + "calendarId": "string", + "parentEventId": "string", + "extId": "string", + "extMetadata": {}, + "calendar": { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "source": "string", + "enableWorkingHours": true, + "location": "string", + "identifier": "string", + "summary": "string", + "timezone": "string", + "extId": "string", + "extMetadata": {}, + "events": [ + {} + ], + "workingHours": [ + { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "dayOfWeek": 0, + "end": "string", + "start": "string", + "calendarId": "string", + "extId": "string", + "extMetadata": {}, + "calendar": {} + } + ], + "subscriptions": [ + { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "accessRole": "freeBusyReader", + "bgColor": "string", + "fgColor": "string", + "isHidden": true, + "isPrimary": true, + "identifier": "string", + "defaultReminders": {}, + "notificationSettings": {}, + "calendarId": "string", + "extId": "string", + "extMetadata": {}, + "calendar": {} + } + ] + }, + "parentEvent": {}, + "attendees": [ + { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "identifier": "string", + "isOptional": true, + "isOrganizer": true, + "messages": "string", + "responseStatus": "needsAction", + "eventId": "string", + "extId": "string", + "extMetadata": {}, + "event": {} + } + ], + "attachments": [ + { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "fileUrl": "string", + "iconLink": "string", + "mimeType": "string", + "title": "string", + "eventId": "string", + "extId": "string", + "extMetadata": {}, + "event": {} + } + ] + } +] +``` + +

Responses

+ +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|Array of Event model instances|Inline| + +

Response Schema

+ +Status Code **200** + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|*anonymous*|[[EventWithRelations](#schemaeventwithrelations)]|false|none|[(tsType: EventWithRelations, schemaOptions: { includeRelations: true })]| +|» EventWithRelations|[EventWithRelations](#schemaeventwithrelations)|false|none|(tsType: EventWithRelations, schemaOptions: { includeRelations: true })| +|»» deleted|boolean|false|none|none| +|»» deletedOn|string(date-time)¦null|false|none|none| +|»» deletedBy|string¦null|false|none|none| +|»» createdOn|string(date-time)|false|none|none| +|»» modifiedOn|string(date-time)|false|none|none| +|»» createdBy|string|false|none|none| +|»» modifiedBy|string|false|none|none| +|»» id|string|false|none|none| +|»» bgColor|string|false|none|none| +|»» description|string|false|none|none| +|»» endDateTime|string(date-time)|false|none|none| +|»» fgColor|string|false|none|none| +|»» iCalUid|string|false|none|none| +|»» isFullDayEvent|boolean|false|none|none| +|»» isLocked|boolean|false|none|none| +|»» link|string|false|none|none| +|»» location|string|false|none|none| +|»» meetingLink|string|false|none|none| +|»» identifier|string|false|none|none| +|»» startDateTime|string(date-time)|false|none|none| +|»» status|string|false|none|none| +|»» summary|string|false|none|none| +|»» timezone|string|false|none|none| +|»» calendarId|string|true|none|none| +|»» parentEventId|string|false|none|none| +|»» extId|string|false|none|none| +|»» extMetadata|object|false|none|none| +|»» calendar|[CalendarWithRelations](#schemacalendarwithrelations)|false|none|(tsType: CalendarWithRelations, schemaOptions: { includeRelations: true })| +|»»» deleted|boolean|false|none|none| +|»»» deletedOn|string(date-time)¦null|false|none|none| +|»»» deletedBy|string¦null|false|none|none| +|»»» createdOn|string(date-time)|false|none|none| +|»»» modifiedOn|string(date-time)|false|none|none| +|»»» createdBy|string|false|none|none| +|»»» modifiedBy|string|false|none|none| +|»»» id|string|false|none|none| +|»»» source|string|false|none|none| +|»»» enableWorkingHours|boolean|false|none|none| +|»»» location|string|false|none|none| +|»»» identifier|string|true|none|none| +|»»» summary|string|false|none|none| +|»»» timezone|string|false|none|none| +|»»» extId|string|false|none|none| +|»»» extMetadata|object|false|none|none| +|»»» events|[[EventWithRelations](#schemaeventwithrelations)]|false|none|(tsType: EventWithRelations, schemaOptions: { includeRelations: true })| +|»»»» EventWithRelations|[EventWithRelations](#schemaeventwithrelations)|false|none|(tsType: EventWithRelations, schemaOptions: { includeRelations: true })| +|»»» workingHours|[[WorkingHourWithRelations](#schemaworkinghourwithrelations)]|false|none|(tsType: WorkingHourWithRelations, schemaOptions: { includeRelations: true })| +|»»»» WorkingHourWithRelations|[WorkingHourWithRelations](#schemaworkinghourwithrelations)|false|none|(tsType: WorkingHourWithRelations, schemaOptions: { includeRelations: true })| +|»»»»» deleted|boolean|false|none|none| +|»»»»» deletedOn|string(date-time)¦null|false|none|none| +|»»»»» deletedBy|string¦null|false|none|none| +|»»»»» createdOn|string(date-time)|false|none|none| +|»»»»» modifiedOn|string(date-time)|false|none|none| +|»»»»» createdBy|string|false|none|none| +|»»»»» modifiedBy|string|false|none|none| +|»»»»» id|string|false|none|none| +|»»»»» dayOfWeek|number|false|none|none| +|»»»»» end|string|false|none|none| +|»»»»» start|string|false|none|none| +|»»»»» calendarId|string|true|none|none| +|»»»»» extId|string|false|none|none| +|»»»»» extMetadata|object|false|none|none| +|»»»»» calendar|[CalendarWithRelations](#schemacalendarwithrelations)|false|none|(tsType: CalendarWithRelations, schemaOptions: { includeRelations: true })| +|»»» subscriptions|[[SubscriptionWithRelations](#schemasubscriptionwithrelations)]|false|none|(tsType: SubscriptionWithRelations, schemaOptions: { includeRelations: true })| +|»»»» SubscriptionWithRelations|[SubscriptionWithRelations](#schemasubscriptionwithrelations)|false|none|(tsType: SubscriptionWithRelations, schemaOptions: { includeRelations: true })| +|»»»»» deleted|boolean|false|none|none| +|»»»»» deletedOn|string(date-time)¦null|false|none|none| +|»»»»» deletedBy|string¦null|false|none|none| +|»»»»» createdOn|string(date-time)|false|none|none| +|»»»»» modifiedOn|string(date-time)|false|none|none| +|»»»»» createdBy|string|false|none|none| +|»»»»» modifiedBy|string|false|none|none| +|»»»»» id|string|false|none|none| +|»»»»» accessRole|string|false|none|none| +|»»»»» bgColor|string|false|none|none| +|»»»»» fgColor|string|false|none|none| +|»»»»» isHidden|boolean|false|none|none| +|»»»»» isPrimary|boolean|false|none|none| +|»»»»» identifier|string|true|none|none| +|»»»»» defaultReminders|object|false|none|none| +|»»»»» notificationSettings|object|false|none|none| +|»»»»» calendarId|string|true|none|none| +|»»»»» extId|string|false|none|none| +|»»»»» extMetadata|object|false|none|none| +|»»»»» calendar|[CalendarWithRelations](#schemacalendarwithrelations)|false|none|(tsType: CalendarWithRelations, schemaOptions: { includeRelations: true })| +|»» parentEvent|[EventWithRelations](#schemaeventwithrelations)|false|none|(tsType: EventWithRelations, schemaOptions: { includeRelations: true })| +|»» attendees|[[AttendeeWithRelations](#schemaattendeewithrelations)]|false|none|(tsType: AttendeeWithRelations, schemaOptions: { includeRelations: true })| +|»»» AttendeeWithRelations|[AttendeeWithRelations](#schemaattendeewithrelations)|false|none|(tsType: AttendeeWithRelations, schemaOptions: { includeRelations: true })| +|»»»» deleted|boolean|false|none|none| +|»»»» deletedOn|string(date-time)¦null|false|none|none| +|»»»» deletedBy|string¦null|false|none|none| +|»»»» createdOn|string(date-time)|false|none|none| +|»»»» modifiedOn|string(date-time)|false|none|none| +|»»»» createdBy|string|false|none|none| +|»»»» modifiedBy|string|false|none|none| +|»»»» id|string|false|none|none| +|»»»» identifier|string|true|none|none| +|»»»» isOptional|boolean|false|none|none| +|»»»» isOrganizer|boolean|false|none|none| +|»»»» messages|string|false|none|none| +|»»»» responseStatus|string|false|none|none| +|»»»» eventId|string|true|none|none| +|»»»» extId|string|false|none|none| +|»»»» extMetadata|object|false|none|none| +|»»»» event|[EventWithRelations](#schemaeventwithrelations)|false|none|(tsType: EventWithRelations, schemaOptions: { includeRelations: true })| +|»» attachments|[[AttachmentWithRelations](#schemaattachmentwithrelations)]|false|none|(tsType: AttachmentWithRelations, schemaOptions: { includeRelations: true })| +|»»» AttachmentWithRelations|[AttachmentWithRelations](#schemaattachmentwithrelations)|false|none|(tsType: AttachmentWithRelations, schemaOptions: { includeRelations: true })| +|»»»» deleted|boolean|false|none|none| +|»»»» deletedOn|string(date-time)¦null|false|none|none| +|»»»» deletedBy|string¦null|false|none|none| +|»»»» createdOn|string(date-time)|false|none|none| +|»»»» modifiedOn|string(date-time)|false|none|none| +|»»»» createdBy|string|false|none|none| +|»»»» modifiedBy|string|false|none|none| +|»»»» id|string|false|none|none| +|»»»» fileUrl|string|true|none|none| +|»»»» iconLink|string|false|none|none| +|»»»» mimeType|string|false|none|none| +|»»»» title|string|false|none|none| +|»»»» eventId|string|true|none|none| +|»»»» extId|string|false|none|none| +|»»»» extMetadata|object|false|none|none| +|»»»» event|[EventWithRelations](#schemaeventwithrelations)|false|none|(tsType: EventWithRelations, schemaOptions: { includeRelations: true })| + +#### Enumerated Values + +|Property|Value| +|---|---| +|status|confirmed| +|status|tentative| +|status|cancelled| +|status|completed| +|dayOfWeek|0| +|dayOfWeek|1| +|dayOfWeek|2| +|dayOfWeek|3| +|dayOfWeek|4| +|dayOfWeek|5| +|dayOfWeek|6| +|accessRole|freeBusyReader| +|accessRole|reader| +|accessRole|writer| +|accessRole|owner| +|responseStatus|needsAction| +|responseStatus|tentative| +|responseStatus|accepted| +|responseStatus|declined| + + + +

EventAttachmentController

+ +## EventAttachmentController.create + + + +> Code samples + +```'javascript--nodejs +const fetch = require('node-fetch'); +const inputBody = { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "fileUrl": "string", + "iconLink": "string", + "mimeType": "string", + "title": "string", + "eventId": "string", + "extId": "string", + "extMetadata": {} +}; +const headers = { + 'Content-Type':'application/json', + 'Accept':'application/json' +}; + +fetch('http://localhost:3000/events/{id}/attachments', +{ + method: 'POST', + body: JSON.stringify(inputBody), + headers: headers +}) +.then(function(res) { + return res.json(); +}).then(function(body) { + console.log(body); +}); + +``` + +`POST /events/{id}/attachments` + +> Body parameter + +```json +{ + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "fileUrl": "string", + "iconLink": "string", + "mimeType": "string", + "title": "string", + "eventId": "string", + "extId": "string", + "extMetadata": {} +} +``` + +

Parameters

+ +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|id|path|string|true|none| +|body|body|[NewAttachmentInEvent](#schemanewattachmentinevent)|false|none| + +> Example responses + +> 200 Response + +```json +{ + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "fileUrl": "string", + "iconLink": "string", + "mimeType": "string", + "title": "string", + "eventId": "string", + "extId": "string", + "extMetadata": {} +} +``` + +

Responses

+ +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|Event model instance|[Attachment](#schemaattachment)| + + + +## EventAttachmentController.patch + + + +> Code samples + +```'javascript--nodejs +const fetch = require('node-fetch'); +const inputBody = { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "fileUrl": "string", + "iconLink": "string", + "mimeType": "string", + "title": "string", + "eventId": "string", + "extId": "string", + "extMetadata": {} +}; +const headers = { + 'Content-Type':'application/json', + 'Accept':'application/json' +}; + +fetch('http://localhost:3000/events/{id}/attachments', +{ + method: 'PATCH', + body: JSON.stringify(inputBody), + headers: headers +}) +.then(function(res) { + return res.json(); +}).then(function(body) { + console.log(body); +}); + +``` + +`PATCH /events/{id}/attachments` + +> Body parameter + +```json +{ + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "fileUrl": "string", + "iconLink": "string", + "mimeType": "string", + "title": "string", + "eventId": "string", + "extId": "string", + "extMetadata": {} +} +``` + +

Parameters

+ +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|id|path|string|true|none| +|where|query|object|false|none| +|body|body|[AttachmentPartial](#schemaattachmentpartial)|false|none| + +> Example responses + +> 200 Response + +```json +{ + "count": 0 +} +``` + +

Responses

+ +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|Event.Attachment PATCH success count|[loopback.Count](#schemaloopback.count)| + + + +## EventAttachmentController.find + + + +> Code samples + +```'javascript--nodejs +const fetch = require('node-fetch'); + +const headers = { + 'Accept':'application/json' +}; + +fetch('http://localhost:3000/events/{id}/attachments', +{ + method: 'GET', + + headers: headers +}) +.then(function(res) { + return res.json(); +}).then(function(body) { + console.log(body); +}); + +``` + +`GET /events/{id}/attachments` + +

Parameters

+ +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|id|path|string|true|none| +|filter|query|object|false|none| + +> Example responses + +> 200 Response + +```json +[ + { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "fileUrl": "string", + "iconLink": "string", + "mimeType": "string", + "title": "string", + "eventId": "string", + "extId": "string", + "extMetadata": {} + } +] +``` + +

Responses

+ +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|Array of Event has many Attachment|Inline| + +

Response Schema

+ +Status Code **200** + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|*anonymous*|[[Attachment](#schemaattachment)]|false|none|none| +|» Attachment|[Attachment](#schemaattachment)|false|none|none| +|»» deleted|boolean|false|none|none| +|»» deletedOn|string(date-time)¦null|false|none|none| +|»» deletedBy|string¦null|false|none|none| +|»» createdOn|string(date-time)|false|none|none| +|»» modifiedOn|string(date-time)|false|none|none| +|»» createdBy|string|false|none|none| +|»» modifiedBy|string|false|none|none| +|»» id|string|false|none|none| +|»» fileUrl|string|true|none|none| +|»» iconLink|string|false|none|none| +|»» mimeType|string|false|none|none| +|»» title|string|false|none|none| +|»» eventId|string|true|none|none| +|»» extId|string|false|none|none| +|»» extMetadata|object|false|none|none| + + + +## EventAttachmentController.delete + + + +> Code samples + +```'javascript--nodejs +const fetch = require('node-fetch'); + +const headers = { + 'Accept':'application/json' +}; + +fetch('http://localhost:3000/events/{id}/attachments', +{ + method: 'DELETE', + + headers: headers +}) +.then(function(res) { + return res.json(); +}).then(function(body) { + console.log(body); +}); + +``` + +`DELETE /events/{id}/attachments` + +

Parameters

+ +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|id|path|string|true|none| +|where|query|object|false|none| + +> Example responses + +> 200 Response + +```json +{ + "count": 0 +} +``` + +

Responses

+ +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|Event.Attachment DELETE success count|[loopback.Count](#schemaloopback.count)| + + + +

EventAttendeeController

+ +## EventAttendeeController.create + + + +> Code samples + +```'javascript--nodejs +const fetch = require('node-fetch'); +const inputBody = { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "identifier": "string", + "isOptional": true, + "isOrganizer": true, + "messages": "string", + "responseStatus": "needsAction", + "eventId": "string", + "extId": "string", + "extMetadata": {} +}; +const headers = { + 'Content-Type':'application/json', + 'Accept':'application/json' +}; + +fetch('http://localhost:3000/events/{id}/attendees', +{ + method: 'POST', + body: JSON.stringify(inputBody), + headers: headers +}) +.then(function(res) { + return res.json(); +}).then(function(body) { + console.log(body); +}); + +``` + +`POST /events/{id}/attendees` + +> Body parameter + +```json +{ + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "identifier": "string", + "isOptional": true, + "isOrganizer": true, + "messages": "string", + "responseStatus": "needsAction", + "eventId": "string", + "extId": "string", + "extMetadata": {} +} +``` + +

Parameters

+ +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|id|path|string|true|none| +|body|body|[NewAttendeeInEvent](#schemanewattendeeinevent)|false|none| + +> Example responses + +> 200 Response + +```json +{ + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "identifier": "string", + "isOptional": true, + "isOrganizer": true, + "messages": "string", + "responseStatus": "needsAction", + "eventId": "string", + "extId": "string", + "extMetadata": {} +} +``` + +

Responses

+ +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|Event model instance|[Attendee](#schemaattendee)| + + + +## EventAttendeeController.patch + + + +> Code samples + +```'javascript--nodejs +const fetch = require('node-fetch'); +const inputBody = { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "identifier": "string", + "isOptional": true, + "isOrganizer": true, + "messages": "string", + "responseStatus": "needsAction", + "eventId": "string", + "extId": "string", + "extMetadata": {} +}; +const headers = { + 'Content-Type':'application/json', + 'Accept':'application/json' +}; + +fetch('http://localhost:3000/events/{id}/attendees', +{ + method: 'PATCH', + body: JSON.stringify(inputBody), + headers: headers +}) +.then(function(res) { + return res.json(); +}).then(function(body) { + console.log(body); +}); + +``` + +`PATCH /events/{id}/attendees` + +> Body parameter + +```json +{ + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "identifier": "string", + "isOptional": true, + "isOrganizer": true, + "messages": "string", + "responseStatus": "needsAction", + "eventId": "string", + "extId": "string", + "extMetadata": {} +} +``` + +

Parameters

+ +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|id|path|string|true|none| +|where|query|object|false|none| +|body|body|[AttendeePartial](#schemaattendeepartial)|false|none| + +> Example responses + +> 200 Response + +```json +{ + "count": 0 +} +``` + +

Responses

+ +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|Event.Attendee PATCH success count|[loopback.Count](#schemaloopback.count)| + + + +## EventAttendeeController.find + + + +> Code samples + +```'javascript--nodejs +const fetch = require('node-fetch'); + +const headers = { + 'Accept':'application/json' +}; + +fetch('http://localhost:3000/events/{id}/attendees', +{ + method: 'GET', + + headers: headers +}) +.then(function(res) { + return res.json(); +}).then(function(body) { + console.log(body); +}); + +``` + +`GET /events/{id}/attendees` + +

Parameters

+ +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|id|path|string|true|none| +|filter|query|object|false|none| + +> Example responses + +> 200 Response + +```json +[ + { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "identifier": "string", + "isOptional": true, + "isOrganizer": true, + "messages": "string", + "responseStatus": "needsAction", + "eventId": "string", + "extId": "string", + "extMetadata": {} + } +] +``` + +

Responses

+ +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|Array of Event has many Attendee|Inline| + +

Response Schema

+ +Status Code **200** + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|*anonymous*|[[Attendee](#schemaattendee)]|false|none|none| +|» Attendee|[Attendee](#schemaattendee)|false|none|none| +|»» deleted|boolean|false|none|none| +|»» deletedOn|string(date-time)¦null|false|none|none| +|»» deletedBy|string¦null|false|none|none| +|»» createdOn|string(date-time)|false|none|none| +|»» modifiedOn|string(date-time)|false|none|none| +|»» createdBy|string|false|none|none| +|»» modifiedBy|string|false|none|none| +|»» id|string|false|none|none| +|»» identifier|string|true|none|none| +|»» isOptional|boolean|false|none|none| +|»» isOrganizer|boolean|false|none|none| +|»» messages|string|false|none|none| +|»» responseStatus|string|false|none|none| +|»» eventId|string|true|none|none| +|»» extId|string|false|none|none| +|»» extMetadata|object|false|none|none| + +#### Enumerated Values + +|Property|Value| +|---|---| +|responseStatus|needsAction| +|responseStatus|tentative| +|responseStatus|accepted| +|responseStatus|declined| + + + +## EventAttendeeController.delete + + + +> Code samples + +```'javascript--nodejs +const fetch = require('node-fetch'); + +const headers = { + 'Accept':'application/json' +}; + +fetch('http://localhost:3000/events/{id}/attendees', +{ + method: 'DELETE', + + headers: headers +}) +.then(function(res) { + return res.json(); +}).then(function(body) { + console.log(body); +}); + +``` + +`DELETE /events/{id}/attendees` + +

Parameters

+ +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|id|path|string|true|none| +|where|query|object|false|none| + +> Example responses + +> 200 Response + +```json +{ + "count": 0 +} +``` + +

Responses

+ +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|Event.Attendee DELETE success count|[loopback.Count](#schemaloopback.count)| + + + +

PingController

+ +## PingController.ping + + + +> Code samples + +```'javascript--nodejs +const fetch = require('node-fetch'); + +const headers = { + 'Accept':'application/json' +}; + +fetch('http://localhost:3000/ping', +{ + method: 'GET', + + headers: headers +}) +.then(function(res) { + return res.json(); +}).then(function(body) { + console.log(body); +}); + +``` + +`GET /ping` + +> Example responses + +> 200 Response + +```json +{ + "greeting": "string", + "date": "string", + "url": "string", + "headers": { + "Content-Type": "string" + } +} +``` + +

Responses

+ +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|Ping Response|[PingResponse](#schemapingresponse)| + + + +

SettingsController

+ +## SettingsController.count + + + +> Code samples + +```'javascript--nodejs +const fetch = require('node-fetch'); + +const headers = { + 'Accept':'application/json' +}; + +fetch('http://localhost:3000/settings/count', +{ + method: 'GET', + + headers: headers +}) +.then(function(res) { + return res.json(); +}).then(function(body) { + console.log(body); +}); + +``` + +`GET /settings/count` + +

Parameters

+ +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|where|query|object|false|none| + +> Example responses + +> 200 Response + +```json +{ + "count": 0 +} +``` + +

Responses

+ +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|Settings model count|[loopback.Count](#schemaloopback.count)| + + + +## SettingsController.replaceById + + + +> Code samples + +```'javascript--nodejs +const fetch = require('node-fetch'); +const inputBody = { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "ownerId": "string", + "ownerType": "global", + "settingName": "string", + "settingValue": "string", + "extId": "string", + "extMetadata": {} +}; +const headers = { + 'Content-Type':'application/json' +}; + +fetch('http://localhost:3000/settings/{id}', +{ + method: 'PUT', + body: JSON.stringify(inputBody), + headers: headers +}) +.then(function(res) { + return res.json(); +}).then(function(body) { + console.log(body); +}); + +``` + +`PUT /settings/{id}` + +> Body parameter + +```json +{ + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "ownerId": "string", + "ownerType": "global", + "settingName": "string", + "settingValue": "string", + "extId": "string", + "extMetadata": {} +} +``` + +

Parameters

+ +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|id|path|string|true|none| +|body|body|[Settings](#schemasettings)|false|none| + +

Responses

+ +|Status|Meaning|Description|Schema| +|---|---|---|---| +|204|[No Content](https://tools.ietf.org/html/rfc7231#section-6.3.5)|Settings PUT success|None| + + + +## SettingsController.updateById + + + +> Code samples + +```'javascript--nodejs +const fetch = require('node-fetch'); +const inputBody = { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "ownerId": "string", + "ownerType": "global", + "settingName": "string", + "settingValue": "string", + "extId": "string", + "extMetadata": {} +}; +const headers = { + 'Content-Type':'application/json' +}; + +fetch('http://localhost:3000/settings/{id}', +{ + method: 'PATCH', + body: JSON.stringify(inputBody), + headers: headers +}) +.then(function(res) { + return res.json(); +}).then(function(body) { + console.log(body); +}); + +``` + +`PATCH /settings/{id}` + +> Body parameter + +```json +{ + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "ownerId": "string", + "ownerType": "global", + "settingName": "string", + "settingValue": "string", + "extId": "string", + "extMetadata": {} +} +``` + +

Parameters

+ +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|id|path|string|true|none| +|body|body|[SettingsPartial](#schemasettingspartial)|false|none| + +

Responses

+ +|Status|Meaning|Description|Schema| +|---|---|---|---| +|204|[No Content](https://tools.ietf.org/html/rfc7231#section-6.3.5)|Settings PATCH success|None| + + + +## SettingsController.findById + + + +> Code samples + +```'javascript--nodejs +const fetch = require('node-fetch'); + +const headers = { + 'Accept':'application/json' +}; + +fetch('http://localhost:3000/settings/{id}', +{ + method: 'GET', + + headers: headers +}) +.then(function(res) { + return res.json(); +}).then(function(body) { + console.log(body); +}); + +``` + +`GET /settings/{id}` + +

Parameters

+ +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|id|path|string|true|none| +|filter|query|[settings.Filter](#schemasettings.filter)|false|none| + +> Example responses + +> 200 Response + +```json +{ + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "ownerId": "string", + "ownerType": "global", + "settingName": "string", + "settingValue": "string", + "extId": "string", + "extMetadata": {} +} +``` + +

Responses

+ +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|Settings model instance|[SettingsWithRelations](#schemasettingswithrelations)| + + + +## SettingsController.deleteById + + + +> Code samples + +```'javascript--nodejs +const fetch = require('node-fetch'); + +fetch('http://localhost:3000/settings/{id}', +{ + method: 'DELETE' + +}) +.then(function(res) { + return res.json(); +}).then(function(body) { + console.log(body); +}); + +``` + +`DELETE /settings/{id}` + +

Parameters

+ +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|id|path|string|true|none| + +

Responses

+ +|Status|Meaning|Description|Schema| +|---|---|---|---| +|204|[No Content](https://tools.ietf.org/html/rfc7231#section-6.3.5)|Settings DELETE success|None| + + + +## SettingsController.create + + + +> Code samples + +```'javascript--nodejs +const fetch = require('node-fetch'); +const inputBody = { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "ownerId": "string", + "ownerType": "global", + "settingName": "string", + "settingValue": "string", + "extId": "string", + "extMetadata": {} +}; +const headers = { + 'Content-Type':'application/json', + 'Accept':'application/json' +}; + +fetch('http://localhost:3000/settings', +{ + method: 'POST', + body: JSON.stringify(inputBody), + headers: headers +}) +.then(function(res) { + return res.json(); +}).then(function(body) { + console.log(body); +}); + +``` + +`POST /settings` + +> Body parameter + +```json +{ + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "ownerId": "string", + "ownerType": "global", + "settingName": "string", + "settingValue": "string", + "extId": "string", + "extMetadata": {} +} +``` + +

Parameters

+ +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|body|body|[NewSettings](#schemanewsettings)|false|none| + +> Example responses + +> 200 Response + +```json +{ + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "ownerId": "string", + "ownerType": "global", + "settingName": "string", + "settingValue": "string", + "extId": "string", + "extMetadata": {} +} +``` + +

Responses

+ +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|Settings model instance|[Settings](#schemasettings)| + + + +## SettingsController.updateAll + + + +> Code samples + +```'javascript--nodejs +const fetch = require('node-fetch'); +const inputBody = { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "ownerId": "string", + "ownerType": "global", + "settingName": "string", + "settingValue": "string", + "extId": "string", + "extMetadata": {} +}; +const headers = { + 'Content-Type':'application/json', + 'Accept':'application/json' +}; + +fetch('http://localhost:3000/settings', +{ + method: 'PATCH', + body: JSON.stringify(inputBody), + headers: headers +}) +.then(function(res) { + return res.json(); +}).then(function(body) { + console.log(body); +}); + +``` + +`PATCH /settings` + +> Body parameter + +```json +{ + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "ownerId": "string", + "ownerType": "global", + "settingName": "string", + "settingValue": "string", + "extId": "string", + "extMetadata": {} +} +``` + +

Parameters

+ +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|where|query|object|false|none| +|body|body|[SettingsPartial](#schemasettingspartial)|false|none| + +> Example responses + +> 200 Response + +```json +{ + "count": 0 +} +``` + +

Responses

+ +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|Settings PATCH success count|[loopback.Count](#schemaloopback.count)| + + + +## SettingsController.find + + + +> Code samples + +```'javascript--nodejs +const fetch = require('node-fetch'); + +const headers = { + 'Accept':'application/json' +}; + +fetch('http://localhost:3000/settings', +{ + method: 'GET', + + headers: headers +}) +.then(function(res) { + return res.json(); +}).then(function(body) { + console.log(body); +}); + +``` + +`GET /settings` + +

Parameters

+ +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|filter|query|[settings.Filter1](#schemasettings.filter1)|false|none| + +> Example responses + +> 200 Response + +```json +[ + { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "ownerId": "string", + "ownerType": "global", + "settingName": "string", + "settingValue": "string", + "extId": "string", + "extMetadata": {} + } +] +``` + +

Responses

+ +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|Array of Settings model instances|Inline| + +

Response Schema

+ +Status Code **200** + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|*anonymous*|[[SettingsWithRelations](#schemasettingswithrelations)]|false|none|[(tsType: SettingsWithRelations, schemaOptions: { includeRelations: true })]| +|» SettingsWithRelations|[SettingsWithRelations](#schemasettingswithrelations)|false|none|(tsType: SettingsWithRelations, schemaOptions: { includeRelations: true })| +|»» deleted|boolean|false|none|none| +|»» deletedOn|string(date-time)¦null|false|none|none| +|»» deletedBy|string¦null|false|none|none| +|»» createdOn|string(date-time)|false|none|none| +|»» modifiedOn|string(date-time)|false|none|none| +|»» createdBy|string|false|none|none| +|»» modifiedBy|string|false|none|none| +|»» id|string|false|none|none| +|»» ownerId|string|true|none|none| +|»» ownerType|string|false|none|none| +|»» settingName|string|false|none|none| +|»» settingValue|string|false|none|none| +|»» extId|string|false|none|none| +|»» extMetadata|object|false|none|none| + +#### Enumerated Values + +|Property|Value| +|---|---| +|ownerType|global| +|ownerType|user| +|ownerType|calendar| +|ownerType|event| + + + +

ThemeController

+ +## ThemeController.count + + + +> Code samples + +```'javascript--nodejs +const fetch = require('node-fetch'); + +const headers = { + 'Accept':'application/json' +}; + +fetch('http://localhost:3000/themes/count', +{ + method: 'GET', + + headers: headers +}) +.then(function(res) { + return res.json(); +}).then(function(body) { + console.log(body); +}); + +``` + +`GET /themes/count` + +

Parameters

+ +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|where|query|object|false|none| + +> Example responses + +> 200 Response + +```json +{ + "count": 0 +} +``` + +

Responses

+ +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|Theme model count|[loopback.Count](#schemaloopback.count)| + + + +## ThemeController.replaceById + + + +> Code samples + +```'javascript--nodejs +const fetch = require('node-fetch'); +const inputBody = { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "calBg": "string", + "calFg": "string", + "eventBg": "string", + "eventFg": "string", + "extId": "string", + "extMetadata": {} +}; +const headers = { + 'Content-Type':'application/json' +}; + +fetch('http://localhost:3000/themes/{id}', +{ + method: 'PUT', + body: JSON.stringify(inputBody), + headers: headers +}) +.then(function(res) { + return res.json(); +}).then(function(body) { + console.log(body); +}); + +``` + +`PUT /themes/{id}` + +> Body parameter + +```json +{ + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "calBg": "string", + "calFg": "string", + "eventBg": "string", + "eventFg": "string", + "extId": "string", + "extMetadata": {} +} +``` + +

Parameters

+ +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|id|path|string|true|none| +|body|body|[Theme](#schematheme)|false|none| + +

Responses

+ +|Status|Meaning|Description|Schema| +|---|---|---|---| +|204|[No Content](https://tools.ietf.org/html/rfc7231#section-6.3.5)|Theme PUT success|None| + + + +## ThemeController.updateById + + + +> Code samples + +```'javascript--nodejs +const fetch = require('node-fetch'); +const inputBody = { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "calBg": "string", + "calFg": "string", + "eventBg": "string", + "eventFg": "string", + "extId": "string", + "extMetadata": {} +}; +const headers = { + 'Content-Type':'application/json' +}; + +fetch('http://localhost:3000/themes/{id}', +{ + method: 'PATCH', + body: JSON.stringify(inputBody), + headers: headers +}) +.then(function(res) { + return res.json(); +}).then(function(body) { + console.log(body); +}); + +``` + +`PATCH /themes/{id}` + +> Body parameter + +```json +{ + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "calBg": "string", + "calFg": "string", + "eventBg": "string", + "eventFg": "string", + "extId": "string", + "extMetadata": {} +} +``` + +

Parameters

+ +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|id|path|string|true|none| +|body|body|[ThemePartial](#schemathemepartial)|false|none| + +

Responses

+ +|Status|Meaning|Description|Schema| +|---|---|---|---| +|204|[No Content](https://tools.ietf.org/html/rfc7231#section-6.3.5)|Theme PATCH success|None| + + + +## ThemeController.findById + + + +> Code samples + +```'javascript--nodejs +const fetch = require('node-fetch'); + +const headers = { + 'Accept':'application/json' +}; + +fetch('http://localhost:3000/themes/{id}', +{ + method: 'GET', + + headers: headers +}) +.then(function(res) { + return res.json(); +}).then(function(body) { + console.log(body); +}); + +``` + +`GET /themes/{id}` + +

Parameters

+ +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|id|path|string|true|none| +|filter|query|[themes.Filter](#schemathemes.filter)|false|none| + +> Example responses + +> 200 Response + +```json +{ + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "calBg": "string", + "calFg": "string", + "eventBg": "string", + "eventFg": "string", + "extId": "string", + "extMetadata": {} +} +``` + +

Responses

+ +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|Theme model instance|[ThemeWithRelations](#schemathemewithrelations)| + + + +## ThemeController.deleteById + + + +> Code samples + +```'javascript--nodejs +const fetch = require('node-fetch'); + +fetch('http://localhost:3000/themes/{id}', +{ + method: 'DELETE' + +}) +.then(function(res) { + return res.json(); +}).then(function(body) { + console.log(body); +}); + +``` + +`DELETE /themes/{id}` + +

Parameters

+ +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|id|path|string|true|none| + +

Responses

+ +|Status|Meaning|Description|Schema| +|---|---|---|---| +|204|[No Content](https://tools.ietf.org/html/rfc7231#section-6.3.5)|Theme DELETE success|None| + + + +## ThemeController.create + + + +> Code samples + +```'javascript--nodejs +const fetch = require('node-fetch'); +const inputBody = { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "calBg": "string", + "calFg": "string", + "eventBg": "string", + "eventFg": "string", + "extId": "string", + "extMetadata": {} +}; +const headers = { + 'Content-Type':'application/json', + 'Accept':'application/json' +}; + +fetch('http://localhost:3000/themes', +{ + method: 'POST', + body: JSON.stringify(inputBody), + headers: headers +}) +.then(function(res) { + return res.json(); +}).then(function(body) { + console.log(body); +}); + +``` + +`POST /themes` + +> Body parameter + +```json +{ + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "calBg": "string", + "calFg": "string", + "eventBg": "string", + "eventFg": "string", + "extId": "string", + "extMetadata": {} +} +``` + +

Parameters

+ +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|body|body|[NewTheme](#schemanewtheme)|false|none| + +> Example responses + +> 200 Response + +```json +{ + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "calBg": "string", + "calFg": "string", + "eventBg": "string", + "eventFg": "string", + "extId": "string", + "extMetadata": {} +} +``` + +

Responses

+ +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|Theme model instance|[Theme](#schematheme)| + + + +## ThemeController.updateAll + + + +> Code samples + +```'javascript--nodejs +const fetch = require('node-fetch'); +const inputBody = { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "calBg": "string", + "calFg": "string", + "eventBg": "string", + "eventFg": "string", + "extId": "string", + "extMetadata": {} +}; +const headers = { + 'Content-Type':'application/json', + 'Accept':'application/json' +}; + +fetch('http://localhost:3000/themes', +{ + method: 'PATCH', + body: JSON.stringify(inputBody), + headers: headers +}) +.then(function(res) { + return res.json(); +}).then(function(body) { + console.log(body); +}); + +``` + +`PATCH /themes` + +> Body parameter + +```json +{ + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "calBg": "string", + "calFg": "string", + "eventBg": "string", + "eventFg": "string", + "extId": "string", + "extMetadata": {} +} +``` + +

Parameters

+ +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|where|query|object|false|none| +|body|body|[ThemePartial](#schemathemepartial)|false|none| + +> Example responses + +> 200 Response + +```json +{ + "count": 0 +} +``` + +

Responses

+ +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|Theme PATCH success count|[loopback.Count](#schemaloopback.count)| + + + +## ThemeController.find + + + +> Code samples + +```'javascript--nodejs +const fetch = require('node-fetch'); + +const headers = { + 'Accept':'application/json' +}; + +fetch('http://localhost:3000/themes', +{ + method: 'GET', + + headers: headers +}) +.then(function(res) { + return res.json(); +}).then(function(body) { + console.log(body); +}); + +``` + +`GET /themes` + +

Parameters

+ +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|filter|query|[themes.Filter1](#schemathemes.filter1)|false|none| + +> Example responses + +> 200 Response + +```json +[ + { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "calBg": "string", + "calFg": "string", + "eventBg": "string", + "eventFg": "string", + "extId": "string", + "extMetadata": {} + } +] +``` + +

Responses

+ +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|Array of Theme model instances|Inline| + +

Response Schema

+ +Status Code **200** + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|*anonymous*|[[ThemeWithRelations](#schemathemewithrelations)]|false|none|[(tsType: ThemeWithRelations, schemaOptions: { includeRelations: true })]| +|» ThemeWithRelations|[ThemeWithRelations](#schemathemewithrelations)|false|none|(tsType: ThemeWithRelations, schemaOptions: { includeRelations: true })| +|»» deleted|boolean|false|none|none| +|»» deletedOn|string(date-time)¦null|false|none|none| +|»» deletedBy|string¦null|false|none|none| +|»» createdOn|string(date-time)|false|none|none| +|»» modifiedOn|string(date-time)|false|none|none| +|»» createdBy|string|false|none|none| +|»» modifiedBy|string|false|none|none| +|»» id|string|false|none|none| +|»» calBg|string|false|none|none| +|»» calFg|string|false|none|none| +|»» eventBg|string|false|none|none| +|»» eventFg|string|false|none|none| +|»» extId|string|false|none|none| +|»» extMetadata|object|false|none|none| + + + +

WorkingHourController

+ +## WorkingHourController.count + + + +> Code samples + +```'javascript--nodejs +const fetch = require('node-fetch'); + +const headers = { + 'Accept':'application/json' +}; + +fetch('http://localhost:3000/working-hours/count', +{ + method: 'GET', + + headers: headers +}) +.then(function(res) { + return res.json(); +}).then(function(body) { + console.log(body); +}); + +``` + +`GET /working-hours/count` + +

Parameters

+ +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|where|query|object|false|none| + +> Example responses + +> 200 Response + +```json +{ + "count": 0 +} +``` + +

Responses

+ +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|WorkingHour model count|[loopback.Count](#schemaloopback.count)| + + + +## WorkingHourController.replaceById + + + +> Code samples + +```'javascript--nodejs +const fetch = require('node-fetch'); +const inputBody = { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "dayOfWeek": 0, + "end": "string", + "start": "string", + "calendarId": "string", + "extId": "string", + "extMetadata": {} +}; +const headers = { + 'Content-Type':'application/json' +}; + +fetch('http://localhost:3000/working-hours/{id}', +{ + method: 'PUT', + body: JSON.stringify(inputBody), + headers: headers +}) +.then(function(res) { + return res.json(); +}).then(function(body) { + console.log(body); +}); + +``` + +`PUT /working-hours/{id}` + +> Body parameter + +```json +{ + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "dayOfWeek": 0, + "end": "string", + "start": "string", + "calendarId": "string", + "extId": "string", + "extMetadata": {} +} +``` + +

Parameters

+ +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|id|path|string|true|none| +|body|body|[WorkingHour](#schemaworkinghour)|false|none| + +

Responses

+ +|Status|Meaning|Description|Schema| +|---|---|---|---| +|204|[No Content](https://tools.ietf.org/html/rfc7231#section-6.3.5)|WorkingHour PUT success|None| + + + +## WorkingHourController.updateById + + + +> Code samples + +```'javascript--nodejs +const fetch = require('node-fetch'); +const inputBody = { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "dayOfWeek": 0, + "end": "string", + "start": "string", + "calendarId": "string", + "extId": "string", + "extMetadata": {} +}; +const headers = { + 'Content-Type':'application/json' +}; + +fetch('http://localhost:3000/working-hours/{id}', +{ + method: 'PATCH', + body: JSON.stringify(inputBody), + headers: headers +}) +.then(function(res) { + return res.json(); +}).then(function(body) { + console.log(body); +}); + +``` + +`PATCH /working-hours/{id}` + +> Body parameter + +```json +{ + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "dayOfWeek": 0, + "end": "string", + "start": "string", + "calendarId": "string", + "extId": "string", + "extMetadata": {} +} +``` + +

Parameters

+ +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|id|path|string|true|none| +|body|body|[WorkingHourPartial](#schemaworkinghourpartial)|false|none| + +

Responses

+ +|Status|Meaning|Description|Schema| +|---|---|---|---| +|204|[No Content](https://tools.ietf.org/html/rfc7231#section-6.3.5)|WorkingHour PATCH success|None| + + + +## WorkingHourController.findById + + + +> Code samples + +```'javascript--nodejs +const fetch = require('node-fetch'); + +const headers = { + 'Accept':'application/json' +}; + +fetch('http://localhost:3000/working-hours/{id}', +{ + method: 'GET', + + headers: headers +}) +.then(function(res) { + return res.json(); +}).then(function(body) { + console.log(body); +}); + +``` + +`GET /working-hours/{id}` + +

Parameters

+ +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|id|path|string|true|none| +|filter|query|[working_hours.Filter](#schemaworking_hours.filter)|false|none| + +> Example responses + +> 200 Response + +```json +{ + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "dayOfWeek": 0, + "end": "string", + "start": "string", + "calendarId": "string", + "extId": "string", + "extMetadata": {}, + "calendar": { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "source": "string", + "enableWorkingHours": true, + "location": "string", + "identifier": "string", + "summary": "string", + "timezone": "string", + "extId": "string", + "extMetadata": {}, + "events": [ + { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "bgColor": "string", + "description": "string", + "endDateTime": "2019-08-24T14:15:22Z", + "fgColor": "string", + "iCalUid": "string", + "isFullDayEvent": true, + "isLocked": true, + "link": "string", + "location": "string", + "meetingLink": "string", + "identifier": "string", + "startDateTime": "2019-08-24T14:15:22Z", + "status": "confirmed", + "summary": "string", + "timezone": "string", + "calendarId": "string", + "parentEventId": "string", + "extId": "string", + "extMetadata": {}, + "calendar": {}, + "parentEvent": {}, + "attendees": [ + { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "identifier": "string", + "isOptional": true, + "isOrganizer": true, + "messages": "string", + "responseStatus": "needsAction", + "eventId": "string", + "extId": "string", + "extMetadata": {}, + "event": {} + } + ], + "attachments": [ + { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "fileUrl": "string", + "iconLink": "string", + "mimeType": "string", + "title": "string", + "eventId": "string", + "extId": "string", + "extMetadata": {}, + "event": {} + } + ] + } + ], + "workingHours": [ + { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "dayOfWeek": 0, + "end": "string", + "start": "string", + "calendarId": "string", + "extId": "string", + "extMetadata": {}, + "calendar": {} + } + ], + "subscriptions": [ + { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "accessRole": "freeBusyReader", + "bgColor": "string", + "fgColor": "string", + "isHidden": true, + "isPrimary": true, + "identifier": "string", + "defaultReminders": {}, + "notificationSettings": {}, + "calendarId": "string", + "extId": "string", + "extMetadata": {}, + "calendar": {} + } + ] + } +} +``` + +

Responses

+ +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|WorkingHour model instance|[WorkingHourWithRelations](#schemaworkinghourwithrelations)| + + + +## WorkingHourController.deleteById + + + +> Code samples + +```'javascript--nodejs +const fetch = require('node-fetch'); + +fetch('http://localhost:3000/working-hours/{id}', +{ + method: 'DELETE' + +}) +.then(function(res) { + return res.json(); +}).then(function(body) { + console.log(body); +}); + +``` + +`DELETE /working-hours/{id}` + +

Parameters

+ +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|id|path|string|true|none| + +

Responses

+ +|Status|Meaning|Description|Schema| +|---|---|---|---| +|204|[No Content](https://tools.ietf.org/html/rfc7231#section-6.3.5)|WorkingHour DELETE success|None| + + + +## WorkingHourController.create + + + +> Code samples + +```'javascript--nodejs +const fetch = require('node-fetch'); +const inputBody = { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "dayOfWeek": 0, + "end": "string", + "start": "string", + "calendarId": "string", + "extId": "string", + "extMetadata": {} +}; +const headers = { + 'Content-Type':'application/json', + 'Accept':'application/json' +}; + +fetch('http://localhost:3000/working-hours', +{ + method: 'POST', + body: JSON.stringify(inputBody), + headers: headers +}) +.then(function(res) { + return res.json(); +}).then(function(body) { + console.log(body); +}); + +``` + +`POST /working-hours` + +> Body parameter + +```json +{ + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "dayOfWeek": 0, + "end": "string", + "start": "string", + "calendarId": "string", + "extId": "string", + "extMetadata": {} +} +``` + +

Parameters

+ +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|body|body|[NewWorkingHour](#schemanewworkinghour)|false|none| + +> Example responses + +> 200 Response + +```json +{ + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "dayOfWeek": 0, + "end": "string", + "start": "string", + "calendarId": "string", + "extId": "string", + "extMetadata": {} +} +``` + +

Responses

+ +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|WorkingHour model instance|[WorkingHour](#schemaworkinghour)| + + + +## WorkingHourController.updateAll + + + +> Code samples + +```'javascript--nodejs +const fetch = require('node-fetch'); +const inputBody = { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "dayOfWeek": 0, + "end": "string", + "start": "string", + "calendarId": "string", + "extId": "string", + "extMetadata": {} +}; +const headers = { + 'Content-Type':'application/json', + 'Accept':'application/json' +}; + +fetch('http://localhost:3000/working-hours', +{ + method: 'PATCH', + body: JSON.stringify(inputBody), + headers: headers +}) +.then(function(res) { + return res.json(); +}).then(function(body) { + console.log(body); +}); + +``` + +`PATCH /working-hours` + +> Body parameter + +```json +{ + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "dayOfWeek": 0, + "end": "string", + "start": "string", + "calendarId": "string", + "extId": "string", + "extMetadata": {} +} +``` + +

Parameters

+ +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|where|query|object|false|none| +|body|body|[WorkingHourPartial](#schemaworkinghourpartial)|false|none| + +> Example responses + +> 200 Response + +```json +{ + "count": 0 +} +``` + +

Responses

+ +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|WorkingHour PATCH success count|[loopback.Count](#schemaloopback.count)| + + + +## WorkingHourController.find + + + +> Code samples + +```'javascript--nodejs +const fetch = require('node-fetch'); + +const headers = { + 'Accept':'application/json' +}; + +fetch('http://localhost:3000/working-hours', +{ + method: 'GET', + + headers: headers +}) +.then(function(res) { + return res.json(); +}).then(function(body) { + console.log(body); +}); + +``` + +`GET /working-hours` + +

Parameters

+ +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|filter|query|[working_hours.Filter1](#schemaworking_hours.filter1)|false|none| + +> Example responses + +> 200 Response + +```json +[ + { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "dayOfWeek": 0, + "end": "string", + "start": "string", + "calendarId": "string", + "extId": "string", + "extMetadata": {}, + "calendar": { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "source": "string", + "enableWorkingHours": true, + "location": "string", + "identifier": "string", + "summary": "string", + "timezone": "string", + "extId": "string", + "extMetadata": {}, + "events": [ + { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "bgColor": "string", + "description": "string", + "endDateTime": "2019-08-24T14:15:22Z", + "fgColor": "string", + "iCalUid": "string", + "isFullDayEvent": true, + "isLocked": true, + "link": "string", + "location": "string", + "meetingLink": "string", + "identifier": "string", + "startDateTime": "2019-08-24T14:15:22Z", + "status": "confirmed", + "summary": "string", + "timezone": "string", + "calendarId": "string", + "parentEventId": "string", + "extId": "string", + "extMetadata": {}, + "calendar": {}, + "parentEvent": {}, + "attendees": [ + { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "identifier": "string", + "isOptional": true, + "isOrganizer": true, + "messages": "string", + "responseStatus": "needsAction", + "eventId": "string", + "extId": "string", + "extMetadata": {}, + "event": {} + } + ], + "attachments": [ + { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "fileUrl": "string", + "iconLink": "string", + "mimeType": "string", + "title": "string", + "eventId": "string", + "extId": "string", + "extMetadata": {}, + "event": {} + } + ] + } + ], + "workingHours": [ + {} + ], + "subscriptions": [ + { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "accessRole": "freeBusyReader", + "bgColor": "string", + "fgColor": "string", + "isHidden": true, + "isPrimary": true, + "identifier": "string", + "defaultReminders": {}, + "notificationSettings": {}, + "calendarId": "string", + "extId": "string", + "extMetadata": {}, + "calendar": {} + } + ] + } + } +] +``` + +

Responses

+ +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|Array of WorkingHour model instances|Inline| + +

Response Schema

+ +Status Code **200** + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|*anonymous*|[[WorkingHourWithRelations](#schemaworkinghourwithrelations)]|false|none|[(tsType: WorkingHourWithRelations, schemaOptions: { includeRelations: true })]| +|» WorkingHourWithRelations|[WorkingHourWithRelations](#schemaworkinghourwithrelations)|false|none|(tsType: WorkingHourWithRelations, schemaOptions: { includeRelations: true })| +|»» deleted|boolean|false|none|none| +|»» deletedOn|string(date-time)¦null|false|none|none| +|»» deletedBy|string¦null|false|none|none| +|»» createdOn|string(date-time)|false|none|none| +|»» modifiedOn|string(date-time)|false|none|none| +|»» createdBy|string|false|none|none| +|»» modifiedBy|string|false|none|none| +|»» id|string|false|none|none| +|»» dayOfWeek|number|false|none|none| +|»» end|string|false|none|none| +|»» start|string|false|none|none| +|»» calendarId|string|true|none|none| +|»» extId|string|false|none|none| +|»» extMetadata|object|false|none|none| +|»» calendar|[CalendarWithRelations](#schemacalendarwithrelations)|false|none|(tsType: CalendarWithRelations, schemaOptions: { includeRelations: true })| +|»»» deleted|boolean|false|none|none| +|»»» deletedOn|string(date-time)¦null|false|none|none| +|»»» deletedBy|string¦null|false|none|none| +|»»» createdOn|string(date-time)|false|none|none| +|»»» modifiedOn|string(date-time)|false|none|none| +|»»» createdBy|string|false|none|none| +|»»» modifiedBy|string|false|none|none| +|»»» id|string|false|none|none| +|»»» source|string|false|none|none| +|»»» enableWorkingHours|boolean|false|none|none| +|»»» location|string|false|none|none| +|»»» identifier|string|true|none|none| +|»»» summary|string|false|none|none| +|»»» timezone|string|false|none|none| +|»»» extId|string|false|none|none| +|»»» extMetadata|object|false|none|none| +|»»» events|[[EventWithRelations](#schemaeventwithrelations)]|false|none|(tsType: EventWithRelations, schemaOptions: { includeRelations: true })| +|»»»» EventWithRelations|[EventWithRelations](#schemaeventwithrelations)|false|none|(tsType: EventWithRelations, schemaOptions: { includeRelations: true })| +|»»»»» deleted|boolean|false|none|none| +|»»»»» deletedOn|string(date-time)¦null|false|none|none| +|»»»»» deletedBy|string¦null|false|none|none| +|»»»»» createdOn|string(date-time)|false|none|none| +|»»»»» modifiedOn|string(date-time)|false|none|none| +|»»»»» createdBy|string|false|none|none| +|»»»»» modifiedBy|string|false|none|none| +|»»»»» id|string|false|none|none| +|»»»»» bgColor|string|false|none|none| +|»»»»» description|string|false|none|none| +|»»»»» endDateTime|string(date-time)|false|none|none| +|»»»»» fgColor|string|false|none|none| +|»»»»» iCalUid|string|false|none|none| +|»»»»» isFullDayEvent|boolean|false|none|none| +|»»»»» isLocked|boolean|false|none|none| +|»»»»» link|string|false|none|none| +|»»»»» location|string|false|none|none| +|»»»»» meetingLink|string|false|none|none| +|»»»»» identifier|string|false|none|none| +|»»»»» startDateTime|string(date-time)|false|none|none| +|»»»»» status|string|false|none|none| +|»»»»» summary|string|false|none|none| +|»»»»» timezone|string|false|none|none| +|»»»»» calendarId|string|true|none|none| +|»»»»» parentEventId|string|false|none|none| +|»»»»» extId|string|false|none|none| +|»»»»» extMetadata|object|false|none|none| +|»»»»» calendar|[CalendarWithRelations](#schemacalendarwithrelations)|false|none|(tsType: CalendarWithRelations, schemaOptions: { includeRelations: true })| +|»»»»» parentEvent|[EventWithRelations](#schemaeventwithrelations)|false|none|(tsType: EventWithRelations, schemaOptions: { includeRelations: true })| +|»»»»» attendees|[[AttendeeWithRelations](#schemaattendeewithrelations)]|false|none|(tsType: AttendeeWithRelations, schemaOptions: { includeRelations: true })| +|»»»»»» AttendeeWithRelations|[AttendeeWithRelations](#schemaattendeewithrelations)|false|none|(tsType: AttendeeWithRelations, schemaOptions: { includeRelations: true })| +|»»»»»»» deleted|boolean|false|none|none| +|»»»»»»» deletedOn|string(date-time)¦null|false|none|none| +|»»»»»»» deletedBy|string¦null|false|none|none| +|»»»»»»» createdOn|string(date-time)|false|none|none| +|»»»»»»» modifiedOn|string(date-time)|false|none|none| +|»»»»»»» createdBy|string|false|none|none| +|»»»»»»» modifiedBy|string|false|none|none| +|»»»»»»» id|string|false|none|none| +|»»»»»»» identifier|string|true|none|none| +|»»»»»»» isOptional|boolean|false|none|none| +|»»»»»»» isOrganizer|boolean|false|none|none| +|»»»»»»» messages|string|false|none|none| +|»»»»»»» responseStatus|string|false|none|none| +|»»»»»»» eventId|string|true|none|none| +|»»»»»»» extId|string|false|none|none| +|»»»»»»» extMetadata|object|false|none|none| +|»»»»»»» event|[EventWithRelations](#schemaeventwithrelations)|false|none|(tsType: EventWithRelations, schemaOptions: { includeRelations: true })| +|»»»»» attachments|[[AttachmentWithRelations](#schemaattachmentwithrelations)]|false|none|(tsType: AttachmentWithRelations, schemaOptions: { includeRelations: true })| +|»»»»»» AttachmentWithRelations|[AttachmentWithRelations](#schemaattachmentwithrelations)|false|none|(tsType: AttachmentWithRelations, schemaOptions: { includeRelations: true })| +|»»»»»»» deleted|boolean|false|none|none| +|»»»»»»» deletedOn|string(date-time)¦null|false|none|none| +|»»»»»»» deletedBy|string¦null|false|none|none| +|»»»»»»» createdOn|string(date-time)|false|none|none| +|»»»»»»» modifiedOn|string(date-time)|false|none|none| +|»»»»»»» createdBy|string|false|none|none| +|»»»»»»» modifiedBy|string|false|none|none| +|»»»»»»» id|string|false|none|none| +|»»»»»»» fileUrl|string|true|none|none| +|»»»»»»» iconLink|string|false|none|none| +|»»»»»»» mimeType|string|false|none|none| +|»»»»»»» title|string|false|none|none| +|»»»»»»» eventId|string|true|none|none| +|»»»»»»» extId|string|false|none|none| +|»»»»»»» extMetadata|object|false|none|none| +|»»»»»»» event|[EventWithRelations](#schemaeventwithrelations)|false|none|(tsType: EventWithRelations, schemaOptions: { includeRelations: true })| +|»»» workingHours|[[WorkingHourWithRelations](#schemaworkinghourwithrelations)]|false|none|(tsType: WorkingHourWithRelations, schemaOptions: { includeRelations: true })| +|»»»» WorkingHourWithRelations|[WorkingHourWithRelations](#schemaworkinghourwithrelations)|false|none|(tsType: WorkingHourWithRelations, schemaOptions: { includeRelations: true })| +|»»» subscriptions|[[SubscriptionWithRelations](#schemasubscriptionwithrelations)]|false|none|(tsType: SubscriptionWithRelations, schemaOptions: { includeRelations: true })| +|»»»» SubscriptionWithRelations|[SubscriptionWithRelations](#schemasubscriptionwithrelations)|false|none|(tsType: SubscriptionWithRelations, schemaOptions: { includeRelations: true })| +|»»»»» deleted|boolean|false|none|none| +|»»»»» deletedOn|string(date-time)¦null|false|none|none| +|»»»»» deletedBy|string¦null|false|none|none| +|»»»»» createdOn|string(date-time)|false|none|none| +|»»»»» modifiedOn|string(date-time)|false|none|none| +|»»»»» createdBy|string|false|none|none| +|»»»»» modifiedBy|string|false|none|none| +|»»»»» id|string|false|none|none| +|»»»»» accessRole|string|false|none|none| +|»»»»» bgColor|string|false|none|none| +|»»»»» fgColor|string|false|none|none| +|»»»»» isHidden|boolean|false|none|none| +|»»»»» isPrimary|boolean|false|none|none| +|»»»»» identifier|string|true|none|none| +|»»»»» defaultReminders|object|false|none|none| +|»»»»» notificationSettings|object|false|none|none| +|»»»»» calendarId|string|true|none|none| +|»»»»» extId|string|false|none|none| +|»»»»» extMetadata|object|false|none|none| +|»»»»» calendar|[CalendarWithRelations](#schemacalendarwithrelations)|false|none|(tsType: CalendarWithRelations, schemaOptions: { includeRelations: true })| + +#### Enumerated Values + +|Property|Value| +|---|---| +|dayOfWeek|0| +|dayOfWeek|1| +|dayOfWeek|2| +|dayOfWeek|3| +|dayOfWeek|4| +|dayOfWeek|5| +|dayOfWeek|6| +|status|confirmed| +|status|tentative| +|status|cancelled| +|status|completed| +|responseStatus|needsAction| +|responseStatus|tentative| +|responseStatus|accepted| +|responseStatus|declined| +|accessRole|freeBusyReader| +|accessRole|reader| +|accessRole|writer| +|accessRole|owner| + + + +# Schemas + +

Attachment

+ + + + + + +```json +{ + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "fileUrl": "string", + "iconLink": "string", + "mimeType": "string", + "title": "string", + "eventId": "string", + "extId": "string", + "extMetadata": {} +} + +``` + +Attachment + +### Properties + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|deleted|boolean|false|none|none| +|deletedOn|string(date-time)¦null|false|none|none| +|deletedBy|string¦null|false|none|none| +|createdOn|string(date-time)|false|none|none| +|modifiedOn|string(date-time)|false|none|none| +|createdBy|string|false|none|none| +|modifiedBy|string|false|none|none| +|id|string|false|none|none| +|fileUrl|string|true|none|none| +|iconLink|string|false|none|none| +|mimeType|string|false|none|none| +|title|string|false|none|none| +|eventId|string|true|none|none| +|extId|string|false|none|none| +|extMetadata|object|false|none|none| + +

NewAttachment

+ + + + + + +```json +{ + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "fileUrl": "string", + "iconLink": "string", + "mimeType": "string", + "title": "string", + "eventId": "string", + "extId": "string", + "extMetadata": {} +} + +``` + +NewAttachment + +### Properties + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|deleted|boolean|false|none|none| +|deletedOn|string(date-time)¦null|false|none|none| +|deletedBy|string¦null|false|none|none| +|createdOn|string(date-time)|false|none|none| +|modifiedOn|string(date-time)|false|none|none| +|createdBy|string|false|none|none| +|modifiedBy|string|false|none|none| +|fileUrl|string|true|none|none| +|iconLink|string|false|none|none| +|mimeType|string|false|none|none| +|title|string|false|none|none| +|eventId|string|true|none|none| +|extId|string|false|none|none| +|extMetadata|object|false|none|none| + +

AttendeeWithRelations

+ + + + + + +```json +{ + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "identifier": "string", + "isOptional": true, + "isOrganizer": true, + "messages": "string", + "responseStatus": "needsAction", + "eventId": "string", + "extId": "string", + "extMetadata": {}, + "event": { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "bgColor": "string", + "description": "string", + "endDateTime": "2019-08-24T14:15:22Z", + "fgColor": "string", + "iCalUid": "string", + "isFullDayEvent": true, + "isLocked": true, + "link": "string", + "location": "string", + "meetingLink": "string", + "identifier": "string", + "startDateTime": "2019-08-24T14:15:22Z", + "status": "confirmed", + "summary": "string", + "timezone": "string", + "calendarId": "string", + "parentEventId": "string", + "extId": "string", + "extMetadata": {}, + "calendar": { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "source": "string", + "enableWorkingHours": true, + "location": "string", + "identifier": "string", + "summary": "string", + "timezone": "string", + "extId": "string", + "extMetadata": {}, + "events": [ + {} + ], + "workingHours": [ + { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "dayOfWeek": 0, + "end": "string", + "start": "string", + "calendarId": "string", + "extId": "string", + "extMetadata": {}, + "calendar": {} + } + ], + "subscriptions": [ + { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "accessRole": "freeBusyReader", + "bgColor": "string", + "fgColor": "string", + "isHidden": true, + "isPrimary": true, + "identifier": "string", + "defaultReminders": {}, + "notificationSettings": {}, + "calendarId": "string", + "extId": "string", + "extMetadata": {}, + "calendar": {} + } + ] + }, + "parentEvent": {}, + "attendees": [ + { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "identifier": "string", + "isOptional": true, + "isOrganizer": true, + "messages": "string", + "responseStatus": "needsAction", + "eventId": "string", + "extId": "string", + "extMetadata": {}, + "event": {} + } + ], + "attachments": [ + { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "fileUrl": "string", + "iconLink": "string", + "mimeType": "string", + "title": "string", + "eventId": "string", + "extId": "string", + "extMetadata": {}, + "event": {} + } + ] + } +} + +``` + +AttendeeWithRelations + +### Properties + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|deleted|boolean|false|none|none| +|deletedOn|string(date-time)¦null|false|none|none| +|deletedBy|string¦null|false|none|none| +|createdOn|string(date-time)|false|none|none| +|modifiedOn|string(date-time)|false|none|none| +|createdBy|string|false|none|none| +|modifiedBy|string|false|none|none| +|id|string|false|none|none| +|identifier|string|true|none|none| +|isOptional|boolean|false|none|none| +|isOrganizer|boolean|false|none|none| +|messages|string|false|none|none| +|responseStatus|string|false|none|none| +|eventId|string|true|none|none| +|extId|string|false|none|none| +|extMetadata|object|false|none|none| +|event|[EventWithRelations](#schemaeventwithrelations)|false|none|(tsType: EventWithRelations, schemaOptions: { includeRelations: true })| + +#### Enumerated Values + +|Property|Value| +|---|---| +|responseStatus|needsAction| +|responseStatus|tentative| +|responseStatus|accepted| +|responseStatus|declined| + +

EventWithRelations

+ + + + + + +```json +{ + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "bgColor": "string", + "description": "string", + "endDateTime": "2019-08-24T14:15:22Z", + "fgColor": "string", + "iCalUid": "string", + "isFullDayEvent": true, + "isLocked": true, + "link": "string", + "location": "string", + "meetingLink": "string", + "identifier": "string", + "startDateTime": "2019-08-24T14:15:22Z", + "status": "confirmed", + "summary": "string", + "timezone": "string", + "calendarId": "string", + "parentEventId": "string", + "extId": "string", + "extMetadata": {}, + "calendar": { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "source": "string", + "enableWorkingHours": true, + "location": "string", + "identifier": "string", + "summary": "string", + "timezone": "string", + "extId": "string", + "extMetadata": {}, + "events": [ + { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "bgColor": "string", + "description": "string", + "endDateTime": "2019-08-24T14:15:22Z", + "fgColor": "string", + "iCalUid": "string", + "isFullDayEvent": true, + "isLocked": true, + "link": "string", + "location": "string", + "meetingLink": "string", + "identifier": "string", + "startDateTime": "2019-08-24T14:15:22Z", + "status": "confirmed", + "summary": "string", + "timezone": "string", + "calendarId": "string", + "parentEventId": "string", + "extId": "string", + "extMetadata": {}, + "calendar": {}, + "parentEvent": {}, + "attendees": [ + { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "identifier": "string", + "isOptional": true, + "isOrganizer": true, + "messages": "string", + "responseStatus": "needsAction", + "eventId": "string", + "extId": "string", + "extMetadata": {}, + "event": {} + } + ], + "attachments": [ + { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "fileUrl": "string", + "iconLink": "string", + "mimeType": "string", + "title": "string", + "eventId": "string", + "extId": "string", + "extMetadata": {}, + "event": {} + } + ] + } + ], + "workingHours": [ + { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "dayOfWeek": 0, + "end": "string", + "start": "string", + "calendarId": "string", + "extId": "string", + "extMetadata": {}, + "calendar": {} + } + ], + "subscriptions": [ + { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "accessRole": "freeBusyReader", + "bgColor": "string", + "fgColor": "string", + "isHidden": true, + "isPrimary": true, + "identifier": "string", + "defaultReminders": {}, + "notificationSettings": {}, + "calendarId": "string", + "extId": "string", + "extMetadata": {}, + "calendar": {} + } + ] + }, + "parentEvent": { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "bgColor": "string", + "description": "string", + "endDateTime": "2019-08-24T14:15:22Z", + "fgColor": "string", + "iCalUid": "string", + "isFullDayEvent": true, + "isLocked": true, + "link": "string", + "location": "string", + "meetingLink": "string", + "identifier": "string", + "startDateTime": "2019-08-24T14:15:22Z", + "status": "confirmed", + "summary": "string", + "timezone": "string", + "calendarId": "string", + "parentEventId": "string", + "extId": "string", + "extMetadata": {}, + "calendar": { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "source": "string", + "enableWorkingHours": true, + "location": "string", + "identifier": "string", + "summary": "string", + "timezone": "string", + "extId": "string", + "extMetadata": {}, + "events": [ + {} + ], + "workingHours": [ + { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "dayOfWeek": 0, + "end": "string", + "start": "string", + "calendarId": "string", + "extId": "string", + "extMetadata": {}, + "calendar": {} + } + ], + "subscriptions": [ + { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "accessRole": "freeBusyReader", + "bgColor": "string", + "fgColor": "string", + "isHidden": true, + "isPrimary": true, + "identifier": "string", + "defaultReminders": {}, + "notificationSettings": {}, + "calendarId": "string", + "extId": "string", + "extMetadata": {}, + "calendar": {} + } + ] + }, + "parentEvent": {}, + "attendees": [ + { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "identifier": "string", + "isOptional": true, + "isOrganizer": true, + "messages": "string", + "responseStatus": "needsAction", + "eventId": "string", + "extId": "string", + "extMetadata": {}, + "event": {} + } + ], + "attachments": [ + { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "fileUrl": "string", + "iconLink": "string", + "mimeType": "string", + "title": "string", + "eventId": "string", + "extId": "string", + "extMetadata": {}, + "event": {} + } + ] + }, + "attendees": [ + { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "identifier": "string", + "isOptional": true, + "isOrganizer": true, + "messages": "string", + "responseStatus": "needsAction", + "eventId": "string", + "extId": "string", + "extMetadata": {}, + "event": { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "bgColor": "string", + "description": "string", + "endDateTime": "2019-08-24T14:15:22Z", + "fgColor": "string", + "iCalUid": "string", + "isFullDayEvent": true, + "isLocked": true, + "link": "string", + "location": "string", + "meetingLink": "string", + "identifier": "string", + "startDateTime": "2019-08-24T14:15:22Z", + "status": "confirmed", + "summary": "string", + "timezone": "string", + "calendarId": "string", + "parentEventId": "string", + "extId": "string", + "extMetadata": {}, + "calendar": { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "source": "string", + "enableWorkingHours": true, + "location": "string", + "identifier": "string", + "summary": "string", + "timezone": "string", + "extId": "string", + "extMetadata": {}, + "events": [ + {} + ], + "workingHours": [ + { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "dayOfWeek": 0, + "end": "string", + "start": "string", + "calendarId": "string", + "extId": "string", + "extMetadata": {}, + "calendar": {} + } + ], + "subscriptions": [ + { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "accessRole": "freeBusyReader", + "bgColor": "string", + "fgColor": "string", + "isHidden": true, + "isPrimary": true, + "identifier": "string", + "defaultReminders": {}, + "notificationSettings": {}, + "calendarId": "string", + "extId": "string", + "extMetadata": {}, + "calendar": {} + } + ] + }, + "parentEvent": {}, + "attendees": [], + "attachments": [ + { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "fileUrl": "string", + "iconLink": "string", + "mimeType": "string", + "title": "string", + "eventId": "string", + "extId": "string", + "extMetadata": {}, + "event": {} + } + ] + } + } + ], + "attachments": [ + { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "fileUrl": "string", + "iconLink": "string", + "mimeType": "string", + "title": "string", + "eventId": "string", + "extId": "string", + "extMetadata": {}, + "event": { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "bgColor": "string", + "description": "string", + "endDateTime": "2019-08-24T14:15:22Z", + "fgColor": "string", + "iCalUid": "string", + "isFullDayEvent": true, + "isLocked": true, + "link": "string", + "location": "string", + "meetingLink": "string", + "identifier": "string", + "startDateTime": "2019-08-24T14:15:22Z", + "status": "confirmed", + "summary": "string", + "timezone": "string", + "calendarId": "string", + "parentEventId": "string", + "extId": "string", + "extMetadata": {}, + "calendar": { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "source": "string", + "enableWorkingHours": true, + "location": "string", + "identifier": "string", + "summary": "string", + "timezone": "string", + "extId": "string", + "extMetadata": {}, + "events": [ + {} + ], + "workingHours": [ + { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "dayOfWeek": 0, + "end": "string", + "start": "string", + "calendarId": "string", + "extId": "string", + "extMetadata": {}, + "calendar": {} + } + ], + "subscriptions": [ + { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "accessRole": "freeBusyReader", + "bgColor": "string", + "fgColor": "string", + "isHidden": true, + "isPrimary": true, + "identifier": "string", + "defaultReminders": {}, + "notificationSettings": {}, + "calendarId": "string", + "extId": "string", + "extMetadata": {}, + "calendar": {} + } + ] + }, + "parentEvent": {}, + "attendees": [ + { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "identifier": "string", + "isOptional": true, + "isOrganizer": true, + "messages": "string", + "responseStatus": "needsAction", + "eventId": "string", + "extId": "string", + "extMetadata": {}, + "event": {} + } + ], + "attachments": [] + } + } + ] +} + +``` + +EventWithRelations + +### Properties + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|deleted|boolean|false|none|none| +|deletedOn|string(date-time)¦null|false|none|none| +|deletedBy|string¦null|false|none|none| +|createdOn|string(date-time)|false|none|none| +|modifiedOn|string(date-time)|false|none|none| +|createdBy|string|false|none|none| +|modifiedBy|string|false|none|none| +|id|string|false|none|none| +|bgColor|string|false|none|none| +|description|string|false|none|none| +|endDateTime|string(date-time)|false|none|none| +|fgColor|string|false|none|none| +|iCalUid|string|false|none|none| +|isFullDayEvent|boolean|false|none|none| +|isLocked|boolean|false|none|none| +|link|string|false|none|none| +|location|string|false|none|none| +|meetingLink|string|false|none|none| +|identifier|string|false|none|none| +|startDateTime|string(date-time)|false|none|none| +|status|string|false|none|none| +|summary|string|false|none|none| +|timezone|string|false|none|none| +|calendarId|string|true|none|none| +|parentEventId|string|false|none|none| +|extId|string|false|none|none| +|extMetadata|object|false|none|none| +|calendar|[CalendarWithRelations](#schemacalendarwithrelations)|false|none|(tsType: CalendarWithRelations, schemaOptions: { includeRelations: true })| +|parentEvent|[EventWithRelations](#schemaeventwithrelations)|false|none|(tsType: EventWithRelations, schemaOptions: { includeRelations: true })| +|attendees|[[AttendeeWithRelations](#schemaattendeewithrelations)]|false|none|[(tsType: AttendeeWithRelations, schemaOptions: { includeRelations: true })]| +|attachments|[[AttachmentWithRelations](#schemaattachmentwithrelations)]|false|none|[(tsType: AttachmentWithRelations, schemaOptions: { includeRelations: true })]| + +#### Enumerated Values + +|Property|Value| +|---|---| +|status|confirmed| +|status|tentative| +|status|cancelled| +|status|completed| + +

AttachmentWithRelations

+ + + + + + +```json +{ + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "fileUrl": "string", + "iconLink": "string", + "mimeType": "string", + "title": "string", + "eventId": "string", + "extId": "string", + "extMetadata": {}, + "event": { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "bgColor": "string", + "description": "string", + "endDateTime": "2019-08-24T14:15:22Z", + "fgColor": "string", + "iCalUid": "string", + "isFullDayEvent": true, + "isLocked": true, + "link": "string", + "location": "string", + "meetingLink": "string", + "identifier": "string", + "startDateTime": "2019-08-24T14:15:22Z", + "status": "confirmed", + "summary": "string", + "timezone": "string", + "calendarId": "string", + "parentEventId": "string", + "extId": "string", + "extMetadata": {}, + "calendar": { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "source": "string", + "enableWorkingHours": true, + "location": "string", + "identifier": "string", + "summary": "string", + "timezone": "string", + "extId": "string", + "extMetadata": {}, + "events": [ + {} + ], + "workingHours": [ + { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "dayOfWeek": 0, + "end": "string", + "start": "string", + "calendarId": "string", + "extId": "string", + "extMetadata": {}, + "calendar": {} + } + ], + "subscriptions": [ + { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "accessRole": "freeBusyReader", + "bgColor": "string", + "fgColor": "string", + "isHidden": true, + "isPrimary": true, + "identifier": "string", + "defaultReminders": {}, + "notificationSettings": {}, + "calendarId": "string", + "extId": "string", + "extMetadata": {}, + "calendar": {} + } + ] + }, + "parentEvent": {}, + "attendees": [ + { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "identifier": "string", + "isOptional": true, + "isOrganizer": true, + "messages": "string", + "responseStatus": "needsAction", + "eventId": "string", + "extId": "string", + "extMetadata": {}, + "event": {} + } + ], + "attachments": [ + { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "fileUrl": "string", + "iconLink": "string", + "mimeType": "string", + "title": "string", + "eventId": "string", + "extId": "string", + "extMetadata": {}, + "event": {} + } + ] + } +} + +``` + +AttachmentWithRelations + +### Properties + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|deleted|boolean|false|none|none| +|deletedOn|string(date-time)¦null|false|none|none| +|deletedBy|string¦null|false|none|none| +|createdOn|string(date-time)|false|none|none| +|modifiedOn|string(date-time)|false|none|none| +|createdBy|string|false|none|none| +|modifiedBy|string|false|none|none| +|id|string|false|none|none| +|fileUrl|string|true|none|none| +|iconLink|string|false|none|none| +|mimeType|string|false|none|none| +|title|string|false|none|none| +|eventId|string|true|none|none| +|extId|string|false|none|none| +|extMetadata|object|false|none|none| +|event|[EventWithRelations](#schemaeventwithrelations)|false|none|(tsType: EventWithRelations, schemaOptions: { includeRelations: true })| + +

AttachmentPartial

+ + + + + + +```json +{ + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "fileUrl": "string", + "iconLink": "string", + "mimeType": "string", + "title": "string", + "eventId": "string", + "extId": "string", + "extMetadata": {} +} + +``` + +AttachmentPartial + +### Properties + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|deleted|boolean|false|none|none| +|deletedOn|string(date-time)¦null|false|none|none| +|deletedBy|string¦null|false|none|none| +|createdOn|string(date-time)|false|none|none| +|modifiedOn|string(date-time)|false|none|none| +|createdBy|string|false|none|none| +|modifiedBy|string|false|none|none| +|id|string|false|none|none| +|fileUrl|string|false|none|none| +|iconLink|string|false|none|none| +|mimeType|string|false|none|none| +|title|string|false|none|none| +|eventId|string|false|none|none| +|extId|string|false|none|none| +|extMetadata|object|false|none|none| + +

Attendee

+ + + + + + +```json +{ + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "identifier": "string", + "isOptional": true, + "isOrganizer": true, + "messages": "string", + "responseStatus": "needsAction", + "eventId": "string", + "extId": "string", + "extMetadata": {} +} + +``` + +Attendee + +### Properties + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|deleted|boolean|false|none|none| +|deletedOn|string(date-time)¦null|false|none|none| +|deletedBy|string¦null|false|none|none| +|createdOn|string(date-time)|false|none|none| +|modifiedOn|string(date-time)|false|none|none| +|createdBy|string|false|none|none| +|modifiedBy|string|false|none|none| +|id|string|false|none|none| +|identifier|string|true|none|none| +|isOptional|boolean|false|none|none| +|isOrganizer|boolean|false|none|none| +|messages|string|false|none|none| +|responseStatus|string|false|none|none| +|eventId|string|true|none|none| +|extId|string|false|none|none| +|extMetadata|object|false|none|none| + +#### Enumerated Values + +|Property|Value| +|---|---| +|responseStatus|needsAction| +|responseStatus|tentative| +|responseStatus|accepted| +|responseStatus|declined| + +

NewAttendee

+ + + + + + +```json +{ + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "identifier": "string", + "isOptional": true, + "isOrganizer": true, + "messages": "string", + "responseStatus": "needsAction", + "eventId": "string", + "extId": "string", + "extMetadata": {} +} + +``` + +NewAttendee + +### Properties + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|deleted|boolean|false|none|none| +|deletedOn|string(date-time)¦null|false|none|none| +|deletedBy|string¦null|false|none|none| +|createdOn|string(date-time)|false|none|none| +|modifiedOn|string(date-time)|false|none|none| +|createdBy|string|false|none|none| +|modifiedBy|string|false|none|none| +|identifier|string|true|none|none| +|isOptional|boolean|false|none|none| +|isOrganizer|boolean|false|none|none| +|messages|string|false|none|none| +|responseStatus|string|false|none|none| +|eventId|string|true|none|none| +|extId|string|false|none|none| +|extMetadata|object|false|none|none| + +#### Enumerated Values + +|Property|Value| +|---|---| +|responseStatus|needsAction| +|responseStatus|tentative| +|responseStatus|accepted| +|responseStatus|declined| + +

AttendeePartial

+ + + + + + +```json +{ + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "identifier": "string", + "isOptional": true, + "isOrganizer": true, + "messages": "string", + "responseStatus": "needsAction", + "eventId": "string", + "extId": "string", + "extMetadata": {} +} + +``` + +AttendeePartial + +### Properties + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|deleted|boolean|false|none|none| +|deletedOn|string(date-time)¦null|false|none|none| +|deletedBy|string¦null|false|none|none| +|createdOn|string(date-time)|false|none|none| +|modifiedOn|string(date-time)|false|none|none| +|createdBy|string|false|none|none| +|modifiedBy|string|false|none|none| +|id|string|false|none|none| +|identifier|string|false|none|none| +|isOptional|boolean|false|none|none| +|isOrganizer|boolean|false|none|none| +|messages|string|false|none|none| +|responseStatus|string|false|none|none| +|eventId|string|false|none|none| +|extId|string|false|none|none| +|extMetadata|object|false|none|none| + +#### Enumerated Values + +|Property|Value| +|---|---| +|responseStatus|needsAction| +|responseStatus|tentative| +|responseStatus|accepted| +|responseStatus|declined| + +

Calendar

+ + + + + + +```json +{ + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "source": "string", + "enableWorkingHours": true, + "location": "string", + "identifier": "string", + "summary": "string", + "timezone": "string", + "extId": "string", + "extMetadata": {} +} + +``` + +Calendar + +### Properties + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|deleted|boolean|false|none|none| +|deletedOn|string(date-time)¦null|false|none|none| +|deletedBy|string¦null|false|none|none| +|createdOn|string(date-time)|false|none|none| +|modifiedOn|string(date-time)|false|none|none| +|createdBy|string|false|none|none| +|modifiedBy|string|false|none|none| +|id|string|false|none|none| +|source|string|false|none|none| +|enableWorkingHours|boolean|false|none|none| +|location|string|false|none|none| +|identifier|string|true|none|none| +|summary|string|false|none|none| +|timezone|string|false|none|none| +|extId|string|false|none|none| +|extMetadata|object|false|none|none| + +

WorkingHourExcluding_id_

+ + + + + + +```json +{ + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "dayOfWeek": 0, + "end": "string", + "start": "string", + "calendarId": "string", + "extId": "string", + "extMetadata": {} +} + +``` + +WorkingHourExcluding_id_ + +### Properties + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|deleted|boolean|false|none|none| +|deletedOn|string(date-time)¦null|false|none|none| +|deletedBy|string¦null|false|none|none| +|createdOn|string(date-time)|false|none|none| +|modifiedOn|string(date-time)|false|none|none| +|createdBy|string|false|none|none| +|modifiedBy|string|false|none|none| +|dayOfWeek|number|false|none|none| +|end|string|false|none|none| +|start|string|false|none|none| +|calendarId|string|true|none|none| +|extId|string|false|none|none| +|extMetadata|object|false|none|none| + +#### Enumerated Values + +|Property|Value| +|---|---| +|dayOfWeek|0| +|dayOfWeek|1| +|dayOfWeek|2| +|dayOfWeek|3| +|dayOfWeek|4| +|dayOfWeek|5| +|dayOfWeek|6| + +

NewCalendar

+ + + + + + +```json +{ + "source": "string", + "enableWorkingHours": true, + "location": "string", + "identifier": "string", + "summary": "string", + "timezone": "string", + "extId": "string", + "extMetadata": {}, + "workingHours": [ + { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "dayOfWeek": 0, + "end": "string", + "start": "string", + "calendarId": "string", + "extId": "string", + "extMetadata": {} + } + ], + "subscription": {} +} + +``` + +NewCalendar + +### Properties + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|source|string|false|none|none| +|enableWorkingHours|boolean|false|none|none| +|location|string|false|none|none| +|identifier|string|true|none|none| +|summary|string|false|none|none| +|timezone|string|false|none|none| +|extId|string|false|none|none| +|extMetadata|object|false|none|none| +|workingHours|[[WorkingHourExcluding_id_](#schemaworkinghourexcluding_id_)]|false|none|[(tsType: Omit, schemaOptions: { exclude: [ 'id' ] })]| +|subscription|object|false|none|none| + +

WorkingHour

+ + + + + + +```json +{ + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "dayOfWeek": 0, + "end": "string", + "start": "string", + "calendarId": "string", + "extId": "string", + "extMetadata": {} +} + +``` + +WorkingHour + +### Properties + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|deleted|boolean|false|none|none| +|deletedOn|string(date-time)¦null|false|none|none| +|deletedBy|string¦null|false|none|none| +|createdOn|string(date-time)|false|none|none| +|modifiedOn|string(date-time)|false|none|none| +|createdBy|string|false|none|none| +|modifiedBy|string|false|none|none| +|id|string|false|none|none| +|dayOfWeek|number|false|none|none| +|end|string|false|none|none| +|start|string|false|none|none| +|calendarId|string|true|none|none| +|extId|string|false|none|none| +|extMetadata|object|false|none|none| + +#### Enumerated Values + +|Property|Value| +|---|---| +|dayOfWeek|0| +|dayOfWeek|1| +|dayOfWeek|2| +|dayOfWeek|3| +|dayOfWeek|4| +|dayOfWeek|5| +|dayOfWeek|6| + +

CalendarDTO

+ + + + + + +```json +{ + "id": "string", + "source": "string", + "enableWorkingHours": true, + "location": "string", + "identifier": "string", + "summary": "string", + "timezone": "string", + "extId": "string", + "extMetadata": {}, + "workingHours": [ + { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "dayOfWeek": 0, + "end": "string", + "start": "string", + "calendarId": "string", + "extId": "string", + "extMetadata": {} + } + ], + "subscription": {} +} + +``` + +CalendarDTO + +### Properties + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|id|string|false|none|none| +|source|string|false|none|none| +|enableWorkingHours|boolean|false|none|none| +|location|string|false|none|none| +|identifier|string|true|none|none| +|summary|string|false|none|none| +|timezone|string|false|none|none| +|extId|string|false|none|none| +|extMetadata|object|false|none|none| +|workingHours|[[WorkingHour](#schemaworkinghour)]|false|none|none| +|subscription|object|false|none|none| + +

CalendarWithRelations

+ + + + + + +```json +{ + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "source": "string", + "enableWorkingHours": true, + "location": "string", + "identifier": "string", + "summary": "string", + "timezone": "string", + "extId": "string", + "extMetadata": {}, + "events": [ + { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "bgColor": "string", + "description": "string", + "endDateTime": "2019-08-24T14:15:22Z", + "fgColor": "string", + "iCalUid": "string", + "isFullDayEvent": true, + "isLocked": true, + "link": "string", + "location": "string", + "meetingLink": "string", + "identifier": "string", + "startDateTime": "2019-08-24T14:15:22Z", + "status": "confirmed", + "summary": "string", + "timezone": "string", + "calendarId": "string", + "parentEventId": "string", + "extId": "string", + "extMetadata": {}, + "calendar": { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "source": "string", + "enableWorkingHours": true, + "location": "string", + "identifier": "string", + "summary": "string", + "timezone": "string", + "extId": "string", + "extMetadata": {}, + "events": [], + "workingHours": [ + { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "dayOfWeek": 0, + "end": "string", + "start": "string", + "calendarId": "string", + "extId": "string", + "extMetadata": {}, + "calendar": {} + } + ], + "subscriptions": [ + { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "accessRole": "freeBusyReader", + "bgColor": "string", + "fgColor": "string", + "isHidden": true, + "isPrimary": true, + "identifier": "string", + "defaultReminders": {}, + "notificationSettings": {}, + "calendarId": "string", + "extId": "string", + "extMetadata": {}, + "calendar": {} + } + ] + }, + "parentEvent": {}, + "attendees": [ + { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "identifier": "string", + "isOptional": true, + "isOrganizer": true, + "messages": "string", + "responseStatus": "needsAction", + "eventId": "string", + "extId": "string", + "extMetadata": {}, + "event": {} + } + ], + "attachments": [ + { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "fileUrl": "string", + "iconLink": "string", + "mimeType": "string", + "title": "string", + "eventId": "string", + "extId": "string", + "extMetadata": {}, + "event": {} + } + ] + } + ], + "workingHours": [ + { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "dayOfWeek": 0, + "end": "string", + "start": "string", + "calendarId": "string", + "extId": "string", + "extMetadata": {}, + "calendar": { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "source": "string", + "enableWorkingHours": true, + "location": "string", + "identifier": "string", + "summary": "string", + "timezone": "string", + "extId": "string", + "extMetadata": {}, + "events": [ + { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "bgColor": "string", + "description": "string", + "endDateTime": "2019-08-24T14:15:22Z", + "fgColor": "string", + "iCalUid": "string", + "isFullDayEvent": true, + "isLocked": true, + "link": "string", + "location": "string", + "meetingLink": "string", + "identifier": "string", + "startDateTime": "2019-08-24T14:15:22Z", + "status": "confirmed", + "summary": "string", + "timezone": "string", + "calendarId": "string", + "parentEventId": "string", + "extId": "string", + "extMetadata": {}, + "calendar": {}, + "parentEvent": {}, + "attendees": [ + { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "identifier": "string", + "isOptional": true, + "isOrganizer": true, + "messages": "string", + "responseStatus": "needsAction", + "eventId": "string", + "extId": "string", + "extMetadata": {}, + "event": {} + } + ], + "attachments": [ + { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "fileUrl": "string", + "iconLink": "string", + "mimeType": "string", + "title": "string", + "eventId": "string", + "extId": "string", + "extMetadata": {}, + "event": {} + } + ] + } + ], + "workingHours": [], + "subscriptions": [ + { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "accessRole": "freeBusyReader", + "bgColor": "string", + "fgColor": "string", + "isHidden": true, + "isPrimary": true, + "identifier": "string", + "defaultReminders": {}, + "notificationSettings": {}, + "calendarId": "string", + "extId": "string", + "extMetadata": {}, + "calendar": {} + } + ] + } + } + ], + "subscriptions": [ + { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "accessRole": "freeBusyReader", + "bgColor": "string", + "fgColor": "string", + "isHidden": true, + "isPrimary": true, + "identifier": "string", + "defaultReminders": {}, + "notificationSettings": {}, + "calendarId": "string", + "extId": "string", + "extMetadata": {}, + "calendar": { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "source": "string", + "enableWorkingHours": true, + "location": "string", + "identifier": "string", + "summary": "string", + "timezone": "string", + "extId": "string", + "extMetadata": {}, + "events": [ + { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "bgColor": "string", + "description": "string", + "endDateTime": "2019-08-24T14:15:22Z", + "fgColor": "string", + "iCalUid": "string", + "isFullDayEvent": true, + "isLocked": true, + "link": "string", + "location": "string", + "meetingLink": "string", + "identifier": "string", + "startDateTime": "2019-08-24T14:15:22Z", + "status": "confirmed", + "summary": "string", + "timezone": "string", + "calendarId": "string", + "parentEventId": "string", + "extId": "string", + "extMetadata": {}, + "calendar": {}, + "parentEvent": {}, + "attendees": [ + { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "identifier": "string", + "isOptional": true, + "isOrganizer": true, + "messages": "string", + "responseStatus": "needsAction", + "eventId": "string", + "extId": "string", + "extMetadata": {}, + "event": {} + } + ], + "attachments": [ + { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "fileUrl": "string", + "iconLink": "string", + "mimeType": "string", + "title": "string", + "eventId": "string", + "extId": "string", + "extMetadata": {}, + "event": {} + } + ] + } + ], + "workingHours": [ + { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "dayOfWeek": 0, + "end": "string", + "start": "string", + "calendarId": "string", + "extId": "string", + "extMetadata": {}, + "calendar": {} + } + ], + "subscriptions": [] + } + } + ] +} + +``` + +CalendarWithRelations + +### Properties + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|deleted|boolean|false|none|none| +|deletedOn|string(date-time)¦null|false|none|none| +|deletedBy|string¦null|false|none|none| +|createdOn|string(date-time)|false|none|none| +|modifiedOn|string(date-time)|false|none|none| +|createdBy|string|false|none|none| +|modifiedBy|string|false|none|none| +|id|string|false|none|none| +|source|string|false|none|none| +|enableWorkingHours|boolean|false|none|none| +|location|string|false|none|none| +|identifier|string|true|none|none| +|summary|string|false|none|none| +|timezone|string|false|none|none| +|extId|string|false|none|none| +|extMetadata|object|false|none|none| +|events|[[EventWithRelations](#schemaeventwithrelations)]|false|none|[(tsType: EventWithRelations, schemaOptions: { includeRelations: true })]| +|workingHours|[[WorkingHourWithRelations](#schemaworkinghourwithrelations)]|false|none|[(tsType: WorkingHourWithRelations, schemaOptions: { includeRelations: true })]| +|subscriptions|[[SubscriptionWithRelations](#schemasubscriptionwithrelations)]|false|none|[(tsType: SubscriptionWithRelations, schemaOptions: { includeRelations: true })]| + +

CalendarPartial

+ + + + + + +```json +{ + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "source": "string", + "enableWorkingHours": true, + "location": "string", + "identifier": "string", + "summary": "string", + "timezone": "string", + "extId": "string", + "extMetadata": {} +} + +``` + +CalendarPartial + +### Properties + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|deleted|boolean|false|none|none| +|deletedOn|string(date-time)¦null|false|none|none| +|deletedBy|string¦null|false|none|none| +|createdOn|string(date-time)|false|none|none| +|modifiedOn|string(date-time)|false|none|none| +|createdBy|string|false|none|none| +|modifiedBy|string|false|none|none| +|id|string|false|none|none| +|source|string|false|none|none| +|enableWorkingHours|boolean|false|none|none| +|location|string|false|none|none| +|identifier|string|false|none|none| +|summary|string|false|none|none| +|timezone|string|false|none|none| +|extId|string|false|none|none| +|extMetadata|object|false|none|none| + +

Event

+ + + + + + +```json +{ + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "bgColor": "string", + "description": "string", + "endDateTime": "2019-08-24T14:15:22Z", + "fgColor": "string", + "iCalUid": "string", + "isFullDayEvent": true, + "isLocked": true, + "link": "string", + "location": "string", + "meetingLink": "string", + "identifier": "string", + "startDateTime": "2019-08-24T14:15:22Z", + "status": "confirmed", + "summary": "string", + "timezone": "string", + "calendarId": "string", + "parentEventId": "string", + "extId": "string", + "extMetadata": {} +} + +``` + +Event + +### Properties + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|deleted|boolean|false|none|none| +|deletedOn|string(date-time)¦null|false|none|none| +|deletedBy|string¦null|false|none|none| +|createdOn|string(date-time)|false|none|none| +|modifiedOn|string(date-time)|false|none|none| +|createdBy|string|false|none|none| +|modifiedBy|string|false|none|none| +|id|string|false|none|none| +|bgColor|string|false|none|none| +|description|string|false|none|none| +|endDateTime|string(date-time)|false|none|none| +|fgColor|string|false|none|none| +|iCalUid|string|false|none|none| +|isFullDayEvent|boolean|false|none|none| +|isLocked|boolean|false|none|none| +|link|string|false|none|none| +|location|string|false|none|none| +|meetingLink|string|false|none|none| +|identifier|string|false|none|none| +|startDateTime|string(date-time)|false|none|none| +|status|string|false|none|none| +|summary|string|false|none|none| +|timezone|string|false|none|none| +|calendarId|string|true|none|none| +|parentEventId|string|false|none|none| +|extId|string|false|none|none| +|extMetadata|object|false|none|none| + +#### Enumerated Values + +|Property|Value| +|---|---| +|status|confirmed| +|status|tentative| +|status|cancelled| +|status|completed| + +

AttachmentExcluding_id_

+ + + + + + +```json +{ + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "fileUrl": "string", + "iconLink": "string", + "mimeType": "string", + "title": "string", + "eventId": "string", + "extId": "string", + "extMetadata": {} +} + +``` + +AttachmentExcluding_id_ + +### Properties + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|deleted|boolean|false|none|none| +|deletedOn|string(date-time)¦null|false|none|none| +|deletedBy|string¦null|false|none|none| +|createdOn|string(date-time)|false|none|none| +|modifiedOn|string(date-time)|false|none|none| +|createdBy|string|false|none|none| +|modifiedBy|string|false|none|none| +|fileUrl|string|true|none|none| +|iconLink|string|false|none|none| +|mimeType|string|false|none|none| +|title|string|false|none|none| +|eventId|string|true|none|none| +|extId|string|false|none|none| +|extMetadata|object|false|none|none| + +

AttendeeExcluding_id_

+ + + + + + +```json +{ + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "identifier": "string", + "isOptional": true, + "isOrganizer": true, + "messages": "string", + "responseStatus": "needsAction", + "eventId": "string", + "extId": "string", + "extMetadata": {} +} + +``` + +AttendeeExcluding_id_ + +### Properties + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|deleted|boolean|false|none|none| +|deletedOn|string(date-time)¦null|false|none|none| +|deletedBy|string¦null|false|none|none| +|createdOn|string(date-time)|false|none|none| +|modifiedOn|string(date-time)|false|none|none| +|createdBy|string|false|none|none| +|modifiedBy|string|false|none|none| +|identifier|string|true|none|none| +|isOptional|boolean|false|none|none| +|isOrganizer|boolean|false|none|none| +|messages|string|false|none|none| +|responseStatus|string|false|none|none| +|eventId|string|true|none|none| +|extId|string|false|none|none| +|extMetadata|object|false|none|none| + +#### Enumerated Values + +|Property|Value| +|---|---| +|responseStatus|needsAction| +|responseStatus|tentative| +|responseStatus|accepted| +|responseStatus|declined| + +

NewEvent

+ + + + + + +```json +{ + "bgColor": "string", + "description": "string", + "endDateTime": "2019-08-24T14:15:22Z", + "fgColor": "string", + "iCalUid": "string", + "isFullDayEvent": true, + "isLocked": true, + "link": "string", + "location": "string", + "meetingLink": "string", + "identifier": "string", + "startDateTime": "2019-08-24T14:15:22Z", + "status": "confirmed", + "summary": "string", + "timezone": "string", + "calendarId": "string", + "parentEventId": "string", + "attachments": [ + { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "fileUrl": "string", + "iconLink": "string", + "mimeType": "string", + "title": "string", + "eventId": "string", + "extId": "string", + "extMetadata": {} + } + ], + "attendees": [ + { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "identifier": "string", + "isOptional": true, + "isOrganizer": true, + "messages": "string", + "responseStatus": "needsAction", + "eventId": "string", + "extId": "string", + "extMetadata": {} + } + ], + "extId": "string", + "extMetadata": {} +} + +``` + +NewEvent + +### Properties + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|bgColor|string|false|none|none| +|description|string|false|none|none| +|endDateTime|string(date-time)|false|none|none| +|fgColor|string|false|none|none| +|iCalUid|string|false|none|none| +|isFullDayEvent|boolean|false|none|none| +|isLocked|boolean|false|none|none| +|link|string|false|none|none| +|location|string|false|none|none| +|meetingLink|string|false|none|none| +|identifier|string|false|none|none| +|startDateTime|string(date-time)|false|none|none| +|status|string|false|none|none| +|summary|string|false|none|none| +|timezone|string|false|none|none| +|calendarId|string|true|none|none| +|parentEventId|string|false|none|none| +|attachments|[[AttachmentExcluding_id_](#schemaattachmentexcluding_id_)]|false|none|[(tsType: Omit, schemaOptions: { exclude: [ 'id' ] })]| +|attendees|[[AttendeeExcluding_id_](#schemaattendeeexcluding_id_)]|false|none|[(tsType: Omit, schemaOptions: { exclude: [ 'id' ] })]| +|extId|string|false|none|none| +|extMetadata|object|false|none|none| + +#### Enumerated Values + +|Property|Value| +|---|---| +|status|confirmed| +|status|tentative| +|status|cancelled| +|status|completed| + +

EventAttendeeViewItemDTO

+ + + + + + +```json +{ + "id": "string", + "bgColor": "string", + "description": "string", + "endDateTime": "2019-08-24T14:15:22Z", + "extId": "string", + "extMetadata": {}, + "fgColor": "string", + "iCalUid": "string", + "isFullDayEvent": true, + "isLocked": true, + "link": "string", + "location": "string", + "meetingLink": "string", + "identifier": "string", + "startDateTime": "2019-08-24T14:15:22Z", + "status": "confirmed", + "summary": "string", + "timezone": "string", + "attendeeId": "string", + "isOptional": true, + "attendeeIdentifier": "string", + "isOrganizer": true, + "messages": "string", + "eventId": "string" +} + +``` + +EventAttendeeViewItemDTO + +### Properties + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|id|string|false|none|none| +|bgColor|string|false|none|none| +|description|string|false|none|none| +|endDateTime|string(date-time)|false|none|none| +|extId|string|false|none|none| +|extMetadata|object|false|none|none| +|fgColor|string|false|none|none| +|iCalUid|string|false|none|none| +|isFullDayEvent|boolean|false|none|none| +|isLocked|boolean|false|none|none| +|link|string|false|none|none| +|location|string|false|none|none| +|meetingLink|string|false|none|none| +|identifier|string|false|none|none| +|startDateTime|string(date-time)|false|none|none| +|status|string|false|none|none| +|summary|string|false|none|none| +|timezone|string|false|none|none| +|attendeeId|string|false|none|none| +|isOptional|boolean|false|none|none| +|attendeeIdentifier|string|false|none|none| +|isOrganizer|boolean|false|none|none| +|messages|string|false|none|none| +|eventId|string|false|none|none| + +#### Enumerated Values + +|Property|Value| +|---|---| +|status|confirmed| +|status|tentative| +|status|cancelled| +|status|completed| + +

FreeBusyRequest

+ + + + + + +```json +{ + "timeMax": "2019-08-24T14:15:22Z", + "timeMin": "2019-08-24T14:15:22Z", + "items": [ + { + "id": "string", + "bgColor": "string", + "description": "string", + "endDateTime": "2019-08-24T14:15:22Z", + "extId": "string", + "extMetadata": {}, + "fgColor": "string", + "iCalUid": "string", + "isFullDayEvent": true, + "isLocked": true, + "link": "string", + "location": "string", + "meetingLink": "string", + "identifier": "string", + "startDateTime": "2019-08-24T14:15:22Z", + "status": "confirmed", + "summary": "string", + "timezone": "string", + "attendeeId": "string", + "isOptional": true, + "attendeeIdentifier": "string", + "isOrganizer": true, + "messages": "string", + "eventId": "string" + } + ] +} + +``` + +FreeBusyRequest + +### Properties + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|timeMax|string(date-time)|true|none|none| +|timeMin|string(date-time)|true|none|none| +|items|[[EventAttendeeViewItemDTO](#schemaeventattendeeviewitemdto)]|false|none|none| + +

FreeBusyDTO

+ + + + + + +```json +{ + "timeMax": "2019-08-24T14:15:22Z", + "timeMin": "2019-08-24T14:15:22Z", + "items": [ + { + "id": "string", + "bgColor": "string", + "description": "string", + "endDateTime": "2019-08-24T14:15:22Z", + "extId": "string", + "extMetadata": {}, + "fgColor": "string", + "iCalUid": "string", + "isFullDayEvent": true, + "isLocked": true, + "link": "string", + "location": "string", + "meetingLink": "string", + "identifier": "string", + "startDateTime": "2019-08-24T14:15:22Z", + "status": "confirmed", + "summary": "string", + "timezone": "string", + "attendeeId": "string", + "isOptional": true, + "attendeeIdentifier": "string", + "isOrganizer": true, + "messages": "string", + "eventId": "string" + } + ] +} + +``` + +FreeBusyDTO + +### Properties + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|timeMax|string(date-time)|true|none|none| +|timeMin|string(date-time)|true|none|none| +|items|[[EventAttendeeViewItemDTO](#schemaeventattendeeviewitemdto)]|false|none|none| + +

EventPartial

+ + + + + + +```json +{ + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "bgColor": "string", + "description": "string", + "endDateTime": "2019-08-24T14:15:22Z", + "fgColor": "string", + "iCalUid": "string", + "isFullDayEvent": true, + "isLocked": true, + "link": "string", + "location": "string", + "meetingLink": "string", + "identifier": "string", + "startDateTime": "2019-08-24T14:15:22Z", + "status": "confirmed", + "summary": "string", + "timezone": "string", + "calendarId": "string", + "parentEventId": "string", + "extId": "string", + "extMetadata": {} +} + +``` + +EventPartial + +### Properties + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|deleted|boolean|false|none|none| +|deletedOn|string(date-time)¦null|false|none|none| +|deletedBy|string¦null|false|none|none| +|createdOn|string(date-time)|false|none|none| +|modifiedOn|string(date-time)|false|none|none| +|createdBy|string|false|none|none| +|modifiedBy|string|false|none|none| +|id|string|false|none|none| +|bgColor|string|false|none|none| +|description|string|false|none|none| +|endDateTime|string(date-time)|false|none|none| +|fgColor|string|false|none|none| +|iCalUid|string|false|none|none| +|isFullDayEvent|boolean|false|none|none| +|isLocked|boolean|false|none|none| +|link|string|false|none|none| +|location|string|false|none|none| +|meetingLink|string|false|none|none| +|identifier|string|false|none|none| +|startDateTime|string(date-time)|false|none|none| +|status|string|false|none|none| +|summary|string|false|none|none| +|timezone|string|false|none|none| +|calendarId|string|false|none|none| +|parentEventId|string|false|none|none| +|extId|string|false|none|none| +|extMetadata|object|false|none|none| + +#### Enumerated Values + +|Property|Value| +|---|---| +|status|confirmed| +|status|tentative| +|status|cancelled| +|status|completed| + +

Settings

+ + + + + + +```json +{ + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "ownerId": "string", + "ownerType": "global", + "settingName": "string", + "settingValue": "string", + "extId": "string", + "extMetadata": {} +} + +``` + +Settings + +### Properties + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|deleted|boolean|false|none|none| +|deletedOn|string(date-time)¦null|false|none|none| +|deletedBy|string¦null|false|none|none| +|createdOn|string(date-time)|false|none|none| +|modifiedOn|string(date-time)|false|none|none| +|createdBy|string|false|none|none| +|modifiedBy|string|false|none|none| +|id|string|false|none|none| +|ownerId|string|true|none|none| +|ownerType|string|false|none|none| +|settingName|string|false|none|none| +|settingValue|string|false|none|none| +|extId|string|false|none|none| +|extMetadata|object|false|none|none| + +#### Enumerated Values + +|Property|Value| +|---|---| +|ownerType|global| +|ownerType|user| +|ownerType|calendar| +|ownerType|event| + +

NewSettings

+ + + + + + +```json +{ + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "ownerId": "string", + "ownerType": "global", + "settingName": "string", + "settingValue": "string", + "extId": "string", + "extMetadata": {} +} + +``` + +NewSettings + +### Properties + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|deleted|boolean|false|none|none| +|deletedOn|string(date-time)¦null|false|none|none| +|deletedBy|string¦null|false|none|none| +|createdOn|string(date-time)|false|none|none| +|modifiedOn|string(date-time)|false|none|none| +|createdBy|string|false|none|none| +|modifiedBy|string|false|none|none| +|ownerId|string|true|none|none| +|ownerType|string|false|none|none| +|settingName|string|false|none|none| +|settingValue|string|false|none|none| +|extId|string|false|none|none| +|extMetadata|object|false|none|none| + +#### Enumerated Values + +|Property|Value| +|---|---| +|ownerType|global| +|ownerType|user| +|ownerType|calendar| +|ownerType|event| + +

SettingsWithRelations

+ + + + + + +```json +{ + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "ownerId": "string", + "ownerType": "global", + "settingName": "string", + "settingValue": "string", + "extId": "string", + "extMetadata": {} +} + +``` + +SettingsWithRelations + +### Properties + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|deleted|boolean|false|none|none| +|deletedOn|string(date-time)¦null|false|none|none| +|deletedBy|string¦null|false|none|none| +|createdOn|string(date-time)|false|none|none| +|modifiedOn|string(date-time)|false|none|none| +|createdBy|string|false|none|none| +|modifiedBy|string|false|none|none| +|id|string|false|none|none| +|ownerId|string|true|none|none| +|ownerType|string|false|none|none| +|settingName|string|false|none|none| +|settingValue|string|false|none|none| +|extId|string|false|none|none| +|extMetadata|object|false|none|none| + +#### Enumerated Values + +|Property|Value| +|---|---| +|ownerType|global| +|ownerType|user| +|ownerType|calendar| +|ownerType|event| + +

SettingsPartial

+ + + + + + +```json +{ + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "ownerId": "string", + "ownerType": "global", + "settingName": "string", + "settingValue": "string", + "extId": "string", + "extMetadata": {} +} + +``` + +SettingsPartial + +### Properties + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|deleted|boolean|false|none|none| +|deletedOn|string(date-time)¦null|false|none|none| +|deletedBy|string¦null|false|none|none| +|createdOn|string(date-time)|false|none|none| +|modifiedOn|string(date-time)|false|none|none| +|createdBy|string|false|none|none| +|modifiedBy|string|false|none|none| +|id|string|false|none|none| +|ownerId|string|false|none|none| +|ownerType|string|false|none|none| +|settingName|string|false|none|none| +|settingValue|string|false|none|none| +|extId|string|false|none|none| +|extMetadata|object|false|none|none| + +#### Enumerated Values + +|Property|Value| +|---|---| +|ownerType|global| +|ownerType|user| +|ownerType|calendar| +|ownerType|event| + +

Subscription

+ + + + + + +```json +{ + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "accessRole": "freeBusyReader", + "bgColor": "string", + "fgColor": "string", + "isHidden": true, + "isPrimary": true, + "identifier": "string", + "defaultReminders": {}, + "notificationSettings": {}, + "calendarId": "string", + "extId": "string", + "extMetadata": {} +} + +``` + +Subscription + +### Properties + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|deleted|boolean|false|none|none| +|deletedOn|string(date-time)¦null|false|none|none| +|deletedBy|string¦null|false|none|none| +|createdOn|string(date-time)|false|none|none| +|modifiedOn|string(date-time)|false|none|none| +|createdBy|string|false|none|none| +|modifiedBy|string|false|none|none| +|id|string|false|none|none| +|accessRole|string|false|none|none| +|bgColor|string|false|none|none| +|fgColor|string|false|none|none| +|isHidden|boolean|false|none|none| +|isPrimary|boolean|false|none|none| +|identifier|string|true|none|none| +|defaultReminders|object|false|none|none| +|notificationSettings|object|false|none|none| +|calendarId|string|true|none|none| +|extId|string|false|none|none| +|extMetadata|object|false|none|none| + +#### Enumerated Values + +|Property|Value| +|---|---| +|accessRole|freeBusyReader| +|accessRole|reader| +|accessRole|writer| +|accessRole|owner| + +

NewSubscription

+ + + + + + +```json +{ + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "accessRole": "freeBusyReader", + "bgColor": "string", + "fgColor": "string", + "isHidden": true, + "isPrimary": true, + "identifier": "string", + "defaultReminders": {}, + "notificationSettings": {}, + "calendarId": "string", + "extId": "string", + "extMetadata": {} +} + +``` + +NewSubscription + +### Properties + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|deleted|boolean|false|none|none| +|deletedOn|string(date-time)¦null|false|none|none| +|deletedBy|string¦null|false|none|none| +|createdOn|string(date-time)|false|none|none| +|modifiedOn|string(date-time)|false|none|none| +|createdBy|string|false|none|none| +|modifiedBy|string|false|none|none| +|accessRole|string|false|none|none| +|bgColor|string|false|none|none| +|fgColor|string|false|none|none| +|isHidden|boolean|false|none|none| +|isPrimary|boolean|false|none|none| +|identifier|string|true|none|none| +|defaultReminders|object|false|none|none| +|notificationSettings|object|false|none|none| +|calendarId|string|true|none|none| +|extId|string|false|none|none| +|extMetadata|object|false|none|none| + +#### Enumerated Values + +|Property|Value| +|---|---| +|accessRole|freeBusyReader| +|accessRole|reader| +|accessRole|writer| +|accessRole|owner| + +

SubscriptionWithRelations

+ + + + + + +```json +{ + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "accessRole": "freeBusyReader", + "bgColor": "string", + "fgColor": "string", + "isHidden": true, + "isPrimary": true, + "identifier": "string", + "defaultReminders": {}, + "notificationSettings": {}, + "calendarId": "string", + "extId": "string", + "extMetadata": {}, + "calendar": { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "source": "string", + "enableWorkingHours": true, + "location": "string", + "identifier": "string", + "summary": "string", + "timezone": "string", + "extId": "string", + "extMetadata": {}, + "events": [ + { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "bgColor": "string", + "description": "string", + "endDateTime": "2019-08-24T14:15:22Z", + "fgColor": "string", + "iCalUid": "string", + "isFullDayEvent": true, + "isLocked": true, + "link": "string", + "location": "string", + "meetingLink": "string", + "identifier": "string", + "startDateTime": "2019-08-24T14:15:22Z", + "status": "confirmed", + "summary": "string", + "timezone": "string", + "calendarId": "string", + "parentEventId": "string", + "extId": "string", + "extMetadata": {}, + "calendar": {}, + "parentEvent": {}, + "attendees": [ + { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "identifier": "string", + "isOptional": true, + "isOrganizer": true, + "messages": "string", + "responseStatus": "needsAction", + "eventId": "string", + "extId": "string", + "extMetadata": {}, + "event": {} + } + ], + "attachments": [ + { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "fileUrl": "string", + "iconLink": "string", + "mimeType": "string", + "title": "string", + "eventId": "string", + "extId": "string", + "extMetadata": {}, + "event": {} + } + ] + } + ], + "workingHours": [ + { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "dayOfWeek": 0, + "end": "string", + "start": "string", + "calendarId": "string", + "extId": "string", + "extMetadata": {}, + "calendar": {} + } + ], + "subscriptions": [ + { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "accessRole": "freeBusyReader", + "bgColor": "string", + "fgColor": "string", + "isHidden": true, + "isPrimary": true, + "identifier": "string", + "defaultReminders": {}, + "notificationSettings": {}, + "calendarId": "string", + "extId": "string", + "extMetadata": {}, + "calendar": {} + } + ] + } +} + +``` + +SubscriptionWithRelations + +### Properties + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|deleted|boolean|false|none|none| +|deletedOn|string(date-time)¦null|false|none|none| +|deletedBy|string¦null|false|none|none| +|createdOn|string(date-time)|false|none|none| +|modifiedOn|string(date-time)|false|none|none| +|createdBy|string|false|none|none| +|modifiedBy|string|false|none|none| +|id|string|false|none|none| +|accessRole|string|false|none|none| +|bgColor|string|false|none|none| +|fgColor|string|false|none|none| +|isHidden|boolean|false|none|none| +|isPrimary|boolean|false|none|none| +|identifier|string|true|none|none| +|defaultReminders|object|false|none|none| +|notificationSettings|object|false|none|none| +|calendarId|string|true|none|none| +|extId|string|false|none|none| +|extMetadata|object|false|none|none| +|calendar|[CalendarWithRelations](#schemacalendarwithrelations)|false|none|(tsType: CalendarWithRelations, schemaOptions: { includeRelations: true })| + +#### Enumerated Values + +|Property|Value| +|---|---| +|accessRole|freeBusyReader| +|accessRole|reader| +|accessRole|writer| +|accessRole|owner| + +

SubscriptionPartial

+ + + + + + +```json +{ + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "accessRole": "freeBusyReader", + "bgColor": "string", + "fgColor": "string", + "isHidden": true, + "isPrimary": true, + "identifier": "string", + "defaultReminders": {}, + "notificationSettings": {}, + "calendarId": "string", + "extId": "string", + "extMetadata": {} +} + +``` + +SubscriptionPartial + +### Properties + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|deleted|boolean|false|none|none| +|deletedOn|string(date-time)¦null|false|none|none| +|deletedBy|string¦null|false|none|none| +|createdOn|string(date-time)|false|none|none| +|modifiedOn|string(date-time)|false|none|none| +|createdBy|string|false|none|none| +|modifiedBy|string|false|none|none| +|id|string|false|none|none| +|accessRole|string|false|none|none| +|bgColor|string|false|none|none| +|fgColor|string|false|none|none| +|isHidden|boolean|false|none|none| +|isPrimary|boolean|false|none|none| +|identifier|string|false|none|none| +|defaultReminders|object|false|none|none| +|notificationSettings|object|false|none|none| +|calendarId|string|false|none|none| +|extId|string|false|none|none| +|extMetadata|object|false|none|none| + +#### Enumerated Values + +|Property|Value| +|---|---| +|accessRole|freeBusyReader| +|accessRole|reader| +|accessRole|writer| +|accessRole|owner| + +

Theme

+ + + + + + +```json +{ + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "calBg": "string", + "calFg": "string", + "eventBg": "string", + "eventFg": "string", + "extId": "string", + "extMetadata": {} +} + +``` + +Theme + +### Properties + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|deleted|boolean|false|none|none| +|deletedOn|string(date-time)¦null|false|none|none| +|deletedBy|string¦null|false|none|none| +|createdOn|string(date-time)|false|none|none| +|modifiedOn|string(date-time)|false|none|none| +|createdBy|string|false|none|none| +|modifiedBy|string|false|none|none| +|id|string|false|none|none| +|calBg|string|false|none|none| +|calFg|string|false|none|none| +|eventBg|string|false|none|none| +|eventFg|string|false|none|none| +|extId|string|false|none|none| +|extMetadata|object|false|none|none| + +

NewTheme

+ + + + + + +```json +{ + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "calBg": "string", + "calFg": "string", + "eventBg": "string", + "eventFg": "string", + "extId": "string", + "extMetadata": {} +} + +``` + +NewTheme + +### Properties + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|deleted|boolean|false|none|none| +|deletedOn|string(date-time)¦null|false|none|none| +|deletedBy|string¦null|false|none|none| +|createdOn|string(date-time)|false|none|none| +|modifiedOn|string(date-time)|false|none|none| +|createdBy|string|false|none|none| +|modifiedBy|string|false|none|none| +|calBg|string|false|none|none| +|calFg|string|false|none|none| +|eventBg|string|false|none|none| +|eventFg|string|false|none|none| +|extId|string|false|none|none| +|extMetadata|object|false|none|none| + +

ThemeWithRelations

+ + + + + + +```json +{ + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "calBg": "string", + "calFg": "string", + "eventBg": "string", + "eventFg": "string", + "extId": "string", + "extMetadata": {} +} + +``` + +ThemeWithRelations + +### Properties + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|deleted|boolean|false|none|none| +|deletedOn|string(date-time)¦null|false|none|none| +|deletedBy|string¦null|false|none|none| +|createdOn|string(date-time)|false|none|none| +|modifiedOn|string(date-time)|false|none|none| +|createdBy|string|false|none|none| +|modifiedBy|string|false|none|none| +|id|string|false|none|none| +|calBg|string|false|none|none| +|calFg|string|false|none|none| +|eventBg|string|false|none|none| +|eventFg|string|false|none|none| +|extId|string|false|none|none| +|extMetadata|object|false|none|none| + +

ThemePartial

+ + + + + + +```json +{ + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "calBg": "string", + "calFg": "string", + "eventBg": "string", + "eventFg": "string", + "extId": "string", + "extMetadata": {} +} + +``` + +ThemePartial + +### Properties + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|deleted|boolean|false|none|none| +|deletedOn|string(date-time)¦null|false|none|none| +|deletedBy|string¦null|false|none|none| +|createdOn|string(date-time)|false|none|none| +|modifiedOn|string(date-time)|false|none|none| +|createdBy|string|false|none|none| +|modifiedBy|string|false|none|none| +|id|string|false|none|none| +|calBg|string|false|none|none| +|calFg|string|false|none|none| +|eventBg|string|false|none|none| +|eventFg|string|false|none|none| +|extId|string|false|none|none| +|extMetadata|object|false|none|none| + +

NewWorkingHour

+ + + + + + +```json +{ + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "dayOfWeek": 0, + "end": "string", + "start": "string", + "calendarId": "string", + "extId": "string", + "extMetadata": {} +} + +``` + +NewWorkingHour + +### Properties + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|deleted|boolean|false|none|none| +|deletedOn|string(date-time)¦null|false|none|none| +|deletedBy|string¦null|false|none|none| +|createdOn|string(date-time)|false|none|none| +|modifiedOn|string(date-time)|false|none|none| +|createdBy|string|false|none|none| +|modifiedBy|string|false|none|none| +|dayOfWeek|number|false|none|none| +|end|string|false|none|none| +|start|string|false|none|none| +|calendarId|string|true|none|none| +|extId|string|false|none|none| +|extMetadata|object|false|none|none| + +#### Enumerated Values + +|Property|Value| +|---|---| +|dayOfWeek|0| +|dayOfWeek|1| +|dayOfWeek|2| +|dayOfWeek|3| +|dayOfWeek|4| +|dayOfWeek|5| +|dayOfWeek|6| + +

WorkingHourWithRelations

+ + + + + + +```json +{ + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "dayOfWeek": 0, + "end": "string", + "start": "string", + "calendarId": "string", + "extId": "string", + "extMetadata": {}, + "calendar": { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "source": "string", + "enableWorkingHours": true, + "location": "string", + "identifier": "string", + "summary": "string", + "timezone": "string", + "extId": "string", + "extMetadata": {}, + "events": [ + { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "bgColor": "string", + "description": "string", + "endDateTime": "2019-08-24T14:15:22Z", + "fgColor": "string", + "iCalUid": "string", + "isFullDayEvent": true, + "isLocked": true, + "link": "string", + "location": "string", + "meetingLink": "string", + "identifier": "string", + "startDateTime": "2019-08-24T14:15:22Z", + "status": "confirmed", + "summary": "string", + "timezone": "string", + "calendarId": "string", + "parentEventId": "string", + "extId": "string", + "extMetadata": {}, + "calendar": {}, + "parentEvent": {}, + "attendees": [ + { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "identifier": "string", + "isOptional": true, + "isOrganizer": true, + "messages": "string", + "responseStatus": "needsAction", + "eventId": "string", + "extId": "string", + "extMetadata": {}, + "event": {} + } + ], + "attachments": [ + { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "fileUrl": "string", + "iconLink": "string", + "mimeType": "string", + "title": "string", + "eventId": "string", + "extId": "string", + "extMetadata": {}, + "event": {} + } + ] + } + ], + "workingHours": [ + { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "dayOfWeek": 0, + "end": "string", + "start": "string", + "calendarId": "string", + "extId": "string", + "extMetadata": {}, + "calendar": {} + } + ], + "subscriptions": [ + { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "accessRole": "freeBusyReader", + "bgColor": "string", + "fgColor": "string", + "isHidden": true, + "isPrimary": true, + "identifier": "string", + "defaultReminders": {}, + "notificationSettings": {}, + "calendarId": "string", + "extId": "string", + "extMetadata": {}, + "calendar": {} + } + ] + } +} + +``` + +WorkingHourWithRelations + +### Properties + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|deleted|boolean|false|none|none| +|deletedOn|string(date-time)¦null|false|none|none| +|deletedBy|string¦null|false|none|none| +|createdOn|string(date-time)|false|none|none| +|modifiedOn|string(date-time)|false|none|none| +|createdBy|string|false|none|none| +|modifiedBy|string|false|none|none| +|id|string|false|none|none| +|dayOfWeek|number|false|none|none| +|end|string|false|none|none| +|start|string|false|none|none| +|calendarId|string|true|none|none| +|extId|string|false|none|none| +|extMetadata|object|false|none|none| +|calendar|[CalendarWithRelations](#schemacalendarwithrelations)|false|none|(tsType: CalendarWithRelations, schemaOptions: { includeRelations: true })| + +#### Enumerated Values + +|Property|Value| +|---|---| +|dayOfWeek|0| +|dayOfWeek|1| +|dayOfWeek|2| +|dayOfWeek|3| +|dayOfWeek|4| +|dayOfWeek|5| +|dayOfWeek|6| + +

WorkingHourPartial

+ + + + + + +```json +{ + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "dayOfWeek": 0, + "end": "string", + "start": "string", + "calendarId": "string", + "extId": "string", + "extMetadata": {} +} + +``` + +WorkingHourPartial + +### Properties + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|deleted|boolean|false|none|none| +|deletedOn|string(date-time)¦null|false|none|none| +|deletedBy|string¦null|false|none|none| +|createdOn|string(date-time)|false|none|none| +|modifiedOn|string(date-time)|false|none|none| +|createdBy|string|false|none|none| +|modifiedBy|string|false|none|none| +|id|string|false|none|none| +|dayOfWeek|number|false|none|none| +|end|string|false|none|none| +|start|string|false|none|none| +|calendarId|string|false|none|none| +|extId|string|false|none|none| +|extMetadata|object|false|none|none| + +#### Enumerated Values + +|Property|Value| +|---|---| +|dayOfWeek|0| +|dayOfWeek|1| +|dayOfWeek|2| +|dayOfWeek|3| +|dayOfWeek|4| +|dayOfWeek|5| +|dayOfWeek|6| + +

Date

+ + + + + + +```json +null + +``` + +### Properties + +*None* + +

NewEventInCalendar

+ + + + + + +```json +{ + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "bgColor": "string", + "description": "string", + "endDateTime": "2019-08-24T14:15:22Z", + "fgColor": "string", + "iCalUid": "string", + "isFullDayEvent": true, + "isLocked": true, + "link": "string", + "location": "string", + "meetingLink": "string", + "identifier": "string", + "startDateTime": "2019-08-24T14:15:22Z", + "status": "confirmed", + "summary": "string", + "timezone": "string", + "calendarId": "string", + "parentEventId": "string", + "extId": "string", + "extMetadata": {} +} + +``` + +NewEventInCalendar + +### Properties + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|deleted|boolean|false|none|none| +|deletedOn|string(date-time)¦null|false|none|none| +|deletedBy|string¦null|false|none|none| +|createdOn|string(date-time)|false|none|none| +|modifiedOn|string(date-time)|false|none|none| +|createdBy|string|false|none|none| +|modifiedBy|string|false|none|none| +|bgColor|string|false|none|none| +|description|string|false|none|none| +|endDateTime|string(date-time)|false|none|none| +|fgColor|string|false|none|none| +|iCalUid|string|false|none|none| +|isFullDayEvent|boolean|false|none|none| +|isLocked|boolean|false|none|none| +|link|string|false|none|none| +|location|string|false|none|none| +|meetingLink|string|false|none|none| +|identifier|string|false|none|none| +|startDateTime|string(date-time)|false|none|none| +|status|string|false|none|none| +|summary|string|false|none|none| +|timezone|string|false|none|none| +|calendarId|string|false|none|none| +|parentEventId|string|false|none|none| +|extId|string|false|none|none| +|extMetadata|object|false|none|none| + +#### Enumerated Values + +|Property|Value| +|---|---| +|status|confirmed| +|status|tentative| +|status|cancelled| +|status|completed| + +

NewSubscriptionInCalendar

+ + + + + + +```json +{ + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "accessRole": "freeBusyReader", + "bgColor": "string", + "fgColor": "string", + "isHidden": true, + "isPrimary": true, + "identifier": "string", + "defaultReminders": {}, + "notificationSettings": {}, + "calendarId": "string", + "extId": "string", + "extMetadata": {} +} + +``` + +NewSubscriptionInCalendar + +### Properties + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|deleted|boolean|false|none|none| +|deletedOn|string(date-time)¦null|false|none|none| +|deletedBy|string¦null|false|none|none| +|createdOn|string(date-time)|false|none|none| +|modifiedOn|string(date-time)|false|none|none| +|createdBy|string|false|none|none| +|modifiedBy|string|false|none|none| +|accessRole|string|false|none|none| +|bgColor|string|false|none|none| +|fgColor|string|false|none|none| +|isHidden|boolean|false|none|none| +|isPrimary|boolean|false|none|none| +|identifier|string|true|none|none| +|defaultReminders|object|false|none|none| +|notificationSettings|object|false|none|none| +|calendarId|string|false|none|none| +|extId|string|false|none|none| +|extMetadata|object|false|none|none| + +#### Enumerated Values + +|Property|Value| +|---|---| +|accessRole|freeBusyReader| +|accessRole|reader| +|accessRole|writer| +|accessRole|owner| + +

NewWorkingHourInCalendar

+ + + + + + +```json +{ + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "dayOfWeek": 0, + "end": "string", + "start": "string", + "calendarId": "string", + "extId": "string", + "extMetadata": {} +} + +``` + +NewWorkingHourInCalendar + +### Properties + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|deleted|boolean|false|none|none| +|deletedOn|string(date-time)¦null|false|none|none| +|deletedBy|string¦null|false|none|none| +|createdOn|string(date-time)|false|none|none| +|modifiedOn|string(date-time)|false|none|none| +|createdBy|string|false|none|none| +|modifiedBy|string|false|none|none| +|dayOfWeek|number|false|none|none| +|end|string|false|none|none| +|start|string|false|none|none| +|calendarId|string|false|none|none| +|extId|string|false|none|none| +|extMetadata|object|false|none|none| + +#### Enumerated Values + +|Property|Value| +|---|---| +|dayOfWeek|0| +|dayOfWeek|1| +|dayOfWeek|2| +|dayOfWeek|3| +|dayOfWeek|4| +|dayOfWeek|5| +|dayOfWeek|6| + +

NewAttachmentInEvent

+ + + + + + +```json +{ + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "fileUrl": "string", + "iconLink": "string", + "mimeType": "string", + "title": "string", + "eventId": "string", + "extId": "string", + "extMetadata": {} +} + +``` + +NewAttachmentInEvent + +### Properties + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|deleted|boolean|false|none|none| +|deletedOn|string(date-time)¦null|false|none|none| +|deletedBy|string¦null|false|none|none| +|createdOn|string(date-time)|false|none|none| +|modifiedOn|string(date-time)|false|none|none| +|createdBy|string|false|none|none| +|modifiedBy|string|false|none|none| +|fileUrl|string|true|none|none| +|iconLink|string|false|none|none| +|mimeType|string|false|none|none| +|title|string|false|none|none| +|eventId|string|false|none|none| +|extId|string|false|none|none| +|extMetadata|object|false|none|none| + +

NewAttendeeInEvent

+ + + + + + +```json +{ + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "identifier": "string", + "isOptional": true, + "isOrganizer": true, + "messages": "string", + "responseStatus": "needsAction", + "eventId": "string", + "extId": "string", + "extMetadata": {} +} + +``` + +NewAttendeeInEvent + +### Properties + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|deleted|boolean|false|none|none| +|deletedOn|string(date-time)¦null|false|none|none| +|deletedBy|string¦null|false|none|none| +|createdOn|string(date-time)|false|none|none| +|modifiedOn|string(date-time)|false|none|none| +|createdBy|string|false|none|none| +|modifiedBy|string|false|none|none| +|identifier|string|true|none|none| +|isOptional|boolean|false|none|none| +|isOrganizer|boolean|false|none|none| +|messages|string|false|none|none| +|responseStatus|string|false|none|none| +|eventId|string|false|none|none| +|extId|string|false|none|none| +|extMetadata|object|false|none|none| + +#### Enumerated Values + +|Property|Value| +|---|---| +|responseStatus|needsAction| +|responseStatus|tentative| +|responseStatus|accepted| +|responseStatus|declined| + +

loopback.Count

+ + + + + + +```json +{ + "count": 0 +} + +``` + +loopback.Count + +### Properties + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|count|number|false|none|none| + +

attachments.ScopeFilter

+ + + + + + +```json +{ + "offset": 0, + "limit": 100, + "skip": 0, + "order": "string", + "where": {}, + "fields": {}, + "include": [ + {} + ] +} + +``` + +attachments.ScopeFilter + +### Properties + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|offset|integer|false|none|none| +|limit|integer|false|none|none| +|skip|integer|false|none|none| +|order|any|false|none|none| + +oneOf + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|» *anonymous*|string|false|none|none| + +xor + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|» *anonymous*|[string]|false|none|none| + +continued + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|where|object|false|none|none| +|fields|any|false|none|none| + +oneOf + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|» *anonymous*|object|false|none|none| + +xor + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|» *anonymous*|[string]|false|none|none| + +continued + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|include|[object]|false|none|none| + +

attachments.IncludeFilter.Items

+ + + + + + +```json +{ + "relation": "string", + "scope": { + "offset": 0, + "limit": 100, + "skip": 0, + "order": "string", + "where": {}, + "fields": {}, + "include": [ + {} + ] + } +} + +``` + +attachments.IncludeFilter.Items + +### Properties + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|relation|string|false|none|none| +|scope|[attachments.ScopeFilter](#schemaattachments.scopefilter)|false|none|none| + +

attachments.Filter

+ + + + + + +```json +{ + "offset": 0, + "limit": 100, + "skip": 0, + "order": "string", + "fields": { + "deleted": true, + "deletedOn": true, + "deletedBy": true, + "createdOn": true, + "modifiedOn": true, + "createdBy": true, + "modifiedBy": true, + "id": true, + "fileUrl": true, + "iconLink": true, + "mimeType": true, + "title": true, + "eventId": true, + "extId": true, + "extMetadata": true + }, + "include": [ + { + "relation": "string", + "scope": { + "offset": 0, + "limit": 100, + "skip": 0, + "order": "string", + "where": {}, + "fields": {}, + "include": [ + {} + ] + } + } + ] +} + +``` + +attachments.Filter + +### Properties + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|offset|integer|false|none|none| +|limit|integer|false|none|none| +|skip|integer|false|none|none| +|order|any|false|none|none| + +oneOf + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|» *anonymous*|string|false|none|none| + +xor + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|» *anonymous*|[string]|false|none|none| + +continued + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|fields|any|false|none|none| + +oneOf + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|» *anonymous*|object|false|none|none| +|»» deleted|boolean|false|none|none| +|»» deletedOn|boolean|false|none|none| +|»» deletedBy|boolean|false|none|none| +|»» createdOn|boolean|false|none|none| +|»» modifiedOn|boolean|false|none|none| +|»» createdBy|boolean|false|none|none| +|»» modifiedBy|boolean|false|none|none| +|»» id|boolean|false|none|none| +|»» fileUrl|boolean|false|none|none| +|»» iconLink|boolean|false|none|none| +|»» mimeType|boolean|false|none|none| +|»» title|boolean|false|none|none| +|»» eventId|boolean|false|none|none| +|»» extId|boolean|false|none|none| +|»» extMetadata|boolean|false|none|none| + +xor + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|» *anonymous*|[string]|false|none|none| + +continued + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|include|[anyOf]|false|none|none| + +anyOf + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|» *anonymous*|[attachments.IncludeFilter.Items](#schemaattachments.includefilter.items)|false|none|none| + +or + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|» *anonymous*|string|false|none|none| + +

attachments.Filter1

+ + + + + + +```json +{ + "offset": 0, + "limit": 100, + "skip": 0, + "order": "string", + "where": {}, + "fields": { + "deleted": true, + "deletedOn": true, + "deletedBy": true, + "createdOn": true, + "modifiedOn": true, + "createdBy": true, + "modifiedBy": true, + "id": true, + "fileUrl": true, + "iconLink": true, + "mimeType": true, + "title": true, + "eventId": true, + "extId": true, + "extMetadata": true + }, + "include": [ + { + "relation": "string", + "scope": { + "offset": 0, + "limit": 100, + "skip": 0, + "order": "string", + "where": {}, + "fields": {}, + "include": [ + {} + ] + } + } + ] +} + +``` + +attachments.Filter + +### Properties + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|offset|integer|false|none|none| +|limit|integer|false|none|none| +|skip|integer|false|none|none| +|order|any|false|none|none| + +oneOf + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|» *anonymous*|string|false|none|none| + +xor + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|» *anonymous*|[string]|false|none|none| + +continued + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|where|object|false|none|none| +|fields|any|false|none|none| + +oneOf + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|» *anonymous*|object|false|none|none| +|»» deleted|boolean|false|none|none| +|»» deletedOn|boolean|false|none|none| +|»» deletedBy|boolean|false|none|none| +|»» createdOn|boolean|false|none|none| +|»» modifiedOn|boolean|false|none|none| +|»» createdBy|boolean|false|none|none| +|»» modifiedBy|boolean|false|none|none| +|»» id|boolean|false|none|none| +|»» fileUrl|boolean|false|none|none| +|»» iconLink|boolean|false|none|none| +|»» mimeType|boolean|false|none|none| +|»» title|boolean|false|none|none| +|»» eventId|boolean|false|none|none| +|»» extId|boolean|false|none|none| +|»» extMetadata|boolean|false|none|none| + +xor + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|» *anonymous*|[string]|false|none|none| + +continued + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|include|[anyOf]|false|none|none| + +anyOf + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|» *anonymous*|[attachments.IncludeFilter.Items](#schemaattachments.includefilter.items)|false|none|none| + +or + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|» *anonymous*|string|false|none|none| + +

attendees.ScopeFilter

+ + + + + + +```json +{ + "offset": 0, + "limit": 100, + "skip": 0, + "order": "string", + "where": {}, + "fields": {}, + "include": [ + {} + ] +} + +``` + +attendees.ScopeFilter + +### Properties + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|offset|integer|false|none|none| +|limit|integer|false|none|none| +|skip|integer|false|none|none| +|order|any|false|none|none| + +oneOf + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|» *anonymous*|string|false|none|none| + +xor + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|» *anonymous*|[string]|false|none|none| + +continued + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|where|object|false|none|none| +|fields|any|false|none|none| + +oneOf + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|» *anonymous*|object|false|none|none| + +xor + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|» *anonymous*|[string]|false|none|none| + +continued + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|include|[object]|false|none|none| + +

attendees.IncludeFilter.Items

+ + + + + + +```json +{ + "relation": "string", + "scope": { + "offset": 0, + "limit": 100, + "skip": 0, + "order": "string", + "where": {}, + "fields": {}, + "include": [ + {} + ] + } +} + +``` + +attendees.IncludeFilter.Items + +### Properties + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|relation|string|false|none|none| +|scope|[attendees.ScopeFilter](#schemaattendees.scopefilter)|false|none|none| + +

attendees.Filter

+ + + + + + +```json +{ + "offset": 0, + "limit": 100, + "skip": 0, + "order": "string", + "fields": { + "deleted": true, + "deletedOn": true, + "deletedBy": true, + "createdOn": true, + "modifiedOn": true, + "createdBy": true, + "modifiedBy": true, + "id": true, + "identifier": true, + "isOptional": true, + "isOrganizer": true, + "messages": true, + "responseStatus": true, + "eventId": true, + "extId": true, + "extMetadata": true + }, + "include": [ + { + "relation": "string", + "scope": { + "offset": 0, + "limit": 100, + "skip": 0, + "order": "string", + "where": {}, + "fields": {}, + "include": [ + {} + ] + } + } + ] +} + +``` + +attendees.Filter + +### Properties + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|offset|integer|false|none|none| +|limit|integer|false|none|none| +|skip|integer|false|none|none| +|order|any|false|none|none| + +oneOf + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|» *anonymous*|string|false|none|none| + +xor + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|» *anonymous*|[string]|false|none|none| + +continued + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|fields|any|false|none|none| + +oneOf + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|» *anonymous*|object|false|none|none| +|»» deleted|boolean|false|none|none| +|»» deletedOn|boolean|false|none|none| +|»» deletedBy|boolean|false|none|none| +|»» createdOn|boolean|false|none|none| +|»» modifiedOn|boolean|false|none|none| +|»» createdBy|boolean|false|none|none| +|»» modifiedBy|boolean|false|none|none| +|»» id|boolean|false|none|none| +|»» identifier|boolean|false|none|none| +|»» isOptional|boolean|false|none|none| +|»» isOrganizer|boolean|false|none|none| +|»» messages|boolean|false|none|none| +|»» responseStatus|boolean|false|none|none| +|»» eventId|boolean|false|none|none| +|»» extId|boolean|false|none|none| +|»» extMetadata|boolean|false|none|none| + +xor + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|» *anonymous*|[string]|false|none|none| + +continued + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|include|[anyOf]|false|none|none| + +anyOf + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|» *anonymous*|[attendees.IncludeFilter.Items](#schemaattendees.includefilter.items)|false|none|none| + +or + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|» *anonymous*|string|false|none|none| + +

attendees.Filter1

+ + + + + + +```json +{ + "offset": 0, + "limit": 100, + "skip": 0, + "order": "string", + "where": {}, + "fields": { + "deleted": true, + "deletedOn": true, + "deletedBy": true, + "createdOn": true, + "modifiedOn": true, + "createdBy": true, + "modifiedBy": true, + "id": true, + "identifier": true, + "isOptional": true, + "isOrganizer": true, + "messages": true, + "responseStatus": true, + "eventId": true, + "extId": true, + "extMetadata": true + }, + "include": [ + { + "relation": "string", + "scope": { + "offset": 0, + "limit": 100, + "skip": 0, + "order": "string", + "where": {}, + "fields": {}, + "include": [ + {} + ] + } + } + ] +} + +``` + +attendees.Filter + +### Properties + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|offset|integer|false|none|none| +|limit|integer|false|none|none| +|skip|integer|false|none|none| +|order|any|false|none|none| + +oneOf + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|» *anonymous*|string|false|none|none| + +xor + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|» *anonymous*|[string]|false|none|none| + +continued + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|where|object|false|none|none| +|fields|any|false|none|none| + +oneOf + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|» *anonymous*|object|false|none|none| +|»» deleted|boolean|false|none|none| +|»» deletedOn|boolean|false|none|none| +|»» deletedBy|boolean|false|none|none| +|»» createdOn|boolean|false|none|none| +|»» modifiedOn|boolean|false|none|none| +|»» createdBy|boolean|false|none|none| +|»» modifiedBy|boolean|false|none|none| +|»» id|boolean|false|none|none| +|»» identifier|boolean|false|none|none| +|»» isOptional|boolean|false|none|none| +|»» isOrganizer|boolean|false|none|none| +|»» messages|boolean|false|none|none| +|»» responseStatus|boolean|false|none|none| +|»» eventId|boolean|false|none|none| +|»» extId|boolean|false|none|none| +|»» extMetadata|boolean|false|none|none| + +xor + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|» *anonymous*|[string]|false|none|none| + +continued + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|include|[anyOf]|false|none|none| + +anyOf + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|» *anonymous*|[attendees.IncludeFilter.Items](#schemaattendees.includefilter.items)|false|none|none| + +or + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|» *anonymous*|string|false|none|none| + +

subscriptions.ScopeFilter

+ + + + + + +```json +{ + "offset": 0, + "limit": 100, + "skip": 0, + "order": "string", + "where": {}, + "fields": {}, + "include": [ + {} + ] +} + +``` + +subscriptions.ScopeFilter + +### Properties + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|offset|integer|false|none|none| +|limit|integer|false|none|none| +|skip|integer|false|none|none| +|order|any|false|none|none| + +oneOf + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|» *anonymous*|string|false|none|none| + +xor + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|» *anonymous*|[string]|false|none|none| + +continued + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|where|object|false|none|none| +|fields|any|false|none|none| + +oneOf + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|» *anonymous*|object|false|none|none| + +xor + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|» *anonymous*|[string]|false|none|none| + +continued + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|include|[object]|false|none|none| + +

subscriptions.IncludeFilter.Items

+ + + + + + +```json +{ + "relation": "string", + "scope": { + "offset": 0, + "limit": 100, + "skip": 0, + "order": "string", + "where": {}, + "fields": {}, + "include": [ + {} + ] + } +} + +``` + +subscriptions.IncludeFilter.Items + +### Properties + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|relation|string|false|none|none| +|scope|[subscriptions.ScopeFilter](#schemasubscriptions.scopefilter)|false|none|none| + +

subscriptions.Filter

+ + + + + + +```json +{ + "offset": 0, + "limit": 100, + "skip": 0, + "order": "string", + "where": {}, + "fields": { + "deleted": true, + "deletedOn": true, + "deletedBy": true, + "createdOn": true, + "modifiedOn": true, + "createdBy": true, + "modifiedBy": true, + "id": true, + "accessRole": true, + "bgColor": true, + "fgColor": true, + "isHidden": true, + "isPrimary": true, + "identifier": true, + "defaultReminders": true, + "notificationSettings": true, + "calendarId": true, + "extId": true, + "extMetadata": true + }, + "include": [ + { + "relation": "string", + "scope": { + "offset": 0, + "limit": 100, + "skip": 0, + "order": "string", + "where": {}, + "fields": {}, + "include": [ + {} + ] + } + } + ] +} + +``` + +subscriptions.Filter + +### Properties + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|offset|integer|false|none|none| +|limit|integer|false|none|none| +|skip|integer|false|none|none| +|order|any|false|none|none| + +oneOf + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|» *anonymous*|string|false|none|none| + +xor + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|» *anonymous*|[string]|false|none|none| + +continued + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|where|object|false|none|none| +|fields|any|false|none|none| + +oneOf + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|» *anonymous*|object|false|none|none| +|»» deleted|boolean|false|none|none| +|»» deletedOn|boolean|false|none|none| +|»» deletedBy|boolean|false|none|none| +|»» createdOn|boolean|false|none|none| +|»» modifiedOn|boolean|false|none|none| +|»» createdBy|boolean|false|none|none| +|»» modifiedBy|boolean|false|none|none| +|»» id|boolean|false|none|none| +|»» accessRole|boolean|false|none|none| +|»» bgColor|boolean|false|none|none| +|»» fgColor|boolean|false|none|none| +|»» isHidden|boolean|false|none|none| +|»» isPrimary|boolean|false|none|none| +|»» identifier|boolean|false|none|none| +|»» defaultReminders|boolean|false|none|none| +|»» notificationSettings|boolean|false|none|none| +|»» calendarId|boolean|false|none|none| +|»» extId|boolean|false|none|none| +|»» extMetadata|boolean|false|none|none| + +xor + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|» *anonymous*|[string]|false|none|none| + +continued + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|include|[anyOf]|false|none|none| + +anyOf + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|» *anonymous*|[subscriptions.IncludeFilter.Items](#schemasubscriptions.includefilter.items)|false|none|none| + +or + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|» *anonymous*|string|false|none|none| + +

calendars.ScopeFilter

+ + + + + + +```json +{ + "offset": 0, + "limit": 100, + "skip": 0, + "order": "string", + "where": {}, + "fields": {}, + "include": [ + {} + ] +} + +``` + +calendars.ScopeFilter + +### Properties + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|offset|integer|false|none|none| +|limit|integer|false|none|none| +|skip|integer|false|none|none| +|order|any|false|none|none| + +oneOf + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|» *anonymous*|string|false|none|none| + +xor + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|» *anonymous*|[string]|false|none|none| + +continued + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|where|object|false|none|none| +|fields|any|false|none|none| + +oneOf + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|» *anonymous*|object|false|none|none| + +xor + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|» *anonymous*|[string]|false|none|none| + +continued + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|include|[object]|false|none|none| + +

calendars.IncludeFilter.Items

+ + + + + + +```json +{ + "relation": "string", + "scope": { + "offset": 0, + "limit": 100, + "skip": 0, + "order": "string", + "where": {}, + "fields": {}, + "include": [ + {} + ] + } +} + +``` + +calendars.IncludeFilter.Items + +### Properties + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|relation|string|false|none|none| +|scope|[calendars.ScopeFilter](#schemacalendars.scopefilter)|false|none|none| + +

calendars.Filter

+ + + + + + +```json +{ + "offset": 0, + "limit": 100, + "skip": 0, + "order": "string", + "fields": { + "deleted": true, + "deletedOn": true, + "deletedBy": true, + "createdOn": true, + "modifiedOn": true, + "createdBy": true, + "modifiedBy": true, + "id": true, + "source": true, + "enableWorkingHours": true, + "location": true, + "identifier": true, + "summary": true, + "timezone": true, + "extId": true, + "extMetadata": true + }, + "include": [ + { + "relation": "string", + "scope": { + "offset": 0, + "limit": 100, + "skip": 0, + "order": "string", + "where": {}, + "fields": {}, + "include": [ + {} + ] + } + } + ] +} + +``` + +calendars.Filter + +### Properties + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|offset|integer|false|none|none| +|limit|integer|false|none|none| +|skip|integer|false|none|none| +|order|any|false|none|none| + +oneOf + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|» *anonymous*|string|false|none|none| + +xor + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|» *anonymous*|[string]|false|none|none| + +continued + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|fields|any|false|none|none| + +oneOf + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|» *anonymous*|object|false|none|none| +|»» deleted|boolean|false|none|none| +|»» deletedOn|boolean|false|none|none| +|»» deletedBy|boolean|false|none|none| +|»» createdOn|boolean|false|none|none| +|»» modifiedOn|boolean|false|none|none| +|»» createdBy|boolean|false|none|none| +|»» modifiedBy|boolean|false|none|none| +|»» id|boolean|false|none|none| +|»» source|boolean|false|none|none| +|»» enableWorkingHours|boolean|false|none|none| +|»» location|boolean|false|none|none| +|»» identifier|boolean|false|none|none| +|»» summary|boolean|false|none|none| +|»» timezone|boolean|false|none|none| +|»» extId|boolean|false|none|none| +|»» extMetadata|boolean|false|none|none| + +xor + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|» *anonymous*|[string]|false|none|none| + +continued + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|include|[anyOf]|false|none|none| + +anyOf + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|» *anonymous*|[calendars.IncludeFilter.Items](#schemacalendars.includefilter.items)|false|none|none| + +or + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|» *anonymous*|string|false|none|none| + +

calendars.Filter1

+ + + + + + +```json +{ + "offset": 0, + "limit": 100, + "skip": 0, + "order": "string", + "where": {}, + "fields": { + "deleted": true, + "deletedOn": true, + "deletedBy": true, + "createdOn": true, + "modifiedOn": true, + "createdBy": true, + "modifiedBy": true, + "id": true, + "source": true, + "enableWorkingHours": true, + "location": true, + "identifier": true, + "summary": true, + "timezone": true, + "extId": true, + "extMetadata": true + }, + "include": [ + { + "relation": "string", + "scope": { + "offset": 0, + "limit": 100, + "skip": 0, + "order": "string", + "where": {}, + "fields": {}, + "include": [ + {} + ] + } + } + ] +} + +``` + +calendars.Filter + +### Properties + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|offset|integer|false|none|none| +|limit|integer|false|none|none| +|skip|integer|false|none|none| +|order|any|false|none|none| + +oneOf + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|» *anonymous*|string|false|none|none| + +xor + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|» *anonymous*|[string]|false|none|none| + +continued + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|where|object|false|none|none| +|fields|any|false|none|none| + +oneOf + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|» *anonymous*|object|false|none|none| +|»» deleted|boolean|false|none|none| +|»» deletedOn|boolean|false|none|none| +|»» deletedBy|boolean|false|none|none| +|»» createdOn|boolean|false|none|none| +|»» modifiedOn|boolean|false|none|none| +|»» createdBy|boolean|false|none|none| +|»» modifiedBy|boolean|false|none|none| +|»» id|boolean|false|none|none| +|»» source|boolean|false|none|none| +|»» enableWorkingHours|boolean|false|none|none| +|»» location|boolean|false|none|none| +|»» identifier|boolean|false|none|none| +|»» summary|boolean|false|none|none| +|»» timezone|boolean|false|none|none| +|»» extId|boolean|false|none|none| +|»» extMetadata|boolean|false|none|none| + +xor + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|» *anonymous*|[string]|false|none|none| + +continued + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|include|[anyOf]|false|none|none| + +anyOf + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|» *anonymous*|[calendars.IncludeFilter.Items](#schemacalendars.includefilter.items)|false|none|none| + +or + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|» *anonymous*|string|false|none|none| + +

events.ScopeFilter

+ + + + + + +```json +{ + "offset": 0, + "limit": 100, + "skip": 0, + "order": "string", + "where": {}, + "fields": {}, + "include": [ + {} + ] +} + +``` + +events.ScopeFilter + +### Properties + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|offset|integer|false|none|none| +|limit|integer|false|none|none| +|skip|integer|false|none|none| +|order|any|false|none|none| + +oneOf + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|» *anonymous*|string|false|none|none| + +xor + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|» *anonymous*|[string]|false|none|none| + +continued + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|where|object|false|none|none| +|fields|any|false|none|none| + +oneOf + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|» *anonymous*|object|false|none|none| + +xor + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|» *anonymous*|[string]|false|none|none| + +continued + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|include|[object]|false|none|none| + +

events.IncludeFilter.Items

+ + + + + + +```json +{ + "relation": "string", + "scope": { + "offset": 0, + "limit": 100, + "skip": 0, + "order": "string", + "where": {}, + "fields": {}, + "include": [ + {} + ] + } +} + +``` + +events.IncludeFilter.Items + +### Properties + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|relation|string|false|none|none| +|scope|[events.ScopeFilter](#schemaevents.scopefilter)|false|none|none| + +

events.Filter

+ + + + + + +```json +{ + "offset": 0, + "limit": 100, + "skip": 0, + "order": "string", + "fields": { + "deleted": true, + "deletedOn": true, + "deletedBy": true, + "createdOn": true, + "modifiedOn": true, + "createdBy": true, + "modifiedBy": true, + "id": true, + "bgColor": true, + "description": true, + "endDateTime": true, + "fgColor": true, + "iCalUid": true, + "isFullDayEvent": true, + "isLocked": true, + "link": true, + "location": true, + "meetingLink": true, + "identifier": true, + "startDateTime": true, + "status": true, + "summary": true, + "timezone": true, + "calendarId": true, + "parentEventId": true, + "extId": true, + "extMetadata": true + }, + "include": [ + { + "relation": "string", + "scope": { + "offset": 0, + "limit": 100, + "skip": 0, + "order": "string", + "where": {}, + "fields": {}, + "include": [ + {} + ] + } + } + ] +} + +``` + +events.Filter + +### Properties + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|offset|integer|false|none|none| +|limit|integer|false|none|none| +|skip|integer|false|none|none| +|order|any|false|none|none| + +oneOf + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|» *anonymous*|string|false|none|none| + +xor + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|» *anonymous*|[string]|false|none|none| + +continued + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|fields|any|false|none|none| + +oneOf + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|» *anonymous*|object|false|none|none| +|»» deleted|boolean|false|none|none| +|»» deletedOn|boolean|false|none|none| +|»» deletedBy|boolean|false|none|none| +|»» createdOn|boolean|false|none|none| +|»» modifiedOn|boolean|false|none|none| +|»» createdBy|boolean|false|none|none| +|»» modifiedBy|boolean|false|none|none| +|»» id|boolean|false|none|none| +|»» bgColor|boolean|false|none|none| +|»» description|boolean|false|none|none| +|»» endDateTime|boolean|false|none|none| +|»» fgColor|boolean|false|none|none| +|»» iCalUid|boolean|false|none|none| +|»» isFullDayEvent|boolean|false|none|none| +|»» isLocked|boolean|false|none|none| +|»» link|boolean|false|none|none| +|»» location|boolean|false|none|none| +|»» meetingLink|boolean|false|none|none| +|»» identifier|boolean|false|none|none| +|»» startDateTime|boolean|false|none|none| +|»» status|boolean|false|none|none| +|»» summary|boolean|false|none|none| +|»» timezone|boolean|false|none|none| +|»» calendarId|boolean|false|none|none| +|»» parentEventId|boolean|false|none|none| +|»» extId|boolean|false|none|none| +|»» extMetadata|boolean|false|none|none| + +xor + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|» *anonymous*|[string]|false|none|none| + +continued + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|include|[anyOf]|false|none|none| + +anyOf + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|» *anonymous*|[events.IncludeFilter.Items](#schemaevents.includefilter.items)|false|none|none| + +or + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|» *anonymous*|string|false|none|none| + +

events_attendees_view.ScopeFilter

+ + + + + + +```json +{ + "offset": 0, + "limit": 100, + "skip": 0, + "order": "string", + "where": {}, + "fields": {}, + "include": [ + {} + ] +} + +``` + +events_attendees_view.ScopeFilter + +### Properties + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|offset|integer|false|none|none| +|limit|integer|false|none|none| +|skip|integer|false|none|none| +|order|any|false|none|none| + +oneOf + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|» *anonymous*|string|false|none|none| + +xor + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|» *anonymous*|[string]|false|none|none| + +continued + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|where|object|false|none|none| +|fields|any|false|none|none| + +oneOf + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|» *anonymous*|object|false|none|none| + +xor + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|» *anonymous*|[string]|false|none|none| + +continued + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|include|[object]|false|none|none| + +

events_attendees_view.IncludeFilter.Items

+ + + + + + +```json +{ + "relation": "string", + "scope": { + "offset": 0, + "limit": 100, + "skip": 0, + "order": "string", + "where": {}, + "fields": {}, + "include": [ + {} + ] + } +} + +``` + +events_attendees_view.IncludeFilter.Items + +### Properties + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|relation|string|false|none|none| +|scope|[events_attendees_view.ScopeFilter](#schemaevents_attendees_view.scopefilter)|false|none|none| + +

events_attendees_view.Filter

+ + + + + + +```json +{ + "offset": 0, + "limit": 100, + "skip": 0, + "order": "string", + "where": {}, + "fields": { + "deleted": true, + "deletedOn": true, + "deletedBy": true, + "createdOn": true, + "modifiedOn": true, + "createdBy": true, + "modifiedBy": true, + "id": true, + "bgColor": true, + "description": true, + "endDateTime": true, + "fgColor": true, + "iCalUid": true, + "isFullDayEvent": true, + "isLocked": true, + "link": true, + "location": true, + "meetingLink": true, + "identifier": true, + "startDateTime": true, + "status": true, + "summary": true, + "timezone": true, + "calendarId": true, + "parentEventId": true, + "extId": true, + "extMetadata": true, + "attendeeId": true, + "isOptional": true, + "attendeeIdentifier": true, + "isOrganizer": true, + "messages": true, + "responseStatus": true, + "eventId": true + }, + "include": [ + { + "relation": "string", + "scope": { + "offset": 0, + "limit": 100, + "skip": 0, + "order": "string", + "where": {}, + "fields": {}, + "include": [ + {} + ] + } + } + ] +} + +``` + +events_attendees_view.Filter + +### Properties + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|offset|integer|false|none|none| +|limit|integer|false|none|none| +|skip|integer|false|none|none| +|order|any|false|none|none| + +oneOf + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|» *anonymous*|string|false|none|none| + +xor + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|» *anonymous*|[string]|false|none|none| + +continued + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|where|object|false|none|none| +|fields|any|false|none|none| + +oneOf + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|» *anonymous*|object|false|none|none| +|»» deleted|boolean|false|none|none| +|»» deletedOn|boolean|false|none|none| +|»» deletedBy|boolean|false|none|none| +|»» createdOn|boolean|false|none|none| +|»» modifiedOn|boolean|false|none|none| +|»» createdBy|boolean|false|none|none| +|»» modifiedBy|boolean|false|none|none| +|»» id|boolean|false|none|none| +|»» bgColor|boolean|false|none|none| +|»» description|boolean|false|none|none| +|»» endDateTime|boolean|false|none|none| +|»» fgColor|boolean|false|none|none| +|»» iCalUid|boolean|false|none|none| +|»» isFullDayEvent|boolean|false|none|none| +|»» isLocked|boolean|false|none|none| +|»» link|boolean|false|none|none| +|»» location|boolean|false|none|none| +|»» meetingLink|boolean|false|none|none| +|»» identifier|boolean|false|none|none| +|»» startDateTime|boolean|false|none|none| +|»» status|boolean|false|none|none| +|»» summary|boolean|false|none|none| +|»» timezone|boolean|false|none|none| +|»» calendarId|boolean|false|none|none| +|»» parentEventId|boolean|false|none|none| +|»» extId|boolean|false|none|none| +|»» extMetadata|boolean|false|none|none| +|»» attendeeId|boolean|false|none|none| +|»» isOptional|boolean|false|none|none| +|»» attendeeIdentifier|boolean|false|none|none| +|»» isOrganizer|boolean|false|none|none| +|»» messages|boolean|false|none|none| +|»» responseStatus|boolean|false|none|none| +|»» eventId|boolean|false|none|none| + +xor + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|» *anonymous*|[string]|false|none|none| + +continued + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|include|[anyOf]|false|none|none| + +anyOf + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|» *anonymous*|[events_attendees_view.IncludeFilter.Items](#schemaevents_attendees_view.includefilter.items)|false|none|none| + +or + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|» *anonymous*|string|false|none|none| + +

PingResponse

+ + + + + + +```json +{ + "greeting": "string", + "date": "string", + "url": "string", + "headers": { + "Content-Type": "string" + } +} + +``` + +PingResponse + +### Properties + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|greeting|string|false|none|none| +|date|string|false|none|none| +|url|string|false|none|none| +|headers|object|false|none|none| +|» Content-Type|string|false|none|none| + +

settings.Filter

+ + + + + + +```json +{ + "offset": 0, + "limit": 100, + "skip": 0, + "order": "string", + "fields": { + "deleted": true, + "deletedOn": true, + "deletedBy": true, + "createdOn": true, + "modifiedOn": true, + "createdBy": true, + "modifiedBy": true, + "id": true, + "ownerId": true, + "ownerType": true, + "settingName": true, + "settingValue": true, + "extId": true, + "extMetadata": true + } +} + +``` + +settings.Filter + +### Properties + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|offset|integer|false|none|none| +|limit|integer|false|none|none| +|skip|integer|false|none|none| +|order|any|false|none|none| + +oneOf + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|» *anonymous*|string|false|none|none| + +xor + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|» *anonymous*|[string]|false|none|none| + +continued + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|fields|any|false|none|none| + +oneOf + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|» *anonymous*|object|false|none|none| +|»» deleted|boolean|false|none|none| +|»» deletedOn|boolean|false|none|none| +|»» deletedBy|boolean|false|none|none| +|»» createdOn|boolean|false|none|none| +|»» modifiedOn|boolean|false|none|none| +|»» createdBy|boolean|false|none|none| +|»» modifiedBy|boolean|false|none|none| +|»» id|boolean|false|none|none| +|»» ownerId|boolean|false|none|none| +|»» ownerType|boolean|false|none|none| +|»» settingName|boolean|false|none|none| +|»» settingValue|boolean|false|none|none| +|»» extId|boolean|false|none|none| +|»» extMetadata|boolean|false|none|none| + +xor + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|» *anonymous*|[string]|false|none|none| + +

settings.Filter1

+ + + + + + +```json +{ + "offset": 0, + "limit": 100, + "skip": 0, + "order": "string", + "where": {}, + "fields": { + "deleted": true, + "deletedOn": true, + "deletedBy": true, + "createdOn": true, + "modifiedOn": true, + "createdBy": true, + "modifiedBy": true, + "id": true, + "ownerId": true, + "ownerType": true, + "settingName": true, + "settingValue": true, + "extId": true, + "extMetadata": true + } +} + +``` + +settings.Filter + +### Properties + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|offset|integer|false|none|none| +|limit|integer|false|none|none| +|skip|integer|false|none|none| +|order|any|false|none|none| + +oneOf + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|» *anonymous*|string|false|none|none| + +xor + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|» *anonymous*|[string]|false|none|none| + +continued + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|where|object|false|none|none| +|fields|any|false|none|none| + +oneOf + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|» *anonymous*|object|false|none|none| +|»» deleted|boolean|false|none|none| +|»» deletedOn|boolean|false|none|none| +|»» deletedBy|boolean|false|none|none| +|»» createdOn|boolean|false|none|none| +|»» modifiedOn|boolean|false|none|none| +|»» createdBy|boolean|false|none|none| +|»» modifiedBy|boolean|false|none|none| +|»» id|boolean|false|none|none| +|»» ownerId|boolean|false|none|none| +|»» ownerType|boolean|false|none|none| +|»» settingName|boolean|false|none|none| +|»» settingValue|boolean|false|none|none| +|»» extId|boolean|false|none|none| +|»» extMetadata|boolean|false|none|none| + +xor + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|» *anonymous*|[string]|false|none|none| + +

subscriptions.Filter1

+ + + + + + +```json +{ + "offset": 0, + "limit": 100, + "skip": 0, + "order": "string", + "fields": { + "deleted": true, + "deletedOn": true, + "deletedBy": true, + "createdOn": true, + "modifiedOn": true, + "createdBy": true, + "modifiedBy": true, + "id": true, + "accessRole": true, + "bgColor": true, + "fgColor": true, + "isHidden": true, + "isPrimary": true, + "identifier": true, + "defaultReminders": true, + "notificationSettings": true, + "calendarId": true, + "extId": true, + "extMetadata": true + }, + "include": [ + { + "relation": "string", + "scope": { + "offset": 0, + "limit": 100, + "skip": 0, + "order": "string", + "where": {}, + "fields": {}, + "include": [ + {} + ] + } + } + ] +} + +``` + +subscriptions.Filter + +### Properties + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|offset|integer|false|none|none| +|limit|integer|false|none|none| +|skip|integer|false|none|none| +|order|any|false|none|none| + +oneOf + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|» *anonymous*|string|false|none|none| + +xor + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|» *anonymous*|[string]|false|none|none| + +continued + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|fields|any|false|none|none| + +oneOf + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|» *anonymous*|object|false|none|none| +|»» deleted|boolean|false|none|none| +|»» deletedOn|boolean|false|none|none| +|»» deletedBy|boolean|false|none|none| +|»» createdOn|boolean|false|none|none| +|»» modifiedOn|boolean|false|none|none| +|»» createdBy|boolean|false|none|none| +|»» modifiedBy|boolean|false|none|none| +|»» id|boolean|false|none|none| +|»» accessRole|boolean|false|none|none| +|»» bgColor|boolean|false|none|none| +|»» fgColor|boolean|false|none|none| +|»» isHidden|boolean|false|none|none| +|»» isPrimary|boolean|false|none|none| +|»» identifier|boolean|false|none|none| +|»» defaultReminders|boolean|false|none|none| +|»» notificationSettings|boolean|false|none|none| +|»» calendarId|boolean|false|none|none| +|»» extId|boolean|false|none|none| +|»» extMetadata|boolean|false|none|none| + +xor + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|» *anonymous*|[string]|false|none|none| + +continued + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|include|[anyOf]|false|none|none| + +anyOf + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|» *anonymous*|[subscriptions.IncludeFilter.Items](#schemasubscriptions.includefilter.items)|false|none|none| + +or + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|» *anonymous*|string|false|none|none| + +

themes.Filter

+ + + + + + +```json +{ + "offset": 0, + "limit": 100, + "skip": 0, + "order": "string", + "fields": { + "deleted": true, + "deletedOn": true, + "deletedBy": true, + "createdOn": true, + "modifiedOn": true, + "createdBy": true, + "modifiedBy": true, + "id": true, + "calBg": true, + "calFg": true, + "eventBg": true, + "eventFg": true, + "extId": true, + "extMetadata": true + } +} + +``` + +themes.Filter + +### Properties + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|offset|integer|false|none|none| +|limit|integer|false|none|none| +|skip|integer|false|none|none| +|order|any|false|none|none| + +oneOf + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|» *anonymous*|string|false|none|none| + +xor + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|» *anonymous*|[string]|false|none|none| + +continued + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|fields|any|false|none|none| + +oneOf + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|» *anonymous*|object|false|none|none| +|»» deleted|boolean|false|none|none| +|»» deletedOn|boolean|false|none|none| +|»» deletedBy|boolean|false|none|none| +|»» createdOn|boolean|false|none|none| +|»» modifiedOn|boolean|false|none|none| +|»» createdBy|boolean|false|none|none| +|»» modifiedBy|boolean|false|none|none| +|»» id|boolean|false|none|none| +|»» calBg|boolean|false|none|none| +|»» calFg|boolean|false|none|none| +|»» eventBg|boolean|false|none|none| +|»» eventFg|boolean|false|none|none| +|»» extId|boolean|false|none|none| +|»» extMetadata|boolean|false|none|none| + +xor + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|» *anonymous*|[string]|false|none|none| + +

themes.Filter1

+ + + + + + +```json +{ + "offset": 0, + "limit": 100, + "skip": 0, + "order": "string", + "where": {}, + "fields": { + "deleted": true, + "deletedOn": true, + "deletedBy": true, + "createdOn": true, + "modifiedOn": true, + "createdBy": true, + "modifiedBy": true, + "id": true, + "calBg": true, + "calFg": true, + "eventBg": true, + "eventFg": true, + "extId": true, + "extMetadata": true + } +} + +``` + +themes.Filter + +### Properties + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|offset|integer|false|none|none| +|limit|integer|false|none|none| +|skip|integer|false|none|none| +|order|any|false|none|none| + +oneOf + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|» *anonymous*|string|false|none|none| + +xor + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|» *anonymous*|[string]|false|none|none| + +continued + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|where|object|false|none|none| +|fields|any|false|none|none| + +oneOf + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|» *anonymous*|object|false|none|none| +|»» deleted|boolean|false|none|none| +|»» deletedOn|boolean|false|none|none| +|»» deletedBy|boolean|false|none|none| +|»» createdOn|boolean|false|none|none| +|»» modifiedOn|boolean|false|none|none| +|»» createdBy|boolean|false|none|none| +|»» modifiedBy|boolean|false|none|none| +|»» id|boolean|false|none|none| +|»» calBg|boolean|false|none|none| +|»» calFg|boolean|false|none|none| +|»» eventBg|boolean|false|none|none| +|»» eventFg|boolean|false|none|none| +|»» extId|boolean|false|none|none| +|»» extMetadata|boolean|false|none|none| + +xor + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|» *anonymous*|[string]|false|none|none| + +

working_hours.ScopeFilter

+ + + + + + +```json +{ + "offset": 0, + "limit": 100, + "skip": 0, + "order": "string", + "where": {}, + "fields": {}, + "include": [ + {} + ] +} + +``` + +working_hours.ScopeFilter + +### Properties + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|offset|integer|false|none|none| +|limit|integer|false|none|none| +|skip|integer|false|none|none| +|order|any|false|none|none| + +oneOf + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|» *anonymous*|string|false|none|none| + +xor + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|» *anonymous*|[string]|false|none|none| + +continued + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|where|object|false|none|none| +|fields|any|false|none|none| + +oneOf + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|» *anonymous*|object|false|none|none| + +xor + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|» *anonymous*|[string]|false|none|none| + +continued + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|include|[object]|false|none|none| + +

working_hours.IncludeFilter.Items

+ + + + + + +```json +{ + "relation": "string", + "scope": { + "offset": 0, + "limit": 100, + "skip": 0, + "order": "string", + "where": {}, + "fields": {}, + "include": [ + {} + ] + } +} + +``` + +working_hours.IncludeFilter.Items + +### Properties + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|relation|string|false|none|none| +|scope|[working_hours.ScopeFilter](#schemaworking_hours.scopefilter)|false|none|none| + +

working_hours.Filter

+ + + + + + +```json +{ + "offset": 0, + "limit": 100, + "skip": 0, + "order": "string", + "fields": { + "deleted": true, + "deletedOn": true, + "deletedBy": true, + "createdOn": true, + "modifiedOn": true, + "createdBy": true, + "modifiedBy": true, + "id": true, + "dayOfWeek": true, + "end": true, + "start": true, + "calendarId": true, + "extId": true, + "extMetadata": true + }, + "include": [ + { + "relation": "string", + "scope": { + "offset": 0, + "limit": 100, + "skip": 0, + "order": "string", + "where": {}, + "fields": {}, + "include": [ + {} + ] + } + } + ] +} + +``` + +working_hours.Filter + +### Properties + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|offset|integer|false|none|none| +|limit|integer|false|none|none| +|skip|integer|false|none|none| +|order|any|false|none|none| + +oneOf + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|» *anonymous*|string|false|none|none| + +xor + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|» *anonymous*|[string]|false|none|none| + +continued + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|fields|any|false|none|none| + +oneOf + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|» *anonymous*|object|false|none|none| +|»» deleted|boolean|false|none|none| +|»» deletedOn|boolean|false|none|none| +|»» deletedBy|boolean|false|none|none| +|»» createdOn|boolean|false|none|none| +|»» modifiedOn|boolean|false|none|none| +|»» createdBy|boolean|false|none|none| +|»» modifiedBy|boolean|false|none|none| +|»» id|boolean|false|none|none| +|»» dayOfWeek|boolean|false|none|none| +|»» end|boolean|false|none|none| +|»» start|boolean|false|none|none| +|»» calendarId|boolean|false|none|none| +|»» extId|boolean|false|none|none| +|»» extMetadata|boolean|false|none|none| + +xor + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|» *anonymous*|[string]|false|none|none| + +continued + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|include|[anyOf]|false|none|none| + +anyOf + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|» *anonymous*|[working_hours.IncludeFilter.Items](#schemaworking_hours.includefilter.items)|false|none|none| + +or + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|» *anonymous*|string|false|none|none| + +

working_hours.Filter1

+ + + + + + +```json +{ + "offset": 0, + "limit": 100, + "skip": 0, + "order": "string", + "where": {}, + "fields": { + "deleted": true, + "deletedOn": true, + "deletedBy": true, + "createdOn": true, + "modifiedOn": true, + "createdBy": true, + "modifiedBy": true, + "id": true, + "dayOfWeek": true, + "end": true, + "start": true, + "calendarId": true, + "extId": true, + "extMetadata": true + }, + "include": [ + { + "relation": "string", + "scope": { + "offset": 0, + "limit": 100, + "skip": 0, + "order": "string", + "where": {}, + "fields": {}, + "include": [ + {} + ] + } + } + ] +} + +``` + +working_hours.Filter + +### Properties + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|offset|integer|false|none|none| +|limit|integer|false|none|none| +|skip|integer|false|none|none| +|order|any|false|none|none| + +oneOf + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|» *anonymous*|string|false|none|none| + +xor + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|» *anonymous*|[string]|false|none|none| + +continued + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|where|object|false|none|none| +|fields|any|false|none|none| + +oneOf + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|» *anonymous*|object|false|none|none| +|»» deleted|boolean|false|none|none| +|»» deletedOn|boolean|false|none|none| +|»» deletedBy|boolean|false|none|none| +|»» createdOn|boolean|false|none|none| +|»» modifiedOn|boolean|false|none|none| +|»» createdBy|boolean|false|none|none| +|»» modifiedBy|boolean|false|none|none| +|»» id|boolean|false|none|none| +|»» dayOfWeek|boolean|false|none|none| +|»» end|boolean|false|none|none| +|»» start|boolean|false|none|none| +|»» calendarId|boolean|false|none|none| +|»» extId|boolean|false|none|none| +|»» extMetadata|boolean|false|none|none| + +xor + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|» *anonymous*|[string]|false|none|none| + +continued + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|include|[anyOf]|false|none|none| + +anyOf + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|» *anonymous*|[working_hours.IncludeFilter.Items](#schemaworking_hours.includefilter.items)|false|none|none| + +or + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|» *anonymous*|string|false|none|none| + diff --git a/sandbox/video-conferencing-ms-example/README.md b/sandbox/video-conferencing-ms-example/README.md index 13f7f211ae..24eddbfc17 100644 --- a/sandbox/video-conferencing-ms-example/README.md +++ b/sandbox/video-conferencing-ms-example/README.md @@ -1,3 +1,7 @@ # video-conferencing-ms-example -[![LoopBack](https://github.com/strongloop/loopback-next/raw/master/docs/site/imgs/branding/Powered-by-LoopBack-Badge-(blue)-@2x.png)](http://loopback.io/) \ No newline at end of file +[![LoopBack](https://github.com/strongloop/loopback-next/raw/master/docs/site/imgs/branding/Powered-by-LoopBack-Badge-(blue)-@2x.png)](http://loopback.io/) + +#### API Details + +Visit the [OpenAPI spec docs](./openapi.md) \ No newline at end of file diff --git a/sandbox/video-conferencing-ms-example/openapi.md b/sandbox/video-conferencing-ms-example/openapi.md new file mode 100644 index 0000000000..8b5ba8c8e1 --- /dev/null +++ b/sandbox/video-conferencing-ms-example/openapi.md @@ -0,0 +1,675 @@ +--- +title: Video Conferencing Service v1.0.0 +language_tabs: + - "'javascript": JavaScript + - "'javascript--nodejs": Node.JS' +language_clients: + - "'javascript": request' + - "'javascript--nodejs": "" +toc_footers: [] +includes: [] +search: false +highlight_theme: darkula +headingLevel: 2 + +--- + + + +

Video Conferencing Service v1.0.0

+ +> Scroll down for code samples, example requests and responses. Select a language for code samples from the tabs above or the mobile navigation menu. + +A Video conferencing service example + +Base URLs: + +* http://localhost:3000 + +# Authentication + +- HTTP Authentication, scheme: bearer + +

VideoChatArchiveController

+ +## VideoChatArchiveController.setUploadTarget + + + +> Code samples + +```'javascript--nodejs +const fetch = require('node-fetch'); +const inputBody = {}; +const headers = { + 'Content-Type':'application/json', + 'Accept':'text/plain' +}; + +fetch('http://localhost:3000/archives/storage-target', +{ + method: 'PUT', + body: JSON.stringify(inputBody), + headers: headers +}) +.then(function(res) { + return res.json(); +}).then(function(body) { + console.log(body); +}); + +``` + +`PUT /archives/storage-target` + +> Body parameter + +```json +{} +``` + +

Parameters

+ +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|body|body|object|false|none| + +> Example responses + +> 200 Response + +``` +null +``` + +

Responses

+ +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|none|text| + + + +## VideoChatArchiveController.getArchive + + + +> Code samples + +```'javascript--nodejs +const fetch = require('node-fetch'); + +const headers = { + 'Accept':'application/json' +}; + +fetch('http://localhost:3000/archives/{archiveId}', +{ + method: 'GET', + + headers: headers +}) +.then(function(res) { + return res.json(); +}).then(function(body) { + console.log(body); +}); + +``` + +`GET /archives/{archiveId}` + +

Parameters

+ +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|archiveId|path|string|true|none| + +> Example responses + +> 200 Response + +```json +{} +``` + +

Responses

+ +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|none|Inline| + +

Response Schema

+ + + +## VideoChatArchiveController.deleteArchive + + + +> Code samples + +```'javascript--nodejs +const fetch = require('node-fetch'); + +const headers = { + 'Accept':'text/plain' +}; + +fetch('http://localhost:3000/archives/{archiveId}', +{ + method: 'DELETE', + + headers: headers +}) +.then(function(res) { + return res.json(); +}).then(function(body) { + console.log(body); +}); + +``` + +`DELETE /archives/{archiveId}` + +

Parameters

+ +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|archiveId|path|string|true|none| + +> Example responses + +> 200 Response + +``` +null +``` + +

Responses

+ +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|none|text| + + + +## VideoChatArchiveController.getArchives + + + +> Code samples + +```'javascript--nodejs +const fetch = require('node-fetch'); + +const headers = { + 'Accept':'application/json' +}; + +fetch('http://localhost:3000/archives', +{ + method: 'GET', + + headers: headers +}) +.then(function(res) { + return res.json(); +}).then(function(body) { + console.log(body); +}); + +``` + +`GET /archives` + +> Example responses + +> 200 Response + +```json +{} +``` + +

Responses

+ +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|none|Inline| + +

Response Schema

+ + + +

VideoChatSessionController

+ +## VideoChatSessionController.getAttendeesList + + + +> Code samples + +```'javascript--nodejs +const fetch = require('node-fetch'); + +const headers = { + 'Accept':'text/plain' +}; + +fetch('http://localhost:3000/session/{meetingLinkId}/attendees', +{ + method: 'GET', + + headers: headers +}) +.then(function(res) { + return res.json(); +}).then(function(body) { + console.log(body); +}); + +``` + +`GET /session/{meetingLinkId}/attendees` + +

Parameters

+ +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|meetingLinkId|path|string|true|none| +|active|query|string|false|none| + +> Example responses + +> 200 Response + +``` +[] +``` + +

Responses

+ +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|none|Inline| + +

Response Schema

+ + + +## VideoChatSessionController.endSession + + + +> Code samples + +```'javascript--nodejs +const fetch = require('node-fetch'); + +fetch('http://localhost:3000/session/{meetingLinkId}/end', +{ + method: 'PATCH' + +}) +.then(function(res) { + return res.json(); +}).then(function(body) { + console.log(body); +}); + +``` + +`PATCH /session/{meetingLinkId}/end` + +

Parameters

+ +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|meetingLinkId|path|string|true|none| + +

Responses

+ +|Status|Meaning|Description|Schema| +|---|---|---|---| +|204|[No Content](https://tools.ietf.org/html/rfc7231#section-6.3.5)|MessageRecipient PATCH success|None| + + + +## VideoChatSessionController.getMeetingToken + + + +> Code samples + +```'javascript--nodejs +const fetch = require('node-fetch'); +const inputBody = {}; +const headers = { + 'Content-Type':'application/json', + 'Accept':'application/json' +}; + +fetch('http://localhost:3000/session/{meetingLinkId}/token', +{ + method: 'POST', + body: JSON.stringify(inputBody), + headers: headers +}) +.then(function(res) { + return res.json(); +}).then(function(body) { + console.log(body); +}); + +``` + +`POST /session/{meetingLinkId}/token` + +> Body parameter + +```json +{} +``` + +

Parameters

+ +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|meetingLinkId|path|string|true|none| +|body|body|object|false|none| + +> Example responses + +> 200 Response + +```json +null +``` + +

Responses

+ +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|none|Inline| + +

Response Schema

+ + + +## VideoChatSessionController.editMeeting + + + +> Code samples + +```'javascript--nodejs +const fetch = require('node-fetch'); +const inputBody = { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": 0, + "sessionId": "string", + "meetingLink": "string", + "isScheduled": true, + "scheduleTime": "2019-08-24T14:15:22Z", + "isArchived": true, + "archiveId": "string", + "uploadTarget": "string", + "startTime": "2019-08-24T14:15:22Z", + "endTime": "2019-08-24T14:15:22Z", + "extId": "string", + "extMetadata": {} +}; +const headers = { + 'Content-Type':'application/json' +}; + +fetch('http://localhost:3000/session/{meetingLinkId}', +{ + method: 'PATCH', + body: JSON.stringify(inputBody), + headers: headers +}) +.then(function(res) { + return res.json(); +}).then(function(body) { + console.log(body); +}); + +``` + +`PATCH /session/{meetingLinkId}` + +> Body parameter + +```json +{ + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": 0, + "sessionId": "string", + "meetingLink": "string", + "isScheduled": true, + "scheduleTime": "2019-08-24T14:15:22Z", + "isArchived": true, + "archiveId": "string", + "uploadTarget": "string", + "startTime": "2019-08-24T14:15:22Z", + "endTime": "2019-08-24T14:15:22Z", + "extId": "string", + "extMetadata": {} +} +``` + +

Parameters

+ +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|meetingLinkId|path|string|true|none| +|body|body|[VideoChatSessionPartial](#schemavideochatsessionpartial)|false|none| + +

Responses

+ +|Status|Meaning|Description|Schema| +|---|---|---|---| +|204|[No Content](https://tools.ietf.org/html/rfc7231#section-6.3.5)|Session details PATCH success|None| + + + +## VideoChatSessionController.getMeetingLink + + + +> Code samples + +```'javascript--nodejs +const fetch = require('node-fetch'); +const inputBody = {}; +const headers = { + 'Content-Type':'application/json', + 'Accept':'text/plain' +}; + +fetch('http://localhost:3000/session', +{ + method: 'POST', + body: JSON.stringify(inputBody), + headers: headers +}) +.then(function(res) { + return res.json(); +}).then(function(body) { + console.log(body); +}); + +``` + +`POST /session` + +> Body parameter + +```json +{} +``` + + + +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|body|body|object|false|none| + +> Example responses + +> 200 Response + +``` +"string" +``` + + + +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|none|string| + + + +## VideoChatSessionController.checkWebhookPayload + + + +> Code samples + +```'javascript--nodejs +const fetch = require('node-fetch'); +const inputBody = {}; +const headers = { + 'Content-Type':'application/json' +}; + +fetch('http://localhost:3000/webhooks/session', +{ + method: 'POST', + body: JSON.stringify(inputBody), + headers: headers +}) +.then(function(res) { + return res.json(); +}).then(function(body) { + console.log(body); +}); + +``` + +`POST /webhooks/session` + +> Body parameter + +```json +{} +``` + +

Parameters

+ +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|body|body|object|false|none| + +

Responses

+ +|Status|Meaning|Description|Schema| +|---|---|---|---| +|204|[No Content](https://tools.ietf.org/html/rfc7231#section-6.3.5)|POST /webhooks/session Success|None| + + + +# Schemas + +

VideoChatSessionPartial

+ + + + + + +```json +{ + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": 0, + "sessionId": "string", + "meetingLink": "string", + "isScheduled": true, + "scheduleTime": "2019-08-24T14:15:22Z", + "isArchived": true, + "archiveId": "string", + "uploadTarget": "string", + "startTime": "2019-08-24T14:15:22Z", + "endTime": "2019-08-24T14:15:22Z", + "extId": "string", + "extMetadata": {} +} + +``` + +VideoChatSessionPartial + +### Properties + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|deleted|boolean|false|none|none| +|deletedOn|string(date-time)¦null|false|none|none| +|deletedBy|string¦null|false|none|none| +|createdOn|string(date-time)|false|none|none| +|modifiedOn|string(date-time)|false|none|none| +|createdBy|string|false|none|none| +|modifiedBy|string|false|none|none| +|id|number|false|none|none| +|sessionId|string|false|none|none| +|meetingLink|string|false|none|none| +|isScheduled|boolean|false|none|none| +|scheduleTime|string(date-time)|false|none|none| +|isArchived|boolean|false|none|none| +|archiveId|string|false|none|none| +|uploadTarget|string|false|none|none| +|startTime|string(date-time)|false|none|none| +|endTime|string(date-time)|false|none|none| +|extId|string|false|none|none| +|extMetadata|object|false|none|none| + diff --git a/sandbox/workflow-ms-example/README.md b/sandbox/workflow-ms-example/README.md index 96dd1fc03c..61dab0ed8b 100644 --- a/sandbox/workflow-ms-example/README.md +++ b/sandbox/workflow-ms-example/README.md @@ -1,3 +1,7 @@ # workflow-ms-example -[![LoopBack](https://github.com/strongloop/loopback-next/raw/master/docs/site/imgs/branding/Powered-by-LoopBack-Badge-(blue)-@2x.png)](http://loopback.io/) \ No newline at end of file +[![LoopBack](https://github.com/strongloop/loopback-next/raw/master/docs/site/imgs/branding/Powered-by-LoopBack-Badge-(blue)-@2x.png)](http://loopback.io/) + +#### API Details + +Visit the [OpenAPI spec docs](./openapi.md) \ No newline at end of file diff --git a/sandbox/workflow-ms-example/openapi.md b/sandbox/workflow-ms-example/openapi.md new file mode 100644 index 0000000000..8033e2dd07 --- /dev/null +++ b/sandbox/workflow-ms-example/openapi.md @@ -0,0 +1,792 @@ +--- +title: Bpmn Service v1.0.0 +language_tabs: + - "'javascript": JavaScript + - "'javascript--nodejs": Node.JS' +language_clients: + - "'javascript": request' + - "'javascript--nodejs": "" +toc_footers: [] +includes: [] +search: false +highlight_theme: darkula +headingLevel: 2 + +--- + + + +

Bpmn Service v1.0.0

+ +> Scroll down for code samples, example requests and responses. Select a language for code samples from the tabs above or the mobile navigation menu. + +A workflow microservice example + +Base URLs: + +* http://localhost:3000 + +# Authentication + +- HTTP Authentication, scheme: bearer + +

WorkflowController

+ +## WorkflowController.startWorkflow + + + +> Code samples + +```'javascript--nodejs +const fetch = require('node-fetch'); +const inputBody = { + "workflowVersion": 0, + "input": {} +}; +const headers = { + 'Content-Type':'application/json' +}; + +fetch('http://localhost:3000/workflow/{id}/execute', +{ + method: 'POST', + body: JSON.stringify(inputBody), + headers: headers +}) +.then(function(res) { + return res.json(); +}).then(function(body) { + console.log(body); +}); + +``` + +`POST /workflow/{id}/execute` + +> Body parameter + +```json +{ + "workflowVersion": 0, + "input": {} +} +``` + +

Parameters

+ +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|id|path|string|true|none| +|body|body|[ExecuteWorkflowDto](#schemaexecuteworkflowdto)|false|none| + +

Responses

+ +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|Workflow instance|None| + + + +## WorkflowController.updateById + + + +> Code samples + +```'javascript--nodejs +const fetch = require('node-fetch'); +const inputBody = { + "name": "string", + "bpmnFile": "string", + "inputSchema": {} +}; +const headers = { + 'Content-Type':'application/json' +}; + +fetch('http://localhost:3000/workflow/{id}', +{ + method: 'PATCH', + body: JSON.stringify(inputBody), + headers: headers +}) +.then(function(res) { + return res.json(); +}).then(function(body) { + console.log(body); +}); + +``` + +`PATCH /workflow/{id}` + +> Body parameter + +```json +{ + "name": "string", + "bpmnFile": "string", + "inputSchema": {} +} +``` + +

Parameters

+ +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|id|path|string|true|none| +|body|body|[WorkflowDtoPartial](#schemaworkflowdtopartial)|false|none| + +

Responses

+ +|Status|Meaning|Description|Schema| +|---|---|---|---| +|204|[No Content](https://tools.ietf.org/html/rfc7231#section-6.3.5)|Workflow PATCH success|None| + + + +## WorkflowController.count + + + +> Code samples + +```'javascript--nodejs +const fetch = require('node-fetch'); + +fetch('http://localhost:3000/workflow/{id}', +{ + method: 'GET' + +}) +.then(function(res) { + return res.json(); +}).then(function(body) { + console.log(body); +}); + +``` + +`GET /workflow/{id}` + +

Parameters

+ +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|id|path|string|true|none| + +

Responses

+ +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|Workflow Model|None| + + + +## WorkflowController.deleteById + + + +> Code samples + +```'javascript--nodejs +const fetch = require('node-fetch'); + +fetch('http://localhost:3000/workflow/{id}', +{ + method: 'DELETE' + +}) +.then(function(res) { + return res.json(); +}).then(function(body) { + console.log(body); +}); + +``` + +`DELETE /workflow/{id}` + +

Parameters

+ +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|id|path|string|true|none| + +

Responses

+ +|Status|Meaning|Description|Schema| +|---|---|---|---| +|204|[No Content](https://tools.ietf.org/html/rfc7231#section-6.3.5)|Workflow DELETE success|None| + + + +## WorkflowController.create + + + +> Code samples + +```'javascript--nodejs +const fetch = require('node-fetch'); +const inputBody = { + "name": "string", + "bpmnFile": "string", + "inputSchema": {} +}; +const headers = { + 'Content-Type':'application/json', + 'Accept':'application/json' +}; + +fetch('http://localhost:3000/workflow', +{ + method: 'POST', + body: JSON.stringify(inputBody), + headers: headers +}) +.then(function(res) { + return res.json(); +}).then(function(body) { + console.log(body); +}); + +``` + +`POST /workflow` + +> Body parameter + +```json +{ + "name": "string", + "bpmnFile": "string", + "inputSchema": {} +} +``` + +

Parameters

+ +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|body|body|[NewWorkflow](#schemanewworkflow)|false|none| + +> Example responses + +> 200 Response + +```json +{ + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "workflowVersion": 0, + "externalIdentifier": "string", + "name": "string", + "provider": "string", + "inputSchema": {}, + "description": "string" +} +``` + +

Responses

+ +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|Workflow model instance|[Workflow](#schemaworkflow)| + + + +## WorkflowController.find + + + +> Code samples + +```'javascript--nodejs +const fetch = require('node-fetch'); + +const headers = { + 'Accept':'application/json' +}; + +fetch('http://localhost:3000/workflow', +{ + method: 'GET', + + headers: headers +}) +.then(function(res) { + return res.json(); +}).then(function(body) { + console.log(body); +}); + +``` + +`GET /workflow` + +

Parameters

+ +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|filter|query|[workflows.Filter](#schemaworkflows.filter)|false|none| + +> Example responses + +> 200 Response + +```json +[ + { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "workflowVersion": 0, + "externalIdentifier": "string", + "name": "string", + "provider": "string", + "inputSchema": {}, + "description": "string" + } +] +``` + +

Responses

+ +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|Array of Workflow model instances|Inline| + +

Response Schema

+ +Status Code **200** + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|*anonymous*|[[Workflow](#schemaworkflow)]|false|none|none| +|» Workflow|[Workflow](#schemaworkflow)|false|none|none| +|»» deleted|boolean|false|none|none| +|»» deletedOn|string(date-time)¦null|false|none|none| +|»» deletedBy|string¦null|false|none|none| +|»» createdOn|string(date-time)|false|none|none| +|»» modifiedOn|string(date-time)|false|none|none| +|»» createdBy|string|false|none|none| +|»» modifiedBy|string|false|none|none| +|»» id|string|false|none|none| +|»» workflowVersion|number|true|none|none| +|»» externalIdentifier|string|true|none|none| +|»» name|string|false|none|none| +|»» provider|string|true|none|none| +|»» inputSchema|object|true|none|none| +|»» description|string|false|none|none| + + + +# Schemas + +

Workflow

+ + + + + + +```json +{ + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "workflowVersion": 0, + "externalIdentifier": "string", + "name": "string", + "provider": "string", + "inputSchema": {}, + "description": "string" +} + +``` + +Workflow + +### Properties + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|deleted|boolean|false|none|none| +|deletedOn|string(date-time)¦null|false|none|none| +|deletedBy|string¦null|false|none|none| +|createdOn|string(date-time)|false|none|none| +|modifiedOn|string(date-time)|false|none|none| +|createdBy|string|false|none|none| +|modifiedBy|string|false|none|none| +|id|string|false|none|none| +|workflowVersion|number|true|none|none| +|externalIdentifier|string|true|none|none| +|name|string|false|none|none| +|provider|string|true|none|none| +|inputSchema|object|true|none|none| +|description|string|false|none|none| + +

NewWorkflow

+ + + + + + +```json +{ + "name": "string", + "bpmnFile": "string", + "inputSchema": {} +} + +``` + +NewWorkflow + +### Properties + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|name|string|true|none|none| +|bpmnFile|string|true|none|none| +|inputSchema|object|true|none|none| + +

WorkflowDto

+ + + + + + +```json +{ + "name": "string", + "bpmnFile": "string", + "inputSchema": {} +} + +``` + +WorkflowDto + +### Properties + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|name|string|true|none|none| +|bpmnFile|string|true|none|none| +|inputSchema|object|true|none|none| + +

WorkflowDtoPartial

+ + + + + + +```json +{ + "name": "string", + "bpmnFile": "string", + "inputSchema": {} +} + +``` + +WorkflowDtoPartial + +### Properties + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|name|string|false|none|none| +|bpmnFile|string|false|none|none| +|inputSchema|object|false|none|none| + +

ExecuteWorkflowDto

+ + + + + + +```json +{ + "workflowVersion": 0, + "input": {} +} + +``` + +ExecuteWorkflowDto + +### Properties + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|workflowVersion|number|false|none|none| +|input|object|true|none|none| + +

workflows.ScopeFilter

+ + + + + + +```json +{ + "offset": 0, + "limit": 100, + "skip": 0, + "order": "string", + "where": {}, + "fields": {}, + "include": [ + {} + ] +} + +``` + +workflows.ScopeFilter + +### Properties + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|offset|integer|false|none|none| +|limit|integer|false|none|none| +|skip|integer|false|none|none| +|order|any|false|none|none| + +oneOf + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|» *anonymous*|string|false|none|none| + +xor + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|» *anonymous*|[string]|false|none|none| + +continued + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|where|object|false|none|none| +|fields|any|false|none|none| + +oneOf + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|» *anonymous*|object|false|none|none| + +xor + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|» *anonymous*|[string]|false|none|none| + +continued + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|include|[object]|false|none|none| + +

workflows.IncludeFilter.Items

+ + + + + + +```json +{ + "relation": "string", + "scope": { + "offset": 0, + "limit": 100, + "skip": 0, + "order": "string", + "where": {}, + "fields": {}, + "include": [ + {} + ] + } +} + +``` + +workflows.IncludeFilter.Items + +### Properties + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|relation|string|false|none|none| +|scope|[workflows.ScopeFilter](#schemaworkflows.scopefilter)|false|none|none| + +

workflows.Filter

+ + + + + + +```json +{ + "offset": 0, + "limit": 100, + "skip": 0, + "order": "string", + "where": {}, + "fields": { + "deleted": true, + "deletedOn": true, + "deletedBy": true, + "createdOn": true, + "modifiedOn": true, + "createdBy": true, + "modifiedBy": true, + "id": true, + "workflowVersion": true, + "externalIdentifier": true, + "name": true, + "provider": true, + "inputSchema": true, + "description": true + }, + "include": [ + { + "relation": "string", + "scope": { + "offset": 0, + "limit": 100, + "skip": 0, + "order": "string", + "where": {}, + "fields": {}, + "include": [ + {} + ] + } + } + ] +} + +``` + +workflows.Filter + +### Properties + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|offset|integer|false|none|none| +|limit|integer|false|none|none| +|skip|integer|false|none|none| +|order|any|false|none|none| + +oneOf + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|» *anonymous*|string|false|none|none| + +xor + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|» *anonymous*|[string]|false|none|none| + +continued + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|where|object|false|none|none| +|fields|any|false|none|none| + +oneOf + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|» *anonymous*|object|false|none|none| +|»» deleted|boolean|false|none|none| +|»» deletedOn|boolean|false|none|none| +|»» deletedBy|boolean|false|none|none| +|»» createdOn|boolean|false|none|none| +|»» modifiedOn|boolean|false|none|none| +|»» createdBy|boolean|false|none|none| +|»» modifiedBy|boolean|false|none|none| +|»» id|boolean|false|none|none| +|»» workflowVersion|boolean|false|none|none| +|»» externalIdentifier|boolean|false|none|none| +|»» name|boolean|false|none|none| +|»» provider|boolean|false|none|none| +|»» inputSchema|boolean|false|none|none| +|»» description|boolean|false|none|none| + +xor + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|» *anonymous*|[string]|false|none|none| + +continued + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|include|[anyOf]|false|none|none| + +anyOf + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|» *anonymous*|[workflows.IncludeFilter.Items](#schemaworkflows.includefilter.items)|false|none|none| + +or + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|» *anonymous*|string|false|none|none| + diff --git a/services/audit-service/README.md b/services/audit-service/README.md index d60873d3a0..9c22423215 100644 --- a/services/audit-service/README.md +++ b/services/audit-service/README.md @@ -24,7 +24,7 @@ import { RestExplorerComponent, } from '@loopback/rest-explorer'; import {ServiceMixin} from '@loopback/service-proxy'; -import { AuditServiceComponent } from '@sourceloop/in-mail-service'; +import { AuditServiceComponent } from '@sourceloop/audit-service'; import * as dotenv from 'dotenv'; import * as dotenvExt from 'dotenv-extended'; import path from 'path'; @@ -166,3 +166,5 @@ Authorization: Bearer where is a JWT token signed using JWT issu #### API Details +Visit the [OpenAPI spec docs](./openapi.md) + diff --git a/services/audit-service/openapi.json b/services/audit-service/openapi.json new file mode 100644 index 0000000000..d95e3d65b8 --- /dev/null +++ b/services/audit-service/openapi.json @@ -0,0 +1,512 @@ +{ + "openapi": "3.0.0", + "info": { + "title": "Audit Service", + "version": "1.0.0", + "description": "A microservice for audit logging", + "contact": {} + }, + "paths": { + "/audit-logs/count": { + "get": { + "x-controller-name": "AuditController", + "x-operation-name": "count", + "tags": [ + "AuditController" + ], + "security": [ + { + "HTTPBearer": [] + } + ], + "responses": { + "200": { + "description": "AuditLog model count", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/loopback.Count" + } + } + } + } + }, + "parameters": [ + { + "name": "where", + "in": "query", + "content": { + "application/json": { + "schema": { + "type": "object", + "title": "audit_logs.WhereFilter", + "additionalProperties": true, + "x-typescript-type": "@loopback/repository#Where" + } + } + } + } + ], + "operationId": "AuditController.count" + } + }, + "/audit-logs/{id}": { + "get": { + "x-controller-name": "AuditController", + "x-operation-name": "findById", + "tags": [ + "AuditController" + ], + "security": [ + { + "HTTPBearer": [] + } + ], + "responses": { + "200": { + "description": "AuditLog model instance", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/AuditLogWithRelations" + } + } + } + } + }, + "parameters": [ + { + "name": "id", + "in": "path", + "schema": { + "type": "string" + }, + "required": true + }, + { + "name": "filter", + "in": "query", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/audit_logs.Filter" + } + } + } + } + ], + "operationId": "AuditController.findById" + } + }, + "/audit-logs": { + "post": { + "x-controller-name": "AuditController", + "x-operation-name": "create", + "tags": [ + "AuditController" + ], + "security": [ + { + "HTTPBearer": [] + } + ], + "responses": { + "200": { + "description": "AuditLog model instance", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/AuditLog" + } + } + } + } + }, + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/NewAuditLog" + } + } + } + }, + "operationId": "AuditController.create" + }, + "get": { + "x-controller-name": "AuditController", + "x-operation-name": "find", + "tags": [ + "AuditController" + ], + "security": [ + { + "HTTPBearer": [] + } + ], + "responses": { + "200": { + "description": "Array of AuditLog model instances", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/AuditLogWithRelations" + } + } + } + } + } + }, + "parameters": [ + { + "name": "filter", + "in": "query", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/audit_logs.Filter1" + } + } + } + } + ], + "operationId": "AuditController.find" + } + } + }, + "components": { + "securitySchemes": { + "HTTPBearer": { + "type": "http", + "scheme": "bearer", + "bearerFormat": "JWT" + } + }, + "schemas": { + "AuditLog": { + "title": "AuditLog", + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "action": { + "type": "string" + }, + "actedAt": { + "type": "string", + "format": "date-time" + }, + "actedOn": { + "type": "string" + }, + "actionKey": { + "type": "string" + }, + "entityId": { + "type": "string" + }, + "actor": { + "type": "string" + }, + "before": { + "type": "object" + }, + "after": { + "type": "object" + }, + "actionGroup": { + "type": "string" + } + }, + "required": [ + "action", + "actedAt", + "actionKey", + "entityId", + "actor" + ], + "additionalProperties": true + }, + "NewAuditLog": { + "title": "NewAuditLog", + "type": "object", + "description": "(tsType: Omit, schemaOptions: { title: 'NewAuditLog', exclude: [ 'id' ] })", + "properties": { + "action": { + "type": "string" + }, + "actedAt": { + "type": "string", + "format": "date-time" + }, + "actedOn": { + "type": "string" + }, + "actionKey": { + "type": "string" + }, + "entityId": { + "type": "string" + }, + "actor": { + "type": "string" + }, + "before": { + "type": "object" + }, + "after": { + "type": "object" + }, + "actionGroup": { + "type": "string" + } + }, + "required": [ + "action", + "actedAt", + "actionKey", + "entityId", + "actor" + ], + "additionalProperties": true, + "x-typescript-type": "Omit" + }, + "AuditLogWithRelations": { + "title": "AuditLogWithRelations", + "type": "object", + "description": "(tsType: AuditLogWithRelations, schemaOptions: { includeRelations: true })", + "properties": { + "id": { + "type": "string" + }, + "action": { + "type": "string" + }, + "actedAt": { + "type": "string", + "format": "date-time" + }, + "actedOn": { + "type": "string" + }, + "actionKey": { + "type": "string" + }, + "entityId": { + "type": "string" + }, + "actor": { + "type": "string" + }, + "before": { + "type": "object" + }, + "after": { + "type": "object" + }, + "actionGroup": { + "type": "string" + } + }, + "required": [ + "action", + "actedAt", + "actionKey", + "entityId", + "actor" + ], + "additionalProperties": true, + "x-typescript-type": "AuditLogWithRelations" + }, + "loopback.Count": { + "type": "object", + "title": "loopback.Count", + "x-typescript-type": "@loopback/repository#Count", + "properties": { + "count": { + "type": "number" + } + } + }, + "audit_logs.Filter": { + "type": "object", + "title": "audit_logs.Filter", + "properties": { + "offset": { + "type": "integer", + "minimum": 0 + }, + "limit": { + "type": "integer", + "minimum": 1, + "example": 100 + }, + "skip": { + "type": "integer", + "minimum": 0 + }, + "order": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "array", + "items": { + "type": "string" + } + } + ] + }, + "fields": { + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "boolean" + }, + "action": { + "type": "boolean" + }, + "actedAt": { + "type": "boolean" + }, + "actedOn": { + "type": "boolean" + }, + "actionKey": { + "type": "boolean" + }, + "entityId": { + "type": "boolean" + }, + "actor": { + "type": "boolean" + }, + "before": { + "type": "boolean" + }, + "after": { + "type": "boolean" + }, + "actionGroup": { + "type": "boolean" + } + }, + "additionalProperties": true + }, + { + "type": "array", + "items": { + "type": "string", + "example": "id" + }, + "uniqueItems": true + } + ], + "title": "audit_logs.Fields" + } + }, + "additionalProperties": false, + "x-typescript-type": "@loopback/repository#Filter" + }, + "audit_logs.Filter1": { + "type": "object", + "title": "audit_logs.Filter", + "properties": { + "offset": { + "type": "integer", + "minimum": 0 + }, + "limit": { + "type": "integer", + "minimum": 1, + "example": 100 + }, + "skip": { + "type": "integer", + "minimum": 0 + }, + "order": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "array", + "items": { + "type": "string" + } + } + ] + }, + "where": { + "title": "audit_logs.WhereFilter", + "type": "object", + "additionalProperties": true + }, + "fields": { + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "boolean" + }, + "action": { + "type": "boolean" + }, + "actedAt": { + "type": "boolean" + }, + "actedOn": { + "type": "boolean" + }, + "actionKey": { + "type": "boolean" + }, + "entityId": { + "type": "boolean" + }, + "actor": { + "type": "boolean" + }, + "before": { + "type": "boolean" + }, + "after": { + "type": "boolean" + }, + "actionGroup": { + "type": "boolean" + } + }, + "additionalProperties": true + }, + { + "type": "array", + "items": { + "type": "string", + "example": "id" + }, + "uniqueItems": true + } + ], + "title": "audit_logs.Fields" + } + }, + "additionalProperties": false, + "x-typescript-type": "@loopback/repository#Filter" + } + } + }, + "servers": [ + { + "url": "/" + } + ] +} \ No newline at end of file diff --git a/services/audit-service/openapi.md b/services/audit-service/openapi.md new file mode 100644 index 0000000000..4d5358dbba --- /dev/null +++ b/services/audit-service/openapi.md @@ -0,0 +1,642 @@ +--- +title: Audit Service v1.0.0 +language_tabs: + - "'javascript": JavaScript + - "'javascript--nodejs": Node.JS' +language_clients: + - "'javascript": request' + - "'javascript--nodejs": "" +toc_footers: [] +includes: [] +search: false +highlight_theme: darkula +headingLevel: 2 + +--- + + + +

Audit Service v1.0.0

+ +> Scroll down for code samples, example requests and responses. Select a language for code samples from the tabs above or the mobile navigation menu. + +A microservice for audit logging + +Base URLs: + +* / + +# Authentication + +- HTTP Authentication, scheme: bearer + +

AuditController

+ +## AuditController.count + + + +> Code samples + +```'javascript--nodejs +const fetch = require('node-fetch'); + +const headers = { + 'Accept':'application/json', + 'Authorization':'Bearer {access-token}' +}; + +fetch('/audit-logs/count', +{ + method: 'GET', + + headers: headers +}) +.then(function(res) { + return res.json(); +}).then(function(body) { + console.log(body); +}); + +``` + +`GET /audit-logs/count` + +

Parameters

+ +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|where|query|object|false|none| + +> Example responses + +> 200 Response + +```json +{ + "count": 0 +} +``` + +

Responses

+ +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|AuditLog model count|[loopback.Count](#schemaloopback.count)| + + + +## AuditController.findById + + + +> Code samples + +```'javascript--nodejs +const fetch = require('node-fetch'); + +const headers = { + 'Accept':'application/json', + 'Authorization':'Bearer {access-token}' +}; + +fetch('/audit-logs/{id}', +{ + method: 'GET', + + headers: headers +}) +.then(function(res) { + return res.json(); +}).then(function(body) { + console.log(body); +}); + +``` + +`GET /audit-logs/{id}` + +

Parameters

+ +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|id|path|string|true|none| +|filter|query|[audit_logs.Filter](#schemaaudit_logs.filter)|false|none| + +> Example responses + +> 200 Response + +```json +{ + "id": "string", + "action": "string", + "actedAt": "2019-08-24T14:15:22Z", + "actedOn": "string", + "actionKey": "string", + "entityId": "string", + "actor": "string", + "before": {}, + "after": {}, + "actionGroup": "string" +} +``` + +

Responses

+ +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|AuditLog model instance|[AuditLogWithRelations](#schemaauditlogwithrelations)| + + + +## AuditController.create + + + +> Code samples + +```'javascript--nodejs +const fetch = require('node-fetch'); +const inputBody = { + "action": "string", + "actedAt": "2019-08-24T14:15:22Z", + "actedOn": "string", + "actionKey": "string", + "entityId": "string", + "actor": "string", + "before": {}, + "after": {}, + "actionGroup": "string" +}; +const headers = { + 'Content-Type':'application/json', + 'Accept':'application/json', + 'Authorization':'Bearer {access-token}' +}; + +fetch('/audit-logs', +{ + method: 'POST', + body: JSON.stringify(inputBody), + headers: headers +}) +.then(function(res) { + return res.json(); +}).then(function(body) { + console.log(body); +}); + +``` + +`POST /audit-logs` + +> Body parameter + +```json +{ + "action": "string", + "actedAt": "2019-08-24T14:15:22Z", + "actedOn": "string", + "actionKey": "string", + "entityId": "string", + "actor": "string", + "before": {}, + "after": {}, + "actionGroup": "string" +} +``` + +

Parameters

+ +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|body|body|[NewAuditLog](#schemanewauditlog)|false|none| + +> Example responses + +> 200 Response + +```json +{ + "id": "string", + "action": "string", + "actedAt": "2019-08-24T14:15:22Z", + "actedOn": "string", + "actionKey": "string", + "entityId": "string", + "actor": "string", + "before": {}, + "after": {}, + "actionGroup": "string" +} +``` + +

Responses

+ +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|AuditLog model instance|[AuditLog](#schemaauditlog)| + + + +## AuditController.find + + + +> Code samples + +```'javascript--nodejs +const fetch = require('node-fetch'); + +const headers = { + 'Accept':'application/json', + 'Authorization':'Bearer {access-token}' +}; + +fetch('/audit-logs', +{ + method: 'GET', + + headers: headers +}) +.then(function(res) { + return res.json(); +}).then(function(body) { + console.log(body); +}); + +``` + +`GET /audit-logs` + +

Parameters

+ +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|filter|query|[audit_logs.Filter1](#schemaaudit_logs.filter1)|false|none| + +> Example responses + +> 200 Response + +```json +[ + { + "id": "string", + "action": "string", + "actedAt": "2019-08-24T14:15:22Z", + "actedOn": "string", + "actionKey": "string", + "entityId": "string", + "actor": "string", + "before": {}, + "after": {}, + "actionGroup": "string" + } +] +``` + +

Responses

+ +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|Array of AuditLog model instances|Inline| + +

Response Schema

+ +Status Code **200** + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|*anonymous*|[[AuditLogWithRelations](#schemaauditlogwithrelations)]|false|none|[(tsType: AuditLogWithRelations, schemaOptions: { includeRelations: true })]| +|» AuditLogWithRelations|[AuditLogWithRelations](#schemaauditlogwithrelations)|false|none|(tsType: AuditLogWithRelations, schemaOptions: { includeRelations: true })| +|»» id|string|false|none|none| +|»» action|string|true|none|none| +|»» actedAt|string(date-time)|true|none|none| +|»» actedOn|string|false|none|none| +|»» actionKey|string|true|none|none| +|»» entityId|string|true|none|none| +|»» actor|string|true|none|none| +|»» before|object|false|none|none| +|»» after|object|false|none|none| +|»» actionGroup|string|false|none|none| + + + +# Schemas + +

AuditLog

+ + + + + + +```json +{ + "id": "string", + "action": "string", + "actedAt": "2019-08-24T14:15:22Z", + "actedOn": "string", + "actionKey": "string", + "entityId": "string", + "actor": "string", + "before": {}, + "after": {}, + "actionGroup": "string" +} + +``` + +AuditLog + +### Properties + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|id|string|false|none|none| +|action|string|true|none|none| +|actedAt|string(date-time)|true|none|none| +|actedOn|string|false|none|none| +|actionKey|string|true|none|none| +|entityId|string|true|none|none| +|actor|string|true|none|none| +|before|object|false|none|none| +|after|object|false|none|none| +|actionGroup|string|false|none|none| + +

NewAuditLog

+ + + + + + +```json +{ + "action": "string", + "actedAt": "2019-08-24T14:15:22Z", + "actedOn": "string", + "actionKey": "string", + "entityId": "string", + "actor": "string", + "before": {}, + "after": {}, + "actionGroup": "string" +} + +``` + +NewAuditLog + +### Properties + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|action|string|true|none|none| +|actedAt|string(date-time)|true|none|none| +|actedOn|string|false|none|none| +|actionKey|string|true|none|none| +|entityId|string|true|none|none| +|actor|string|true|none|none| +|before|object|false|none|none| +|after|object|false|none|none| +|actionGroup|string|false|none|none| + +

AuditLogWithRelations

+ + + + + + +```json +{ + "id": "string", + "action": "string", + "actedAt": "2019-08-24T14:15:22Z", + "actedOn": "string", + "actionKey": "string", + "entityId": "string", + "actor": "string", + "before": {}, + "after": {}, + "actionGroup": "string" +} + +``` + +AuditLogWithRelations + +### Properties + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|id|string|false|none|none| +|action|string|true|none|none| +|actedAt|string(date-time)|true|none|none| +|actedOn|string|false|none|none| +|actionKey|string|true|none|none| +|entityId|string|true|none|none| +|actor|string|true|none|none| +|before|object|false|none|none| +|after|object|false|none|none| +|actionGroup|string|false|none|none| + +

loopback.Count

+ + + + + + +```json +{ + "count": 0 +} + +``` + +loopback.Count + +### Properties + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|count|number|false|none|none| + +

audit_logs.Filter

+ + + + + + +```json +{ + "offset": 0, + "limit": 100, + "skip": 0, + "order": "string", + "fields": { + "id": true, + "action": true, + "actedAt": true, + "actedOn": true, + "actionKey": true, + "entityId": true, + "actor": true, + "before": true, + "after": true, + "actionGroup": true + } +} + +``` + +audit_logs.Filter + +### Properties + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|offset|integer|false|none|none| +|limit|integer|false|none|none| +|skip|integer|false|none|none| +|order|any|false|none|none| + +oneOf + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|» *anonymous*|string|false|none|none| + +xor + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|» *anonymous*|[string]|false|none|none| + +continued + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|fields|any|false|none|none| + +oneOf + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|» *anonymous*|object|false|none|none| +|»» id|boolean|false|none|none| +|»» action|boolean|false|none|none| +|»» actedAt|boolean|false|none|none| +|»» actedOn|boolean|false|none|none| +|»» actionKey|boolean|false|none|none| +|»» entityId|boolean|false|none|none| +|»» actor|boolean|false|none|none| +|»» before|boolean|false|none|none| +|»» after|boolean|false|none|none| +|»» actionGroup|boolean|false|none|none| + +xor + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|» *anonymous*|[string]|false|none|none| + +

audit_logs.Filter1

+ + + + + + +```json +{ + "offset": 0, + "limit": 100, + "skip": 0, + "order": "string", + "where": {}, + "fields": { + "id": true, + "action": true, + "actedAt": true, + "actedOn": true, + "actionKey": true, + "entityId": true, + "actor": true, + "before": true, + "after": true, + "actionGroup": true + } +} + +``` + +audit_logs.Filter + +### Properties + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|offset|integer|false|none|none| +|limit|integer|false|none|none| +|skip|integer|false|none|none| +|order|any|false|none|none| + +oneOf + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|» *anonymous*|string|false|none|none| + +xor + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|» *anonymous*|[string]|false|none|none| + +continued + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|where|object|false|none|none| +|fields|any|false|none|none| + +oneOf + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|» *anonymous*|object|false|none|none| +|»» id|boolean|false|none|none| +|»» action|boolean|false|none|none| +|»» actedAt|boolean|false|none|none| +|»» actedOn|boolean|false|none|none| +|»» actionKey|boolean|false|none|none| +|»» entityId|boolean|false|none|none| +|»» actor|boolean|false|none|none| +|»» before|boolean|false|none|none| +|»» after|boolean|false|none|none| +|»» actionGroup|boolean|false|none|none| + +xor + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|» *anonymous*|[string]|false|none|none| + diff --git a/services/audit-service/package.json b/services/audit-service/package.json index d45ab59e90..60c4f9943b 100644 --- a/services/audit-service/package.json +++ b/services/audit-service/package.json @@ -12,7 +12,7 @@ "node": ">=10.16" }, "scripts": { - "build": "npm run clean && lb-tsc", + "build": "npm run clean && lb-tsc && npm run openapi-spec && npm run apidocs", "build:watch": "lb-tsc --watch", "lint": "npm run prettier:check && npm run eslint", "lint:fix": "npm run eslint:fix && npm run prettier:fix", @@ -21,7 +21,8 @@ "prettier:fix": "npm run prettier:cli -- --write", "eslint": "lb-eslint --report-unused-disable-directives .", "eslint:fix": "npm run eslint -- --fix", - "apidocs": "./node_modules/.bin/widdershins --search false --language_tabs 'javascript:JavaScript:request' 'javascript--nodejs:Node.JS' --summary openapi.json -o README.md", + "openapi-spec": "node ./dist/openapi-spec", + "apidocs": "./node_modules/.bin/widdershins --search false --language_tabs 'javascript:JavaScript:request' 'javascript--nodejs:Node.JS' --summary openapi1.json -o openapi.md", "pretest": "npm run build", "test": "echo 'No tests'", "posttest": "npm run lint", diff --git a/services/audit-service/src/application.ts b/services/audit-service/src/application.ts new file mode 100644 index 0000000000..1ec2e8e82a --- /dev/null +++ b/services/audit-service/src/application.ts @@ -0,0 +1,27 @@ +import {BootMixin} from '@loopback/boot'; +import {ApplicationConfig} from '@loopback/core'; +import {RepositoryMixin} from '@loopback/repository'; +import {RestApplication} from '@loopback/rest'; +import * as path from 'path'; +import {AuditServiceComponent} from './component'; + +export {ApplicationConfig}; + +export class AuditServiceApplication extends BootMixin( + RepositoryMixin(RestApplication), +) { + constructor(options: ApplicationConfig = {}) { + super(options); + this.static('/', path.join(__dirname, '../public')); + this.component(AuditServiceComponent); + + this.projectRoot = __dirname; + this.bootOptions = { + controllers: { + dirs: ['controllers'], + extensions: ['.controller.js'], + nested: true, + }, + }; + } +} diff --git a/services/audit-service/src/openapi-spec.ts b/services/audit-service/src/openapi-spec.ts new file mode 100644 index 0000000000..6e58402c8d --- /dev/null +++ b/services/audit-service/src/openapi-spec.ts @@ -0,0 +1,25 @@ +import {ApplicationConfig} from '@loopback/core'; +import {AuditServiceApplication} from './application'; + +/** + * Export the OpenAPI spec from the application + */ +const PORT = 3000; +const FILEARGVI = 2; +async function exportOpenApiSpec(): Promise { + const config: ApplicationConfig = { + rest: { + port: +(process.env.PORT ?? PORT), + host: process.env.HOST ?? 'localhost', + }, + }; + const outFile = process.argv[FILEARGVI] ?? 'openapi.json'; + const app = new AuditServiceApplication(config); + await app.boot(); + await app.exportOpenApiSpec(outFile); +} + +exportOpenApiSpec().catch(err => { + console.error('Fail to export OpenAPI spec from the application.', err); //NOSONAR + process.exit(1); +}); diff --git a/services/authentication-service/OPEN_API_SPEC.md b/services/authentication-service/OPEN_API_SPEC.md deleted file mode 100644 index a1dc26367a..0000000000 --- a/services/authentication-service/OPEN_API_SPEC.md +++ /dev/null @@ -1,7499 +0,0 @@ ---- -title: Authentication Service v1.0.0 -language_tabs: - - shell: Shell - - http: HTTP - - javascript: JavaScript - - ruby: Ruby - - python: Python - - php: PHP - - java: Java - - go: Go -toc_footers: [] -includes: [] -search: true -highlight_theme: darkula -headingLevel: 2 - ---- - - - -

Authentication Service v1.0.0

- -> Scroll down for code samples, example requests and responses. Select a language for code samples from the tabs above or the mobile navigation menu. - -This is a sample application for sandbox testing of auth microservice components. - -Base URLs: - -* / - -# Authentication - -- HTTP Authentication, scheme: bearer - -

LoginController

- -## LoginController.resetPassword - - - -> Code samples - -```shell -# You can also use wget -curl -X PATCH /auth/change-password \ - -H 'Content-Type: application/json' \ - -H 'Authorization: string' - -``` - -```http -PATCH /auth/change-password HTTP/1.1 - -Content-Type: application/json - -Authorization: string - -``` - -```javascript -const inputBody = '{ - "refreshToken": "string", - "username": "string", - "password": "string", - "oldPassword": "string" -}'; -const headers = { - 'Content-Type':'application/json', - 'Authorization':'string' -}; - -fetch('/auth/change-password', -{ - method: 'PATCH', - body: inputBody, - headers: headers -}) -.then(function(res) { - return res.json(); -}).then(function(body) { - console.log(body); -}); - -``` - -```ruby -require 'rest-client' -require 'json' - -headers = { - 'Content-Type' => 'application/json', - 'Authorization' => 'string' -} - -result = RestClient.patch '/auth/change-password', - params: { - }, headers: headers - -p JSON.parse(result) - -``` - -```python -import requests -headers = { - 'Content-Type': 'application/json', - 'Authorization': 'string' -} - -r = requests.patch('/auth/change-password', headers = headers) - -print(r.json()) - -``` - -```php - 'application/json', - 'Authorization' => 'string', -); - -$client = new \GuzzleHttp\Client(); - -// Define array of request body. -$request_body = array(); - -try { - $response = $client->request('PATCH','/auth/change-password', array( - 'headers' => $headers, - 'json' => $request_body, - ) - ); - print_r($response->getBody()->getContents()); - } - catch (\GuzzleHttp\Exception\BadResponseException $e) { - // handle exception or api errors. - print_r($e->getMessage()); - } - - // ... - -``` - -```java -URL obj = new URL("/auth/change-password"); -HttpURLConnection con = (HttpURLConnection) obj.openConnection(); -con.setRequestMethod("PATCH"); -int responseCode = con.getResponseCode(); -BufferedReader in = new BufferedReader( - new InputStreamReader(con.getInputStream())); -String inputLine; -StringBuffer response = new StringBuffer(); -while ((inputLine = in.readLine()) != null) { - response.append(inputLine); -} -in.close(); -System.out.println(response.toString()); - -``` - -```go -package main - -import ( - "bytes" - "net/http" -) - -func main() { - - headers := map[string][]string{ - "Content-Type": []string{"application/json"}, - "Authorization": []string{"string"}, - } - - data := bytes.NewBuffer([]byte{jsonReq}) - req, err := http.NewRequest("PATCH", "/auth/change-password", data) - req.Header = headers - - client := &http.Client{} - resp, err := client.Do(req) - // ... -} - -``` - -`PATCH /auth/change-password` - -> Body parameter - -```json -{ - "refreshToken": "string", - "username": "string", - "password": "string", - "oldPassword": "string" -} -``` - -

Parameters

- -|Name|In|Type|Required|Description| -|---|---|---|---|---| -|Authorization|header|string|false|none| -|body|body|[ResetPasswordPartial](#schemaresetpasswordpartial)|false|none| - -

Responses

- -|Status|Meaning|Description|Schema| -|---|---|---|---| -|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|If User password successfully changed.|None| - - - -## LoginController.loginViaGoogle - - - -> Code samples - -```shell -# You can also use wget -curl -X GET /auth/google \ - -H 'Accept: application/json' - -``` - -```http -GET /auth/google HTTP/1.1 - -Accept: application/json - -``` - -```javascript - -const headers = { - 'Accept':'application/json' -}; - -fetch('/auth/google', -{ - method: 'GET', - - headers: headers -}) -.then(function(res) { - return res.json(); -}).then(function(body) { - console.log(body); -}); - -``` - -```ruby -require 'rest-client' -require 'json' - -headers = { - 'Accept' => 'application/json' -} - -result = RestClient.get '/auth/google', - params: { - }, headers: headers - -p JSON.parse(result) - -``` - -```python -import requests -headers = { - 'Accept': 'application/json' -} - -r = requests.get('/auth/google', headers = headers) - -print(r.json()) - -``` - -```php - 'application/json', -); - -$client = new \GuzzleHttp\Client(); - -// Define array of request body. -$request_body = array(); - -try { - $response = $client->request('GET','/auth/google', array( - 'headers' => $headers, - 'json' => $request_body, - ) - ); - print_r($response->getBody()->getContents()); - } - catch (\GuzzleHttp\Exception\BadResponseException $e) { - // handle exception or api errors. - print_r($e->getMessage()); - } - - // ... - -``` - -```java -URL obj = new URL("/auth/google"); -HttpURLConnection con = (HttpURLConnection) obj.openConnection(); -con.setRequestMethod("GET"); -int responseCode = con.getResponseCode(); -BufferedReader in = new BufferedReader( - new InputStreamReader(con.getInputStream())); -String inputLine; -StringBuffer response = new StringBuffer(); -while ((inputLine = in.readLine()) != null) { - response.append(inputLine); -} -in.close(); -System.out.println(response.toString()); - -``` - -```go -package main - -import ( - "bytes" - "net/http" -) - -func main() { - - headers := map[string][]string{ - "Accept": []string{"application/json"}, - } - - data := bytes.NewBuffer([]byte{jsonReq}) - req, err := http.NewRequest("GET", "/auth/google", data) - req.Header = headers - - client := &http.Client{} - resp, err := client.Do(req) - // ... -} - -``` - -`GET /auth/google` - -

Parameters

- -|Name|In|Type|Required|Description| -|---|---|---|---|---| -|client_id|query|string|false|none| -|client_secret|query|string|false|none| - -> Example responses - -> 200 Response - -```json -{ - "accessToken": "string", - "refreshToken": "string", - "expires": 0, - "pubnubToken": "string" -} -``` - -

Responses

- -|Status|Meaning|Description|Schema| -|---|---|---|---| -|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|Google Token Response|[TokenResponse](#schematokenresponse)| - - - -## LoginController.googleCallback - - - -> Code samples - -```shell -# You can also use wget -curl -X GET /auth/google-auth-redirect \ - -H 'Accept: application/json' - -``` - -```http -GET /auth/google-auth-redirect HTTP/1.1 - -Accept: application/json - -``` - -```javascript - -const headers = { - 'Accept':'application/json' -}; - -fetch('/auth/google-auth-redirect', -{ - method: 'GET', - - headers: headers -}) -.then(function(res) { - return res.json(); -}).then(function(body) { - console.log(body); -}); - -``` - -```ruby -require 'rest-client' -require 'json' - -headers = { - 'Accept' => 'application/json' -} - -result = RestClient.get '/auth/google-auth-redirect', - params: { - }, headers: headers - -p JSON.parse(result) - -``` - -```python -import requests -headers = { - 'Accept': 'application/json' -} - -r = requests.get('/auth/google-auth-redirect', headers = headers) - -print(r.json()) - -``` - -```php - 'application/json', -); - -$client = new \GuzzleHttp\Client(); - -// Define array of request body. -$request_body = array(); - -try { - $response = $client->request('GET','/auth/google-auth-redirect', array( - 'headers' => $headers, - 'json' => $request_body, - ) - ); - print_r($response->getBody()->getContents()); - } - catch (\GuzzleHttp\Exception\BadResponseException $e) { - // handle exception or api errors. - print_r($e->getMessage()); - } - - // ... - -``` - -```java -URL obj = new URL("/auth/google-auth-redirect"); -HttpURLConnection con = (HttpURLConnection) obj.openConnection(); -con.setRequestMethod("GET"); -int responseCode = con.getResponseCode(); -BufferedReader in = new BufferedReader( - new InputStreamReader(con.getInputStream())); -String inputLine; -StringBuffer response = new StringBuffer(); -while ((inputLine = in.readLine()) != null) { - response.append(inputLine); -} -in.close(); -System.out.println(response.toString()); - -``` - -```go -package main - -import ( - "bytes" - "net/http" -) - -func main() { - - headers := map[string][]string{ - "Accept": []string{"application/json"}, - } - - data := bytes.NewBuffer([]byte{jsonReq}) - req, err := http.NewRequest("GET", "/auth/google-auth-redirect", data) - req.Header = headers - - client := &http.Client{} - resp, err := client.Do(req) - // ... -} - -``` - -`GET /auth/google-auth-redirect` - -

Parameters

- -|Name|In|Type|Required|Description| -|---|---|---|---|---| -|code|query|string|false|none| -|state|query|string|false|none| - -> Example responses - -> 200 Response - -```json -{ - "accessToken": "string", - "refreshToken": "string", - "expires": 0, - "pubnubToken": "string" -} -``` - -

Responses

- -|Status|Meaning|Description|Schema| -|---|---|---|---| -|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|Google Redirect Token Response|[TokenResponse](#schematokenresponse)| - - - -## LoginController.loginViaInstagram - - - -> Code samples - -```shell -# You can also use wget -curl -X GET /auth/instagram \ - -H 'Accept: application/json' - -``` - -```http -GET /auth/instagram HTTP/1.1 - -Accept: application/json - -``` - -```javascript - -const headers = { - 'Accept':'application/json' -}; - -fetch('/auth/instagram', -{ - method: 'GET', - - headers: headers -}) -.then(function(res) { - return res.json(); -}).then(function(body) { - console.log(body); -}); - -``` - -```ruby -require 'rest-client' -require 'json' - -headers = { - 'Accept' => 'application/json' -} - -result = RestClient.get '/auth/instagram', - params: { - }, headers: headers - -p JSON.parse(result) - -``` - -```python -import requests -headers = { - 'Accept': 'application/json' -} - -r = requests.get('/auth/instagram', headers = headers) - -print(r.json()) - -``` - -```php - 'application/json', -); - -$client = new \GuzzleHttp\Client(); - -// Define array of request body. -$request_body = array(); - -try { - $response = $client->request('GET','/auth/instagram', array( - 'headers' => $headers, - 'json' => $request_body, - ) - ); - print_r($response->getBody()->getContents()); - } - catch (\GuzzleHttp\Exception\BadResponseException $e) { - // handle exception or api errors. - print_r($e->getMessage()); - } - - // ... - -``` - -```java -URL obj = new URL("/auth/instagram"); -HttpURLConnection con = (HttpURLConnection) obj.openConnection(); -con.setRequestMethod("GET"); -int responseCode = con.getResponseCode(); -BufferedReader in = new BufferedReader( - new InputStreamReader(con.getInputStream())); -String inputLine; -StringBuffer response = new StringBuffer(); -while ((inputLine = in.readLine()) != null) { - response.append(inputLine); -} -in.close(); -System.out.println(response.toString()); - -``` - -```go -package main - -import ( - "bytes" - "net/http" -) - -func main() { - - headers := map[string][]string{ - "Accept": []string{"application/json"}, - } - - data := bytes.NewBuffer([]byte{jsonReq}) - req, err := http.NewRequest("GET", "/auth/instagram", data) - req.Header = headers - - client := &http.Client{} - resp, err := client.Do(req) - // ... -} - -``` - -`GET /auth/instagram` - -

Parameters

- -|Name|In|Type|Required|Description| -|---|---|---|---|---| -|client_id|query|string|false|none| -|client_secret|query|string|false|none| - -> Example responses - -> 200 Response - -```json -{ - "accessToken": "string", - "refreshToken": "string", - "expires": 0, - "pubnubToken": "string" -} -``` - -

Responses

- -|Status|Meaning|Description|Schema| -|---|---|---|---| -|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|Instagram Token Response|[TokenResponse](#schematokenresponse)| - - - -## LoginController.instagramCallback - - - -> Code samples - -```shell -# You can also use wget -curl -X GET /auth/instagram-auth-redirect \ - -H 'Accept: application/json' - -``` - -```http -GET /auth/instagram-auth-redirect HTTP/1.1 - -Accept: application/json - -``` - -```javascript - -const headers = { - 'Accept':'application/json' -}; - -fetch('/auth/instagram-auth-redirect', -{ - method: 'GET', - - headers: headers -}) -.then(function(res) { - return res.json(); -}).then(function(body) { - console.log(body); -}); - -``` - -```ruby -require 'rest-client' -require 'json' - -headers = { - 'Accept' => 'application/json' -} - -result = RestClient.get '/auth/instagram-auth-redirect', - params: { - }, headers: headers - -p JSON.parse(result) - -``` - -```python -import requests -headers = { - 'Accept': 'application/json' -} - -r = requests.get('/auth/instagram-auth-redirect', headers = headers) - -print(r.json()) - -``` - -```php - 'application/json', -); - -$client = new \GuzzleHttp\Client(); - -// Define array of request body. -$request_body = array(); - -try { - $response = $client->request('GET','/auth/instagram-auth-redirect', array( - 'headers' => $headers, - 'json' => $request_body, - ) - ); - print_r($response->getBody()->getContents()); - } - catch (\GuzzleHttp\Exception\BadResponseException $e) { - // handle exception or api errors. - print_r($e->getMessage()); - } - - // ... - -``` - -```java -URL obj = new URL("/auth/instagram-auth-redirect"); -HttpURLConnection con = (HttpURLConnection) obj.openConnection(); -con.setRequestMethod("GET"); -int responseCode = con.getResponseCode(); -BufferedReader in = new BufferedReader( - new InputStreamReader(con.getInputStream())); -String inputLine; -StringBuffer response = new StringBuffer(); -while ((inputLine = in.readLine()) != null) { - response.append(inputLine); -} -in.close(); -System.out.println(response.toString()); - -``` - -```go -package main - -import ( - "bytes" - "net/http" -) - -func main() { - - headers := map[string][]string{ - "Accept": []string{"application/json"}, - } - - data := bytes.NewBuffer([]byte{jsonReq}) - req, err := http.NewRequest("GET", "/auth/instagram-auth-redirect", data) - req.Header = headers - - client := &http.Client{} - resp, err := client.Do(req) - // ... -} - -``` - -`GET /auth/instagram-auth-redirect` - -

Parameters

- -|Name|In|Type|Required|Description| -|---|---|---|---|---| -|code|query|string|false|none| -|state|query|string|false|none| - -> Example responses - -> 200 Response - -```json -{ - "accessToken": "string", - "refreshToken": "string", - "expires": 0, - "pubnubToken": "string" -} -``` - -

Responses

- -|Status|Meaning|Description|Schema| -|---|---|---|---| -|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|Instagram Redirect Token Response|[TokenResponse](#schematokenresponse)| - - - -## LoginController.loginViaKeycloak - - - -> Code samples - -```shell -# You can also use wget -curl -X GET /auth/keycloak \ - -H 'Accept: application/json' - -``` - -```http -GET /auth/keycloak HTTP/1.1 - -Accept: application/json - -``` - -```javascript - -const headers = { - 'Accept':'application/json' -}; - -fetch('/auth/keycloak', -{ - method: 'GET', - - headers: headers -}) -.then(function(res) { - return res.json(); -}).then(function(body) { - console.log(body); -}); - -``` - -```ruby -require 'rest-client' -require 'json' - -headers = { - 'Accept' => 'application/json' -} - -result = RestClient.get '/auth/keycloak', - params: { - }, headers: headers - -p JSON.parse(result) - -``` - -```python -import requests -headers = { - 'Accept': 'application/json' -} - -r = requests.get('/auth/keycloak', headers = headers) - -print(r.json()) - -``` - -```php - 'application/json', -); - -$client = new \GuzzleHttp\Client(); - -// Define array of request body. -$request_body = array(); - -try { - $response = $client->request('GET','/auth/keycloak', array( - 'headers' => $headers, - 'json' => $request_body, - ) - ); - print_r($response->getBody()->getContents()); - } - catch (\GuzzleHttp\Exception\BadResponseException $e) { - // handle exception or api errors. - print_r($e->getMessage()); - } - - // ... - -``` - -```java -URL obj = new URL("/auth/keycloak"); -HttpURLConnection con = (HttpURLConnection) obj.openConnection(); -con.setRequestMethod("GET"); -int responseCode = con.getResponseCode(); -BufferedReader in = new BufferedReader( - new InputStreamReader(con.getInputStream())); -String inputLine; -StringBuffer response = new StringBuffer(); -while ((inputLine = in.readLine()) != null) { - response.append(inputLine); -} -in.close(); -System.out.println(response.toString()); - -``` - -```go -package main - -import ( - "bytes" - "net/http" -) - -func main() { - - headers := map[string][]string{ - "Accept": []string{"application/json"}, - } - - data := bytes.NewBuffer([]byte{jsonReq}) - req, err := http.NewRequest("GET", "/auth/keycloak", data) - req.Header = headers - - client := &http.Client{} - resp, err := client.Do(req) - // ... -} - -``` - -`GET /auth/keycloak` - -

Parameters

- -|Name|In|Type|Required|Description| -|---|---|---|---|---| -|client_id|query|string|false|none| -|client_secret|query|string|false|none| - -> Example responses - -> 200 Response - -```json -{ - "accessToken": "string", - "refreshToken": "string", - "expires": 0, - "pubnubToken": "string" -} -``` - -

Responses

- -|Status|Meaning|Description|Schema| -|---|---|---|---| -|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|Keycloak Token Response|[TokenResponse](#schematokenresponse)| - - - -## LoginController.keycloakCallback - - - -> Code samples - -```shell -# You can also use wget -curl -X GET /auth/keycloak-auth-redirect \ - -H 'Accept: application/json' - -``` - -```http -GET /auth/keycloak-auth-redirect HTTP/1.1 - -Accept: application/json - -``` - -```javascript - -const headers = { - 'Accept':'application/json' -}; - -fetch('/auth/keycloak-auth-redirect', -{ - method: 'GET', - - headers: headers -}) -.then(function(res) { - return res.json(); -}).then(function(body) { - console.log(body); -}); - -``` - -```ruby -require 'rest-client' -require 'json' - -headers = { - 'Accept' => 'application/json' -} - -result = RestClient.get '/auth/keycloak-auth-redirect', - params: { - }, headers: headers - -p JSON.parse(result) - -``` - -```python -import requests -headers = { - 'Accept': 'application/json' -} - -r = requests.get('/auth/keycloak-auth-redirect', headers = headers) - -print(r.json()) - -``` - -```php - 'application/json', -); - -$client = new \GuzzleHttp\Client(); - -// Define array of request body. -$request_body = array(); - -try { - $response = $client->request('GET','/auth/keycloak-auth-redirect', array( - 'headers' => $headers, - 'json' => $request_body, - ) - ); - print_r($response->getBody()->getContents()); - } - catch (\GuzzleHttp\Exception\BadResponseException $e) { - // handle exception or api errors. - print_r($e->getMessage()); - } - - // ... - -``` - -```java -URL obj = new URL("/auth/keycloak-auth-redirect"); -HttpURLConnection con = (HttpURLConnection) obj.openConnection(); -con.setRequestMethod("GET"); -int responseCode = con.getResponseCode(); -BufferedReader in = new BufferedReader( - new InputStreamReader(con.getInputStream())); -String inputLine; -StringBuffer response = new StringBuffer(); -while ((inputLine = in.readLine()) != null) { - response.append(inputLine); -} -in.close(); -System.out.println(response.toString()); - -``` - -```go -package main - -import ( - "bytes" - "net/http" -) - -func main() { - - headers := map[string][]string{ - "Accept": []string{"application/json"}, - } - - data := bytes.NewBuffer([]byte{jsonReq}) - req, err := http.NewRequest("GET", "/auth/keycloak-auth-redirect", data) - req.Header = headers - - client := &http.Client{} - resp, err := client.Do(req) - // ... -} - -``` - -`GET /auth/keycloak-auth-redirect` - -

Parameters

- -|Name|In|Type|Required|Description| -|---|---|---|---|---| -|code|query|string|false|none| -|state|query|string|false|none| - -> Example responses - -> 200 Response - -```json -{ - "accessToken": "string", - "refreshToken": "string", - "expires": 0, - "pubnubToken": "string" -} -``` - -

Responses

- -|Status|Meaning|Description|Schema| -|---|---|---|---| -|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|Keycloak Redirect Token Response|[TokenResponse](#schematokenresponse)| - - - -## LoginController.login - - - -> Code samples - -```shell -# You can also use wget -curl -X POST /auth/login \ - -H 'Content-Type: application/json' - -``` - -```http -POST /auth/login HTTP/1.1 - -Content-Type: application/json - -``` - -```javascript -const inputBody = '{ - "client_id": "string", - "client_secret": "string", - "username": "string", - "password": "string" -}'; -const headers = { - 'Content-Type':'application/json' -}; - -fetch('/auth/login', -{ - method: 'POST', - body: inputBody, - headers: headers -}) -.then(function(res) { - return res.json(); -}).then(function(body) { - console.log(body); -}); - -``` - -```ruby -require 'rest-client' -require 'json' - -headers = { - 'Content-Type' => 'application/json' -} - -result = RestClient.post '/auth/login', - params: { - }, headers: headers - -p JSON.parse(result) - -``` - -```python -import requests -headers = { - 'Content-Type': 'application/json' -} - -r = requests.post('/auth/login', headers = headers) - -print(r.json()) - -``` - -```php - 'application/json', -); - -$client = new \GuzzleHttp\Client(); - -// Define array of request body. -$request_body = array(); - -try { - $response = $client->request('POST','/auth/login', array( - 'headers' => $headers, - 'json' => $request_body, - ) - ); - print_r($response->getBody()->getContents()); - } - catch (\GuzzleHttp\Exception\BadResponseException $e) { - // handle exception or api errors. - print_r($e->getMessage()); - } - - // ... - -``` - -```java -URL obj = new URL("/auth/login"); -HttpURLConnection con = (HttpURLConnection) obj.openConnection(); -con.setRequestMethod("POST"); -int responseCode = con.getResponseCode(); -BufferedReader in = new BufferedReader( - new InputStreamReader(con.getInputStream())); -String inputLine; -StringBuffer response = new StringBuffer(); -while ((inputLine = in.readLine()) != null) { - response.append(inputLine); -} -in.close(); -System.out.println(response.toString()); - -``` - -```go -package main - -import ( - "bytes" - "net/http" -) - -func main() { - - headers := map[string][]string{ - "Content-Type": []string{"application/json"}, - } - - data := bytes.NewBuffer([]byte{jsonReq}) - req, err := http.NewRequest("POST", "/auth/login", data) - req.Header = headers - - client := &http.Client{} - resp, err := client.Do(req) - // ... -} - -``` - -`POST /auth/login` - -Gets you the code that will be used for getting token (webapps) - -> Body parameter - -```json -{ - "client_id": "string", - "client_secret": "string", - "username": "string", - "password": "string" -} -``` - -

Parameters

- -|Name|In|Type|Required|Description| -|---|---|---|---|---| -|body|body|[LoginRequest](#schemaloginrequest)|false|none| - -> Example responses - -

Responses

- -|Status|Meaning|Description|Schema| -|---|---|---|---| -|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|Auth Code|None| -|400|[Bad Request](https://tools.ietf.org/html/rfc7231#section-6.5.1)|The syntax of the request entity is incorrect.|None| -|401|[Unauthorized](https://tools.ietf.org/html/rfc7235#section-3.1)|Invalid Credentials.|None| -|404|[Not Found](https://tools.ietf.org/html/rfc7231#section-6.5.4)|The entity requested does not exist.|None| -|422|[Unprocessable Entity](https://tools.ietf.org/html/rfc2518#section-10.3)|The syntax of the request entity is incorrect|None| - -

Response Schema

- - - -## LoginController.loginWithClientUser - - - -> Code samples - -```shell -# You can also use wget -curl -X POST /auth/login-token \ - -H 'Content-Type: application/json' \ - -H 'Accept: application/json' \ - -H 'device_id: string' - -``` - -```http -POST /auth/login-token HTTP/1.1 - -Content-Type: application/json -Accept: application/json -device_id: string - -``` - -```javascript -const inputBody = '{ - "client_id": "string", - "client_secret": "string", - "username": "string", - "password": "string" -}'; -const headers = { - 'Content-Type':'application/json', - 'Accept':'application/json', - 'device_id':'string' -}; - -fetch('/auth/login-token', -{ - method: 'POST', - body: inputBody, - headers: headers -}) -.then(function(res) { - return res.json(); -}).then(function(body) { - console.log(body); -}); - -``` - -```ruby -require 'rest-client' -require 'json' - -headers = { - 'Content-Type' => 'application/json', - 'Accept' => 'application/json', - 'device_id' => 'string' -} - -result = RestClient.post '/auth/login-token', - params: { - }, headers: headers - -p JSON.parse(result) - -``` - -```python -import requests -headers = { - 'Content-Type': 'application/json', - 'Accept': 'application/json', - 'device_id': 'string' -} - -r = requests.post('/auth/login-token', headers = headers) - -print(r.json()) - -``` - -```php - 'application/json', - 'Accept' => 'application/json', - 'device_id' => 'string', -); - -$client = new \GuzzleHttp\Client(); - -// Define array of request body. -$request_body = array(); - -try { - $response = $client->request('POST','/auth/login-token', array( - 'headers' => $headers, - 'json' => $request_body, - ) - ); - print_r($response->getBody()->getContents()); - } - catch (\GuzzleHttp\Exception\BadResponseException $e) { - // handle exception or api errors. - print_r($e->getMessage()); - } - - // ... - -``` - -```java -URL obj = new URL("/auth/login-token"); -HttpURLConnection con = (HttpURLConnection) obj.openConnection(); -con.setRequestMethod("POST"); -int responseCode = con.getResponseCode(); -BufferedReader in = new BufferedReader( - new InputStreamReader(con.getInputStream())); -String inputLine; -StringBuffer response = new StringBuffer(); -while ((inputLine = in.readLine()) != null) { - response.append(inputLine); -} -in.close(); -System.out.println(response.toString()); - -``` - -```go -package main - -import ( - "bytes" - "net/http" -) - -func main() { - - headers := map[string][]string{ - "Content-Type": []string{"application/json"}, - "Accept": []string{"application/json"}, - "device_id": []string{"string"}, - } - - data := bytes.NewBuffer([]byte{jsonReq}) - req, err := http.NewRequest("POST", "/auth/login-token", data) - req.Header = headers - - client := &http.Client{} - resp, err := client.Do(req) - // ... -} - -``` - -`POST /auth/login-token` - -Gets you refresh token and access token in one hit. (mobile app) - -> Body parameter - -```json -{ - "client_id": "string", - "client_secret": "string", - "username": "string", - "password": "string" -} -``` - -

Parameters

- -|Name|In|Type|Required|Description| -|---|---|---|---|---| -|device_id|header|string|false|none| -|body|body|[LoginRequest](#schemaloginrequest)|false|none| - -> Example responses - -> 200 Response - -```json -{ - "accessToken": "string", - "refreshToken": "string", - "expires": 0, - "pubnubToken": "string" -} -``` - -

Responses

- -|Status|Meaning|Description|Schema| -|---|---|---|---| -|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|Token Response Model|[TokenResponse](#schematokenresponse)| -|400|[Bad Request](https://tools.ietf.org/html/rfc7231#section-6.5.1)|The syntax of the request entity is incorrect.|None| -|401|[Unauthorized](https://tools.ietf.org/html/rfc7235#section-3.1)|Invalid Credentials.|None| -|404|[Not Found](https://tools.ietf.org/html/rfc7231#section-6.5.4)|The entity requested does not exist.|None| -|422|[Unprocessable Entity](https://tools.ietf.org/html/rfc2518#section-10.3)|The syntax of the request entity is incorrect|None| - - - -## LoginController.me - - - -> Code samples - -```shell -# You can also use wget -curl -X GET /auth/me \ - -H 'Authorization: Bearer {access-token}' - -``` - -```http -GET /auth/me HTTP/1.1 - -``` - -```javascript - -const headers = { - 'Authorization':'Bearer {access-token}' -}; - -fetch('/auth/me', -{ - method: 'GET', - - headers: headers -}) -.then(function(res) { - return res.json(); -}).then(function(body) { - console.log(body); -}); - -``` - -```ruby -require 'rest-client' -require 'json' - -headers = { - 'Authorization' => 'Bearer {access-token}' -} - -result = RestClient.get '/auth/me', - params: { - }, headers: headers - -p JSON.parse(result) - -``` - -```python -import requests -headers = { - 'Authorization': 'Bearer {access-token}' -} - -r = requests.get('/auth/me', headers = headers) - -print(r.json()) - -``` - -```php - 'Bearer {access-token}', -); - -$client = new \GuzzleHttp\Client(); - -// Define array of request body. -$request_body = array(); - -try { - $response = $client->request('GET','/auth/me', array( - 'headers' => $headers, - 'json' => $request_body, - ) - ); - print_r($response->getBody()->getContents()); - } - catch (\GuzzleHttp\Exception\BadResponseException $e) { - // handle exception or api errors. - print_r($e->getMessage()); - } - - // ... - -``` - -```java -URL obj = new URL("/auth/me"); -HttpURLConnection con = (HttpURLConnection) obj.openConnection(); -con.setRequestMethod("GET"); -int responseCode = con.getResponseCode(); -BufferedReader in = new BufferedReader( - new InputStreamReader(con.getInputStream())); -String inputLine; -StringBuffer response = new StringBuffer(); -while ((inputLine = in.readLine()) != null) { - response.append(inputLine); -} -in.close(); -System.out.println(response.toString()); - -``` - -```go -package main - -import ( - "bytes" - "net/http" -) - -func main() { - - headers := map[string][]string{ - "Authorization": []string{"Bearer {access-token}"}, - } - - data := bytes.NewBuffer([]byte{jsonReq}) - req, err := http.NewRequest("GET", "/auth/me", data) - req.Header = headers - - client := &http.Client{} - resp, err := client.Do(req) - // ... -} - -``` - -`GET /auth/me` - -To get the user details - -> Example responses - -

Responses

- -|Status|Meaning|Description|Schema| -|---|---|---|---| -|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|User Object|None| -|400|[Bad Request](https://tools.ietf.org/html/rfc7231#section-6.5.1)|The syntax of the request entity is incorrect.|None| -|401|[Unauthorized](https://tools.ietf.org/html/rfc7235#section-3.1)|Invalid Credentials.|None| -|404|[Not Found](https://tools.ietf.org/html/rfc7231#section-6.5.4)|The entity requested does not exist.|None| -|422|[Unprocessable Entity](https://tools.ietf.org/html/rfc2518#section-10.3)|The syntax of the request entity is incorrect|None| - -

Response Schema

- - - -## LoginController.getToken - - - -> Code samples - -```shell -# You can also use wget -curl -X POST /auth/token \ - -H 'Content-Type: application/json' \ - -H 'Accept: application/json' \ - -H 'device_id: string' - -``` - -```http -POST /auth/token HTTP/1.1 - -Content-Type: application/json -Accept: application/json -device_id: string - -``` - -```javascript -const inputBody = '{ - "code": "string", - "clientId": "string", - "username": "string" -}'; -const headers = { - 'Content-Type':'application/json', - 'Accept':'application/json', - 'device_id':'string' -}; - -fetch('/auth/token', -{ - method: 'POST', - body: inputBody, - headers: headers -}) -.then(function(res) { - return res.json(); -}).then(function(body) { - console.log(body); -}); - -``` - -```ruby -require 'rest-client' -require 'json' - -headers = { - 'Content-Type' => 'application/json', - 'Accept' => 'application/json', - 'device_id' => 'string' -} - -result = RestClient.post '/auth/token', - params: { - }, headers: headers - -p JSON.parse(result) - -``` - -```python -import requests -headers = { - 'Content-Type': 'application/json', - 'Accept': 'application/json', - 'device_id': 'string' -} - -r = requests.post('/auth/token', headers = headers) - -print(r.json()) - -``` - -```php - 'application/json', - 'Accept' => 'application/json', - 'device_id' => 'string', -); - -$client = new \GuzzleHttp\Client(); - -// Define array of request body. -$request_body = array(); - -try { - $response = $client->request('POST','/auth/token', array( - 'headers' => $headers, - 'json' => $request_body, - ) - ); - print_r($response->getBody()->getContents()); - } - catch (\GuzzleHttp\Exception\BadResponseException $e) { - // handle exception or api errors. - print_r($e->getMessage()); - } - - // ... - -``` - -```java -URL obj = new URL("/auth/token"); -HttpURLConnection con = (HttpURLConnection) obj.openConnection(); -con.setRequestMethod("POST"); -int responseCode = con.getResponseCode(); -BufferedReader in = new BufferedReader( - new InputStreamReader(con.getInputStream())); -String inputLine; -StringBuffer response = new StringBuffer(); -while ((inputLine = in.readLine()) != null) { - response.append(inputLine); -} -in.close(); -System.out.println(response.toString()); - -``` - -```go -package main - -import ( - "bytes" - "net/http" -) - -func main() { - - headers := map[string][]string{ - "Content-Type": []string{"application/json"}, - "Accept": []string{"application/json"}, - "device_id": []string{"string"}, - } - - data := bytes.NewBuffer([]byte{jsonReq}) - req, err := http.NewRequest("POST", "/auth/token", data) - req.Header = headers - - client := &http.Client{} - resp, err := client.Do(req) - // ... -} - -``` - -`POST /auth/token` - - Send the code received from the above api and this api will send you refresh token and access token (webapps) - -> Body parameter - -```json -{ - "code": "string", - "clientId": "string", - "username": "string" -} -``` - -

Parameters

- -|Name|In|Type|Required|Description| -|---|---|---|---|---| -|device_id|header|string|false|none| -|body|body|[AuthTokenRequest](#schemaauthtokenrequest)|false|none| - -> Example responses - -> 200 Response - -```json -{ - "accessToken": "string", - "refreshToken": "string", - "expires": 0, - "pubnubToken": "string" -} -``` - -

Responses

- -|Status|Meaning|Description|Schema| -|---|---|---|---| -|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|Token Response|[TokenResponse](#schematokenresponse)| -|400|[Bad Request](https://tools.ietf.org/html/rfc7231#section-6.5.1)|The syntax of the request entity is incorrect.|None| -|401|[Unauthorized](https://tools.ietf.org/html/rfc7235#section-3.1)|Invalid Credentials.|None| -|404|[Not Found](https://tools.ietf.org/html/rfc7231#section-6.5.4)|The entity requested does not exist.|None| -|422|[Unprocessable Entity](https://tools.ietf.org/html/rfc2518#section-10.3)|The syntax of the request entity is incorrect|None| - - - -## LoginController.exchangeToken - - - -> Code samples - -```shell -# You can also use wget -curl -X POST /auth/token-refresh \ - -H 'Content-Type: application/json' \ - -H 'Accept: application/json' \ - -H 'device_id: string' - -``` - -```http -POST /auth/token-refresh HTTP/1.1 - -Content-Type: application/json -Accept: application/json -device_id: string - -``` - -```javascript -const inputBody = '{ - "refreshToken": "string" -}'; -const headers = { - 'Content-Type':'application/json', - 'Accept':'application/json', - 'device_id':'string' -}; - -fetch('/auth/token-refresh', -{ - method: 'POST', - body: inputBody, - headers: headers -}) -.then(function(res) { - return res.json(); -}).then(function(body) { - console.log(body); -}); - -``` - -```ruby -require 'rest-client' -require 'json' - -headers = { - 'Content-Type' => 'application/json', - 'Accept' => 'application/json', - 'device_id' => 'string' -} - -result = RestClient.post '/auth/token-refresh', - params: { - }, headers: headers - -p JSON.parse(result) - -``` - -```python -import requests -headers = { - 'Content-Type': 'application/json', - 'Accept': 'application/json', - 'device_id': 'string' -} - -r = requests.post('/auth/token-refresh', headers = headers) - -print(r.json()) - -``` - -```php - 'application/json', - 'Accept' => 'application/json', - 'device_id' => 'string', -); - -$client = new \GuzzleHttp\Client(); - -// Define array of request body. -$request_body = array(); - -try { - $response = $client->request('POST','/auth/token-refresh', array( - 'headers' => $headers, - 'json' => $request_body, - ) - ); - print_r($response->getBody()->getContents()); - } - catch (\GuzzleHttp\Exception\BadResponseException $e) { - // handle exception or api errors. - print_r($e->getMessage()); - } - - // ... - -``` - -```java -URL obj = new URL("/auth/token-refresh"); -HttpURLConnection con = (HttpURLConnection) obj.openConnection(); -con.setRequestMethod("POST"); -int responseCode = con.getResponseCode(); -BufferedReader in = new BufferedReader( - new InputStreamReader(con.getInputStream())); -String inputLine; -StringBuffer response = new StringBuffer(); -while ((inputLine = in.readLine()) != null) { - response.append(inputLine); -} -in.close(); -System.out.println(response.toString()); - -``` - -```go -package main - -import ( - "bytes" - "net/http" -) - -func main() { - - headers := map[string][]string{ - "Content-Type": []string{"application/json"}, - "Accept": []string{"application/json"}, - "device_id": []string{"string"}, - } - - data := bytes.NewBuffer([]byte{jsonReq}) - req, err := http.NewRequest("POST", "/auth/token-refresh", data) - req.Header = headers - - client := &http.Client{} - resp, err := client.Do(req) - // ... -} - -``` - -`POST /auth/token-refresh` - - Gets you a new access and refresh token once your access token is expired. (both mobile and web) - -> Body parameter - -```json -{ - "refreshToken": "string" -} -``` - -

Parameters

- -|Name|In|Type|Required|Description| -|---|---|---|---|---| -|device_id|header|string|false|none| -|body|body|[AuthRefreshTokenRequest](#schemaauthrefreshtokenrequest)|false|none| - -> Example responses - -> 200 Response - -```json -{ - "accessToken": "string", - "refreshToken": "string", - "expires": 0, - "pubnubToken": "string" -} -``` - -

Responses

- -|Status|Meaning|Description|Schema| -|---|---|---|---| -|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|New Token Response|[TokenResponse](#schematokenresponse)| -|400|[Bad Request](https://tools.ietf.org/html/rfc7231#section-6.5.1)|The syntax of the request entity is incorrect.|None| -|401|[Unauthorized](https://tools.ietf.org/html/rfc7235#section-3.1)|Invalid Credentials.|None| -|404|[Not Found](https://tools.ietf.org/html/rfc7231#section-6.5.4)|The entity requested does not exist.|None| -|422|[Unprocessable Entity](https://tools.ietf.org/html/rfc2518#section-10.3)|The syntax of the request entity is incorrect|None| - - - -

ForgetPasswordController

- -## ForgetPasswordController.forgetPassword - - - -> Code samples - -```shell -# You can also use wget -curl -X POST /auth/forget-password \ - -H 'Content-Type: application/json' \ - -H 'Accept: application/json' - -``` - -```http -POST /auth/forget-password HTTP/1.1 - -Content-Type: application/json -Accept: application/json - -``` - -```javascript -const inputBody = '{ - "username": "string", - "client_id": "string", - "client_secret": "string" -}'; -const headers = { - 'Content-Type':'application/json', - 'Accept':'application/json' -}; - -fetch('/auth/forget-password', -{ - method: 'POST', - body: inputBody, - headers: headers -}) -.then(function(res) { - return res.json(); -}).then(function(body) { - console.log(body); -}); - -``` - -```ruby -require 'rest-client' -require 'json' - -headers = { - 'Content-Type' => 'application/json', - 'Accept' => 'application/json' -} - -result = RestClient.post '/auth/forget-password', - params: { - }, headers: headers - -p JSON.parse(result) - -``` - -```python -import requests -headers = { - 'Content-Type': 'application/json', - 'Accept': 'application/json' -} - -r = requests.post('/auth/forget-password', headers = headers) - -print(r.json()) - -``` - -```php - 'application/json', - 'Accept' => 'application/json', -); - -$client = new \GuzzleHttp\Client(); - -// Define array of request body. -$request_body = array(); - -try { - $response = $client->request('POST','/auth/forget-password', array( - 'headers' => $headers, - 'json' => $request_body, - ) - ); - print_r($response->getBody()->getContents()); - } - catch (\GuzzleHttp\Exception\BadResponseException $e) { - // handle exception or api errors. - print_r($e->getMessage()); - } - - // ... - -``` - -```java -URL obj = new URL("/auth/forget-password"); -HttpURLConnection con = (HttpURLConnection) obj.openConnection(); -con.setRequestMethod("POST"); -int responseCode = con.getResponseCode(); -BufferedReader in = new BufferedReader( - new InputStreamReader(con.getInputStream())); -String inputLine; -StringBuffer response = new StringBuffer(); -while ((inputLine = in.readLine()) != null) { - response.append(inputLine); -} -in.close(); -System.out.println(response.toString()); - -``` - -```go -package main - -import ( - "bytes" - "net/http" -) - -func main() { - - headers := map[string][]string{ - "Content-Type": []string{"application/json"}, - "Accept": []string{"application/json"}, - } - - data := bytes.NewBuffer([]byte{jsonReq}) - req, err := http.NewRequest("POST", "/auth/forget-password", data) - req.Header = headers - - client := &http.Client{} - resp, err := client.Do(req) - // ... -} - -``` - -`POST /auth/forget-password` - -> Body parameter - -```json -{ - "username": "string", - "client_id": "string", - "client_secret": "string" -} -``` - -

Parameters

- -|Name|In|Type|Required|Description| -|---|---|---|---|---| -|body|body|[ForgetPasswordDto](#schemaforgetpassworddto)|false|none| - -> Example responses - -> 200 Response - -```json -{ - "code": "string", - "expiry": 0, - "email": "string", - "user": { - "deleted": true, - "deletedOn": "2019-08-24T14:15:22Z", - "deletedBy": "string", - "createdOn": "2019-08-24T14:15:22Z", - "modifiedOn": "2019-08-24T14:15:22Z", - "createdBy": "string", - "modifiedBy": "string", - "id": "string", - "firstName": "string", - "lastName": "string", - "middleName": "string", - "username": "string", - "email": "string", - "phone": "string", - "authClientIds": "string", - "lastLogin": "2019-08-24T14:15:22Z", - "dob": "2019-08-24T14:15:22Z", - "gender": "M", - "defaultTenantId": "string" - } -} -``` - -

Responses

- -|Status|Meaning|Description|Schema| -|---|---|---|---| -|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|Success Response.|[ForgetPasswordResponseDto](#schemaforgetpasswordresponsedto)| -|400|[Bad Request](https://tools.ietf.org/html/rfc7231#section-6.5.1)|The syntax of the request entity is incorrect.|None| -|401|[Unauthorized](https://tools.ietf.org/html/rfc7235#section-3.1)|Invalid Credentials.|None| -|404|[Not Found](https://tools.ietf.org/html/rfc7231#section-6.5.4)|The entity requested does not exist.|None| -|422|[Unprocessable Entity](https://tools.ietf.org/html/rfc2518#section-10.3)|The syntax of the request entity is incorrect|None| - - - -## ForgetPasswordController.resetPassword - - - -> Code samples - -```shell -# You can also use wget -curl -X PATCH /auth/reset-password \ - -H 'Content-Type: application/json' - -``` - -```http -PATCH /auth/reset-password HTTP/1.1 - -Content-Type: application/json - -``` - -```javascript -const inputBody = '{ - "token": "string", - "password": "string", - "client_id": "string", - "client_secret": "string" -}'; -const headers = { - 'Content-Type':'application/json' -}; - -fetch('/auth/reset-password', -{ - method: 'PATCH', - body: inputBody, - headers: headers -}) -.then(function(res) { - return res.json(); -}).then(function(body) { - console.log(body); -}); - -``` - -```ruby -require 'rest-client' -require 'json' - -headers = { - 'Content-Type' => 'application/json' -} - -result = RestClient.patch '/auth/reset-password', - params: { - }, headers: headers - -p JSON.parse(result) - -``` - -```python -import requests -headers = { - 'Content-Type': 'application/json' -} - -r = requests.patch('/auth/reset-password', headers = headers) - -print(r.json()) - -``` - -```php - 'application/json', -); - -$client = new \GuzzleHttp\Client(); - -// Define array of request body. -$request_body = array(); - -try { - $response = $client->request('PATCH','/auth/reset-password', array( - 'headers' => $headers, - 'json' => $request_body, - ) - ); - print_r($response->getBody()->getContents()); - } - catch (\GuzzleHttp\Exception\BadResponseException $e) { - // handle exception or api errors. - print_r($e->getMessage()); - } - - // ... - -``` - -```java -URL obj = new URL("/auth/reset-password"); -HttpURLConnection con = (HttpURLConnection) obj.openConnection(); -con.setRequestMethod("PATCH"); -int responseCode = con.getResponseCode(); -BufferedReader in = new BufferedReader( - new InputStreamReader(con.getInputStream())); -String inputLine; -StringBuffer response = new StringBuffer(); -while ((inputLine = in.readLine()) != null) { - response.append(inputLine); -} -in.close(); -System.out.println(response.toString()); - -``` - -```go -package main - -import ( - "bytes" - "net/http" -) - -func main() { - - headers := map[string][]string{ - "Content-Type": []string{"application/json"}, - } - - data := bytes.NewBuffer([]byte{jsonReq}) - req, err := http.NewRequest("PATCH", "/auth/reset-password", data) - req.Header = headers - - client := &http.Client{} - resp, err := client.Do(req) - // ... -} - -``` - -`PATCH /auth/reset-password` - -> Body parameter - -```json -{ - "token": "string", - "password": "string", - "client_id": "string", - "client_secret": "string" -} -``` - -

Parameters

- -|Name|In|Type|Required|Description| -|---|---|---|---|---| -|body|body|[ResetPasswordWithClient](#schemaresetpasswordwithclient)|false|none| - -

Responses

- -|Status|Meaning|Description|Schema| -|---|---|---|---| -|204|[No Content](https://tools.ietf.org/html/rfc7231#section-6.3.5)|If User password successfully changed.|None| - - - -## ForgetPasswordController.verifyResetPasswordLink - - - -> Code samples - -```shell -# You can also use wget -curl -X GET /auth/verify-reset-password-link?token=string - -``` - -```http -GET /auth/verify-reset-password-link?token=string HTTP/1.1 - -``` - -```javascript - -fetch('/auth/verify-reset-password-link?token=string', -{ - method: 'GET' - -}) -.then(function(res) { - return res.json(); -}).then(function(body) { - console.log(body); -}); - -``` - -```ruby -require 'rest-client' -require 'json' - -result = RestClient.get '/auth/verify-reset-password-link', - params: { - 'token' => 'string' -} - -p JSON.parse(result) - -``` - -```python -import requests - -r = requests.get('/auth/verify-reset-password-link', params={ - 'token': 'string' -}) - -print(r.json()) - -``` - -```php -request('GET','/auth/verify-reset-password-link', array( - 'headers' => $headers, - 'json' => $request_body, - ) - ); - print_r($response->getBody()->getContents()); - } - catch (\GuzzleHttp\Exception\BadResponseException $e) { - // handle exception or api errors. - print_r($e->getMessage()); - } - - // ... - -``` - -```java -URL obj = new URL("/auth/verify-reset-password-link?token=string"); -HttpURLConnection con = (HttpURLConnection) obj.openConnection(); -con.setRequestMethod("GET"); -int responseCode = con.getResponseCode(); -BufferedReader in = new BufferedReader( - new InputStreamReader(con.getInputStream())); -String inputLine; -StringBuffer response = new StringBuffer(); -while ((inputLine = in.readLine()) != null) { - response.append(inputLine); -} -in.close(); -System.out.println(response.toString()); - -``` - -```go -package main - -import ( - "bytes" - "net/http" -) - -func main() { - - data := bytes.NewBuffer([]byte{jsonReq}) - req, err := http.NewRequest("GET", "/auth/verify-reset-password-link", data) - req.Header = headers - - client := &http.Client{} - resp, err := client.Do(req) - // ... -} - -``` - -`GET /auth/verify-reset-password-link` - - - -|Name|In|Type|Required|Description| -|---|---|---|---|---| -|token|query|string|true|none| - - - -|Status|Meaning|Description|Schema| -|---|---|---|---| -|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|Check if Token Is Valid and not Expired.|None| - - - -

AuthClientController

- -## AuthClientController.count - - - -> Code samples - -```shell -# You can also use wget -curl -X GET /auth-clients/count \ - -H 'Accept: application/json' \ - -H 'Authorization: Bearer {access-token}' - -``` - -```http -GET /auth-clients/count HTTP/1.1 - -Accept: application/json - -``` - -```javascript - -const headers = { - 'Accept':'application/json', - 'Authorization':'Bearer {access-token}' -}; - -fetch('/auth-clients/count', -{ - method: 'GET', - - headers: headers -}) -.then(function(res) { - return res.json(); -}).then(function(body) { - console.log(body); -}); - -``` - -```ruby -require 'rest-client' -require 'json' - -headers = { - 'Accept' => 'application/json', - 'Authorization' => 'Bearer {access-token}' -} - -result = RestClient.get '/auth-clients/count', - params: { - }, headers: headers - -p JSON.parse(result) - -``` - -```python -import requests -headers = { - 'Accept': 'application/json', - 'Authorization': 'Bearer {access-token}' -} - -r = requests.get('/auth-clients/count', headers = headers) - -print(r.json()) - -``` - -```php - 'application/json', - 'Authorization' => 'Bearer {access-token}', -); - -$client = new \GuzzleHttp\Client(); - -// Define array of request body. -$request_body = array(); - -try { - $response = $client->request('GET','/auth-clients/count', array( - 'headers' => $headers, - 'json' => $request_body, - ) - ); - print_r($response->getBody()->getContents()); - } - catch (\GuzzleHttp\Exception\BadResponseException $e) { - // handle exception or api errors. - print_r($e->getMessage()); - } - - // ... - -``` - -```java -URL obj = new URL("/auth-clients/count"); -HttpURLConnection con = (HttpURLConnection) obj.openConnection(); -con.setRequestMethod("GET"); -int responseCode = con.getResponseCode(); -BufferedReader in = new BufferedReader( - new InputStreamReader(con.getInputStream())); -String inputLine; -StringBuffer response = new StringBuffer(); -while ((inputLine = in.readLine()) != null) { - response.append(inputLine); -} -in.close(); -System.out.println(response.toString()); - -``` - -```go -package main - -import ( - "bytes" - "net/http" -) - -func main() { - - headers := map[string][]string{ - "Accept": []string{"application/json"}, - "Authorization": []string{"Bearer {access-token}"}, - } - - data := bytes.NewBuffer([]byte{jsonReq}) - req, err := http.NewRequest("GET", "/auth-clients/count", data) - req.Header = headers - - client := &http.Client{} - resp, err := client.Do(req) - // ... -} - -``` - -`GET /auth-clients/count` - -

Parameters

- -|Name|In|Type|Required|Description| -|---|---|---|---|---| -|where|query|object|false|none| - -> Example responses - -> 200 Response - -```json -{ - "count": 0 -} -``` - -

Responses

- -|Status|Meaning|Description|Schema| -|---|---|---|---| -|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|AuthClient model count|[loopback.Count](#schemaloopback.count)| - - - -## AuthClientController.replaceById - - - -> Code samples - -```shell -# You can also use wget -curl -X PUT /auth-clients/{id} \ - -H 'Content-Type: application/json' \ - -H 'Authorization: Bearer {access-token}' - -``` - -```http -PUT /auth-clients/{id} HTTP/1.1 - -Content-Type: application/json - -``` - -```javascript -const inputBody = '{ - "deleted": true, - "deletedOn": "2019-08-24T14:15:22Z", - "deletedBy": "string", - "createdOn": "2019-08-24T14:15:22Z", - "modifiedOn": "2019-08-24T14:15:22Z", - "id": 0, - "clientId": "string", - "clientSecret": "string", - "secret": "string", - "redirectUrl": "string", - "accessTokenExpiration": 0, - "refreshTokenExpiration": 0, - "authCodeExpiration": 0 -}'; -const headers = { - 'Content-Type':'application/json', - 'Authorization':'Bearer {access-token}' -}; - -fetch('/auth-clients/{id}', -{ - method: 'PUT', - body: inputBody, - headers: headers -}) -.then(function(res) { - return res.json(); -}).then(function(body) { - console.log(body); -}); - -``` - -```ruby -require 'rest-client' -require 'json' - -headers = { - 'Content-Type' => 'application/json', - 'Authorization' => 'Bearer {access-token}' -} - -result = RestClient.put '/auth-clients/{id}', - params: { - }, headers: headers - -p JSON.parse(result) - -``` - -```python -import requests -headers = { - 'Content-Type': 'application/json', - 'Authorization': 'Bearer {access-token}' -} - -r = requests.put('/auth-clients/{id}', headers = headers) - -print(r.json()) - -``` - -```php - 'application/json', - 'Authorization' => 'Bearer {access-token}', -); - -$client = new \GuzzleHttp\Client(); - -// Define array of request body. -$request_body = array(); - -try { - $response = $client->request('PUT','/auth-clients/{id}', array( - 'headers' => $headers, - 'json' => $request_body, - ) - ); - print_r($response->getBody()->getContents()); - } - catch (\GuzzleHttp\Exception\BadResponseException $e) { - // handle exception or api errors. - print_r($e->getMessage()); - } - - // ... - -``` - -```java -URL obj = new URL("/auth-clients/{id}"); -HttpURLConnection con = (HttpURLConnection) obj.openConnection(); -con.setRequestMethod("PUT"); -int responseCode = con.getResponseCode(); -BufferedReader in = new BufferedReader( - new InputStreamReader(con.getInputStream())); -String inputLine; -StringBuffer response = new StringBuffer(); -while ((inputLine = in.readLine()) != null) { - response.append(inputLine); -} -in.close(); -System.out.println(response.toString()); - -``` - -```go -package main - -import ( - "bytes" - "net/http" -) - -func main() { - - headers := map[string][]string{ - "Content-Type": []string{"application/json"}, - "Authorization": []string{"Bearer {access-token}"}, - } - - data := bytes.NewBuffer([]byte{jsonReq}) - req, err := http.NewRequest("PUT", "/auth-clients/{id}", data) - req.Header = headers - - client := &http.Client{} - resp, err := client.Do(req) - // ... -} - -``` - -`PUT /auth-clients/{id}` - -> Body parameter - -```json -{ - "deleted": true, - "deletedOn": "2019-08-24T14:15:22Z", - "deletedBy": "string", - "createdOn": "2019-08-24T14:15:22Z", - "modifiedOn": "2019-08-24T14:15:22Z", - "id": 0, - "clientId": "string", - "clientSecret": "string", - "secret": "string", - "redirectUrl": "string", - "accessTokenExpiration": 0, - "refreshTokenExpiration": 0, - "authCodeExpiration": 0 -} -``` - -

Parameters

- -|Name|In|Type|Required|Description| -|---|---|---|---|---| -|id|path|number|true|none| -|body|body|[AuthClient](#schemaauthclient)|false|none| - -

Responses

- -|Status|Meaning|Description|Schema| -|---|---|---|---| -|204|[No Content](https://tools.ietf.org/html/rfc7231#section-6.3.5)|AuthClient PUT success|None| - - - -## AuthClientController.updateById - - - -> Code samples - -```shell -# You can also use wget -curl -X PATCH /auth-clients/{id} \ - -H 'Content-Type: application/json' \ - -H 'Authorization: Bearer {access-token}' - -``` - -```http -PATCH /auth-clients/{id} HTTP/1.1 - -Content-Type: application/json - -``` - -```javascript -const inputBody = '{ - "deleted": true, - "deletedOn": "2019-08-24T14:15:22Z", - "deletedBy": "string", - "createdOn": "2019-08-24T14:15:22Z", - "modifiedOn": "2019-08-24T14:15:22Z", - "id": 0, - "clientId": "string", - "clientSecret": "string", - "secret": "string", - "redirectUrl": "string", - "accessTokenExpiration": 0, - "refreshTokenExpiration": 0, - "authCodeExpiration": 0 -}'; -const headers = { - 'Content-Type':'application/json', - 'Authorization':'Bearer {access-token}' -}; - -fetch('/auth-clients/{id}', -{ - method: 'PATCH', - body: inputBody, - headers: headers -}) -.then(function(res) { - return res.json(); -}).then(function(body) { - console.log(body); -}); - -``` - -```ruby -require 'rest-client' -require 'json' - -headers = { - 'Content-Type' => 'application/json', - 'Authorization' => 'Bearer {access-token}' -} - -result = RestClient.patch '/auth-clients/{id}', - params: { - }, headers: headers - -p JSON.parse(result) - -``` - -```python -import requests -headers = { - 'Content-Type': 'application/json', - 'Authorization': 'Bearer {access-token}' -} - -r = requests.patch('/auth-clients/{id}', headers = headers) - -print(r.json()) - -``` - -```php - 'application/json', - 'Authorization' => 'Bearer {access-token}', -); - -$client = new \GuzzleHttp\Client(); - -// Define array of request body. -$request_body = array(); - -try { - $response = $client->request('PATCH','/auth-clients/{id}', array( - 'headers' => $headers, - 'json' => $request_body, - ) - ); - print_r($response->getBody()->getContents()); - } - catch (\GuzzleHttp\Exception\BadResponseException $e) { - // handle exception or api errors. - print_r($e->getMessage()); - } - - // ... - -``` - -```java -URL obj = new URL("/auth-clients/{id}"); -HttpURLConnection con = (HttpURLConnection) obj.openConnection(); -con.setRequestMethod("PATCH"); -int responseCode = con.getResponseCode(); -BufferedReader in = new BufferedReader( - new InputStreamReader(con.getInputStream())); -String inputLine; -StringBuffer response = new StringBuffer(); -while ((inputLine = in.readLine()) != null) { - response.append(inputLine); -} -in.close(); -System.out.println(response.toString()); - -``` - -```go -package main - -import ( - "bytes" - "net/http" -) - -func main() { - - headers := map[string][]string{ - "Content-Type": []string{"application/json"}, - "Authorization": []string{"Bearer {access-token}"}, - } - - data := bytes.NewBuffer([]byte{jsonReq}) - req, err := http.NewRequest("PATCH", "/auth-clients/{id}", data) - req.Header = headers - - client := &http.Client{} - resp, err := client.Do(req) - // ... -} - -``` - -`PATCH /auth-clients/{id}` - -> Body parameter - -```json -{ - "deleted": true, - "deletedOn": "2019-08-24T14:15:22Z", - "deletedBy": "string", - "createdOn": "2019-08-24T14:15:22Z", - "modifiedOn": "2019-08-24T14:15:22Z", - "id": 0, - "clientId": "string", - "clientSecret": "string", - "secret": "string", - "redirectUrl": "string", - "accessTokenExpiration": 0, - "refreshTokenExpiration": 0, - "authCodeExpiration": 0 -} -``` - -

Parameters

- -|Name|In|Type|Required|Description| -|---|---|---|---|---| -|id|path|number|true|none| -|body|body|[AuthClientPartial](#schemaauthclientpartial)|false|none| - -

Responses

- -|Status|Meaning|Description|Schema| -|---|---|---|---| -|204|[No Content](https://tools.ietf.org/html/rfc7231#section-6.3.5)|AuthClient PATCH success|None| - - - -## AuthClientController.findById - - - -> Code samples - -```shell -# You can also use wget -curl -X GET /auth-clients/{id} \ - -H 'Accept: application/json' \ - -H 'Authorization: Bearer {access-token}' - -``` - -```http -GET /auth-clients/{id} HTTP/1.1 - -Accept: application/json - -``` - -```javascript - -const headers = { - 'Accept':'application/json', - 'Authorization':'Bearer {access-token}' -}; - -fetch('/auth-clients/{id}', -{ - method: 'GET', - - headers: headers -}) -.then(function(res) { - return res.json(); -}).then(function(body) { - console.log(body); -}); - -``` - -```ruby -require 'rest-client' -require 'json' - -headers = { - 'Accept' => 'application/json', - 'Authorization' => 'Bearer {access-token}' -} - -result = RestClient.get '/auth-clients/{id}', - params: { - }, headers: headers - -p JSON.parse(result) - -``` - -```python -import requests -headers = { - 'Accept': 'application/json', - 'Authorization': 'Bearer {access-token}' -} - -r = requests.get('/auth-clients/{id}', headers = headers) - -print(r.json()) - -``` - -```php - 'application/json', - 'Authorization' => 'Bearer {access-token}', -); - -$client = new \GuzzleHttp\Client(); - -// Define array of request body. -$request_body = array(); - -try { - $response = $client->request('GET','/auth-clients/{id}', array( - 'headers' => $headers, - 'json' => $request_body, - ) - ); - print_r($response->getBody()->getContents()); - } - catch (\GuzzleHttp\Exception\BadResponseException $e) { - // handle exception or api errors. - print_r($e->getMessage()); - } - - // ... - -``` - -```java -URL obj = new URL("/auth-clients/{id}"); -HttpURLConnection con = (HttpURLConnection) obj.openConnection(); -con.setRequestMethod("GET"); -int responseCode = con.getResponseCode(); -BufferedReader in = new BufferedReader( - new InputStreamReader(con.getInputStream())); -String inputLine; -StringBuffer response = new StringBuffer(); -while ((inputLine = in.readLine()) != null) { - response.append(inputLine); -} -in.close(); -System.out.println(response.toString()); - -``` - -```go -package main - -import ( - "bytes" - "net/http" -) - -func main() { - - headers := map[string][]string{ - "Accept": []string{"application/json"}, - "Authorization": []string{"Bearer {access-token}"}, - } - - data := bytes.NewBuffer([]byte{jsonReq}) - req, err := http.NewRequest("GET", "/auth-clients/{id}", data) - req.Header = headers - - client := &http.Client{} - resp, err := client.Do(req) - // ... -} - -``` - -`GET /auth-clients/{id}` - -

Parameters

- -|Name|In|Type|Required|Description| -|---|---|---|---|---| -|id|path|number|true|none| - -> Example responses - -> 200 Response - -```json -{ - "deleted": true, - "deletedOn": "2019-08-24T14:15:22Z", - "deletedBy": "string", - "createdOn": "2019-08-24T14:15:22Z", - "modifiedOn": "2019-08-24T14:15:22Z", - "id": 0, - "clientId": "string", - "clientSecret": "string", - "secret": "string", - "redirectUrl": "string", - "accessTokenExpiration": 0, - "refreshTokenExpiration": 0, - "authCodeExpiration": 0 -} -``` - -

Responses

- -|Status|Meaning|Description|Schema| -|---|---|---|---| -|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|AuthClient model instance|[AuthClient](#schemaauthclient)| - - - -## AuthClientController.deleteById - - - -> Code samples - -```shell -# You can also use wget -curl -X DELETE /auth-clients/{id} \ - -H 'Authorization: Bearer {access-token}' - -``` - -```http -DELETE /auth-clients/{id} HTTP/1.1 - -``` - -```javascript - -const headers = { - 'Authorization':'Bearer {access-token}' -}; - -fetch('/auth-clients/{id}', -{ - method: 'DELETE', - - headers: headers -}) -.then(function(res) { - return res.json(); -}).then(function(body) { - console.log(body); -}); - -``` - -```ruby -require 'rest-client' -require 'json' - -headers = { - 'Authorization' => 'Bearer {access-token}' -} - -result = RestClient.delete '/auth-clients/{id}', - params: { - }, headers: headers - -p JSON.parse(result) - -``` - -```python -import requests -headers = { - 'Authorization': 'Bearer {access-token}' -} - -r = requests.delete('/auth-clients/{id}', headers = headers) - -print(r.json()) - -``` - -```php - 'Bearer {access-token}', -); - -$client = new \GuzzleHttp\Client(); - -// Define array of request body. -$request_body = array(); - -try { - $response = $client->request('DELETE','/auth-clients/{id}', array( - 'headers' => $headers, - 'json' => $request_body, - ) - ); - print_r($response->getBody()->getContents()); - } - catch (\GuzzleHttp\Exception\BadResponseException $e) { - // handle exception or api errors. - print_r($e->getMessage()); - } - - // ... - -``` - -```java -URL obj = new URL("/auth-clients/{id}"); -HttpURLConnection con = (HttpURLConnection) obj.openConnection(); -con.setRequestMethod("DELETE"); -int responseCode = con.getResponseCode(); -BufferedReader in = new BufferedReader( - new InputStreamReader(con.getInputStream())); -String inputLine; -StringBuffer response = new StringBuffer(); -while ((inputLine = in.readLine()) != null) { - response.append(inputLine); -} -in.close(); -System.out.println(response.toString()); - -``` - -```go -package main - -import ( - "bytes" - "net/http" -) - -func main() { - - headers := map[string][]string{ - "Authorization": []string{"Bearer {access-token}"}, - } - - data := bytes.NewBuffer([]byte{jsonReq}) - req, err := http.NewRequest("DELETE", "/auth-clients/{id}", data) - req.Header = headers - - client := &http.Client{} - resp, err := client.Do(req) - // ... -} - -``` - -`DELETE /auth-clients/{id}` - -

Parameters

- -|Name|In|Type|Required|Description| -|---|---|---|---|---| -|id|path|number|true|none| - -

Responses

- -|Status|Meaning|Description|Schema| -|---|---|---|---| -|204|[No Content](https://tools.ietf.org/html/rfc7231#section-6.3.5)|AuthClient DELETE success|None| - - - -## AuthClientController.create - - - -> Code samples - -```shell -# You can also use wget -curl -X POST /auth-clients \ - -H 'Content-Type: application/json' \ - -H 'Accept: application/json' \ - -H 'Authorization: Bearer {access-token}' - -``` - -```http -POST /auth-clients HTTP/1.1 - -Content-Type: application/json -Accept: application/json - -``` - -```javascript -const inputBody = '{ - "deleted": true, - "deletedOn": "2019-08-24T14:15:22Z", - "deletedBy": "string", - "createdOn": "2019-08-24T14:15:22Z", - "modifiedOn": "2019-08-24T14:15:22Z", - "clientId": "string", - "clientSecret": "string", - "secret": "string", - "redirectUrl": "string", - "accessTokenExpiration": 0, - "refreshTokenExpiration": 0, - "authCodeExpiration": 0 -}'; -const headers = { - 'Content-Type':'application/json', - 'Accept':'application/json', - 'Authorization':'Bearer {access-token}' -}; - -fetch('/auth-clients', -{ - method: 'POST', - body: inputBody, - headers: headers -}) -.then(function(res) { - return res.json(); -}).then(function(body) { - console.log(body); -}); - -``` - -```ruby -require 'rest-client' -require 'json' - -headers = { - 'Content-Type' => 'application/json', - 'Accept' => 'application/json', - 'Authorization' => 'Bearer {access-token}' -} - -result = RestClient.post '/auth-clients', - params: { - }, headers: headers - -p JSON.parse(result) - -``` - -```python -import requests -headers = { - 'Content-Type': 'application/json', - 'Accept': 'application/json', - 'Authorization': 'Bearer {access-token}' -} - -r = requests.post('/auth-clients', headers = headers) - -print(r.json()) - -``` - -```php - 'application/json', - 'Accept' => 'application/json', - 'Authorization' => 'Bearer {access-token}', -); - -$client = new \GuzzleHttp\Client(); - -// Define array of request body. -$request_body = array(); - -try { - $response = $client->request('POST','/auth-clients', array( - 'headers' => $headers, - 'json' => $request_body, - ) - ); - print_r($response->getBody()->getContents()); - } - catch (\GuzzleHttp\Exception\BadResponseException $e) { - // handle exception or api errors. - print_r($e->getMessage()); - } - - // ... - -``` - -```java -URL obj = new URL("/auth-clients"); -HttpURLConnection con = (HttpURLConnection) obj.openConnection(); -con.setRequestMethod("POST"); -int responseCode = con.getResponseCode(); -BufferedReader in = new BufferedReader( - new InputStreamReader(con.getInputStream())); -String inputLine; -StringBuffer response = new StringBuffer(); -while ((inputLine = in.readLine()) != null) { - response.append(inputLine); -} -in.close(); -System.out.println(response.toString()); - -``` - -```go -package main - -import ( - "bytes" - "net/http" -) - -func main() { - - headers := map[string][]string{ - "Content-Type": []string{"application/json"}, - "Accept": []string{"application/json"}, - "Authorization": []string{"Bearer {access-token}"}, - } - - data := bytes.NewBuffer([]byte{jsonReq}) - req, err := http.NewRequest("POST", "/auth-clients", data) - req.Header = headers - - client := &http.Client{} - resp, err := client.Do(req) - // ... -} - -``` - -`POST /auth-clients` - -> Body parameter - -```json -{ - "deleted": true, - "deletedOn": "2019-08-24T14:15:22Z", - "deletedBy": "string", - "createdOn": "2019-08-24T14:15:22Z", - "modifiedOn": "2019-08-24T14:15:22Z", - "clientId": "string", - "clientSecret": "string", - "secret": "string", - "redirectUrl": "string", - "accessTokenExpiration": 0, - "refreshTokenExpiration": 0, - "authCodeExpiration": 0 -} -``` - -

Parameters

- -|Name|In|Type|Required|Description| -|---|---|---|---|---| -|body|body|[AuthClientExcluding_id_](#schemaauthclientexcluding_id_)|false|none| - -> Example responses - -> 200 Response - -```json -{ - "deleted": true, - "deletedOn": "2019-08-24T14:15:22Z", - "deletedBy": "string", - "createdOn": "2019-08-24T14:15:22Z", - "modifiedOn": "2019-08-24T14:15:22Z", - "id": 0, - "clientId": "string", - "clientSecret": "string", - "secret": "string", - "redirectUrl": "string", - "accessTokenExpiration": 0, - "refreshTokenExpiration": 0, - "authCodeExpiration": 0 -} -``` - -

Responses

- -|Status|Meaning|Description|Schema| -|---|---|---|---| -|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|AuthClient model instance|[AuthClient](#schemaauthclient)| - - - -## AuthClientController.updateAll - - - -> Code samples - -```shell -# You can also use wget -curl -X PATCH /auth-clients \ - -H 'Content-Type: application/json' \ - -H 'Accept: application/json' \ - -H 'Authorization: Bearer {access-token}' - -``` - -```http -PATCH /auth-clients HTTP/1.1 - -Content-Type: application/json -Accept: application/json - -``` - -```javascript -const inputBody = '{ - "deleted": true, - "deletedOn": "2019-08-24T14:15:22Z", - "deletedBy": "string", - "createdOn": "2019-08-24T14:15:22Z", - "modifiedOn": "2019-08-24T14:15:22Z", - "id": 0, - "clientId": "string", - "clientSecret": "string", - "secret": "string", - "redirectUrl": "string", - "accessTokenExpiration": 0, - "refreshTokenExpiration": 0, - "authCodeExpiration": 0 -}'; -const headers = { - 'Content-Type':'application/json', - 'Accept':'application/json', - 'Authorization':'Bearer {access-token}' -}; - -fetch('/auth-clients', -{ - method: 'PATCH', - body: inputBody, - headers: headers -}) -.then(function(res) { - return res.json(); -}).then(function(body) { - console.log(body); -}); - -``` - -```ruby -require 'rest-client' -require 'json' - -headers = { - 'Content-Type' => 'application/json', - 'Accept' => 'application/json', - 'Authorization' => 'Bearer {access-token}' -} - -result = RestClient.patch '/auth-clients', - params: { - }, headers: headers - -p JSON.parse(result) - -``` - -```python -import requests -headers = { - 'Content-Type': 'application/json', - 'Accept': 'application/json', - 'Authorization': 'Bearer {access-token}' -} - -r = requests.patch('/auth-clients', headers = headers) - -print(r.json()) - -``` - -```php - 'application/json', - 'Accept' => 'application/json', - 'Authorization' => 'Bearer {access-token}', -); - -$client = new \GuzzleHttp\Client(); - -// Define array of request body. -$request_body = array(); - -try { - $response = $client->request('PATCH','/auth-clients', array( - 'headers' => $headers, - 'json' => $request_body, - ) - ); - print_r($response->getBody()->getContents()); - } - catch (\GuzzleHttp\Exception\BadResponseException $e) { - // handle exception or api errors. - print_r($e->getMessage()); - } - - // ... - -``` - -```java -URL obj = new URL("/auth-clients"); -HttpURLConnection con = (HttpURLConnection) obj.openConnection(); -con.setRequestMethod("PATCH"); -int responseCode = con.getResponseCode(); -BufferedReader in = new BufferedReader( - new InputStreamReader(con.getInputStream())); -String inputLine; -StringBuffer response = new StringBuffer(); -while ((inputLine = in.readLine()) != null) { - response.append(inputLine); -} -in.close(); -System.out.println(response.toString()); - -``` - -```go -package main - -import ( - "bytes" - "net/http" -) - -func main() { - - headers := map[string][]string{ - "Content-Type": []string{"application/json"}, - "Accept": []string{"application/json"}, - "Authorization": []string{"Bearer {access-token}"}, - } - - data := bytes.NewBuffer([]byte{jsonReq}) - req, err := http.NewRequest("PATCH", "/auth-clients", data) - req.Header = headers - - client := &http.Client{} - resp, err := client.Do(req) - // ... -} - -``` - -`PATCH /auth-clients` - -> Body parameter - -```json -{ - "deleted": true, - "deletedOn": "2019-08-24T14:15:22Z", - "deletedBy": "string", - "createdOn": "2019-08-24T14:15:22Z", - "modifiedOn": "2019-08-24T14:15:22Z", - "id": 0, - "clientId": "string", - "clientSecret": "string", - "secret": "string", - "redirectUrl": "string", - "accessTokenExpiration": 0, - "refreshTokenExpiration": 0, - "authCodeExpiration": 0 -} -``` - -

Parameters

- -|Name|In|Type|Required|Description| -|---|---|---|---|---| -|where|query|object|false|none| -|body|body|[AuthClientPartial](#schemaauthclientpartial)|false|none| - -> Example responses - -> 200 Response - -```json -{ - "count": 0 -} -``` - -

Responses

- -|Status|Meaning|Description|Schema| -|---|---|---|---| -|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|AuthClient PATCH success count|[loopback.Count](#schemaloopback.count)| - - - -## AuthClientController.find - - - -> Code samples - -```shell -# You can also use wget -curl -X GET /auth-clients \ - -H 'Accept: application/json' \ - -H 'Authorization: Bearer {access-token}' - -``` - -```http -GET /auth-clients HTTP/1.1 - -Accept: application/json - -``` - -```javascript - -const headers = { - 'Accept':'application/json', - 'Authorization':'Bearer {access-token}' -}; - -fetch('/auth-clients', -{ - method: 'GET', - - headers: headers -}) -.then(function(res) { - return res.json(); -}).then(function(body) { - console.log(body); -}); - -``` - -```ruby -require 'rest-client' -require 'json' - -headers = { - 'Accept' => 'application/json', - 'Authorization' => 'Bearer {access-token}' -} - -result = RestClient.get '/auth-clients', - params: { - }, headers: headers - -p JSON.parse(result) - -``` - -```python -import requests -headers = { - 'Accept': 'application/json', - 'Authorization': 'Bearer {access-token}' -} - -r = requests.get('/auth-clients', headers = headers) - -print(r.json()) - -``` - -```php - 'application/json', - 'Authorization' => 'Bearer {access-token}', -); - -$client = new \GuzzleHttp\Client(); - -// Define array of request body. -$request_body = array(); - -try { - $response = $client->request('GET','/auth-clients', array( - 'headers' => $headers, - 'json' => $request_body, - ) - ); - print_r($response->getBody()->getContents()); - } - catch (\GuzzleHttp\Exception\BadResponseException $e) { - // handle exception or api errors. - print_r($e->getMessage()); - } - - // ... - -``` - -```java -URL obj = new URL("/auth-clients"); -HttpURLConnection con = (HttpURLConnection) obj.openConnection(); -con.setRequestMethod("GET"); -int responseCode = con.getResponseCode(); -BufferedReader in = new BufferedReader( - new InputStreamReader(con.getInputStream())); -String inputLine; -StringBuffer response = new StringBuffer(); -while ((inputLine = in.readLine()) != null) { - response.append(inputLine); -} -in.close(); -System.out.println(response.toString()); - -``` - -```go -package main - -import ( - "bytes" - "net/http" -) - -func main() { - - headers := map[string][]string{ - "Accept": []string{"application/json"}, - "Authorization": []string{"Bearer {access-token}"}, - } - - data := bytes.NewBuffer([]byte{jsonReq}) - req, err := http.NewRequest("GET", "/auth-clients", data) - req.Header = headers - - client := &http.Client{} - resp, err := client.Do(req) - // ... -} - -``` - -`GET /auth-clients` - -

Parameters

- -|Name|In|Type|Required|Description| -|---|---|---|---|---| -|filter|query|[auth_clients.Filter](#schemaauth_clients.filter)|false|none| - -> Example responses - -> 200 Response - -```json -[ - { - "deleted": true, - "deletedOn": "2019-08-24T14:15:22Z", - "deletedBy": "string", - "createdOn": "2019-08-24T14:15:22Z", - "modifiedOn": "2019-08-24T14:15:22Z", - "id": 0, - "clientId": "string", - "clientSecret": "string", - "secret": "string", - "redirectUrl": "string", - "accessTokenExpiration": 0, - "refreshTokenExpiration": 0, - "authCodeExpiration": 0 - } -] -``` - -

Responses

- -|Status|Meaning|Description|Schema| -|---|---|---|---| -|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|Array of AuthClient model instances|Inline| - -

Response Schema

- -Status Code **200** - -|Name|Type|Required|Restrictions|Description| -|---|---|---|---|---| -|*anonymous*|[[AuthClient](#schemaauthclient)]|false|none|none| -|» AuthClient|[AuthClient](#schemaauthclient)|false|none|none| -|»» deleted|boolean|false|none|none| -|»» deletedOn|string(date-time)¦null|false|none|none| -|»» deletedBy|string¦null|false|none|none| -|»» createdOn|string(date-time)|false|none|none| -|»» modifiedOn|string(date-time)|false|none|none| -|»» id|number|false|none|none| -|»» clientId|string|true|none|none| -|»» clientSecret|string|true|none|none| -|»» secret|string|true|none|none| -|»» redirectUrl|string|false|none|none| -|»» accessTokenExpiration|number|true|none|none| -|»» refreshTokenExpiration|number|true|none|none| -|»» authCodeExpiration|number|true|none|none| - - - -

LogoutController

- -## LogoutController.logout - - - -> Code samples - -```shell -# You can also use wget -curl -X POST /logout \ - -H 'Content-Type: application/json' \ - -H 'Accept: application/json' \ - -H 'Authorization: string' - -``` - -```http -POST /logout HTTP/1.1 - -Content-Type: application/json -Accept: application/json -Authorization: string - -``` - -```javascript -const inputBody = '{ - "refreshToken": "string" -}'; -const headers = { - 'Content-Type':'application/json', - 'Accept':'application/json', - 'Authorization':'string' -}; - -fetch('/logout', -{ - method: 'POST', - body: inputBody, - headers: headers -}) -.then(function(res) { - return res.json(); -}).then(function(body) { - console.log(body); -}); - -``` - -```ruby -require 'rest-client' -require 'json' - -headers = { - 'Content-Type' => 'application/json', - 'Accept' => 'application/json', - 'Authorization' => 'string' -} - -result = RestClient.post '/logout', - params: { - }, headers: headers - -p JSON.parse(result) - -``` - -```python -import requests -headers = { - 'Content-Type': 'application/json', - 'Accept': 'application/json', - 'Authorization': 'string' -} - -r = requests.post('/logout', headers = headers) - -print(r.json()) - -``` - -```php - 'application/json', - 'Accept' => 'application/json', - 'Authorization' => 'string', -); - -$client = new \GuzzleHttp\Client(); - -// Define array of request body. -$request_body = array(); - -try { - $response = $client->request('POST','/logout', array( - 'headers' => $headers, - 'json' => $request_body, - ) - ); - print_r($response->getBody()->getContents()); - } - catch (\GuzzleHttp\Exception\BadResponseException $e) { - // handle exception or api errors. - print_r($e->getMessage()); - } - - // ... - -``` - -```java -URL obj = new URL("/logout"); -HttpURLConnection con = (HttpURLConnection) obj.openConnection(); -con.setRequestMethod("POST"); -int responseCode = con.getResponseCode(); -BufferedReader in = new BufferedReader( - new InputStreamReader(con.getInputStream())); -String inputLine; -StringBuffer response = new StringBuffer(); -while ((inputLine = in.readLine()) != null) { - response.append(inputLine); -} -in.close(); -System.out.println(response.toString()); - -``` - -```go -package main - -import ( - "bytes" - "net/http" -) - -func main() { - - headers := map[string][]string{ - "Content-Type": []string{"application/json"}, - "Accept": []string{"application/json"}, - "Authorization": []string{"string"}, - } - - data := bytes.NewBuffer([]byte{jsonReq}) - req, err := http.NewRequest("POST", "/logout", data) - req.Header = headers - - client := &http.Client{} - resp, err := client.Do(req) - // ... -} - -``` - -`POST /logout` - -To logout - -> Body parameter - -```json -{ - "refreshToken": "string" -} -``` - -

Parameters

- -|Name|In|Type|Required|Description| -|---|---|---|---|---| -|Authorization|header|string|false|This is the access token which is required to authenticate user.| -|body|body|[RefreshTokenRequestPartial](#schemarefreshtokenrequestpartial)|false|none| - -> Example responses - -> 200 Response - -```json -{ - "success": true -} -``` - -

Responses

- -|Status|Meaning|Description|Schema| -|---|---|---|---| -|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|Success Response|[SuccessResponse](#schemasuccessresponse)| -|400|[Bad Request](https://tools.ietf.org/html/rfc7231#section-6.5.1)|The syntax of the request entity is incorrect.|None| -|401|[Unauthorized](https://tools.ietf.org/html/rfc7235#section-3.1)|Invalid Credentials.|None| -|404|[Not Found](https://tools.ietf.org/html/rfc7231#section-6.5.4)|The entity requested does not exist.|None| -|422|[Unprocessable Entity](https://tools.ietf.org/html/rfc2518#section-10.3)|The syntax of the request entity is incorrect|None| - - - -

OtpController

- -## OtpController.findById - - - -> Code samples - -```shell -# You can also use wget -curl -X GET /otp-caches/{id} \ - -H 'Accept: application/json' - -``` - -```http -GET /otp-caches/{id} HTTP/1.1 - -Accept: application/json - -``` - -```javascript - -const headers = { - 'Accept':'application/json' -}; - -fetch('/otp-caches/{id}', -{ - method: 'GET', - - headers: headers -}) -.then(function(res) { - return res.json(); -}).then(function(body) { - console.log(body); -}); - -``` - -```ruby -require 'rest-client' -require 'json' - -headers = { - 'Accept' => 'application/json' -} - -result = RestClient.get '/otp-caches/{id}', - params: { - }, headers: headers - -p JSON.parse(result) - -``` - -```python -import requests -headers = { - 'Accept': 'application/json' -} - -r = requests.get('/otp-caches/{id}', headers = headers) - -print(r.json()) - -``` - -```php - 'application/json', -); - -$client = new \GuzzleHttp\Client(); - -// Define array of request body. -$request_body = array(); - -try { - $response = $client->request('GET','/otp-caches/{id}', array( - 'headers' => $headers, - 'json' => $request_body, - ) - ); - print_r($response->getBody()->getContents()); - } - catch (\GuzzleHttp\Exception\BadResponseException $e) { - // handle exception or api errors. - print_r($e->getMessage()); - } - - // ... - -``` - -```java -URL obj = new URL("/otp-caches/{id}"); -HttpURLConnection con = (HttpURLConnection) obj.openConnection(); -con.setRequestMethod("GET"); -int responseCode = con.getResponseCode(); -BufferedReader in = new BufferedReader( - new InputStreamReader(con.getInputStream())); -String inputLine; -StringBuffer response = new StringBuffer(); -while ((inputLine = in.readLine()) != null) { - response.append(inputLine); -} -in.close(); -System.out.println(response.toString()); - -``` - -```go -package main - -import ( - "bytes" - "net/http" -) - -func main() { - - headers := map[string][]string{ - "Accept": []string{"application/json"}, - } - - data := bytes.NewBuffer([]byte{jsonReq}) - req, err := http.NewRequest("GET", "/otp-caches/{id}", data) - req.Header = headers - - client := &http.Client{} - resp, err := client.Do(req) - // ... -} - -``` - -`GET /otp-caches/{id}` - -

Parameters

- -|Name|In|Type|Required|Description| -|---|---|---|---|---| -|id|path|string|true|none| - -> Example responses - -> 200 Response - -```json -{ - "otp": "string", - "username": "string" -} -``` - -

Responses

- -|Status|Meaning|Description|Schema| -|---|---|---|---| -|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|Otp model instance|[Otp](#schemaotp)| - - - -## OtpController.deleteById - - - -> Code samples - -```shell -# You can also use wget -curl -X DELETE /otp-caches/{id} - -``` - -```http -DELETE /otp-caches/{id} HTTP/1.1 - -``` - -```javascript - -fetch('/otp-caches/{id}', -{ - method: 'DELETE' - -}) -.then(function(res) { - return res.json(); -}).then(function(body) { - console.log(body); -}); - -``` - -```ruby -require 'rest-client' -require 'json' - -result = RestClient.delete '/otp-caches/{id}', - params: { - } - -p JSON.parse(result) - -``` - -```python -import requests - -r = requests.delete('/otp-caches/{id}') - -print(r.json()) - -``` - -```php -request('DELETE','/otp-caches/{id}', array( - 'headers' => $headers, - 'json' => $request_body, - ) - ); - print_r($response->getBody()->getContents()); - } - catch (\GuzzleHttp\Exception\BadResponseException $e) { - // handle exception or api errors. - print_r($e->getMessage()); - } - - // ... - -``` - -```java -URL obj = new URL("/otp-caches/{id}"); -HttpURLConnection con = (HttpURLConnection) obj.openConnection(); -con.setRequestMethod("DELETE"); -int responseCode = con.getResponseCode(); -BufferedReader in = new BufferedReader( - new InputStreamReader(con.getInputStream())); -String inputLine; -StringBuffer response = new StringBuffer(); -while ((inputLine = in.readLine()) != null) { - response.append(inputLine); -} -in.close(); -System.out.println(response.toString()); - -``` - -```go -package main - -import ( - "bytes" - "net/http" -) - -func main() { - - data := bytes.NewBuffer([]byte{jsonReq}) - req, err := http.NewRequest("DELETE", "/otp-caches/{id}", data) - req.Header = headers - - client := &http.Client{} - resp, err := client.Do(req) - // ... -} - -``` - -`DELETE /otp-caches/{id}` - -

Parameters

- -|Name|In|Type|Required|Description| -|---|---|---|---|---| -|id|path|string|true|none| - -

Responses

- -|Status|Meaning|Description|Schema| -|---|---|---|---| -|204|[No Content](https://tools.ietf.org/html/rfc7231#section-6.3.5)|Otp DELETE success|None| - - - -## OtpController.create - - - -> Code samples - -```shell -# You can also use wget -curl -X POST /otp-caches \ - -H 'Content-Type: application/json' \ - -H 'Accept: application/json' - -``` - -```http -POST /otp-caches HTTP/1.1 - -Content-Type: application/json -Accept: application/json - -``` - -```javascript -const inputBody = '{ - "otp": "string", - "username": "string" -}'; -const headers = { - 'Content-Type':'application/json', - 'Accept':'application/json' -}; - -fetch('/otp-caches', -{ - method: 'POST', - body: inputBody, - headers: headers -}) -.then(function(res) { - return res.json(); -}).then(function(body) { - console.log(body); -}); - -``` - -```ruby -require 'rest-client' -require 'json' - -headers = { - 'Content-Type' => 'application/json', - 'Accept' => 'application/json' -} - -result = RestClient.post '/otp-caches', - params: { - }, headers: headers - -p JSON.parse(result) - -``` - -```python -import requests -headers = { - 'Content-Type': 'application/json', - 'Accept': 'application/json' -} - -r = requests.post('/otp-caches', headers = headers) - -print(r.json()) - -``` - -```php - 'application/json', - 'Accept' => 'application/json', -); - -$client = new \GuzzleHttp\Client(); - -// Define array of request body. -$request_body = array(); - -try { - $response = $client->request('POST','/otp-caches', array( - 'headers' => $headers, - 'json' => $request_body, - ) - ); - print_r($response->getBody()->getContents()); - } - catch (\GuzzleHttp\Exception\BadResponseException $e) { - // handle exception or api errors. - print_r($e->getMessage()); - } - - // ... - -``` - -```java -URL obj = new URL("/otp-caches"); -HttpURLConnection con = (HttpURLConnection) obj.openConnection(); -con.setRequestMethod("POST"); -int responseCode = con.getResponseCode(); -BufferedReader in = new BufferedReader( - new InputStreamReader(con.getInputStream())); -String inputLine; -StringBuffer response = new StringBuffer(); -while ((inputLine = in.readLine()) != null) { - response.append(inputLine); -} -in.close(); -System.out.println(response.toString()); - -``` - -```go -package main - -import ( - "bytes" - "net/http" -) - -func main() { - - headers := map[string][]string{ - "Content-Type": []string{"application/json"}, - "Accept": []string{"application/json"}, - } - - data := bytes.NewBuffer([]byte{jsonReq}) - req, err := http.NewRequest("POST", "/otp-caches", data) - req.Header = headers - - client := &http.Client{} - resp, err := client.Do(req) - // ... -} - -``` - -`POST /otp-caches` - -> Body parameter - -```json -{ - "otp": "string", - "username": "string" -} -``` - -

Parameters

- -|Name|In|Type|Required|Description| -|---|---|---|---|---| -|body|body|[Otp](#schemaotp)|false|none| - -> Example responses - -> 200 Response - -```json -{ - "otp": "string", - "username": "string" -} -``` - -

Responses

- -|Status|Meaning|Description|Schema| -|---|---|---|---| -|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|Otp model instance|[Otp](#schemaotp)| - - - -

PingController

- -## PingController.ping - - - -> Code samples - -```shell -# You can also use wget -curl -X GET /ping \ - -H 'Accept: application/json' - -``` - -```http -GET /ping HTTP/1.1 - -Accept: application/json - -``` - -```javascript - -const headers = { - 'Accept':'application/json' -}; - -fetch('/ping', -{ - method: 'GET', - - headers: headers -}) -.then(function(res) { - return res.json(); -}).then(function(body) { - console.log(body); -}); - -``` - -```ruby -require 'rest-client' -require 'json' - -headers = { - 'Accept' => 'application/json' -} - -result = RestClient.get '/ping', - params: { - }, headers: headers - -p JSON.parse(result) - -``` - -```python -import requests -headers = { - 'Accept': 'application/json' -} - -r = requests.get('/ping', headers = headers) - -print(r.json()) - -``` - -```php - 'application/json', -); - -$client = new \GuzzleHttp\Client(); - -// Define array of request body. -$request_body = array(); - -try { - $response = $client->request('GET','/ping', array( - 'headers' => $headers, - 'json' => $request_body, - ) - ); - print_r($response->getBody()->getContents()); - } - catch (\GuzzleHttp\Exception\BadResponseException $e) { - // handle exception or api errors. - print_r($e->getMessage()); - } - - // ... - -``` - -```java -URL obj = new URL("/ping"); -HttpURLConnection con = (HttpURLConnection) obj.openConnection(); -con.setRequestMethod("GET"); -int responseCode = con.getResponseCode(); -BufferedReader in = new BufferedReader( - new InputStreamReader(con.getInputStream())); -String inputLine; -StringBuffer response = new StringBuffer(); -while ((inputLine = in.readLine()) != null) { - response.append(inputLine); -} -in.close(); -System.out.println(response.toString()); - -``` - -```go -package main - -import ( - "bytes" - "net/http" -) - -func main() { - - headers := map[string][]string{ - "Accept": []string{"application/json"}, - } - - data := bytes.NewBuffer([]byte{jsonReq}) - req, err := http.NewRequest("GET", "/ping", data) - req.Header = headers - - client := &http.Client{} - resp, err := client.Do(req) - // ... -} - -``` - -`GET /ping` - -> Example responses - -> 200 Response - -```json -{ - "greeting": "string", - "date": "string", - "url": "string", - "headers": { - "Content-Type": "string" - } -} -``` - -

Responses

- -|Status|Meaning|Description|Schema| -|---|---|---|---| -|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|Ping Response|Inline| - -

Response Schema

- -Status Code **200** - -|Name|Type|Required|Restrictions|Description| -|---|---|---|---|---| -|» greeting|string|false|none|none| -|» date|string|false|none|none| -|» url|string|false|none|none| -|» headers|object|false|none|none| -|»» Content-Type|string|false|none|none| - - - -

TodoController

- -## TodoController.count - - - -> Code samples - -```shell -# You can also use wget -curl -X GET /todos/count \ - -H 'Accept: application/json' - -``` - -```http -GET /todos/count HTTP/1.1 - -Accept: application/json - -``` - -```javascript - -const headers = { - 'Accept':'application/json' -}; - -fetch('/todos/count', -{ - method: 'GET', - - headers: headers -}) -.then(function(res) { - return res.json(); -}).then(function(body) { - console.log(body); -}); - -``` - -```ruby -require 'rest-client' -require 'json' - -headers = { - 'Accept' => 'application/json' -} - -result = RestClient.get '/todos/count', - params: { - }, headers: headers - -p JSON.parse(result) - -``` - -```python -import requests -headers = { - 'Accept': 'application/json' -} - -r = requests.get('/todos/count', headers = headers) - -print(r.json()) - -``` - -```php - 'application/json', -); - -$client = new \GuzzleHttp\Client(); - -// Define array of request body. -$request_body = array(); - -try { - $response = $client->request('GET','/todos/count', array( - 'headers' => $headers, - 'json' => $request_body, - ) - ); - print_r($response->getBody()->getContents()); - } - catch (\GuzzleHttp\Exception\BadResponseException $e) { - // handle exception or api errors. - print_r($e->getMessage()); - } - - // ... - -``` - -```java -URL obj = new URL("/todos/count"); -HttpURLConnection con = (HttpURLConnection) obj.openConnection(); -con.setRequestMethod("GET"); -int responseCode = con.getResponseCode(); -BufferedReader in = new BufferedReader( - new InputStreamReader(con.getInputStream())); -String inputLine; -StringBuffer response = new StringBuffer(); -while ((inputLine = in.readLine()) != null) { - response.append(inputLine); -} -in.close(); -System.out.println(response.toString()); - -``` - -```go -package main - -import ( - "bytes" - "net/http" -) - -func main() { - - headers := map[string][]string{ - "Accept": []string{"application/json"}, - } - - data := bytes.NewBuffer([]byte{jsonReq}) - req, err := http.NewRequest("GET", "/todos/count", data) - req.Header = headers - - client := &http.Client{} - resp, err := client.Do(req) - // ... -} - -``` - -`GET /todos/count` - -

Parameters

- -|Name|In|Type|Required|Description| -|---|---|---|---|---| -|where|query|object|false|none| - -> Example responses - -> 200 Response - -```json -{ - "count": 0 -} -``` - -

Responses

- -|Status|Meaning|Description|Schema| -|---|---|---|---| -|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|ToDo model count|[loopback.Count](#schemaloopback.count)| - - - -## TodoController.updateById - - - -> Code samples - -```shell -# You can also use wget -curl -X PATCH /todos/{id} \ - -H 'Content-Type: application/json' - -``` - -```http -PATCH /todos/{id} HTTP/1.1 - -Content-Type: application/json - -``` - -```javascript -const inputBody = '{ - "deleted": true, - "deletedOn": "2019-08-24T14:15:22Z", - "deletedBy": "string", - "createdOn": "2019-08-24T14:15:22Z", - "modifiedOn": "2019-08-24T14:15:22Z", - "createdBy": "string", - "modifiedBy": "string", - "id": "string", - "title": "string", - "description": "string", - "items": [ - "string" - ] -}'; -const headers = { - 'Content-Type':'application/json' -}; - -fetch('/todos/{id}', -{ - method: 'PATCH', - body: inputBody, - headers: headers -}) -.then(function(res) { - return res.json(); -}).then(function(body) { - console.log(body); -}); - -``` - -```ruby -require 'rest-client' -require 'json' - -headers = { - 'Content-Type' => 'application/json' -} - -result = RestClient.patch '/todos/{id}', - params: { - }, headers: headers - -p JSON.parse(result) - -``` - -```python -import requests -headers = { - 'Content-Type': 'application/json' -} - -r = requests.patch('/todos/{id}', headers = headers) - -print(r.json()) - -``` - -```php - 'application/json', -); - -$client = new \GuzzleHttp\Client(); - -// Define array of request body. -$request_body = array(); - -try { - $response = $client->request('PATCH','/todos/{id}', array( - 'headers' => $headers, - 'json' => $request_body, - ) - ); - print_r($response->getBody()->getContents()); - } - catch (\GuzzleHttp\Exception\BadResponseException $e) { - // handle exception or api errors. - print_r($e->getMessage()); - } - - // ... - -``` - -```java -URL obj = new URL("/todos/{id}"); -HttpURLConnection con = (HttpURLConnection) obj.openConnection(); -con.setRequestMethod("PATCH"); -int responseCode = con.getResponseCode(); -BufferedReader in = new BufferedReader( - new InputStreamReader(con.getInputStream())); -String inputLine; -StringBuffer response = new StringBuffer(); -while ((inputLine = in.readLine()) != null) { - response.append(inputLine); -} -in.close(); -System.out.println(response.toString()); - -``` - -```go -package main - -import ( - "bytes" - "net/http" -) - -func main() { - - headers := map[string][]string{ - "Content-Type": []string{"application/json"}, - } - - data := bytes.NewBuffer([]byte{jsonReq}) - req, err := http.NewRequest("PATCH", "/todos/{id}", data) - req.Header = headers - - client := &http.Client{} - resp, err := client.Do(req) - // ... -} - -``` - -`PATCH /todos/{id}` - -> Body parameter - -```json -{ - "deleted": true, - "deletedOn": "2019-08-24T14:15:22Z", - "deletedBy": "string", - "createdOn": "2019-08-24T14:15:22Z", - "modifiedOn": "2019-08-24T14:15:22Z", - "createdBy": "string", - "modifiedBy": "string", - "id": "string", - "title": "string", - "description": "string", - "items": [ - "string" - ] -} -``` - -

Parameters

- -|Name|In|Type|Required|Description| -|---|---|---|---|---| -|id|path|string|true|none| -|body|body|[ToDoPartial](#schematodopartial)|false|none| - -

Responses

- -|Status|Meaning|Description|Schema| -|---|---|---|---| -|204|[No Content](https://tools.ietf.org/html/rfc7231#section-6.3.5)|ToDo PATCH success|None| - - - -## TodoController.findById - - - -> Code samples - -```shell -# You can also use wget -curl -X GET /todos/{id} \ - -H 'Accept: application/json' - -``` - -```http -GET /todos/{id} HTTP/1.1 - -Accept: application/json - -``` - -```javascript - -const headers = { - 'Accept':'application/json' -}; - -fetch('/todos/{id}', -{ - method: 'GET', - - headers: headers -}) -.then(function(res) { - return res.json(); -}).then(function(body) { - console.log(body); -}); - -``` - -```ruby -require 'rest-client' -require 'json' - -headers = { - 'Accept' => 'application/json' -} - -result = RestClient.get '/todos/{id}', - params: { - }, headers: headers - -p JSON.parse(result) - -``` - -```python -import requests -headers = { - 'Accept': 'application/json' -} - -r = requests.get('/todos/{id}', headers = headers) - -print(r.json()) - -``` - -```php - 'application/json', -); - -$client = new \GuzzleHttp\Client(); - -// Define array of request body. -$request_body = array(); - -try { - $response = $client->request('GET','/todos/{id}', array( - 'headers' => $headers, - 'json' => $request_body, - ) - ); - print_r($response->getBody()->getContents()); - } - catch (\GuzzleHttp\Exception\BadResponseException $e) { - // handle exception or api errors. - print_r($e->getMessage()); - } - - // ... - -``` - -```java -URL obj = new URL("/todos/{id}"); -HttpURLConnection con = (HttpURLConnection) obj.openConnection(); -con.setRequestMethod("GET"); -int responseCode = con.getResponseCode(); -BufferedReader in = new BufferedReader( - new InputStreamReader(con.getInputStream())); -String inputLine; -StringBuffer response = new StringBuffer(); -while ((inputLine = in.readLine()) != null) { - response.append(inputLine); -} -in.close(); -System.out.println(response.toString()); - -``` - -```go -package main - -import ( - "bytes" - "net/http" -) - -func main() { - - headers := map[string][]string{ - "Accept": []string{"application/json"}, - } - - data := bytes.NewBuffer([]byte{jsonReq}) - req, err := http.NewRequest("GET", "/todos/{id}", data) - req.Header = headers - - client := &http.Client{} - resp, err := client.Do(req) - // ... -} - -``` - -`GET /todos/{id}` - -

Parameters

- -|Name|In|Type|Required|Description| -|---|---|---|---|---| -|id|path|string|true|none| -|filter|query|[todos.Filter](#schematodos.filter)|false|none| - -> Example responses - -> 200 Response - -```json -{ - "deleted": true, - "deletedOn": "2019-08-24T14:15:22Z", - "deletedBy": "string", - "createdOn": "2019-08-24T14:15:22Z", - "modifiedOn": "2019-08-24T14:15:22Z", - "createdBy": "string", - "modifiedBy": "string", - "id": "string", - "title": "string", - "description": "string", - "items": [ - "string" - ] -} -``` - -

Responses

- -|Status|Meaning|Description|Schema| -|---|---|---|---| -|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|ToDo model instance|[ToDoWithRelations](#schematodowithrelations)| - - - -## TodoController.deleteById - - - -> Code samples - -```shell -# You can also use wget -curl -X DELETE /todos/{id} - -``` - -```http -DELETE /todos/{id} HTTP/1.1 - -``` - -```javascript - -fetch('/todos/{id}', -{ - method: 'DELETE' - -}) -.then(function(res) { - return res.json(); -}).then(function(body) { - console.log(body); -}); - -``` - -```ruby -require 'rest-client' -require 'json' - -result = RestClient.delete '/todos/{id}', - params: { - } - -p JSON.parse(result) - -``` - -```python -import requests - -r = requests.delete('/todos/{id}') - -print(r.json()) - -``` - -```php -request('DELETE','/todos/{id}', array( - 'headers' => $headers, - 'json' => $request_body, - ) - ); - print_r($response->getBody()->getContents()); - } - catch (\GuzzleHttp\Exception\BadResponseException $e) { - // handle exception or api errors. - print_r($e->getMessage()); - } - - // ... - -``` - -```java -URL obj = new URL("/todos/{id}"); -HttpURLConnection con = (HttpURLConnection) obj.openConnection(); -con.setRequestMethod("DELETE"); -int responseCode = con.getResponseCode(); -BufferedReader in = new BufferedReader( - new InputStreamReader(con.getInputStream())); -String inputLine; -StringBuffer response = new StringBuffer(); -while ((inputLine = in.readLine()) != null) { - response.append(inputLine); -} -in.close(); -System.out.println(response.toString()); - -``` - -```go -package main - -import ( - "bytes" - "net/http" -) - -func main() { - - data := bytes.NewBuffer([]byte{jsonReq}) - req, err := http.NewRequest("DELETE", "/todos/{id}", data) - req.Header = headers - - client := &http.Client{} - resp, err := client.Do(req) - // ... -} - -``` - -`DELETE /todos/{id}` - -

Parameters

- -|Name|In|Type|Required|Description| -|---|---|---|---|---| -|id|path|string|true|none| - -

Responses

- -|Status|Meaning|Description|Schema| -|---|---|---|---| -|204|[No Content](https://tools.ietf.org/html/rfc7231#section-6.3.5)|ToDo DELETE success|None| - - - -## TodoController.create - - - -> Code samples - -```shell -# You can also use wget -curl -X POST /todos \ - -H 'Content-Type: application/json' \ - -H 'Accept: application/json' - -``` - -```http -POST /todos HTTP/1.1 - -Content-Type: application/json -Accept: application/json - -``` - -```javascript -const inputBody = '{ - "deleted": true, - "deletedOn": "2019-08-24T14:15:22Z", - "deletedBy": "string", - "createdOn": "2019-08-24T14:15:22Z", - "modifiedOn": "2019-08-24T14:15:22Z", - "createdBy": "string", - "modifiedBy": "string", - "title": "string", - "description": "string", - "items": [ - "string" - ] -}'; -const headers = { - 'Content-Type':'application/json', - 'Accept':'application/json' -}; - -fetch('/todos', -{ - method: 'POST', - body: inputBody, - headers: headers -}) -.then(function(res) { - return res.json(); -}).then(function(body) { - console.log(body); -}); - -``` - -```ruby -require 'rest-client' -require 'json' - -headers = { - 'Content-Type' => 'application/json', - 'Accept' => 'application/json' -} - -result = RestClient.post '/todos', - params: { - }, headers: headers - -p JSON.parse(result) - -``` - -```python -import requests -headers = { - 'Content-Type': 'application/json', - 'Accept': 'application/json' -} - -r = requests.post('/todos', headers = headers) - -print(r.json()) - -``` - -```php - 'application/json', - 'Accept' => 'application/json', -); - -$client = new \GuzzleHttp\Client(); - -// Define array of request body. -$request_body = array(); - -try { - $response = $client->request('POST','/todos', array( - 'headers' => $headers, - 'json' => $request_body, - ) - ); - print_r($response->getBody()->getContents()); - } - catch (\GuzzleHttp\Exception\BadResponseException $e) { - // handle exception or api errors. - print_r($e->getMessage()); - } - - // ... - -``` - -```java -URL obj = new URL("/todos"); -HttpURLConnection con = (HttpURLConnection) obj.openConnection(); -con.setRequestMethod("POST"); -int responseCode = con.getResponseCode(); -BufferedReader in = new BufferedReader( - new InputStreamReader(con.getInputStream())); -String inputLine; -StringBuffer response = new StringBuffer(); -while ((inputLine = in.readLine()) != null) { - response.append(inputLine); -} -in.close(); -System.out.println(response.toString()); - -``` - -```go -package main - -import ( - "bytes" - "net/http" -) - -func main() { - - headers := map[string][]string{ - "Content-Type": []string{"application/json"}, - "Accept": []string{"application/json"}, - } - - data := bytes.NewBuffer([]byte{jsonReq}) - req, err := http.NewRequest("POST", "/todos", data) - req.Header = headers - - client := &http.Client{} - resp, err := client.Do(req) - // ... -} - -``` - -`POST /todos` - -> Body parameter - -```json -{ - "deleted": true, - "deletedOn": "2019-08-24T14:15:22Z", - "deletedBy": "string", - "createdOn": "2019-08-24T14:15:22Z", - "modifiedOn": "2019-08-24T14:15:22Z", - "createdBy": "string", - "modifiedBy": "string", - "title": "string", - "description": "string", - "items": [ - "string" - ] -} -``` - -

Parameters

- -|Name|In|Type|Required|Description| -|---|---|---|---|---| -|body|body|[NewToDo](#schemanewtodo)|false|none| - -> Example responses - -> 200 Response - -```json -{ - "deleted": true, - "deletedOn": "2019-08-24T14:15:22Z", - "deletedBy": "string", - "createdOn": "2019-08-24T14:15:22Z", - "modifiedOn": "2019-08-24T14:15:22Z", - "createdBy": "string", - "modifiedBy": "string", - "id": "string", - "title": "string", - "description": "string", - "items": [ - "string" - ] -} -``` - -

Responses

- -|Status|Meaning|Description|Schema| -|---|---|---|---| -|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|ToDo model instance|[ToDo](#schematodo)| - - - -## TodoController.find - - - -> Code samples - -```shell -# You can also use wget -curl -X GET /todos \ - -H 'Accept: application/json' - -``` - -```http -GET /todos HTTP/1.1 - -Accept: application/json - -``` - -```javascript - -const headers = { - 'Accept':'application/json' -}; - -fetch('/todos', -{ - method: 'GET', - - headers: headers -}) -.then(function(res) { - return res.json(); -}).then(function(body) { - console.log(body); -}); - -``` - -```ruby -require 'rest-client' -require 'json' - -headers = { - 'Accept' => 'application/json' -} - -result = RestClient.get '/todos', - params: { - }, headers: headers - -p JSON.parse(result) - -``` - -```python -import requests -headers = { - 'Accept': 'application/json' -} - -r = requests.get('/todos', headers = headers) - -print(r.json()) - -``` - -```php - 'application/json', -); - -$client = new \GuzzleHttp\Client(); - -// Define array of request body. -$request_body = array(); - -try { - $response = $client->request('GET','/todos', array( - 'headers' => $headers, - 'json' => $request_body, - ) - ); - print_r($response->getBody()->getContents()); - } - catch (\GuzzleHttp\Exception\BadResponseException $e) { - // handle exception or api errors. - print_r($e->getMessage()); - } - - // ... - -``` - -```java -URL obj = new URL("/todos"); -HttpURLConnection con = (HttpURLConnection) obj.openConnection(); -con.setRequestMethod("GET"); -int responseCode = con.getResponseCode(); -BufferedReader in = new BufferedReader( - new InputStreamReader(con.getInputStream())); -String inputLine; -StringBuffer response = new StringBuffer(); -while ((inputLine = in.readLine()) != null) { - response.append(inputLine); -} -in.close(); -System.out.println(response.toString()); - -``` - -```go -package main - -import ( - "bytes" - "net/http" -) - -func main() { - - headers := map[string][]string{ - "Accept": []string{"application/json"}, - } - - data := bytes.NewBuffer([]byte{jsonReq}) - req, err := http.NewRequest("GET", "/todos", data) - req.Header = headers - - client := &http.Client{} - resp, err := client.Do(req) - // ... -} - -``` - -`GET /todos` - -

Parameters

- -|Name|In|Type|Required|Description| -|---|---|---|---|---| -|filter|query|[todos.Filter1](#schematodos.filter1)|false|none| - -> Example responses - -> 200 Response - -```json -[ - { - "deleted": true, - "deletedOn": "2019-08-24T14:15:22Z", - "deletedBy": "string", - "createdOn": "2019-08-24T14:15:22Z", - "modifiedOn": "2019-08-24T14:15:22Z", - "createdBy": "string", - "modifiedBy": "string", - "id": "string", - "title": "string", - "description": "string", - "items": [ - "string" - ] - } -] -``` - -

Responses

- -|Status|Meaning|Description|Schema| -|---|---|---|---| -|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|Array of ToDo model instances|Inline| - -

Response Schema

- -Status Code **200** - -|Name|Type|Required|Restrictions|Description| -|---|---|---|---|---| -|*anonymous*|[[ToDoWithRelations](#schematodowithrelations)]|false|none|[(tsType: ToDoWithRelations, schemaOptions: { includeRelations: true })]| -|» ToDoWithRelations|[ToDoWithRelations](#schematodowithrelations)|false|none|(tsType: ToDoWithRelations, schemaOptions: { includeRelations: true })| -|»» deleted|boolean|false|none|none| -|»» deletedOn|string(date-time)¦null|false|none|none| -|»» deletedBy|string¦null|false|none|none| -|»» createdOn|string(date-time)|false|none|none| -|»» modifiedOn|string(date-time)|false|none|none| -|»» createdBy|string|false|none|none| -|»» modifiedBy|string|false|none|none| -|»» id|string|false|none|none| -|»» title|string|true|none|none| -|»» description|string|true|none|none| -|»» items|[string]|false|none|none| - - - -

HomePageController

- -## HomePageController.homePage - - - -> Code samples - -```shell -# You can also use wget -curl -X GET / \ - -H 'Accept: text/html' - -``` - -```http -GET / HTTP/1.1 - -Accept: text/html - -``` - -```javascript - -const headers = { - 'Accept':'text/html' -}; - -fetch('/', -{ - method: 'GET', - - headers: headers -}) -.then(function(res) { - return res.json(); -}).then(function(body) { - console.log(body); -}); - -``` - -```ruby -require 'rest-client' -require 'json' - -headers = { - 'Accept' => 'text/html' -} - -result = RestClient.get '/', - params: { - }, headers: headers - -p JSON.parse(result) - -``` - -```python -import requests -headers = { - 'Accept': 'text/html' -} - -r = requests.get('/', headers = headers) - -print(r.json()) - -``` - -```php - 'text/html', -); - -$client = new \GuzzleHttp\Client(); - -// Define array of request body. -$request_body = array(); - -try { - $response = $client->request('GET','/', array( - 'headers' => $headers, - 'json' => $request_body, - ) - ); - print_r($response->getBody()->getContents()); - } - catch (\GuzzleHttp\Exception\BadResponseException $e) { - // handle exception or api errors. - print_r($e->getMessage()); - } - - // ... - -``` - -```java -URL obj = new URL("/"); -HttpURLConnection con = (HttpURLConnection) obj.openConnection(); -con.setRequestMethod("GET"); -int responseCode = con.getResponseCode(); -BufferedReader in = new BufferedReader( - new InputStreamReader(con.getInputStream())); -String inputLine; -StringBuffer response = new StringBuffer(); -while ((inputLine = in.readLine()) != null) { - response.append(inputLine); -} -in.close(); -System.out.println(response.toString()); - -``` - -```go -package main - -import ( - "bytes" - "net/http" -) - -func main() { - - headers := map[string][]string{ - "Accept": []string{"text/html"}, - } - - data := bytes.NewBuffer([]byte{jsonReq}) - req, err := http.NewRequest("GET", "/", data) - req.Header = headers - - client := &http.Client{} - resp, err := client.Do(req) - // ... -} - -``` - -`GET /` - -> Example responses - -> 200 Response - -``` -"string" -``` - -

Responses

- -|Status|Meaning|Description|Schema| -|---|---|---|---| -|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|Home Page|string| - - - -# Schemas - -

LoginRequest

- - - - - - -```json -{ - "client_id": "string", - "client_secret": "string", - "username": "string", - "password": "string" -} - -``` - -LoginRequest - -### Properties - -|Name|Type|Required|Restrictions|Description| -|---|---|---|---|---| -|client_id|string|true|none|This property is supposed to be a string and is a required field| -|client_secret|string|true|none|This property is supposed to be a string and is a required field| -|username|string|true|none|This property is supposed to be a string and is a required field| -|password|string|true|none|This property is supposed to be a string and is a required field| - -

TokenResponse

- - - - - - -```json -{ - "accessToken": "string", - "refreshToken": "string", - "expires": 0, - "pubnubToken": "string" -} - -``` - -TokenResponse - -### Properties - -|Name|Type|Required|Restrictions|Description| -|---|---|---|---|---| -|accessToken|string|true|none|This property is supposed to be a string and is a required field| -|refreshToken|string|true|none|This property is supposed to be a string and is a required field| -|expires|number|true|none|none| -|pubnubToken|string|false|none|none| - -

AuthTokenRequest

- - - - - - -```json -{ - "code": "string", - "clientId": "string", - "username": "string" -} - -``` - -AuthTokenRequest - -### Properties - -|Name|Type|Required|Restrictions|Description| -|---|---|---|---|---| -|code|string|true|none|none| -|clientId|string|true|none|none| -|username|string|true|none|none| - -

AuthRefreshTokenRequest

- - - - - - -```json -{ - "refreshToken": "string" -} - -``` - -AuthRefreshTokenRequest - -### Properties - -|Name|Type|Required|Restrictions|Description| -|---|---|---|---|---| -|refreshToken|string|true|none|none| - -

ResetPasswordPartial

- - - - - - -```json -{ - "refreshToken": "string", - "username": "string", - "password": "string", - "oldPassword": "string" -} - -``` - -ResetPasswordPartial - -### Properties - -|Name|Type|Required|Restrictions|Description| -|---|---|---|---|---| -|refreshToken|string|false|none|none| -|username|string|false|none|This property is supposed to be a string and is a required field| -|password|string|false|none|This property is supposed to be a string and is a required field| -|oldPassword|string|false|none|This property is supposed to be a string and is a required field| - -

ResetPassword

- - - - - - -```json -{ - "refreshToken": "string", - "username": "string", - "password": "string", - "oldPassword": "string" -} - -``` - -ResetPassword - -### Properties - -|Name|Type|Required|Restrictions|Description| -|---|---|---|---|---| -|refreshToken|string|true|none|none| -|username|string|true|none|This property is supposed to be a string and is a required field| -|password|string|true|none|This property is supposed to be a string and is a required field| -|oldPassword|string|false|none|This property is supposed to be a string and is a required field| - -

SuccessResponse

- - - - - - -```json -{ - "success": true -} - -``` - -SuccessResponse - -### Properties - -|Name|Type|Required|Restrictions|Description| -|---|---|---|---|---| -|success|boolean|false|none|none| - -

RefreshTokenRequestPartial

- - - - - - -```json -{ - "refreshToken": "string" -} - -``` - -RefreshTokenRequestPartial - -### Properties - -|Name|Type|Required|Restrictions|Description| -|---|---|---|---|---| -|refreshToken|string|false|none|none| - -

RefreshTokenRequest

- - - - - - -```json -{ - "refreshToken": "string" -} - -``` - -RefreshTokenRequest - -### Properties - -|Name|Type|Required|Restrictions|Description| -|---|---|---|---|---| -|refreshToken|string|true|none|none| - -

Otp

- - - - - - -```json -{ - "otp": "string", - "username": "string" -} - -``` - -Otp - -### Properties - -|Name|Type|Required|Restrictions|Description| -|---|---|---|---|---| -|otp|string|true|none|none| -|username|string|true|none|none| - -

AuthClient

- - - - - - -```json -{ - "deleted": true, - "deletedOn": "2019-08-24T14:15:22Z", - "deletedBy": "string", - "createdOn": "2019-08-24T14:15:22Z", - "modifiedOn": "2019-08-24T14:15:22Z", - "id": 0, - "clientId": "string", - "clientSecret": "string", - "secret": "string", - "redirectUrl": "string", - "accessTokenExpiration": 0, - "refreshTokenExpiration": 0, - "authCodeExpiration": 0 -} - -``` - -AuthClient - -### Properties - -|Name|Type|Required|Restrictions|Description| -|---|---|---|---|---| -|deleted|boolean|false|none|none| -|deletedOn|string(date-time)¦null|false|none|none| -|deletedBy|string¦null|false|none|none| -|createdOn|string(date-time)|false|none|none| -|modifiedOn|string(date-time)|false|none|none| -|id|number|false|none|none| -|clientId|string|true|none|none| -|clientSecret|string|true|none|none| -|secret|string|true|none|none| -|redirectUrl|string|false|none|none| -|accessTokenExpiration|number|true|none|none| -|refreshTokenExpiration|number|true|none|none| -|authCodeExpiration|number|true|none|none| - -

AuthClientExcluding_id_

- - - - - - -```json -{ - "deleted": true, - "deletedOn": "2019-08-24T14:15:22Z", - "deletedBy": "string", - "createdOn": "2019-08-24T14:15:22Z", - "modifiedOn": "2019-08-24T14:15:22Z", - "clientId": "string", - "clientSecret": "string", - "secret": "string", - "redirectUrl": "string", - "accessTokenExpiration": 0, - "refreshTokenExpiration": 0, - "authCodeExpiration": 0 -} - -``` - -AuthClientExcluding_id_ - -### Properties - -|Name|Type|Required|Restrictions|Description| -|---|---|---|---|---| -|deleted|boolean|false|none|none| -|deletedOn|string(date-time)¦null|false|none|none| -|deletedBy|string¦null|false|none|none| -|createdOn|string(date-time)|false|none|none| -|modifiedOn|string(date-time)|false|none|none| -|clientId|string|true|none|none| -|clientSecret|string|true|none|none| -|secret|string|true|none|none| -|redirectUrl|string|false|none|none| -|accessTokenExpiration|number|true|none|none| -|refreshTokenExpiration|number|true|none|none| -|authCodeExpiration|number|true|none|none| - -

AuthClientPartial

- - - - - - -```json -{ - "deleted": true, - "deletedOn": "2019-08-24T14:15:22Z", - "deletedBy": "string", - "createdOn": "2019-08-24T14:15:22Z", - "modifiedOn": "2019-08-24T14:15:22Z", - "id": 0, - "clientId": "string", - "clientSecret": "string", - "secret": "string", - "redirectUrl": "string", - "accessTokenExpiration": 0, - "refreshTokenExpiration": 0, - "authCodeExpiration": 0 -} - -``` - -AuthClientPartial - -### Properties - -|Name|Type|Required|Restrictions|Description| -|---|---|---|---|---| -|deleted|boolean|false|none|none| -|deletedOn|string(date-time)¦null|false|none|none| -|deletedBy|string¦null|false|none|none| -|createdOn|string(date-time)|false|none|none| -|modifiedOn|string(date-time)|false|none|none| -|id|number|false|none|none| -|clientId|string|false|none|none| -|clientSecret|string|false|none|none| -|secret|string|false|none|none| -|redirectUrl|string|false|none|none| -|accessTokenExpiration|number|false|none|none| -|refreshTokenExpiration|number|false|none|none| -|authCodeExpiration|number|false|none|none| - -

User

- - - - - - -```json -{ - "deleted": true, - "deletedOn": "2019-08-24T14:15:22Z", - "deletedBy": "string", - "createdOn": "2019-08-24T14:15:22Z", - "modifiedOn": "2019-08-24T14:15:22Z", - "createdBy": "string", - "modifiedBy": "string", - "id": "string", - "firstName": "string", - "lastName": "string", - "middleName": "string", - "username": "string", - "email": "string", - "phone": "string", - "authClientIds": "string", - "lastLogin": "2019-08-24T14:15:22Z", - "dob": "2019-08-24T14:15:22Z", - "gender": "M", - "defaultTenantId": "string" -} - -``` - -User - -### Properties - -|Name|Type|Required|Restrictions|Description| -|---|---|---|---|---| -|deleted|boolean|false|none|none| -|deletedOn|string(date-time)¦null|false|none|none| -|deletedBy|string¦null|false|none|none| -|createdOn|string(date-time)|false|none|none| -|modifiedOn|string(date-time)|false|none|none| -|createdBy|string|false|none|none| -|modifiedBy|string|false|none|none| -|id|string|false|none|none| -|firstName|string|true|none|none| -|lastName|string|false|none|none| -|middleName|string|false|none|none| -|username|string|true|none|none| -|email|string|false|none|none| -|phone|string|false|none|none| -|authClientIds|string|false|none|none| -|lastLogin|string(date-time)|false|none|none| -|dob|string(date-time)|false|none|none| -|gender|string|false|none|This field takes a single character as input in database.
'M' for male and 'F' for female.| -|defaultTenantId|string|false|none|none| - -#### Enumerated Values - -|Property|Value| -|---|---| -|gender|M| -|gender|F| -|gender|O| - -

ForgetPasswordResponseDto

- - - - - - -```json -{ - "code": "string", - "expiry": 0, - "email": "string", - "user": { - "deleted": true, - "deletedOn": "2019-08-24T14:15:22Z", - "deletedBy": "string", - "createdOn": "2019-08-24T14:15:22Z", - "modifiedOn": "2019-08-24T14:15:22Z", - "createdBy": "string", - "modifiedBy": "string", - "id": "string", - "firstName": "string", - "lastName": "string", - "middleName": "string", - "username": "string", - "email": "string", - "phone": "string", - "authClientIds": "string", - "lastLogin": "2019-08-24T14:15:22Z", - "dob": "2019-08-24T14:15:22Z", - "gender": "M", - "defaultTenantId": "string" - } -} - -``` - -ForgetPasswordResponseDto - -### Properties - -|Name|Type|Required|Restrictions|Description| -|---|---|---|---|---| -|code|string|true|none|none| -|expiry|number|true|none|none| -|email|string|true|none|none| -|user|[User](#schemauser)|false|none|This is signature for user model.| - -

ForgetPasswordDto

- - - - - - -```json -{ - "username": "string", - "client_id": "string", - "client_secret": "string" -} - -``` - -ForgetPasswordDto - -### Properties - -|Name|Type|Required|Restrictions|Description| -|---|---|---|---|---| -|username|string|true|none|none| -|client_id|string|true|none|none| -|client_secret|string|true|none|none| - -

ResetPasswordWithClient

- - - - - - -```json -{ - "token": "string", - "password": "string", - "client_id": "string", - "client_secret": "string" -} - -``` - -ResetPasswordWithClient - -### Properties - -|Name|Type|Required|Restrictions|Description| -|---|---|---|---|---| -|token|string|true|none|none| -|password|string|true|none|none| -|client_id|string|true|none|none| -|client_secret|string|true|none|none| - -

ToDo

- - - - - - -```json -{ - "deleted": true, - "deletedOn": "2019-08-24T14:15:22Z", - "deletedBy": "string", - "createdOn": "2019-08-24T14:15:22Z", - "modifiedOn": "2019-08-24T14:15:22Z", - "createdBy": "string", - "modifiedBy": "string", - "id": "string", - "title": "string", - "description": "string", - "items": [ - "string" - ] -} - -``` - -ToDo - -### Properties - -|Name|Type|Required|Restrictions|Description| -|---|---|---|---|---| -|deleted|boolean|false|none|none| -|deletedOn|string(date-time)¦null|false|none|none| -|deletedBy|string¦null|false|none|none| -|createdOn|string(date-time)|false|none|none| -|modifiedOn|string(date-time)|false|none|none| -|createdBy|string|false|none|none| -|modifiedBy|string|false|none|none| -|id|string|false|none|none| -|title|string|true|none|none| -|description|string|true|none|none| -|items|[string]|false|none|none| - -

NewToDo

- - - - - - -```json -{ - "deleted": true, - "deletedOn": "2019-08-24T14:15:22Z", - "deletedBy": "string", - "createdOn": "2019-08-24T14:15:22Z", - "modifiedOn": "2019-08-24T14:15:22Z", - "createdBy": "string", - "modifiedBy": "string", - "title": "string", - "description": "string", - "items": [ - "string" - ] -} - -``` - -NewToDo - -### Properties - -|Name|Type|Required|Restrictions|Description| -|---|---|---|---|---| -|deleted|boolean|false|none|none| -|deletedOn|string(date-time)¦null|false|none|none| -|deletedBy|string¦null|false|none|none| -|createdOn|string(date-time)|false|none|none| -|modifiedOn|string(date-time)|false|none|none| -|createdBy|string|false|none|none| -|modifiedBy|string|false|none|none| -|title|string|true|none|none| -|description|string|true|none|none| -|items|[string]|false|none|none| - -

ToDoWithRelations

- - - - - - -```json -{ - "deleted": true, - "deletedOn": "2019-08-24T14:15:22Z", - "deletedBy": "string", - "createdOn": "2019-08-24T14:15:22Z", - "modifiedOn": "2019-08-24T14:15:22Z", - "createdBy": "string", - "modifiedBy": "string", - "id": "string", - "title": "string", - "description": "string", - "items": [ - "string" - ] -} - -``` - -ToDoWithRelations - -### Properties - -|Name|Type|Required|Restrictions|Description| -|---|---|---|---|---| -|deleted|boolean|false|none|none| -|deletedOn|string(date-time)¦null|false|none|none| -|deletedBy|string¦null|false|none|none| -|createdOn|string(date-time)|false|none|none| -|modifiedOn|string(date-time)|false|none|none| -|createdBy|string|false|none|none| -|modifiedBy|string|false|none|none| -|id|string|false|none|none| -|title|string|true|none|none| -|description|string|true|none|none| -|items|[string]|false|none|none| - -

ToDoPartial

- - - - - - -```json -{ - "deleted": true, - "deletedOn": "2019-08-24T14:15:22Z", - "deletedBy": "string", - "createdOn": "2019-08-24T14:15:22Z", - "modifiedOn": "2019-08-24T14:15:22Z", - "createdBy": "string", - "modifiedBy": "string", - "id": "string", - "title": "string", - "description": "string", - "items": [ - "string" - ] -} - -``` - -ToDoPartial - -### Properties - -|Name|Type|Required|Restrictions|Description| -|---|---|---|---|---| -|deleted|boolean|false|none|none| -|deletedOn|string(date-time)¦null|false|none|none| -|deletedBy|string¦null|false|none|none| -|createdOn|string(date-time)|false|none|none| -|modifiedOn|string(date-time)|false|none|none| -|createdBy|string|false|none|none| -|modifiedBy|string|false|none|none| -|id|string|false|none|none| -|title|string|false|none|none| -|description|string|false|none|none| -|items|[string]|false|none|none| - -

loopback.Count

- - - - - - -```json -{ - "count": 0 -} - -``` - -loopback.Count - -### Properties - -|Name|Type|Required|Restrictions|Description| -|---|---|---|---|---| -|count|number|false|none|none| - -

auth_clients.Filter

- - - - - - -```json -{ - "offset": 0, - "limit": 100, - "skip": 0, - "order": "string", - "where": {}, - "fields": { - "deleted": true, - "deletedOn": true, - "deletedBy": true, - "createdOn": true, - "modifiedOn": true, - "id": true, - "clientId": true, - "clientSecret": true, - "secret": true, - "redirectUrl": true, - "accessTokenExpiration": true, - "refreshTokenExpiration": true, - "authCodeExpiration": true - } -} - -``` - -auth_clients.Filter - -### Properties - -|Name|Type|Required|Restrictions|Description| -|---|---|---|---|---| -|offset|integer|false|none|none| -|limit|integer|false|none|none| -|skip|integer|false|none|none| -|order|any|false|none|none| - -oneOf - -|Name|Type|Required|Restrictions|Description| -|---|---|---|---|---| -|» *anonymous*|string|false|none|none| - -xor - -|Name|Type|Required|Restrictions|Description| -|---|---|---|---|---| -|» *anonymous*|[string]|false|none|none| - -continued - -|Name|Type|Required|Restrictions|Description| -|---|---|---|---|---| -|where|object|false|none|none| -|fields|any|false|none|none| - -oneOf - -|Name|Type|Required|Restrictions|Description| -|---|---|---|---|---| -|» *anonymous*|object|false|none|none| -|»» deleted|boolean|false|none|none| -|»» deletedOn|boolean|false|none|none| -|»» deletedBy|boolean|false|none|none| -|»» createdOn|boolean|false|none|none| -|»» modifiedOn|boolean|false|none|none| -|»» id|boolean|false|none|none| -|»» clientId|boolean|false|none|none| -|»» clientSecret|boolean|false|none|none| -|»» secret|boolean|false|none|none| -|»» redirectUrl|boolean|false|none|none| -|»» accessTokenExpiration|boolean|false|none|none| -|»» refreshTokenExpiration|boolean|false|none|none| -|»» authCodeExpiration|boolean|false|none|none| - -xor - -|Name|Type|Required|Restrictions|Description| -|---|---|---|---|---| -|» *anonymous*|[string]|false|none|none| - -

todos.Filter

- - - - - - -```json -{ - "offset": 0, - "limit": 100, - "skip": 0, - "order": "string", - "fields": { - "deleted": true, - "deletedOn": true, - "deletedBy": true, - "createdOn": true, - "modifiedOn": true, - "createdBy": true, - "modifiedBy": true, - "id": true, - "title": true, - "description": true, - "items": true - } -} - -``` - -todos.Filter - -### Properties - -|Name|Type|Required|Restrictions|Description| -|---|---|---|---|---| -|offset|integer|false|none|none| -|limit|integer|false|none|none| -|skip|integer|false|none|none| -|order|any|false|none|none| - -oneOf - -|Name|Type|Required|Restrictions|Description| -|---|---|---|---|---| -|» *anonymous*|string|false|none|none| - -xor - -|Name|Type|Required|Restrictions|Description| -|---|---|---|---|---| -|» *anonymous*|[string]|false|none|none| - -continued - -|Name|Type|Required|Restrictions|Description| -|---|---|---|---|---| -|fields|any|false|none|none| - -oneOf - -|Name|Type|Required|Restrictions|Description| -|---|---|---|---|---| -|» *anonymous*|object|false|none|none| -|»» deleted|boolean|false|none|none| -|»» deletedOn|boolean|false|none|none| -|»» deletedBy|boolean|false|none|none| -|»» createdOn|boolean|false|none|none| -|»» modifiedOn|boolean|false|none|none| -|»» createdBy|boolean|false|none|none| -|»» modifiedBy|boolean|false|none|none| -|»» id|boolean|false|none|none| -|»» title|boolean|false|none|none| -|»» description|boolean|false|none|none| -|»» items|boolean|false|none|none| - -xor - -|Name|Type|Required|Restrictions|Description| -|---|---|---|---|---| -|» *anonymous*|[string]|false|none|none| - -

todos.Filter1

- - - - - - -```json -{ - "offset": 0, - "limit": 100, - "skip": 0, - "order": "string", - "where": {}, - "fields": { - "deleted": true, - "deletedOn": true, - "deletedBy": true, - "createdOn": true, - "modifiedOn": true, - "createdBy": true, - "modifiedBy": true, - "id": true, - "title": true, - "description": true, - "items": true - } -} - -``` - -todos.Filter - -### Properties - -|Name|Type|Required|Restrictions|Description| -|---|---|---|---|---| -|offset|integer|false|none|none| -|limit|integer|false|none|none| -|skip|integer|false|none|none| -|order|any|false|none|none| - -oneOf - -|Name|Type|Required|Restrictions|Description| -|---|---|---|---|---| -|» *anonymous*|string|false|none|none| - -xor - -|Name|Type|Required|Restrictions|Description| -|---|---|---|---|---| -|» *anonymous*|[string]|false|none|none| - -continued - -|Name|Type|Required|Restrictions|Description| -|---|---|---|---|---| -|where|object|false|none|none| -|fields|any|false|none|none| - -oneOf - -|Name|Type|Required|Restrictions|Description| -|---|---|---|---|---| -|» *anonymous*|object|false|none|none| -|»» deleted|boolean|false|none|none| -|»» deletedOn|boolean|false|none|none| -|»» deletedBy|boolean|false|none|none| -|»» createdOn|boolean|false|none|none| -|»» modifiedOn|boolean|false|none|none| -|»» createdBy|boolean|false|none|none| -|»» modifiedBy|boolean|false|none|none| -|»» id|boolean|false|none|none| -|»» title|boolean|false|none|none| -|»» description|boolean|false|none|none| -|»» items|boolean|false|none|none| - -xor - -|Name|Type|Required|Restrictions|Description| -|---|---|---|---|---| -|» *anonymous*|[string]|false|none|none| - diff --git a/services/authentication-service/README.md b/services/authentication-service/README.md index 26466c7493..e7bd9079a8 100644 --- a/services/authentication-service/README.md +++ b/services/authentication-service/README.md @@ -30,7 +30,7 @@ import { RestExplorerComponent, } from '@loopback/rest-explorer'; import {ServiceMixin} from '@loopback/service-proxy'; -import {AuthenticationServiceComponent} from '@sourceloop/in-mail-service'; +import {AuthenticationServiceComponent} from '@sourceloop/authentication-service'; import * as dotenv from 'dotenv'; import * as dotenvExt from 'dotenv-extended'; import path from 'path'; @@ -177,4 +177,4 @@ Authorization: Bearer where is a JWT token signed using JWT issu #### API Details -Visit the [OpenAPI spec docs](OPEN_API_SPEC.md) +Visit the [OpenAPI spec docs](./openapi.md) diff --git a/services/authentication-service/openapi.json b/services/authentication-service/openapi.json new file mode 100644 index 0000000000..390a92341b --- /dev/null +++ b/services/authentication-service/openapi.json @@ -0,0 +1,2027 @@ +{ + "openapi": "3.0.0", + "info": { + "title": "Authentication Service", + "version": "1.0.0", + "description": "services", + "contact": {} + }, + "paths": { + "/auth/change-password": { + "patch": { + "x-controller-name": "LoginController", + "x-operation-name": "resetPassword", + "tags": [ + "LoginController" + ], + "security": [ + { + "HTTPBearer": [] + } + ], + "responses": { + "200": { + "description": "If User password successfully changed." + } + }, + "parameters": [ + { + "name": "Authorization", + "in": "header", + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ResetPasswordPartial" + } + } + } + }, + "operationId": "LoginController.resetPassword" + } + }, + "/auth/forget-password": { + "post": { + "x-controller-name": "ForgetPasswordController", + "x-operation-name": "forgetPassword", + "tags": [ + "ForgetPasswordController" + ], + "responses": { + "200": { + "description": "Success Response.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ForgetPasswordResponseDto" + } + } + } + }, + "400": { + "description": "The syntax of the request entity is incorrect." + }, + "401": { + "description": "Invalid Credentials." + }, + "404": { + "description": "The entity requested does not exist." + }, + "422": { + "description": "The syntax of the request entity is incorrect" + } + }, + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ForgetPasswordDto" + } + } + } + }, + "operationId": "ForgetPasswordController.forgetPassword" + } + }, + "/auth/google": { + "post": { + "x-controller-name": "LoginController", + "x-operation-name": "postLoginViaGoogle", + "tags": [ + "LoginController" + ], + "responses": { + "200": { + "description": "POST Call for Google based login", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/TokenResponse" + } + } + } + } + }, + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "schema": { + "$ref": "#/components/schemas/ClientAuthRequest" + } + } + } + }, + "operationId": "LoginController.postLoginViaGoogle" + }, + "get": { + "x-controller-name": "LoginController", + "x-operation-name": "loginViaGoogle", + "tags": [ + "LoginController" + ], + "responses": { + "200": { + "description": "Google Token Response (Deprecated: Possible security issue if secret is passed via query params, please use the post endpoint)", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/TokenResponse" + } + } + } + } + }, + "deprecated": true, + "parameters": [ + { + "name": "client_id", + "in": "query", + "schema": { + "type": "string" + } + }, + { + "name": "client_secret", + "in": "query", + "schema": { + "type": "string" + } + } + ], + "operationId": "LoginController.loginViaGoogle" + } + }, + "/auth/google-auth-redirect": { + "get": { + "x-controller-name": "LoginController", + "x-operation-name": "googleCallback", + "tags": [ + "LoginController" + ], + "responses": { + "200": { + "description": "Google Redirect Token Response", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/TokenResponse" + } + } + } + } + }, + "parameters": [ + { + "name": "code", + "in": "query", + "schema": { + "type": "string" + } + }, + { + "name": "state", + "in": "query", + "schema": { + "type": "string" + } + } + ], + "operationId": "LoginController.googleCallback" + } + }, + "/auth/instagram": { + "post": { + "x-controller-name": "LoginController", + "x-operation-name": "postLoginViaInstagram", + "tags": [ + "LoginController" + ], + "responses": { + "200": { + "description": "POST Call for Instagram based login", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/TokenResponse" + } + } + } + } + }, + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "schema": { + "$ref": "#/components/schemas/ClientAuthRequest" + } + } + } + }, + "operationId": "LoginController.postLoginViaInstagram" + } + }, + "/auth/instagram-auth-redirect": { + "get": { + "x-controller-name": "LoginController", + "x-operation-name": "instagramCallback", + "tags": [ + "LoginController" + ], + "responses": { + "200": { + "description": "Instagram Redirect Token Response", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/TokenResponse" + } + } + } + } + }, + "parameters": [ + { + "name": "code", + "in": "query", + "schema": { + "type": "string" + } + }, + { + "name": "state", + "in": "query", + "schema": { + "type": "string" + } + } + ], + "operationId": "LoginController.instagramCallback" + } + }, + "/auth/keycloak": { + "post": { + "x-controller-name": "LoginController", + "x-operation-name": "postLoginViaKeycloak", + "tags": [ + "LoginController" + ], + "description": "POST Call for keycloak based login", + "responses": { + "200": { + "description": "Keycloak Token Response", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/TokenResponse" + } + } + } + } + }, + "requestBody": { + "content": { + "application/x-www-form-urlencoded": { + "schema": { + "$ref": "#/components/schemas/ClientAuthRequest" + } + } + } + }, + "operationId": "LoginController.postLoginViaKeycloak" + }, + "get": { + "x-controller-name": "LoginController", + "x-operation-name": "loginViaKeycloak", + "tags": [ + "LoginController" + ], + "responses": { + "200": { + "description": "Keycloak Token Response (Deprecated: Possible security issue if secret is passed via query params, please use the post endpoint)", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/TokenResponse" + } + } + } + } + }, + "deprecated": true, + "parameters": [ + { + "name": "client_id", + "in": "query", + "schema": { + "type": "string" + } + }, + { + "name": "client_secret", + "in": "query", + "schema": { + "type": "string" + } + } + ], + "operationId": "LoginController.loginViaKeycloak" + } + }, + "/auth/keycloak-auth-redirect": { + "get": { + "x-controller-name": "LoginController", + "x-operation-name": "keycloakCallback", + "tags": [ + "LoginController" + ], + "responses": { + "200": { + "description": "Keycloak Redirect Token Response", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/TokenResponse" + } + } + } + } + }, + "parameters": [ + { + "name": "code", + "in": "query", + "schema": { + "type": "string" + } + }, + { + "name": "state", + "in": "query", + "schema": { + "type": "string" + } + } + ], + "operationId": "LoginController.keycloakCallback" + } + }, + "/auth/login": { + "post": { + "x-controller-name": "LoginController", + "x-operation-name": "login", + "tags": [ + "LoginController" + ], + "description": "Gets you the code that will be used for getting token (webapps)", + "responses": { + "200": { + "description": "Auth Code", + "content": {} + }, + "400": { + "description": "The syntax of the request entity is incorrect." + }, + "401": { + "description": "Invalid Credentials." + }, + "404": { + "description": "The entity requested does not exist." + }, + "422": { + "description": "The syntax of the request entity is incorrect" + } + }, + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/LoginRequest" + } + } + } + }, + "operationId": "LoginController.login" + } + }, + "/auth/login-token": { + "post": { + "x-controller-name": "LoginController", + "x-operation-name": "loginWithClientUser", + "tags": [ + "LoginController" + ], + "description": "Gets you refresh token and access token in one hit. (mobile app)", + "responses": { + "200": { + "description": "Token Response Model", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/TokenResponse" + } + } + } + }, + "400": { + "description": "The syntax of the request entity is incorrect." + }, + "401": { + "description": "Invalid Credentials." + }, + "404": { + "description": "The entity requested does not exist." + }, + "422": { + "description": "The syntax of the request entity is incorrect" + } + }, + "parameters": [ + { + "name": "device_id", + "in": "header", + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/LoginRequest" + } + } + } + }, + "operationId": "LoginController.loginWithClientUser" + } + }, + "/auth/me": { + "get": { + "x-controller-name": "LoginController", + "x-operation-name": "me", + "tags": [ + "LoginController" + ], + "security": [ + { + "HTTPBearer": [] + } + ], + "description": "To get the user details", + "responses": { + "200": { + "description": "User Object", + "content": {} + }, + "400": { + "description": "The syntax of the request entity is incorrect." + }, + "401": { + "description": "Invalid Credentials." + }, + "404": { + "description": "The entity requested does not exist." + }, + "422": { + "description": "The syntax of the request entity is incorrect" + } + }, + "operationId": "LoginController.me" + } + }, + "/auth/reset-password": { + "patch": { + "x-controller-name": "ForgetPasswordController", + "x-operation-name": "resetPassword", + "tags": [ + "ForgetPasswordController" + ], + "responses": { + "204": { + "description": "If User password successfully changed." + } + }, + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ResetPasswordWithClient" + } + } + } + }, + "operationId": "ForgetPasswordController.resetPassword" + } + }, + "/auth/sign-up/create-token": { + "post": { + "x-controller-name": "SignupRequestController", + "x-operation-name": "requestSignup", + "tags": [ + "SignupRequestController" + ], + "responses": { + "200": { + "description": "Sucess Response.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/SignupRequestResponseDto" + } + } + } + }, + "400": { + "description": "The syntax of the request entity is incorrect." + }, + "401": { + "description": "Invalid Credentials." + }, + "404": { + "description": "The entity requested does not exist." + }, + "422": { + "description": "The syntax of the request entity is incorrect" + } + }, + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/SignupRequestDto" + } + } + } + }, + "operationId": "SignupRequestController.requestSignup" + } + }, + "/auth/sign-up/create-user": { + "post": { + "x-controller-name": "SignupRequestController", + "x-operation-name": "signupWithToken", + "tags": [ + "SignupRequestController" + ], + "responses": { + "200": { + "description": "Sucess Response.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/LocalUserProfileDto" + } + } + } + }, + "400": { + "description": "The syntax of the request entity is incorrect." + }, + "401": { + "description": "Invalid Credentials." + }, + "404": { + "description": "The entity requested does not exist." + }, + "422": { + "description": "The syntax of the request entity is incorrect" + } + }, + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/LocalUserProfileDto" + } + } + } + }, + "operationId": "SignupRequestController.signupWithToken" + } + }, + "/auth/sign-up/verify-token": { + "get": { + "x-controller-name": "SignupRequestController", + "x-operation-name": "verifyInviteToken", + "tags": [ + "SignupRequestController" + ], + "responses": { + "200": { + "description": "Sucess Response." + }, + "400": { + "description": "The syntax of the request entity is incorrect." + }, + "401": { + "description": "Invalid Credentials." + }, + "404": { + "description": "The entity requested does not exist." + }, + "422": { + "description": "The syntax of the request entity is incorrect" + } + }, + "operationId": "SignupRequestController.verifyInviteToken" + } + }, + "/auth/token": { + "post": { + "x-controller-name": "LoginController", + "x-operation-name": "getToken", + "tags": [ + "LoginController" + ], + "description": " Send the code received from the above api and this api will send you refresh token and access token (webapps)", + "responses": { + "200": { + "description": "Token Response", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/TokenResponse" + } + } + } + }, + "400": { + "description": "The syntax of the request entity is incorrect." + }, + "401": { + "description": "Invalid Credentials." + }, + "404": { + "description": "The entity requested does not exist." + }, + "422": { + "description": "The syntax of the request entity is incorrect" + } + }, + "parameters": [ + { + "name": "device_id", + "in": "header", + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/AuthTokenRequest" + } + } + } + }, + "operationId": "LoginController.getToken" + } + }, + "/auth/token-refresh": { + "post": { + "x-controller-name": "LoginController", + "x-operation-name": "exchangeToken", + "tags": [ + "LoginController" + ], + "description": " Gets you a new access and refresh token once your access token is expired. (both mobile and web)\n", + "responses": { + "200": { + "description": "New Token Response", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/TokenResponse" + } + } + } + }, + "400": { + "description": "The syntax of the request entity is incorrect." + }, + "401": { + "description": "Invalid Credentials." + }, + "404": { + "description": "The entity requested does not exist." + }, + "422": { + "description": "The syntax of the request entity is incorrect" + } + }, + "parameters": [ + { + "name": "device_id", + "in": "header", + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/AuthRefreshTokenRequest" + } + } + } + }, + "operationId": "LoginController.exchangeToken" + } + }, + "/auth/verify-reset-password-link": { + "get": { + "x-controller-name": "ForgetPasswordController", + "x-operation-name": "verifyResetPasswordLink", + "tags": [ + "ForgetPasswordController" + ], + "responses": { + "200": { + "description": "Check if Token Is Valid and not Expired." + } + }, + "parameters": [ + { + "name": "token", + "in": "query", + "schema": { + "type": "string" + }, + "required": true + } + ], + "operationId": "ForgetPasswordController.verifyResetPasswordLink" + } + }, + "/auth-clients/count": { + "get": { + "x-controller-name": "AuthClientController", + "x-operation-name": "count", + "tags": [ + "AuthClientController" + ], + "security": [ + { + "HTTPBearer": [] + } + ], + "responses": { + "200": { + "description": "AuthClient model count", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/loopback.Count" + } + } + } + } + }, + "parameters": [ + { + "name": "where", + "in": "query", + "content": { + "application/json": { + "schema": { + "type": "object", + "title": "auth_clients.WhereFilter", + "additionalProperties": true, + "x-typescript-type": "@loopback/repository#Where" + } + } + } + } + ], + "operationId": "AuthClientController.count" + } + }, + "/auth-clients/{id}": { + "put": { + "x-controller-name": "AuthClientController", + "x-operation-name": "replaceById", + "tags": [ + "AuthClientController" + ], + "security": [ + { + "HTTPBearer": [] + } + ], + "responses": { + "204": { + "description": "AuthClient PUT success" + } + }, + "parameters": [ + { + "name": "id", + "in": "path", + "schema": { + "type": "number" + }, + "required": true + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/AuthClient" + } + } + }, + "x-parameter-index": 1 + }, + "operationId": "AuthClientController.replaceById" + }, + "patch": { + "x-controller-name": "AuthClientController", + "x-operation-name": "updateById", + "tags": [ + "AuthClientController" + ], + "security": [ + { + "HTTPBearer": [] + } + ], + "responses": { + "204": { + "description": "AuthClient PATCH success" + } + }, + "parameters": [ + { + "name": "id", + "in": "path", + "schema": { + "type": "number" + }, + "required": true + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/AuthClientPartial" + } + } + }, + "x-parameter-index": 1 + }, + "operationId": "AuthClientController.updateById" + }, + "get": { + "x-controller-name": "AuthClientController", + "x-operation-name": "findById", + "tags": [ + "AuthClientController" + ], + "security": [ + { + "HTTPBearer": [] + } + ], + "responses": { + "200": { + "description": "AuthClient model instance", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/AuthClient" + } + } + } + } + }, + "parameters": [ + { + "name": "id", + "in": "path", + "schema": { + "type": "number" + }, + "required": true + } + ], + "operationId": "AuthClientController.findById" + }, + "delete": { + "x-controller-name": "AuthClientController", + "x-operation-name": "deleteById", + "tags": [ + "AuthClientController" + ], + "security": [ + { + "HTTPBearer": [] + } + ], + "responses": { + "204": { + "description": "AuthClient DELETE success" + } + }, + "parameters": [ + { + "name": "id", + "in": "path", + "schema": { + "type": "number" + }, + "required": true + } + ], + "operationId": "AuthClientController.deleteById" + } + }, + "/auth-clients": { + "post": { + "x-controller-name": "AuthClientController", + "x-operation-name": "create", + "tags": [ + "AuthClientController" + ], + "security": [ + { + "HTTPBearer": [] + } + ], + "responses": { + "200": { + "description": "AuthClient model instance", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/AuthClient" + } + } + } + } + }, + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/AuthClientExcluding_id_" + } + } + } + }, + "operationId": "AuthClientController.create" + }, + "patch": { + "x-controller-name": "AuthClientController", + "x-operation-name": "updateAll", + "tags": [ + "AuthClientController" + ], + "security": [ + { + "HTTPBearer": [] + } + ], + "responses": { + "200": { + "description": "AuthClient PATCH success count", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/loopback.Count" + } + } + } + } + }, + "parameters": [ + { + "name": "where", + "in": "query", + "content": { + "application/json": { + "schema": { + "type": "object", + "title": "auth_clients.WhereFilter", + "additionalProperties": true, + "x-typescript-type": "@loopback/repository#Where" + } + } + } + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/AuthClientPartial" + } + } + } + }, + "operationId": "AuthClientController.updateAll" + }, + "get": { + "x-controller-name": "AuthClientController", + "x-operation-name": "find", + "tags": [ + "AuthClientController" + ], + "security": [ + { + "HTTPBearer": [] + } + ], + "responses": { + "200": { + "description": "Array of AuthClient model instances", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/AuthClient" + } + } + } + } + } + }, + "parameters": [ + { + "name": "filter", + "in": "query", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/auth_clients.Filter" + } + } + } + } + ], + "operationId": "AuthClientController.find" + } + }, + "/keycloak/logout": { + "post": { + "x-controller-name": "LogoutController", + "x-operation-name": "keycloakLogout", + "tags": [ + "LogoutController" + ], + "security": [ + { + "HTTPBearer": [] + } + ], + "description": "This API will log out the user from application as well as keycloak", + "responses": { + "200": { + "description": "Success Response", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/SuccessResponse" + } + } + } + }, + "400": { + "description": "The syntax of the request entity is incorrect." + }, + "401": { + "description": "Invalid Credentials." + }, + "404": { + "description": "The entity requested does not exist." + }, + "422": { + "description": "The syntax of the request entity is incorrect" + } + }, + "parameters": [ + { + "name": "Authorization", + "in": "header", + "schema": { + "type": "string" + }, + "description": "This is the access token which is required to authenticate user." + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/RefreshTokenRequestPartial" + } + } + }, + "x-parameter-index": 1 + }, + "operationId": "LogoutController.keycloakLogout" + } + }, + "/logout": { + "post": { + "x-controller-name": "LogoutController", + "x-operation-name": "logout", + "tags": [ + "LogoutController" + ], + "security": [ + { + "HTTPBearer": [] + } + ], + "description": "To logout", + "responses": { + "200": { + "description": "Success Response", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/SuccessResponse" + } + } + } + }, + "400": { + "description": "The syntax of the request entity is incorrect." + }, + "401": { + "description": "Invalid Credentials." + }, + "404": { + "description": "The entity requested does not exist." + }, + "422": { + "description": "The syntax of the request entity is incorrect" + } + }, + "parameters": [ + { + "name": "Authorization", + "in": "header", + "schema": { + "type": "string" + }, + "description": "This is the access token which is required to authenticate user." + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/RefreshTokenRequestPartial" + } + } + }, + "x-parameter-index": 1 + }, + "operationId": "LogoutController.logout" + } + }, + "/otp-caches/{id}": { + "get": { + "x-controller-name": "OtpController", + "x-operation-name": "findById", + "tags": [ + "OtpController" + ], + "responses": { + "200": { + "description": "Otp model instance", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Otp" + } + } + } + } + }, + "parameters": [ + { + "name": "id", + "in": "path", + "schema": { + "type": "string" + }, + "required": true + } + ], + "operationId": "OtpController.findById" + }, + "delete": { + "x-controller-name": "OtpController", + "x-operation-name": "deleteById", + "tags": [ + "OtpController" + ], + "responses": { + "204": { + "description": "Otp DELETE success" + } + }, + "parameters": [ + { + "name": "id", + "in": "path", + "schema": { + "type": "string" + }, + "required": true + } + ], + "operationId": "OtpController.deleteById" + } + }, + "/otp-caches": { + "post": { + "x-controller-name": "OtpController", + "x-operation-name": "create", + "tags": [ + "OtpController" + ], + "responses": { + "200": { + "description": "Otp model instance", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Otp" + } + } + } + } + }, + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Otp" + } + } + } + }, + "operationId": "OtpController.create" + } + } + }, + "components": { + "securitySchemes": { + "HTTPBearer": { + "type": "http", + "scheme": "bearer", + "bearerFormat": "JWT" + } + }, + "schemas": { + "LoginRequest": { + "title": "LoginRequest", + "type": "object", + "description": "This is the signature for login request.", + "properties": { + "client_id": { + "type": "string", + "description": "This property is supposed to be a string and is a required field" + }, + "client_secret": { + "type": "string", + "description": "This property is supposed to be a string and is a required field" + }, + "username": { + "type": "string", + "description": "This property is supposed to be a string and is a required field" + }, + "password": { + "type": "string", + "description": "This property is supposed to be a string and is a required field" + } + }, + "required": [ + "client_id", + "client_secret", + "username", + "password" + ], + "additionalProperties": false + }, + "TokenResponse": { + "title": "TokenResponse", + "type": "object", + "description": "This is signature for successful token response.", + "properties": { + "accessToken": { + "type": "string", + "description": "This property is supposed to be a string and is a required field" + }, + "refreshToken": { + "type": "string", + "description": "This property is supposed to be a string and is a required field" + }, + "expires": { + "type": "number" + }, + "pubnubToken": { + "type": "string" + } + }, + "required": [ + "accessToken", + "refreshToken", + "expires" + ], + "additionalProperties": false + }, + "AuthTokenRequest": { + "title": "AuthTokenRequest", + "type": "object", + "description": "This is the signature for requesting the accessToken and refreshToken.", + "properties": { + "code": { + "type": "string" + }, + "clientId": { + "type": "string" + } + }, + "required": [ + "code", + "clientId" + ], + "additionalProperties": false + }, + "Function": {}, + "AuthRefreshTokenRequest": { + "title": "AuthRefreshTokenRequest", + "type": "object", + "properties": { + "refreshToken": { + "type": "string" + } + }, + "required": [ + "refreshToken" + ], + "additionalProperties": false + }, + "ClientAuthRequest": { + "title": "ClientAuthRequest", + "type": "object", + "description": "This is signature for client authentication request.", + "properties": { + "client_id": { + "type": "string", + "description": "This property is supposed to be a string and is a required field" + }, + "client_secret": { + "type": "string", + "description": "This property is supposed to be a string and is a required field" + } + }, + "required": [ + "client_id", + "client_secret" + ], + "additionalProperties": false + }, + "ResetPasswordPartial": { + "title": "ResetPasswordPartial", + "type": "object", + "description": "This is a signature for reset password. (tsType: Partial, schemaOptions: { partial: true })", + "properties": { + "refreshToken": { + "type": "string" + }, + "username": { + "type": "string", + "description": "This property is supposed to be a string and is a required field" + }, + "password": { + "type": "string", + "description": "This property is supposed to be a string and is a required field" + }, + "oldPassword": { + "type": "string", + "description": "This property is supposed to be a string and is a required field" + } + }, + "additionalProperties": false + }, + "ResetPassword": { + "title": "ResetPassword", + "type": "object", + "description": "This is a signature for reset password.", + "properties": { + "refreshToken": { + "type": "string" + }, + "username": { + "type": "string", + "description": "This property is supposed to be a string and is a required field" + }, + "password": { + "type": "string", + "description": "This property is supposed to be a string and is a required field" + }, + "oldPassword": { + "type": "string", + "description": "This property is supposed to be a string and is a required field" + } + }, + "required": [ + "refreshToken", + "username", + "password" + ], + "additionalProperties": false + }, + "SuccessResponse": { + "title": "SuccessResponse", + "type": "object", + "properties": { + "success": { + "type": "boolean" + } + }, + "additionalProperties": true + }, + "RefreshTokenRequestPartial": { + "title": "RefreshTokenRequestPartial", + "type": "object", + "description": "(tsType: Partial, schemaOptions: { partial: true })", + "properties": { + "refreshToken": { + "type": "string" + } + }, + "additionalProperties": false, + "x-typescript-type": "Partial" + }, + "RefreshTokenRequest": { + "title": "RefreshTokenRequest", + "type": "object", + "properties": { + "refreshToken": { + "type": "string" + } + }, + "required": [ + "refreshToken" + ], + "additionalProperties": false + }, + "Otp": { + "title": "Otp", + "type": "object", + "properties": { + "otp": { + "type": "string" + }, + "username": { + "type": "string" + } + }, + "required": [ + "otp", + "username" + ], + "additionalProperties": false + }, + "AuthClient": { + "title": "AuthClient", + "type": "object", + "properties": { + "deleted": { + "type": "boolean" + }, + "deletedOn": { + "type": "string", + "format": "date-time", + "nullable": true + }, + "deletedBy": { + "type": "string", + "nullable": true + }, + "createdOn": { + "type": "string", + "format": "date-time" + }, + "modifiedOn": { + "type": "string", + "format": "date-time" + }, + "id": { + "type": "number" + }, + "clientId": { + "type": "string" + }, + "clientSecret": { + "type": "string" + }, + "secret": { + "type": "string" + }, + "redirectUrl": { + "type": "string" + }, + "accessTokenExpiration": { + "type": "number" + }, + "refreshTokenExpiration": { + "type": "number" + }, + "authCodeExpiration": { + "type": "number" + } + }, + "required": [ + "clientId", + "clientSecret", + "secret", + "accessTokenExpiration", + "refreshTokenExpiration", + "authCodeExpiration" + ], + "additionalProperties": false + }, + "AuthClientExcluding_id_": { + "title": "AuthClientExcluding_id_", + "type": "object", + "description": "(tsType: Omit, schemaOptions: { exclude: [ 'id' ] })", + "properties": { + "deleted": { + "type": "boolean" + }, + "deletedOn": { + "type": "string", + "format": "date-time", + "nullable": true + }, + "deletedBy": { + "type": "string", + "nullable": true + }, + "createdOn": { + "type": "string", + "format": "date-time" + }, + "modifiedOn": { + "type": "string", + "format": "date-time" + }, + "clientId": { + "type": "string" + }, + "clientSecret": { + "type": "string" + }, + "secret": { + "type": "string" + }, + "redirectUrl": { + "type": "string" + }, + "accessTokenExpiration": { + "type": "number" + }, + "refreshTokenExpiration": { + "type": "number" + }, + "authCodeExpiration": { + "type": "number" + } + }, + "required": [ + "clientId", + "clientSecret", + "secret", + "accessTokenExpiration", + "refreshTokenExpiration", + "authCodeExpiration" + ], + "additionalProperties": false, + "x-typescript-type": "Omit" + }, + "AuthClientPartial": { + "title": "AuthClientPartial", + "type": "object", + "description": "(tsType: Partial, schemaOptions: { partial: true })", + "properties": { + "deleted": { + "type": "boolean" + }, + "deletedOn": { + "type": "string", + "format": "date-time", + "nullable": true + }, + "deletedBy": { + "type": "string", + "nullable": true + }, + "createdOn": { + "type": "string", + "format": "date-time" + }, + "modifiedOn": { + "type": "string", + "format": "date-time" + }, + "id": { + "type": "number" + }, + "clientId": { + "type": "string" + }, + "clientSecret": { + "type": "string" + }, + "secret": { + "type": "string" + }, + "redirectUrl": { + "type": "string" + }, + "accessTokenExpiration": { + "type": "number" + }, + "refreshTokenExpiration": { + "type": "number" + }, + "authCodeExpiration": { + "type": "number" + } + }, + "additionalProperties": false, + "x-typescript-type": "Partial" + }, + "User": { + "title": "User", + "type": "object", + "description": "This is signature for user model.", + "properties": { + "deleted": { + "type": "boolean" + }, + "deletedOn": { + "type": "string", + "format": "date-time", + "nullable": true + }, + "deletedBy": { + "type": "string", + "nullable": true + }, + "createdOn": { + "type": "string", + "format": "date-time" + }, + "modifiedOn": { + "type": "string", + "format": "date-time" + }, + "createdBy": { + "type": "string" + }, + "modifiedBy": { + "type": "string" + }, + "id": { + "type": "string" + }, + "firstName": { + "type": "string" + }, + "lastName": { + "type": "string" + }, + "middleName": { + "type": "string" + }, + "username": { + "type": "string" + }, + "email": { + "type": "string" + }, + "phone": { + "type": "string", + "pattern": "^\\+?[1-9]\\d{1,14}$" + }, + "authClientIds": { + "type": "string" + }, + "lastLogin": { + "type": "string", + "format": "date-time" + }, + "dob": { + "type": "string", + "format": "date-time" + }, + "gender": { + "type": "string", + "description": "This field takes a single character as input in database.\n 'M' for male and 'F' for female.", + "enum": [ + "M", + "F", + "O" + ] + }, + "defaultTenantId": { + "type": "string" + } + }, + "required": [ + "firstName", + "username" + ], + "additionalProperties": false + }, + "ForgetPasswordResponseDto": { + "title": "ForgetPasswordResponseDto", + "type": "object", + "properties": { + "code": { + "type": "string" + }, + "expiry": { + "type": "number" + }, + "email": { + "type": "string" + }, + "user": { + "$ref": "#/components/schemas/User" + } + }, + "required": [ + "code", + "expiry", + "email" + ], + "additionalProperties": false + }, + "ForgetPasswordDto": { + "title": "ForgetPasswordDto", + "type": "object", + "properties": { + "username": { + "type": "string" + }, + "client_id": { + "type": "string" + }, + "client_secret": { + "type": "string" + } + }, + "required": [ + "username", + "client_id", + "client_secret" + ], + "additionalProperties": false + }, + "ResetPasswordWithClient": { + "title": "ResetPasswordWithClient", + "type": "object", + "properties": { + "token": { + "type": "string" + }, + "password": { + "type": "string" + }, + "client_id": { + "type": "string" + }, + "client_secret": { + "type": "string" + } + }, + "required": [ + "token", + "password", + "client_id", + "client_secret" + ], + "additionalProperties": false + }, + "SignupRequestResponseDto": { + "title": "SignupRequestResponseDto", + "type": "object", + "properties": { + "code": { + "type": "string" + }, + "expiry": { + "type": "number" + }, + "email": { + "type": "string" + } + }, + "required": [ + "code", + "expiry", + "email" + ], + "additionalProperties": false + }, + "SignupRequestDto": { + "title": "SignupRequestDto", + "type": "object", + "properties": { + "email": { + "type": "string" + }, + "data": { + "type": "object" + } + }, + "required": [ + "email" + ], + "additionalProperties": false + }, + "LocalUserProfileDto": { + "title": "LocalUserProfileDto", + "type": "object", + "properties": { + "email": { + "type": "string" + }, + "password": { + "type": "string" + } + }, + "required": [ + "email", + "password" + ], + "additionalProperties": true + }, + "SignupRequest": { + "title": "SignupRequest", + "type": "object", + "properties": { + "email": { + "type": "string" + }, + "expiry": { + "type": "string" + } + }, + "required": [ + "email" + ], + "additionalProperties": false + }, + "loopback.Count": { + "type": "object", + "title": "loopback.Count", + "x-typescript-type": "@loopback/repository#Count", + "properties": { + "count": { + "type": "number" + } + } + }, + "auth_clients.Filter": { + "type": "object", + "title": "auth_clients.Filter", + "properties": { + "offset": { + "type": "integer", + "minimum": 0 + }, + "limit": { + "type": "integer", + "minimum": 1, + "example": 100 + }, + "skip": { + "type": "integer", + "minimum": 0 + }, + "order": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "array", + "items": { + "type": "string" + } + } + ] + }, + "where": { + "title": "auth_clients.WhereFilter", + "type": "object", + "additionalProperties": true + }, + "fields": { + "oneOf": [ + { + "type": "object", + "properties": { + "deleted": { + "type": "boolean" + }, + "deletedOn": { + "type": "boolean" + }, + "deletedBy": { + "type": "boolean" + }, + "createdOn": { + "type": "boolean" + }, + "modifiedOn": { + "type": "boolean" + }, + "id": { + "type": "boolean" + }, + "clientId": { + "type": "boolean" + }, + "clientSecret": { + "type": "boolean" + }, + "secret": { + "type": "boolean" + }, + "redirectUrl": { + "type": "boolean" + }, + "accessTokenExpiration": { + "type": "boolean" + }, + "refreshTokenExpiration": { + "type": "boolean" + }, + "authCodeExpiration": { + "type": "boolean" + } + }, + "additionalProperties": false + }, + { + "type": "array", + "items": { + "type": "string", + "enum": [ + "deleted", + "deletedOn", + "deletedBy", + "createdOn", + "modifiedOn", + "id", + "clientId", + "clientSecret", + "secret", + "redirectUrl", + "accessTokenExpiration", + "refreshTokenExpiration", + "authCodeExpiration" + ], + "example": "deleted" + }, + "uniqueItems": true + } + ], + "title": "auth_clients.Fields" + } + }, + "additionalProperties": false, + "x-typescript-type": "@loopback/repository#Filter" + } + } + }, + "servers": [ + { + "url": "/" + } + ] +} \ No newline at end of file diff --git a/services/authentication-service/openapi.md b/services/authentication-service/openapi.md new file mode 100644 index 0000000000..eae3f5bc5b --- /dev/null +++ b/services/authentication-service/openapi.md @@ -0,0 +1,3099 @@ +--- +title: Authentication Service v1.0.0 +language_tabs: + - "'javascript": JavaScript + - "'javascript--nodejs": Node.JS' +language_clients: + - "'javascript": request' + - "'javascript--nodejs": "" +toc_footers: [] +includes: [] +search: false +highlight_theme: darkula +headingLevel: 2 + +--- + + + +

Authentication Service v1.0.0

+ +> Scroll down for code samples, example requests and responses. Select a language for code samples from the tabs above or the mobile navigation menu. + +services + +Base URLs: + +* / + +# Authentication + +- HTTP Authentication, scheme: bearer + +

LoginController

+ +## LoginController.resetPassword + + + +> Code samples + +```'javascript--nodejs +const fetch = require('node-fetch'); +const inputBody = { + "refreshToken": "string", + "username": "string", + "password": "string", + "oldPassword": "string" +}; +const headers = { + 'Content-Type':'application/json', + 'Authorization':'string' +}; + +fetch('/auth/change-password', +{ + method: 'PATCH', + body: JSON.stringify(inputBody), + headers: headers +}) +.then(function(res) { + return res.json(); +}).then(function(body) { + console.log(body); +}); + +``` + +`PATCH /auth/change-password` + +> Body parameter + +```json +{ + "refreshToken": "string", + "username": "string", + "password": "string", + "oldPassword": "string" +} +``` + +

Parameters

+ +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|Authorization|header|string|false|none| +|body|body|[ResetPasswordPartial](#schemaresetpasswordpartial)|false|none| + +

Responses

+ +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|If User password successfully changed.|None| + + + +## LoginController.postLoginViaGoogle + + + +> Code samples + +```'javascript--nodejs +const fetch = require('node-fetch'); +const inputBody = { + "client_id": "string", + "client_secret": "string" +}; +const headers = { + 'Content-Type':'application/x-www-form-urlencoded', + 'Accept':'application/json' +}; + +fetch('/auth/google', +{ + method: 'POST', + body: JSON.stringify(inputBody), + headers: headers +}) +.then(function(res) { + return res.json(); +}).then(function(body) { + console.log(body); +}); + +``` + +`POST /auth/google` + +> Body parameter + +```yaml +client_id: string +client_secret: string + +``` + +

Parameters

+ +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|body|body|[ClientAuthRequest](#schemaclientauthrequest)|false|none| + +> Example responses + +> 200 Response + +```json +{ + "accessToken": "string", + "refreshToken": "string", + "expires": 0, + "pubnubToken": "string" +} +``` + +

Responses

+ +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|POST Call for Google based login|[TokenResponse](#schematokenresponse)| + + + +## LoginController.loginViaGoogle + + + +> Code samples + +```'javascript--nodejs +const fetch = require('node-fetch'); + +const headers = { + 'Accept':'application/json' +}; + +fetch('/auth/google', +{ + method: 'GET', + + headers: headers +}) +.then(function(res) { + return res.json(); +}).then(function(body) { + console.log(body); +}); + +``` + +`GET /auth/google` + +

Parameters

+ +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|client_id|query|string|false|none| +|client_secret|query|string|false|none| + +> Example responses + +> 200 Response + +```json +{ + "accessToken": "string", + "refreshToken": "string", + "expires": 0, + "pubnubToken": "string" +} +``` + +

Responses

+ +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|Google Token Response (Deprecated: Possible security issue if secret is passed via query params, please use the post endpoint)|[TokenResponse](#schematokenresponse)| + + + +## LoginController.googleCallback + + + +> Code samples + +```'javascript--nodejs +const fetch = require('node-fetch'); + +const headers = { + 'Accept':'application/json' +}; + +fetch('/auth/google-auth-redirect', +{ + method: 'GET', + + headers: headers +}) +.then(function(res) { + return res.json(); +}).then(function(body) { + console.log(body); +}); + +``` + +`GET /auth/google-auth-redirect` + +

Parameters

+ +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|code|query|string|false|none| +|state|query|string|false|none| + +> Example responses + +> 200 Response + +```json +{ + "accessToken": "string", + "refreshToken": "string", + "expires": 0, + "pubnubToken": "string" +} +``` + +

Responses

+ +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|Google Redirect Token Response|[TokenResponse](#schematokenresponse)| + + + +## LoginController.postLoginViaInstagram + + + +> Code samples + +```'javascript--nodejs +const fetch = require('node-fetch'); +const inputBody = { + "client_id": "string", + "client_secret": "string" +}; +const headers = { + 'Content-Type':'application/x-www-form-urlencoded', + 'Accept':'application/json' +}; + +fetch('/auth/instagram', +{ + method: 'POST', + body: JSON.stringify(inputBody), + headers: headers +}) +.then(function(res) { + return res.json(); +}).then(function(body) { + console.log(body); +}); + +``` + +`POST /auth/instagram` + +> Body parameter + +```yaml +client_id: string +client_secret: string + +``` + +

Parameters

+ +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|body|body|[ClientAuthRequest](#schemaclientauthrequest)|false|none| + +> Example responses + +> 200 Response + +```json +{ + "accessToken": "string", + "refreshToken": "string", + "expires": 0, + "pubnubToken": "string" +} +``` + +

Responses

+ +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|POST Call for Instagram based login|[TokenResponse](#schematokenresponse)| + + + +## LoginController.instagramCallback + + + +> Code samples + +```'javascript--nodejs +const fetch = require('node-fetch'); + +const headers = { + 'Accept':'application/json' +}; + +fetch('/auth/instagram-auth-redirect', +{ + method: 'GET', + + headers: headers +}) +.then(function(res) { + return res.json(); +}).then(function(body) { + console.log(body); +}); + +``` + +`GET /auth/instagram-auth-redirect` + +

Parameters

+ +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|code|query|string|false|none| +|state|query|string|false|none| + +> Example responses + +> 200 Response + +```json +{ + "accessToken": "string", + "refreshToken": "string", + "expires": 0, + "pubnubToken": "string" +} +``` + +

Responses

+ +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|Instagram Redirect Token Response|[TokenResponse](#schematokenresponse)| + + + +## LoginController.postLoginViaKeycloak + + + +> Code samples + +```'javascript--nodejs +const fetch = require('node-fetch'); +const inputBody = { + "client_id": "string", + "client_secret": "string" +}; +const headers = { + 'Content-Type':'application/x-www-form-urlencoded', + 'Accept':'application/json' +}; + +fetch('/auth/keycloak', +{ + method: 'POST', + body: JSON.stringify(inputBody), + headers: headers +}) +.then(function(res) { + return res.json(); +}).then(function(body) { + console.log(body); +}); + +``` + +`POST /auth/keycloak` + +POST Call for keycloak based login + +> Body parameter + +```yaml +client_id: string +client_secret: string + +``` + +

Parameters

+ +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|body|body|[ClientAuthRequest](#schemaclientauthrequest)|false|none| + +> Example responses + +> 200 Response + +```json +{ + "accessToken": "string", + "refreshToken": "string", + "expires": 0, + "pubnubToken": "string" +} +``` + +

Responses

+ +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|Keycloak Token Response|[TokenResponse](#schematokenresponse)| + + + +## LoginController.loginViaKeycloak + + + +> Code samples + +```'javascript--nodejs +const fetch = require('node-fetch'); + +const headers = { + 'Accept':'application/json' +}; + +fetch('/auth/keycloak', +{ + method: 'GET', + + headers: headers +}) +.then(function(res) { + return res.json(); +}).then(function(body) { + console.log(body); +}); + +``` + +`GET /auth/keycloak` + +

Parameters

+ +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|client_id|query|string|false|none| +|client_secret|query|string|false|none| + +> Example responses + +> 200 Response + +```json +{ + "accessToken": "string", + "refreshToken": "string", + "expires": 0, + "pubnubToken": "string" +} +``` + +

Responses

+ +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|Keycloak Token Response (Deprecated: Possible security issue if secret is passed via query params, please use the post endpoint)|[TokenResponse](#schematokenresponse)| + + + +## LoginController.keycloakCallback + + + +> Code samples + +```'javascript--nodejs +const fetch = require('node-fetch'); + +const headers = { + 'Accept':'application/json' +}; + +fetch('/auth/keycloak-auth-redirect', +{ + method: 'GET', + + headers: headers +}) +.then(function(res) { + return res.json(); +}).then(function(body) { + console.log(body); +}); + +``` + +`GET /auth/keycloak-auth-redirect` + +

Parameters

+ +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|code|query|string|false|none| +|state|query|string|false|none| + +> Example responses + +> 200 Response + +```json +{ + "accessToken": "string", + "refreshToken": "string", + "expires": 0, + "pubnubToken": "string" +} +``` + +

Responses

+ +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|Keycloak Redirect Token Response|[TokenResponse](#schematokenresponse)| + + + +## LoginController.login + + + +> Code samples + +```'javascript--nodejs +const fetch = require('node-fetch'); +const inputBody = { + "client_id": "string", + "client_secret": "string", + "username": "string", + "password": "string" +}; +const headers = { + 'Content-Type':'application/json' +}; + +fetch('/auth/login', +{ + method: 'POST', + body: JSON.stringify(inputBody), + headers: headers +}) +.then(function(res) { + return res.json(); +}).then(function(body) { + console.log(body); +}); + +``` + +`POST /auth/login` + +Gets you the code that will be used for getting token (webapps) + +> Body parameter + +```json +{ + "client_id": "string", + "client_secret": "string", + "username": "string", + "password": "string" +} +``` + +

Parameters

+ +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|body|body|[LoginRequest](#schemaloginrequest)|false|none| + +> Example responses + +

Responses

+ +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|Auth Code|None| +|400|[Bad Request](https://tools.ietf.org/html/rfc7231#section-6.5.1)|The syntax of the request entity is incorrect.|None| +|401|[Unauthorized](https://tools.ietf.org/html/rfc7235#section-3.1)|Invalid Credentials.|None| +|404|[Not Found](https://tools.ietf.org/html/rfc7231#section-6.5.4)|The entity requested does not exist.|None| +|422|[Unprocessable Entity](https://tools.ietf.org/html/rfc2518#section-10.3)|The syntax of the request entity is incorrect|None| + +

Response Schema

+ + + +## LoginController.loginWithClientUser + + + +> Code samples + +```'javascript--nodejs +const fetch = require('node-fetch'); +const inputBody = { + "client_id": "string", + "client_secret": "string", + "username": "string", + "password": "string" +}; +const headers = { + 'Content-Type':'application/json', + 'Accept':'application/json', + 'device_id':'string' +}; + +fetch('/auth/login-token', +{ + method: 'POST', + body: JSON.stringify(inputBody), + headers: headers +}) +.then(function(res) { + return res.json(); +}).then(function(body) { + console.log(body); +}); + +``` + +`POST /auth/login-token` + +Gets you refresh token and access token in one hit. (mobile app) + +> Body parameter + +```json +{ + "client_id": "string", + "client_secret": "string", + "username": "string", + "password": "string" +} +``` + +

Parameters

+ +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|device_id|header|string|false|none| +|body|body|[LoginRequest](#schemaloginrequest)|false|none| + +> Example responses + +> 200 Response + +```json +{ + "accessToken": "string", + "refreshToken": "string", + "expires": 0, + "pubnubToken": "string" +} +``` + +

Responses

+ +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|Token Response Model|[TokenResponse](#schematokenresponse)| +|400|[Bad Request](https://tools.ietf.org/html/rfc7231#section-6.5.1)|The syntax of the request entity is incorrect.|None| +|401|[Unauthorized](https://tools.ietf.org/html/rfc7235#section-3.1)|Invalid Credentials.|None| +|404|[Not Found](https://tools.ietf.org/html/rfc7231#section-6.5.4)|The entity requested does not exist.|None| +|422|[Unprocessable Entity](https://tools.ietf.org/html/rfc2518#section-10.3)|The syntax of the request entity is incorrect|None| + + + +## LoginController.me + + + +> Code samples + +```'javascript--nodejs +const fetch = require('node-fetch'); + +const headers = { + 'Authorization':'Bearer {access-token}' +}; + +fetch('/auth/me', +{ + method: 'GET', + + headers: headers +}) +.then(function(res) { + return res.json(); +}).then(function(body) { + console.log(body); +}); + +``` + +`GET /auth/me` + +To get the user details + +> Example responses + +

Responses

+ +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|User Object|None| +|400|[Bad Request](https://tools.ietf.org/html/rfc7231#section-6.5.1)|The syntax of the request entity is incorrect.|None| +|401|[Unauthorized](https://tools.ietf.org/html/rfc7235#section-3.1)|Invalid Credentials.|None| +|404|[Not Found](https://tools.ietf.org/html/rfc7231#section-6.5.4)|The entity requested does not exist.|None| +|422|[Unprocessable Entity](https://tools.ietf.org/html/rfc2518#section-10.3)|The syntax of the request entity is incorrect|None| + +

Response Schema

+ + + +## LoginController.getToken + + + +> Code samples + +```'javascript--nodejs +const fetch = require('node-fetch'); +const inputBody = { + "code": "string", + "clientId": "string" +}; +const headers = { + 'Content-Type':'application/json', + 'Accept':'application/json', + 'device_id':'string' +}; + +fetch('/auth/token', +{ + method: 'POST', + body: JSON.stringify(inputBody), + headers: headers +}) +.then(function(res) { + return res.json(); +}).then(function(body) { + console.log(body); +}); + +``` + +`POST /auth/token` + + Send the code received from the above api and this api will send you refresh token and access token (webapps) + +> Body parameter + +```json +{ + "code": "string", + "clientId": "string" +} +``` + +

Parameters

+ +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|device_id|header|string|false|none| +|body|body|[AuthTokenRequest](#schemaauthtokenrequest)|false|none| + +> Example responses + +> 200 Response + +```json +{ + "accessToken": "string", + "refreshToken": "string", + "expires": 0, + "pubnubToken": "string" +} +``` + +

Responses

+ +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|Token Response|[TokenResponse](#schematokenresponse)| +|400|[Bad Request](https://tools.ietf.org/html/rfc7231#section-6.5.1)|The syntax of the request entity is incorrect.|None| +|401|[Unauthorized](https://tools.ietf.org/html/rfc7235#section-3.1)|Invalid Credentials.|None| +|404|[Not Found](https://tools.ietf.org/html/rfc7231#section-6.5.4)|The entity requested does not exist.|None| +|422|[Unprocessable Entity](https://tools.ietf.org/html/rfc2518#section-10.3)|The syntax of the request entity is incorrect|None| + + + +## LoginController.exchangeToken + + + +> Code samples + +```'javascript--nodejs +const fetch = require('node-fetch'); +const inputBody = { + "refreshToken": "string" +}; +const headers = { + 'Content-Type':'application/json', + 'Accept':'application/json', + 'device_id':'string' +}; + +fetch('/auth/token-refresh', +{ + method: 'POST', + body: JSON.stringify(inputBody), + headers: headers +}) +.then(function(res) { + return res.json(); +}).then(function(body) { + console.log(body); +}); + +``` + +`POST /auth/token-refresh` + + Gets you a new access and refresh token once your access token is expired. (both mobile and web) + +> Body parameter + +```json +{ + "refreshToken": "string" +} +``` + +

Parameters

+ +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|device_id|header|string|false|none| +|body|body|[AuthRefreshTokenRequest](#schemaauthrefreshtokenrequest)|false|none| + +> Example responses + +> 200 Response + +```json +{ + "accessToken": "string", + "refreshToken": "string", + "expires": 0, + "pubnubToken": "string" +} +``` + +

Responses

+ +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|New Token Response|[TokenResponse](#schematokenresponse)| +|400|[Bad Request](https://tools.ietf.org/html/rfc7231#section-6.5.1)|The syntax of the request entity is incorrect.|None| +|401|[Unauthorized](https://tools.ietf.org/html/rfc7235#section-3.1)|Invalid Credentials.|None| +|404|[Not Found](https://tools.ietf.org/html/rfc7231#section-6.5.4)|The entity requested does not exist.|None| +|422|[Unprocessable Entity](https://tools.ietf.org/html/rfc2518#section-10.3)|The syntax of the request entity is incorrect|None| + + + +

ForgetPasswordController

+ +## ForgetPasswordController.forgetPassword + + + +> Code samples + +```'javascript--nodejs +const fetch = require('node-fetch'); +const inputBody = { + "username": "string", + "client_id": "string", + "client_secret": "string" +}; +const headers = { + 'Content-Type':'application/json', + 'Accept':'application/json' +}; + +fetch('/auth/forget-password', +{ + method: 'POST', + body: JSON.stringify(inputBody), + headers: headers +}) +.then(function(res) { + return res.json(); +}).then(function(body) { + console.log(body); +}); + +``` + +`POST /auth/forget-password` + +> Body parameter + +```json +{ + "username": "string", + "client_id": "string", + "client_secret": "string" +} +``` + +

Parameters

+ +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|body|body|[ForgetPasswordDto](#schemaforgetpassworddto)|false|none| + +> Example responses + +> 200 Response + +```json +{ + "code": "string", + "expiry": 0, + "email": "string", + "user": { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "firstName": "string", + "lastName": "string", + "middleName": "string", + "username": "string", + "email": "string", + "phone": "string", + "authClientIds": "string", + "lastLogin": "2019-08-24T14:15:22Z", + "dob": "2019-08-24T14:15:22Z", + "gender": "M", + "defaultTenantId": "string" + } +} +``` + +

Responses

+ +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|Success Response.|[ForgetPasswordResponseDto](#schemaforgetpasswordresponsedto)| +|400|[Bad Request](https://tools.ietf.org/html/rfc7231#section-6.5.1)|The syntax of the request entity is incorrect.|None| +|401|[Unauthorized](https://tools.ietf.org/html/rfc7235#section-3.1)|Invalid Credentials.|None| +|404|[Not Found](https://tools.ietf.org/html/rfc7231#section-6.5.4)|The entity requested does not exist.|None| +|422|[Unprocessable Entity](https://tools.ietf.org/html/rfc2518#section-10.3)|The syntax of the request entity is incorrect|None| + + + +## ForgetPasswordController.resetPassword + + + +> Code samples + +```'javascript--nodejs +const fetch = require('node-fetch'); +const inputBody = { + "token": "string", + "password": "string", + "client_id": "string", + "client_secret": "string" +}; +const headers = { + 'Content-Type':'application/json' +}; + +fetch('/auth/reset-password', +{ + method: 'PATCH', + body: JSON.stringify(inputBody), + headers: headers +}) +.then(function(res) { + return res.json(); +}).then(function(body) { + console.log(body); +}); + +``` + +`PATCH /auth/reset-password` + +> Body parameter + +```json +{ + "token": "string", + "password": "string", + "client_id": "string", + "client_secret": "string" +} +``` + +

Parameters

+ +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|body|body|[ResetPasswordWithClient](#schemaresetpasswordwithclient)|false|none| + +

Responses

+ +|Status|Meaning|Description|Schema| +|---|---|---|---| +|204|[No Content](https://tools.ietf.org/html/rfc7231#section-6.3.5)|If User password successfully changed.|None| + + + +## ForgetPasswordController.verifyResetPasswordLink + + + +> Code samples + +```'javascript--nodejs +const fetch = require('node-fetch'); + +fetch('/auth/verify-reset-password-link?token=string', +{ + method: 'GET' + +}) +.then(function(res) { + return res.json(); +}).then(function(body) { + console.log(body); +}); + +``` + +`GET /auth/verify-reset-password-link` + + + +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|token|query|string|true|none| + + + +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|Check if Token Is Valid and not Expired.|None| + + + +

SignupRequestController

+ +## SignupRequestController.requestSignup + + + +> Code samples + +```'javascript--nodejs +const fetch = require('node-fetch'); +const inputBody = { + "email": "string", + "data": {} +}; +const headers = { + 'Content-Type':'application/json', + 'Accept':'application/json' +}; + +fetch('/auth/sign-up/create-token', +{ + method: 'POST', + body: JSON.stringify(inputBody), + headers: headers +}) +.then(function(res) { + return res.json(); +}).then(function(body) { + console.log(body); +}); + +``` + +`POST /auth/sign-up/create-token` + +> Body parameter + +```json +{ + "email": "string", + "data": {} +} +``` + +

Parameters

+ +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|body|body|[SignupRequestDto](#schemasignuprequestdto)|false|none| + +> Example responses + +> 200 Response + +```json +{ + "code": "string", + "expiry": 0, + "email": "string" +} +``` + +

Responses

+ +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|Sucess Response.|[SignupRequestResponseDto](#schemasignuprequestresponsedto)| +|400|[Bad Request](https://tools.ietf.org/html/rfc7231#section-6.5.1)|The syntax of the request entity is incorrect.|None| +|401|[Unauthorized](https://tools.ietf.org/html/rfc7235#section-3.1)|Invalid Credentials.|None| +|404|[Not Found](https://tools.ietf.org/html/rfc7231#section-6.5.4)|The entity requested does not exist.|None| +|422|[Unprocessable Entity](https://tools.ietf.org/html/rfc2518#section-10.3)|The syntax of the request entity is incorrect|None| + + + +## SignupRequestController.signupWithToken + + + +> Code samples + +```'javascript--nodejs +const fetch = require('node-fetch'); +const inputBody = { + "email": "string", + "password": "string" +}; +const headers = { + 'Content-Type':'application/json', + 'Accept':'application/json' +}; + +fetch('/auth/sign-up/create-user', +{ + method: 'POST', + body: JSON.stringify(inputBody), + headers: headers +}) +.then(function(res) { + return res.json(); +}).then(function(body) { + console.log(body); +}); + +``` + +`POST /auth/sign-up/create-user` + +> Body parameter + +```json +{ + "email": "string", + "password": "string" +} +``` + +

Parameters

+ +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|body|body|[LocalUserProfileDto](#schemalocaluserprofiledto)|false|none| + +> Example responses + +> 200 Response + +```json +{ + "email": "string", + "password": "string" +} +``` + +

Responses

+ +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|Sucess Response.|[LocalUserProfileDto](#schemalocaluserprofiledto)| +|400|[Bad Request](https://tools.ietf.org/html/rfc7231#section-6.5.1)|The syntax of the request entity is incorrect.|None| +|401|[Unauthorized](https://tools.ietf.org/html/rfc7235#section-3.1)|Invalid Credentials.|None| +|404|[Not Found](https://tools.ietf.org/html/rfc7231#section-6.5.4)|The entity requested does not exist.|None| +|422|[Unprocessable Entity](https://tools.ietf.org/html/rfc2518#section-10.3)|The syntax of the request entity is incorrect|None| + + + +## SignupRequestController.verifyInviteToken + + + +> Code samples + +```'javascript--nodejs +const fetch = require('node-fetch'); + +fetch('/auth/sign-up/verify-token', +{ + method: 'GET' + +}) +.then(function(res) { + return res.json(); +}).then(function(body) { + console.log(body); +}); + +``` + +`GET /auth/sign-up/verify-token` + +

Responses

+ +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|Sucess Response.|None| +|400|[Bad Request](https://tools.ietf.org/html/rfc7231#section-6.5.1)|The syntax of the request entity is incorrect.|None| +|401|[Unauthorized](https://tools.ietf.org/html/rfc7235#section-3.1)|Invalid Credentials.|None| +|404|[Not Found](https://tools.ietf.org/html/rfc7231#section-6.5.4)|The entity requested does not exist.|None| +|422|[Unprocessable Entity](https://tools.ietf.org/html/rfc2518#section-10.3)|The syntax of the request entity is incorrect|None| + + + +

AuthClientController

+ +## AuthClientController.count + + + +> Code samples + +```'javascript--nodejs +const fetch = require('node-fetch'); + +const headers = { + 'Accept':'application/json', + 'Authorization':'Bearer {access-token}' +}; + +fetch('/auth-clients/count', +{ + method: 'GET', + + headers: headers +}) +.then(function(res) { + return res.json(); +}).then(function(body) { + console.log(body); +}); + +``` + +`GET /auth-clients/count` + +

Parameters

+ +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|where|query|object|false|none| + +> Example responses + +> 200 Response + +```json +{ + "count": 0 +} +``` + +

Responses

+ +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|AuthClient model count|[loopback.Count](#schemaloopback.count)| + + + +## AuthClientController.replaceById + + + +> Code samples + +```'javascript--nodejs +const fetch = require('node-fetch'); +const inputBody = { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "id": 0, + "clientId": "string", + "clientSecret": "string", + "secret": "string", + "redirectUrl": "string", + "accessTokenExpiration": 0, + "refreshTokenExpiration": 0, + "authCodeExpiration": 0 +}; +const headers = { + 'Content-Type':'application/json', + 'Authorization':'Bearer {access-token}' +}; + +fetch('/auth-clients/{id}', +{ + method: 'PUT', + body: JSON.stringify(inputBody), + headers: headers +}) +.then(function(res) { + return res.json(); +}).then(function(body) { + console.log(body); +}); + +``` + +`PUT /auth-clients/{id}` + +> Body parameter + +```json +{ + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "id": 0, + "clientId": "string", + "clientSecret": "string", + "secret": "string", + "redirectUrl": "string", + "accessTokenExpiration": 0, + "refreshTokenExpiration": 0, + "authCodeExpiration": 0 +} +``` + +

Parameters

+ +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|id|path|number|true|none| +|body|body|[AuthClient](#schemaauthclient)|false|none| + +

Responses

+ +|Status|Meaning|Description|Schema| +|---|---|---|---| +|204|[No Content](https://tools.ietf.org/html/rfc7231#section-6.3.5)|AuthClient PUT success|None| + + + +## AuthClientController.updateById + + + +> Code samples + +```'javascript--nodejs +const fetch = require('node-fetch'); +const inputBody = { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "id": 0, + "clientId": "string", + "clientSecret": "string", + "secret": "string", + "redirectUrl": "string", + "accessTokenExpiration": 0, + "refreshTokenExpiration": 0, + "authCodeExpiration": 0 +}; +const headers = { + 'Content-Type':'application/json', + 'Authorization':'Bearer {access-token}' +}; + +fetch('/auth-clients/{id}', +{ + method: 'PATCH', + body: JSON.stringify(inputBody), + headers: headers +}) +.then(function(res) { + return res.json(); +}).then(function(body) { + console.log(body); +}); + +``` + +`PATCH /auth-clients/{id}` + +> Body parameter + +```json +{ + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "id": 0, + "clientId": "string", + "clientSecret": "string", + "secret": "string", + "redirectUrl": "string", + "accessTokenExpiration": 0, + "refreshTokenExpiration": 0, + "authCodeExpiration": 0 +} +``` + +

Parameters

+ +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|id|path|number|true|none| +|body|body|[AuthClientPartial](#schemaauthclientpartial)|false|none| + +

Responses

+ +|Status|Meaning|Description|Schema| +|---|---|---|---| +|204|[No Content](https://tools.ietf.org/html/rfc7231#section-6.3.5)|AuthClient PATCH success|None| + + + +## AuthClientController.findById + + + +> Code samples + +```'javascript--nodejs +const fetch = require('node-fetch'); + +const headers = { + 'Accept':'application/json', + 'Authorization':'Bearer {access-token}' +}; + +fetch('/auth-clients/{id}', +{ + method: 'GET', + + headers: headers +}) +.then(function(res) { + return res.json(); +}).then(function(body) { + console.log(body); +}); + +``` + +`GET /auth-clients/{id}` + +

Parameters

+ +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|id|path|number|true|none| + +> Example responses + +> 200 Response + +```json +{ + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "id": 0, + "clientId": "string", + "clientSecret": "string", + "secret": "string", + "redirectUrl": "string", + "accessTokenExpiration": 0, + "refreshTokenExpiration": 0, + "authCodeExpiration": 0 +} +``` + +

Responses

+ +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|AuthClient model instance|[AuthClient](#schemaauthclient)| + + + +## AuthClientController.deleteById + + + +> Code samples + +```'javascript--nodejs +const fetch = require('node-fetch'); + +const headers = { + 'Authorization':'Bearer {access-token}' +}; + +fetch('/auth-clients/{id}', +{ + method: 'DELETE', + + headers: headers +}) +.then(function(res) { + return res.json(); +}).then(function(body) { + console.log(body); +}); + +``` + +`DELETE /auth-clients/{id}` + +

Parameters

+ +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|id|path|number|true|none| + +

Responses

+ +|Status|Meaning|Description|Schema| +|---|---|---|---| +|204|[No Content](https://tools.ietf.org/html/rfc7231#section-6.3.5)|AuthClient DELETE success|None| + + + +## AuthClientController.create + + + +> Code samples + +```'javascript--nodejs +const fetch = require('node-fetch'); +const inputBody = { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "clientId": "string", + "clientSecret": "string", + "secret": "string", + "redirectUrl": "string", + "accessTokenExpiration": 0, + "refreshTokenExpiration": 0, + "authCodeExpiration": 0 +}; +const headers = { + 'Content-Type':'application/json', + 'Accept':'application/json', + 'Authorization':'Bearer {access-token}' +}; + +fetch('/auth-clients', +{ + method: 'POST', + body: JSON.stringify(inputBody), + headers: headers +}) +.then(function(res) { + return res.json(); +}).then(function(body) { + console.log(body); +}); + +``` + +`POST /auth-clients` + +> Body parameter + +```json +{ + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "clientId": "string", + "clientSecret": "string", + "secret": "string", + "redirectUrl": "string", + "accessTokenExpiration": 0, + "refreshTokenExpiration": 0, + "authCodeExpiration": 0 +} +``` + +

Parameters

+ +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|body|body|[AuthClientExcluding_id_](#schemaauthclientexcluding_id_)|false|none| + +> Example responses + +> 200 Response + +```json +{ + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "id": 0, + "clientId": "string", + "clientSecret": "string", + "secret": "string", + "redirectUrl": "string", + "accessTokenExpiration": 0, + "refreshTokenExpiration": 0, + "authCodeExpiration": 0 +} +``` + +

Responses

+ +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|AuthClient model instance|[AuthClient](#schemaauthclient)| + + + +## AuthClientController.updateAll + + + +> Code samples + +```'javascript--nodejs +const fetch = require('node-fetch'); +const inputBody = { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "id": 0, + "clientId": "string", + "clientSecret": "string", + "secret": "string", + "redirectUrl": "string", + "accessTokenExpiration": 0, + "refreshTokenExpiration": 0, + "authCodeExpiration": 0 +}; +const headers = { + 'Content-Type':'application/json', + 'Accept':'application/json', + 'Authorization':'Bearer {access-token}' +}; + +fetch('/auth-clients', +{ + method: 'PATCH', + body: JSON.stringify(inputBody), + headers: headers +}) +.then(function(res) { + return res.json(); +}).then(function(body) { + console.log(body); +}); + +``` + +`PATCH /auth-clients` + +> Body parameter + +```json +{ + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "id": 0, + "clientId": "string", + "clientSecret": "string", + "secret": "string", + "redirectUrl": "string", + "accessTokenExpiration": 0, + "refreshTokenExpiration": 0, + "authCodeExpiration": 0 +} +``` + +

Parameters

+ +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|where|query|object|false|none| +|body|body|[AuthClientPartial](#schemaauthclientpartial)|false|none| + +> Example responses + +> 200 Response + +```json +{ + "count": 0 +} +``` + +

Responses

+ +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|AuthClient PATCH success count|[loopback.Count](#schemaloopback.count)| + + + +## AuthClientController.find + + + +> Code samples + +```'javascript--nodejs +const fetch = require('node-fetch'); + +const headers = { + 'Accept':'application/json', + 'Authorization':'Bearer {access-token}' +}; + +fetch('/auth-clients', +{ + method: 'GET', + + headers: headers +}) +.then(function(res) { + return res.json(); +}).then(function(body) { + console.log(body); +}); + +``` + +`GET /auth-clients` + +

Parameters

+ +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|filter|query|[auth_clients.Filter](#schemaauth_clients.filter)|false|none| + +> Example responses + +> 200 Response + +```json +[ + { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "id": 0, + "clientId": "string", + "clientSecret": "string", + "secret": "string", + "redirectUrl": "string", + "accessTokenExpiration": 0, + "refreshTokenExpiration": 0, + "authCodeExpiration": 0 + } +] +``` + +

Responses

+ +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|Array of AuthClient model instances|Inline| + +

Response Schema

+ +Status Code **200** + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|*anonymous*|[[AuthClient](#schemaauthclient)]|false|none|none| +|» AuthClient|[AuthClient](#schemaauthclient)|false|none|none| +|»» deleted|boolean|false|none|none| +|»» deletedOn|string(date-time)¦null|false|none|none| +|»» deletedBy|string¦null|false|none|none| +|»» createdOn|string(date-time)|false|none|none| +|»» modifiedOn|string(date-time)|false|none|none| +|»» id|number|false|none|none| +|»» clientId|string|true|none|none| +|»» clientSecret|string|true|none|none| +|»» secret|string|true|none|none| +|»» redirectUrl|string|false|none|none| +|»» accessTokenExpiration|number|true|none|none| +|»» refreshTokenExpiration|number|true|none|none| +|»» authCodeExpiration|number|true|none|none| + + + +

LogoutController

+ +## LogoutController.keycloakLogout + + + +> Code samples + +```'javascript--nodejs +const fetch = require('node-fetch'); +const inputBody = { + "refreshToken": "string" +}; +const headers = { + 'Content-Type':'application/json', + 'Accept':'application/json', + 'Authorization':'string' +}; + +fetch('/keycloak/logout', +{ + method: 'POST', + body: JSON.stringify(inputBody), + headers: headers +}) +.then(function(res) { + return res.json(); +}).then(function(body) { + console.log(body); +}); + +``` + +`POST /keycloak/logout` + +This API will log out the user from application as well as keycloak + +> Body parameter + +```json +{ + "refreshToken": "string" +} +``` + +

Parameters

+ +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|Authorization|header|string|false|This is the access token which is required to authenticate user.| +|body|body|[RefreshTokenRequestPartial](#schemarefreshtokenrequestpartial)|false|none| + +> Example responses + +> 200 Response + +```json +{ + "success": true +} +``` + +

Responses

+ +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|Success Response|[SuccessResponse](#schemasuccessresponse)| +|400|[Bad Request](https://tools.ietf.org/html/rfc7231#section-6.5.1)|The syntax of the request entity is incorrect.|None| +|401|[Unauthorized](https://tools.ietf.org/html/rfc7235#section-3.1)|Invalid Credentials.|None| +|404|[Not Found](https://tools.ietf.org/html/rfc7231#section-6.5.4)|The entity requested does not exist.|None| +|422|[Unprocessable Entity](https://tools.ietf.org/html/rfc2518#section-10.3)|The syntax of the request entity is incorrect|None| + + + +## LogoutController.logout + + + +> Code samples + +```'javascript--nodejs +const fetch = require('node-fetch'); +const inputBody = { + "refreshToken": "string" +}; +const headers = { + 'Content-Type':'application/json', + 'Accept':'application/json', + 'Authorization':'string' +}; + +fetch('/logout', +{ + method: 'POST', + body: JSON.stringify(inputBody), + headers: headers +}) +.then(function(res) { + return res.json(); +}).then(function(body) { + console.log(body); +}); + +``` + +`POST /logout` + +To logout + +> Body parameter + +```json +{ + "refreshToken": "string" +} +``` + +

Parameters

+ +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|Authorization|header|string|false|This is the access token which is required to authenticate user.| +|body|body|[RefreshTokenRequestPartial](#schemarefreshtokenrequestpartial)|false|none| + +> Example responses + +> 200 Response + +```json +{ + "success": true +} +``` + +

Responses

+ +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|Success Response|[SuccessResponse](#schemasuccessresponse)| +|400|[Bad Request](https://tools.ietf.org/html/rfc7231#section-6.5.1)|The syntax of the request entity is incorrect.|None| +|401|[Unauthorized](https://tools.ietf.org/html/rfc7235#section-3.1)|Invalid Credentials.|None| +|404|[Not Found](https://tools.ietf.org/html/rfc7231#section-6.5.4)|The entity requested does not exist.|None| +|422|[Unprocessable Entity](https://tools.ietf.org/html/rfc2518#section-10.3)|The syntax of the request entity is incorrect|None| + + + +

OtpController

+ +## OtpController.findById + + + +> Code samples + +```'javascript--nodejs +const fetch = require('node-fetch'); + +const headers = { + 'Accept':'application/json' +}; + +fetch('/otp-caches/{id}', +{ + method: 'GET', + + headers: headers +}) +.then(function(res) { + return res.json(); +}).then(function(body) { + console.log(body); +}); + +``` + +`GET /otp-caches/{id}` + +

Parameters

+ +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|id|path|string|true|none| + +> Example responses + +> 200 Response + +```json +{ + "otp": "string", + "username": "string" +} +``` + +

Responses

+ +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|Otp model instance|[Otp](#schemaotp)| + + + +## OtpController.deleteById + + + +> Code samples + +```'javascript--nodejs +const fetch = require('node-fetch'); + +fetch('/otp-caches/{id}', +{ + method: 'DELETE' + +}) +.then(function(res) { + return res.json(); +}).then(function(body) { + console.log(body); +}); + +``` + +`DELETE /otp-caches/{id}` + +

Parameters

+ +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|id|path|string|true|none| + +

Responses

+ +|Status|Meaning|Description|Schema| +|---|---|---|---| +|204|[No Content](https://tools.ietf.org/html/rfc7231#section-6.3.5)|Otp DELETE success|None| + + + +## OtpController.create + + + +> Code samples + +```'javascript--nodejs +const fetch = require('node-fetch'); +const inputBody = { + "otp": "string", + "username": "string" +}; +const headers = { + 'Content-Type':'application/json', + 'Accept':'application/json' +}; + +fetch('/otp-caches', +{ + method: 'POST', + body: JSON.stringify(inputBody), + headers: headers +}) +.then(function(res) { + return res.json(); +}).then(function(body) { + console.log(body); +}); + +``` + +`POST /otp-caches` + +> Body parameter + +```json +{ + "otp": "string", + "username": "string" +} +``` + +

Parameters

+ +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|body|body|[Otp](#schemaotp)|false|none| + +> Example responses + +> 200 Response + +```json +{ + "otp": "string", + "username": "string" +} +``` + +

Responses

+ +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|Otp model instance|[Otp](#schemaotp)| + + + +# Schemas + +

LoginRequest

+ + + + + + +```json +{ + "client_id": "string", + "client_secret": "string", + "username": "string", + "password": "string" +} + +``` + +LoginRequest + +### Properties + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|client_id|string|true|none|This property is supposed to be a string and is a required field| +|client_secret|string|true|none|This property is supposed to be a string and is a required field| +|username|string|true|none|This property is supposed to be a string and is a required field| +|password|string|true|none|This property is supposed to be a string and is a required field| + +

TokenResponse

+ + + + + + +```json +{ + "accessToken": "string", + "refreshToken": "string", + "expires": 0, + "pubnubToken": "string" +} + +``` + +TokenResponse + +### Properties + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|accessToken|string|true|none|This property is supposed to be a string and is a required field| +|refreshToken|string|true|none|This property is supposed to be a string and is a required field| +|expires|number|true|none|none| +|pubnubToken|string|false|none|none| + +

AuthTokenRequest

+ + + + + + +```json +{ + "code": "string", + "clientId": "string" +} + +``` + +AuthTokenRequest + +### Properties + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|code|string|true|none|none| +|clientId|string|true|none|none| + +

Function

+ + + + + + +```json +null + +``` + +### Properties + +*None* + +

AuthRefreshTokenRequest

+ + + + + + +```json +{ + "refreshToken": "string" +} + +``` + +AuthRefreshTokenRequest + +### Properties + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|refreshToken|string|true|none|none| + +

ClientAuthRequest

+ + + + + + +```json +{ + "client_id": "string", + "client_secret": "string" +} + +``` + +ClientAuthRequest + +### Properties + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|client_id|string|true|none|This property is supposed to be a string and is a required field| +|client_secret|string|true|none|This property is supposed to be a string and is a required field| + +

ResetPasswordPartial

+ + + + + + +```json +{ + "refreshToken": "string", + "username": "string", + "password": "string", + "oldPassword": "string" +} + +``` + +ResetPasswordPartial + +### Properties + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|refreshToken|string|false|none|none| +|username|string|false|none|This property is supposed to be a string and is a required field| +|password|string|false|none|This property is supposed to be a string and is a required field| +|oldPassword|string|false|none|This property is supposed to be a string and is a required field| + +

ResetPassword

+ + + + + + +```json +{ + "refreshToken": "string", + "username": "string", + "password": "string", + "oldPassword": "string" +} + +``` + +ResetPassword + +### Properties + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|refreshToken|string|true|none|none| +|username|string|true|none|This property is supposed to be a string and is a required field| +|password|string|true|none|This property is supposed to be a string and is a required field| +|oldPassword|string|false|none|This property is supposed to be a string and is a required field| + +

SuccessResponse

+ + + + + + +```json +{ + "success": true +} + +``` + +SuccessResponse + +### Properties + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|success|boolean|false|none|none| + +

RefreshTokenRequestPartial

+ + + + + + +```json +{ + "refreshToken": "string" +} + +``` + +RefreshTokenRequestPartial + +### Properties + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|refreshToken|string|false|none|none| + +

RefreshTokenRequest

+ + + + + + +```json +{ + "refreshToken": "string" +} + +``` + +RefreshTokenRequest + +### Properties + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|refreshToken|string|true|none|none| + +

Otp

+ + + + + + +```json +{ + "otp": "string", + "username": "string" +} + +``` + +Otp + +### Properties + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|otp|string|true|none|none| +|username|string|true|none|none| + +

AuthClient

+ + + + + + +```json +{ + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "id": 0, + "clientId": "string", + "clientSecret": "string", + "secret": "string", + "redirectUrl": "string", + "accessTokenExpiration": 0, + "refreshTokenExpiration": 0, + "authCodeExpiration": 0 +} + +``` + +AuthClient + +### Properties + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|deleted|boolean|false|none|none| +|deletedOn|string(date-time)¦null|false|none|none| +|deletedBy|string¦null|false|none|none| +|createdOn|string(date-time)|false|none|none| +|modifiedOn|string(date-time)|false|none|none| +|id|number|false|none|none| +|clientId|string|true|none|none| +|clientSecret|string|true|none|none| +|secret|string|true|none|none| +|redirectUrl|string|false|none|none| +|accessTokenExpiration|number|true|none|none| +|refreshTokenExpiration|number|true|none|none| +|authCodeExpiration|number|true|none|none| + +

AuthClientExcluding_id_

+ + + + + + +```json +{ + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "clientId": "string", + "clientSecret": "string", + "secret": "string", + "redirectUrl": "string", + "accessTokenExpiration": 0, + "refreshTokenExpiration": 0, + "authCodeExpiration": 0 +} + +``` + +AuthClientExcluding_id_ + +### Properties + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|deleted|boolean|false|none|none| +|deletedOn|string(date-time)¦null|false|none|none| +|deletedBy|string¦null|false|none|none| +|createdOn|string(date-time)|false|none|none| +|modifiedOn|string(date-time)|false|none|none| +|clientId|string|true|none|none| +|clientSecret|string|true|none|none| +|secret|string|true|none|none| +|redirectUrl|string|false|none|none| +|accessTokenExpiration|number|true|none|none| +|refreshTokenExpiration|number|true|none|none| +|authCodeExpiration|number|true|none|none| + +

AuthClientPartial

+ + + + + + +```json +{ + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "id": 0, + "clientId": "string", + "clientSecret": "string", + "secret": "string", + "redirectUrl": "string", + "accessTokenExpiration": 0, + "refreshTokenExpiration": 0, + "authCodeExpiration": 0 +} + +``` + +AuthClientPartial + +### Properties + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|deleted|boolean|false|none|none| +|deletedOn|string(date-time)¦null|false|none|none| +|deletedBy|string¦null|false|none|none| +|createdOn|string(date-time)|false|none|none| +|modifiedOn|string(date-time)|false|none|none| +|id|number|false|none|none| +|clientId|string|false|none|none| +|clientSecret|string|false|none|none| +|secret|string|false|none|none| +|redirectUrl|string|false|none|none| +|accessTokenExpiration|number|false|none|none| +|refreshTokenExpiration|number|false|none|none| +|authCodeExpiration|number|false|none|none| + +

User

+ + + + + + +```json +{ + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "firstName": "string", + "lastName": "string", + "middleName": "string", + "username": "string", + "email": "string", + "phone": "string", + "authClientIds": "string", + "lastLogin": "2019-08-24T14:15:22Z", + "dob": "2019-08-24T14:15:22Z", + "gender": "M", + "defaultTenantId": "string" +} + +``` + +User + +### Properties + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|deleted|boolean|false|none|none| +|deletedOn|string(date-time)¦null|false|none|none| +|deletedBy|string¦null|false|none|none| +|createdOn|string(date-time)|false|none|none| +|modifiedOn|string(date-time)|false|none|none| +|createdBy|string|false|none|none| +|modifiedBy|string|false|none|none| +|id|string|false|none|none| +|firstName|string|true|none|none| +|lastName|string|false|none|none| +|middleName|string|false|none|none| +|username|string|true|none|none| +|email|string|false|none|none| +|phone|string|false|none|none| +|authClientIds|string|false|none|none| +|lastLogin|string(date-time)|false|none|none| +|dob|string(date-time)|false|none|none| +|gender|string|false|none|This field takes a single character as input in database.
'M' for male and 'F' for female.| +|defaultTenantId|string|false|none|none| + +#### Enumerated Values + +|Property|Value| +|---|---| +|gender|M| +|gender|F| +|gender|O| + +

ForgetPasswordResponseDto

+ + + + + + +```json +{ + "code": "string", + "expiry": 0, + "email": "string", + "user": { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "firstName": "string", + "lastName": "string", + "middleName": "string", + "username": "string", + "email": "string", + "phone": "string", + "authClientIds": "string", + "lastLogin": "2019-08-24T14:15:22Z", + "dob": "2019-08-24T14:15:22Z", + "gender": "M", + "defaultTenantId": "string" + } +} + +``` + +ForgetPasswordResponseDto + +### Properties + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|code|string|true|none|none| +|expiry|number|true|none|none| +|email|string|true|none|none| +|user|[User](#schemauser)|false|none|This is signature for user model.| + +

ForgetPasswordDto

+ + + + + + +```json +{ + "username": "string", + "client_id": "string", + "client_secret": "string" +} + +``` + +ForgetPasswordDto + +### Properties + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|username|string|true|none|none| +|client_id|string|true|none|none| +|client_secret|string|true|none|none| + +

ResetPasswordWithClient

+ + + + + + +```json +{ + "token": "string", + "password": "string", + "client_id": "string", + "client_secret": "string" +} + +``` + +ResetPasswordWithClient + +### Properties + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|token|string|true|none|none| +|password|string|true|none|none| +|client_id|string|true|none|none| +|client_secret|string|true|none|none| + +

SignupRequestResponseDto

+ + + + + + +```json +{ + "code": "string", + "expiry": 0, + "email": "string" +} + +``` + +SignupRequestResponseDto + +### Properties + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|code|string|true|none|none| +|expiry|number|true|none|none| +|email|string|true|none|none| + +

SignupRequestDto

+ + + + + + +```json +{ + "email": "string", + "data": {} +} + +``` + +SignupRequestDto + +### Properties + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|email|string|true|none|none| +|data|object|false|none|none| + +

LocalUserProfileDto

+ + + + + + +```json +{ + "email": "string", + "password": "string" +} + +``` + +LocalUserProfileDto + +### Properties + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|email|string|true|none|none| +|password|string|true|none|none| + +

SignupRequest

+ + + + + + +```json +{ + "email": "string", + "expiry": "string" +} + +``` + +SignupRequest + +### Properties + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|email|string|true|none|none| +|expiry|string|false|none|none| + +

loopback.Count

+ + + + + + +```json +{ + "count": 0 +} + +``` + +loopback.Count + +### Properties + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|count|number|false|none|none| + +

auth_clients.Filter

+ + + + + + +```json +{ + "offset": 0, + "limit": 100, + "skip": 0, + "order": "string", + "where": {}, + "fields": { + "deleted": true, + "deletedOn": true, + "deletedBy": true, + "createdOn": true, + "modifiedOn": true, + "id": true, + "clientId": true, + "clientSecret": true, + "secret": true, + "redirectUrl": true, + "accessTokenExpiration": true, + "refreshTokenExpiration": true, + "authCodeExpiration": true + } +} + +``` + +auth_clients.Filter + +### Properties + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|offset|integer|false|none|none| +|limit|integer|false|none|none| +|skip|integer|false|none|none| +|order|any|false|none|none| + +oneOf + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|» *anonymous*|string|false|none|none| + +xor + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|» *anonymous*|[string]|false|none|none| + +continued + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|where|object|false|none|none| +|fields|any|false|none|none| + +oneOf + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|» *anonymous*|object|false|none|none| +|»» deleted|boolean|false|none|none| +|»» deletedOn|boolean|false|none|none| +|»» deletedBy|boolean|false|none|none| +|»» createdOn|boolean|false|none|none| +|»» modifiedOn|boolean|false|none|none| +|»» id|boolean|false|none|none| +|»» clientId|boolean|false|none|none| +|»» clientSecret|boolean|false|none|none| +|»» secret|boolean|false|none|none| +|»» redirectUrl|boolean|false|none|none| +|»» accessTokenExpiration|boolean|false|none|none| +|»» refreshTokenExpiration|boolean|false|none|none| +|»» authCodeExpiration|boolean|false|none|none| + +xor + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|» *anonymous*|[string]|false|none|none| + diff --git a/services/authentication-service/package.json b/services/authentication-service/package.json index ba5f656f20..c9a0f8de5d 100644 --- a/services/authentication-service/package.json +++ b/services/authentication-service/package.json @@ -12,7 +12,7 @@ "node": ">=10" }, "scripts": { - "build": "lb-tsc", + "build": "lb-tsc && npm run openapi-spec && npm run apidocs", "build:watch": "lb-tsc --watch", "lint": "npm run prettier:check && npm run eslint", "lint:fix": "npm run eslint:fix && npm run prettier:fix", @@ -21,6 +21,8 @@ "prettier:fix": "npm run prettier:cli -- --write", "eslint": "lb-eslint --report-unused-disable-directives .", "eslint:fix": "npm run eslint -- --fix", + "openapi-spec": "node ./dist/openapi-spec", + "apidocs": "./node_modules/.bin/widdershins --search false --language_tabs 'javascript:JavaScript:request' 'javascript--nodejs:Node.JS' --summary openapi.json -o openapi.md", "pretest": "npm run clean && npm run build", "test": "echo \"No tests !\"", "posttest": "npm run lint", @@ -91,7 +93,8 @@ "db-migrate-pg": "^1.2.2", "eslint": "^7.12.1", "source-map-support": "^0.5.19", - "typescript": "~4.2.4" + "typescript": "~4.2.4", + "widdershins": "^4.0.1" }, "publishConfig": { "registry": "https://registry.npmjs.org/", diff --git a/services/authentication-service/src/application.ts b/services/authentication-service/src/application.ts new file mode 100644 index 0000000000..726e58169e --- /dev/null +++ b/services/authentication-service/src/application.ts @@ -0,0 +1,27 @@ +import {BootMixin} from '@loopback/boot'; +import {ApplicationConfig} from '@loopback/core'; +import {RepositoryMixin} from '@loopback/repository'; +import {RestApplication} from '@loopback/rest'; +import * as path from 'path'; +import {AuthenticationServiceComponent} from './component'; + +export {ApplicationConfig}; + +export class AuthenticationServiceApplication extends BootMixin( + RepositoryMixin(RestApplication), +) { + constructor(options: ApplicationConfig = {}) { + super(options); + this.static('/', path.join(__dirname, '../public')); + this.component(AuthenticationServiceComponent); + + this.projectRoot = __dirname; + this.bootOptions = { + controllers: { + dirs: ['controllers'], + extensions: ['.controller.js'], + nested: true, + }, + }; + } +} diff --git a/services/authentication-service/src/openapi-spec.ts b/services/authentication-service/src/openapi-spec.ts new file mode 100644 index 0000000000..4b39fd4f8a --- /dev/null +++ b/services/authentication-service/src/openapi-spec.ts @@ -0,0 +1,25 @@ +import {ApplicationConfig} from '@loopback/core'; +import {AuthenticationServiceApplication} from './application'; + +/** + * Export the OpenAPI spec from the application + */ +const PORT = 3000; +const FILEARGVI = 2; +async function exportOpenApiSpec(): Promise { + const config: ApplicationConfig = { + rest: { + port: +(process.env.PORT ?? PORT), + host: process.env.HOST ?? 'localhost', + }, + }; + const outFile = process.argv[FILEARGVI] ?? 'openapi.json'; + const app = new AuthenticationServiceApplication(config); + await app.boot(); + await app.exportOpenApiSpec(outFile); +} + +exportOpenApiSpec().catch(err => { + console.error('Fail to export OpenAPI spec from the application.', err); //NOSONAR + process.exit(1); +}); diff --git a/services/bpmn-service/README.md b/services/bpmn-service/README.md index 1b3c4e95c9..524c190dcd 100644 --- a/services/bpmn-service/README.md +++ b/services/bpmn-service/README.md @@ -227,3 +227,7 @@ Endpoint to delete a workflow, uses the `delete` method from the provider. `GET /workflow` Endpoint to get all the workflows. + +## API's Details + +Visit the [OpenAPI spec docs](./openapi.md) diff --git a/services/bpmn-service/openapi.json b/services/bpmn-service/openapi.json new file mode 100644 index 0000000000..4aed586a88 --- /dev/null +++ b/services/bpmn-service/openapi.json @@ -0,0 +1,571 @@ +{ + "openapi": "3.0.0", + "info": { + "title": "Bpmn Service", + "version": "1.0.0", + "description": "services", + "contact": { + "name": "Sourcefuse" + } + }, + "paths": { + "/workflow/{id}/execute": { + "post": { + "x-controller-name": "WorkflowController", + "x-operation-name": "startWorkflow", + "tags": [ + "WorkflowController" + ], + "security": [ + { + "bearerAuth": [] + } + ], + "responses": { + "200": { + "description": "Workflow instance" + } + }, + "parameters": [ + { + "name": "id", + "in": "path", + "schema": { + "type": "string" + }, + "required": true + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ExecuteWorkflowDto" + } + } + }, + "x-parameter-index": 1 + }, + "operationId": "WorkflowController.startWorkflow" + } + }, + "/workflow/{id}": { + "patch": { + "x-controller-name": "WorkflowController", + "x-operation-name": "updateById", + "tags": [ + "WorkflowController" + ], + "security": [ + { + "bearerAuth": [] + } + ], + "responses": { + "204": { + "description": "Workflow PATCH success" + } + }, + "parameters": [ + { + "name": "id", + "in": "path", + "schema": { + "type": "string" + }, + "required": true + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/WorkflowDtoPartial" + } + } + } + }, + "operationId": "WorkflowController.updateById" + }, + "get": { + "x-controller-name": "WorkflowController", + "x-operation-name": "count", + "tags": [ + "WorkflowController" + ], + "responses": { + "200": { + "description": "Workflow Model" + } + }, + "parameters": [ + { + "name": "id", + "in": "path", + "schema": { + "type": "string" + }, + "required": true + } + ], + "operationId": "WorkflowController.count" + }, + "delete": { + "x-controller-name": "WorkflowController", + "x-operation-name": "deleteById", + "tags": [ + "WorkflowController" + ], + "security": [ + { + "bearerAuth": [] + } + ], + "responses": { + "204": { + "description": "Workflow DELETE success" + } + }, + "parameters": [ + { + "name": "id", + "in": "path", + "schema": { + "type": "string" + }, + "required": true + } + ], + "operationId": "WorkflowController.deleteById" + } + }, + "/workflow": { + "post": { + "x-controller-name": "WorkflowController", + "x-operation-name": "create", + "tags": [ + "WorkflowController" + ], + "security": [ + { + "bearerAuth": [] + } + ], + "responses": { + "200": { + "description": "Workflow model instance", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Workflow" + } + } + } + } + }, + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/NewWorkflow" + } + } + } + }, + "operationId": "WorkflowController.create" + }, + "get": { + "x-controller-name": "WorkflowController", + "x-operation-name": "find", + "tags": [ + "WorkflowController" + ], + "responses": { + "200": { + "description": "Array of Workflow model instances", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Workflow" + } + } + } + } + } + }, + "parameters": [ + { + "name": "filter", + "in": "query", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/workflows.Filter" + } + } + } + } + ], + "operationId": "WorkflowController.find" + } + } + }, + "components": { + "securitySchemes": { + "HTTPBearer": { + "type": "http", + "scheme": "bearer", + "bearerFormat": "JWT" + } + }, + "schemas": { + "Workflow": { + "title": "Workflow", + "type": "object", + "properties": { + "deleted": { + "type": "boolean" + }, + "deletedOn": { + "type": "string", + "format": "date-time", + "nullable": true + }, + "deletedBy": { + "type": "string", + "nullable": true + }, + "createdOn": { + "type": "string", + "format": "date-time" + }, + "modifiedOn": { + "type": "string", + "format": "date-time" + }, + "createdBy": { + "type": "string" + }, + "modifiedBy": { + "type": "string" + }, + "id": { + "type": "string" + }, + "workflowVersion": { + "type": "number" + }, + "externalIdentifier": { + "type": "string" + }, + "name": { + "type": "string" + }, + "provider": { + "type": "string" + }, + "inputSchema": { + "type": "object" + }, + "description": { + "type": "string" + } + }, + "required": [ + "workflowVersion", + "externalIdentifier", + "provider", + "inputSchema" + ], + "additionalProperties": false + }, + "NewWorkflow": { + "title": "NewWorkflow", + "type": "object", + "description": "(tsType: WorkflowDto, schemaOptions: { title: 'NewWorkflow' })", + "properties": { + "name": { + "type": "string" + }, + "bpmnFile": { + "type": "string" + }, + "inputSchema": { + "type": "object" + } + }, + "required": [ + "name", + "bpmnFile", + "inputSchema" + ], + "additionalProperties": true, + "x-typescript-type": "WorkflowDto" + }, + "WorkflowDto": { + "title": "WorkflowDto", + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "bpmnFile": { + "type": "string" + }, + "inputSchema": { + "type": "object" + } + }, + "required": [ + "name", + "bpmnFile", + "inputSchema" + ], + "additionalProperties": true + }, + "WorkflowDtoPartial": { + "title": "WorkflowDtoPartial", + "type": "object", + "description": "(tsType: Partial, schemaOptions: { partial: true })", + "properties": { + "name": { + "type": "string" + }, + "bpmnFile": { + "type": "string" + }, + "inputSchema": { + "type": "object" + } + }, + "additionalProperties": true, + "x-typescript-type": "Partial" + }, + "ExecuteWorkflowDto": { + "title": "ExecuteWorkflowDto", + "type": "object", + "properties": { + "workflowVersion": { + "type": "number" + }, + "input": { + "type": "object" + } + }, + "required": [ + "input" + ], + "additionalProperties": false + }, + "workflows.ScopeFilter": { + "properties": { + "offset": { + "type": "integer", + "minimum": 0 + }, + "limit": { + "type": "integer", + "minimum": 1, + "example": 100 + }, + "skip": { + "type": "integer", + "minimum": 0 + }, + "order": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "array", + "items": { + "type": "string" + } + } + ] + }, + "where": { + "type": "object", + "additionalProperties": true + }, + "fields": { + "oneOf": [ + { + "type": "object", + "properties": {}, + "additionalProperties": true + }, + { + "type": "array", + "items": { + "type": "string" + }, + "uniqueItems": true + } + ] + }, + "include": { + "type": "array", + "items": { + "type": "object", + "properties": {}, + "additionalProperties": true + } + } + }, + "additionalProperties": false, + "title": "workflows.ScopeFilter" + }, + "workflows.IncludeFilter.Items": { + "title": "workflows.IncludeFilter.Items", + "type": "object", + "properties": { + "relation": { + "type": "string" + }, + "scope": { + "$ref": "#/components/schemas/workflows.ScopeFilter" + } + } + }, + "workflows.Filter": { + "type": "object", + "title": "workflows.Filter", + "properties": { + "offset": { + "type": "integer", + "minimum": 0 + }, + "limit": { + "type": "integer", + "minimum": 1, + "example": 100 + }, + "skip": { + "type": "integer", + "minimum": 0 + }, + "order": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "array", + "items": { + "type": "string" + } + } + ] + }, + "where": { + "title": "workflows.WhereFilter", + "type": "object", + "additionalProperties": true + }, + "fields": { + "oneOf": [ + { + "type": "object", + "properties": { + "deleted": { + "type": "boolean" + }, + "deletedOn": { + "type": "boolean" + }, + "deletedBy": { + "type": "boolean" + }, + "createdOn": { + "type": "boolean" + }, + "modifiedOn": { + "type": "boolean" + }, + "createdBy": { + "type": "boolean" + }, + "modifiedBy": { + "type": "boolean" + }, + "id": { + "type": "boolean" + }, + "workflowVersion": { + "type": "boolean" + }, + "externalIdentifier": { + "type": "boolean" + }, + "name": { + "type": "boolean" + }, + "provider": { + "type": "boolean" + }, + "inputSchema": { + "type": "boolean" + }, + "description": { + "type": "boolean" + } + }, + "additionalProperties": false + }, + { + "type": "array", + "items": { + "type": "string", + "enum": [ + "deleted", + "deletedOn", + "deletedBy", + "createdOn", + "modifiedOn", + "createdBy", + "modifiedBy", + "id", + "workflowVersion", + "externalIdentifier", + "name", + "provider", + "inputSchema", + "description" + ], + "example": "deleted" + }, + "uniqueItems": true + } + ], + "title": "workflows.Fields" + }, + "include": { + "title": "workflows.IncludeFilter", + "type": "array", + "items": { + "anyOf": [ + { + "$ref": "#/components/schemas/workflows.IncludeFilter.Items" + }, + { + "type": "string" + } + ] + } + } + }, + "additionalProperties": false, + "x-typescript-type": "@loopback/repository#Filter" + } + } + }, + "servers": [ + { + "url": "/" + } + ] +} \ No newline at end of file diff --git a/services/bpmn-service/openapi.md b/services/bpmn-service/openapi.md new file mode 100644 index 0000000000..eb59999881 --- /dev/null +++ b/services/bpmn-service/openapi.md @@ -0,0 +1,792 @@ +--- +title: Bpmn Service v1.0.0 +language_tabs: + - "'javascript": JavaScript + - "'javascript--nodejs": Node.JS' +language_clients: + - "'javascript": request' + - "'javascript--nodejs": "" +toc_footers: [] +includes: [] +search: false +highlight_theme: darkula +headingLevel: 2 + +--- + + + +

Bpmn Service v1.0.0

+ +> Scroll down for code samples, example requests and responses. Select a language for code samples from the tabs above or the mobile navigation menu. + +services + +Base URLs: + +* / + +# Authentication + +- HTTP Authentication, scheme: bearer + +

WorkflowController

+ +## WorkflowController.startWorkflow + + + +> Code samples + +```'javascript--nodejs +const fetch = require('node-fetch'); +const inputBody = { + "workflowVersion": 0, + "input": {} +}; +const headers = { + 'Content-Type':'application/json' +}; + +fetch('/workflow/{id}/execute', +{ + method: 'POST', + body: JSON.stringify(inputBody), + headers: headers +}) +.then(function(res) { + return res.json(); +}).then(function(body) { + console.log(body); +}); + +``` + +`POST /workflow/{id}/execute` + +> Body parameter + +```json +{ + "workflowVersion": 0, + "input": {} +} +``` + +

Parameters

+ +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|id|path|string|true|none| +|body|body|[ExecuteWorkflowDto](#schemaexecuteworkflowdto)|false|none| + +

Responses

+ +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|Workflow instance|None| + + + +## WorkflowController.updateById + + + +> Code samples + +```'javascript--nodejs +const fetch = require('node-fetch'); +const inputBody = { + "name": "string", + "bpmnFile": "string", + "inputSchema": {} +}; +const headers = { + 'Content-Type':'application/json' +}; + +fetch('/workflow/{id}', +{ + method: 'PATCH', + body: JSON.stringify(inputBody), + headers: headers +}) +.then(function(res) { + return res.json(); +}).then(function(body) { + console.log(body); +}); + +``` + +`PATCH /workflow/{id}` + +> Body parameter + +```json +{ + "name": "string", + "bpmnFile": "string", + "inputSchema": {} +} +``` + +

Parameters

+ +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|id|path|string|true|none| +|body|body|[WorkflowDtoPartial](#schemaworkflowdtopartial)|false|none| + +

Responses

+ +|Status|Meaning|Description|Schema| +|---|---|---|---| +|204|[No Content](https://tools.ietf.org/html/rfc7231#section-6.3.5)|Workflow PATCH success|None| + + + +## WorkflowController.count + + + +> Code samples + +```'javascript--nodejs +const fetch = require('node-fetch'); + +fetch('/workflow/{id}', +{ + method: 'GET' + +}) +.then(function(res) { + return res.json(); +}).then(function(body) { + console.log(body); +}); + +``` + +`GET /workflow/{id}` + +

Parameters

+ +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|id|path|string|true|none| + +

Responses

+ +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|Workflow Model|None| + + + +## WorkflowController.deleteById + + + +> Code samples + +```'javascript--nodejs +const fetch = require('node-fetch'); + +fetch('/workflow/{id}', +{ + method: 'DELETE' + +}) +.then(function(res) { + return res.json(); +}).then(function(body) { + console.log(body); +}); + +``` + +`DELETE /workflow/{id}` + +

Parameters

+ +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|id|path|string|true|none| + +

Responses

+ +|Status|Meaning|Description|Schema| +|---|---|---|---| +|204|[No Content](https://tools.ietf.org/html/rfc7231#section-6.3.5)|Workflow DELETE success|None| + + + +## WorkflowController.create + + + +> Code samples + +```'javascript--nodejs +const fetch = require('node-fetch'); +const inputBody = { + "name": "string", + "bpmnFile": "string", + "inputSchema": {} +}; +const headers = { + 'Content-Type':'application/json', + 'Accept':'application/json' +}; + +fetch('/workflow', +{ + method: 'POST', + body: JSON.stringify(inputBody), + headers: headers +}) +.then(function(res) { + return res.json(); +}).then(function(body) { + console.log(body); +}); + +``` + +`POST /workflow` + +> Body parameter + +```json +{ + "name": "string", + "bpmnFile": "string", + "inputSchema": {} +} +``` + +

Parameters

+ +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|body|body|[NewWorkflow](#schemanewworkflow)|false|none| + +> Example responses + +> 200 Response + +```json +{ + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "workflowVersion": 0, + "externalIdentifier": "string", + "name": "string", + "provider": "string", + "inputSchema": {}, + "description": "string" +} +``` + +

Responses

+ +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|Workflow model instance|[Workflow](#schemaworkflow)| + + + +## WorkflowController.find + + + +> Code samples + +```'javascript--nodejs +const fetch = require('node-fetch'); + +const headers = { + 'Accept':'application/json' +}; + +fetch('/workflow', +{ + method: 'GET', + + headers: headers +}) +.then(function(res) { + return res.json(); +}).then(function(body) { + console.log(body); +}); + +``` + +`GET /workflow` + +

Parameters

+ +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|filter|query|[workflows.Filter](#schemaworkflows.filter)|false|none| + +> Example responses + +> 200 Response + +```json +[ + { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "workflowVersion": 0, + "externalIdentifier": "string", + "name": "string", + "provider": "string", + "inputSchema": {}, + "description": "string" + } +] +``` + +

Responses

+ +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|Array of Workflow model instances|Inline| + +

Response Schema

+ +Status Code **200** + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|*anonymous*|[[Workflow](#schemaworkflow)]|false|none|none| +|» Workflow|[Workflow](#schemaworkflow)|false|none|none| +|»» deleted|boolean|false|none|none| +|»» deletedOn|string(date-time)¦null|false|none|none| +|»» deletedBy|string¦null|false|none|none| +|»» createdOn|string(date-time)|false|none|none| +|»» modifiedOn|string(date-time)|false|none|none| +|»» createdBy|string|false|none|none| +|»» modifiedBy|string|false|none|none| +|»» id|string|false|none|none| +|»» workflowVersion|number|true|none|none| +|»» externalIdentifier|string|true|none|none| +|»» name|string|false|none|none| +|»» provider|string|true|none|none| +|»» inputSchema|object|true|none|none| +|»» description|string|false|none|none| + + + +# Schemas + +

Workflow

+ + + + + + +```json +{ + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "workflowVersion": 0, + "externalIdentifier": "string", + "name": "string", + "provider": "string", + "inputSchema": {}, + "description": "string" +} + +``` + +Workflow + +### Properties + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|deleted|boolean|false|none|none| +|deletedOn|string(date-time)¦null|false|none|none| +|deletedBy|string¦null|false|none|none| +|createdOn|string(date-time)|false|none|none| +|modifiedOn|string(date-time)|false|none|none| +|createdBy|string|false|none|none| +|modifiedBy|string|false|none|none| +|id|string|false|none|none| +|workflowVersion|number|true|none|none| +|externalIdentifier|string|true|none|none| +|name|string|false|none|none| +|provider|string|true|none|none| +|inputSchema|object|true|none|none| +|description|string|false|none|none| + +

NewWorkflow

+ + + + + + +```json +{ + "name": "string", + "bpmnFile": "string", + "inputSchema": {} +} + +``` + +NewWorkflow + +### Properties + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|name|string|true|none|none| +|bpmnFile|string|true|none|none| +|inputSchema|object|true|none|none| + +

WorkflowDto

+ + + + + + +```json +{ + "name": "string", + "bpmnFile": "string", + "inputSchema": {} +} + +``` + +WorkflowDto + +### Properties + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|name|string|true|none|none| +|bpmnFile|string|true|none|none| +|inputSchema|object|true|none|none| + +

WorkflowDtoPartial

+ + + + + + +```json +{ + "name": "string", + "bpmnFile": "string", + "inputSchema": {} +} + +``` + +WorkflowDtoPartial + +### Properties + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|name|string|false|none|none| +|bpmnFile|string|false|none|none| +|inputSchema|object|false|none|none| + +

ExecuteWorkflowDto

+ + + + + + +```json +{ + "workflowVersion": 0, + "input": {} +} + +``` + +ExecuteWorkflowDto + +### Properties + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|workflowVersion|number|false|none|none| +|input|object|true|none|none| + +

workflows.ScopeFilter

+ + + + + + +```json +{ + "offset": 0, + "limit": 100, + "skip": 0, + "order": "string", + "where": {}, + "fields": {}, + "include": [ + {} + ] +} + +``` + +workflows.ScopeFilter + +### Properties + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|offset|integer|false|none|none| +|limit|integer|false|none|none| +|skip|integer|false|none|none| +|order|any|false|none|none| + +oneOf + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|» *anonymous*|string|false|none|none| + +xor + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|» *anonymous*|[string]|false|none|none| + +continued + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|where|object|false|none|none| +|fields|any|false|none|none| + +oneOf + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|» *anonymous*|object|false|none|none| + +xor + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|» *anonymous*|[string]|false|none|none| + +continued + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|include|[object]|false|none|none| + +

workflows.IncludeFilter.Items

+ + + + + + +```json +{ + "relation": "string", + "scope": { + "offset": 0, + "limit": 100, + "skip": 0, + "order": "string", + "where": {}, + "fields": {}, + "include": [ + {} + ] + } +} + +``` + +workflows.IncludeFilter.Items + +### Properties + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|relation|string|false|none|none| +|scope|[workflows.ScopeFilter](#schemaworkflows.scopefilter)|false|none|none| + +

workflows.Filter

+ + + + + + +```json +{ + "offset": 0, + "limit": 100, + "skip": 0, + "order": "string", + "where": {}, + "fields": { + "deleted": true, + "deletedOn": true, + "deletedBy": true, + "createdOn": true, + "modifiedOn": true, + "createdBy": true, + "modifiedBy": true, + "id": true, + "workflowVersion": true, + "externalIdentifier": true, + "name": true, + "provider": true, + "inputSchema": true, + "description": true + }, + "include": [ + { + "relation": "string", + "scope": { + "offset": 0, + "limit": 100, + "skip": 0, + "order": "string", + "where": {}, + "fields": {}, + "include": [ + {} + ] + } + } + ] +} + +``` + +workflows.Filter + +### Properties + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|offset|integer|false|none|none| +|limit|integer|false|none|none| +|skip|integer|false|none|none| +|order|any|false|none|none| + +oneOf + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|» *anonymous*|string|false|none|none| + +xor + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|» *anonymous*|[string]|false|none|none| + +continued + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|where|object|false|none|none| +|fields|any|false|none|none| + +oneOf + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|» *anonymous*|object|false|none|none| +|»» deleted|boolean|false|none|none| +|»» deletedOn|boolean|false|none|none| +|»» deletedBy|boolean|false|none|none| +|»» createdOn|boolean|false|none|none| +|»» modifiedOn|boolean|false|none|none| +|»» createdBy|boolean|false|none|none| +|»» modifiedBy|boolean|false|none|none| +|»» id|boolean|false|none|none| +|»» workflowVersion|boolean|false|none|none| +|»» externalIdentifier|boolean|false|none|none| +|»» name|boolean|false|none|none| +|»» provider|boolean|false|none|none| +|»» inputSchema|boolean|false|none|none| +|»» description|boolean|false|none|none| + +xor + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|» *anonymous*|[string]|false|none|none| + +continued + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|include|[anyOf]|false|none|none| + +anyOf + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|» *anonymous*|[workflows.IncludeFilter.Items](#schemaworkflows.includefilter.items)|false|none|none| + +or + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|» *anonymous*|string|false|none|none| + diff --git a/services/bpmn-service/package.json b/services/bpmn-service/package.json index a2887e33da..ce8cdbb0f5 100644 --- a/services/bpmn-service/package.json +++ b/services/bpmn-service/package.json @@ -12,7 +12,7 @@ "node": ">=10" }, "scripts": { - "build": "npm run clean && lb-tsc", + "build": "npm run clean && lb-tsc && npm run openapi-spec && npm run apidocs", "build:watch": "lb-tsc --watch", "lint": "npm run prettier:check && npm run eslint", "lint:fix": "npm run eslint:fix && npm run prettier:fix", @@ -21,6 +21,8 @@ "prettier:fix": "npm run prettier:cli -- --write", "eslint": "lb-eslint --report-unused-disable-directives .", "eslint:fix": "npm run eslint -- --fix", + "openapi-spec": "node ./dist/openapi-spec", + "apidocs": "./node_modules/.bin/widdershins --search false --language_tabs 'javascript:JavaScript:request' 'javascript--nodejs:Node.JS' --summary openapi.json -o openapi.md", "pretest": "npm run clean && npm run build", "test": "echo \"No tests !\"", "posttest": "npm run lint", @@ -77,7 +79,8 @@ "db-migrate-pg": "^1.2.2", "eslint": "^7.25.0", "source-map-support": "^0.5.19", - "typescript": "~4.2.4" + "typescript": "~4.2.4", + "widdershins": "^4.0.1" }, "publishConfig": { "registry": "https://registry.npmjs.org/", diff --git a/services/bpmn-service/src/application.ts b/services/bpmn-service/src/application.ts new file mode 100644 index 0000000000..5999b8e716 --- /dev/null +++ b/services/bpmn-service/src/application.ts @@ -0,0 +1,27 @@ +import {BootMixin} from '@loopback/boot'; +import {ApplicationConfig} from '@loopback/core'; +import {RepositoryMixin} from '@loopback/repository'; +import {RestApplication} from '@loopback/rest'; +import * as path from 'path'; +import {WorkflowServiceComponent} from './component'; + +export {ApplicationConfig}; + +export class WorkflowServiceApplication extends BootMixin( + RepositoryMixin(RestApplication), +) { + constructor(options: ApplicationConfig = {}) { + super(options); + this.static('/', path.join(__dirname, '../public')); + this.component(WorkflowServiceComponent); + + this.projectRoot = __dirname; + this.bootOptions = { + controllers: { + dirs: ['controllers'], + extensions: ['.controller.js'], + nested: true, + }, + }; + } +} diff --git a/services/bpmn-service/src/openapi-spec.ts b/services/bpmn-service/src/openapi-spec.ts new file mode 100644 index 0000000000..11a4db6262 --- /dev/null +++ b/services/bpmn-service/src/openapi-spec.ts @@ -0,0 +1,25 @@ +import {ApplicationConfig} from '@loopback/core'; +import {WorkflowServiceApplication} from './application'; + +/** + * Export the OpenAPI spec from the application + */ +const PORT = 3000; +const FILEARGVI = 2; +async function exportOpenApiSpec(): Promise { + const config: ApplicationConfig = { + rest: { + port: +(process.env.PORT ?? PORT), + host: process.env.HOST ?? 'localhost', + }, + }; + const outFile = process.argv[FILEARGVI] ?? 'openapi.json'; + const app = new WorkflowServiceApplication(config); + await app.boot(); + await app.exportOpenApiSpec(outFile); +} + +exportOpenApiSpec().catch(err => { + console.error('Fail to export OpenAPI spec from the application.', err); //NOSONAR + process.exit(1); +}); diff --git a/services/in-mail-service/README.md b/services/in-mail-service/README.md index 08fac46ab3..1cc059eb0c 100644 --- a/services/in-mail-service/README.md +++ b/services/in-mail-service/README.md @@ -15,12 +15,6 @@ any client application. ## Implementation -### Migration - -The migrations required for this service are processed during the installation automatically if you set the `INMAIL_MIGRATION` or `SOURCELOOP_MIGRATION` env variable. The migrations use [`db-migrate`](https://www.npmjs.com/package/db-migrate) with [`db-migrate-pg`](https://www.npmjs.com/package/db-migrate-pg) driver for migrations, so you will have to install these packages to use auto-migration. Please note that if you are using some pre-existing migrations or database, they may be effected. In such scenario, it is advised that you copy the migration files in your project root, using the `INMAIL_MIGRATION_COPY` or `SOURCELOOP_MIGRATION_COPY` env variables. You can customize or cherry-pick the migrations in the copied files according to your specific requirements and then apply them to the DB. - -### Implementation - Create a new Application using Loopback CLI and add the Component for `InMailService` in `application.ts` ```typescript @@ -79,6 +73,15 @@ export class Client extends BootMixin( } } ``` + +### Migration + +The migrations required for this service are processed during the installation automatically if you set the `INMAIL_MIGRATION` or `SOURCELOOP_MIGRATION` env variable. The migrations use [`db-migrate`](https://www.npmjs.com/package/db-migrate) with [`db-migrate-pg`](https://www.npmjs.com/package/db-migrate-pg) driver for migrations, so you will have to install these packages to use auto-migration. Please note that if you are using some pre-existing migrations or database, they may be effected. In such scenario, it is advised that you copy the migration files in your project root, using the `INMAIL_MIGRATION_COPY` or `SOURCELOOP_MIGRATION_COPY` env variables. You can customize or cherry-pick the migrations in the copied files according to your specific requirements and then apply them to the DB. + +#### Database Model + +![db-schema](./migrations/in_mail_db.png) + ### Setting Environment Variables Do not forget to set Environment variables. The examples below show a common configuration for a PostgreSQL Database running locally. @@ -432,3 +435,7 @@ threadFilter: Object which contains attribute(s) key value pairs of thread model groupFilter: Object which contains attribute(s) key value pairs of group model which is used to filter items. threadFilter: Object which contains attribute(s) key value pairs of thread model which is used to filter items. + +## API's Details + +Visit the [OpenAPI spec docs](./openapi.md) \ No newline at end of file diff --git a/services/in-mail-service/migrations/in_mail_db.png b/services/in-mail-service/migrations/in_mail_db.png new file mode 100644 index 0000000000..9905528e65 Binary files /dev/null and b/services/in-mail-service/migrations/in_mail_db.png differ diff --git a/services/in-mail-service/openapi.json b/services/in-mail-service/openapi.json new file mode 100644 index 0000000000..f3a22431d6 --- /dev/null +++ b/services/in-mail-service/openapi.json @@ -0,0 +1,1914 @@ +{ + "openapi": "3.0.0", + "info": { + "title": "In-mail Service", + "version": "1.0.0", + "description": "services", + "contact": { + "name": "Sourcefuse" + } + }, + "paths": { + "/mails/bulk/restore": { + "patch": { + "x-controller-name": "OriginatorController", + "x-operation-name": "restore", + "tags": [ + "OriginatorController" + ], + "summary": "API provides an interface for restore message from trash.", + "responses": { + "200": { + "description": "Restore Message Successful!" + }, + "400": { + "description": "Message identity does not exist." + }, + "403": { + "description": "Forbidden request due to unauthorized token in header." + } + }, + "parameters": [ + { + "name": "filter", + "in": "query", + "content": { + "application/json": { + "schema": { + "type": "object", + "additionalProperties": true + } + } + } + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/IdArraysPartial" + } + } + }, + "x-parameter-index": 1 + }, + "operationId": "OriginatorController.restore" + } + }, + "/mails/bulk/{storage}/{action}": { + "delete": { + "x-controller-name": "OriginatorController", + "x-operation-name": "trashBulk", + "tags": [ + "OriginatorController" + ], + "summary": "API for moving mails to trash and then delete", + "responses": { + "200": { + "description": "Trash/Deletion of Mail(s) sucessful!" + }, + "403": { + "description": "Forbidden request due to unauthorized token in header." + }, + "404": { + "description": "Message identity does not exist." + } + }, + "parameters": [ + { + "name": "storage", + "in": "path", + "schema": { + "type": "string" + }, + "required": true + }, + { + "name": "action", + "in": "path", + "schema": { + "type": "string" + }, + "required": true + }, + { + "name": "filter", + "in": "query", + "content": { + "application/json": { + "schema": { + "type": "object", + "additionalProperties": true + } + } + } + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/IdArraysPartial" + } + } + }, + "x-parameter-index": 3 + }, + "operationId": "OriginatorController.trashBulk" + } + }, + "/mails/marking/{markType}": { + "patch": { + "x-controller-name": "OriginatorController", + "x-operation-name": "markMail", + "tags": [ + "OriginatorController" + ], + "summary": "API provides interface to mark read, unread and important", + "responses": { + "200": { + "description": "Message is marked read/unread/important" + } + }, + "parameters": [ + { + "name": "markType", + "in": "path", + "schema": { + "type": "string" + }, + "required": true + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/IdArraysPartial" + } + } + }, + "x-parameter-index": 1 + }, + "operationId": "OriginatorController.markMail" + } + }, + "/mails/{messageId}/attachments/{attachmentId}": { + "delete": { + "x-controller-name": "OriginatorController", + "x-operation-name": "removeAttachment", + "tags": [ + "OriginatorController" + ], + "summary": "API provides an interface for removing attachment before message is sent", + "responses": { + "200": { + "description": "Deletetion of Attachment Successful!" + }, + "403": { + "description": "Forbidden request due to unauthorized token in header." + }, + "404": { + "description": "Message identity does not exist." + } + }, + "parameters": [ + { + "name": "messageId", + "in": "path", + "schema": { + "type": "string" + }, + "required": true + }, + { + "name": "attachmentId", + "in": "path", + "schema": { + "type": "string" + }, + "required": true + }, + { + "name": "filter", + "in": "query", + "content": { + "application/json": { + "schema": { + "type": "object", + "additionalProperties": true + } + } + } + } + ], + "operationId": "OriginatorController.removeAttachment" + } + }, + "/mails/{messageId}/attachments": { + "post": { + "x-controller-name": "OriginatorController", + "x-operation-name": "addAttachment", + "tags": [ + "OriginatorController" + ], + "summary": "API provides an interface for adding attachment before message is sent.", + "responses": { + "200": { + "description": "collect single attachment for user by message identifier", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Attachment add response schema" + } + } + } + }, + "400": { + "description": "Message identity does not exist." + }, + "403": { + "description": "Forbidden request due to unauthorized token in header." + } + }, + "parameters": [ + { + "name": "messageId", + "in": "path", + "schema": { + "type": "string" + }, + "required": true + }, + { + "name": "filter", + "in": "query", + "content": { + "application/json": { + "schema": { + "type": "object", + "additionalProperties": true + } + } + } + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "attachments": { + "type": "array", + "items": { + "$ref": "#/components/schemas/AttachmentPartial" + } + } + } + } + } + } + }, + "operationId": "OriginatorController.addAttachment" + } + }, + "/mails/{messageId}/send": { + "patch": { + "x-controller-name": "OriginatorController", + "x-operation-name": "sendDraft", + "tags": [ + "OriginatorController" + ], + "summary": "API for sending a drafted message.", + "responses": { + "200": { + "description": "Mail is Successfully sent!" + }, + "400": { + "description": "Message identity does not exist." + }, + "403": { + "description": "Forbidden request due to unauthorized token in header." + } + }, + "parameters": [ + { + "name": "messageId", + "in": "path", + "schema": { + "type": "string" + }, + "required": true + }, + { + "name": "filter", + "in": "query", + "content": { + "application/json": { + "schema": { + "type": "object", + "additionalProperties": true + } + } + } + } + ], + "operationId": "OriginatorController.sendDraft" + } + }, + "/mails/{messageId}": { + "put": { + "x-controller-name": "OriginatorController", + "x-operation-name": "updateDraft", + "tags": [ + "OriginatorController" + ], + "summary": "Update API. Update draft messages.", + "responses": { + "400": { + "description": "Message identity does not exist." + }, + "403": { + "description": "Forbidden request due to unauthorized token in header." + }, + "application/json": { + "description": "collect single message for user by message identifier", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/idResponse" + } + } + } + } + }, + "security": [ + { + "BearerAuth": [] + } + ], + "parameters": [ + { + "name": "messageId", + "in": "path", + "schema": { + "type": "string" + }, + "required": true + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/composeMailBody" + } + } + } + }, + "operationId": "OriginatorController.updateDraft" + }, + "get": { + "x-controller-name": "CollectorController", + "x-operation-name": "fetchById", + "tags": [ + "CollectorController" + ], + "summary": "GET Message API. Collect a single message based on message identity.", + "responses": { + "200": { + "description": "Gets mail details based on unique message id", + "content": { + "application/json": { + "schema": { + "properties": { + "item": { + "type": "string", + "item": { + "$ref": "#/components/schemas/MessageExcluding_deleted_WithRelations", + "definitions": { + "AttachmentExcluding_deleted_WithRelations": { + "$ref": "#/components/schemas/AttachmentExcluding_deleted_WithRelations" + }, + "ThreadExcluding_deleted_WithRelations": { + "$ref": "#/components/schemas/ThreadExcluding_deleted_WithRelations" + }, + "GroupExcluding_deleted_WithRelations": { + "$ref": "#/components/schemas/GroupExcluding_deleted_WithRelations" + }, + "MetaExcluding_deleted_WithRelations": { + "$ref": "#/components/schemas/MetaExcluding_deleted_WithRelations" + }, + "MessageExcluding_deleted_WithRelations": { + "$ref": "#/components/schemas/MessageExcluding_deleted_WithRelations" + } + } + } + } + } + } + } + } + }, + "403": { + "description": "Forbidden request due to unauthrized token in header." + }, + "404": { + "description": "Message identity does not exist" + } + }, + "parameters": [ + { + "name": "messageId", + "in": "path", + "schema": { + "type": "string" + }, + "required": true + }, + { + "name": "filter", + "in": "query", + "content": { + "application/json": { + "schema": { + "type": "object", + "additionalProperties": true + } + } + } + } + ], + "operationId": "CollectorController.fetchById" + } + }, + "/mails": { + "post": { + "x-controller-name": "OriginatorController", + "x-operation-name": "composeMail", + "tags": [ + "OriginatorController" + ], + "summary": "ComposeAPI. For drafting, reply on and create new message", + "responses": { + "201": { + "description": "collect single message for user by message identifier", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/idResponse" + } + } + } + }, + "403": { + "description": "Forbidden request due to unauthorized token in header." + }, + "404": { + "description": "Message identity does not exist." + } + }, + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/composeMailBody" + } + } + } + }, + "operationId": "OriginatorController.composeMail" + }, + "get": { + "x-controller-name": "CollectorController", + "x-operation-name": "fetchMailList", + "tags": [ + "CollectorController" + ], + "summary": "Collect a list of all messages.", + "responses": { + "200": { + "description": "fetch mails", + "content": { + "application/json": { + "type": "object", + "properties": { + "version": { + "type": "string" + }, + "items": { + "type": "array", + "schema": { + "$ref": "#/components/schemas/Message", + "definitions": { + "Message": { + "$ref": "#/components/schemas/Message" + } + } + } + } + }, + "nullable": true + } + } + }, + "403": { + "description": "Forbidden request due to unauthrized token in header." + } + }, + "parameters": [ + { + "name": "messageFilter", + "in": "query", + "content": { + "application/json": { + "schema": { + "type": "object", + "additionalProperties": true + } + } + } + }, + { + "name": "groupFilter", + "in": "query", + "content": { + "application/json": { + "schema": { + "type": "object", + "additionalProperties": true + } + } + } + } + ], + "operationId": "CollectorController.fetchMailList" + } + }, + "/threads/{threadId}/forward": { + "patch": { + "x-controller-name": "ReplyAndForwardController", + "x-operation-name": "forward", + "tags": [ + "ReplyAndForwardController" + ], + "summary": "API provides interface to forward single message.", + "responses": { + "204": { + "description": "Message is forwarded to another recipient", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/idResponse" + } + } + } + }, + "400": { + "description": "Message identity does not exist." + }, + "403": { + "description": "Forbidden request due to unauthorized token in header." + } + }, + "parameters": [ + { + "name": "threadId", + "in": "path", + "schema": { + "type": "string" + }, + "required": true + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "groups": { + "type": "array", + "items": { + "$ref": "#/components/schemas/GroupPartial" + } + }, + "subject": { + "type": "string" + }, + "body": { + "type": "string" + }, + "attachments": { + "type": "array", + "items": { + "$ref": "#/components/schemas/AttachmentPartial" + } + }, + "meta": { + "type": "array", + "items": { + "$ref": "#/components/schemas/MetaPartial" + } + }, + "status": { + "type": "string" + } + }, + "required": [ + "groups" + ] + } + } + } + }, + "operationId": "ReplyAndForwardController.forward" + } + }, + "/threads/{threadId}/mails/{messageId}/replies": { + "patch": { + "x-controller-name": "ReplyAndForwardController", + "x-operation-name": "replyMail", + "tags": [ + "ReplyAndForwardController" + ], + "summary": "API provides interface to reply to a single message", + "responses": { + "200": { + "description": "Message is replied back to the sender" + } + }, + "parameters": [ + { + "name": "threadId", + "in": "path", + "schema": { + "type": "string" + }, + "required": true + }, + { + "name": "messageId", + "in": "path", + "schema": { + "type": "string" + }, + "required": true + }, + { + "name": "replyAll", + "in": "query", + "schema": { + "type": "boolean" + } + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "attachments": { + "type": "array", + "items": { + "$ref": "#/components/schemas/AttachmentPartial" + } + }, + "meta": { + "type": "array", + "items": { + "$ref": "#/components/schemas/MetaPartial" + } + }, + "body": { + "type": "string" + }, + "subject": { + "type": "string" + }, + "status": { + "type": "string" + }, + "extId": { + "type": "string" + } + }, + "required": [ + "body", + "group", + "status" + ] + } + } + }, + "x-parameter-index": 3 + }, + "operationId": "ReplyAndForwardController.replyMail" + } + }, + "/threads/{threadId}": { + "get": { + "x-controller-name": "CollectorController", + "x-operation-name": "fetchThreadById", + "tags": [ + "CollectorController" + ], + "summary": "GET Thread Message API. Collect complete single message thread based on thread identity.", + "responses": { + "200": { + "description": "Fetches a thread along with message, group, attachment(s) etc based on unique thread Id", + "content": { + "application/json": { + "schema": { + "properties": { + "item": { + "$ref": "#/components/schemas/Thread", + "definitions": { + "Thread": { + "$ref": "#/components/schemas/Thread" + } + } + } + } + } + } + } + }, + "400": { + "description": "Message identity does not exist" + }, + "403": { + "description": "Forbidden request due to unauthorized token in header." + } + }, + "parameters": [ + { + "name": "threadId", + "in": "path", + "schema": { + "type": "string" + }, + "required": true + }, + { + "name": "filter", + "in": "query", + "content": { + "application/json": { + "schema": { + "type": "object", + "additionalProperties": true + } + } + } + } + ], + "operationId": "CollectorController.fetchThreadById" + } + }, + "/threads": { + "get": { + "403": { + "description": "Forbidden request due to unauthrized token in header." + }, + "x-controller-name": "CollectorController", + "x-operation-name": "fetchThreadList", + "tags": [ + "CollectorController" + ], + "summary": "Thread List API. Collect a list of all threads.", + "responses": { + "200": { + "description": "fetch threads", + "content": { + "application/json": { + "schema": { + "properties": { + "version": { + "type": "string" + }, + "items": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Thread", + "definitions": { + "Thread": { + "$ref": "#/components/schemas/Thread" + } + } + } + } + } + } + } + } + } + }, + "parameters": [ + { + "name": "threadFilter", + "in": "query", + "content": { + "application/json": { + "schema": { + "type": "object", + "additionalProperties": true + } + } + } + }, + { + "name": "groupFilter", + "in": "query", + "content": { + "application/json": { + "schema": { + "type": "object", + "additionalProperties": true + } + } + } + } + ], + "operationId": "CollectorController.fetchThreadList" + } + } + }, + "components": { + "securitySchemes": { + "HTTPBearer": { + "type": "http", + "scheme": "bearer", + "bearerFormat": "JWT" + } + }, + "schemas": { + "idResponse": { + "$ref": "#/components/schemas/IdResponse", + "definitions": { + "IdResponse": { + "title": "IdResponse", + "type": "object", + "properties": { + "id": { + "type": "string" + } + }, + "additionalProperties": false + } + } + }, + "composeMailBody": { + "type": "object", + "properties": { + "threadId": { + "type": "string" + }, + "groups": { + "type": "array", + "items": { + "$ref": "#/components/schemas/GroupPartial", + "definitions": { + "GroupPartial": { + "title": "GroupPartial", + "type": "object", + "description": "(tsType: Partial, schemaOptions: { partial: true })", + "properties": { + "deleted": { + "type": "boolean" + }, + "deletedOn": { + "type": "string", + "format": "date-time", + "nullable": true + }, + "deletedBy": { + "type": "string", + "nullable": true + }, + "createdOn": { + "type": "string", + "format": "date-time" + }, + "modifiedOn": { + "type": "string", + "format": "date-time" + }, + "createdBy": { + "type": "string" + }, + "modifiedBy": { + "type": "string" + }, + "id": { + "type": "string" + }, + "party": { + "type": "string" + }, + "type": { + "type": "string", + "enum": [ + "from", + "to", + "cc", + "bcc" + ] + }, + "isImportant": { + "type": "boolean" + }, + "storage": { + "type": "string", + "default": "inbox", + "enum": [ + "draft", + "send", + "inbox", + "trash" + ] + }, + "visibility": { + "type": "string", + "default": "new", + "enum": [ + "read", + "new", + "unread", + "important", + "not-important" + ] + }, + "extId": { + "type": "string" + }, + "extMetadata": { + "type": "object" + }, + "messageId": { + "type": "string" + }, + "threadId": { + "type": "string" + } + }, + "additionalProperties": false, + "x-typescript-type": "Partial" + } + } + } + }, + "attachments": { + "type": "array", + "items": { + "$ref": "#/components/schemas/AttachmentPartial", + "definitions": { + "AttachmentPartial": { + "title": "AttachmentPartial", + "type": "object", + "description": "(tsType: Partial, schemaOptions: { partial: true })", + "properties": { + "deleted": { + "type": "boolean" + }, + "deletedOn": { + "type": "string", + "format": "date-time", + "nullable": true + }, + "deletedBy": { + "type": "string", + "nullable": true + }, + "createdOn": { + "type": "string", + "format": "date-time" + }, + "modifiedOn": { + "type": "string", + "format": "date-time" + }, + "createdBy": { + "type": "string" + }, + "modifiedBy": { + "type": "string" + }, + "id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "thumbnail": { + "type": "string" + }, + "mime": { + "type": "string" + }, + "extId": { + "type": "string" + }, + "extMetadata": { + "type": "object" + }, + "messageId": { + "type": "string" + } + }, + "additionalProperties": false, + "x-typescript-type": "Partial" + } + } + } + }, + "meta": { + "type": "array", + "items": { + "$ref": "#/components/schemas/MetaPartial", + "definitions": { + "MetaPartial": { + "title": "MetaPartial", + "type": "object", + "description": "(tsType: Partial, schemaOptions: { partial: true })", + "properties": { + "deleted": { + "type": "boolean" + }, + "deletedOn": { + "type": "string", + "format": "date-time", + "nullable": true + }, + "deletedBy": { + "type": "string", + "nullable": true + }, + "createdOn": { + "type": "string", + "format": "date-time" + }, + "modifiedOn": { + "type": "string", + "format": "date-time" + }, + "createdBy": { + "type": "string" + }, + "modifiedBy": { + "type": "string" + }, + "id": { + "type": "string" + }, + "key": { + "type": "string" + }, + "value": { + "type": "string" + }, + "extId": { + "type": "string" + }, + "extMetadata": { + "type": "object" + }, + "messageId": { + "type": "string" + } + }, + "additionalProperties": false, + "x-typescript-type": "Partial" + } + } + } + }, + "body": { + "type": "string" + }, + "subject": { + "type": "string" + }, + "status": { + "type": "string" + }, + "extId": { + "type": "string" + }, + "extMetadata": { + "type": "object" + } + }, + "required": [ + "body", + "groups", + "status" + ] + }, + "Attachment": { + "title": "Attachment", + "type": "object", + "properties": { + "deleted": { + "type": "boolean" + }, + "deletedOn": { + "type": "string", + "format": "date-time", + "nullable": true + }, + "deletedBy": { + "type": "string", + "nullable": true + }, + "createdOn": { + "type": "string", + "format": "date-time" + }, + "modifiedOn": { + "type": "string", + "format": "date-time" + }, + "createdBy": { + "type": "string" + }, + "modifiedBy": { + "type": "string" + }, + "id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "thumbnail": { + "type": "string" + }, + "mime": { + "type": "string" + }, + "extId": { + "type": "string" + }, + "extMetadata": { + "type": "object" + }, + "messageId": { + "type": "string" + } + }, + "required": [ + "name", + "path", + "thumbnail", + "mime" + ], + "additionalProperties": false + }, + "AttachmentPartial": { + "title": "AttachmentPartial", + "type": "object", + "description": "(tsType: Partial, schemaOptions: { partial: true })", + "properties": { + "deleted": { + "type": "boolean" + }, + "deletedOn": { + "type": "string", + "format": "date-time", + "nullable": true + }, + "deletedBy": { + "type": "string", + "nullable": true + }, + "createdOn": { + "type": "string", + "format": "date-time" + }, + "modifiedOn": { + "type": "string", + "format": "date-time" + }, + "createdBy": { + "type": "string" + }, + "modifiedBy": { + "type": "string" + }, + "id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "thumbnail": { + "type": "string" + }, + "mime": { + "type": "string" + }, + "extId": { + "type": "string" + }, + "extMetadata": { + "type": "object" + }, + "messageId": { + "type": "string" + } + }, + "additionalProperties": false, + "x-typescript-type": "Partial" + }, + "IdArraysPartial": { + "title": "IdArraysPartial", + "type": "object", + "description": "(tsType: Partial, schemaOptions: { partial: true })", + "properties": { + "messageIds": { + "type": "array", + "items": { + "type": "string" + } + }, + "threadIds": { + "type": "array", + "items": { + "type": "string" + } + } + }, + "additionalProperties": false, + "x-typescript-type": "Partial" + }, + "IdArrays": { + "title": "IdArrays", + "type": "object", + "properties": { + "messageIds": { + "type": "array", + "items": { + "type": "string" + } + }, + "threadIds": { + "type": "array", + "items": { + "type": "string" + } + } + }, + "additionalProperties": false + }, + "MetaPartial": { + "title": "MetaPartial", + "type": "object", + "description": "(tsType: Partial, schemaOptions: { partial: true })", + "properties": { + "deleted": { + "type": "boolean" + }, + "deletedOn": { + "type": "string", + "format": "date-time", + "nullable": true + }, + "deletedBy": { + "type": "string", + "nullable": true + }, + "createdOn": { + "type": "string", + "format": "date-time" + }, + "modifiedOn": { + "type": "string", + "format": "date-time" + }, + "createdBy": { + "type": "string" + }, + "modifiedBy": { + "type": "string" + }, + "id": { + "type": "string" + }, + "key": { + "type": "string" + }, + "value": { + "type": "string" + }, + "extId": { + "type": "string" + }, + "extMetadata": { + "type": "object" + }, + "messageId": { + "type": "string" + } + }, + "additionalProperties": false, + "x-typescript-type": "Partial" + }, + "GroupPartial": { + "title": "GroupPartial", + "type": "object", + "description": "(tsType: Partial, schemaOptions: { partial: true })", + "properties": { + "deleted": { + "type": "boolean" + }, + "deletedOn": { + "type": "string", + "format": "date-time", + "nullable": true + }, + "deletedBy": { + "type": "string", + "nullable": true + }, + "createdOn": { + "type": "string", + "format": "date-time" + }, + "modifiedOn": { + "type": "string", + "format": "date-time" + }, + "createdBy": { + "type": "string" + }, + "modifiedBy": { + "type": "string" + }, + "id": { + "type": "string" + }, + "party": { + "type": "string" + }, + "type": { + "type": "string", + "enum": [ + "from", + "to", + "cc", + "bcc" + ] + }, + "isImportant": { + "type": "boolean" + }, + "storage": { + "type": "string", + "default": "inbox", + "enum": [ + "draft", + "send", + "inbox", + "trash" + ] + }, + "visibility": { + "type": "string", + "default": "new", + "enum": [ + "read", + "new", + "unread", + "important", + "not-important" + ] + }, + "extId": { + "type": "string" + }, + "extMetadata": { + "type": "object" + }, + "messageId": { + "type": "string" + }, + "threadId": { + "type": "string" + } + }, + "additionalProperties": false, + "x-typescript-type": "Partial" + }, + "Attachment add response schema": { + "type": "object", + "title": "Attachment add response schema", + "properties": { + "items": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Attachment" + } + } + } + }, + "AttachmentExcluding_deleted_WithRelations": { + "title": "AttachmentExcluding_deleted_WithRelations", + "type": "object", + "description": "(tsType: Omit, schemaOptions: { exclude: [ 'deleted' ], includeRelations: true })", + "properties": { + "deletedOn": { + "type": "string", + "format": "date-time", + "nullable": true + }, + "deletedBy": { + "type": "string", + "nullable": true + }, + "createdOn": { + "type": "string", + "format": "date-time" + }, + "modifiedOn": { + "type": "string", + "format": "date-time" + }, + "createdBy": { + "type": "string" + }, + "modifiedBy": { + "type": "string" + }, + "id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "path": { + "type": "string" + }, + "thumbnail": { + "type": "string" + }, + "mime": { + "type": "string" + }, + "extId": { + "type": "string" + }, + "extMetadata": { + "type": "object" + }, + "messageId": { + "type": "string" + }, + "message": { + "$ref": "#/components/schemas/MessageExcluding_deleted_WithRelations" + } + }, + "required": [ + "name", + "path", + "thumbnail", + "mime" + ], + "additionalProperties": false, + "x-typescript-type": "Omit" + }, + "ThreadExcluding_deleted_WithRelations": { + "title": "ThreadExcluding_deleted_WithRelations", + "type": "object", + "description": "(tsType: Omit, schemaOptions: { exclude: [ 'deleted' ], includeRelations: true })", + "properties": { + "deletedOn": { + "type": "string", + "format": "date-time", + "nullable": true + }, + "deletedBy": { + "type": "string", + "nullable": true + }, + "createdOn": { + "type": "string", + "format": "date-time" + }, + "modifiedOn": { + "type": "string", + "format": "date-time" + }, + "createdBy": { + "type": "string" + }, + "modifiedBy": { + "type": "string" + }, + "id": { + "type": "string" + }, + "subject": { + "type": "string" + }, + "messageCounts": { + "type": "number" + }, + "extId": { + "type": "string" + }, + "extMetadata": { + "type": "object" + }, + "message": { + "type": "array", + "items": { + "$ref": "#/components/schemas/MessageExcluding_deleted_WithRelations" + } + }, + "group": { + "type": "array", + "items": { + "$ref": "#/components/schemas/GroupExcluding_deleted_WithRelations" + } + } + }, + "required": [ + "subject" + ], + "additionalProperties": false, + "x-typescript-type": "Omit" + }, + "GroupExcluding_deleted_WithRelations": { + "title": "GroupExcluding_deleted_WithRelations", + "type": "object", + "description": "(tsType: Omit, schemaOptions: { exclude: [ 'deleted' ], includeRelations: true })", + "properties": { + "deletedOn": { + "type": "string", + "format": "date-time", + "nullable": true + }, + "deletedBy": { + "type": "string", + "nullable": true + }, + "createdOn": { + "type": "string", + "format": "date-time" + }, + "modifiedOn": { + "type": "string", + "format": "date-time" + }, + "createdBy": { + "type": "string" + }, + "modifiedBy": { + "type": "string" + }, + "id": { + "type": "string" + }, + "party": { + "type": "string" + }, + "type": { + "type": "string", + "enum": [ + "from", + "to", + "cc", + "bcc" + ] + }, + "isImportant": { + "type": "boolean" + }, + "storage": { + "type": "string", + "default": "inbox", + "enum": [ + "draft", + "send", + "inbox", + "trash" + ] + }, + "visibility": { + "type": "string", + "default": "new", + "enum": [ + "read", + "new", + "unread", + "important", + "not-important" + ] + }, + "extId": { + "type": "string" + }, + "extMetadata": { + "type": "object" + }, + "messageId": { + "type": "string" + }, + "threadId": { + "type": "string" + }, + "message": { + "$ref": "#/components/schemas/MessageExcluding_deleted_WithRelations" + }, + "thread": { + "$ref": "#/components/schemas/ThreadExcluding_deleted_WithRelations" + } + }, + "required": [ + "party", + "type" + ], + "additionalProperties": false, + "x-typescript-type": "Omit" + }, + "MetaExcluding_deleted_WithRelations": { + "title": "MetaExcluding_deleted_WithRelations", + "type": "object", + "description": "(tsType: Omit, schemaOptions: { exclude: [ 'deleted' ], includeRelations: true })", + "properties": { + "deletedOn": { + "type": "string", + "format": "date-time", + "nullable": true + }, + "deletedBy": { + "type": "string", + "nullable": true + }, + "createdOn": { + "type": "string", + "format": "date-time" + }, + "modifiedOn": { + "type": "string", + "format": "date-time" + }, + "createdBy": { + "type": "string" + }, + "modifiedBy": { + "type": "string" + }, + "id": { + "type": "string" + }, + "key": { + "type": "string" + }, + "value": { + "type": "string" + }, + "extId": { + "type": "string" + }, + "extMetadata": { + "type": "object" + }, + "messageId": { + "type": "string" + }, + "message": { + "$ref": "#/components/schemas/MessageExcluding_deleted_WithRelations" + } + }, + "required": [ + "key" + ], + "additionalProperties": false, + "x-typescript-type": "Omit" + }, + "MessageExcluding_deleted_WithRelations": { + "title": "MessageExcluding_deleted_WithRelations", + "type": "object", + "description": "(tsType: Omit, schemaOptions: { exclude: [ 'deleted' ], includeRelations: true })", + "properties": { + "deletedOn": { + "type": "string", + "format": "date-time", + "nullable": true + }, + "deletedBy": { + "type": "string", + "nullable": true + }, + "createdOn": { + "type": "string", + "format": "date-time" + }, + "modifiedOn": { + "type": "string", + "format": "date-time" + }, + "createdBy": { + "type": "string" + }, + "modifiedBy": { + "type": "string" + }, + "id": { + "type": "string" + }, + "sender": { + "type": "string" + }, + "subject": { + "type": "string" + }, + "body": { + "type": "string" + }, + "status": { + "type": "string", + "enum": [ + "draft", + "send" + ] + }, + "extId": { + "type": "string" + }, + "extMetadata": { + "type": "object" + }, + "threadId": { + "type": "string" + }, + "attachment": { + "type": "array", + "items": { + "$ref": "#/components/schemas/AttachmentExcluding_deleted_WithRelations" + } + }, + "group": { + "type": "array", + "items": { + "$ref": "#/components/schemas/GroupExcluding_deleted_WithRelations" + } + }, + "meta": { + "type": "array", + "items": { + "$ref": "#/components/schemas/MetaExcluding_deleted_WithRelations" + } + }, + "thread": { + "$ref": "#/components/schemas/ThreadExcluding_deleted_WithRelations" + } + }, + "required": [ + "sender", + "subject", + "body", + "status" + ], + "additionalProperties": false, + "x-typescript-type": "Omit" + }, + "Message": { + "title": "Message", + "type": "object", + "properties": { + "deleted": { + "type": "boolean" + }, + "deletedOn": { + "type": "string", + "format": "date-time", + "nullable": true + }, + "deletedBy": { + "type": "string", + "nullable": true + }, + "createdOn": { + "type": "string", + "format": "date-time" + }, + "modifiedOn": { + "type": "string", + "format": "date-time" + }, + "createdBy": { + "type": "string" + }, + "modifiedBy": { + "type": "string" + }, + "id": { + "type": "string" + }, + "sender": { + "type": "string" + }, + "subject": { + "type": "string" + }, + "body": { + "type": "string" + }, + "status": { + "type": "string", + "enum": [ + "draft", + "send" + ] + }, + "extId": { + "type": "string" + }, + "extMetadata": { + "type": "object" + }, + "threadId": { + "type": "string" + } + }, + "required": [ + "sender", + "subject", + "body", + "status" + ], + "additionalProperties": false + }, + "Thread": { + "title": "Thread", + "type": "object", + "properties": { + "deleted": { + "type": "boolean" + }, + "deletedOn": { + "type": "string", + "format": "date-time", + "nullable": true + }, + "deletedBy": { + "type": "string", + "nullable": true + }, + "createdOn": { + "type": "string", + "format": "date-time" + }, + "modifiedOn": { + "type": "string", + "format": "date-time" + }, + "createdBy": { + "type": "string" + }, + "modifiedBy": { + "type": "string" + }, + "id": { + "type": "string" + }, + "subject": { + "type": "string" + }, + "messageCounts": { + "type": "number" + }, + "extId": { + "type": "string" + }, + "extMetadata": { + "type": "object" + } + }, + "required": [ + "subject" + ], + "additionalProperties": false + } + } + }, + "servers": [ + { + "url": "/" + } + ] +} \ No newline at end of file diff --git a/services/in-mail-service/openapi.md b/services/in-mail-service/openapi.md new file mode 100644 index 0000000000..75f62daa45 --- /dev/null +++ b/services/in-mail-service/openapi.md @@ -0,0 +1,3803 @@ +--- +title: In-mail Service v1.0.0 +language_tabs: + - "'javascript": JavaScript + - "'javascript--nodejs": Node.JS' +language_clients: + - "'javascript": request' + - "'javascript--nodejs": "" +toc_footers: [] +includes: [] +search: false +highlight_theme: darkula +headingLevel: 2 + +--- + + + +

In-mail Service v1.0.0

+ +> Scroll down for code samples, example requests and responses. Select a language for code samples from the tabs above or the mobile navigation menu. + +services + +Base URLs: + +* / + +# Authentication + +- HTTP Authentication, scheme: bearer + +

OriginatorController

+ +## API provides an interface for restore message from trash. + + + +> Code samples + +```'javascript--nodejs +const fetch = require('node-fetch'); +const inputBody = { + "messageIds": [ + "string" + ], + "threadIds": [ + "string" + ] +}; +const headers = { + 'Content-Type':'application/json' +}; + +fetch('/mails/bulk/restore', +{ + method: 'PATCH', + body: JSON.stringify(inputBody), + headers: headers +}) +.then(function(res) { + return res.json(); +}).then(function(body) { + console.log(body); +}); + +``` + +`PATCH /mails/bulk/restore` + +> Body parameter + +```json +{ + "messageIds": [ + "string" + ], + "threadIds": [ + "string" + ] +} +``` + +

Parameters

+ +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|filter|query|object|false|none| +|body|body|[IdArraysPartial](#schemaidarrayspartial)|false|none| + +

Responses

+ +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|Restore Message Successful!|None| +|400|[Bad Request](https://tools.ietf.org/html/rfc7231#section-6.5.1)|Message identity does not exist.|None| +|403|[Forbidden](https://tools.ietf.org/html/rfc7231#section-6.5.3)|Forbidden request due to unauthorized token in header.|None| + + + +## API for moving mails to trash and then delete + + + +> Code samples + +```'javascript--nodejs +const fetch = require('node-fetch'); +const inputBody = { + "messageIds": [ + "string" + ], + "threadIds": [ + "string" + ] +}; +const headers = { + 'Content-Type':'application/json' +}; + +fetch('/mails/bulk/{storage}/{action}', +{ + method: 'DELETE', + body: JSON.stringify(inputBody), + headers: headers +}) +.then(function(res) { + return res.json(); +}).then(function(body) { + console.log(body); +}); + +``` + +`DELETE /mails/bulk/{storage}/{action}` + +> Body parameter + +```json +{ + "messageIds": [ + "string" + ], + "threadIds": [ + "string" + ] +} +``` + +

Parameters

+ +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|storage|path|string|true|none| +|action|path|string|true|none| +|filter|query|object|false|none| +|body|body|[IdArraysPartial](#schemaidarrayspartial)|false|none| + +

Responses

+ +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|Trash/Deletion of Mail(s) sucessful!|None| +|403|[Forbidden](https://tools.ietf.org/html/rfc7231#section-6.5.3)|Forbidden request due to unauthorized token in header.|None| +|404|[Not Found](https://tools.ietf.org/html/rfc7231#section-6.5.4)|Message identity does not exist.|None| + + + +## API provides interface to mark read, unread and important + + + +> Code samples + +```'javascript--nodejs +const fetch = require('node-fetch'); +const inputBody = { + "messageIds": [ + "string" + ], + "threadIds": [ + "string" + ] +}; +const headers = { + 'Content-Type':'application/json' +}; + +fetch('/mails/marking/{markType}', +{ + method: 'PATCH', + body: JSON.stringify(inputBody), + headers: headers +}) +.then(function(res) { + return res.json(); +}).then(function(body) { + console.log(body); +}); + +``` + +`PATCH /mails/marking/{markType}` + +> Body parameter + +```json +{ + "messageIds": [ + "string" + ], + "threadIds": [ + "string" + ] +} +``` + +

Parameters

+ +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|markType|path|string|true|none| +|body|body|[IdArraysPartial](#schemaidarrayspartial)|false|none| + +

Responses

+ +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|Message is marked read/unread/important|None| + + + +## API provides an interface for removing attachment before message is sent + + + +> Code samples + +```'javascript--nodejs +const fetch = require('node-fetch'); + +fetch('/mails/{messageId}/attachments/{attachmentId}', +{ + method: 'DELETE' + +}) +.then(function(res) { + return res.json(); +}).then(function(body) { + console.log(body); +}); + +``` + +`DELETE /mails/{messageId}/attachments/{attachmentId}` + +

Parameters

+ +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|messageId|path|string|true|none| +|attachmentId|path|string|true|none| +|filter|query|object|false|none| + +

Responses

+ +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|Deletetion of Attachment Successful!|None| +|403|[Forbidden](https://tools.ietf.org/html/rfc7231#section-6.5.3)|Forbidden request due to unauthorized token in header.|None| +|404|[Not Found](https://tools.ietf.org/html/rfc7231#section-6.5.4)|Message identity does not exist.|None| + + + +## API provides an interface for adding attachment before message is sent. + + + +> Code samples + +```'javascript--nodejs +const fetch = require('node-fetch'); +const inputBody = { + "attachments": [ + { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "name": "string", + "path": "string", + "thumbnail": "string", + "mime": "string", + "extId": "string", + "extMetadata": {}, + "messageId": "string" + } + ] +}; +const headers = { + 'Content-Type':'application/json', + 'Accept':'application/json' +}; + +fetch('/mails/{messageId}/attachments', +{ + method: 'POST', + body: JSON.stringify(inputBody), + headers: headers +}) +.then(function(res) { + return res.json(); +}).then(function(body) { + console.log(body); +}); + +``` + +`POST /mails/{messageId}/attachments` + +> Body parameter + +```json +{ + "attachments": [ + { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "name": "string", + "path": "string", + "thumbnail": "string", + "mime": "string", + "extId": "string", + "extMetadata": {}, + "messageId": "string" + } + ] +} +``` + +

Parameters

+ +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|messageId|path|string|true|none| +|filter|query|object|false|none| +|body|body|object|false|none| +|» attachments|body|[[AttachmentPartial](#schemaattachmentpartial)]|false|[(tsType: Partial, schemaOptions: { partial: true })]| +|»» AttachmentPartial|body|[AttachmentPartial](#schemaattachmentpartial)|false|(tsType: Partial, schemaOptions: { partial: true })| +|»»» deleted|body|boolean|false|none| +|»»» deletedOn|body|string(date-time)¦null|false|none| +|»»» deletedBy|body|string¦null|false|none| +|»»» createdOn|body|string(date-time)|false|none| +|»»» modifiedOn|body|string(date-time)|false|none| +|»»» createdBy|body|string|false|none| +|»»» modifiedBy|body|string|false|none| +|»»» id|body|string|false|none| +|»»» name|body|string|false|none| +|»»» path|body|string|false|none| +|»»» thumbnail|body|string|false|none| +|»»» mime|body|string|false|none| +|»»» extId|body|string|false|none| +|»»» extMetadata|body|object|false|none| +|»»» messageId|body|string|false|none| + +> Example responses + +> 200 Response + +```json +{ + "items": [ + { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "name": "string", + "path": "string", + "thumbnail": "string", + "mime": "string", + "extId": "string", + "extMetadata": {}, + "messageId": "string" + } + ] +} +``` + +

Responses

+ +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|collect single attachment for user by message identifier|[Attachment add response schema](#schemaattachment add response schema)| +|400|[Bad Request](https://tools.ietf.org/html/rfc7231#section-6.5.1)|Message identity does not exist.|None| +|403|[Forbidden](https://tools.ietf.org/html/rfc7231#section-6.5.3)|Forbidden request due to unauthorized token in header.|None| + + + +## API for sending a drafted message. + + + +> Code samples + +```'javascript--nodejs +const fetch = require('node-fetch'); + +fetch('/mails/{messageId}/send', +{ + method: 'PATCH' + +}) +.then(function(res) { + return res.json(); +}).then(function(body) { + console.log(body); +}); + +``` + +`PATCH /mails/{messageId}/send` + +

Parameters

+ +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|messageId|path|string|true|none| +|filter|query|object|false|none| + +

Responses

+ +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|Mail is Successfully sent!|None| +|400|[Bad Request](https://tools.ietf.org/html/rfc7231#section-6.5.1)|Message identity does not exist.|None| +|403|[Forbidden](https://tools.ietf.org/html/rfc7231#section-6.5.3)|Forbidden request due to unauthorized token in header.|None| + + + +## Update API. Update draft messages. + + + +> Code samples + +```'javascript--nodejs +const fetch = require('node-fetch'); +const inputBody = { + "threadId": "string", + "groups": [ + { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "party": "string", + "type": "from", + "isImportant": true, + "storage": "inbox", + "visibility": "new", + "extId": "string", + "extMetadata": {}, + "messageId": "string", + "threadId": "string" + } + ], + "attachments": [ + { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "name": "string", + "path": "string", + "thumbnail": "string", + "mime": "string", + "extId": "string", + "extMetadata": {}, + "messageId": "string" + } + ], + "meta": [ + { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "key": "string", + "value": "string", + "extId": "string", + "extMetadata": {}, + "messageId": "string" + } + ], + "body": "string", + "subject": "string", + "status": "string", + "extId": "string", + "extMetadata": {} +}; +const headers = { + 'Content-Type':'application/json', + 'Accept':'application/json' +}; + +fetch('/mails/{messageId}', +{ + method: 'PUT', + body: JSON.stringify(inputBody), + headers: headers +}) +.then(function(res) { + return res.json(); +}).then(function(body) { + console.log(body); +}); + +``` + +`PUT /mails/{messageId}` + +> Body parameter + +```json +{ + "threadId": "string", + "groups": [ + { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "party": "string", + "type": "from", + "isImportant": true, + "storage": "inbox", + "visibility": "new", + "extId": "string", + "extMetadata": {}, + "messageId": "string", + "threadId": "string" + } + ], + "attachments": [ + { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "name": "string", + "path": "string", + "thumbnail": "string", + "mime": "string", + "extId": "string", + "extMetadata": {}, + "messageId": "string" + } + ], + "meta": [ + { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "key": "string", + "value": "string", + "extId": "string", + "extMetadata": {}, + "messageId": "string" + } + ], + "body": "string", + "subject": "string", + "status": "string", + "extId": "string", + "extMetadata": {} +} +``` + +

Parameters

+ +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|messageId|path|string|true|none| +|body|body|[composeMailBody](#schemacomposemailbody)|false|none| + +> Example responses + +

Responses

+ +|Status|Meaning|Description|Schema| +|---|---|---|---| +|400|[Bad Request](https://tools.ietf.org/html/rfc7231#section-6.5.1)|Message identity does not exist.|None| +|403|[Forbidden](https://tools.ietf.org/html/rfc7231#section-6.5.3)|Forbidden request due to unauthorized token in header.|None| +|application/json|Unknown|collect single message for user by message identifier|None| + +

Response Schema

+ + + +## ComposeAPI. For drafting, reply on and create new message + + + +> Code samples + +```'javascript--nodejs +const fetch = require('node-fetch'); +const inputBody = { + "threadId": "string", + "groups": [ + { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "party": "string", + "type": "from", + "isImportant": true, + "storage": "inbox", + "visibility": "new", + "extId": "string", + "extMetadata": {}, + "messageId": "string", + "threadId": "string" + } + ], + "attachments": [ + { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "name": "string", + "path": "string", + "thumbnail": "string", + "mime": "string", + "extId": "string", + "extMetadata": {}, + "messageId": "string" + } + ], + "meta": [ + { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "key": "string", + "value": "string", + "extId": "string", + "extMetadata": {}, + "messageId": "string" + } + ], + "body": "string", + "subject": "string", + "status": "string", + "extId": "string", + "extMetadata": {} +}; +const headers = { + 'Content-Type':'application/json', + 'Accept':'application/json' +}; + +fetch('/mails', +{ + method: 'POST', + body: JSON.stringify(inputBody), + headers: headers +}) +.then(function(res) { + return res.json(); +}).then(function(body) { + console.log(body); +}); + +``` + +`POST /mails` + +> Body parameter + +```json +{ + "threadId": "string", + "groups": [ + { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "party": "string", + "type": "from", + "isImportant": true, + "storage": "inbox", + "visibility": "new", + "extId": "string", + "extMetadata": {}, + "messageId": "string", + "threadId": "string" + } + ], + "attachments": [ + { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "name": "string", + "path": "string", + "thumbnail": "string", + "mime": "string", + "extId": "string", + "extMetadata": {}, + "messageId": "string" + } + ], + "meta": [ + { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "key": "string", + "value": "string", + "extId": "string", + "extMetadata": {}, + "messageId": "string" + } + ], + "body": "string", + "subject": "string", + "status": "string", + "extId": "string", + "extMetadata": {} +} +``` + +

Parameters

+ +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|body|body|[composeMailBody](#schemacomposemailbody)|false|none| + +> Example responses + +

Responses

+ +|Status|Meaning|Description|Schema| +|---|---|---|---| +|201|[Created](https://tools.ietf.org/html/rfc7231#section-6.3.2)|collect single message for user by message identifier|None| +|403|[Forbidden](https://tools.ietf.org/html/rfc7231#section-6.5.3)|Forbidden request due to unauthorized token in header.|None| +|404|[Not Found](https://tools.ietf.org/html/rfc7231#section-6.5.4)|Message identity does not exist.|None| + +

Response Schema

+ + + +

CollectorController

+ +## GET Message API. Collect a single message based on message identity. + + + +> Code samples + +```'javascript--nodejs +const fetch = require('node-fetch'); + +const headers = { + 'Accept':'application/json' +}; + +fetch('/mails/{messageId}', +{ + method: 'GET', + + headers: headers +}) +.then(function(res) { + return res.json(); +}).then(function(body) { + console.log(body); +}); + +``` + +`GET /mails/{messageId}` + +

Parameters

+ +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|messageId|path|string|true|none| +|filter|query|object|false|none| + +> Example responses + +> 200 Response + +```json +{ + "item": "string" +} +``` + +

Responses

+ +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|Gets mail details based on unique message id|Inline| +|403|[Forbidden](https://tools.ietf.org/html/rfc7231#section-6.5.3)|Forbidden request due to unauthrized token in header.|None| +|404|[Not Found](https://tools.ietf.org/html/rfc7231#section-6.5.4)|Message identity does not exist|None| + +

Response Schema

+ +Status Code **200** + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|» item|string|false|none|none| + + + +## Collect a list of all messages. + + + +> Code samples + +```'javascript--nodejs +const fetch = require('node-fetch'); + +const headers = { + 'Accept':'application/json' +}; + +fetch('/mails', +{ + method: 'GET', + + headers: headers +}) +.then(function(res) { + return res.json(); +}).then(function(body) { + console.log(body); +}); + +``` + +`GET /mails` + +

Parameters

+ +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|messageFilter|query|object|false|none| +|groupFilter|query|object|false|none| + +> Example responses + +

Responses

+ +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|fetch mails|None| +|403|[Forbidden](https://tools.ietf.org/html/rfc7231#section-6.5.3)|Forbidden request due to unauthrized token in header.|None| + +

Response Schema

+ + + +## GET Thread Message API. Collect complete single message thread based on thread identity. + + + +> Code samples + +```'javascript--nodejs +const fetch = require('node-fetch'); + +const headers = { + 'Accept':'application/json' +}; + +fetch('/threads/{threadId}', +{ + method: 'GET', + + headers: headers +}) +.then(function(res) { + return res.json(); +}).then(function(body) { + console.log(body); +}); + +``` + +`GET /threads/{threadId}` + +

Parameters

+ +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|threadId|path|string|true|none| +|filter|query|object|false|none| + +> Example responses + +> 200 Response + +```json +{ + "item": { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "subject": "string", + "messageCounts": 0, + "extId": "string", + "extMetadata": {} + } +} +``` + +

Responses

+ +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|Fetches a thread along with message, group, attachment(s) etc based on unique thread Id|Inline| +|400|[Bad Request](https://tools.ietf.org/html/rfc7231#section-6.5.1)|Message identity does not exist|None| +|403|[Forbidden](https://tools.ietf.org/html/rfc7231#section-6.5.3)|Forbidden request due to unauthorized token in header.|None| + +

Response Schema

+ +Status Code **200** + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|» item|[Thread](#schemathread)|false|none|none| +|»» deleted|boolean|false|none|none| +|»» deletedOn|string(date-time)¦null|false|none|none| +|»» deletedBy|string¦null|false|none|none| +|»» createdOn|string(date-time)|false|none|none| +|»» modifiedOn|string(date-time)|false|none|none| +|»» createdBy|string|false|none|none| +|»» modifiedBy|string|false|none|none| +|»» id|string|false|none|none| +|»» subject|string|true|none|none| +|»» messageCounts|number|false|none|none| +|»» extId|string|false|none|none| +|»» extMetadata|object|false|none|none| + + + +## Thread List API. Collect a list of all threads. + + + +> Code samples + +```'javascript--nodejs +const fetch = require('node-fetch'); + +const headers = { + 'Accept':'application/json' +}; + +fetch('/threads', +{ + method: 'GET', + + headers: headers +}) +.then(function(res) { + return res.json(); +}).then(function(body) { + console.log(body); +}); + +``` + +`GET /threads` + +

Parameters

+ +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|threadFilter|query|object|false|none| +|groupFilter|query|object|false|none| + +> Example responses + +> 200 Response + +```json +{ + "version": "string", + "items": [ + { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "subject": "string", + "messageCounts": 0, + "extId": "string", + "extMetadata": {} + } + ] +} +``` + +

Responses

+ +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|fetch threads|Inline| + +

Response Schema

+ +Status Code **200** + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|» version|string|false|none|none| +|» items|[[Thread](#schemathread)]|false|none|none| +|»» Thread|[Thread](#schemathread)|false|none|none| +|»»» deleted|boolean|false|none|none| +|»»» deletedOn|string(date-time)¦null|false|none|none| +|»»» deletedBy|string¦null|false|none|none| +|»»» createdOn|string(date-time)|false|none|none| +|»»» modifiedOn|string(date-time)|false|none|none| +|»»» createdBy|string|false|none|none| +|»»» modifiedBy|string|false|none|none| +|»»» id|string|false|none|none| +|»»» subject|string|true|none|none| +|»»» messageCounts|number|false|none|none| +|»»» extId|string|false|none|none| +|»»» extMetadata|object|false|none|none| + + + +

ReplyAndForwardController

+ +## API provides interface to forward single message. + + + +> Code samples + +```'javascript--nodejs +const fetch = require('node-fetch'); +const inputBody = { + "groups": [ + { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "party": "string", + "type": "from", + "isImportant": true, + "storage": "inbox", + "visibility": "new", + "extId": "string", + "extMetadata": {}, + "messageId": "string", + "threadId": "string" + } + ], + "subject": "string", + "body": "string", + "attachments": [ + { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "name": "string", + "path": "string", + "thumbnail": "string", + "mime": "string", + "extId": "string", + "extMetadata": {}, + "messageId": "string" + } + ], + "meta": [ + { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "key": "string", + "value": "string", + "extId": "string", + "extMetadata": {}, + "messageId": "string" + } + ], + "status": "string" +}; +const headers = { + 'Content-Type':'application/json', + 'Accept':'application/json' +}; + +fetch('/threads/{threadId}/forward', +{ + method: 'PATCH', + body: JSON.stringify(inputBody), + headers: headers +}) +.then(function(res) { + return res.json(); +}).then(function(body) { + console.log(body); +}); + +``` + +`PATCH /threads/{threadId}/forward` + +> Body parameter + +```json +{ + "groups": [ + { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "party": "string", + "type": "from", + "isImportant": true, + "storage": "inbox", + "visibility": "new", + "extId": "string", + "extMetadata": {}, + "messageId": "string", + "threadId": "string" + } + ], + "subject": "string", + "body": "string", + "attachments": [ + { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "name": "string", + "path": "string", + "thumbnail": "string", + "mime": "string", + "extId": "string", + "extMetadata": {}, + "messageId": "string" + } + ], + "meta": [ + { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "key": "string", + "value": "string", + "extId": "string", + "extMetadata": {}, + "messageId": "string" + } + ], + "status": "string" +} +``` + +

Parameters

+ +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|threadId|path|string|true|none| +|body|body|object|false|none| +|» groups|body|[[GroupPartial](#schemagrouppartial)]|true|[(tsType: Partial, schemaOptions: { partial: true })]| +|»» GroupPartial|body|[GroupPartial](#schemagrouppartial)|false|(tsType: Partial, schemaOptions: { partial: true })| +|»»» deleted|body|boolean|false|none| +|»»» deletedOn|body|string(date-time)¦null|false|none| +|»»» deletedBy|body|string¦null|false|none| +|»»» createdOn|body|string(date-time)|false|none| +|»»» modifiedOn|body|string(date-time)|false|none| +|»»» createdBy|body|string|false|none| +|»»» modifiedBy|body|string|false|none| +|»»» id|body|string|false|none| +|»»» party|body|string|false|none| +|»»» type|body|string|false|none| +|»»» isImportant|body|boolean|false|none| +|»»» storage|body|string|false|none| +|»»» visibility|body|string|false|none| +|»»» extId|body|string|false|none| +|»»» extMetadata|body|object|false|none| +|»»» messageId|body|string|false|none| +|»»» threadId|body|string|false|none| +|» subject|body|string|false|none| +|» body|body|string|false|none| +|» attachments|body|[[AttachmentPartial](#schemaattachmentpartial)]|false|[(tsType: Partial, schemaOptions: { partial: true })]| +|»» AttachmentPartial|body|[AttachmentPartial](#schemaattachmentpartial)|false|(tsType: Partial, schemaOptions: { partial: true })| +|»»» deleted|body|boolean|false|none| +|»»» deletedOn|body|string(date-time)¦null|false|none| +|»»» deletedBy|body|string¦null|false|none| +|»»» createdOn|body|string(date-time)|false|none| +|»»» modifiedOn|body|string(date-time)|false|none| +|»»» createdBy|body|string|false|none| +|»»» modifiedBy|body|string|false|none| +|»»» id|body|string|false|none| +|»»» name|body|string|false|none| +|»»» path|body|string|false|none| +|»»» thumbnail|body|string|false|none| +|»»» mime|body|string|false|none| +|»»» extId|body|string|false|none| +|»»» extMetadata|body|object|false|none| +|»»» messageId|body|string|false|none| +|» meta|body|[[MetaPartial](#schemametapartial)]|false|[(tsType: Partial, schemaOptions: { partial: true })]| +|»» MetaPartial|body|[MetaPartial](#schemametapartial)|false|(tsType: Partial, schemaOptions: { partial: true })| +|»»» deleted|body|boolean|false|none| +|»»» deletedOn|body|string(date-time)¦null|false|none| +|»»» deletedBy|body|string¦null|false|none| +|»»» createdOn|body|string(date-time)|false|none| +|»»» modifiedOn|body|string(date-time)|false|none| +|»»» createdBy|body|string|false|none| +|»»» modifiedBy|body|string|false|none| +|»»» id|body|string|false|none| +|»»» key|body|string|false|none| +|»»» value|body|string|false|none| +|»»» extId|body|string|false|none| +|»»» extMetadata|body|object|false|none| +|»»» messageId|body|string|false|none| +|» status|body|string|false|none| + +#### Enumerated Values + +|Parameter|Value| +|---|---| +|»»» type|from| +|»»» type|to| +|»»» type|cc| +|»»» type|bcc| +|»»» storage|draft| +|»»» storage|send| +|»»» storage|inbox| +|»»» storage|trash| +|»»» visibility|read| +|»»» visibility|new| +|»»» visibility|unread| +|»»» visibility|important| +|»»» visibility|not-important| + +> Example responses + +

Responses

+ +|Status|Meaning|Description|Schema| +|---|---|---|---| +|204|[No Content](https://tools.ietf.org/html/rfc7231#section-6.3.5)|Message is forwarded to another recipient|None| +|400|[Bad Request](https://tools.ietf.org/html/rfc7231#section-6.5.1)|Message identity does not exist.|None| +|403|[Forbidden](https://tools.ietf.org/html/rfc7231#section-6.5.3)|Forbidden request due to unauthorized token in header.|None| + +

Response Schema

+ + + +## API provides interface to reply to a single message + + + +> Code samples + +```'javascript--nodejs +const fetch = require('node-fetch'); +const inputBody = { + "attachments": [ + { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "name": "string", + "path": "string", + "thumbnail": "string", + "mime": "string", + "extId": "string", + "extMetadata": {}, + "messageId": "string" + } + ], + "meta": [ + { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "key": "string", + "value": "string", + "extId": "string", + "extMetadata": {}, + "messageId": "string" + } + ], + "body": "string", + "subject": "string", + "status": "string", + "extId": "string" +}; +const headers = { + 'Content-Type':'application/json' +}; + +fetch('/threads/{threadId}/mails/{messageId}/replies', +{ + method: 'PATCH', + body: JSON.stringify(inputBody), + headers: headers +}) +.then(function(res) { + return res.json(); +}).then(function(body) { + console.log(body); +}); + +``` + +`PATCH /threads/{threadId}/mails/{messageId}/replies` + +> Body parameter + +```json +{ + "attachments": [ + { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "name": "string", + "path": "string", + "thumbnail": "string", + "mime": "string", + "extId": "string", + "extMetadata": {}, + "messageId": "string" + } + ], + "meta": [ + { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "key": "string", + "value": "string", + "extId": "string", + "extMetadata": {}, + "messageId": "string" + } + ], + "body": "string", + "subject": "string", + "status": "string", + "extId": "string" +} +``` + +

Parameters

+ +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|threadId|path|string|true|none| +|messageId|path|string|true|none| +|replyAll|query|boolean|false|none| +|body|body|object|false|none| +|» attachments|body|[[AttachmentPartial](#schemaattachmentpartial)]|false|[(tsType: Partial, schemaOptions: { partial: true })]| +|»» AttachmentPartial|body|[AttachmentPartial](#schemaattachmentpartial)|false|(tsType: Partial, schemaOptions: { partial: true })| +|»»» deleted|body|boolean|false|none| +|»»» deletedOn|body|string(date-time)¦null|false|none| +|»»» deletedBy|body|string¦null|false|none| +|»»» createdOn|body|string(date-time)|false|none| +|»»» modifiedOn|body|string(date-time)|false|none| +|»»» createdBy|body|string|false|none| +|»»» modifiedBy|body|string|false|none| +|»»» id|body|string|false|none| +|»»» name|body|string|false|none| +|»»» path|body|string|false|none| +|»»» thumbnail|body|string|false|none| +|»»» mime|body|string|false|none| +|»»» extId|body|string|false|none| +|»»» extMetadata|body|object|false|none| +|»»» messageId|body|string|false|none| +|» meta|body|[[MetaPartial](#schemametapartial)]|false|[(tsType: Partial, schemaOptions: { partial: true })]| +|»» MetaPartial|body|[MetaPartial](#schemametapartial)|false|(tsType: Partial, schemaOptions: { partial: true })| +|»»» deleted|body|boolean|false|none| +|»»» deletedOn|body|string(date-time)¦null|false|none| +|»»» deletedBy|body|string¦null|false|none| +|»»» createdOn|body|string(date-time)|false|none| +|»»» modifiedOn|body|string(date-time)|false|none| +|»»» createdBy|body|string|false|none| +|»»» modifiedBy|body|string|false|none| +|»»» id|body|string|false|none| +|»»» key|body|string|false|none| +|»»» value|body|string|false|none| +|»»» extId|body|string|false|none| +|»»» extMetadata|body|object|false|none| +|»»» messageId|body|string|false|none| +|» body|body|string|true|none| +|» subject|body|string|false|none| +|» status|body|string|true|none| +|» extId|body|string|false|none| + +

Responses

+ +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|Message is replied back to the sender|None| + + + +# Schemas + +

idResponse

+ + + + + + +```json +false + +``` + +### Properties + +*None* + +

composeMailBody

+ + + + + + +```json +{ + "threadId": "string", + "groups": [ + { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "party": "string", + "type": "from", + "isImportant": true, + "storage": "inbox", + "visibility": "new", + "extId": "string", + "extMetadata": {}, + "messageId": "string", + "threadId": "string" + } + ], + "attachments": [ + { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "name": "string", + "path": "string", + "thumbnail": "string", + "mime": "string", + "extId": "string", + "extMetadata": {}, + "messageId": "string" + } + ], + "meta": [ + { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "key": "string", + "value": "string", + "extId": "string", + "extMetadata": {}, + "messageId": "string" + } + ], + "body": "string", + "subject": "string", + "status": "string", + "extId": "string", + "extMetadata": {} +} + +``` + +### Properties + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|threadId|string|false|none|none| +|groups|[[GroupPartial](#schemagrouppartial)]|true|none|[(tsType: Partial, schemaOptions: { partial: true })]| +|attachments|[[AttachmentPartial](#schemaattachmentpartial)]|false|none|[(tsType: Partial, schemaOptions: { partial: true })]| +|meta|[[MetaPartial](#schemametapartial)]|false|none|[(tsType: Partial, schemaOptions: { partial: true })]| +|body|string|true|none|none| +|subject|string|false|none|none| +|status|string|true|none|none| +|extId|string|false|none|none| +|extMetadata|object|false|none|none| + +

Attachment

+ + + + + + +```json +{ + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "name": "string", + "path": "string", + "thumbnail": "string", + "mime": "string", + "extId": "string", + "extMetadata": {}, + "messageId": "string" +} + +``` + +Attachment + +### Properties + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|deleted|boolean|false|none|none| +|deletedOn|string(date-time)¦null|false|none|none| +|deletedBy|string¦null|false|none|none| +|createdOn|string(date-time)|false|none|none| +|modifiedOn|string(date-time)|false|none|none| +|createdBy|string|false|none|none| +|modifiedBy|string|false|none|none| +|id|string|false|none|none| +|name|string|true|none|none| +|path|string|true|none|none| +|thumbnail|string|true|none|none| +|mime|string|true|none|none| +|extId|string|false|none|none| +|extMetadata|object|false|none|none| +|messageId|string|false|none|none| + +

AttachmentPartial

+ + + + + + +```json +{ + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "name": "string", + "path": "string", + "thumbnail": "string", + "mime": "string", + "extId": "string", + "extMetadata": {}, + "messageId": "string" +} + +``` + +AttachmentPartial + +### Properties + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|deleted|boolean|false|none|none| +|deletedOn|string(date-time)¦null|false|none|none| +|deletedBy|string¦null|false|none|none| +|createdOn|string(date-time)|false|none|none| +|modifiedOn|string(date-time)|false|none|none| +|createdBy|string|false|none|none| +|modifiedBy|string|false|none|none| +|id|string|false|none|none| +|name|string|false|none|none| +|path|string|false|none|none| +|thumbnail|string|false|none|none| +|mime|string|false|none|none| +|extId|string|false|none|none| +|extMetadata|object|false|none|none| +|messageId|string|false|none|none| + +

IdArraysPartial

+ + + + + + +```json +{ + "messageIds": [ + "string" + ], + "threadIds": [ + "string" + ] +} + +``` + +IdArraysPartial + +### Properties + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|messageIds|[string]|false|none|none| +|threadIds|[string]|false|none|none| + +

IdArrays

+ + + + + + +```json +{ + "messageIds": [ + "string" + ], + "threadIds": [ + "string" + ] +} + +``` + +IdArrays + +### Properties + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|messageIds|[string]|false|none|none| +|threadIds|[string]|false|none|none| + +

MetaPartial

+ + + + + + +```json +{ + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "key": "string", + "value": "string", + "extId": "string", + "extMetadata": {}, + "messageId": "string" +} + +``` + +MetaPartial + +### Properties + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|deleted|boolean|false|none|none| +|deletedOn|string(date-time)¦null|false|none|none| +|deletedBy|string¦null|false|none|none| +|createdOn|string(date-time)|false|none|none| +|modifiedOn|string(date-time)|false|none|none| +|createdBy|string|false|none|none| +|modifiedBy|string|false|none|none| +|id|string|false|none|none| +|key|string|false|none|none| +|value|string|false|none|none| +|extId|string|false|none|none| +|extMetadata|object|false|none|none| +|messageId|string|false|none|none| + +

GroupPartial

+ + + + + + +```json +{ + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "party": "string", + "type": "from", + "isImportant": true, + "storage": "inbox", + "visibility": "new", + "extId": "string", + "extMetadata": {}, + "messageId": "string", + "threadId": "string" +} + +``` + +GroupPartial + +### Properties + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|deleted|boolean|false|none|none| +|deletedOn|string(date-time)¦null|false|none|none| +|deletedBy|string¦null|false|none|none| +|createdOn|string(date-time)|false|none|none| +|modifiedOn|string(date-time)|false|none|none| +|createdBy|string|false|none|none| +|modifiedBy|string|false|none|none| +|id|string|false|none|none| +|party|string|false|none|none| +|type|string|false|none|none| +|isImportant|boolean|false|none|none| +|storage|string|false|none|none| +|visibility|string|false|none|none| +|extId|string|false|none|none| +|extMetadata|object|false|none|none| +|messageId|string|false|none|none| +|threadId|string|false|none|none| + +#### Enumerated Values + +|Property|Value| +|---|---| +|type|from| +|type|to| +|type|cc| +|type|bcc| +|storage|draft| +|storage|send| +|storage|inbox| +|storage|trash| +|visibility|read| +|visibility|new| +|visibility|unread| +|visibility|important| +|visibility|not-important| + +

Attachment add response schema

+ + + + + + +```json +{ + "items": [ + { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "name": "string", + "path": "string", + "thumbnail": "string", + "mime": "string", + "extId": "string", + "extMetadata": {}, + "messageId": "string" + } + ] +} + +``` + +Attachment add response schema + +### Properties + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|items|[[Attachment](#schemaattachment)]|false|none|none| + +

AttachmentExcluding_deleted_WithRelations

+ + + + + + +```json +{ + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "name": "string", + "path": "string", + "thumbnail": "string", + "mime": "string", + "extId": "string", + "extMetadata": {}, + "messageId": "string", + "message": { + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "sender": "string", + "subject": "string", + "body": "string", + "status": "draft", + "extId": "string", + "extMetadata": {}, + "threadId": "string", + "attachment": [ + { + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "name": "string", + "path": "string", + "thumbnail": "string", + "mime": "string", + "extId": "string", + "extMetadata": {}, + "messageId": "string", + "message": {} + } + ], + "group": [ + { + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "party": "string", + "type": "from", + "isImportant": true, + "storage": "inbox", + "visibility": "new", + "extId": "string", + "extMetadata": {}, + "messageId": "string", + "threadId": "string", + "message": {}, + "thread": { + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "subject": "string", + "messageCounts": 0, + "extId": "string", + "extMetadata": {}, + "message": [ + {} + ], + "group": [ + {} + ] + } + } + ], + "meta": [ + { + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "key": "string", + "value": "string", + "extId": "string", + "extMetadata": {}, + "messageId": "string", + "message": {} + } + ], + "thread": { + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "subject": "string", + "messageCounts": 0, + "extId": "string", + "extMetadata": {}, + "message": [ + {} + ], + "group": [ + { + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "party": "string", + "type": "from", + "isImportant": true, + "storage": "inbox", + "visibility": "new", + "extId": "string", + "extMetadata": {}, + "messageId": "string", + "threadId": "string", + "message": {}, + "thread": {} + } + ] + } + } +} + +``` + +AttachmentExcluding_deleted_WithRelations + +### Properties + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|deletedOn|string(date-time)¦null|false|none|none| +|deletedBy|string¦null|false|none|none| +|createdOn|string(date-time)|false|none|none| +|modifiedOn|string(date-time)|false|none|none| +|createdBy|string|false|none|none| +|modifiedBy|string|false|none|none| +|id|string|false|none|none| +|name|string|true|none|none| +|path|string|true|none|none| +|thumbnail|string|true|none|none| +|mime|string|true|none|none| +|extId|string|false|none|none| +|extMetadata|object|false|none|none| +|messageId|string|false|none|none| +|message|[MessageExcluding_deleted_WithRelations](#schemamessageexcluding_deleted_withrelations)|false|none|(tsType: Omit, schemaOptions: { exclude: [ 'deleted' ], includeRelations: true })| + +

ThreadExcluding_deleted_WithRelations

+ + + + + + +```json +{ + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "subject": "string", + "messageCounts": 0, + "extId": "string", + "extMetadata": {}, + "message": [ + { + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "sender": "string", + "subject": "string", + "body": "string", + "status": "draft", + "extId": "string", + "extMetadata": {}, + "threadId": "string", + "attachment": [ + { + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "name": "string", + "path": "string", + "thumbnail": "string", + "mime": "string", + "extId": "string", + "extMetadata": {}, + "messageId": "string", + "message": {} + } + ], + "group": [ + { + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "party": "string", + "type": "from", + "isImportant": true, + "storage": "inbox", + "visibility": "new", + "extId": "string", + "extMetadata": {}, + "messageId": "string", + "threadId": "string", + "message": {}, + "thread": { + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "subject": "string", + "messageCounts": 0, + "extId": "string", + "extMetadata": {}, + "message": [], + "group": [ + {} + ] + } + } + ], + "meta": [ + { + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "key": "string", + "value": "string", + "extId": "string", + "extMetadata": {}, + "messageId": "string", + "message": {} + } + ], + "thread": { + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "subject": "string", + "messageCounts": 0, + "extId": "string", + "extMetadata": {}, + "message": [], + "group": [ + { + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "party": "string", + "type": "from", + "isImportant": true, + "storage": "inbox", + "visibility": "new", + "extId": "string", + "extMetadata": {}, + "messageId": "string", + "threadId": "string", + "message": {}, + "thread": {} + } + ] + } + } + ], + "group": [ + { + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "party": "string", + "type": "from", + "isImportant": true, + "storage": "inbox", + "visibility": "new", + "extId": "string", + "extMetadata": {}, + "messageId": "string", + "threadId": "string", + "message": { + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "sender": "string", + "subject": "string", + "body": "string", + "status": "draft", + "extId": "string", + "extMetadata": {}, + "threadId": "string", + "attachment": [ + { + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "name": "string", + "path": "string", + "thumbnail": "string", + "mime": "string", + "extId": "string", + "extMetadata": {}, + "messageId": "string", + "message": {} + } + ], + "group": [ + {} + ], + "meta": [ + { + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "key": "string", + "value": "string", + "extId": "string", + "extMetadata": {}, + "messageId": "string", + "message": {} + } + ], + "thread": { + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "subject": "string", + "messageCounts": 0, + "extId": "string", + "extMetadata": {}, + "message": [ + {} + ], + "group": [] + } + }, + "thread": { + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "subject": "string", + "messageCounts": 0, + "extId": "string", + "extMetadata": {}, + "message": [ + { + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "sender": "string", + "subject": "string", + "body": "string", + "status": "draft", + "extId": "string", + "extMetadata": {}, + "threadId": "string", + "attachment": [ + { + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "name": "string", + "path": "string", + "thumbnail": "string", + "mime": "string", + "extId": "string", + "extMetadata": {}, + "messageId": "string", + "message": {} + } + ], + "group": [ + {} + ], + "meta": [ + { + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "key": "string", + "value": "string", + "extId": "string", + "extMetadata": {}, + "messageId": "string", + "message": {} + } + ], + "thread": {} + } + ], + "group": [] + } + } + ] +} + +``` + +ThreadExcluding_deleted_WithRelations + +### Properties + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|deletedOn|string(date-time)¦null|false|none|none| +|deletedBy|string¦null|false|none|none| +|createdOn|string(date-time)|false|none|none| +|modifiedOn|string(date-time)|false|none|none| +|createdBy|string|false|none|none| +|modifiedBy|string|false|none|none| +|id|string|false|none|none| +|subject|string|true|none|none| +|messageCounts|number|false|none|none| +|extId|string|false|none|none| +|extMetadata|object|false|none|none| +|message|[[MessageExcluding_deleted_WithRelations](#schemamessageexcluding_deleted_withrelations)]|false|none|[(tsType: Omit, schemaOptions: { exclude: [ 'deleted' ], includeRelations: true })]| +|group|[[GroupExcluding_deleted_WithRelations](#schemagroupexcluding_deleted_withrelations)]|false|none|[(tsType: Omit, schemaOptions: { exclude: [ 'deleted' ], includeRelations: true })]| + +

GroupExcluding_deleted_WithRelations

+ + + + + + +```json +{ + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "party": "string", + "type": "from", + "isImportant": true, + "storage": "inbox", + "visibility": "new", + "extId": "string", + "extMetadata": {}, + "messageId": "string", + "threadId": "string", + "message": { + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "sender": "string", + "subject": "string", + "body": "string", + "status": "draft", + "extId": "string", + "extMetadata": {}, + "threadId": "string", + "attachment": [ + { + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "name": "string", + "path": "string", + "thumbnail": "string", + "mime": "string", + "extId": "string", + "extMetadata": {}, + "messageId": "string", + "message": {} + } + ], + "group": [ + { + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "party": "string", + "type": "from", + "isImportant": true, + "storage": "inbox", + "visibility": "new", + "extId": "string", + "extMetadata": {}, + "messageId": "string", + "threadId": "string", + "message": {}, + "thread": { + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "subject": "string", + "messageCounts": 0, + "extId": "string", + "extMetadata": {}, + "message": [ + {} + ], + "group": [ + {} + ] + } + } + ], + "meta": [ + { + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "key": "string", + "value": "string", + "extId": "string", + "extMetadata": {}, + "messageId": "string", + "message": {} + } + ], + "thread": { + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "subject": "string", + "messageCounts": 0, + "extId": "string", + "extMetadata": {}, + "message": [ + {} + ], + "group": [ + { + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "party": "string", + "type": "from", + "isImportant": true, + "storage": "inbox", + "visibility": "new", + "extId": "string", + "extMetadata": {}, + "messageId": "string", + "threadId": "string", + "message": {}, + "thread": {} + } + ] + } + }, + "thread": { + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "subject": "string", + "messageCounts": 0, + "extId": "string", + "extMetadata": {}, + "message": [ + { + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "sender": "string", + "subject": "string", + "body": "string", + "status": "draft", + "extId": "string", + "extMetadata": {}, + "threadId": "string", + "attachment": [ + { + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "name": "string", + "path": "string", + "thumbnail": "string", + "mime": "string", + "extId": "string", + "extMetadata": {}, + "messageId": "string", + "message": {} + } + ], + "group": [ + { + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "party": "string", + "type": "from", + "isImportant": true, + "storage": "inbox", + "visibility": "new", + "extId": "string", + "extMetadata": {}, + "messageId": "string", + "threadId": "string", + "message": {}, + "thread": {} + } + ], + "meta": [ + { + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "key": "string", + "value": "string", + "extId": "string", + "extMetadata": {}, + "messageId": "string", + "message": {} + } + ], + "thread": {} + } + ], + "group": [ + { + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "party": "string", + "type": "from", + "isImportant": true, + "storage": "inbox", + "visibility": "new", + "extId": "string", + "extMetadata": {}, + "messageId": "string", + "threadId": "string", + "message": { + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "sender": "string", + "subject": "string", + "body": "string", + "status": "draft", + "extId": "string", + "extMetadata": {}, + "threadId": "string", + "attachment": [ + { + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "name": "string", + "path": "string", + "thumbnail": "string", + "mime": "string", + "extId": "string", + "extMetadata": {}, + "messageId": "string", + "message": {} + } + ], + "group": [ + {} + ], + "meta": [ + { + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "key": "string", + "value": "string", + "extId": "string", + "extMetadata": {}, + "messageId": "string", + "message": {} + } + ], + "thread": {} + }, + "thread": {} + } + ] + } +} + +``` + +GroupExcluding_deleted_WithRelations + +### Properties + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|deletedOn|string(date-time)¦null|false|none|none| +|deletedBy|string¦null|false|none|none| +|createdOn|string(date-time)|false|none|none| +|modifiedOn|string(date-time)|false|none|none| +|createdBy|string|false|none|none| +|modifiedBy|string|false|none|none| +|id|string|false|none|none| +|party|string|true|none|none| +|type|string|true|none|none| +|isImportant|boolean|false|none|none| +|storage|string|false|none|none| +|visibility|string|false|none|none| +|extId|string|false|none|none| +|extMetadata|object|false|none|none| +|messageId|string|false|none|none| +|threadId|string|false|none|none| +|message|[MessageExcluding_deleted_WithRelations](#schemamessageexcluding_deleted_withrelations)|false|none|(tsType: Omit, schemaOptions: { exclude: [ 'deleted' ], includeRelations: true })| +|thread|[ThreadExcluding_deleted_WithRelations](#schemathreadexcluding_deleted_withrelations)|false|none|(tsType: Omit, schemaOptions: { exclude: [ 'deleted' ], includeRelations: true })| + +#### Enumerated Values + +|Property|Value| +|---|---| +|type|from| +|type|to| +|type|cc| +|type|bcc| +|storage|draft| +|storage|send| +|storage|inbox| +|storage|trash| +|visibility|read| +|visibility|new| +|visibility|unread| +|visibility|important| +|visibility|not-important| + +

MetaExcluding_deleted_WithRelations

+ + + + + + +```json +{ + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "key": "string", + "value": "string", + "extId": "string", + "extMetadata": {}, + "messageId": "string", + "message": { + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "sender": "string", + "subject": "string", + "body": "string", + "status": "draft", + "extId": "string", + "extMetadata": {}, + "threadId": "string", + "attachment": [ + { + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "name": "string", + "path": "string", + "thumbnail": "string", + "mime": "string", + "extId": "string", + "extMetadata": {}, + "messageId": "string", + "message": {} + } + ], + "group": [ + { + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "party": "string", + "type": "from", + "isImportant": true, + "storage": "inbox", + "visibility": "new", + "extId": "string", + "extMetadata": {}, + "messageId": "string", + "threadId": "string", + "message": {}, + "thread": { + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "subject": "string", + "messageCounts": 0, + "extId": "string", + "extMetadata": {}, + "message": [ + {} + ], + "group": [ + {} + ] + } + } + ], + "meta": [ + { + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "key": "string", + "value": "string", + "extId": "string", + "extMetadata": {}, + "messageId": "string", + "message": {} + } + ], + "thread": { + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "subject": "string", + "messageCounts": 0, + "extId": "string", + "extMetadata": {}, + "message": [ + {} + ], + "group": [ + { + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "party": "string", + "type": "from", + "isImportant": true, + "storage": "inbox", + "visibility": "new", + "extId": "string", + "extMetadata": {}, + "messageId": "string", + "threadId": "string", + "message": {}, + "thread": {} + } + ] + } + } +} + +``` + +MetaExcluding_deleted_WithRelations + +### Properties + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|deletedOn|string(date-time)¦null|false|none|none| +|deletedBy|string¦null|false|none|none| +|createdOn|string(date-time)|false|none|none| +|modifiedOn|string(date-time)|false|none|none| +|createdBy|string|false|none|none| +|modifiedBy|string|false|none|none| +|id|string|false|none|none| +|key|string|true|none|none| +|value|string|false|none|none| +|extId|string|false|none|none| +|extMetadata|object|false|none|none| +|messageId|string|false|none|none| +|message|[MessageExcluding_deleted_WithRelations](#schemamessageexcluding_deleted_withrelations)|false|none|(tsType: Omit, schemaOptions: { exclude: [ 'deleted' ], includeRelations: true })| + +

MessageExcluding_deleted_WithRelations

+ + + + + + +```json +{ + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "sender": "string", + "subject": "string", + "body": "string", + "status": "draft", + "extId": "string", + "extMetadata": {}, + "threadId": "string", + "attachment": [ + { + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "name": "string", + "path": "string", + "thumbnail": "string", + "mime": "string", + "extId": "string", + "extMetadata": {}, + "messageId": "string", + "message": { + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "sender": "string", + "subject": "string", + "body": "string", + "status": "draft", + "extId": "string", + "extMetadata": {}, + "threadId": "string", + "attachment": [], + "group": [ + { + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "party": "string", + "type": "from", + "isImportant": true, + "storage": "inbox", + "visibility": "new", + "extId": "string", + "extMetadata": {}, + "messageId": "string", + "threadId": "string", + "message": {}, + "thread": { + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "subject": "string", + "messageCounts": 0, + "extId": "string", + "extMetadata": {}, + "message": [ + {} + ], + "group": [ + {} + ] + } + } + ], + "meta": [ + { + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "key": "string", + "value": "string", + "extId": "string", + "extMetadata": {}, + "messageId": "string", + "message": {} + } + ], + "thread": { + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "subject": "string", + "messageCounts": 0, + "extId": "string", + "extMetadata": {}, + "message": [ + {} + ], + "group": [ + { + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "party": "string", + "type": "from", + "isImportant": true, + "storage": "inbox", + "visibility": "new", + "extId": "string", + "extMetadata": {}, + "messageId": "string", + "threadId": "string", + "message": {}, + "thread": {} + } + ] + } + } + } + ], + "group": [ + { + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "party": "string", + "type": "from", + "isImportant": true, + "storage": "inbox", + "visibility": "new", + "extId": "string", + "extMetadata": {}, + "messageId": "string", + "threadId": "string", + "message": { + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "sender": "string", + "subject": "string", + "body": "string", + "status": "draft", + "extId": "string", + "extMetadata": {}, + "threadId": "string", + "attachment": [ + { + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "name": "string", + "path": "string", + "thumbnail": "string", + "mime": "string", + "extId": "string", + "extMetadata": {}, + "messageId": "string", + "message": {} + } + ], + "group": [], + "meta": [ + { + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "key": "string", + "value": "string", + "extId": "string", + "extMetadata": {}, + "messageId": "string", + "message": {} + } + ], + "thread": { + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "subject": "string", + "messageCounts": 0, + "extId": "string", + "extMetadata": {}, + "message": [ + {} + ], + "group": [ + {} + ] + } + }, + "thread": { + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "subject": "string", + "messageCounts": 0, + "extId": "string", + "extMetadata": {}, + "message": [ + { + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "sender": "string", + "subject": "string", + "body": "string", + "status": "draft", + "extId": "string", + "extMetadata": {}, + "threadId": "string", + "attachment": [ + { + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "name": "string", + "path": "string", + "thumbnail": "string", + "mime": "string", + "extId": "string", + "extMetadata": {}, + "messageId": "string", + "message": {} + } + ], + "group": [], + "meta": [ + { + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "key": "string", + "value": "string", + "extId": "string", + "extMetadata": {}, + "messageId": "string", + "message": {} + } + ], + "thread": {} + } + ], + "group": [ + {} + ] + } + } + ], + "meta": [ + { + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "key": "string", + "value": "string", + "extId": "string", + "extMetadata": {}, + "messageId": "string", + "message": { + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "sender": "string", + "subject": "string", + "body": "string", + "status": "draft", + "extId": "string", + "extMetadata": {}, + "threadId": "string", + "attachment": [ + { + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "name": "string", + "path": "string", + "thumbnail": "string", + "mime": "string", + "extId": "string", + "extMetadata": {}, + "messageId": "string", + "message": {} + } + ], + "group": [ + { + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "party": "string", + "type": "from", + "isImportant": true, + "storage": "inbox", + "visibility": "new", + "extId": "string", + "extMetadata": {}, + "messageId": "string", + "threadId": "string", + "message": {}, + "thread": { + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "subject": "string", + "messageCounts": 0, + "extId": "string", + "extMetadata": {}, + "message": [ + {} + ], + "group": [ + {} + ] + } + } + ], + "meta": [], + "thread": { + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "subject": "string", + "messageCounts": 0, + "extId": "string", + "extMetadata": {}, + "message": [ + {} + ], + "group": [ + { + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "party": "string", + "type": "from", + "isImportant": true, + "storage": "inbox", + "visibility": "new", + "extId": "string", + "extMetadata": {}, + "messageId": "string", + "threadId": "string", + "message": {}, + "thread": {} + } + ] + } + } + } + ], + "thread": { + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "subject": "string", + "messageCounts": 0, + "extId": "string", + "extMetadata": {}, + "message": [ + { + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "sender": "string", + "subject": "string", + "body": "string", + "status": "draft", + "extId": "string", + "extMetadata": {}, + "threadId": "string", + "attachment": [ + { + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "name": "string", + "path": "string", + "thumbnail": "string", + "mime": "string", + "extId": "string", + "extMetadata": {}, + "messageId": "string", + "message": {} + } + ], + "group": [ + { + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "party": "string", + "type": "from", + "isImportant": true, + "storage": "inbox", + "visibility": "new", + "extId": "string", + "extMetadata": {}, + "messageId": "string", + "threadId": "string", + "message": {}, + "thread": {} + } + ], + "meta": [ + { + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "key": "string", + "value": "string", + "extId": "string", + "extMetadata": {}, + "messageId": "string", + "message": {} + } + ], + "thread": {} + } + ], + "group": [ + { + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "party": "string", + "type": "from", + "isImportant": true, + "storage": "inbox", + "visibility": "new", + "extId": "string", + "extMetadata": {}, + "messageId": "string", + "threadId": "string", + "message": { + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "sender": "string", + "subject": "string", + "body": "string", + "status": "draft", + "extId": "string", + "extMetadata": {}, + "threadId": "string", + "attachment": [ + { + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "name": "string", + "path": "string", + "thumbnail": "string", + "mime": "string", + "extId": "string", + "extMetadata": {}, + "messageId": "string", + "message": {} + } + ], + "group": [ + {} + ], + "meta": [ + { + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "key": "string", + "value": "string", + "extId": "string", + "extMetadata": {}, + "messageId": "string", + "message": {} + } + ], + "thread": {} + }, + "thread": {} + } + ] + } +} + +``` + +MessageExcluding_deleted_WithRelations + +### Properties + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|deletedOn|string(date-time)¦null|false|none|none| +|deletedBy|string¦null|false|none|none| +|createdOn|string(date-time)|false|none|none| +|modifiedOn|string(date-time)|false|none|none| +|createdBy|string|false|none|none| +|modifiedBy|string|false|none|none| +|id|string|false|none|none| +|sender|string|true|none|none| +|subject|string|true|none|none| +|body|string|true|none|none| +|status|string|true|none|none| +|extId|string|false|none|none| +|extMetadata|object|false|none|none| +|threadId|string|false|none|none| +|attachment|[[AttachmentExcluding_deleted_WithRelations](#schemaattachmentexcluding_deleted_withrelations)]|false|none|[(tsType: Omit, schemaOptions: { exclude: [ 'deleted' ], includeRelations: true })]| +|group|[[GroupExcluding_deleted_WithRelations](#schemagroupexcluding_deleted_withrelations)]|false|none|[(tsType: Omit, schemaOptions: { exclude: [ 'deleted' ], includeRelations: true })]| +|meta|[[MetaExcluding_deleted_WithRelations](#schemametaexcluding_deleted_withrelations)]|false|none|[(tsType: Omit, schemaOptions: { exclude: [ 'deleted' ], includeRelations: true })]| +|thread|[ThreadExcluding_deleted_WithRelations](#schemathreadexcluding_deleted_withrelations)|false|none|(tsType: Omit, schemaOptions: { exclude: [ 'deleted' ], includeRelations: true })| + +#### Enumerated Values + +|Property|Value| +|---|---| +|status|draft| +|status|send| + +

Message

+ + + + + + +```json +{ + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "sender": "string", + "subject": "string", + "body": "string", + "status": "draft", + "extId": "string", + "extMetadata": {}, + "threadId": "string" +} + +``` + +Message + +### Properties + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|deleted|boolean|false|none|none| +|deletedOn|string(date-time)¦null|false|none|none| +|deletedBy|string¦null|false|none|none| +|createdOn|string(date-time)|false|none|none| +|modifiedOn|string(date-time)|false|none|none| +|createdBy|string|false|none|none| +|modifiedBy|string|false|none|none| +|id|string|false|none|none| +|sender|string|true|none|none| +|subject|string|true|none|none| +|body|string|true|none|none| +|status|string|true|none|none| +|extId|string|false|none|none| +|extMetadata|object|false|none|none| +|threadId|string|false|none|none| + +#### Enumerated Values + +|Property|Value| +|---|---| +|status|draft| +|status|send| + +

Thread

+ + + + + + +```json +{ + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "subject": "string", + "messageCounts": 0, + "extId": "string", + "extMetadata": {} +} + +``` + +Thread + +### Properties + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|deleted|boolean|false|none|none| +|deletedOn|string(date-time)¦null|false|none|none| +|deletedBy|string¦null|false|none|none| +|createdOn|string(date-time)|false|none|none| +|modifiedOn|string(date-time)|false|none|none| +|createdBy|string|false|none|none| +|modifiedBy|string|false|none|none| +|id|string|false|none|none| +|subject|string|true|none|none| +|messageCounts|number|false|none|none| +|extId|string|false|none|none| +|extMetadata|object|false|none|none| + diff --git a/services/in-mail-service/package.json b/services/in-mail-service/package.json index 63a7ea80cd..b9f0d79c43 100644 --- a/services/in-mail-service/package.json +++ b/services/in-mail-service/package.json @@ -12,7 +12,7 @@ "node": ">=10" }, "scripts": { - "build": "npm run clean && lb-tsc", + "build": "npm run clean && lb-tsc && npm run openapi-spec && npm run apidocs", "build:watch": "lb-tsc --watch", "lint": "npm run prettier:check && npm run eslint", "lint:fix": "npm run eslint:fix && npm run prettier:fix", @@ -21,6 +21,8 @@ "prettier:fix": "npm run prettier:cli -- --write", "eslint": "lb-eslint --report-unused-disable-directives .", "eslint:fix": "npm run eslint -- --fix", + "openapi-spec": "node ./dist/openapi-spec", + "apidocs": "./node_modules/.bin/widdershins --search false --language_tabs 'javascript:JavaScript:request' 'javascript--nodejs:Node.JS' --summary openapi.json -o openapi.md", "pretest": "npm run clean && npm run build", "test": "lb-mocha --allow-console-logs \"dist/__tests__\"", "posttest": "npm run lint", @@ -85,7 +87,8 @@ "eslint-plugin-eslint-plugin": "^3.0.2", "eslint-plugin-mocha": "^8.1.0", "source-map-support": "^0.5.19", - "typescript": "~4.2.4" + "typescript": "~4.2.4", + "widdershins": "^4.0.1" }, "publishConfig": { "registry": "https://registry.npmjs.org/", diff --git a/services/in-mail-service/src/application.ts b/services/in-mail-service/src/application.ts new file mode 100644 index 0000000000..0e47cfeb33 --- /dev/null +++ b/services/in-mail-service/src/application.ts @@ -0,0 +1,27 @@ +import {BootMixin} from '@loopback/boot'; +import {ApplicationConfig} from '@loopback/core'; +import {RepositoryMixin} from '@loopback/repository'; +import {RestApplication} from '@loopback/rest'; +import * as path from 'path'; +import {InMailServiceComponent} from './component'; + +export {ApplicationConfig}; + +export class InMailServiceApplication extends BootMixin( + RepositoryMixin(RestApplication), +) { + constructor(options: ApplicationConfig = {}) { + super(options); + this.static('/', path.join(__dirname, '../public')); + this.component(InMailServiceComponent); + + this.projectRoot = __dirname; + this.bootOptions = { + controllers: { + dirs: ['controllers'], + extensions: ['.controller.js'], + nested: true, + }, + }; + } +} diff --git a/services/in-mail-service/src/openapi-spec.ts b/services/in-mail-service/src/openapi-spec.ts new file mode 100644 index 0000000000..3cbd492aa2 --- /dev/null +++ b/services/in-mail-service/src/openapi-spec.ts @@ -0,0 +1,25 @@ +import {ApplicationConfig} from '@loopback/core'; +import {InMailServiceApplication} from './application'; + +/** + * Export the OpenAPI spec from the application + */ +const PORT = 3000; +const FILEARGVI = 2; +async function exportOpenApiSpec(): Promise { + const config: ApplicationConfig = { + rest: { + port: +(process.env.PORT ?? PORT), + host: process.env.HOST ?? 'localhost', + }, + }; + const outFile = process.argv[FILEARGVI] ?? 'openapi.json'; + const app = new InMailServiceApplication(config); + await app.boot(); + await app.exportOpenApiSpec(outFile); +} + +exportOpenApiSpec().catch(err => { + console.error('Fail to export OpenAPI spec from the application.', err); //NOSONAR + process.exit(1); +}); diff --git a/services/notification-service/README.md b/services/notification-service/README.md index 960ec136e7..703e76cd60 100644 --- a/services/notification-service/README.md +++ b/services/notification-service/README.md @@ -149,4 +149,6 @@ Authorization: Bearer where is a JWT token signed using JWT issu 400: Bad Request (Error message varies w.r.t API)
201: No content: Empty Response
-#### API Details \ No newline at end of file +## API's Details + +Visit the [OpenAPI spec docs](./openapi.md) \ No newline at end of file diff --git a/services/notification-service/openapi.json b/services/notification-service/openapi.json new file mode 100644 index 0000000000..e29b8e0384 --- /dev/null +++ b/services/notification-service/openapi.json @@ -0,0 +1,1540 @@ +{ + "openapi": "3.0.0", + "info": { + "title": "Notification Service", + "version": "1.0.0", + "description": "services", + "contact": { + "name": "Sourcefuse" + } + }, + "paths": { + "/notification-users/bulk": { + "post": { + "x-controller-name": "NotificationUserController", + "x-operation-name": "createAll", + "tags": [ + "NotificationUserController" + ], + "responses": { + "200": { + "description": "Notification User model instance", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/NotificationUser" + } + } + } + } + }, + "requestBody": { + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/NewNotificationUser" + } + } + } + } + }, + "operationId": "NotificationUserController.createAll" + } + }, + "/notification-users/count": { + "get": { + "x-controller-name": "NotificationUserController", + "x-operation-name": "count", + "tags": [ + "NotificationUserController" + ], + "responses": { + "200": { + "description": "NotificationUser model count", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/loopback.Count" + } + } + } + } + }, + "parameters": [ + { + "name": "where", + "in": "query", + "content": { + "application/json": { + "schema": { + "type": "object", + "title": "notification_users.WhereFilter", + "additionalProperties": true, + "x-typescript-type": "@loopback/repository#Where" + } + } + } + } + ], + "operationId": "NotificationUserController.count" + } + }, + "/notification-users/hard": { + "delete": { + "x-controller-name": "NotificationUserController", + "x-operation-name": "deleteAllHard", + "tags": [ + "NotificationUserController" + ], + "responses": { + "204": { + "description": "Notification DELETE success" + } + }, + "parameters": [ + { + "name": "where", + "in": "query", + "content": { + "application/json": { + "schema": { + "type": "object", + "title": "notification_users.WhereFilter", + "additionalProperties": true, + "x-typescript-type": "@loopback/repository#Where" + } + } + } + } + ], + "operationId": "NotificationUserController.deleteAllHard" + } + }, + "/notification-users/{id}/notification": { + "get": { + "x-controller-name": "NotificationUserNotificationController", + "x-operation-name": "getNotification", + "tags": [ + "NotificationUserNotificationController" + ], + "responses": { + "200": { + "description": "Notification belonging to NotificationUser", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Notification" + } + } + } + } + } + }, + "parameters": [ + { + "name": "id", + "in": "path", + "schema": { + "type": "string" + }, + "required": true + } + ], + "operationId": "NotificationUserNotificationController.getNotification" + } + }, + "/notification-users/{id}": { + "put": { + "x-controller-name": "NotificationUserController", + "x-operation-name": "replaceById", + "tags": [ + "NotificationUserController" + ], + "responses": { + "204": { + "description": "NotificationUser PUT success" + } + }, + "parameters": [ + { + "name": "id", + "in": "path", + "schema": { + "type": "string" + }, + "required": true + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/NotificationUser" + } + } + }, + "x-parameter-index": 1 + }, + "operationId": "NotificationUserController.replaceById" + }, + "patch": { + "x-controller-name": "NotificationUserController", + "x-operation-name": "updateById", + "tags": [ + "NotificationUserController" + ], + "responses": { + "204": { + "description": "NotificationUser PATCH success" + } + }, + "parameters": [ + { + "name": "id", + "in": "path", + "schema": { + "type": "string" + }, + "required": true + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/NotificationUserPartial" + } + } + }, + "x-parameter-index": 1 + }, + "operationId": "NotificationUserController.updateById" + }, + "get": { + "x-controller-name": "NotificationUserController", + "x-operation-name": "findById", + "tags": [ + "NotificationUserController" + ], + "responses": { + "200": { + "description": "NotificationUser instance", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/NotificationUser" + } + } + } + } + }, + "parameters": [ + { + "name": "id", + "in": "path", + "schema": { + "type": "string" + }, + "required": true + } + ], + "operationId": "NotificationUserController.findById" + }, + "delete": { + "x-controller-name": "NotificationUserController", + "x-operation-name": "deleteById", + "tags": [ + "NotificationUserController" + ], + "responses": { + "204": { + "description": "NotificationUser DELETE success" + } + }, + "parameters": [ + { + "name": "id", + "in": "path", + "schema": { + "type": "string" + }, + "required": true + } + ], + "operationId": "NotificationUserController.deleteById" + } + }, + "/notification-users": { + "post": { + "x-controller-name": "NotificationUserController", + "x-operation-name": "create", + "tags": [ + "NotificationUserController" + ], + "responses": { + "200": { + "description": "NotificationUser model instance", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/NotificationUser" + } + } + } + } + }, + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/NewNotificationUser" + } + } + } + }, + "operationId": "NotificationUserController.create" + }, + "patch": { + "x-controller-name": "NotificationUserController", + "x-operation-name": "updateAll", + "tags": [ + "NotificationUserController" + ], + "responses": { + "200": { + "description": "NotificationUser PATCH success count", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/loopback.Count" + } + } + } + } + }, + "parameters": [ + { + "name": "where", + "in": "query", + "content": { + "application/json": { + "schema": { + "type": "object", + "title": "notification_users.WhereFilter", + "additionalProperties": true, + "x-typescript-type": "@loopback/repository#Where" + } + } + } + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/NotificationUserPartial" + } + } + } + }, + "operationId": "NotificationUserController.updateAll" + }, + "get": { + "x-controller-name": "NotificationUserController", + "x-operation-name": "find", + "tags": [ + "NotificationUserController" + ], + "responses": { + "200": { + "description": "Array of NotificationUser model instances", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/NotificationUser" + } + } + } + } + } + }, + "parameters": [ + { + "name": "filter", + "in": "query", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/notification_users.Filter" + } + } + } + } + ], + "operationId": "NotificationUserController.find" + }, + "delete": { + "x-controller-name": "NotificationUserController", + "x-operation-name": "deleteAll", + "tags": [ + "NotificationUserController" + ], + "responses": { + "204": { + "description": "Notification DELETE success" + } + }, + "parameters": [ + { + "name": "where", + "in": "query", + "content": { + "application/json": { + "schema": { + "type": "object", + "title": "notification_users.WhereFilter", + "additionalProperties": true, + "x-typescript-type": "@loopback/repository#Where" + } + } + } + } + ], + "operationId": "NotificationUserController.deleteAll" + } + }, + "/notifications/access/{id}": { + "patch": { + "x-controller-name": "PubnubNotificationController", + "x-operation-name": "grantAccess", + "tags": [ + "PubnubNotificationController" + ], + "responses": { + "200": { + "description": "Access response", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/AccessResponseDto" + } + } + } + } + }, + "parameters": [ + { + "name": "id", + "in": "path", + "schema": { + "type": "string" + }, + "required": true + }, + { + "name": "Authorization", + "in": "header", + "schema": { + "type": "string" + } + }, + { + "name": "pubnubToken", + "in": "header", + "schema": { + "type": "string" + }, + "required": true + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/NotificationAccess" + } + } + } + }, + "operationId": "PubnubNotificationController.grantAccess" + }, + "delete": { + "x-controller-name": "PubnubNotificationController", + "x-operation-name": "revokeAccess", + "tags": [ + "PubnubNotificationController" + ], + "responses": { + "200": { + "description": "Object with success" + } + }, + "parameters": [ + { + "name": "id", + "in": "path", + "schema": { + "type": "string" + }, + "required": true + } + ], + "operationId": "PubnubNotificationController.revokeAccess" + } + }, + "/notifications/bulk": { + "post": { + "x-controller-name": "NotificationController", + "x-operation-name": "createBulkNotificaitions", + "tags": [ + "NotificationController" + ], + "responses": { + "200": { + "description": "Array of Notifications", + "content": { + "application/json": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Notification", + "definitions": { + "Notification": { + "$ref": "#/components/schemas/Notification" + } + } + } + } + } + } + }, + "requestBody": { + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/NotificationExcluding_id_" + } + } + } + } + }, + "operationId": "NotificationController.createBulkNotificaitions" + } + }, + "/notifications/count": { + "get": { + "x-controller-name": "NotificationController", + "x-operation-name": "count", + "tags": [ + "NotificationController" + ], + "responses": { + "200": { + "description": "Notification model count", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/loopback.Count" + } + } + } + } + }, + "parameters": [ + { + "name": "where", + "in": "query", + "content": { + "application/json": { + "schema": { + "type": "object", + "title": "notifications.WhereFilter", + "additionalProperties": true, + "x-typescript-type": "@loopback/repository#Where" + } + } + } + } + ], + "operationId": "NotificationController.count" + } + }, + "/notifications/{id}/notification-users": { + "post": { + "x-controller-name": "NotificationNotificationUserController", + "x-operation-name": "create", + "tags": [ + "NotificationNotificationUserController" + ], + "responses": { + "200": { + "description": "Notification model instance", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/NotificationUser" + } + } + } + } + }, + "parameters": [ + { + "name": "id", + "in": "path", + "schema": { + "type": "string" + }, + "required": true + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/NewNotificationUserInNotification" + } + } + }, + "x-parameter-index": 1 + }, + "operationId": "NotificationNotificationUserController.create" + }, + "patch": { + "x-controller-name": "NotificationNotificationUserController", + "x-operation-name": "patch", + "tags": [ + "NotificationNotificationUserController" + ], + "responses": { + "200": { + "description": "Notification.NotificationUser PATCH success count", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/loopback.Count" + } + } + } + } + }, + "parameters": [ + { + "name": "id", + "in": "path", + "schema": { + "type": "string" + }, + "required": true + }, + { + "name": "where", + "in": "query", + "content": { + "application/json": { + "schema": { + "type": "object", + "title": "notification_users.WhereFilter", + "additionalProperties": true, + "x-typescript-type": "@loopback/repository#Where" + } + } + } + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/NotificationUserPartial" + } + } + }, + "x-parameter-index": 1 + }, + "operationId": "NotificationNotificationUserController.patch" + }, + "get": { + "x-controller-name": "NotificationNotificationUserController", + "x-operation-name": "find", + "tags": [ + "NotificationNotificationUserController" + ], + "responses": { + "200": { + "description": "Array of Notification has many NotificationUser", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/NotificationUser" + } + } + } + } + } + }, + "parameters": [ + { + "name": "id", + "in": "path", + "schema": { + "type": "string" + }, + "required": true + }, + { + "name": "filter", + "in": "query", + "content": { + "application/json": { + "schema": { + "type": "object", + "additionalProperties": true + } + } + } + } + ], + "operationId": "NotificationNotificationUserController.find" + }, + "delete": { + "x-controller-name": "NotificationNotificationUserController", + "x-operation-name": "delete", + "tags": [ + "NotificationNotificationUserController" + ], + "responses": { + "200": { + "description": "Notification.NotificationUser DELETE success count", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/loopback.Count" + } + } + } + } + }, + "parameters": [ + { + "name": "id", + "in": "path", + "schema": { + "type": "string" + }, + "required": true + }, + { + "name": "where", + "in": "query", + "content": { + "application/json": { + "schema": { + "type": "object", + "title": "notification_users.WhereFilter", + "additionalProperties": true, + "x-typescript-type": "@loopback/repository#Where" + } + } + } + } + ], + "operationId": "NotificationNotificationUserController.delete" + } + }, + "/notifications/{id}": { + "get": { + "x-controller-name": "NotificationController", + "x-operation-name": "findById", + "tags": [ + "NotificationController" + ], + "responses": { + "200": { + "description": "Notification model instance", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Notification" + } + } + } + } + }, + "parameters": [ + { + "name": "id", + "in": "path", + "schema": { + "type": "string" + }, + "required": true + } + ], + "operationId": "NotificationController.findById" + } + }, + "/notifications": { + "post": { + "x-controller-name": "NotificationController", + "x-operation-name": "create", + "tags": [ + "NotificationController" + ], + "responses": { + "200": { + "description": "Notification model instance", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Notification" + } + } + } + } + }, + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/NotificationExcluding_id_" + } + } + } + }, + "operationId": "NotificationController.create" + }, + "get": { + "x-controller-name": "NotificationController", + "x-operation-name": "find", + "tags": [ + "NotificationController" + ], + "responses": { + "200": { + "description": "Array of Notification model instances", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Notification" + } + } + } + } + } + }, + "parameters": [ + { + "name": "filter", + "in": "query", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/notifications.Filter" + } + } + } + } + ], + "operationId": "NotificationController.find" + }, + "delete": { + "x-controller-name": "NotificationController", + "x-operation-name": "deleteAll", + "tags": [ + "NotificationController" + ], + "responses": { + "204": { + "description": "Notification DELETE success" + } + }, + "parameters": [ + { + "name": "where", + "in": "query", + "content": { + "application/json": { + "schema": { + "type": "object", + "title": "notifications.WhereFilter", + "additionalProperties": true, + "x-typescript-type": "@loopback/repository#Where" + } + } + } + } + ], + "operationId": "NotificationController.deleteAll" + } + } + }, + "components": { + "securitySchemes": { + "HTTPBearer": { + "type": "http", + "scheme": "bearer", + "bearerFormat": "JWT" + } + }, + "schemas": { + "Notification": { + "title": "Notification", + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "subject": { + "type": "string", + "nullable": true + }, + "body": { + "type": "string" + }, + "receiver": { + "type": "object" + }, + "type": { + "type": "number" + }, + "sentDate": { + "type": "string", + "format": "date-time" + }, + "options": { + "type": "object" + } + }, + "required": [ + "body", + "receiver", + "type" + ], + "additionalProperties": false + }, + "NotificationExcluding_id_": { + "title": "NotificationExcluding_id_", + "type": "object", + "description": "(tsType: Omit, schemaOptions: { exclude: [ 'id' ] })", + "properties": { + "subject": { + "type": "string", + "nullable": true + }, + "body": { + "type": "string" + }, + "receiver": { + "type": "object" + }, + "type": { + "type": "number" + }, + "sentDate": { + "type": "string", + "format": "date-time" + }, + "options": { + "type": "object" + } + }, + "required": [ + "body", + "receiver", + "type" + ], + "additionalProperties": false, + "x-typescript-type": "Omit" + }, + "NotificationUser": { + "title": "NotificationUser", + "type": "object", + "properties": { + "deleted": { + "type": "boolean" + }, + "deletedOn": { + "type": "string", + "format": "date-time", + "nullable": true + }, + "deletedBy": { + "type": "string", + "nullable": true + }, + "createdOn": { + "type": "string", + "format": "date-time" + }, + "modifiedOn": { + "type": "string", + "format": "date-time" + }, + "id": { + "type": "string" + }, + "notificationId": { + "type": "string" + }, + "userId": { + "type": "string" + }, + "isRead": { + "type": "boolean" + }, + "actionMeta": { + "type": "object" + } + }, + "required": [ + "notificationId", + "userId" + ], + "additionalProperties": true + }, + "NewNotificationUser": { + "title": "NewNotificationUser", + "type": "object", + "description": "(tsType: Omit, schemaOptions: { title: 'NewNotificationUser', exclude: [ 'id' ] })", + "properties": { + "deleted": { + "type": "boolean" + }, + "deletedOn": { + "type": "string", + "format": "date-time", + "nullable": true + }, + "deletedBy": { + "type": "string", + "nullable": true + }, + "createdOn": { + "type": "string", + "format": "date-time" + }, + "modifiedOn": { + "type": "string", + "format": "date-time" + }, + "notificationId": { + "type": "string" + }, + "userId": { + "type": "string" + }, + "isRead": { + "type": "boolean" + }, + "actionMeta": { + "type": "object" + } + }, + "required": [ + "notificationId", + "userId" + ], + "additionalProperties": true, + "x-typescript-type": "Omit" + }, + "NotificationUserPartial": { + "title": "NotificationUserPartial", + "type": "object", + "description": "(tsType: Partial, schemaOptions: { partial: true })", + "properties": { + "deleted": { + "type": "boolean" + }, + "deletedOn": { + "type": "string", + "format": "date-time", + "nullable": true + }, + "deletedBy": { + "type": "string", + "nullable": true + }, + "createdOn": { + "type": "string", + "format": "date-time" + }, + "modifiedOn": { + "type": "string", + "format": "date-time" + }, + "id": { + "type": "string" + }, + "notificationId": { + "type": "string" + }, + "userId": { + "type": "string" + }, + "isRead": { + "type": "boolean" + }, + "actionMeta": { + "type": "object" + } + }, + "additionalProperties": true, + "x-typescript-type": "Partial" + }, + "AccessResponseDto": { + "title": "AccessResponseDto", + "type": "object", + "properties": { + "ttl": { + "type": "number" + }, + "cipherKey": { + "type": "string" + } + }, + "additionalProperties": false + }, + "NotificationAccess": { + "title": "NotificationAccess", + "type": "object", + "properties": { + "receiver": { + "type": "object", + "description": "this will contain the list of reciever to give access" + }, + "type": { + "type": "number" + }, + "options": { + "type": "object", + "description": "this will contain the ttl property for now" + } + }, + "required": [ + "receiver", + "type" + ], + "additionalProperties": false + }, + "NewNotificationUserInNotification": { + "title": "NewNotificationUserInNotification", + "type": "object", + "description": "(tsType: @loopback/repository-json-schema#Optional, 'notificationId'>, schemaOptions: { title: 'NewNotificationUserInNotification', exclude: [ 'id' ], optional: [ 'notificationId' ] })", + "properties": { + "deleted": { + "type": "boolean" + }, + "deletedOn": { + "type": "string", + "format": "date-time", + "nullable": true + }, + "deletedBy": { + "type": "string", + "nullable": true + }, + "createdOn": { + "type": "string", + "format": "date-time" + }, + "modifiedOn": { + "type": "string", + "format": "date-time" + }, + "notificationId": { + "type": "string" + }, + "userId": { + "type": "string" + }, + "isRead": { + "type": "boolean" + }, + "actionMeta": { + "type": "object" + } + }, + "required": [ + "userId" + ], + "additionalProperties": true, + "x-typescript-type": "@loopback/repository-json-schema#Optional, 'notificationId'>" + }, + "loopback.Count": { + "type": "object", + "title": "loopback.Count", + "x-typescript-type": "@loopback/repository#Count", + "properties": { + "count": { + "type": "number" + } + } + }, + "notification_users.ScopeFilter": { + "properties": { + "offset": { + "type": "integer", + "minimum": 0 + }, + "limit": { + "type": "integer", + "minimum": 1, + "example": 100 + }, + "skip": { + "type": "integer", + "minimum": 0 + }, + "order": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "array", + "items": { + "type": "string" + } + } + ] + }, + "where": { + "type": "object", + "additionalProperties": true + }, + "fields": { + "oneOf": [ + { + "type": "object", + "properties": {}, + "additionalProperties": true + }, + { + "type": "array", + "items": { + "type": "string" + }, + "uniqueItems": true + } + ] + }, + "include": { + "type": "array", + "items": { + "type": "object", + "properties": {}, + "additionalProperties": true + } + } + }, + "additionalProperties": false, + "title": "notification_users.ScopeFilter" + }, + "notification_users.IncludeFilter.Items": { + "title": "notification_users.IncludeFilter.Items", + "type": "object", + "properties": { + "relation": { + "type": "string" + }, + "scope": { + "$ref": "#/components/schemas/notification_users.ScopeFilter" + } + } + }, + "notification_users.Filter": { + "type": "object", + "title": "notification_users.Filter", + "properties": { + "offset": { + "type": "integer", + "minimum": 0 + }, + "limit": { + "type": "integer", + "minimum": 1, + "example": 100 + }, + "skip": { + "type": "integer", + "minimum": 0 + }, + "order": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "array", + "items": { + "type": "string" + } + } + ] + }, + "where": { + "title": "notification_users.WhereFilter", + "type": "object", + "additionalProperties": true + }, + "fields": { + "oneOf": [ + { + "type": "object", + "properties": { + "deleted": { + "type": "boolean" + }, + "deletedOn": { + "type": "boolean" + }, + "deletedBy": { + "type": "boolean" + }, + "createdOn": { + "type": "boolean" + }, + "modifiedOn": { + "type": "boolean" + }, + "id": { + "type": "boolean" + }, + "notificationId": { + "type": "boolean" + }, + "userId": { + "type": "boolean" + }, + "isRead": { + "type": "boolean" + }, + "actionMeta": { + "type": "boolean" + } + }, + "additionalProperties": true + }, + { + "type": "array", + "items": { + "type": "string", + "example": "deleted" + }, + "uniqueItems": true + } + ], + "title": "notification_users.Fields" + }, + "include": { + "title": "notification_users.IncludeFilter", + "type": "array", + "items": { + "anyOf": [ + { + "$ref": "#/components/schemas/notification_users.IncludeFilter.Items" + }, + { + "type": "string" + } + ] + } + } + }, + "additionalProperties": false, + "x-typescript-type": "@loopback/repository#Filter" + }, + "notifications.ScopeFilter": { + "properties": { + "offset": { + "type": "integer", + "minimum": 0 + }, + "limit": { + "type": "integer", + "minimum": 1, + "example": 100 + }, + "skip": { + "type": "integer", + "minimum": 0 + }, + "order": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "array", + "items": { + "type": "string" + } + } + ] + }, + "where": { + "type": "object", + "additionalProperties": true + }, + "fields": { + "oneOf": [ + { + "type": "object", + "properties": {}, + "additionalProperties": true + }, + { + "type": "array", + "items": { + "type": "string" + }, + "uniqueItems": true + } + ] + }, + "include": { + "type": "array", + "items": { + "type": "object", + "properties": {}, + "additionalProperties": true + } + } + }, + "additionalProperties": false, + "title": "notifications.ScopeFilter" + }, + "notifications.IncludeFilter.Items": { + "title": "notifications.IncludeFilter.Items", + "type": "object", + "properties": { + "relation": { + "type": "string" + }, + "scope": { + "$ref": "#/components/schemas/notifications.ScopeFilter" + } + } + }, + "notifications.Filter": { + "type": "object", + "title": "notifications.Filter", + "properties": { + "offset": { + "type": "integer", + "minimum": 0 + }, + "limit": { + "type": "integer", + "minimum": 1, + "example": 100 + }, + "skip": { + "type": "integer", + "minimum": 0 + }, + "order": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "array", + "items": { + "type": "string" + } + } + ] + }, + "where": { + "title": "notifications.WhereFilter", + "type": "object", + "additionalProperties": true + }, + "fields": { + "oneOf": [ + { + "type": "object", + "properties": { + "id": { + "type": "boolean" + }, + "subject": { + "type": "boolean" + }, + "body": { + "type": "boolean" + }, + "receiver": { + "type": "boolean" + }, + "type": { + "type": "boolean" + }, + "sentDate": { + "type": "boolean" + }, + "options": { + "type": "boolean" + } + }, + "additionalProperties": false + }, + { + "type": "array", + "items": { + "type": "string", + "enum": [ + "id", + "subject", + "body", + "receiver", + "type", + "sentDate", + "options" + ], + "example": "id" + }, + "uniqueItems": true + } + ], + "title": "notifications.Fields" + }, + "include": { + "title": "notifications.IncludeFilter", + "type": "array", + "items": { + "anyOf": [ + { + "$ref": "#/components/schemas/notifications.IncludeFilter.Items" + }, + { + "type": "string" + } + ] + } + } + }, + "additionalProperties": false, + "x-typescript-type": "@loopback/repository#Filter" + } + } + }, + "servers": [ + { + "url": "/" + } + ] +} \ No newline at end of file diff --git a/services/notification-service/openapi.md b/services/notification-service/openapi.md new file mode 100644 index 0000000000..86043be1c2 --- /dev/null +++ b/services/notification-service/openapi.md @@ -0,0 +1,2421 @@ +--- +title: Notification Service v1.0.0 +language_tabs: + - "'javascript": JavaScript + - "'javascript--nodejs": Node.JS' +language_clients: + - "'javascript": request' + - "'javascript--nodejs": "" +toc_footers: [] +includes: [] +search: false +highlight_theme: darkula +headingLevel: 2 + +--- + + + +

Notification Service v1.0.0

+ +> Scroll down for code samples, example requests and responses. Select a language for code samples from the tabs above or the mobile navigation menu. + +services + +Base URLs: + +* / + +# Authentication + +- HTTP Authentication, scheme: bearer + +

NotificationUserController

+ +## NotificationUserController.createAll + + + +> Code samples + +```'javascript--nodejs +const fetch = require('node-fetch'); +const inputBody = [ + { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "notificationId": "string", + "userId": "string", + "isRead": true, + "actionMeta": {} + } +]; +const headers = { + 'Content-Type':'application/json', + 'Accept':'application/json' +}; + +fetch('/notification-users/bulk', +{ + method: 'POST', + body: JSON.stringify(inputBody), + headers: headers +}) +.then(function(res) { + return res.json(); +}).then(function(body) { + console.log(body); +}); + +``` + +`POST /notification-users/bulk` + +> Body parameter + +```json +[ + { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "notificationId": "string", + "userId": "string", + "isRead": true, + "actionMeta": {} + } +] +``` + +

Parameters

+ +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|body|body|[NewNotificationUser](#schemanewnotificationuser)|false|none| + +> Example responses + +> 200 Response + +```json +{ + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "id": "string", + "notificationId": "string", + "userId": "string", + "isRead": true, + "actionMeta": {} +} +``` + +

Responses

+ +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|Notification User model instance|[NotificationUser](#schemanotificationuser)| + + + +## NotificationUserController.count + + + +> Code samples + +```'javascript--nodejs +const fetch = require('node-fetch'); + +const headers = { + 'Accept':'application/json' +}; + +fetch('/notification-users/count', +{ + method: 'GET', + + headers: headers +}) +.then(function(res) { + return res.json(); +}).then(function(body) { + console.log(body); +}); + +``` + +`GET /notification-users/count` + +

Parameters

+ +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|where|query|object|false|none| + +> Example responses + +> 200 Response + +```json +{ + "count": 0 +} +``` + +

Responses

+ +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|NotificationUser model count|[loopback.Count](#schemaloopback.count)| + + + +## NotificationUserController.deleteAllHard + + + +> Code samples + +```'javascript--nodejs +const fetch = require('node-fetch'); + +fetch('/notification-users/hard', +{ + method: 'DELETE' + +}) +.then(function(res) { + return res.json(); +}).then(function(body) { + console.log(body); +}); + +``` + +`DELETE /notification-users/hard` + +

Parameters

+ +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|where|query|object|false|none| + +

Responses

+ +|Status|Meaning|Description|Schema| +|---|---|---|---| +|204|[No Content](https://tools.ietf.org/html/rfc7231#section-6.3.5)|Notification DELETE success|None| + + + +## NotificationUserController.replaceById + + + +> Code samples + +```'javascript--nodejs +const fetch = require('node-fetch'); +const inputBody = { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "id": "string", + "notificationId": "string", + "userId": "string", + "isRead": true, + "actionMeta": {} +}; +const headers = { + 'Content-Type':'application/json' +}; + +fetch('/notification-users/{id}', +{ + method: 'PUT', + body: JSON.stringify(inputBody), + headers: headers +}) +.then(function(res) { + return res.json(); +}).then(function(body) { + console.log(body); +}); + +``` + +`PUT /notification-users/{id}` + +> Body parameter + +```json +{ + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "id": "string", + "notificationId": "string", + "userId": "string", + "isRead": true, + "actionMeta": {} +} +``` + +

Parameters

+ +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|id|path|string|true|none| +|body|body|[NotificationUser](#schemanotificationuser)|false|none| + +

Responses

+ +|Status|Meaning|Description|Schema| +|---|---|---|---| +|204|[No Content](https://tools.ietf.org/html/rfc7231#section-6.3.5)|NotificationUser PUT success|None| + + + +## NotificationUserController.updateById + + + +> Code samples + +```'javascript--nodejs +const fetch = require('node-fetch'); +const inputBody = { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "id": "string", + "notificationId": "string", + "userId": "string", + "isRead": true, + "actionMeta": {} +}; +const headers = { + 'Content-Type':'application/json' +}; + +fetch('/notification-users/{id}', +{ + method: 'PATCH', + body: JSON.stringify(inputBody), + headers: headers +}) +.then(function(res) { + return res.json(); +}).then(function(body) { + console.log(body); +}); + +``` + +`PATCH /notification-users/{id}` + +> Body parameter + +```json +{ + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "id": "string", + "notificationId": "string", + "userId": "string", + "isRead": true, + "actionMeta": {} +} +``` + +

Parameters

+ +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|id|path|string|true|none| +|body|body|[NotificationUserPartial](#schemanotificationuserpartial)|false|none| + +

Responses

+ +|Status|Meaning|Description|Schema| +|---|---|---|---| +|204|[No Content](https://tools.ietf.org/html/rfc7231#section-6.3.5)|NotificationUser PATCH success|None| + + + +## NotificationUserController.findById + + + +> Code samples + +```'javascript--nodejs +const fetch = require('node-fetch'); + +const headers = { + 'Accept':'application/json' +}; + +fetch('/notification-users/{id}', +{ + method: 'GET', + + headers: headers +}) +.then(function(res) { + return res.json(); +}).then(function(body) { + console.log(body); +}); + +``` + +`GET /notification-users/{id}` + +

Parameters

+ +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|id|path|string|true|none| + +> Example responses + +> 200 Response + +```json +{ + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "id": "string", + "notificationId": "string", + "userId": "string", + "isRead": true, + "actionMeta": {} +} +``` + +

Responses

+ +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|NotificationUser instance|[NotificationUser](#schemanotificationuser)| + + + +## NotificationUserController.deleteById + + + +> Code samples + +```'javascript--nodejs +const fetch = require('node-fetch'); + +fetch('/notification-users/{id}', +{ + method: 'DELETE' + +}) +.then(function(res) { + return res.json(); +}).then(function(body) { + console.log(body); +}); + +``` + +`DELETE /notification-users/{id}` + +

Parameters

+ +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|id|path|string|true|none| + +

Responses

+ +|Status|Meaning|Description|Schema| +|---|---|---|---| +|204|[No Content](https://tools.ietf.org/html/rfc7231#section-6.3.5)|NotificationUser DELETE success|None| + + + +## NotificationUserController.create + + + +> Code samples + +```'javascript--nodejs +const fetch = require('node-fetch'); +const inputBody = { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "notificationId": "string", + "userId": "string", + "isRead": true, + "actionMeta": {} +}; +const headers = { + 'Content-Type':'application/json', + 'Accept':'application/json' +}; + +fetch('/notification-users', +{ + method: 'POST', + body: JSON.stringify(inputBody), + headers: headers +}) +.then(function(res) { + return res.json(); +}).then(function(body) { + console.log(body); +}); + +``` + +`POST /notification-users` + +> Body parameter + +```json +{ + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "notificationId": "string", + "userId": "string", + "isRead": true, + "actionMeta": {} +} +``` + +

Parameters

+ +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|body|body|[NewNotificationUser](#schemanewnotificationuser)|false|none| + +> Example responses + +> 200 Response + +```json +{ + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "id": "string", + "notificationId": "string", + "userId": "string", + "isRead": true, + "actionMeta": {} +} +``` + +

Responses

+ +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|NotificationUser model instance|[NotificationUser](#schemanotificationuser)| + + + +## NotificationUserController.updateAll + + + +> Code samples + +```'javascript--nodejs +const fetch = require('node-fetch'); +const inputBody = { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "id": "string", + "notificationId": "string", + "userId": "string", + "isRead": true, + "actionMeta": {} +}; +const headers = { + 'Content-Type':'application/json', + 'Accept':'application/json' +}; + +fetch('/notification-users', +{ + method: 'PATCH', + body: JSON.stringify(inputBody), + headers: headers +}) +.then(function(res) { + return res.json(); +}).then(function(body) { + console.log(body); +}); + +``` + +`PATCH /notification-users` + +> Body parameter + +```json +{ + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "id": "string", + "notificationId": "string", + "userId": "string", + "isRead": true, + "actionMeta": {} +} +``` + +

Parameters

+ +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|where|query|object|false|none| +|body|body|[NotificationUserPartial](#schemanotificationuserpartial)|false|none| + +> Example responses + +> 200 Response + +```json +{ + "count": 0 +} +``` + +

Responses

+ +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|NotificationUser PATCH success count|[loopback.Count](#schemaloopback.count)| + + + +## NotificationUserController.find + + + +> Code samples + +```'javascript--nodejs +const fetch = require('node-fetch'); + +const headers = { + 'Accept':'application/json' +}; + +fetch('/notification-users', +{ + method: 'GET', + + headers: headers +}) +.then(function(res) { + return res.json(); +}).then(function(body) { + console.log(body); +}); + +``` + +`GET /notification-users` + +

Parameters

+ +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|filter|query|[notification_users.Filter](#schemanotification_users.filter)|false|none| + +> Example responses + +> 200 Response + +```json +[ + { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "id": "string", + "notificationId": "string", + "userId": "string", + "isRead": true, + "actionMeta": {} + } +] +``` + +

Responses

+ +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|Array of NotificationUser model instances|Inline| + +

Response Schema

+ +Status Code **200** + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|*anonymous*|[[NotificationUser](#schemanotificationuser)]|false|none|none| +|» NotificationUser|[NotificationUser](#schemanotificationuser)|false|none|none| +|»» deleted|boolean|false|none|none| +|»» deletedOn|string(date-time)¦null|false|none|none| +|»» deletedBy|string¦null|false|none|none| +|»» createdOn|string(date-time)|false|none|none| +|»» modifiedOn|string(date-time)|false|none|none| +|»» id|string|false|none|none| +|»» notificationId|string|true|none|none| +|»» userId|string|true|none|none| +|»» isRead|boolean|false|none|none| +|»» actionMeta|object|false|none|none| + + + +## NotificationUserController.deleteAll + + + +> Code samples + +```'javascript--nodejs +const fetch = require('node-fetch'); + +fetch('/notification-users', +{ + method: 'DELETE' + +}) +.then(function(res) { + return res.json(); +}).then(function(body) { + console.log(body); +}); + +``` + +`DELETE /notification-users` + +

Parameters

+ +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|where|query|object|false|none| + +

Responses

+ +|Status|Meaning|Description|Schema| +|---|---|---|---| +|204|[No Content](https://tools.ietf.org/html/rfc7231#section-6.3.5)|Notification DELETE success|None| + + + +

NotificationUserNotificationController

+ +## NotificationUserNotificationController.getNotification + + + +> Code samples + +```'javascript--nodejs +const fetch = require('node-fetch'); + +const headers = { + 'Accept':'application/json' +}; + +fetch('/notification-users/{id}/notification', +{ + method: 'GET', + + headers: headers +}) +.then(function(res) { + return res.json(); +}).then(function(body) { + console.log(body); +}); + +``` + +`GET /notification-users/{id}/notification` + +

Parameters

+ +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|id|path|string|true|none| + +> Example responses + +> 200 Response + +```json +[ + { + "id": "string", + "subject": "string", + "body": "string", + "receiver": {}, + "type": 0, + "sentDate": "2019-08-24T14:15:22Z", + "options": {} + } +] +``` + +

Responses

+ +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|Notification belonging to NotificationUser|Inline| + +

Response Schema

+ +Status Code **200** + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|*anonymous*|[[Notification](#schemanotification)]|false|none|none| +|» Notification|[Notification](#schemanotification)|false|none|none| +|»» id|string|false|none|none| +|»» subject|string¦null|false|none|none| +|»» body|string|true|none|none| +|»» receiver|object|true|none|none| +|»» type|number|true|none|none| +|»» sentDate|string(date-time)|false|none|none| +|»» options|object|false|none|none| + + + +

PubnubNotificationController

+ +## PubnubNotificationController.grantAccess + + + +> Code samples + +```'javascript--nodejs +const fetch = require('node-fetch'); +const inputBody = { + "receiver": {}, + "type": 0, + "options": {} +}; +const headers = { + 'Content-Type':'application/json', + 'Accept':'application/json', + 'Authorization':'string', + 'pubnubToken':'string' +}; + +fetch('/notifications/access/{id}', +{ + method: 'PATCH', + body: JSON.stringify(inputBody), + headers: headers +}) +.then(function(res) { + return res.json(); +}).then(function(body) { + console.log(body); +}); + +``` + +`PATCH /notifications/access/{id}` + +> Body parameter + +```json +{ + "receiver": {}, + "type": 0, + "options": {} +} +``` + +

Parameters

+ +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|id|path|string|true|none| +|Authorization|header|string|false|none| +|pubnubToken|header|string|true|none| +|body|body|[NotificationAccess](#schemanotificationaccess)|false|none| + +> Example responses + +> 200 Response + +```json +{ + "ttl": 0, + "cipherKey": "string" +} +``` + +

Responses

+ +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|Access response|[AccessResponseDto](#schemaaccessresponsedto)| + + + +## PubnubNotificationController.revokeAccess + + + +> Code samples + +```'javascript--nodejs +const fetch = require('node-fetch'); + +fetch('/notifications/access/{id}', +{ + method: 'DELETE' + +}) +.then(function(res) { + return res.json(); +}).then(function(body) { + console.log(body); +}); + +``` + +`DELETE /notifications/access/{id}` + +

Parameters

+ +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|id|path|string|true|none| + +

Responses

+ +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|Object with success|None| + + + +

NotificationController

+ +## NotificationController.createBulkNotificaitions + + + +> Code samples + +```'javascript--nodejs +const fetch = require('node-fetch'); +const inputBody = [ + { + "subject": "string", + "body": "string", + "receiver": {}, + "type": 0, + "sentDate": "2019-08-24T14:15:22Z", + "options": {} + } +]; +const headers = { + 'Content-Type':'application/json', + 'Accept':'application/json' +}; + +fetch('/notifications/bulk', +{ + method: 'POST', + body: JSON.stringify(inputBody), + headers: headers +}) +.then(function(res) { + return res.json(); +}).then(function(body) { + console.log(body); +}); + +``` + +`POST /notifications/bulk` + +> Body parameter + +```json +[ + { + "subject": "string", + "body": "string", + "receiver": {}, + "type": 0, + "sentDate": "2019-08-24T14:15:22Z", + "options": {} + } +] +``` + +

Parameters

+ +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|body|body|[NotificationExcluding_id_](#schemanotificationexcluding_id_)|false|none| + +> Example responses + +

Responses

+ +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|Array of Notifications|None| + +

Response Schema

+ + + +## NotificationController.count + + + +> Code samples + +```'javascript--nodejs +const fetch = require('node-fetch'); + +const headers = { + 'Accept':'application/json' +}; + +fetch('/notifications/count', +{ + method: 'GET', + + headers: headers +}) +.then(function(res) { + return res.json(); +}).then(function(body) { + console.log(body); +}); + +``` + +`GET /notifications/count` + +

Parameters

+ +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|where|query|object|false|none| + +> Example responses + +> 200 Response + +```json +{ + "count": 0 +} +``` + +

Responses

+ +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|Notification model count|[loopback.Count](#schemaloopback.count)| + + + +## NotificationController.findById + + + +> Code samples + +```'javascript--nodejs +const fetch = require('node-fetch'); + +const headers = { + 'Accept':'application/json' +}; + +fetch('/notifications/{id}', +{ + method: 'GET', + + headers: headers +}) +.then(function(res) { + return res.json(); +}).then(function(body) { + console.log(body); +}); + +``` + +`GET /notifications/{id}` + +

Parameters

+ +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|id|path|string|true|none| + +> Example responses + +> 200 Response + +```json +{ + "id": "string", + "subject": "string", + "body": "string", + "receiver": {}, + "type": 0, + "sentDate": "2019-08-24T14:15:22Z", + "options": {} +} +``` + +

Responses

+ +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|Notification model instance|[Notification](#schemanotification)| + + + +## NotificationController.create + + + +> Code samples + +```'javascript--nodejs +const fetch = require('node-fetch'); +const inputBody = { + "subject": "string", + "body": "string", + "receiver": {}, + "type": 0, + "sentDate": "2019-08-24T14:15:22Z", + "options": {} +}; +const headers = { + 'Content-Type':'application/json', + 'Accept':'application/json' +}; + +fetch('/notifications', +{ + method: 'POST', + body: JSON.stringify(inputBody), + headers: headers +}) +.then(function(res) { + return res.json(); +}).then(function(body) { + console.log(body); +}); + +``` + +`POST /notifications` + +> Body parameter + +```json +{ + "subject": "string", + "body": "string", + "receiver": {}, + "type": 0, + "sentDate": "2019-08-24T14:15:22Z", + "options": {} +} +``` + +

Parameters

+ +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|body|body|[NotificationExcluding_id_](#schemanotificationexcluding_id_)|false|none| + +> Example responses + +> 200 Response + +```json +{ + "id": "string", + "subject": "string", + "body": "string", + "receiver": {}, + "type": 0, + "sentDate": "2019-08-24T14:15:22Z", + "options": {} +} +``` + +

Responses

+ +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|Notification model instance|[Notification](#schemanotification)| + + + +## NotificationController.find + + + +> Code samples + +```'javascript--nodejs +const fetch = require('node-fetch'); + +const headers = { + 'Accept':'application/json' +}; + +fetch('/notifications', +{ + method: 'GET', + + headers: headers +}) +.then(function(res) { + return res.json(); +}).then(function(body) { + console.log(body); +}); + +``` + +`GET /notifications` + +

Parameters

+ +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|filter|query|[notifications.Filter](#schemanotifications.filter)|false|none| + +> Example responses + +> 200 Response + +```json +[ + { + "id": "string", + "subject": "string", + "body": "string", + "receiver": {}, + "type": 0, + "sentDate": "2019-08-24T14:15:22Z", + "options": {} + } +] +``` + +

Responses

+ +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|Array of Notification model instances|Inline| + +

Response Schema

+ +Status Code **200** + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|*anonymous*|[[Notification](#schemanotification)]|false|none|none| +|» Notification|[Notification](#schemanotification)|false|none|none| +|»» id|string|false|none|none| +|»» subject|string¦null|false|none|none| +|»» body|string|true|none|none| +|»» receiver|object|true|none|none| +|»» type|number|true|none|none| +|»» sentDate|string(date-time)|false|none|none| +|»» options|object|false|none|none| + + + +## NotificationController.deleteAll + + + +> Code samples + +```'javascript--nodejs +const fetch = require('node-fetch'); + +fetch('/notifications', +{ + method: 'DELETE' + +}) +.then(function(res) { + return res.json(); +}).then(function(body) { + console.log(body); +}); + +``` + +`DELETE /notifications` + +

Parameters

+ +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|where|query|object|false|none| + +

Responses

+ +|Status|Meaning|Description|Schema| +|---|---|---|---| +|204|[No Content](https://tools.ietf.org/html/rfc7231#section-6.3.5)|Notification DELETE success|None| + + + +

NotificationNotificationUserController

+ +## NotificationNotificationUserController.create + + + +> Code samples + +```'javascript--nodejs +const fetch = require('node-fetch'); +const inputBody = { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "notificationId": "string", + "userId": "string", + "isRead": true, + "actionMeta": {} +}; +const headers = { + 'Content-Type':'application/json', + 'Accept':'application/json' +}; + +fetch('/notifications/{id}/notification-users', +{ + method: 'POST', + body: JSON.stringify(inputBody), + headers: headers +}) +.then(function(res) { + return res.json(); +}).then(function(body) { + console.log(body); +}); + +``` + +`POST /notifications/{id}/notification-users` + +> Body parameter + +```json +{ + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "notificationId": "string", + "userId": "string", + "isRead": true, + "actionMeta": {} +} +``` + +

Parameters

+ +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|id|path|string|true|none| +|body|body|[NewNotificationUserInNotification](#schemanewnotificationuserinnotification)|false|none| + +> Example responses + +> 200 Response + +```json +{ + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "id": "string", + "notificationId": "string", + "userId": "string", + "isRead": true, + "actionMeta": {} +} +``` + +

Responses

+ +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|Notification model instance|[NotificationUser](#schemanotificationuser)| + + + +## NotificationNotificationUserController.patch + + + +> Code samples + +```'javascript--nodejs +const fetch = require('node-fetch'); +const inputBody = { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "id": "string", + "notificationId": "string", + "userId": "string", + "isRead": true, + "actionMeta": {} +}; +const headers = { + 'Content-Type':'application/json', + 'Accept':'application/json' +}; + +fetch('/notifications/{id}/notification-users', +{ + method: 'PATCH', + body: JSON.stringify(inputBody), + headers: headers +}) +.then(function(res) { + return res.json(); +}).then(function(body) { + console.log(body); +}); + +``` + +`PATCH /notifications/{id}/notification-users` + +> Body parameter + +```json +{ + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "id": "string", + "notificationId": "string", + "userId": "string", + "isRead": true, + "actionMeta": {} +} +``` + +

Parameters

+ +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|id|path|string|true|none| +|where|query|object|false|none| +|body|body|[NotificationUserPartial](#schemanotificationuserpartial)|false|none| + +> Example responses + +> 200 Response + +```json +{ + "count": 0 +} +``` + +

Responses

+ +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|Notification.NotificationUser PATCH success count|[loopback.Count](#schemaloopback.count)| + + + +## NotificationNotificationUserController.find + + + +> Code samples + +```'javascript--nodejs +const fetch = require('node-fetch'); + +const headers = { + 'Accept':'application/json' +}; + +fetch('/notifications/{id}/notification-users', +{ + method: 'GET', + + headers: headers +}) +.then(function(res) { + return res.json(); +}).then(function(body) { + console.log(body); +}); + +``` + +`GET /notifications/{id}/notification-users` + +

Parameters

+ +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|id|path|string|true|none| +|filter|query|object|false|none| + +> Example responses + +> 200 Response + +```json +[ + { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "id": "string", + "notificationId": "string", + "userId": "string", + "isRead": true, + "actionMeta": {} + } +] +``` + +

Responses

+ +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|Array of Notification has many NotificationUser|Inline| + +

Response Schema

+ +Status Code **200** + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|*anonymous*|[[NotificationUser](#schemanotificationuser)]|false|none|none| +|» NotificationUser|[NotificationUser](#schemanotificationuser)|false|none|none| +|»» deleted|boolean|false|none|none| +|»» deletedOn|string(date-time)¦null|false|none|none| +|»» deletedBy|string¦null|false|none|none| +|»» createdOn|string(date-time)|false|none|none| +|»» modifiedOn|string(date-time)|false|none|none| +|»» id|string|false|none|none| +|»» notificationId|string|true|none|none| +|»» userId|string|true|none|none| +|»» isRead|boolean|false|none|none| +|»» actionMeta|object|false|none|none| + + + +## NotificationNotificationUserController.delete + + + +> Code samples + +```'javascript--nodejs +const fetch = require('node-fetch'); + +const headers = { + 'Accept':'application/json' +}; + +fetch('/notifications/{id}/notification-users', +{ + method: 'DELETE', + + headers: headers +}) +.then(function(res) { + return res.json(); +}).then(function(body) { + console.log(body); +}); + +``` + +`DELETE /notifications/{id}/notification-users` + +

Parameters

+ +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|id|path|string|true|none| +|where|query|object|false|none| + +> Example responses + +> 200 Response + +```json +{ + "count": 0 +} +``` + +

Responses

+ +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|Notification.NotificationUser DELETE success count|[loopback.Count](#schemaloopback.count)| + + + +# Schemas + +

Notification

+ + + + + + +```json +{ + "id": "string", + "subject": "string", + "body": "string", + "receiver": {}, + "type": 0, + "sentDate": "2019-08-24T14:15:22Z", + "options": {} +} + +``` + +Notification + +### Properties + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|id|string|false|none|none| +|subject|string¦null|false|none|none| +|body|string|true|none|none| +|receiver|object|true|none|none| +|type|number|true|none|none| +|sentDate|string(date-time)|false|none|none| +|options|object|false|none|none| + +

NotificationExcluding_id_

+ + + + + + +```json +{ + "subject": "string", + "body": "string", + "receiver": {}, + "type": 0, + "sentDate": "2019-08-24T14:15:22Z", + "options": {} +} + +``` + +NotificationExcluding_id_ + +### Properties + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|subject|string¦null|false|none|none| +|body|string|true|none|none| +|receiver|object|true|none|none| +|type|number|true|none|none| +|sentDate|string(date-time)|false|none|none| +|options|object|false|none|none| + +

NotificationUser

+ + + + + + +```json +{ + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "id": "string", + "notificationId": "string", + "userId": "string", + "isRead": true, + "actionMeta": {} +} + +``` + +NotificationUser + +### Properties + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|deleted|boolean|false|none|none| +|deletedOn|string(date-time)¦null|false|none|none| +|deletedBy|string¦null|false|none|none| +|createdOn|string(date-time)|false|none|none| +|modifiedOn|string(date-time)|false|none|none| +|id|string|false|none|none| +|notificationId|string|true|none|none| +|userId|string|true|none|none| +|isRead|boolean|false|none|none| +|actionMeta|object|false|none|none| + +

NewNotificationUser

+ + + + + + +```json +{ + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "notificationId": "string", + "userId": "string", + "isRead": true, + "actionMeta": {} +} + +``` + +NewNotificationUser + +### Properties + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|deleted|boolean|false|none|none| +|deletedOn|string(date-time)¦null|false|none|none| +|deletedBy|string¦null|false|none|none| +|createdOn|string(date-time)|false|none|none| +|modifiedOn|string(date-time)|false|none|none| +|notificationId|string|true|none|none| +|userId|string|true|none|none| +|isRead|boolean|false|none|none| +|actionMeta|object|false|none|none| + +

NotificationUserPartial

+ + + + + + +```json +{ + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "id": "string", + "notificationId": "string", + "userId": "string", + "isRead": true, + "actionMeta": {} +} + +``` + +NotificationUserPartial + +### Properties + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|deleted|boolean|false|none|none| +|deletedOn|string(date-time)¦null|false|none|none| +|deletedBy|string¦null|false|none|none| +|createdOn|string(date-time)|false|none|none| +|modifiedOn|string(date-time)|false|none|none| +|id|string|false|none|none| +|notificationId|string|false|none|none| +|userId|string|false|none|none| +|isRead|boolean|false|none|none| +|actionMeta|object|false|none|none| + +

AccessResponseDto

+ + + + + + +```json +{ + "ttl": 0, + "cipherKey": "string" +} + +``` + +AccessResponseDto + +### Properties + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|ttl|number|false|none|none| +|cipherKey|string|false|none|none| + +

NotificationAccess

+ + + + + + +```json +{ + "receiver": {}, + "type": 0, + "options": {} +} + +``` + +NotificationAccess + +### Properties + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|receiver|object|true|none|this will contain the list of reciever to give access| +|type|number|true|none|none| +|options|object|false|none|this will contain the ttl property for now| + +

NewNotificationUserInNotification

+ + + + + + +```json +{ + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "notificationId": "string", + "userId": "string", + "isRead": true, + "actionMeta": {} +} + +``` + +NewNotificationUserInNotification + +### Properties + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|deleted|boolean|false|none|none| +|deletedOn|string(date-time)¦null|false|none|none| +|deletedBy|string¦null|false|none|none| +|createdOn|string(date-time)|false|none|none| +|modifiedOn|string(date-time)|false|none|none| +|notificationId|string|false|none|none| +|userId|string|true|none|none| +|isRead|boolean|false|none|none| +|actionMeta|object|false|none|none| + +

loopback.Count

+ + + + + + +```json +{ + "count": 0 +} + +``` + +loopback.Count + +### Properties + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|count|number|false|none|none| + +

notification_users.ScopeFilter

+ + + + + + +```json +{ + "offset": 0, + "limit": 100, + "skip": 0, + "order": "string", + "where": {}, + "fields": {}, + "include": [ + {} + ] +} + +``` + +notification_users.ScopeFilter + +### Properties + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|offset|integer|false|none|none| +|limit|integer|false|none|none| +|skip|integer|false|none|none| +|order|any|false|none|none| + +oneOf + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|» *anonymous*|string|false|none|none| + +xor + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|» *anonymous*|[string]|false|none|none| + +continued + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|where|object|false|none|none| +|fields|any|false|none|none| + +oneOf + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|» *anonymous*|object|false|none|none| + +xor + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|» *anonymous*|[string]|false|none|none| + +continued + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|include|[object]|false|none|none| + +

notification_users.IncludeFilter.Items

+ + + + + + +```json +{ + "relation": "string", + "scope": { + "offset": 0, + "limit": 100, + "skip": 0, + "order": "string", + "where": {}, + "fields": {}, + "include": [ + {} + ] + } +} + +``` + +notification_users.IncludeFilter.Items + +### Properties + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|relation|string|false|none|none| +|scope|[notification_users.ScopeFilter](#schemanotification_users.scopefilter)|false|none|none| + +

notification_users.Filter

+ + + + + + +```json +{ + "offset": 0, + "limit": 100, + "skip": 0, + "order": "string", + "where": {}, + "fields": { + "deleted": true, + "deletedOn": true, + "deletedBy": true, + "createdOn": true, + "modifiedOn": true, + "id": true, + "notificationId": true, + "userId": true, + "isRead": true, + "actionMeta": true + }, + "include": [ + { + "relation": "string", + "scope": { + "offset": 0, + "limit": 100, + "skip": 0, + "order": "string", + "where": {}, + "fields": {}, + "include": [ + {} + ] + } + } + ] +} + +``` + +notification_users.Filter + +### Properties + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|offset|integer|false|none|none| +|limit|integer|false|none|none| +|skip|integer|false|none|none| +|order|any|false|none|none| + +oneOf + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|» *anonymous*|string|false|none|none| + +xor + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|» *anonymous*|[string]|false|none|none| + +continued + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|where|object|false|none|none| +|fields|any|false|none|none| + +oneOf + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|» *anonymous*|object|false|none|none| +|»» deleted|boolean|false|none|none| +|»» deletedOn|boolean|false|none|none| +|»» deletedBy|boolean|false|none|none| +|»» createdOn|boolean|false|none|none| +|»» modifiedOn|boolean|false|none|none| +|»» id|boolean|false|none|none| +|»» notificationId|boolean|false|none|none| +|»» userId|boolean|false|none|none| +|»» isRead|boolean|false|none|none| +|»» actionMeta|boolean|false|none|none| + +xor + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|» *anonymous*|[string]|false|none|none| + +continued + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|include|[anyOf]|false|none|none| + +anyOf + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|» *anonymous*|[notification_users.IncludeFilter.Items](#schemanotification_users.includefilter.items)|false|none|none| + +or + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|» *anonymous*|string|false|none|none| + +

notifications.ScopeFilter

+ + + + + + +```json +{ + "offset": 0, + "limit": 100, + "skip": 0, + "order": "string", + "where": {}, + "fields": {}, + "include": [ + {} + ] +} + +``` + +notifications.ScopeFilter + +### Properties + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|offset|integer|false|none|none| +|limit|integer|false|none|none| +|skip|integer|false|none|none| +|order|any|false|none|none| + +oneOf + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|» *anonymous*|string|false|none|none| + +xor + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|» *anonymous*|[string]|false|none|none| + +continued + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|where|object|false|none|none| +|fields|any|false|none|none| + +oneOf + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|» *anonymous*|object|false|none|none| + +xor + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|» *anonymous*|[string]|false|none|none| + +continued + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|include|[object]|false|none|none| + +

notifications.IncludeFilter.Items

+ + + + + + +```json +{ + "relation": "string", + "scope": { + "offset": 0, + "limit": 100, + "skip": 0, + "order": "string", + "where": {}, + "fields": {}, + "include": [ + {} + ] + } +} + +``` + +notifications.IncludeFilter.Items + +### Properties + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|relation|string|false|none|none| +|scope|[notifications.ScopeFilter](#schemanotifications.scopefilter)|false|none|none| + +

notifications.Filter

+ + + + + + +```json +{ + "offset": 0, + "limit": 100, + "skip": 0, + "order": "string", + "where": {}, + "fields": { + "id": true, + "subject": true, + "body": true, + "receiver": true, + "type": true, + "sentDate": true, + "options": true + }, + "include": [ + { + "relation": "string", + "scope": { + "offset": 0, + "limit": 100, + "skip": 0, + "order": "string", + "where": {}, + "fields": {}, + "include": [ + {} + ] + } + } + ] +} + +``` + +notifications.Filter + +### Properties + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|offset|integer|false|none|none| +|limit|integer|false|none|none| +|skip|integer|false|none|none| +|order|any|false|none|none| + +oneOf + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|» *anonymous*|string|false|none|none| + +xor + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|» *anonymous*|[string]|false|none|none| + +continued + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|where|object|false|none|none| +|fields|any|false|none|none| + +oneOf + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|» *anonymous*|object|false|none|none| +|»» id|boolean|false|none|none| +|»» subject|boolean|false|none|none| +|»» body|boolean|false|none|none| +|»» receiver|boolean|false|none|none| +|»» type|boolean|false|none|none| +|»» sentDate|boolean|false|none|none| +|»» options|boolean|false|none|none| + +xor + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|» *anonymous*|[string]|false|none|none| + +continued + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|include|[anyOf]|false|none|none| + +anyOf + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|» *anonymous*|[notifications.IncludeFilter.Items](#schemanotifications.includefilter.items)|false|none|none| + +or + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|» *anonymous*|string|false|none|none| + diff --git a/services/notification-service/package.json b/services/notification-service/package.json index 6eb89e5d6e..f7d011b678 100644 --- a/services/notification-service/package.json +++ b/services/notification-service/package.json @@ -12,7 +12,7 @@ "node": ">=10" }, "scripts": { - "build": "npm run clean && lb-tsc", + "build": "npm run clean && lb-tsc && npm run openapi-spec && npm run apidocs", "build:watch": "lb-tsc --watch", "lint": "npm run prettier:check && npm run eslint", "lint:fix": "npm run eslint:fix && npm run prettier:fix", @@ -21,6 +21,8 @@ "prettier:fix": "npm run prettier:cli -- --write", "eslint": "lb-eslint --report-unused-disable-directives .", "eslint:fix": "npm run eslint -- --fix", + "openapi-spec": "node ./dist/openapi-spec", + "apidocs": "./node_modules/.bin/widdershins --search false --language_tabs 'javascript:JavaScript:request' 'javascript--nodejs:Node.JS' --summary openapi.json -o openapi.md", "pretest": "npm run clean && npm run build", "test": "echo \"No tests !\"", "posttest": "npm run lint", @@ -78,7 +80,8 @@ "db-migrate-pg": "^1.2.2", "eslint": "^7.25.0", "source-map-support": "^0.5.19", - "typescript": "~4.2.4" + "typescript": "~4.2.4", + "widdershins": "^4.0.1" }, "publishConfig": { "registry": "https://registry.npmjs.org/", diff --git a/services/notification-service/src/application.ts b/services/notification-service/src/application.ts new file mode 100644 index 0000000000..005cb5ac99 --- /dev/null +++ b/services/notification-service/src/application.ts @@ -0,0 +1,27 @@ +import {BootMixin} from '@loopback/boot'; +import {ApplicationConfig} from '@loopback/core'; +import {RepositoryMixin} from '@loopback/repository'; +import {RestApplication} from '@loopback/rest'; +import * as path from 'path'; +import {NotificationServiceComponent} from './component'; + +export {ApplicationConfig}; + +export class NotificationServiceApplication extends BootMixin( + RepositoryMixin(RestApplication), +) { + constructor(options: ApplicationConfig = {}) { + super(options); + this.static('/', path.join(__dirname, '../public')); + this.component(NotificationServiceComponent); + + this.projectRoot = __dirname; + this.bootOptions = { + controllers: { + dirs: ['controllers'], + extensions: ['.controller.js'], + nested: true, + }, + }; + } +} diff --git a/services/notification-service/src/openapi-spec.ts b/services/notification-service/src/openapi-spec.ts new file mode 100644 index 0000000000..3305204b7f --- /dev/null +++ b/services/notification-service/src/openapi-spec.ts @@ -0,0 +1,25 @@ +import {ApplicationConfig} from '@loopback/core'; +import {NotificationServiceApplication} from './application'; + +/** + * Export the OpenAPI spec from the application + */ +const PORT = 3000; +const FILEARGVI = 2; +async function exportOpenApiSpec(): Promise { + const config: ApplicationConfig = { + rest: { + port: +(process.env.PORT ?? PORT), + host: process.env.HOST ?? 'localhost', + }, + }; + const outFile = process.argv[FILEARGVI] ?? 'openapi.json'; + const app = new NotificationServiceApplication(config); + await app.boot(); + await app.exportOpenApiSpec(outFile); +} + +exportOpenApiSpec().catch(err => { + console.error('Fail to export OpenAPI spec from the application.', err); //NOSONAR + process.exit(1); +}); diff --git a/services/scheduler-service/README.md b/services/scheduler-service/README.md index 2d0f4f15b7..8f627443ab 100644 --- a/services/scheduler-service/README.md +++ b/services/scheduler-service/README.md @@ -259,6 +259,10 @@ They can be retrieved via list and get methods. Note that if a setting has its d * Event settings from the past could not be created or updated. +## API's Details + +Visit the [OpenAPI spec docs](./openapi.md) + ## Feedback If you've noticed a bug or have a question or have a feature request, [search the issue tracker](https://github.com/sourcefuse/loopback4-notifications/issues) to see if someone else in the community has already created a ticket. If not, go ahead and [make one](https://github.com/sourcefuse/loopback4-notifications/issues/new/choose)! diff --git a/services/scheduler-service/openapi.json b/services/scheduler-service/openapi.json new file mode 100644 index 0000000000..129782ca30 --- /dev/null +++ b/services/scheduler-service/openapi.json @@ -0,0 +1,9110 @@ +{ + "openapi": "3.0.0", + "info": { + "title": "Scheduler Service", + "version": "1.0.0", + "description": "services", + "contact": { + "name": "Sourcefuse" + } + }, + "paths": { + "/attachments/count": { + "get": { + "x-controller-name": "AttachmentController", + "x-operation-name": "count", + "tags": [ + "AttachmentController" + ], + "responses": { + "200": { + "description": "Attachment model count", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/loopback.Count" + } + } + } + } + }, + "parameters": [ + { + "name": "where", + "in": "query", + "content": { + "application/json": { + "schema": { + "type": "object", + "title": "attachments.WhereFilter", + "additionalProperties": true, + "x-typescript-type": "@loopback/repository#Where" + } + } + } + } + ], + "operationId": "AttachmentController.count" + } + }, + "/attachments/{id}": { + "put": { + "x-controller-name": "AttachmentController", + "x-operation-name": "replaceById", + "tags": [ + "AttachmentController" + ], + "responses": { + "204": { + "description": "Attachment PUT success" + } + }, + "parameters": [ + { + "name": "id", + "in": "path", + "schema": { + "type": "string" + }, + "required": true + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Attachment" + } + } + }, + "x-parameter-index": 1 + }, + "operationId": "AttachmentController.replaceById" + }, + "patch": { + "x-controller-name": "AttachmentController", + "x-operation-name": "updateById", + "tags": [ + "AttachmentController" + ], + "responses": { + "204": { + "description": "Attachment PATCH success" + } + }, + "parameters": [ + { + "name": "id", + "in": "path", + "schema": { + "type": "string" + }, + "required": true + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/AttachmentPartial" + } + } + }, + "x-parameter-index": 1 + }, + "operationId": "AttachmentController.updateById" + }, + "get": { + "x-controller-name": "AttachmentController", + "x-operation-name": "findById", + "tags": [ + "AttachmentController" + ], + "responses": { + "200": { + "description": "Attachment model instance", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/AttachmentWithRelations" + } + } + } + } + }, + "parameters": [ + { + "name": "id", + "in": "path", + "schema": { + "type": "string" + }, + "required": true + }, + { + "name": "filter", + "in": "query", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/attachments.Filter" + } + } + } + } + ], + "operationId": "AttachmentController.findById" + }, + "delete": { + "x-controller-name": "AttachmentController", + "x-operation-name": "deleteById", + "tags": [ + "AttachmentController" + ], + "responses": { + "204": { + "description": "Attachment DELETE success" + } + }, + "parameters": [ + { + "name": "id", + "in": "path", + "schema": { + "type": "string" + }, + "required": true + } + ], + "operationId": "AttachmentController.deleteById" + } + }, + "/attachments": { + "post": { + "x-controller-name": "AttachmentController", + "x-operation-name": "create", + "tags": [ + "AttachmentController" + ], + "responses": { + "200": { + "description": "Attachment model instance", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Attachment" + } + } + } + } + }, + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/NewAttachment" + } + } + } + }, + "operationId": "AttachmentController.create" + }, + "patch": { + "x-controller-name": "AttachmentController", + "x-operation-name": "updateAll", + "tags": [ + "AttachmentController" + ], + "responses": { + "200": { + "description": "Attachment PATCH success count", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/loopback.Count" + } + } + } + } + }, + "parameters": [ + { + "name": "where", + "in": "query", + "content": { + "application/json": { + "schema": { + "type": "object", + "title": "attachments.WhereFilter", + "additionalProperties": true, + "x-typescript-type": "@loopback/repository#Where" + } + } + } + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/AttachmentPartial" + } + } + } + }, + "operationId": "AttachmentController.updateAll" + }, + "get": { + "x-controller-name": "AttachmentController", + "x-operation-name": "find", + "tags": [ + "AttachmentController" + ], + "responses": { + "200": { + "description": "Array of Attachment model instances", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/AttachmentWithRelations" + } + } + } + } + } + }, + "parameters": [ + { + "name": "filter", + "in": "query", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/attachments.Filter1" + } + } + } + } + ], + "operationId": "AttachmentController.find" + } + }, + "/attendees/count": { + "get": { + "x-controller-name": "AttendeeController", + "x-operation-name": "count", + "tags": [ + "AttendeeController" + ], + "responses": { + "200": { + "description": "Attendee model count", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/loopback.Count" + } + } + } + } + }, + "parameters": [ + { + "name": "where", + "in": "query", + "content": { + "application/json": { + "schema": { + "type": "object", + "title": "attendees.WhereFilter", + "additionalProperties": true, + "x-typescript-type": "@loopback/repository#Where" + } + } + } + } + ], + "operationId": "AttendeeController.count" + } + }, + "/attendees/{id}": { + "put": { + "x-controller-name": "AttendeeController", + "x-operation-name": "replaceById", + "tags": [ + "AttendeeController" + ], + "responses": { + "204": { + "description": "Attendee PUT success" + } + }, + "parameters": [ + { + "name": "id", + "in": "path", + "schema": { + "type": "string" + }, + "required": true + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Attendee" + } + } + }, + "x-parameter-index": 1 + }, + "operationId": "AttendeeController.replaceById" + }, + "patch": { + "x-controller-name": "AttendeeController", + "x-operation-name": "updateById", + "tags": [ + "AttendeeController" + ], + "responses": { + "204": { + "description": "Attendee PATCH success" + } + }, + "parameters": [ + { + "name": "id", + "in": "path", + "schema": { + "type": "string" + }, + "required": true + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/AttendeePartial" + } + } + }, + "x-parameter-index": 1 + }, + "operationId": "AttendeeController.updateById" + }, + "get": { + "x-controller-name": "AttendeeController", + "x-operation-name": "findById", + "tags": [ + "AttendeeController" + ], + "responses": { + "200": { + "description": "Attendee model instance", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/AttendeeWithRelations" + } + } + } + } + }, + "parameters": [ + { + "name": "id", + "in": "path", + "schema": { + "type": "string" + }, + "required": true + }, + { + "name": "filter", + "in": "query", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/attendees.Filter" + } + } + } + } + ], + "operationId": "AttendeeController.findById" + }, + "delete": { + "x-controller-name": "AttendeeController", + "x-operation-name": "deleteById", + "tags": [ + "AttendeeController" + ], + "responses": { + "204": { + "description": "Attendee DELETE success" + } + }, + "parameters": [ + { + "name": "id", + "in": "path", + "schema": { + "type": "string" + }, + "required": true + } + ], + "operationId": "AttendeeController.deleteById" + } + }, + "/attendees": { + "post": { + "x-controller-name": "AttendeeController", + "x-operation-name": "create", + "tags": [ + "AttendeeController" + ], + "responses": { + "200": { + "description": "Attendee model instance", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Attendee" + } + } + } + } + }, + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/NewAttendee" + } + } + } + }, + "operationId": "AttendeeController.create" + }, + "patch": { + "x-controller-name": "AttendeeController", + "x-operation-name": "updateAll", + "tags": [ + "AttendeeController" + ], + "responses": { + "200": { + "description": "Attendee PATCH success count", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/loopback.Count" + } + } + } + } + }, + "parameters": [ + { + "name": "where", + "in": "query", + "content": { + "application/json": { + "schema": { + "type": "object", + "title": "attendees.WhereFilter", + "additionalProperties": true, + "x-typescript-type": "@loopback/repository#Where" + } + } + } + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/AttendeePartial" + } + } + } + }, + "operationId": "AttendeeController.updateAll" + }, + "get": { + "x-controller-name": "AttendeeController", + "x-operation-name": "find", + "tags": [ + "AttendeeController" + ], + "responses": { + "200": { + "description": "Array of Attendee model instances", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/AttendeeWithRelations" + } + } + } + } + } + }, + "parameters": [ + { + "name": "filter", + "in": "query", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/attendees.Filter1" + } + } + } + } + ], + "operationId": "AttendeeController.find" + } + }, + "/calendars/calendarSubscription": { + "post": { + "x-controller-name": "CalendarController", + "x-operation-name": "createWithSubscription", + "tags": [ + "CalendarController" + ], + "responses": { + "200": { + "description": "Calendar model instance", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CalendarDTO" + } + } + } + } + }, + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/NewCalendar" + } + } + } + }, + "operationId": "CalendarController.createWithSubscription" + } + }, + "/calendars/count": { + "get": { + "x-controller-name": "CalendarController", + "x-operation-name": "count", + "tags": [ + "CalendarController" + ], + "responses": { + "200": { + "description": "Calendar model count", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/loopback.Count" + } + } + } + } + }, + "parameters": [ + { + "name": "where", + "in": "query", + "content": { + "application/json": { + "schema": { + "type": "object", + "title": "calendars.WhereFilter", + "additionalProperties": true, + "x-typescript-type": "@loopback/repository#Where" + } + } + } + } + ], + "operationId": "CalendarController.count" + } + }, + "/calendars/subscriptions/me": { + "get": { + "x-controller-name": "SubscriptionController", + "x-operation-name": "findMe", + "tags": [ + "SubscriptionController" + ], + "responses": { + "200": { + "description": "Array of Subscription model instances", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/SubscriptionWithRelations" + } + } + } + } + } + }, + "parameters": [ + { + "name": "filter", + "in": "query", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/subscriptions.Filter" + } + } + } + } + ], + "operationId": "SubscriptionController.findMe" + } + }, + "/calendars/{id}/events": { + "post": { + "x-controller-name": "CalendarEventController", + "x-operation-name": "create", + "tags": [ + "CalendarEventController" + ], + "responses": { + "200": { + "description": "Calendar model instance", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Event" + } + } + } + } + }, + "parameters": [ + { + "name": "id", + "in": "path", + "schema": { + "type": "string" + }, + "required": true + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/NewEventInCalendar" + } + } + }, + "x-parameter-index": 1 + }, + "operationId": "CalendarEventController.create" + }, + "patch": { + "x-controller-name": "CalendarEventController", + "x-operation-name": "patch", + "tags": [ + "CalendarEventController" + ], + "responses": { + "200": { + "description": "Calendar.Event PATCH success count", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/loopback.Count" + } + } + } + } + }, + "parameters": [ + { + "name": "id", + "in": "path", + "schema": { + "type": "string" + }, + "required": true + }, + { + "name": "where", + "in": "query", + "content": { + "application/json": { + "schema": { + "type": "object", + "title": "events.WhereFilter", + "additionalProperties": true, + "x-typescript-type": "@loopback/repository#Where" + } + } + } + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/EventPartial" + } + } + }, + "x-parameter-index": 1 + }, + "operationId": "CalendarEventController.patch" + }, + "get": { + "x-controller-name": "CalendarEventController", + "x-operation-name": "find", + "tags": [ + "CalendarEventController" + ], + "responses": { + "200": { + "description": "Array of Calendar has many Event", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Event" + } + } + } + } + } + }, + "parameters": [ + { + "name": "id", + "in": "path", + "schema": { + "type": "string" + }, + "required": true + }, + { + "name": "filter", + "in": "query", + "content": { + "application/json": { + "schema": { + "type": "object", + "additionalProperties": true + } + } + } + }, + { + "name": "timeMax", + "in": "query", + "schema": { + "type": "string", + "format": "date-time" + } + }, + { + "name": "timeMin", + "in": "query", + "schema": { + "type": "string", + "format": "date-time" + } + } + ], + "operationId": "CalendarEventController.find" + }, + "delete": { + "x-controller-name": "CalendarEventController", + "x-operation-name": "delete", + "tags": [ + "CalendarEventController" + ], + "responses": { + "200": { + "description": "Calendar.Event DELETE success count", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/loopback.Count" + } + } + } + } + }, + "parameters": [ + { + "name": "id", + "in": "path", + "schema": { + "type": "string" + }, + "required": true + }, + { + "name": "where", + "in": "query", + "content": { + "application/json": { + "schema": { + "type": "object", + "title": "events.WhereFilter", + "additionalProperties": true, + "x-typescript-type": "@loopback/repository#Where" + } + } + } + } + ], + "operationId": "CalendarEventController.delete" + } + }, + "/calendars/{id}/subscriptions": { + "post": { + "x-controller-name": "CalendarSubscriptionController", + "x-operation-name": "create", + "tags": [ + "CalendarSubscriptionController" + ], + "responses": { + "200": { + "description": "Calendar model instance", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Subscription" + } + } + } + } + }, + "parameters": [ + { + "name": "id", + "in": "path", + "schema": { + "type": "string" + }, + "required": true + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/NewSubscriptionInCalendar" + } + } + }, + "x-parameter-index": 1 + }, + "operationId": "CalendarSubscriptionController.create" + }, + "patch": { + "x-controller-name": "CalendarSubscriptionController", + "x-operation-name": "patch", + "tags": [ + "CalendarSubscriptionController" + ], + "responses": { + "200": { + "description": "Calendar.Subscription PATCH success count", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/loopback.Count" + } + } + } + } + }, + "parameters": [ + { + "name": "id", + "in": "path", + "schema": { + "type": "string" + }, + "required": true + }, + { + "name": "where", + "in": "query", + "content": { + "application/json": { + "schema": { + "type": "object", + "title": "subscriptions.WhereFilter", + "additionalProperties": true, + "x-typescript-type": "@loopback/repository#Where" + } + } + } + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/SubscriptionPartial" + } + } + }, + "x-parameter-index": 1 + }, + "operationId": "CalendarSubscriptionController.patch" + }, + "get": { + "x-controller-name": "CalendarSubscriptionController", + "x-operation-name": "find", + "tags": [ + "CalendarSubscriptionController" + ], + "responses": { + "200": { + "description": "Array of Calendar has many Subscriptions", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Subscription" + } + } + } + } + } + }, + "parameters": [ + { + "name": "id", + "in": "path", + "schema": { + "type": "string" + }, + "required": true + }, + { + "name": "filter", + "in": "query", + "content": { + "application/json": { + "schema": { + "type": "object", + "additionalProperties": true + } + } + } + } + ], + "operationId": "CalendarSubscriptionController.find" + }, + "delete": { + "x-controller-name": "CalendarSubscriptionController", + "x-operation-name": "delete", + "tags": [ + "CalendarSubscriptionController" + ], + "responses": { + "200": { + "description": "Calendar.Subscription DELETE success count", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/loopback.Count" + } + } + } + } + }, + "parameters": [ + { + "name": "id", + "in": "path", + "schema": { + "type": "string" + }, + "required": true + }, + { + "name": "where", + "in": "query", + "content": { + "application/json": { + "schema": { + "type": "object", + "title": "subscriptions.WhereFilter", + "additionalProperties": true, + "x-typescript-type": "@loopback/repository#Where" + } + } + } + } + ], + "operationId": "CalendarSubscriptionController.delete" + } + }, + "/calendars/{id}/working-hours": { + "post": { + "x-controller-name": "CalendarWorkingHourController", + "x-operation-name": "create", + "tags": [ + "CalendarWorkingHourController" + ], + "responses": { + "200": { + "description": "Calendar model instance", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/WorkingHour" + } + } + } + } + }, + "parameters": [ + { + "name": "id", + "in": "path", + "schema": { + "type": "string" + }, + "required": true + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/NewWorkingHourInCalendar" + } + } + }, + "x-parameter-index": 1 + }, + "operationId": "CalendarWorkingHourController.create" + }, + "patch": { + "x-controller-name": "CalendarWorkingHourController", + "x-operation-name": "patch", + "tags": [ + "CalendarWorkingHourController" + ], + "responses": { + "200": { + "description": "Calendar.WorkingHour PATCH success count", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/loopback.Count" + } + } + } + } + }, + "parameters": [ + { + "name": "id", + "in": "path", + "schema": { + "type": "string" + }, + "required": true + }, + { + "name": "where", + "in": "query", + "content": { + "application/json": { + "schema": { + "type": "object", + "title": "working_hours.WhereFilter", + "additionalProperties": true, + "x-typescript-type": "@loopback/repository#Where" + } + } + } + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/WorkingHourPartial" + } + } + }, + "x-parameter-index": 1 + }, + "operationId": "CalendarWorkingHourController.patch" + }, + "get": { + "x-controller-name": "CalendarWorkingHourController", + "x-operation-name": "find", + "tags": [ + "CalendarWorkingHourController" + ], + "responses": { + "200": { + "description": "Array of Calendar has many WorkingHour", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/WorkingHour" + } + } + } + } + } + }, + "parameters": [ + { + "name": "id", + "in": "path", + "schema": { + "type": "string" + }, + "required": true + }, + { + "name": "filter", + "in": "query", + "content": { + "application/json": { + "schema": { + "type": "object", + "additionalProperties": true + } + } + } + } + ], + "operationId": "CalendarWorkingHourController.find" + }, + "delete": { + "x-controller-name": "CalendarWorkingHourController", + "x-operation-name": "delete", + "tags": [ + "CalendarWorkingHourController" + ], + "responses": { + "200": { + "description": "Calendar.WorkingHour DELETE success count", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/loopback.Count" + } + } + } + } + }, + "parameters": [ + { + "name": "id", + "in": "path", + "schema": { + "type": "string" + }, + "required": true + }, + { + "name": "where", + "in": "query", + "content": { + "application/json": { + "schema": { + "type": "object", + "title": "working_hours.WhereFilter", + "additionalProperties": true, + "x-typescript-type": "@loopback/repository#Where" + } + } + } + } + ], + "operationId": "CalendarWorkingHourController.delete" + } + }, + "/calendars/{id}": { + "put": { + "x-controller-name": "CalendarController", + "x-operation-name": "replaceById", + "tags": [ + "CalendarController" + ], + "responses": { + "204": { + "description": "Calendar PUT success" + } + }, + "parameters": [ + { + "name": "id", + "in": "path", + "schema": { + "type": "string" + }, + "required": true + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CalendarDTO" + } + } + }, + "x-parameter-index": 1 + }, + "operationId": "CalendarController.replaceById" + }, + "patch": { + "x-controller-name": "CalendarController", + "x-operation-name": "updateById", + "tags": [ + "CalendarController" + ], + "responses": { + "204": { + "description": "Calendar PATCH success" + } + }, + "parameters": [ + { + "name": "id", + "in": "path", + "schema": { + "type": "string" + }, + "required": true + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CalendarPartial" + } + } + }, + "x-parameter-index": 1 + }, + "operationId": "CalendarController.updateById" + }, + "get": { + "x-controller-name": "CalendarController", + "x-operation-name": "findById", + "tags": [ + "CalendarController" + ], + "responses": { + "200": { + "description": "Calendar model instance", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CalendarWithRelations" + } + } + } + } + }, + "parameters": [ + { + "name": "id", + "in": "path", + "schema": { + "type": "string" + }, + "required": true + }, + { + "name": "filter", + "in": "query", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/calendars.Filter" + } + } + } + } + ], + "operationId": "CalendarController.findById" + }, + "delete": { + "x-controller-name": "CalendarController", + "x-operation-name": "deleteById", + "tags": [ + "CalendarController" + ], + "responses": { + "204": { + "description": "Calendar DELETE success" + } + }, + "parameters": [ + { + "name": "id", + "in": "path", + "schema": { + "type": "string" + }, + "required": true + } + ], + "operationId": "CalendarController.deleteById" + } + }, + "/calendars": { + "post": { + "x-controller-name": "CalendarController", + "x-operation-name": "create", + "tags": [ + "CalendarController" + ], + "responses": { + "200": { + "description": "Calendar model instance", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Calendar" + } + } + } + } + }, + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/NewCalendar" + } + } + } + }, + "operationId": "CalendarController.create" + }, + "patch": { + "x-controller-name": "CalendarController", + "x-operation-name": "updateAll", + "tags": [ + "CalendarController" + ], + "responses": { + "200": { + "description": "Calendar PATCH success count", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/loopback.Count" + } + } + } + } + }, + "parameters": [ + { + "name": "where", + "in": "query", + "content": { + "application/json": { + "schema": { + "type": "object", + "title": "calendars.WhereFilter", + "additionalProperties": true, + "x-typescript-type": "@loopback/repository#Where" + } + } + } + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CalendarPartial" + } + } + } + }, + "operationId": "CalendarController.updateAll" + }, + "get": { + "x-controller-name": "CalendarController", + "x-operation-name": "find", + "tags": [ + "CalendarController" + ], + "responses": { + "200": { + "description": "Array of Calendar model instances", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/CalendarWithRelations" + } + } + } + } + } + }, + "parameters": [ + { + "name": "filter", + "in": "query", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/calendars.Filter1" + } + } + } + } + ], + "operationId": "CalendarController.find" + } + }, + "/events/count": { + "get": { + "x-controller-name": "EventController", + "x-operation-name": "count", + "tags": [ + "EventController" + ], + "responses": { + "200": { + "description": "Event model count", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/loopback.Count" + } + } + } + } + }, + "parameters": [ + { + "name": "where", + "in": "query", + "content": { + "application/json": { + "schema": { + "type": "object", + "title": "events.WhereFilter", + "additionalProperties": true, + "x-typescript-type": "@loopback/repository#Where" + } + } + } + } + ], + "operationId": "EventController.count" + } + }, + "/events/freeBusy": { + "get": { + "x-controller-name": "EventController", + "x-operation-name": "getFeeBusyStatus", + "tags": [ + "EventController" + ], + "responses": { + "200": { + "description": "Return value of EventController.getFeeBusyStatus" + } + }, + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/FreeBusyRequest" + } + } + } + }, + "operationId": "EventController.getFeeBusyStatus" + } + }, + "/events/{id}/attachments": { + "post": { + "x-controller-name": "EventAttachmentController", + "x-operation-name": "create", + "tags": [ + "EventAttachmentController" + ], + "responses": { + "200": { + "description": "Event model instance", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Attachment" + } + } + } + } + }, + "parameters": [ + { + "name": "id", + "in": "path", + "schema": { + "type": "string" + }, + "required": true + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/NewAttachmentInEvent" + } + } + }, + "x-parameter-index": 1 + }, + "operationId": "EventAttachmentController.create" + }, + "patch": { + "x-controller-name": "EventAttachmentController", + "x-operation-name": "patch", + "tags": [ + "EventAttachmentController" + ], + "responses": { + "200": { + "description": "Event.Attachment PATCH success count", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/loopback.Count" + } + } + } + } + }, + "parameters": [ + { + "name": "id", + "in": "path", + "schema": { + "type": "string" + }, + "required": true + }, + { + "name": "where", + "in": "query", + "content": { + "application/json": { + "schema": { + "type": "object", + "title": "attachments.WhereFilter", + "additionalProperties": true, + "x-typescript-type": "@loopback/repository#Where" + } + } + } + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/AttachmentPartial" + } + } + }, + "x-parameter-index": 1 + }, + "operationId": "EventAttachmentController.patch" + }, + "get": { + "x-controller-name": "EventAttachmentController", + "x-operation-name": "find", + "tags": [ + "EventAttachmentController" + ], + "responses": { + "200": { + "description": "Array of Event has many Attachment", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Attachment" + } + } + } + } + } + }, + "parameters": [ + { + "name": "id", + "in": "path", + "schema": { + "type": "string" + }, + "required": true + }, + { + "name": "filter", + "in": "query", + "content": { + "application/json": { + "schema": { + "type": "object", + "additionalProperties": true + } + } + } + } + ], + "operationId": "EventAttachmentController.find" + }, + "delete": { + "x-controller-name": "EventAttachmentController", + "x-operation-name": "delete", + "tags": [ + "EventAttachmentController" + ], + "responses": { + "200": { + "description": "Event.Attachment DELETE success count", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/loopback.Count" + } + } + } + } + }, + "parameters": [ + { + "name": "id", + "in": "path", + "schema": { + "type": "string" + }, + "required": true + }, + { + "name": "where", + "in": "query", + "content": { + "application/json": { + "schema": { + "type": "object", + "title": "attachments.WhereFilter", + "additionalProperties": true, + "x-typescript-type": "@loopback/repository#Where" + } + } + } + } + ], + "operationId": "EventAttachmentController.delete" + } + }, + "/events/{id}/attendees": { + "post": { + "x-controller-name": "EventAttendeeController", + "x-operation-name": "create", + "tags": [ + "EventAttendeeController" + ], + "responses": { + "200": { + "description": "Event model instance", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Attendee" + } + } + } + } + }, + "parameters": [ + { + "name": "id", + "in": "path", + "schema": { + "type": "string" + }, + "required": true + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/NewAttendeeInEvent" + } + } + }, + "x-parameter-index": 1 + }, + "operationId": "EventAttendeeController.create" + }, + "patch": { + "x-controller-name": "EventAttendeeController", + "x-operation-name": "patch", + "tags": [ + "EventAttendeeController" + ], + "responses": { + "200": { + "description": "Event.Attendee PATCH success count", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/loopback.Count" + } + } + } + } + }, + "parameters": [ + { + "name": "id", + "in": "path", + "schema": { + "type": "string" + }, + "required": true + }, + { + "name": "where", + "in": "query", + "content": { + "application/json": { + "schema": { + "type": "object", + "title": "attendees.WhereFilter", + "additionalProperties": true, + "x-typescript-type": "@loopback/repository#Where" + } + } + } + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/AttendeePartial" + } + } + }, + "x-parameter-index": 1 + }, + "operationId": "EventAttendeeController.patch" + }, + "get": { + "x-controller-name": "EventAttendeeController", + "x-operation-name": "find", + "tags": [ + "EventAttendeeController" + ], + "responses": { + "200": { + "description": "Array of Event has many Attendee", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Attendee" + } + } + } + } + } + }, + "parameters": [ + { + "name": "id", + "in": "path", + "schema": { + "type": "string" + }, + "required": true + }, + { + "name": "filter", + "in": "query", + "content": { + "application/json": { + "schema": { + "type": "object", + "additionalProperties": true + } + } + } + } + ], + "operationId": "EventAttendeeController.find" + }, + "delete": { + "x-controller-name": "EventAttendeeController", + "x-operation-name": "delete", + "tags": [ + "EventAttendeeController" + ], + "responses": { + "200": { + "description": "Event.Attendee DELETE success count", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/loopback.Count" + } + } + } + } + }, + "parameters": [ + { + "name": "id", + "in": "path", + "schema": { + "type": "string" + }, + "required": true + }, + { + "name": "where", + "in": "query", + "content": { + "application/json": { + "schema": { + "type": "object", + "title": "attendees.WhereFilter", + "additionalProperties": true, + "x-typescript-type": "@loopback/repository#Where" + } + } + } + } + ], + "operationId": "EventAttendeeController.delete" + } + }, + "/events/{id}": { + "put": { + "x-controller-name": "EventController", + "x-operation-name": "replaceById", + "tags": [ + "EventController" + ], + "responses": { + "204": { + "description": "Event PUT success" + } + }, + "parameters": [ + { + "name": "id", + "in": "path", + "schema": { + "type": "string" + }, + "required": true + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Event" + } + } + }, + "x-parameter-index": 1 + }, + "operationId": "EventController.replaceById" + }, + "patch": { + "x-controller-name": "EventController", + "x-operation-name": "updateById", + "tags": [ + "EventController" + ], + "responses": { + "204": { + "description": "Event PATCH success" + } + }, + "parameters": [ + { + "name": "id", + "in": "path", + "schema": { + "type": "string" + }, + "required": true + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/EventPartial" + } + } + }, + "x-parameter-index": 1 + }, + "operationId": "EventController.updateById" + }, + "get": { + "x-controller-name": "EventController", + "x-operation-name": "findById", + "tags": [ + "EventController" + ], + "responses": { + "200": { + "description": "Event model instance", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/EventWithRelations" + } + } + } + } + }, + "parameters": [ + { + "name": "id", + "in": "path", + "schema": { + "type": "string" + }, + "required": true + }, + { + "name": "filter", + "in": "query", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/events.Filter" + } + } + } + } + ], + "operationId": "EventController.findById" + }, + "delete": { + "x-controller-name": "EventController", + "x-operation-name": "deleteById", + "tags": [ + "EventController" + ], + "responses": { + "204": { + "description": "Event DELETE success" + } + }, + "parameters": [ + { + "name": "id", + "in": "path", + "schema": { + "type": "string" + }, + "required": true + } + ], + "operationId": "EventController.deleteById" + } + }, + "/events": { + "post": { + "x-controller-name": "EventController", + "x-operation-name": "create", + "tags": [ + "EventController" + ], + "responses": { + "200": { + "description": "Event model instance", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Event" + } + } + } + } + }, + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/NewEvent" + } + } + } + }, + "operationId": "EventController.create" + }, + "patch": { + "x-controller-name": "EventController", + "x-operation-name": "updateAll", + "tags": [ + "EventController" + ], + "responses": { + "200": { + "description": "Event PATCH success count", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/loopback.Count" + } + } + } + } + }, + "parameters": [ + { + "name": "where", + "in": "query", + "content": { + "application/json": { + "schema": { + "type": "object", + "title": "events.WhereFilter", + "additionalProperties": true, + "x-typescript-type": "@loopback/repository#Where" + } + } + } + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/EventPartial" + } + } + } + }, + "operationId": "EventController.updateAll" + }, + "get": { + "x-controller-name": "EventController", + "x-operation-name": "find", + "tags": [ + "EventController" + ], + "responses": { + "200": { + "description": "Array of Event model instances", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/EventWithRelations" + } + } + } + } + } + }, + "parameters": [ + { + "name": "filter", + "in": "query", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/events_attendees_view.Filter" + } + } + } + } + ], + "operationId": "EventController.find" + } + }, + "/settings/count": { + "get": { + "x-controller-name": "SettingsController", + "x-operation-name": "count", + "tags": [ + "SettingsController" + ], + "responses": { + "200": { + "description": "Settings model count", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/loopback.Count" + } + } + } + } + }, + "parameters": [ + { + "name": "where", + "in": "query", + "content": { + "application/json": { + "schema": { + "type": "object", + "title": "settings.WhereFilter", + "additionalProperties": true, + "x-typescript-type": "@loopback/repository#Where" + } + } + } + } + ], + "operationId": "SettingsController.count" + } + }, + "/settings/{id}": { + "put": { + "x-controller-name": "SettingsController", + "x-operation-name": "replaceById", + "tags": [ + "SettingsController" + ], + "responses": { + "204": { + "description": "Settings PUT success" + } + }, + "parameters": [ + { + "name": "id", + "in": "path", + "schema": { + "type": "string" + }, + "required": true + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Settings" + } + } + }, + "x-parameter-index": 1 + }, + "operationId": "SettingsController.replaceById" + }, + "patch": { + "x-controller-name": "SettingsController", + "x-operation-name": "updateById", + "tags": [ + "SettingsController" + ], + "responses": { + "204": { + "description": "Settings PATCH success" + } + }, + "parameters": [ + { + "name": "id", + "in": "path", + "schema": { + "type": "string" + }, + "required": true + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/SettingsPartial" + } + } + }, + "x-parameter-index": 1 + }, + "operationId": "SettingsController.updateById" + }, + "get": { + "x-controller-name": "SettingsController", + "x-operation-name": "findById", + "tags": [ + "SettingsController" + ], + "responses": { + "200": { + "description": "Settings model instance", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/SettingsWithRelations" + } + } + } + } + }, + "parameters": [ + { + "name": "id", + "in": "path", + "schema": { + "type": "string" + }, + "required": true + }, + { + "name": "filter", + "in": "query", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/settings.Filter" + } + } + } + } + ], + "operationId": "SettingsController.findById" + }, + "delete": { + "x-controller-name": "SettingsController", + "x-operation-name": "deleteById", + "tags": [ + "SettingsController" + ], + "responses": { + "204": { + "description": "Settings DELETE success" + } + }, + "parameters": [ + { + "name": "id", + "in": "path", + "schema": { + "type": "string" + }, + "required": true + } + ], + "operationId": "SettingsController.deleteById" + } + }, + "/settings": { + "post": { + "x-controller-name": "SettingsController", + "x-operation-name": "create", + "tags": [ + "SettingsController" + ], + "responses": { + "200": { + "description": "Settings model instance", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Settings" + } + } + } + } + }, + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/NewSettings" + } + } + } + }, + "operationId": "SettingsController.create" + }, + "patch": { + "x-controller-name": "SettingsController", + "x-operation-name": "updateAll", + "tags": [ + "SettingsController" + ], + "responses": { + "200": { + "description": "Settings PATCH success count", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/loopback.Count" + } + } + } + } + }, + "parameters": [ + { + "name": "where", + "in": "query", + "content": { + "application/json": { + "schema": { + "type": "object", + "title": "settings.WhereFilter", + "additionalProperties": true, + "x-typescript-type": "@loopback/repository#Where" + } + } + } + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/SettingsPartial" + } + } + } + }, + "operationId": "SettingsController.updateAll" + }, + "get": { + "x-controller-name": "SettingsController", + "x-operation-name": "find", + "tags": [ + "SettingsController" + ], + "responses": { + "200": { + "description": "Array of Settings model instances", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/SettingsWithRelations" + } + } + } + } + } + }, + "parameters": [ + { + "name": "filter", + "in": "query", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/settings.Filter1" + } + } + } + } + ], + "operationId": "SettingsController.find" + } + }, + "/subscriptions/count": { + "get": { + "x-controller-name": "SubscriptionController", + "x-operation-name": "count", + "tags": [ + "SubscriptionController" + ], + "responses": { + "200": { + "description": "Subscription model count", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/loopback.Count" + } + } + } + } + }, + "parameters": [ + { + "name": "where", + "in": "query", + "content": { + "application/json": { + "schema": { + "type": "object", + "title": "subscriptions.WhereFilter", + "additionalProperties": true, + "x-typescript-type": "@loopback/repository#Where" + } + } + } + } + ], + "operationId": "SubscriptionController.count" + } + }, + "/subscriptions/{id}": { + "put": { + "x-controller-name": "SubscriptionController", + "x-operation-name": "replaceById", + "tags": [ + "SubscriptionController" + ], + "responses": { + "204": { + "description": "Subscription PUT success" + } + }, + "parameters": [ + { + "name": "id", + "in": "path", + "schema": { + "type": "string" + }, + "required": true + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Subscription" + } + } + }, + "x-parameter-index": 1 + }, + "operationId": "SubscriptionController.replaceById" + }, + "patch": { + "x-controller-name": "SubscriptionController", + "x-operation-name": "updateById", + "tags": [ + "SubscriptionController" + ], + "responses": { + "204": { + "description": "Subscription PATCH success" + } + }, + "parameters": [ + { + "name": "id", + "in": "path", + "schema": { + "type": "string" + }, + "required": true + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/SubscriptionPartial" + } + } + }, + "x-parameter-index": 1 + }, + "operationId": "SubscriptionController.updateById" + }, + "get": { + "x-controller-name": "SubscriptionController", + "x-operation-name": "findById", + "tags": [ + "SubscriptionController" + ], + "responses": { + "200": { + "description": "Subscription model instance", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/SubscriptionWithRelations" + } + } + } + } + }, + "parameters": [ + { + "name": "id", + "in": "path", + "schema": { + "type": "string" + }, + "required": true + }, + { + "name": "filter", + "in": "query", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/subscriptions.Filter1" + } + } + } + } + ], + "operationId": "SubscriptionController.findById" + }, + "delete": { + "x-controller-name": "SubscriptionController", + "x-operation-name": "deleteById", + "tags": [ + "SubscriptionController" + ], + "responses": { + "204": { + "description": "Subscription DELETE success" + } + }, + "parameters": [ + { + "name": "id", + "in": "path", + "schema": { + "type": "string" + }, + "required": true + } + ], + "operationId": "SubscriptionController.deleteById" + } + }, + "/subscriptions": { + "post": { + "x-controller-name": "SubscriptionController", + "x-operation-name": "create", + "tags": [ + "SubscriptionController" + ], + "responses": { + "200": { + "description": "Subscription model instance", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Subscription" + } + } + } + } + }, + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/NewSubscription" + } + } + } + }, + "operationId": "SubscriptionController.create" + }, + "patch": { + "x-controller-name": "SubscriptionController", + "x-operation-name": "updateAll", + "tags": [ + "SubscriptionController" + ], + "responses": { + "200": { + "description": "Subscription PATCH success count", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/loopback.Count" + } + } + } + } + }, + "parameters": [ + { + "name": "where", + "in": "query", + "content": { + "application/json": { + "schema": { + "type": "object", + "title": "subscriptions.WhereFilter", + "additionalProperties": true, + "x-typescript-type": "@loopback/repository#Where" + } + } + } + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/SubscriptionPartial" + } + } + } + }, + "operationId": "SubscriptionController.updateAll" + }, + "get": { + "x-controller-name": "SubscriptionController", + "x-operation-name": "find", + "tags": [ + "SubscriptionController" + ], + "responses": { + "200": { + "description": "Array of Subscription model instances", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/SubscriptionWithRelations" + } + } + } + } + } + }, + "parameters": [ + { + "name": "filter", + "in": "query", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/subscriptions.Filter" + } + } + } + } + ], + "operationId": "SubscriptionController.find" + } + }, + "/themes/count": { + "get": { + "x-controller-name": "ThemeController", + "x-operation-name": "count", + "tags": [ + "ThemeController" + ], + "responses": { + "200": { + "description": "Theme model count", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/loopback.Count" + } + } + } + } + }, + "parameters": [ + { + "name": "where", + "in": "query", + "content": { + "application/json": { + "schema": { + "type": "object", + "title": "themes.WhereFilter", + "additionalProperties": true, + "x-typescript-type": "@loopback/repository#Where" + } + } + } + } + ], + "operationId": "ThemeController.count" + } + }, + "/themes/{id}": { + "put": { + "x-controller-name": "ThemeController", + "x-operation-name": "replaceById", + "tags": [ + "ThemeController" + ], + "responses": { + "204": { + "description": "Theme PUT success" + } + }, + "parameters": [ + { + "name": "id", + "in": "path", + "schema": { + "type": "string" + }, + "required": true + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Theme" + } + } + }, + "x-parameter-index": 1 + }, + "operationId": "ThemeController.replaceById" + }, + "patch": { + "x-controller-name": "ThemeController", + "x-operation-name": "updateById", + "tags": [ + "ThemeController" + ], + "responses": { + "204": { + "description": "Theme PATCH success" + } + }, + "parameters": [ + { + "name": "id", + "in": "path", + "schema": { + "type": "string" + }, + "required": true + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ThemePartial" + } + } + }, + "x-parameter-index": 1 + }, + "operationId": "ThemeController.updateById" + }, + "get": { + "x-controller-name": "ThemeController", + "x-operation-name": "findById", + "tags": [ + "ThemeController" + ], + "responses": { + "200": { + "description": "Theme model instance", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ThemeWithRelations" + } + } + } + } + }, + "parameters": [ + { + "name": "id", + "in": "path", + "schema": { + "type": "string" + }, + "required": true + }, + { + "name": "filter", + "in": "query", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/themes.Filter" + } + } + } + } + ], + "operationId": "ThemeController.findById" + }, + "delete": { + "x-controller-name": "ThemeController", + "x-operation-name": "deleteById", + "tags": [ + "ThemeController" + ], + "responses": { + "204": { + "description": "Theme DELETE success" + } + }, + "parameters": [ + { + "name": "id", + "in": "path", + "schema": { + "type": "string" + }, + "required": true + } + ], + "operationId": "ThemeController.deleteById" + } + }, + "/themes": { + "post": { + "x-controller-name": "ThemeController", + "x-operation-name": "create", + "tags": [ + "ThemeController" + ], + "responses": { + "200": { + "description": "Theme model instance", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Theme" + } + } + } + } + }, + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/NewTheme" + } + } + } + }, + "operationId": "ThemeController.create" + }, + "patch": { + "x-controller-name": "ThemeController", + "x-operation-name": "updateAll", + "tags": [ + "ThemeController" + ], + "responses": { + "200": { + "description": "Theme PATCH success count", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/loopback.Count" + } + } + } + } + }, + "parameters": [ + { + "name": "where", + "in": "query", + "content": { + "application/json": { + "schema": { + "type": "object", + "title": "themes.WhereFilter", + "additionalProperties": true, + "x-typescript-type": "@loopback/repository#Where" + } + } + } + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ThemePartial" + } + } + } + }, + "operationId": "ThemeController.updateAll" + }, + "get": { + "x-controller-name": "ThemeController", + "x-operation-name": "find", + "tags": [ + "ThemeController" + ], + "responses": { + "200": { + "description": "Array of Theme model instances", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ThemeWithRelations" + } + } + } + } + } + }, + "parameters": [ + { + "name": "filter", + "in": "query", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/themes.Filter1" + } + } + } + } + ], + "operationId": "ThemeController.find" + } + }, + "/working-hours/count": { + "get": { + "x-controller-name": "WorkingHourController", + "x-operation-name": "count", + "tags": [ + "WorkingHourController" + ], + "responses": { + "200": { + "description": "WorkingHour model count", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/loopback.Count" + } + } + } + } + }, + "parameters": [ + { + "name": "where", + "in": "query", + "content": { + "application/json": { + "schema": { + "type": "object", + "title": "working_hours.WhereFilter", + "additionalProperties": true, + "x-typescript-type": "@loopback/repository#Where" + } + } + } + } + ], + "operationId": "WorkingHourController.count" + } + }, + "/working-hours/{id}": { + "put": { + "x-controller-name": "WorkingHourController", + "x-operation-name": "replaceById", + "tags": [ + "WorkingHourController" + ], + "responses": { + "204": { + "description": "WorkingHour PUT success" + } + }, + "parameters": [ + { + "name": "id", + "in": "path", + "schema": { + "type": "string" + }, + "required": true + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/WorkingHour" + } + } + }, + "x-parameter-index": 1 + }, + "operationId": "WorkingHourController.replaceById" + }, + "patch": { + "x-controller-name": "WorkingHourController", + "x-operation-name": "updateById", + "tags": [ + "WorkingHourController" + ], + "responses": { + "204": { + "description": "WorkingHour PATCH success" + } + }, + "parameters": [ + { + "name": "id", + "in": "path", + "schema": { + "type": "string" + }, + "required": true + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/WorkingHourPartial" + } + } + }, + "x-parameter-index": 1 + }, + "operationId": "WorkingHourController.updateById" + }, + "get": { + "x-controller-name": "WorkingHourController", + "x-operation-name": "findById", + "tags": [ + "WorkingHourController" + ], + "responses": { + "200": { + "description": "WorkingHour model instance", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/WorkingHourWithRelations" + } + } + } + } + }, + "parameters": [ + { + "name": "id", + "in": "path", + "schema": { + "type": "string" + }, + "required": true + }, + { + "name": "filter", + "in": "query", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/working_hours.Filter" + } + } + } + } + ], + "operationId": "WorkingHourController.findById" + }, + "delete": { + "x-controller-name": "WorkingHourController", + "x-operation-name": "deleteById", + "tags": [ + "WorkingHourController" + ], + "responses": { + "204": { + "description": "WorkingHour DELETE success" + } + }, + "parameters": [ + { + "name": "id", + "in": "path", + "schema": { + "type": "string" + }, + "required": true + } + ], + "operationId": "WorkingHourController.deleteById" + } + }, + "/working-hours": { + "post": { + "x-controller-name": "WorkingHourController", + "x-operation-name": "create", + "tags": [ + "WorkingHourController" + ], + "responses": { + "200": { + "description": "WorkingHour model instance", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/WorkingHour" + } + } + } + } + }, + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/NewWorkingHour" + } + } + } + }, + "operationId": "WorkingHourController.create" + }, + "patch": { + "x-controller-name": "WorkingHourController", + "x-operation-name": "updateAll", + "tags": [ + "WorkingHourController" + ], + "responses": { + "200": { + "description": "WorkingHour PATCH success count", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/loopback.Count" + } + } + } + } + }, + "parameters": [ + { + "name": "where", + "in": "query", + "content": { + "application/json": { + "schema": { + "type": "object", + "title": "working_hours.WhereFilter", + "additionalProperties": true, + "x-typescript-type": "@loopback/repository#Where" + } + } + } + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/WorkingHourPartial" + } + } + } + }, + "operationId": "WorkingHourController.updateAll" + }, + "get": { + "x-controller-name": "WorkingHourController", + "x-operation-name": "find", + "tags": [ + "WorkingHourController" + ], + "responses": { + "200": { + "description": "Array of WorkingHour model instances", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/WorkingHourWithRelations" + } + } + } + } + } + }, + "parameters": [ + { + "name": "filter", + "in": "query", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/working_hours.Filter1" + } + } + } + } + ], + "operationId": "WorkingHourController.find" + } + } + }, + "components": { + "securitySchemes": { + "HTTPBearer": { + "type": "http", + "scheme": "bearer", + "bearerFormat": "JWT" + } + }, + "schemas": { + "Attachment": { + "title": "Attachment", + "type": "object", + "properties": { + "deleted": { + "type": "boolean" + }, + "deletedOn": { + "type": "string", + "format": "date-time", + "nullable": true + }, + "deletedBy": { + "type": "string", + "nullable": true + }, + "createdOn": { + "type": "string", + "format": "date-time" + }, + "modifiedOn": { + "type": "string", + "format": "date-time" + }, + "createdBy": { + "type": "string" + }, + "modifiedBy": { + "type": "string" + }, + "id": { + "type": "string" + }, + "fileUrl": { + "type": "string" + }, + "iconLink": { + "type": "string" + }, + "mimeType": { + "type": "string", + "maxLength": 200 + }, + "title": { + "type": "string", + "maxLength": 400 + }, + "eventId": { + "type": "string" + }, + "extId": { + "type": "string" + }, + "extMetadata": { + "type": "object" + } + }, + "required": [ + "fileUrl", + "eventId" + ], + "additionalProperties": false + }, + "NewAttachment": { + "title": "NewAttachment", + "type": "object", + "description": "(tsType: Omit, schemaOptions: { title: 'NewAttachment', exclude: [ 'id' ] })", + "properties": { + "deleted": { + "type": "boolean" + }, + "deletedOn": { + "type": "string", + "format": "date-time", + "nullable": true + }, + "deletedBy": { + "type": "string", + "nullable": true + }, + "createdOn": { + "type": "string", + "format": "date-time" + }, + "modifiedOn": { + "type": "string", + "format": "date-time" + }, + "createdBy": { + "type": "string" + }, + "modifiedBy": { + "type": "string" + }, + "fileUrl": { + "type": "string" + }, + "iconLink": { + "type": "string" + }, + "mimeType": { + "type": "string", + "maxLength": 200 + }, + "title": { + "type": "string", + "maxLength": 400 + }, + "eventId": { + "type": "string" + }, + "extId": { + "type": "string" + }, + "extMetadata": { + "type": "object" + } + }, + "required": [ + "fileUrl", + "eventId" + ], + "additionalProperties": false, + "x-typescript-type": "Omit" + }, + "AttendeeWithRelations": { + "title": "AttendeeWithRelations", + "type": "object", + "description": "(tsType: AttendeeWithRelations, schemaOptions: { includeRelations: true })", + "properties": { + "deleted": { + "type": "boolean" + }, + "deletedOn": { + "type": "string", + "format": "date-time", + "nullable": true + }, + "deletedBy": { + "type": "string", + "nullable": true + }, + "createdOn": { + "type": "string", + "format": "date-time" + }, + "modifiedOn": { + "type": "string", + "format": "date-time" + }, + "createdBy": { + "type": "string" + }, + "modifiedBy": { + "type": "string" + }, + "id": { + "type": "string" + }, + "identifier": { + "type": "string", + "maxLength": 200 + }, + "isOptional": { + "type": "boolean" + }, + "isOrganizer": { + "type": "boolean" + }, + "messages": { + "type": "string" + }, + "responseStatus": { + "type": "string", + "enum": [ + "needsAction", + "tentative", + "accepted", + "declined" + ] + }, + "eventId": { + "type": "string" + }, + "extId": { + "type": "string" + }, + "extMetadata": { + "type": "object" + }, + "event": { + "$ref": "#/components/schemas/EventWithRelations" + } + }, + "required": [ + "identifier", + "eventId" + ], + "additionalProperties": false, + "x-typescript-type": "AttendeeWithRelations" + }, + "EventWithRelations": { + "title": "EventWithRelations", + "type": "object", + "description": "(tsType: EventWithRelations, schemaOptions: { includeRelations: true })", + "properties": { + "deleted": { + "type": "boolean" + }, + "deletedOn": { + "type": "string", + "format": "date-time", + "nullable": true + }, + "deletedBy": { + "type": "string", + "nullable": true + }, + "createdOn": { + "type": "string", + "format": "date-time" + }, + "modifiedOn": { + "type": "string", + "format": "date-time" + }, + "createdBy": { + "type": "string" + }, + "modifiedBy": { + "type": "string" + }, + "id": { + "type": "string" + }, + "bgColor": { + "type": "string" + }, + "description": { + "type": "string" + }, + "endDateTime": { + "type": "string", + "format": "date-time" + }, + "fgColor": { + "type": "string" + }, + "iCalUid": { + "type": "string" + }, + "isFullDayEvent": { + "type": "boolean" + }, + "isLocked": { + "type": "boolean" + }, + "link": { + "type": "string" + }, + "location": { + "type": "string", + "maxLength": 300 + }, + "meetingLink": { + "type": "string" + }, + "identifier": { + "type": "string", + "maxLength": 200 + }, + "startDateTime": { + "type": "string", + "format": "date-time" + }, + "status": { + "type": "string", + "enum": [ + "confirmed", + "tentative", + "cancelled", + "completed" + ] + }, + "summary": { + "type": "string" + }, + "timezone": { + "type": "string" + }, + "calendarId": { + "type": "string" + }, + "parentEventId": { + "type": "string" + }, + "extId": { + "type": "string" + }, + "extMetadata": { + "type": "object" + }, + "calendar": { + "$ref": "#/components/schemas/CalendarWithRelations" + }, + "parentEvent": { + "$ref": "#/components/schemas/EventWithRelations" + }, + "attendees": { + "type": "array", + "items": { + "$ref": "#/components/schemas/AttendeeWithRelations" + } + }, + "attachments": { + "type": "array", + "items": { + "$ref": "#/components/schemas/AttachmentWithRelations" + } + } + }, + "required": [ + "calendarId" + ], + "additionalProperties": false, + "x-typescript-type": "EventWithRelations" + }, + "AttachmentWithRelations": { + "title": "AttachmentWithRelations", + "type": "object", + "description": "(tsType: AttachmentWithRelations, schemaOptions: { includeRelations: true })", + "properties": { + "deleted": { + "type": "boolean" + }, + "deletedOn": { + "type": "string", + "format": "date-time", + "nullable": true + }, + "deletedBy": { + "type": "string", + "nullable": true + }, + "createdOn": { + "type": "string", + "format": "date-time" + }, + "modifiedOn": { + "type": "string", + "format": "date-time" + }, + "createdBy": { + "type": "string" + }, + "modifiedBy": { + "type": "string" + }, + "id": { + "type": "string" + }, + "fileUrl": { + "type": "string" + }, + "iconLink": { + "type": "string" + }, + "mimeType": { + "type": "string", + "maxLength": 200 + }, + "title": { + "type": "string", + "maxLength": 400 + }, + "eventId": { + "type": "string" + }, + "extId": { + "type": "string" + }, + "extMetadata": { + "type": "object" + }, + "event": { + "$ref": "#/components/schemas/EventWithRelations" + } + }, + "required": [ + "fileUrl", + "eventId" + ], + "additionalProperties": false, + "x-typescript-type": "AttachmentWithRelations" + }, + "AttachmentPartial": { + "title": "AttachmentPartial", + "type": "object", + "description": "(tsType: Partial, schemaOptions: { partial: true })", + "properties": { + "deleted": { + "type": "boolean" + }, + "deletedOn": { + "type": "string", + "format": "date-time", + "nullable": true + }, + "deletedBy": { + "type": "string", + "nullable": true + }, + "createdOn": { + "type": "string", + "format": "date-time" + }, + "modifiedOn": { + "type": "string", + "format": "date-time" + }, + "createdBy": { + "type": "string" + }, + "modifiedBy": { + "type": "string" + }, + "id": { + "type": "string" + }, + "fileUrl": { + "type": "string" + }, + "iconLink": { + "type": "string" + }, + "mimeType": { + "type": "string", + "maxLength": 200 + }, + "title": { + "type": "string", + "maxLength": 400 + }, + "eventId": { + "type": "string" + }, + "extId": { + "type": "string" + }, + "extMetadata": { + "type": "object" + } + }, + "additionalProperties": false, + "x-typescript-type": "Partial" + }, + "Attendee": { + "title": "Attendee", + "type": "object", + "properties": { + "deleted": { + "type": "boolean" + }, + "deletedOn": { + "type": "string", + "format": "date-time", + "nullable": true + }, + "deletedBy": { + "type": "string", + "nullable": true + }, + "createdOn": { + "type": "string", + "format": "date-time" + }, + "modifiedOn": { + "type": "string", + "format": "date-time" + }, + "createdBy": { + "type": "string" + }, + "modifiedBy": { + "type": "string" + }, + "id": { + "type": "string" + }, + "identifier": { + "type": "string", + "maxLength": 200 + }, + "isOptional": { + "type": "boolean" + }, + "isOrganizer": { + "type": "boolean" + }, + "messages": { + "type": "string" + }, + "responseStatus": { + "type": "string", + "enum": [ + "needsAction", + "tentative", + "accepted", + "declined" + ] + }, + "eventId": { + "type": "string" + }, + "extId": { + "type": "string" + }, + "extMetadata": { + "type": "object" + } + }, + "required": [ + "identifier", + "eventId" + ], + "additionalProperties": false + }, + "NewAttendee": { + "title": "NewAttendee", + "type": "object", + "description": "(tsType: Omit, schemaOptions: { title: 'NewAttendee', exclude: [ 'id' ] })", + "properties": { + "deleted": { + "type": "boolean" + }, + "deletedOn": { + "type": "string", + "format": "date-time", + "nullable": true + }, + "deletedBy": { + "type": "string", + "nullable": true + }, + "createdOn": { + "type": "string", + "format": "date-time" + }, + "modifiedOn": { + "type": "string", + "format": "date-time" + }, + "createdBy": { + "type": "string" + }, + "modifiedBy": { + "type": "string" + }, + "identifier": { + "type": "string", + "maxLength": 200 + }, + "isOptional": { + "type": "boolean" + }, + "isOrganizer": { + "type": "boolean" + }, + "messages": { + "type": "string" + }, + "responseStatus": { + "type": "string", + "enum": [ + "needsAction", + "tentative", + "accepted", + "declined" + ] + }, + "eventId": { + "type": "string" + }, + "extId": { + "type": "string" + }, + "extMetadata": { + "type": "object" + } + }, + "required": [ + "identifier", + "eventId" + ], + "additionalProperties": false, + "x-typescript-type": "Omit" + }, + "AttendeePartial": { + "title": "AttendeePartial", + "type": "object", + "description": "(tsType: Partial, schemaOptions: { partial: true })", + "properties": { + "deleted": { + "type": "boolean" + }, + "deletedOn": { + "type": "string", + "format": "date-time", + "nullable": true + }, + "deletedBy": { + "type": "string", + "nullable": true + }, + "createdOn": { + "type": "string", + "format": "date-time" + }, + "modifiedOn": { + "type": "string", + "format": "date-time" + }, + "createdBy": { + "type": "string" + }, + "modifiedBy": { + "type": "string" + }, + "id": { + "type": "string" + }, + "identifier": { + "type": "string", + "maxLength": 200 + }, + "isOptional": { + "type": "boolean" + }, + "isOrganizer": { + "type": "boolean" + }, + "messages": { + "type": "string" + }, + "responseStatus": { + "type": "string", + "enum": [ + "needsAction", + "tentative", + "accepted", + "declined" + ] + }, + "eventId": { + "type": "string" + }, + "extId": { + "type": "string" + }, + "extMetadata": { + "type": "object" + } + }, + "additionalProperties": false, + "x-typescript-type": "Partial" + }, + "Calendar": { + "title": "Calendar", + "type": "object", + "properties": { + "deleted": { + "type": "boolean" + }, + "deletedOn": { + "type": "string", + "format": "date-time", + "nullable": true + }, + "deletedBy": { + "type": "string", + "nullable": true + }, + "createdOn": { + "type": "string", + "format": "date-time" + }, + "modifiedOn": { + "type": "string", + "format": "date-time" + }, + "createdBy": { + "type": "string" + }, + "modifiedBy": { + "type": "string" + }, + "id": { + "type": "string" + }, + "source": { + "type": "string" + }, + "enableWorkingHours": { + "type": "boolean" + }, + "location": { + "type": "string", + "maxLength": 300 + }, + "identifier": { + "type": "string", + "maxLength": 200 + }, + "summary": { + "type": "string", + "maxLength": 100 + }, + "timezone": { + "type": "string", + "maxLength": 120 + }, + "extId": { + "type": "string" + }, + "extMetadata": { + "type": "object" + } + }, + "required": [ + "identifier" + ], + "additionalProperties": false + }, + "WorkingHourExcluding_id_": { + "title": "WorkingHourExcluding_id_", + "type": "object", + "description": "(tsType: Omit, schemaOptions: { exclude: [ 'id' ] })", + "properties": { + "deleted": { + "type": "boolean" + }, + "deletedOn": { + "type": "string", + "format": "date-time", + "nullable": true + }, + "deletedBy": { + "type": "string", + "nullable": true + }, + "createdOn": { + "type": "string", + "format": "date-time" + }, + "modifiedOn": { + "type": "string", + "format": "date-time" + }, + "createdBy": { + "type": "string" + }, + "modifiedBy": { + "type": "string" + }, + "dayOfWeek": { + "type": "number", + "enum": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6 + ] + }, + "end": { + "type": "string" + }, + "start": { + "type": "string" + }, + "calendarId": { + "type": "string" + }, + "extId": { + "type": "string" + }, + "extMetadata": { + "type": "object" + } + }, + "required": [ + "calendarId" + ], + "additionalProperties": false, + "x-typescript-type": "Omit" + }, + "NewCalendar": { + "title": "NewCalendar", + "type": "object", + "description": "(tsType: Omit, schemaOptions: { title: 'NewCalendar', exclude: [ 'id' ] })", + "properties": { + "source": { + "type": "string" + }, + "enableWorkingHours": { + "type": "boolean" + }, + "location": { + "type": "string", + "maxLength": 300 + }, + "identifier": { + "type": "string", + "maxLength": 200 + }, + "summary": { + "type": "string", + "maxLength": 100 + }, + "timezone": { + "type": "string", + "maxLength": 120 + }, + "extId": { + "type": "string" + }, + "extMetadata": { + "type": "object" + }, + "workingHours": { + "type": "array", + "items": { + "$ref": "#/components/schemas/WorkingHourExcluding_id_" + } + }, + "subscription": { + "type": "object" + } + }, + "required": [ + "identifier" + ], + "additionalProperties": false, + "x-typescript-type": "Omit" + }, + "WorkingHour": { + "title": "WorkingHour", + "type": "object", + "properties": { + "deleted": { + "type": "boolean" + }, + "deletedOn": { + "type": "string", + "format": "date-time", + "nullable": true + }, + "deletedBy": { + "type": "string", + "nullable": true + }, + "createdOn": { + "type": "string", + "format": "date-time" + }, + "modifiedOn": { + "type": "string", + "format": "date-time" + }, + "createdBy": { + "type": "string" + }, + "modifiedBy": { + "type": "string" + }, + "id": { + "type": "string" + }, + "dayOfWeek": { + "type": "number", + "enum": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6 + ] + }, + "end": { + "type": "string" + }, + "start": { + "type": "string" + }, + "calendarId": { + "type": "string" + }, + "extId": { + "type": "string" + }, + "extMetadata": { + "type": "object" + } + }, + "required": [ + "calendarId" + ], + "additionalProperties": false + }, + "CalendarDTO": { + "title": "CalendarDTO", + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "source": { + "type": "string" + }, + "enableWorkingHours": { + "type": "boolean" + }, + "location": { + "type": "string", + "maxLength": 300 + }, + "identifier": { + "type": "string", + "maxLength": 200 + }, + "summary": { + "type": "string", + "maxLength": 100 + }, + "timezone": { + "type": "string", + "maxLength": 120 + }, + "extId": { + "type": "string" + }, + "extMetadata": { + "type": "object" + }, + "workingHours": { + "type": "array", + "items": { + "$ref": "#/components/schemas/WorkingHour" + } + }, + "subscription": { + "type": "object" + } + }, + "required": [ + "identifier" + ], + "additionalProperties": false + }, + "CalendarWithRelations": { + "title": "CalendarWithRelations", + "type": "object", + "description": "(tsType: CalendarWithRelations, schemaOptions: { includeRelations: true })", + "properties": { + "deleted": { + "type": "boolean" + }, + "deletedOn": { + "type": "string", + "format": "date-time", + "nullable": true + }, + "deletedBy": { + "type": "string", + "nullable": true + }, + "createdOn": { + "type": "string", + "format": "date-time" + }, + "modifiedOn": { + "type": "string", + "format": "date-time" + }, + "createdBy": { + "type": "string" + }, + "modifiedBy": { + "type": "string" + }, + "id": { + "type": "string" + }, + "source": { + "type": "string" + }, + "enableWorkingHours": { + "type": "boolean" + }, + "location": { + "type": "string", + "maxLength": 300 + }, + "identifier": { + "type": "string", + "maxLength": 200 + }, + "summary": { + "type": "string", + "maxLength": 100 + }, + "timezone": { + "type": "string", + "maxLength": 120 + }, + "extId": { + "type": "string" + }, + "extMetadata": { + "type": "object" + }, + "events": { + "type": "array", + "items": { + "$ref": "#/components/schemas/EventWithRelations" + } + }, + "workingHours": { + "type": "array", + "items": { + "$ref": "#/components/schemas/WorkingHourWithRelations" + } + }, + "subscriptions": { + "type": "array", + "items": { + "$ref": "#/components/schemas/SubscriptionWithRelations" + } + } + }, + "required": [ + "identifier" + ], + "additionalProperties": false, + "x-typescript-type": "CalendarWithRelations" + }, + "CalendarPartial": { + "title": "CalendarPartial", + "type": "object", + "description": "(tsType: Partial, schemaOptions: { partial: true })", + "properties": { + "deleted": { + "type": "boolean" + }, + "deletedOn": { + "type": "string", + "format": "date-time", + "nullable": true + }, + "deletedBy": { + "type": "string", + "nullable": true + }, + "createdOn": { + "type": "string", + "format": "date-time" + }, + "modifiedOn": { + "type": "string", + "format": "date-time" + }, + "createdBy": { + "type": "string" + }, + "modifiedBy": { + "type": "string" + }, + "id": { + "type": "string" + }, + "source": { + "type": "string" + }, + "enableWorkingHours": { + "type": "boolean" + }, + "location": { + "type": "string", + "maxLength": 300 + }, + "identifier": { + "type": "string", + "maxLength": 200 + }, + "summary": { + "type": "string", + "maxLength": 100 + }, + "timezone": { + "type": "string", + "maxLength": 120 + }, + "extId": { + "type": "string" + }, + "extMetadata": { + "type": "object" + } + }, + "additionalProperties": false, + "x-typescript-type": "Partial" + }, + "Event": { + "title": "Event", + "type": "object", + "properties": { + "deleted": { + "type": "boolean" + }, + "deletedOn": { + "type": "string", + "format": "date-time", + "nullable": true + }, + "deletedBy": { + "type": "string", + "nullable": true + }, + "createdOn": { + "type": "string", + "format": "date-time" + }, + "modifiedOn": { + "type": "string", + "format": "date-time" + }, + "createdBy": { + "type": "string" + }, + "modifiedBy": { + "type": "string" + }, + "id": { + "type": "string" + }, + "bgColor": { + "type": "string" + }, + "description": { + "type": "string" + }, + "endDateTime": { + "type": "string", + "format": "date-time" + }, + "fgColor": { + "type": "string" + }, + "iCalUid": { + "type": "string" + }, + "isFullDayEvent": { + "type": "boolean" + }, + "isLocked": { + "type": "boolean" + }, + "link": { + "type": "string" + }, + "location": { + "type": "string", + "maxLength": 300 + }, + "meetingLink": { + "type": "string" + }, + "identifier": { + "type": "string", + "maxLength": 200 + }, + "startDateTime": { + "type": "string", + "format": "date-time" + }, + "status": { + "type": "string", + "enum": [ + "confirmed", + "tentative", + "cancelled", + "completed" + ] + }, + "summary": { + "type": "string" + }, + "timezone": { + "type": "string" + }, + "calendarId": { + "type": "string" + }, + "parentEventId": { + "type": "string" + }, + "extId": { + "type": "string" + }, + "extMetadata": { + "type": "object" + } + }, + "required": [ + "calendarId" + ], + "additionalProperties": false + }, + "AttachmentExcluding_id_": { + "title": "AttachmentExcluding_id_", + "type": "object", + "description": "(tsType: Omit, schemaOptions: { exclude: [ 'id' ] })", + "properties": { + "deleted": { + "type": "boolean" + }, + "deletedOn": { + "type": "string", + "format": "date-time", + "nullable": true + }, + "deletedBy": { + "type": "string", + "nullable": true + }, + "createdOn": { + "type": "string", + "format": "date-time" + }, + "modifiedOn": { + "type": "string", + "format": "date-time" + }, + "createdBy": { + "type": "string" + }, + "modifiedBy": { + "type": "string" + }, + "fileUrl": { + "type": "string" + }, + "iconLink": { + "type": "string" + }, + "mimeType": { + "type": "string", + "maxLength": 200 + }, + "title": { + "type": "string", + "maxLength": 400 + }, + "eventId": { + "type": "string" + }, + "extId": { + "type": "string" + }, + "extMetadata": { + "type": "object" + } + }, + "required": [ + "fileUrl", + "eventId" + ], + "additionalProperties": false, + "x-typescript-type": "Omit" + }, + "AttendeeExcluding_id_": { + "title": "AttendeeExcluding_id_", + "type": "object", + "description": "(tsType: Omit, schemaOptions: { exclude: [ 'id' ] })", + "properties": { + "deleted": { + "type": "boolean" + }, + "deletedOn": { + "type": "string", + "format": "date-time", + "nullable": true + }, + "deletedBy": { + "type": "string", + "nullable": true + }, + "createdOn": { + "type": "string", + "format": "date-time" + }, + "modifiedOn": { + "type": "string", + "format": "date-time" + }, + "createdBy": { + "type": "string" + }, + "modifiedBy": { + "type": "string" + }, + "identifier": { + "type": "string", + "maxLength": 200 + }, + "isOptional": { + "type": "boolean" + }, + "isOrganizer": { + "type": "boolean" + }, + "messages": { + "type": "string" + }, + "responseStatus": { + "type": "string", + "enum": [ + "needsAction", + "tentative", + "accepted", + "declined" + ] + }, + "eventId": { + "type": "string" + }, + "extId": { + "type": "string" + }, + "extMetadata": { + "type": "object" + } + }, + "required": [ + "identifier", + "eventId" + ], + "additionalProperties": false, + "x-typescript-type": "Omit" + }, + "NewEvent": { + "title": "NewEvent", + "type": "object", + "description": "(tsType: Omit, schemaOptions: { title: 'NewEvent', exclude: [ 'id' ] })", + "properties": { + "bgColor": { + "type": "string" + }, + "description": { + "type": "string" + }, + "endDateTime": { + "type": "string", + "format": "date-time" + }, + "fgColor": { + "type": "string" + }, + "iCalUid": { + "type": "string" + }, + "isFullDayEvent": { + "type": "boolean" + }, + "isLocked": { + "type": "boolean" + }, + "link": { + "type": "string" + }, + "location": { + "type": "string", + "maxLength": 300 + }, + "meetingLink": { + "type": "string" + }, + "identifier": { + "type": "string", + "maxLength": 200 + }, + "startDateTime": { + "type": "string", + "format": "date-time" + }, + "status": { + "type": "string", + "enum": [ + "confirmed", + "tentative", + "cancelled", + "completed" + ] + }, + "summary": { + "type": "string" + }, + "timezone": { + "type": "string" + }, + "calendarId": { + "type": "string" + }, + "parentEventId": { + "type": "string" + }, + "attachments": { + "type": "array", + "items": { + "$ref": "#/components/schemas/AttachmentExcluding_id_" + } + }, + "attendees": { + "type": "array", + "items": { + "$ref": "#/components/schemas/AttendeeExcluding_id_" + } + }, + "extId": { + "type": "string" + }, + "extMetadata": { + "type": "object" + } + }, + "required": [ + "calendarId" + ], + "additionalProperties": false, + "x-typescript-type": "Omit" + }, + "EventAttendeeViewItemDTO": { + "title": "EventAttendeeViewItemDTO", + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "bgColor": { + "type": "string" + }, + "description": { + "type": "string" + }, + "endDateTime": { + "type": "string", + "format": "date-time" + }, + "extId": { + "type": "string" + }, + "extMetadata": { + "type": "object" + }, + "fgColor": { + "type": "string" + }, + "iCalUid": { + "type": "string" + }, + "isFullDayEvent": { + "type": "boolean" + }, + "isLocked": { + "type": "boolean" + }, + "link": { + "type": "string" + }, + "location": { + "type": "string", + "maxLength": 300 + }, + "meetingLink": { + "type": "string" + }, + "identifier": { + "type": "string", + "maxLength": 200 + }, + "startDateTime": { + "type": "string", + "format": "date-time" + }, + "status": { + "type": "string", + "enum": [ + "confirmed", + "tentative", + "cancelled", + "completed" + ] + }, + "summary": { + "type": "string" + }, + "timezone": { + "type": "string" + }, + "attendeeId": { + "type": "string" + }, + "isOptional": { + "type": "boolean" + }, + "attendeeIdentifier": { + "type": "string" + }, + "isOrganizer": { + "type": "boolean" + }, + "messages": { + "type": "string" + }, + "eventId": { + "type": "string" + } + }, + "additionalProperties": false + }, + "FreeBusyRequest": { + "title": "FreeBusyRequest", + "type": "object", + "description": "(tsType: FreeBusyDTO, schemaOptions: { title: 'FreeBusyRequest' })", + "properties": { + "timeMax": { + "type": "string", + "format": "date-time" + }, + "timeMin": { + "type": "string", + "format": "date-time" + }, + "items": { + "type": "array", + "items": { + "$ref": "#/components/schemas/EventAttendeeViewItemDTO" + } + } + }, + "required": [ + "timeMax", + "timeMin" + ], + "additionalProperties": false, + "x-typescript-type": "FreeBusyDTO" + }, + "FreeBusyDTO": { + "title": "FreeBusyDTO", + "type": "object", + "properties": { + "timeMax": { + "type": "string", + "format": "date-time" + }, + "timeMin": { + "type": "string", + "format": "date-time" + }, + "items": { + "type": "array", + "items": { + "$ref": "#/components/schemas/EventAttendeeViewItemDTO" + } + } + }, + "required": [ + "timeMax", + "timeMin" + ], + "additionalProperties": false + }, + "EventPartial": { + "title": "EventPartial", + "type": "object", + "description": "(tsType: Partial, schemaOptions: { partial: true })", + "properties": { + "deleted": { + "type": "boolean" + }, + "deletedOn": { + "type": "string", + "format": "date-time", + "nullable": true + }, + "deletedBy": { + "type": "string", + "nullable": true + }, + "createdOn": { + "type": "string", + "format": "date-time" + }, + "modifiedOn": { + "type": "string", + "format": "date-time" + }, + "createdBy": { + "type": "string" + }, + "modifiedBy": { + "type": "string" + }, + "id": { + "type": "string" + }, + "bgColor": { + "type": "string" + }, + "description": { + "type": "string" + }, + "endDateTime": { + "type": "string", + "format": "date-time" + }, + "fgColor": { + "type": "string" + }, + "iCalUid": { + "type": "string" + }, + "isFullDayEvent": { + "type": "boolean" + }, + "isLocked": { + "type": "boolean" + }, + "link": { + "type": "string" + }, + "location": { + "type": "string", + "maxLength": 300 + }, + "meetingLink": { + "type": "string" + }, + "identifier": { + "type": "string", + "maxLength": 200 + }, + "startDateTime": { + "type": "string", + "format": "date-time" + }, + "status": { + "type": "string", + "enum": [ + "confirmed", + "tentative", + "cancelled", + "completed" + ] + }, + "summary": { + "type": "string" + }, + "timezone": { + "type": "string" + }, + "calendarId": { + "type": "string" + }, + "parentEventId": { + "type": "string" + }, + "extId": { + "type": "string" + }, + "extMetadata": { + "type": "object" + } + }, + "additionalProperties": false, + "x-typescript-type": "Partial" + }, + "Settings": { + "title": "Settings", + "type": "object", + "properties": { + "deleted": { + "type": "boolean" + }, + "deletedOn": { + "type": "string", + "format": "date-time", + "nullable": true + }, + "deletedBy": { + "type": "string", + "nullable": true + }, + "createdOn": { + "type": "string", + "format": "date-time" + }, + "modifiedOn": { + "type": "string", + "format": "date-time" + }, + "createdBy": { + "type": "string" + }, + "modifiedBy": { + "type": "string" + }, + "id": { + "type": "string" + }, + "ownerId": { + "type": "string", + "maxLength": 225 + }, + "ownerType": { + "type": "string", + "enum": [ + "global", + "user", + "calendar", + "event" + ] + }, + "settingName": { + "type": "string", + "maxLength": 225 + }, + "settingValue": { + "type": "string", + "maxLength": 1500 + }, + "extId": { + "type": "string" + }, + "extMetadata": { + "type": "object" + } + }, + "required": [ + "ownerId" + ], + "additionalProperties": false + }, + "NewSettings": { + "title": "NewSettings", + "type": "object", + "description": "(tsType: Omit, schemaOptions: { title: 'NewSettings', exclude: [ 'id' ] })", + "properties": { + "deleted": { + "type": "boolean" + }, + "deletedOn": { + "type": "string", + "format": "date-time", + "nullable": true + }, + "deletedBy": { + "type": "string", + "nullable": true + }, + "createdOn": { + "type": "string", + "format": "date-time" + }, + "modifiedOn": { + "type": "string", + "format": "date-time" + }, + "createdBy": { + "type": "string" + }, + "modifiedBy": { + "type": "string" + }, + "ownerId": { + "type": "string", + "maxLength": 225 + }, + "ownerType": { + "type": "string", + "enum": [ + "global", + "user", + "calendar", + "event" + ] + }, + "settingName": { + "type": "string", + "maxLength": 225 + }, + "settingValue": { + "type": "string", + "maxLength": 1500 + }, + "extId": { + "type": "string" + }, + "extMetadata": { + "type": "object" + } + }, + "required": [ + "ownerId" + ], + "additionalProperties": false, + "x-typescript-type": "Omit" + }, + "SettingsWithRelations": { + "title": "SettingsWithRelations", + "type": "object", + "description": "(tsType: SettingsWithRelations, schemaOptions: { includeRelations: true })", + "properties": { + "deleted": { + "type": "boolean" + }, + "deletedOn": { + "type": "string", + "format": "date-time", + "nullable": true + }, + "deletedBy": { + "type": "string", + "nullable": true + }, + "createdOn": { + "type": "string", + "format": "date-time" + }, + "modifiedOn": { + "type": "string", + "format": "date-time" + }, + "createdBy": { + "type": "string" + }, + "modifiedBy": { + "type": "string" + }, + "id": { + "type": "string" + }, + "ownerId": { + "type": "string", + "maxLength": 225 + }, + "ownerType": { + "type": "string", + "enum": [ + "global", + "user", + "calendar", + "event" + ] + }, + "settingName": { + "type": "string", + "maxLength": 225 + }, + "settingValue": { + "type": "string", + "maxLength": 1500 + }, + "extId": { + "type": "string" + }, + "extMetadata": { + "type": "object" + } + }, + "required": [ + "ownerId" + ], + "additionalProperties": false, + "x-typescript-type": "SettingsWithRelations" + }, + "SettingsPartial": { + "title": "SettingsPartial", + "type": "object", + "description": "(tsType: Partial, schemaOptions: { partial: true })", + "properties": { + "deleted": { + "type": "boolean" + }, + "deletedOn": { + "type": "string", + "format": "date-time", + "nullable": true + }, + "deletedBy": { + "type": "string", + "nullable": true + }, + "createdOn": { + "type": "string", + "format": "date-time" + }, + "modifiedOn": { + "type": "string", + "format": "date-time" + }, + "createdBy": { + "type": "string" + }, + "modifiedBy": { + "type": "string" + }, + "id": { + "type": "string" + }, + "ownerId": { + "type": "string", + "maxLength": 225 + }, + "ownerType": { + "type": "string", + "enum": [ + "global", + "user", + "calendar", + "event" + ] + }, + "settingName": { + "type": "string", + "maxLength": 225 + }, + "settingValue": { + "type": "string", + "maxLength": 1500 + }, + "extId": { + "type": "string" + }, + "extMetadata": { + "type": "object" + } + }, + "additionalProperties": false, + "x-typescript-type": "Partial" + }, + "Subscription": { + "title": "Subscription", + "type": "object", + "properties": { + "deleted": { + "type": "boolean" + }, + "deletedOn": { + "type": "string", + "format": "date-time", + "nullable": true + }, + "deletedBy": { + "type": "string", + "nullable": true + }, + "createdOn": { + "type": "string", + "format": "date-time" + }, + "modifiedOn": { + "type": "string", + "format": "date-time" + }, + "createdBy": { + "type": "string" + }, + "modifiedBy": { + "type": "string" + }, + "id": { + "type": "string" + }, + "accessRole": { + "type": "string", + "enum": [ + "freeBusyReader", + "reader", + "writer", + "owner" + ] + }, + "bgColor": { + "type": "string" + }, + "fgColor": { + "type": "string" + }, + "isHidden": { + "type": "boolean" + }, + "isPrimary": { + "type": "boolean" + }, + "identifier": { + "type": "string" + }, + "defaultReminders": { + "type": "object" + }, + "notificationSettings": { + "type": "object" + }, + "calendarId": { + "type": "string" + }, + "extId": { + "type": "string" + }, + "extMetadata": { + "type": "object" + } + }, + "required": [ + "identifier", + "calendarId" + ], + "additionalProperties": false + }, + "NewSubscription": { + "title": "NewSubscription", + "type": "object", + "description": "(tsType: Omit, schemaOptions: { title: 'NewSubscription', exclude: [ 'id' ] })", + "properties": { + "deleted": { + "type": "boolean" + }, + "deletedOn": { + "type": "string", + "format": "date-time", + "nullable": true + }, + "deletedBy": { + "type": "string", + "nullable": true + }, + "createdOn": { + "type": "string", + "format": "date-time" + }, + "modifiedOn": { + "type": "string", + "format": "date-time" + }, + "createdBy": { + "type": "string" + }, + "modifiedBy": { + "type": "string" + }, + "accessRole": { + "type": "string", + "enum": [ + "freeBusyReader", + "reader", + "writer", + "owner" + ] + }, + "bgColor": { + "type": "string" + }, + "fgColor": { + "type": "string" + }, + "isHidden": { + "type": "boolean" + }, + "isPrimary": { + "type": "boolean" + }, + "identifier": { + "type": "string" + }, + "defaultReminders": { + "type": "object" + }, + "notificationSettings": { + "type": "object" + }, + "calendarId": { + "type": "string" + }, + "extId": { + "type": "string" + }, + "extMetadata": { + "type": "object" + } + }, + "required": [ + "identifier", + "calendarId" + ], + "additionalProperties": false, + "x-typescript-type": "Omit" + }, + "SubscriptionWithRelations": { + "title": "SubscriptionWithRelations", + "type": "object", + "description": "(tsType: SubscriptionWithRelations, schemaOptions: { includeRelations: true })", + "properties": { + "deleted": { + "type": "boolean" + }, + "deletedOn": { + "type": "string", + "format": "date-time", + "nullable": true + }, + "deletedBy": { + "type": "string", + "nullable": true + }, + "createdOn": { + "type": "string", + "format": "date-time" + }, + "modifiedOn": { + "type": "string", + "format": "date-time" + }, + "createdBy": { + "type": "string" + }, + "modifiedBy": { + "type": "string" + }, + "id": { + "type": "string" + }, + "accessRole": { + "type": "string", + "enum": [ + "freeBusyReader", + "reader", + "writer", + "owner" + ] + }, + "bgColor": { + "type": "string" + }, + "fgColor": { + "type": "string" + }, + "isHidden": { + "type": "boolean" + }, + "isPrimary": { + "type": "boolean" + }, + "identifier": { + "type": "string" + }, + "defaultReminders": { + "type": "object" + }, + "notificationSettings": { + "type": "object" + }, + "calendarId": { + "type": "string" + }, + "extId": { + "type": "string" + }, + "extMetadata": { + "type": "object" + }, + "calendar": { + "$ref": "#/components/schemas/CalendarWithRelations" + } + }, + "required": [ + "identifier", + "calendarId" + ], + "additionalProperties": false, + "x-typescript-type": "SubscriptionWithRelations" + }, + "SubscriptionPartial": { + "title": "SubscriptionPartial", + "type": "object", + "description": "(tsType: Partial, schemaOptions: { partial: true })", + "properties": { + "deleted": { + "type": "boolean" + }, + "deletedOn": { + "type": "string", + "format": "date-time", + "nullable": true + }, + "deletedBy": { + "type": "string", + "nullable": true + }, + "createdOn": { + "type": "string", + "format": "date-time" + }, + "modifiedOn": { + "type": "string", + "format": "date-time" + }, + "createdBy": { + "type": "string" + }, + "modifiedBy": { + "type": "string" + }, + "id": { + "type": "string" + }, + "accessRole": { + "type": "string", + "enum": [ + "freeBusyReader", + "reader", + "writer", + "owner" + ] + }, + "bgColor": { + "type": "string" + }, + "fgColor": { + "type": "string" + }, + "isHidden": { + "type": "boolean" + }, + "isPrimary": { + "type": "boolean" + }, + "identifier": { + "type": "string" + }, + "defaultReminders": { + "type": "object" + }, + "notificationSettings": { + "type": "object" + }, + "calendarId": { + "type": "string" + }, + "extId": { + "type": "string" + }, + "extMetadata": { + "type": "object" + } + }, + "additionalProperties": false, + "x-typescript-type": "Partial" + }, + "Theme": { + "title": "Theme", + "type": "object", + "properties": { + "deleted": { + "type": "boolean" + }, + "deletedOn": { + "type": "string", + "format": "date-time", + "nullable": true + }, + "deletedBy": { + "type": "string", + "nullable": true + }, + "createdOn": { + "type": "string", + "format": "date-time" + }, + "modifiedOn": { + "type": "string", + "format": "date-time" + }, + "createdBy": { + "type": "string" + }, + "modifiedBy": { + "type": "string" + }, + "id": { + "type": "string" + }, + "calBg": { + "type": "string", + "maxLength": 200 + }, + "calFg": { + "type": "string", + "maxLength": 200 + }, + "eventBg": { + "type": "string", + "maxLength": 200 + }, + "eventFg": { + "type": "string", + "maxLength": 200 + }, + "extId": { + "type": "string" + }, + "extMetadata": { + "type": "object" + } + }, + "additionalProperties": false + }, + "NewTheme": { + "title": "NewTheme", + "type": "object", + "description": "(tsType: Omit, schemaOptions: { title: 'NewTheme', exclude: [ 'id' ] })", + "properties": { + "deleted": { + "type": "boolean" + }, + "deletedOn": { + "type": "string", + "format": "date-time", + "nullable": true + }, + "deletedBy": { + "type": "string", + "nullable": true + }, + "createdOn": { + "type": "string", + "format": "date-time" + }, + "modifiedOn": { + "type": "string", + "format": "date-time" + }, + "createdBy": { + "type": "string" + }, + "modifiedBy": { + "type": "string" + }, + "calBg": { + "type": "string", + "maxLength": 200 + }, + "calFg": { + "type": "string", + "maxLength": 200 + }, + "eventBg": { + "type": "string", + "maxLength": 200 + }, + "eventFg": { + "type": "string", + "maxLength": 200 + }, + "extId": { + "type": "string" + }, + "extMetadata": { + "type": "object" + } + }, + "additionalProperties": false, + "x-typescript-type": "Omit" + }, + "ThemeWithRelations": { + "title": "ThemeWithRelations", + "type": "object", + "description": "(tsType: ThemeWithRelations, schemaOptions: { includeRelations: true })", + "properties": { + "deleted": { + "type": "boolean" + }, + "deletedOn": { + "type": "string", + "format": "date-time", + "nullable": true + }, + "deletedBy": { + "type": "string", + "nullable": true + }, + "createdOn": { + "type": "string", + "format": "date-time" + }, + "modifiedOn": { + "type": "string", + "format": "date-time" + }, + "createdBy": { + "type": "string" + }, + "modifiedBy": { + "type": "string" + }, + "id": { + "type": "string" + }, + "calBg": { + "type": "string", + "maxLength": 200 + }, + "calFg": { + "type": "string", + "maxLength": 200 + }, + "eventBg": { + "type": "string", + "maxLength": 200 + }, + "eventFg": { + "type": "string", + "maxLength": 200 + }, + "extId": { + "type": "string" + }, + "extMetadata": { + "type": "object" + } + }, + "additionalProperties": false, + "x-typescript-type": "ThemeWithRelations" + }, + "ThemePartial": { + "title": "ThemePartial", + "type": "object", + "description": "(tsType: Partial, schemaOptions: { partial: true })", + "properties": { + "deleted": { + "type": "boolean" + }, + "deletedOn": { + "type": "string", + "format": "date-time", + "nullable": true + }, + "deletedBy": { + "type": "string", + "nullable": true + }, + "createdOn": { + "type": "string", + "format": "date-time" + }, + "modifiedOn": { + "type": "string", + "format": "date-time" + }, + "createdBy": { + "type": "string" + }, + "modifiedBy": { + "type": "string" + }, + "id": { + "type": "string" + }, + "calBg": { + "type": "string", + "maxLength": 200 + }, + "calFg": { + "type": "string", + "maxLength": 200 + }, + "eventBg": { + "type": "string", + "maxLength": 200 + }, + "eventFg": { + "type": "string", + "maxLength": 200 + }, + "extId": { + "type": "string" + }, + "extMetadata": { + "type": "object" + } + }, + "additionalProperties": false, + "x-typescript-type": "Partial" + }, + "NewWorkingHour": { + "title": "NewWorkingHour", + "type": "object", + "description": "(tsType: Omit, schemaOptions: { title: 'NewWorkingHour', exclude: [ 'id' ] })", + "properties": { + "deleted": { + "type": "boolean" + }, + "deletedOn": { + "type": "string", + "format": "date-time", + "nullable": true + }, + "deletedBy": { + "type": "string", + "nullable": true + }, + "createdOn": { + "type": "string", + "format": "date-time" + }, + "modifiedOn": { + "type": "string", + "format": "date-time" + }, + "createdBy": { + "type": "string" + }, + "modifiedBy": { + "type": "string" + }, + "dayOfWeek": { + "type": "number", + "enum": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6 + ] + }, + "end": { + "type": "string" + }, + "start": { + "type": "string" + }, + "calendarId": { + "type": "string" + }, + "extId": { + "type": "string" + }, + "extMetadata": { + "type": "object" + } + }, + "required": [ + "calendarId" + ], + "additionalProperties": false, + "x-typescript-type": "Omit" + }, + "WorkingHourWithRelations": { + "title": "WorkingHourWithRelations", + "type": "object", + "description": "(tsType: WorkingHourWithRelations, schemaOptions: { includeRelations: true })", + "properties": { + "deleted": { + "type": "boolean" + }, + "deletedOn": { + "type": "string", + "format": "date-time", + "nullable": true + }, + "deletedBy": { + "type": "string", + "nullable": true + }, + "createdOn": { + "type": "string", + "format": "date-time" + }, + "modifiedOn": { + "type": "string", + "format": "date-time" + }, + "createdBy": { + "type": "string" + }, + "modifiedBy": { + "type": "string" + }, + "id": { + "type": "string" + }, + "dayOfWeek": { + "type": "number", + "enum": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6 + ] + }, + "end": { + "type": "string" + }, + "start": { + "type": "string" + }, + "calendarId": { + "type": "string" + }, + "extId": { + "type": "string" + }, + "extMetadata": { + "type": "object" + }, + "calendar": { + "$ref": "#/components/schemas/CalendarWithRelations" + } + }, + "required": [ + "calendarId" + ], + "additionalProperties": false, + "x-typescript-type": "WorkingHourWithRelations" + }, + "WorkingHourPartial": { + "title": "WorkingHourPartial", + "type": "object", + "description": "(tsType: Partial, schemaOptions: { partial: true })", + "properties": { + "deleted": { + "type": "boolean" + }, + "deletedOn": { + "type": "string", + "format": "date-time", + "nullable": true + }, + "deletedBy": { + "type": "string", + "nullable": true + }, + "createdOn": { + "type": "string", + "format": "date-time" + }, + "modifiedOn": { + "type": "string", + "format": "date-time" + }, + "createdBy": { + "type": "string" + }, + "modifiedBy": { + "type": "string" + }, + "id": { + "type": "string" + }, + "dayOfWeek": { + "type": "number", + "enum": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6 + ] + }, + "end": { + "type": "string" + }, + "start": { + "type": "string" + }, + "calendarId": { + "type": "string" + }, + "extId": { + "type": "string" + }, + "extMetadata": { + "type": "object" + } + }, + "additionalProperties": false, + "x-typescript-type": "Partial" + }, + "Date": {}, + "NewEventInCalendar": { + "title": "NewEventInCalendar", + "type": "object", + "description": "(tsType: @loopback/repository-json-schema#Optional, 'calendarId'>, schemaOptions: { title: 'NewEventInCalendar', exclude: [ 'id' ], optional: [ 'calendarId' ] })", + "properties": { + "deleted": { + "type": "boolean" + }, + "deletedOn": { + "type": "string", + "format": "date-time", + "nullable": true + }, + "deletedBy": { + "type": "string", + "nullable": true + }, + "createdOn": { + "type": "string", + "format": "date-time" + }, + "modifiedOn": { + "type": "string", + "format": "date-time" + }, + "createdBy": { + "type": "string" + }, + "modifiedBy": { + "type": "string" + }, + "bgColor": { + "type": "string" + }, + "description": { + "type": "string" + }, + "endDateTime": { + "type": "string", + "format": "date-time" + }, + "fgColor": { + "type": "string" + }, + "iCalUid": { + "type": "string" + }, + "isFullDayEvent": { + "type": "boolean" + }, + "isLocked": { + "type": "boolean" + }, + "link": { + "type": "string" + }, + "location": { + "type": "string", + "maxLength": 300 + }, + "meetingLink": { + "type": "string" + }, + "identifier": { + "type": "string", + "maxLength": 200 + }, + "startDateTime": { + "type": "string", + "format": "date-time" + }, + "status": { + "type": "string", + "enum": [ + "confirmed", + "tentative", + "cancelled", + "completed" + ] + }, + "summary": { + "type": "string" + }, + "timezone": { + "type": "string" + }, + "calendarId": { + "type": "string" + }, + "parentEventId": { + "type": "string" + }, + "extId": { + "type": "string" + }, + "extMetadata": { + "type": "object" + } + }, + "additionalProperties": false, + "x-typescript-type": "@loopback/repository-json-schema#Optional, 'calendarId'>" + }, + "NewSubscriptionInCalendar": { + "title": "NewSubscriptionInCalendar", + "type": "object", + "description": "(tsType: @loopback/repository-json-schema#Optional, 'calendarId'>, schemaOptions: { title: 'NewSubscriptionInCalendar', exclude: [ 'id' ], optional: [ 'calendarId' ] })", + "properties": { + "deleted": { + "type": "boolean" + }, + "deletedOn": { + "type": "string", + "format": "date-time", + "nullable": true + }, + "deletedBy": { + "type": "string", + "nullable": true + }, + "createdOn": { + "type": "string", + "format": "date-time" + }, + "modifiedOn": { + "type": "string", + "format": "date-time" + }, + "createdBy": { + "type": "string" + }, + "modifiedBy": { + "type": "string" + }, + "accessRole": { + "type": "string", + "enum": [ + "freeBusyReader", + "reader", + "writer", + "owner" + ] + }, + "bgColor": { + "type": "string" + }, + "fgColor": { + "type": "string" + }, + "isHidden": { + "type": "boolean" + }, + "isPrimary": { + "type": "boolean" + }, + "identifier": { + "type": "string" + }, + "defaultReminders": { + "type": "object" + }, + "notificationSettings": { + "type": "object" + }, + "calendarId": { + "type": "string" + }, + "extId": { + "type": "string" + }, + "extMetadata": { + "type": "object" + } + }, + "required": [ + "identifier" + ], + "additionalProperties": false, + "x-typescript-type": "@loopback/repository-json-schema#Optional, 'calendarId'>" + }, + "NewWorkingHourInCalendar": { + "title": "NewWorkingHourInCalendar", + "type": "object", + "description": "(tsType: @loopback/repository-json-schema#Optional, 'calendarId'>, schemaOptions: { title: 'NewWorkingHourInCalendar', exclude: [ 'id' ], optional: [ 'calendarId' ] })", + "properties": { + "deleted": { + "type": "boolean" + }, + "deletedOn": { + "type": "string", + "format": "date-time", + "nullable": true + }, + "deletedBy": { + "type": "string", + "nullable": true + }, + "createdOn": { + "type": "string", + "format": "date-time" + }, + "modifiedOn": { + "type": "string", + "format": "date-time" + }, + "createdBy": { + "type": "string" + }, + "modifiedBy": { + "type": "string" + }, + "dayOfWeek": { + "type": "number", + "enum": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6 + ] + }, + "end": { + "type": "string" + }, + "start": { + "type": "string" + }, + "calendarId": { + "type": "string" + }, + "extId": { + "type": "string" + }, + "extMetadata": { + "type": "object" + } + }, + "additionalProperties": false, + "x-typescript-type": "@loopback/repository-json-schema#Optional, 'calendarId'>" + }, + "NewAttachmentInEvent": { + "title": "NewAttachmentInEvent", + "type": "object", + "description": "(tsType: @loopback/repository-json-schema#Optional, 'eventId'>, schemaOptions: { title: 'NewAttachmentInEvent', exclude: [ 'id' ], optional: [ 'eventId' ] })", + "properties": { + "deleted": { + "type": "boolean" + }, + "deletedOn": { + "type": "string", + "format": "date-time", + "nullable": true + }, + "deletedBy": { + "type": "string", + "nullable": true + }, + "createdOn": { + "type": "string", + "format": "date-time" + }, + "modifiedOn": { + "type": "string", + "format": "date-time" + }, + "createdBy": { + "type": "string" + }, + "modifiedBy": { + "type": "string" + }, + "fileUrl": { + "type": "string" + }, + "iconLink": { + "type": "string" + }, + "mimeType": { + "type": "string", + "maxLength": 200 + }, + "title": { + "type": "string", + "maxLength": 400 + }, + "eventId": { + "type": "string" + }, + "extId": { + "type": "string" + }, + "extMetadata": { + "type": "object" + } + }, + "required": [ + "fileUrl" + ], + "additionalProperties": false, + "x-typescript-type": "@loopback/repository-json-schema#Optional, 'eventId'>" + }, + "NewAttendeeInEvent": { + "title": "NewAttendeeInEvent", + "type": "object", + "description": "(tsType: @loopback/repository-json-schema#Optional, 'eventId'>, schemaOptions: { title: 'NewAttendeeInEvent', exclude: [ 'id' ], optional: [ 'eventId' ] })", + "properties": { + "deleted": { + "type": "boolean" + }, + "deletedOn": { + "type": "string", + "format": "date-time", + "nullable": true + }, + "deletedBy": { + "type": "string", + "nullable": true + }, + "createdOn": { + "type": "string", + "format": "date-time" + }, + "modifiedOn": { + "type": "string", + "format": "date-time" + }, + "createdBy": { + "type": "string" + }, + "modifiedBy": { + "type": "string" + }, + "identifier": { + "type": "string", + "maxLength": 200 + }, + "isOptional": { + "type": "boolean" + }, + "isOrganizer": { + "type": "boolean" + }, + "messages": { + "type": "string" + }, + "responseStatus": { + "type": "string", + "enum": [ + "needsAction", + "tentative", + "accepted", + "declined" + ] + }, + "eventId": { + "type": "string" + }, + "extId": { + "type": "string" + }, + "extMetadata": { + "type": "object" + } + }, + "required": [ + "identifier" + ], + "additionalProperties": false, + "x-typescript-type": "@loopback/repository-json-schema#Optional, 'eventId'>" + }, + "loopback.Count": { + "type": "object", + "title": "loopback.Count", + "x-typescript-type": "@loopback/repository#Count", + "properties": { + "count": { + "type": "number" + } + } + }, + "attachments.ScopeFilter": { + "properties": { + "offset": { + "type": "integer", + "minimum": 0 + }, + "limit": { + "type": "integer", + "minimum": 1, + "example": 100 + }, + "skip": { + "type": "integer", + "minimum": 0 + }, + "order": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "array", + "items": { + "type": "string" + } + } + ] + }, + "where": { + "type": "object", + "additionalProperties": true + }, + "fields": { + "oneOf": [ + { + "type": "object", + "properties": {}, + "additionalProperties": true + }, + { + "type": "array", + "items": { + "type": "string" + }, + "uniqueItems": true + } + ] + }, + "include": { + "type": "array", + "items": { + "type": "object", + "properties": {}, + "additionalProperties": true + } + } + }, + "additionalProperties": false, + "title": "attachments.ScopeFilter" + }, + "attachments.IncludeFilter.Items": { + "title": "attachments.IncludeFilter.Items", + "type": "object", + "properties": { + "relation": { + "type": "string" + }, + "scope": { + "$ref": "#/components/schemas/attachments.ScopeFilter" + } + } + }, + "attachments.Filter": { + "type": "object", + "title": "attachments.Filter", + "properties": { + "offset": { + "type": "integer", + "minimum": 0 + }, + "limit": { + "type": "integer", + "minimum": 1, + "example": 100 + }, + "skip": { + "type": "integer", + "minimum": 0 + }, + "order": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "array", + "items": { + "type": "string" + } + } + ] + }, + "fields": { + "oneOf": [ + { + "type": "object", + "properties": { + "deleted": { + "type": "boolean" + }, + "deletedOn": { + "type": "boolean" + }, + "deletedBy": { + "type": "boolean" + }, + "createdOn": { + "type": "boolean" + }, + "modifiedOn": { + "type": "boolean" + }, + "createdBy": { + "type": "boolean" + }, + "modifiedBy": { + "type": "boolean" + }, + "id": { + "type": "boolean" + }, + "fileUrl": { + "type": "boolean" + }, + "iconLink": { + "type": "boolean" + }, + "mimeType": { + "type": "boolean" + }, + "title": { + "type": "boolean" + }, + "eventId": { + "type": "boolean" + }, + "extId": { + "type": "boolean" + }, + "extMetadata": { + "type": "boolean" + } + }, + "additionalProperties": false + }, + { + "type": "array", + "items": { + "type": "string", + "enum": [ + "deleted", + "deletedOn", + "deletedBy", + "createdOn", + "modifiedOn", + "createdBy", + "modifiedBy", + "id", + "fileUrl", + "iconLink", + "mimeType", + "title", + "eventId", + "extId", + "extMetadata" + ], + "example": "deleted" + }, + "uniqueItems": true + } + ], + "title": "attachments.Fields" + }, + "include": { + "title": "attachments.IncludeFilter", + "type": "array", + "items": { + "anyOf": [ + { + "$ref": "#/components/schemas/attachments.IncludeFilter.Items" + }, + { + "type": "string" + } + ] + } + } + }, + "additionalProperties": false, + "x-typescript-type": "@loopback/repository#Filter" + }, + "attachments.Filter1": { + "type": "object", + "title": "attachments.Filter", + "properties": { + "offset": { + "type": "integer", + "minimum": 0 + }, + "limit": { + "type": "integer", + "minimum": 1, + "example": 100 + }, + "skip": { + "type": "integer", + "minimum": 0 + }, + "order": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "array", + "items": { + "type": "string" + } + } + ] + }, + "where": { + "title": "attachments.WhereFilter", + "type": "object", + "additionalProperties": true + }, + "fields": { + "oneOf": [ + { + "type": "object", + "properties": { + "deleted": { + "type": "boolean" + }, + "deletedOn": { + "type": "boolean" + }, + "deletedBy": { + "type": "boolean" + }, + "createdOn": { + "type": "boolean" + }, + "modifiedOn": { + "type": "boolean" + }, + "createdBy": { + "type": "boolean" + }, + "modifiedBy": { + "type": "boolean" + }, + "id": { + "type": "boolean" + }, + "fileUrl": { + "type": "boolean" + }, + "iconLink": { + "type": "boolean" + }, + "mimeType": { + "type": "boolean" + }, + "title": { + "type": "boolean" + }, + "eventId": { + "type": "boolean" + }, + "extId": { + "type": "boolean" + }, + "extMetadata": { + "type": "boolean" + } + }, + "additionalProperties": false + }, + { + "type": "array", + "items": { + "type": "string", + "enum": [ + "deleted", + "deletedOn", + "deletedBy", + "createdOn", + "modifiedOn", + "createdBy", + "modifiedBy", + "id", + "fileUrl", + "iconLink", + "mimeType", + "title", + "eventId", + "extId", + "extMetadata" + ], + "example": "deleted" + }, + "uniqueItems": true + } + ], + "title": "attachments.Fields" + }, + "include": { + "title": "attachments.IncludeFilter", + "type": "array", + "items": { + "anyOf": [ + { + "$ref": "#/components/schemas/attachments.IncludeFilter.Items" + }, + { + "type": "string" + } + ] + } + } + }, + "additionalProperties": false, + "x-typescript-type": "@loopback/repository#Filter" + }, + "attendees.ScopeFilter": { + "properties": { + "offset": { + "type": "integer", + "minimum": 0 + }, + "limit": { + "type": "integer", + "minimum": 1, + "example": 100 + }, + "skip": { + "type": "integer", + "minimum": 0 + }, + "order": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "array", + "items": { + "type": "string" + } + } + ] + }, + "where": { + "type": "object", + "additionalProperties": true + }, + "fields": { + "oneOf": [ + { + "type": "object", + "properties": {}, + "additionalProperties": true + }, + { + "type": "array", + "items": { + "type": "string" + }, + "uniqueItems": true + } + ] + }, + "include": { + "type": "array", + "items": { + "type": "object", + "properties": {}, + "additionalProperties": true + } + } + }, + "additionalProperties": false, + "title": "attendees.ScopeFilter" + }, + "attendees.IncludeFilter.Items": { + "title": "attendees.IncludeFilter.Items", + "type": "object", + "properties": { + "relation": { + "type": "string" + }, + "scope": { + "$ref": "#/components/schemas/attendees.ScopeFilter" + } + } + }, + "attendees.Filter": { + "type": "object", + "title": "attendees.Filter", + "properties": { + "offset": { + "type": "integer", + "minimum": 0 + }, + "limit": { + "type": "integer", + "minimum": 1, + "example": 100 + }, + "skip": { + "type": "integer", + "minimum": 0 + }, + "order": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "array", + "items": { + "type": "string" + } + } + ] + }, + "fields": { + "oneOf": [ + { + "type": "object", + "properties": { + "deleted": { + "type": "boolean" + }, + "deletedOn": { + "type": "boolean" + }, + "deletedBy": { + "type": "boolean" + }, + "createdOn": { + "type": "boolean" + }, + "modifiedOn": { + "type": "boolean" + }, + "createdBy": { + "type": "boolean" + }, + "modifiedBy": { + "type": "boolean" + }, + "id": { + "type": "boolean" + }, + "identifier": { + "type": "boolean" + }, + "isOptional": { + "type": "boolean" + }, + "isOrganizer": { + "type": "boolean" + }, + "messages": { + "type": "boolean" + }, + "responseStatus": { + "type": "boolean" + }, + "eventId": { + "type": "boolean" + }, + "extId": { + "type": "boolean" + }, + "extMetadata": { + "type": "boolean" + } + }, + "additionalProperties": false + }, + { + "type": "array", + "items": { + "type": "string", + "enum": [ + "deleted", + "deletedOn", + "deletedBy", + "createdOn", + "modifiedOn", + "createdBy", + "modifiedBy", + "id", + "identifier", + "isOptional", + "isOrganizer", + "messages", + "responseStatus", + "eventId", + "extId", + "extMetadata" + ], + "example": "deleted" + }, + "uniqueItems": true + } + ], + "title": "attendees.Fields" + }, + "include": { + "title": "attendees.IncludeFilter", + "type": "array", + "items": { + "anyOf": [ + { + "$ref": "#/components/schemas/attendees.IncludeFilter.Items" + }, + { + "type": "string" + } + ] + } + } + }, + "additionalProperties": false, + "x-typescript-type": "@loopback/repository#Filter" + }, + "attendees.Filter1": { + "type": "object", + "title": "attendees.Filter", + "properties": { + "offset": { + "type": "integer", + "minimum": 0 + }, + "limit": { + "type": "integer", + "minimum": 1, + "example": 100 + }, + "skip": { + "type": "integer", + "minimum": 0 + }, + "order": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "array", + "items": { + "type": "string" + } + } + ] + }, + "where": { + "title": "attendees.WhereFilter", + "type": "object", + "additionalProperties": true + }, + "fields": { + "oneOf": [ + { + "type": "object", + "properties": { + "deleted": { + "type": "boolean" + }, + "deletedOn": { + "type": "boolean" + }, + "deletedBy": { + "type": "boolean" + }, + "createdOn": { + "type": "boolean" + }, + "modifiedOn": { + "type": "boolean" + }, + "createdBy": { + "type": "boolean" + }, + "modifiedBy": { + "type": "boolean" + }, + "id": { + "type": "boolean" + }, + "identifier": { + "type": "boolean" + }, + "isOptional": { + "type": "boolean" + }, + "isOrganizer": { + "type": "boolean" + }, + "messages": { + "type": "boolean" + }, + "responseStatus": { + "type": "boolean" + }, + "eventId": { + "type": "boolean" + }, + "extId": { + "type": "boolean" + }, + "extMetadata": { + "type": "boolean" + } + }, + "additionalProperties": false + }, + { + "type": "array", + "items": { + "type": "string", + "enum": [ + "deleted", + "deletedOn", + "deletedBy", + "createdOn", + "modifiedOn", + "createdBy", + "modifiedBy", + "id", + "identifier", + "isOptional", + "isOrganizer", + "messages", + "responseStatus", + "eventId", + "extId", + "extMetadata" + ], + "example": "deleted" + }, + "uniqueItems": true + } + ], + "title": "attendees.Fields" + }, + "include": { + "title": "attendees.IncludeFilter", + "type": "array", + "items": { + "anyOf": [ + { + "$ref": "#/components/schemas/attendees.IncludeFilter.Items" + }, + { + "type": "string" + } + ] + } + } + }, + "additionalProperties": false, + "x-typescript-type": "@loopback/repository#Filter" + }, + "subscriptions.ScopeFilter": { + "properties": { + "offset": { + "type": "integer", + "minimum": 0 + }, + "limit": { + "type": "integer", + "minimum": 1, + "example": 100 + }, + "skip": { + "type": "integer", + "minimum": 0 + }, + "order": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "array", + "items": { + "type": "string" + } + } + ] + }, + "where": { + "type": "object", + "additionalProperties": true + }, + "fields": { + "oneOf": [ + { + "type": "object", + "properties": {}, + "additionalProperties": true + }, + { + "type": "array", + "items": { + "type": "string" + }, + "uniqueItems": true + } + ] + }, + "include": { + "type": "array", + "items": { + "type": "object", + "properties": {}, + "additionalProperties": true + } + } + }, + "additionalProperties": false, + "title": "subscriptions.ScopeFilter" + }, + "subscriptions.IncludeFilter.Items": { + "title": "subscriptions.IncludeFilter.Items", + "type": "object", + "properties": { + "relation": { + "type": "string" + }, + "scope": { + "$ref": "#/components/schemas/subscriptions.ScopeFilter" + } + } + }, + "subscriptions.Filter": { + "type": "object", + "title": "subscriptions.Filter", + "properties": { + "offset": { + "type": "integer", + "minimum": 0 + }, + "limit": { + "type": "integer", + "minimum": 1, + "example": 100 + }, + "skip": { + "type": "integer", + "minimum": 0 + }, + "order": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "array", + "items": { + "type": "string" + } + } + ] + }, + "where": { + "title": "subscriptions.WhereFilter", + "type": "object", + "additionalProperties": true + }, + "fields": { + "oneOf": [ + { + "type": "object", + "properties": { + "deleted": { + "type": "boolean" + }, + "deletedOn": { + "type": "boolean" + }, + "deletedBy": { + "type": "boolean" + }, + "createdOn": { + "type": "boolean" + }, + "modifiedOn": { + "type": "boolean" + }, + "createdBy": { + "type": "boolean" + }, + "modifiedBy": { + "type": "boolean" + }, + "id": { + "type": "boolean" + }, + "accessRole": { + "type": "boolean" + }, + "bgColor": { + "type": "boolean" + }, + "fgColor": { + "type": "boolean" + }, + "isHidden": { + "type": "boolean" + }, + "isPrimary": { + "type": "boolean" + }, + "identifier": { + "type": "boolean" + }, + "defaultReminders": { + "type": "boolean" + }, + "notificationSettings": { + "type": "boolean" + }, + "calendarId": { + "type": "boolean" + }, + "extId": { + "type": "boolean" + }, + "extMetadata": { + "type": "boolean" + } + }, + "additionalProperties": false + }, + { + "type": "array", + "items": { + "type": "string", + "enum": [ + "deleted", + "deletedOn", + "deletedBy", + "createdOn", + "modifiedOn", + "createdBy", + "modifiedBy", + "id", + "accessRole", + "bgColor", + "fgColor", + "isHidden", + "isPrimary", + "identifier", + "defaultReminders", + "notificationSettings", + "calendarId", + "extId", + "extMetadata" + ], + "example": "deleted" + }, + "uniqueItems": true + } + ], + "title": "subscriptions.Fields" + }, + "include": { + "title": "subscriptions.IncludeFilter", + "type": "array", + "items": { + "anyOf": [ + { + "$ref": "#/components/schemas/subscriptions.IncludeFilter.Items" + }, + { + "type": "string" + } + ] + } + } + }, + "additionalProperties": false, + "x-typescript-type": "@loopback/repository#Filter" + }, + "calendars.ScopeFilter": { + "properties": { + "offset": { + "type": "integer", + "minimum": 0 + }, + "limit": { + "type": "integer", + "minimum": 1, + "example": 100 + }, + "skip": { + "type": "integer", + "minimum": 0 + }, + "order": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "array", + "items": { + "type": "string" + } + } + ] + }, + "where": { + "type": "object", + "additionalProperties": true + }, + "fields": { + "oneOf": [ + { + "type": "object", + "properties": {}, + "additionalProperties": true + }, + { + "type": "array", + "items": { + "type": "string" + }, + "uniqueItems": true + } + ] + }, + "include": { + "type": "array", + "items": { + "type": "object", + "properties": {}, + "additionalProperties": true + } + } + }, + "additionalProperties": false, + "title": "calendars.ScopeFilter" + }, + "calendars.IncludeFilter.Items": { + "title": "calendars.IncludeFilter.Items", + "type": "object", + "properties": { + "relation": { + "type": "string" + }, + "scope": { + "$ref": "#/components/schemas/calendars.ScopeFilter" + } + } + }, + "calendars.Filter": { + "type": "object", + "title": "calendars.Filter", + "properties": { + "offset": { + "type": "integer", + "minimum": 0 + }, + "limit": { + "type": "integer", + "minimum": 1, + "example": 100 + }, + "skip": { + "type": "integer", + "minimum": 0 + }, + "order": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "array", + "items": { + "type": "string" + } + } + ] + }, + "fields": { + "oneOf": [ + { + "type": "object", + "properties": { + "deleted": { + "type": "boolean" + }, + "deletedOn": { + "type": "boolean" + }, + "deletedBy": { + "type": "boolean" + }, + "createdOn": { + "type": "boolean" + }, + "modifiedOn": { + "type": "boolean" + }, + "createdBy": { + "type": "boolean" + }, + "modifiedBy": { + "type": "boolean" + }, + "id": { + "type": "boolean" + }, + "source": { + "type": "boolean" + }, + "enableWorkingHours": { + "type": "boolean" + }, + "location": { + "type": "boolean" + }, + "identifier": { + "type": "boolean" + }, + "summary": { + "type": "boolean" + }, + "timezone": { + "type": "boolean" + }, + "extId": { + "type": "boolean" + }, + "extMetadata": { + "type": "boolean" + } + }, + "additionalProperties": false + }, + { + "type": "array", + "items": { + "type": "string", + "enum": [ + "deleted", + "deletedOn", + "deletedBy", + "createdOn", + "modifiedOn", + "createdBy", + "modifiedBy", + "id", + "source", + "enableWorkingHours", + "location", + "identifier", + "summary", + "timezone", + "extId", + "extMetadata" + ], + "example": "deleted" + }, + "uniqueItems": true + } + ], + "title": "calendars.Fields" + }, + "include": { + "title": "calendars.IncludeFilter", + "type": "array", + "items": { + "anyOf": [ + { + "$ref": "#/components/schemas/calendars.IncludeFilter.Items" + }, + { + "type": "string" + } + ] + } + } + }, + "additionalProperties": false, + "x-typescript-type": "@loopback/repository#Filter" + }, + "calendars.Filter1": { + "type": "object", + "title": "calendars.Filter", + "properties": { + "offset": { + "type": "integer", + "minimum": 0 + }, + "limit": { + "type": "integer", + "minimum": 1, + "example": 100 + }, + "skip": { + "type": "integer", + "minimum": 0 + }, + "order": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "array", + "items": { + "type": "string" + } + } + ] + }, + "where": { + "title": "calendars.WhereFilter", + "type": "object", + "additionalProperties": true + }, + "fields": { + "oneOf": [ + { + "type": "object", + "properties": { + "deleted": { + "type": "boolean" + }, + "deletedOn": { + "type": "boolean" + }, + "deletedBy": { + "type": "boolean" + }, + "createdOn": { + "type": "boolean" + }, + "modifiedOn": { + "type": "boolean" + }, + "createdBy": { + "type": "boolean" + }, + "modifiedBy": { + "type": "boolean" + }, + "id": { + "type": "boolean" + }, + "source": { + "type": "boolean" + }, + "enableWorkingHours": { + "type": "boolean" + }, + "location": { + "type": "boolean" + }, + "identifier": { + "type": "boolean" + }, + "summary": { + "type": "boolean" + }, + "timezone": { + "type": "boolean" + }, + "extId": { + "type": "boolean" + }, + "extMetadata": { + "type": "boolean" + } + }, + "additionalProperties": false + }, + { + "type": "array", + "items": { + "type": "string", + "enum": [ + "deleted", + "deletedOn", + "deletedBy", + "createdOn", + "modifiedOn", + "createdBy", + "modifiedBy", + "id", + "source", + "enableWorkingHours", + "location", + "identifier", + "summary", + "timezone", + "extId", + "extMetadata" + ], + "example": "deleted" + }, + "uniqueItems": true + } + ], + "title": "calendars.Fields" + }, + "include": { + "title": "calendars.IncludeFilter", + "type": "array", + "items": { + "anyOf": [ + { + "$ref": "#/components/schemas/calendars.IncludeFilter.Items" + }, + { + "type": "string" + } + ] + } + } + }, + "additionalProperties": false, + "x-typescript-type": "@loopback/repository#Filter" + }, + "events.ScopeFilter": { + "properties": { + "offset": { + "type": "integer", + "minimum": 0 + }, + "limit": { + "type": "integer", + "minimum": 1, + "example": 100 + }, + "skip": { + "type": "integer", + "minimum": 0 + }, + "order": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "array", + "items": { + "type": "string" + } + } + ] + }, + "where": { + "type": "object", + "additionalProperties": true + }, + "fields": { + "oneOf": [ + { + "type": "object", + "properties": {}, + "additionalProperties": true + }, + { + "type": "array", + "items": { + "type": "string" + }, + "uniqueItems": true + } + ] + }, + "include": { + "type": "array", + "items": { + "type": "object", + "properties": {}, + "additionalProperties": true + } + } + }, + "additionalProperties": false, + "title": "events.ScopeFilter" + }, + "events.IncludeFilter.Items": { + "title": "events.IncludeFilter.Items", + "type": "object", + "properties": { + "relation": { + "type": "string" + }, + "scope": { + "$ref": "#/components/schemas/events.ScopeFilter" + } + } + }, + "events.Filter": { + "type": "object", + "title": "events.Filter", + "properties": { + "offset": { + "type": "integer", + "minimum": 0 + }, + "limit": { + "type": "integer", + "minimum": 1, + "example": 100 + }, + "skip": { + "type": "integer", + "minimum": 0 + }, + "order": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "array", + "items": { + "type": "string" + } + } + ] + }, + "fields": { + "oneOf": [ + { + "type": "object", + "properties": { + "deleted": { + "type": "boolean" + }, + "deletedOn": { + "type": "boolean" + }, + "deletedBy": { + "type": "boolean" + }, + "createdOn": { + "type": "boolean" + }, + "modifiedOn": { + "type": "boolean" + }, + "createdBy": { + "type": "boolean" + }, + "modifiedBy": { + "type": "boolean" + }, + "id": { + "type": "boolean" + }, + "bgColor": { + "type": "boolean" + }, + "description": { + "type": "boolean" + }, + "endDateTime": { + "type": "boolean" + }, + "fgColor": { + "type": "boolean" + }, + "iCalUid": { + "type": "boolean" + }, + "isFullDayEvent": { + "type": "boolean" + }, + "isLocked": { + "type": "boolean" + }, + "link": { + "type": "boolean" + }, + "location": { + "type": "boolean" + }, + "meetingLink": { + "type": "boolean" + }, + "identifier": { + "type": "boolean" + }, + "startDateTime": { + "type": "boolean" + }, + "status": { + "type": "boolean" + }, + "summary": { + "type": "boolean" + }, + "timezone": { + "type": "boolean" + }, + "calendarId": { + "type": "boolean" + }, + "parentEventId": { + "type": "boolean" + }, + "extId": { + "type": "boolean" + }, + "extMetadata": { + "type": "boolean" + } + }, + "additionalProperties": false + }, + { + "type": "array", + "items": { + "type": "string", + "enum": [ + "deleted", + "deletedOn", + "deletedBy", + "createdOn", + "modifiedOn", + "createdBy", + "modifiedBy", + "id", + "bgColor", + "description", + "endDateTime", + "fgColor", + "iCalUid", + "isFullDayEvent", + "isLocked", + "link", + "location", + "meetingLink", + "identifier", + "startDateTime", + "status", + "summary", + "timezone", + "calendarId", + "parentEventId", + "extId", + "extMetadata" + ], + "example": "deleted" + }, + "uniqueItems": true + } + ], + "title": "events.Fields" + }, + "include": { + "title": "events.IncludeFilter", + "type": "array", + "items": { + "anyOf": [ + { + "$ref": "#/components/schemas/events.IncludeFilter.Items" + }, + { + "type": "string" + } + ] + } + } + }, + "additionalProperties": false, + "x-typescript-type": "@loopback/repository#Filter" + }, + "events_attendees_view.ScopeFilter": { + "properties": { + "offset": { + "type": "integer", + "minimum": 0 + }, + "limit": { + "type": "integer", + "minimum": 1, + "example": 100 + }, + "skip": { + "type": "integer", + "minimum": 0 + }, + "order": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "array", + "items": { + "type": "string" + } + } + ] + }, + "where": { + "type": "object", + "additionalProperties": true + }, + "fields": { + "oneOf": [ + { + "type": "object", + "properties": {}, + "additionalProperties": true + }, + { + "type": "array", + "items": { + "type": "string" + }, + "uniqueItems": true + } + ] + }, + "include": { + "type": "array", + "items": { + "type": "object", + "properties": {}, + "additionalProperties": true + } + } + }, + "additionalProperties": false, + "title": "events_attendees_view.ScopeFilter" + }, + "events_attendees_view.IncludeFilter.Items": { + "title": "events_attendees_view.IncludeFilter.Items", + "type": "object", + "properties": { + "relation": { + "type": "string" + }, + "scope": { + "$ref": "#/components/schemas/events_attendees_view.ScopeFilter" + } + } + }, + "events_attendees_view.Filter": { + "type": "object", + "title": "events_attendees_view.Filter", + "properties": { + "offset": { + "type": "integer", + "minimum": 0 + }, + "limit": { + "type": "integer", + "minimum": 1, + "example": 100 + }, + "skip": { + "type": "integer", + "minimum": 0 + }, + "order": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "array", + "items": { + "type": "string" + } + } + ] + }, + "where": { + "title": "events_attendees_view.WhereFilter", + "type": "object", + "additionalProperties": true + }, + "fields": { + "oneOf": [ + { + "type": "object", + "properties": { + "deleted": { + "type": "boolean" + }, + "deletedOn": { + "type": "boolean" + }, + "deletedBy": { + "type": "boolean" + }, + "createdOn": { + "type": "boolean" + }, + "modifiedOn": { + "type": "boolean" + }, + "createdBy": { + "type": "boolean" + }, + "modifiedBy": { + "type": "boolean" + }, + "id": { + "type": "boolean" + }, + "bgColor": { + "type": "boolean" + }, + "description": { + "type": "boolean" + }, + "endDateTime": { + "type": "boolean" + }, + "fgColor": { + "type": "boolean" + }, + "iCalUid": { + "type": "boolean" + }, + "isFullDayEvent": { + "type": "boolean" + }, + "isLocked": { + "type": "boolean" + }, + "link": { + "type": "boolean" + }, + "location": { + "type": "boolean" + }, + "meetingLink": { + "type": "boolean" + }, + "identifier": { + "type": "boolean" + }, + "startDateTime": { + "type": "boolean" + }, + "status": { + "type": "boolean" + }, + "summary": { + "type": "boolean" + }, + "timezone": { + "type": "boolean" + }, + "calendarId": { + "type": "boolean" + }, + "parentEventId": { + "type": "boolean" + }, + "extId": { + "type": "boolean" + }, + "extMetadata": { + "type": "boolean" + }, + "attendeeId": { + "type": "boolean" + }, + "isOptional": { + "type": "boolean" + }, + "attendeeIdentifier": { + "type": "boolean" + }, + "isOrganizer": { + "type": "boolean" + }, + "messages": { + "type": "boolean" + }, + "responseStatus": { + "type": "boolean" + }, + "eventId": { + "type": "boolean" + } + }, + "additionalProperties": false + }, + { + "type": "array", + "items": { + "type": "string", + "enum": [ + "deleted", + "deletedOn", + "deletedBy", + "createdOn", + "modifiedOn", + "createdBy", + "modifiedBy", + "id", + "bgColor", + "description", + "endDateTime", + "fgColor", + "iCalUid", + "isFullDayEvent", + "isLocked", + "link", + "location", + "meetingLink", + "identifier", + "startDateTime", + "status", + "summary", + "timezone", + "calendarId", + "parentEventId", + "extId", + "extMetadata", + "attendeeId", + "isOptional", + "attendeeIdentifier", + "isOrganizer", + "messages", + "responseStatus", + "eventId" + ], + "example": "deleted" + }, + "uniqueItems": true + } + ], + "title": "events_attendees_view.Fields" + }, + "include": { + "title": "events_attendees_view.IncludeFilter", + "type": "array", + "items": { + "anyOf": [ + { + "$ref": "#/components/schemas/events_attendees_view.IncludeFilter.Items" + }, + { + "type": "string" + } + ] + } + } + }, + "additionalProperties": false, + "x-typescript-type": "@loopback/repository#Filter" + }, + "settings.Filter": { + "type": "object", + "title": "settings.Filter", + "properties": { + "offset": { + "type": "integer", + "minimum": 0 + }, + "limit": { + "type": "integer", + "minimum": 1, + "example": 100 + }, + "skip": { + "type": "integer", + "minimum": 0 + }, + "order": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "array", + "items": { + "type": "string" + } + } + ] + }, + "fields": { + "oneOf": [ + { + "type": "object", + "properties": { + "deleted": { + "type": "boolean" + }, + "deletedOn": { + "type": "boolean" + }, + "deletedBy": { + "type": "boolean" + }, + "createdOn": { + "type": "boolean" + }, + "modifiedOn": { + "type": "boolean" + }, + "createdBy": { + "type": "boolean" + }, + "modifiedBy": { + "type": "boolean" + }, + "id": { + "type": "boolean" + }, + "ownerId": { + "type": "boolean" + }, + "ownerType": { + "type": "boolean" + }, + "settingName": { + "type": "boolean" + }, + "settingValue": { + "type": "boolean" + }, + "extId": { + "type": "boolean" + }, + "extMetadata": { + "type": "boolean" + } + }, + "additionalProperties": false + }, + { + "type": "array", + "items": { + "type": "string", + "enum": [ + "deleted", + "deletedOn", + "deletedBy", + "createdOn", + "modifiedOn", + "createdBy", + "modifiedBy", + "id", + "ownerId", + "ownerType", + "settingName", + "settingValue", + "extId", + "extMetadata" + ], + "example": "deleted" + }, + "uniqueItems": true + } + ], + "title": "settings.Fields" + } + }, + "additionalProperties": false, + "x-typescript-type": "@loopback/repository#Filter" + }, + "settings.Filter1": { + "type": "object", + "title": "settings.Filter", + "properties": { + "offset": { + "type": "integer", + "minimum": 0 + }, + "limit": { + "type": "integer", + "minimum": 1, + "example": 100 + }, + "skip": { + "type": "integer", + "minimum": 0 + }, + "order": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "array", + "items": { + "type": "string" + } + } + ] + }, + "where": { + "title": "settings.WhereFilter", + "type": "object", + "additionalProperties": true + }, + "fields": { + "oneOf": [ + { + "type": "object", + "properties": { + "deleted": { + "type": "boolean" + }, + "deletedOn": { + "type": "boolean" + }, + "deletedBy": { + "type": "boolean" + }, + "createdOn": { + "type": "boolean" + }, + "modifiedOn": { + "type": "boolean" + }, + "createdBy": { + "type": "boolean" + }, + "modifiedBy": { + "type": "boolean" + }, + "id": { + "type": "boolean" + }, + "ownerId": { + "type": "boolean" + }, + "ownerType": { + "type": "boolean" + }, + "settingName": { + "type": "boolean" + }, + "settingValue": { + "type": "boolean" + }, + "extId": { + "type": "boolean" + }, + "extMetadata": { + "type": "boolean" + } + }, + "additionalProperties": false + }, + { + "type": "array", + "items": { + "type": "string", + "enum": [ + "deleted", + "deletedOn", + "deletedBy", + "createdOn", + "modifiedOn", + "createdBy", + "modifiedBy", + "id", + "ownerId", + "ownerType", + "settingName", + "settingValue", + "extId", + "extMetadata" + ], + "example": "deleted" + }, + "uniqueItems": true + } + ], + "title": "settings.Fields" + } + }, + "additionalProperties": false, + "x-typescript-type": "@loopback/repository#Filter" + }, + "subscriptions.Filter1": { + "type": "object", + "title": "subscriptions.Filter", + "properties": { + "offset": { + "type": "integer", + "minimum": 0 + }, + "limit": { + "type": "integer", + "minimum": 1, + "example": 100 + }, + "skip": { + "type": "integer", + "minimum": 0 + }, + "order": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "array", + "items": { + "type": "string" + } + } + ] + }, + "fields": { + "oneOf": [ + { + "type": "object", + "properties": { + "deleted": { + "type": "boolean" + }, + "deletedOn": { + "type": "boolean" + }, + "deletedBy": { + "type": "boolean" + }, + "createdOn": { + "type": "boolean" + }, + "modifiedOn": { + "type": "boolean" + }, + "createdBy": { + "type": "boolean" + }, + "modifiedBy": { + "type": "boolean" + }, + "id": { + "type": "boolean" + }, + "accessRole": { + "type": "boolean" + }, + "bgColor": { + "type": "boolean" + }, + "fgColor": { + "type": "boolean" + }, + "isHidden": { + "type": "boolean" + }, + "isPrimary": { + "type": "boolean" + }, + "identifier": { + "type": "boolean" + }, + "defaultReminders": { + "type": "boolean" + }, + "notificationSettings": { + "type": "boolean" + }, + "calendarId": { + "type": "boolean" + }, + "extId": { + "type": "boolean" + }, + "extMetadata": { + "type": "boolean" + } + }, + "additionalProperties": false + }, + { + "type": "array", + "items": { + "type": "string", + "enum": [ + "deleted", + "deletedOn", + "deletedBy", + "createdOn", + "modifiedOn", + "createdBy", + "modifiedBy", + "id", + "accessRole", + "bgColor", + "fgColor", + "isHidden", + "isPrimary", + "identifier", + "defaultReminders", + "notificationSettings", + "calendarId", + "extId", + "extMetadata" + ], + "example": "deleted" + }, + "uniqueItems": true + } + ], + "title": "subscriptions.Fields" + }, + "include": { + "title": "subscriptions.IncludeFilter", + "type": "array", + "items": { + "anyOf": [ + { + "$ref": "#/components/schemas/subscriptions.IncludeFilter.Items" + }, + { + "type": "string" + } + ] + } + } + }, + "additionalProperties": false, + "x-typescript-type": "@loopback/repository#Filter" + }, + "themes.Filter": { + "type": "object", + "title": "themes.Filter", + "properties": { + "offset": { + "type": "integer", + "minimum": 0 + }, + "limit": { + "type": "integer", + "minimum": 1, + "example": 100 + }, + "skip": { + "type": "integer", + "minimum": 0 + }, + "order": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "array", + "items": { + "type": "string" + } + } + ] + }, + "fields": { + "oneOf": [ + { + "type": "object", + "properties": { + "deleted": { + "type": "boolean" + }, + "deletedOn": { + "type": "boolean" + }, + "deletedBy": { + "type": "boolean" + }, + "createdOn": { + "type": "boolean" + }, + "modifiedOn": { + "type": "boolean" + }, + "createdBy": { + "type": "boolean" + }, + "modifiedBy": { + "type": "boolean" + }, + "id": { + "type": "boolean" + }, + "calBg": { + "type": "boolean" + }, + "calFg": { + "type": "boolean" + }, + "eventBg": { + "type": "boolean" + }, + "eventFg": { + "type": "boolean" + }, + "extId": { + "type": "boolean" + }, + "extMetadata": { + "type": "boolean" + } + }, + "additionalProperties": false + }, + { + "type": "array", + "items": { + "type": "string", + "enum": [ + "deleted", + "deletedOn", + "deletedBy", + "createdOn", + "modifiedOn", + "createdBy", + "modifiedBy", + "id", + "calBg", + "calFg", + "eventBg", + "eventFg", + "extId", + "extMetadata" + ], + "example": "deleted" + }, + "uniqueItems": true + } + ], + "title": "themes.Fields" + } + }, + "additionalProperties": false, + "x-typescript-type": "@loopback/repository#Filter" + }, + "themes.Filter1": { + "type": "object", + "title": "themes.Filter", + "properties": { + "offset": { + "type": "integer", + "minimum": 0 + }, + "limit": { + "type": "integer", + "minimum": 1, + "example": 100 + }, + "skip": { + "type": "integer", + "minimum": 0 + }, + "order": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "array", + "items": { + "type": "string" + } + } + ] + }, + "where": { + "title": "themes.WhereFilter", + "type": "object", + "additionalProperties": true + }, + "fields": { + "oneOf": [ + { + "type": "object", + "properties": { + "deleted": { + "type": "boolean" + }, + "deletedOn": { + "type": "boolean" + }, + "deletedBy": { + "type": "boolean" + }, + "createdOn": { + "type": "boolean" + }, + "modifiedOn": { + "type": "boolean" + }, + "createdBy": { + "type": "boolean" + }, + "modifiedBy": { + "type": "boolean" + }, + "id": { + "type": "boolean" + }, + "calBg": { + "type": "boolean" + }, + "calFg": { + "type": "boolean" + }, + "eventBg": { + "type": "boolean" + }, + "eventFg": { + "type": "boolean" + }, + "extId": { + "type": "boolean" + }, + "extMetadata": { + "type": "boolean" + } + }, + "additionalProperties": false + }, + { + "type": "array", + "items": { + "type": "string", + "enum": [ + "deleted", + "deletedOn", + "deletedBy", + "createdOn", + "modifiedOn", + "createdBy", + "modifiedBy", + "id", + "calBg", + "calFg", + "eventBg", + "eventFg", + "extId", + "extMetadata" + ], + "example": "deleted" + }, + "uniqueItems": true + } + ], + "title": "themes.Fields" + } + }, + "additionalProperties": false, + "x-typescript-type": "@loopback/repository#Filter" + }, + "working_hours.ScopeFilter": { + "properties": { + "offset": { + "type": "integer", + "minimum": 0 + }, + "limit": { + "type": "integer", + "minimum": 1, + "example": 100 + }, + "skip": { + "type": "integer", + "minimum": 0 + }, + "order": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "array", + "items": { + "type": "string" + } + } + ] + }, + "where": { + "type": "object", + "additionalProperties": true + }, + "fields": { + "oneOf": [ + { + "type": "object", + "properties": {}, + "additionalProperties": true + }, + { + "type": "array", + "items": { + "type": "string" + }, + "uniqueItems": true + } + ] + }, + "include": { + "type": "array", + "items": { + "type": "object", + "properties": {}, + "additionalProperties": true + } + } + }, + "additionalProperties": false, + "title": "working_hours.ScopeFilter" + }, + "working_hours.IncludeFilter.Items": { + "title": "working_hours.IncludeFilter.Items", + "type": "object", + "properties": { + "relation": { + "type": "string" + }, + "scope": { + "$ref": "#/components/schemas/working_hours.ScopeFilter" + } + } + }, + "working_hours.Filter": { + "type": "object", + "title": "working_hours.Filter", + "properties": { + "offset": { + "type": "integer", + "minimum": 0 + }, + "limit": { + "type": "integer", + "minimum": 1, + "example": 100 + }, + "skip": { + "type": "integer", + "minimum": 0 + }, + "order": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "array", + "items": { + "type": "string" + } + } + ] + }, + "fields": { + "oneOf": [ + { + "type": "object", + "properties": { + "deleted": { + "type": "boolean" + }, + "deletedOn": { + "type": "boolean" + }, + "deletedBy": { + "type": "boolean" + }, + "createdOn": { + "type": "boolean" + }, + "modifiedOn": { + "type": "boolean" + }, + "createdBy": { + "type": "boolean" + }, + "modifiedBy": { + "type": "boolean" + }, + "id": { + "type": "boolean" + }, + "dayOfWeek": { + "type": "boolean" + }, + "end": { + "type": "boolean" + }, + "start": { + "type": "boolean" + }, + "calendarId": { + "type": "boolean" + }, + "extId": { + "type": "boolean" + }, + "extMetadata": { + "type": "boolean" + } + }, + "additionalProperties": false + }, + { + "type": "array", + "items": { + "type": "string", + "enum": [ + "deleted", + "deletedOn", + "deletedBy", + "createdOn", + "modifiedOn", + "createdBy", + "modifiedBy", + "id", + "dayOfWeek", + "end", + "start", + "calendarId", + "extId", + "extMetadata" + ], + "example": "deleted" + }, + "uniqueItems": true + } + ], + "title": "working_hours.Fields" + }, + "include": { + "title": "working_hours.IncludeFilter", + "type": "array", + "items": { + "anyOf": [ + { + "$ref": "#/components/schemas/working_hours.IncludeFilter.Items" + }, + { + "type": "string" + } + ] + } + } + }, + "additionalProperties": false, + "x-typescript-type": "@loopback/repository#Filter" + }, + "working_hours.Filter1": { + "type": "object", + "title": "working_hours.Filter", + "properties": { + "offset": { + "type": "integer", + "minimum": 0 + }, + "limit": { + "type": "integer", + "minimum": 1, + "example": 100 + }, + "skip": { + "type": "integer", + "minimum": 0 + }, + "order": { + "oneOf": [ + { + "type": "string" + }, + { + "type": "array", + "items": { + "type": "string" + } + } + ] + }, + "where": { + "title": "working_hours.WhereFilter", + "type": "object", + "additionalProperties": true + }, + "fields": { + "oneOf": [ + { + "type": "object", + "properties": { + "deleted": { + "type": "boolean" + }, + "deletedOn": { + "type": "boolean" + }, + "deletedBy": { + "type": "boolean" + }, + "createdOn": { + "type": "boolean" + }, + "modifiedOn": { + "type": "boolean" + }, + "createdBy": { + "type": "boolean" + }, + "modifiedBy": { + "type": "boolean" + }, + "id": { + "type": "boolean" + }, + "dayOfWeek": { + "type": "boolean" + }, + "end": { + "type": "boolean" + }, + "start": { + "type": "boolean" + }, + "calendarId": { + "type": "boolean" + }, + "extId": { + "type": "boolean" + }, + "extMetadata": { + "type": "boolean" + } + }, + "additionalProperties": false + }, + { + "type": "array", + "items": { + "type": "string", + "enum": [ + "deleted", + "deletedOn", + "deletedBy", + "createdOn", + "modifiedOn", + "createdBy", + "modifiedBy", + "id", + "dayOfWeek", + "end", + "start", + "calendarId", + "extId", + "extMetadata" + ], + "example": "deleted" + }, + "uniqueItems": true + } + ], + "title": "working_hours.Fields" + }, + "include": { + "title": "working_hours.IncludeFilter", + "type": "array", + "items": { + "anyOf": [ + { + "$ref": "#/components/schemas/working_hours.IncludeFilter.Items" + }, + { + "type": "string" + } + ] + } + } + }, + "additionalProperties": false, + "x-typescript-type": "@loopback/repository#Filter" + } + } + }, + "servers": [ + { + "url": "/" + } + ] +} \ No newline at end of file diff --git a/services/scheduler-service/openapi.md b/services/scheduler-service/openapi.md new file mode 100644 index 0000000000..ebcd08c7ea --- /dev/null +++ b/services/scheduler-service/openapi.md @@ -0,0 +1,17712 @@ +--- +title: Scheduler Service v1.0.0 +language_tabs: + - "'javascript": JavaScript + - "'javascript--nodejs": Node.JS' +language_clients: + - "'javascript": request' + - "'javascript--nodejs": "" +toc_footers: [] +includes: [] +search: false +highlight_theme: darkula +headingLevel: 2 + +--- + + + +

Scheduler Service v1.0.0

+ +> Scroll down for code samples, example requests and responses. Select a language for code samples from the tabs above or the mobile navigation menu. + +services + +Base URLs: + +* / + +# Authentication + +- HTTP Authentication, scheme: bearer + +

AttachmentController

+ +## AttachmentController.count + + + +> Code samples + +```'javascript--nodejs +const fetch = require('node-fetch'); + +const headers = { + 'Accept':'application/json' +}; + +fetch('/attachments/count', +{ + method: 'GET', + + headers: headers +}) +.then(function(res) { + return res.json(); +}).then(function(body) { + console.log(body); +}); + +``` + +`GET /attachments/count` + +

Parameters

+ +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|where|query|object|false|none| + +> Example responses + +> 200 Response + +```json +{ + "count": 0 +} +``` + +

Responses

+ +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|Attachment model count|[loopback.Count](#schemaloopback.count)| + + + +## AttachmentController.replaceById + + + +> Code samples + +```'javascript--nodejs +const fetch = require('node-fetch'); +const inputBody = { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "fileUrl": "string", + "iconLink": "string", + "mimeType": "string", + "title": "string", + "eventId": "string", + "extId": "string", + "extMetadata": {} +}; +const headers = { + 'Content-Type':'application/json' +}; + +fetch('/attachments/{id}', +{ + method: 'PUT', + body: JSON.stringify(inputBody), + headers: headers +}) +.then(function(res) { + return res.json(); +}).then(function(body) { + console.log(body); +}); + +``` + +`PUT /attachments/{id}` + +> Body parameter + +```json +{ + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "fileUrl": "string", + "iconLink": "string", + "mimeType": "string", + "title": "string", + "eventId": "string", + "extId": "string", + "extMetadata": {} +} +``` + +

Parameters

+ +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|id|path|string|true|none| +|body|body|[Attachment](#schemaattachment)|false|none| + +

Responses

+ +|Status|Meaning|Description|Schema| +|---|---|---|---| +|204|[No Content](https://tools.ietf.org/html/rfc7231#section-6.3.5)|Attachment PUT success|None| + + + +## AttachmentController.updateById + + + +> Code samples + +```'javascript--nodejs +const fetch = require('node-fetch'); +const inputBody = { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "fileUrl": "string", + "iconLink": "string", + "mimeType": "string", + "title": "string", + "eventId": "string", + "extId": "string", + "extMetadata": {} +}; +const headers = { + 'Content-Type':'application/json' +}; + +fetch('/attachments/{id}', +{ + method: 'PATCH', + body: JSON.stringify(inputBody), + headers: headers +}) +.then(function(res) { + return res.json(); +}).then(function(body) { + console.log(body); +}); + +``` + +`PATCH /attachments/{id}` + +> Body parameter + +```json +{ + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "fileUrl": "string", + "iconLink": "string", + "mimeType": "string", + "title": "string", + "eventId": "string", + "extId": "string", + "extMetadata": {} +} +``` + +

Parameters

+ +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|id|path|string|true|none| +|body|body|[AttachmentPartial](#schemaattachmentpartial)|false|none| + +

Responses

+ +|Status|Meaning|Description|Schema| +|---|---|---|---| +|204|[No Content](https://tools.ietf.org/html/rfc7231#section-6.3.5)|Attachment PATCH success|None| + + + +## AttachmentController.findById + + + +> Code samples + +```'javascript--nodejs +const fetch = require('node-fetch'); + +const headers = { + 'Accept':'application/json' +}; + +fetch('/attachments/{id}', +{ + method: 'GET', + + headers: headers +}) +.then(function(res) { + return res.json(); +}).then(function(body) { + console.log(body); +}); + +``` + +`GET /attachments/{id}` + +

Parameters

+ +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|id|path|string|true|none| +|filter|query|[attachments.Filter](#schemaattachments.filter)|false|none| + +> Example responses + +> 200 Response + +```json +{ + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "fileUrl": "string", + "iconLink": "string", + "mimeType": "string", + "title": "string", + "eventId": "string", + "extId": "string", + "extMetadata": {}, + "event": { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "bgColor": "string", + "description": "string", + "endDateTime": "2019-08-24T14:15:22Z", + "fgColor": "string", + "iCalUid": "string", + "isFullDayEvent": true, + "isLocked": true, + "link": "string", + "location": "string", + "meetingLink": "string", + "identifier": "string", + "startDateTime": "2019-08-24T14:15:22Z", + "status": "confirmed", + "summary": "string", + "timezone": "string", + "calendarId": "string", + "parentEventId": "string", + "extId": "string", + "extMetadata": {}, + "calendar": { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "source": "string", + "enableWorkingHours": true, + "location": "string", + "identifier": "string", + "summary": "string", + "timezone": "string", + "extId": "string", + "extMetadata": {}, + "events": [ + {} + ], + "workingHours": [ + { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "dayOfWeek": 0, + "end": "string", + "start": "string", + "calendarId": "string", + "extId": "string", + "extMetadata": {}, + "calendar": {} + } + ], + "subscriptions": [ + { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "accessRole": "freeBusyReader", + "bgColor": "string", + "fgColor": "string", + "isHidden": true, + "isPrimary": true, + "identifier": "string", + "defaultReminders": {}, + "notificationSettings": {}, + "calendarId": "string", + "extId": "string", + "extMetadata": {}, + "calendar": {} + } + ] + }, + "parentEvent": {}, + "attendees": [ + { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "identifier": "string", + "isOptional": true, + "isOrganizer": true, + "messages": "string", + "responseStatus": "needsAction", + "eventId": "string", + "extId": "string", + "extMetadata": {}, + "event": {} + } + ], + "attachments": [ + { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "fileUrl": "string", + "iconLink": "string", + "mimeType": "string", + "title": "string", + "eventId": "string", + "extId": "string", + "extMetadata": {}, + "event": {} + } + ] + } +} +``` + +

Responses

+ +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|Attachment model instance|[AttachmentWithRelations](#schemaattachmentwithrelations)| + + + +## AttachmentController.deleteById + + + +> Code samples + +```'javascript--nodejs +const fetch = require('node-fetch'); + +fetch('/attachments/{id}', +{ + method: 'DELETE' + +}) +.then(function(res) { + return res.json(); +}).then(function(body) { + console.log(body); +}); + +``` + +`DELETE /attachments/{id}` + +

Parameters

+ +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|id|path|string|true|none| + +

Responses

+ +|Status|Meaning|Description|Schema| +|---|---|---|---| +|204|[No Content](https://tools.ietf.org/html/rfc7231#section-6.3.5)|Attachment DELETE success|None| + + + +## AttachmentController.create + + + +> Code samples + +```'javascript--nodejs +const fetch = require('node-fetch'); +const inputBody = { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "fileUrl": "string", + "iconLink": "string", + "mimeType": "string", + "title": "string", + "eventId": "string", + "extId": "string", + "extMetadata": {} +}; +const headers = { + 'Content-Type':'application/json', + 'Accept':'application/json' +}; + +fetch('/attachments', +{ + method: 'POST', + body: JSON.stringify(inputBody), + headers: headers +}) +.then(function(res) { + return res.json(); +}).then(function(body) { + console.log(body); +}); + +``` + +`POST /attachments` + +> Body parameter + +```json +{ + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "fileUrl": "string", + "iconLink": "string", + "mimeType": "string", + "title": "string", + "eventId": "string", + "extId": "string", + "extMetadata": {} +} +``` + +

Parameters

+ +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|body|body|[NewAttachment](#schemanewattachment)|false|none| + +> Example responses + +> 200 Response + +```json +{ + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "fileUrl": "string", + "iconLink": "string", + "mimeType": "string", + "title": "string", + "eventId": "string", + "extId": "string", + "extMetadata": {} +} +``` + +

Responses

+ +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|Attachment model instance|[Attachment](#schemaattachment)| + + + +## AttachmentController.updateAll + + + +> Code samples + +```'javascript--nodejs +const fetch = require('node-fetch'); +const inputBody = { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "fileUrl": "string", + "iconLink": "string", + "mimeType": "string", + "title": "string", + "eventId": "string", + "extId": "string", + "extMetadata": {} +}; +const headers = { + 'Content-Type':'application/json', + 'Accept':'application/json' +}; + +fetch('/attachments', +{ + method: 'PATCH', + body: JSON.stringify(inputBody), + headers: headers +}) +.then(function(res) { + return res.json(); +}).then(function(body) { + console.log(body); +}); + +``` + +`PATCH /attachments` + +> Body parameter + +```json +{ + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "fileUrl": "string", + "iconLink": "string", + "mimeType": "string", + "title": "string", + "eventId": "string", + "extId": "string", + "extMetadata": {} +} +``` + +

Parameters

+ +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|where|query|object|false|none| +|body|body|[AttachmentPartial](#schemaattachmentpartial)|false|none| + +> Example responses + +> 200 Response + +```json +{ + "count": 0 +} +``` + +

Responses

+ +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|Attachment PATCH success count|[loopback.Count](#schemaloopback.count)| + + + +## AttachmentController.find + + + +> Code samples + +```'javascript--nodejs +const fetch = require('node-fetch'); + +const headers = { + 'Accept':'application/json' +}; + +fetch('/attachments', +{ + method: 'GET', + + headers: headers +}) +.then(function(res) { + return res.json(); +}).then(function(body) { + console.log(body); +}); + +``` + +`GET /attachments` + +

Parameters

+ +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|filter|query|[attachments.Filter1](#schemaattachments.filter1)|false|none| + +> Example responses + +> 200 Response + +```json +[ + { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "fileUrl": "string", + "iconLink": "string", + "mimeType": "string", + "title": "string", + "eventId": "string", + "extId": "string", + "extMetadata": {}, + "event": { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "bgColor": "string", + "description": "string", + "endDateTime": "2019-08-24T14:15:22Z", + "fgColor": "string", + "iCalUid": "string", + "isFullDayEvent": true, + "isLocked": true, + "link": "string", + "location": "string", + "meetingLink": "string", + "identifier": "string", + "startDateTime": "2019-08-24T14:15:22Z", + "status": "confirmed", + "summary": "string", + "timezone": "string", + "calendarId": "string", + "parentEventId": "string", + "extId": "string", + "extMetadata": {}, + "calendar": { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "source": "string", + "enableWorkingHours": true, + "location": "string", + "identifier": "string", + "summary": "string", + "timezone": "string", + "extId": "string", + "extMetadata": {}, + "events": [ + {} + ], + "workingHours": [ + { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "dayOfWeek": 0, + "end": "string", + "start": "string", + "calendarId": "string", + "extId": "string", + "extMetadata": {}, + "calendar": {} + } + ], + "subscriptions": [ + { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "accessRole": "freeBusyReader", + "bgColor": "string", + "fgColor": "string", + "isHidden": true, + "isPrimary": true, + "identifier": "string", + "defaultReminders": {}, + "notificationSettings": {}, + "calendarId": "string", + "extId": "string", + "extMetadata": {}, + "calendar": {} + } + ] + }, + "parentEvent": {}, + "attendees": [ + { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "identifier": "string", + "isOptional": true, + "isOrganizer": true, + "messages": "string", + "responseStatus": "needsAction", + "eventId": "string", + "extId": "string", + "extMetadata": {}, + "event": {} + } + ], + "attachments": [ + {} + ] + } + } +] +``` + +

Responses

+ +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|Array of Attachment model instances|Inline| + +

Response Schema

+ +Status Code **200** + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|*anonymous*|[[AttachmentWithRelations](#schemaattachmentwithrelations)]|false|none|[(tsType: AttachmentWithRelations, schemaOptions: { includeRelations: true })]| +|» AttachmentWithRelations|[AttachmentWithRelations](#schemaattachmentwithrelations)|false|none|(tsType: AttachmentWithRelations, schemaOptions: { includeRelations: true })| +|»» deleted|boolean|false|none|none| +|»» deletedOn|string(date-time)¦null|false|none|none| +|»» deletedBy|string¦null|false|none|none| +|»» createdOn|string(date-time)|false|none|none| +|»» modifiedOn|string(date-time)|false|none|none| +|»» createdBy|string|false|none|none| +|»» modifiedBy|string|false|none|none| +|»» id|string|false|none|none| +|»» fileUrl|string|true|none|none| +|»» iconLink|string|false|none|none| +|»» mimeType|string|false|none|none| +|»» title|string|false|none|none| +|»» eventId|string|true|none|none| +|»» extId|string|false|none|none| +|»» extMetadata|object|false|none|none| +|»» event|[EventWithRelations](#schemaeventwithrelations)|false|none|(tsType: EventWithRelations, schemaOptions: { includeRelations: true })| +|»»» deleted|boolean|false|none|none| +|»»» deletedOn|string(date-time)¦null|false|none|none| +|»»» deletedBy|string¦null|false|none|none| +|»»» createdOn|string(date-time)|false|none|none| +|»»» modifiedOn|string(date-time)|false|none|none| +|»»» createdBy|string|false|none|none| +|»»» modifiedBy|string|false|none|none| +|»»» id|string|false|none|none| +|»»» bgColor|string|false|none|none| +|»»» description|string|false|none|none| +|»»» endDateTime|string(date-time)|false|none|none| +|»»» fgColor|string|false|none|none| +|»»» iCalUid|string|false|none|none| +|»»» isFullDayEvent|boolean|false|none|none| +|»»» isLocked|boolean|false|none|none| +|»»» link|string|false|none|none| +|»»» location|string|false|none|none| +|»»» meetingLink|string|false|none|none| +|»»» identifier|string|false|none|none| +|»»» startDateTime|string(date-time)|false|none|none| +|»»» status|string|false|none|none| +|»»» summary|string|false|none|none| +|»»» timezone|string|false|none|none| +|»»» calendarId|string|true|none|none| +|»»» parentEventId|string|false|none|none| +|»»» extId|string|false|none|none| +|»»» extMetadata|object|false|none|none| +|»»» calendar|[CalendarWithRelations](#schemacalendarwithrelations)|false|none|(tsType: CalendarWithRelations, schemaOptions: { includeRelations: true })| +|»»»» deleted|boolean|false|none|none| +|»»»» deletedOn|string(date-time)¦null|false|none|none| +|»»»» deletedBy|string¦null|false|none|none| +|»»»» createdOn|string(date-time)|false|none|none| +|»»»» modifiedOn|string(date-time)|false|none|none| +|»»»» createdBy|string|false|none|none| +|»»»» modifiedBy|string|false|none|none| +|»»»» id|string|false|none|none| +|»»»» source|string|false|none|none| +|»»»» enableWorkingHours|boolean|false|none|none| +|»»»» location|string|false|none|none| +|»»»» identifier|string|true|none|none| +|»»»» summary|string|false|none|none| +|»»»» timezone|string|false|none|none| +|»»»» extId|string|false|none|none| +|»»»» extMetadata|object|false|none|none| +|»»»» events|[[EventWithRelations](#schemaeventwithrelations)]|false|none|(tsType: EventWithRelations, schemaOptions: { includeRelations: true })| +|»»»»» EventWithRelations|[EventWithRelations](#schemaeventwithrelations)|false|none|(tsType: EventWithRelations, schemaOptions: { includeRelations: true })| +|»»»» workingHours|[[WorkingHourWithRelations](#schemaworkinghourwithrelations)]|false|none|(tsType: WorkingHourWithRelations, schemaOptions: { includeRelations: true })| +|»»»»» WorkingHourWithRelations|[WorkingHourWithRelations](#schemaworkinghourwithrelations)|false|none|(tsType: WorkingHourWithRelations, schemaOptions: { includeRelations: true })| +|»»»»»» deleted|boolean|false|none|none| +|»»»»»» deletedOn|string(date-time)¦null|false|none|none| +|»»»»»» deletedBy|string¦null|false|none|none| +|»»»»»» createdOn|string(date-time)|false|none|none| +|»»»»»» modifiedOn|string(date-time)|false|none|none| +|»»»»»» createdBy|string|false|none|none| +|»»»»»» modifiedBy|string|false|none|none| +|»»»»»» id|string|false|none|none| +|»»»»»» dayOfWeek|number|false|none|none| +|»»»»»» end|string|false|none|none| +|»»»»»» start|string|false|none|none| +|»»»»»» calendarId|string|true|none|none| +|»»»»»» extId|string|false|none|none| +|»»»»»» extMetadata|object|false|none|none| +|»»»»»» calendar|[CalendarWithRelations](#schemacalendarwithrelations)|false|none|(tsType: CalendarWithRelations, schemaOptions: { includeRelations: true })| +|»»»» subscriptions|[[SubscriptionWithRelations](#schemasubscriptionwithrelations)]|false|none|(tsType: SubscriptionWithRelations, schemaOptions: { includeRelations: true })| +|»»»»» SubscriptionWithRelations|[SubscriptionWithRelations](#schemasubscriptionwithrelations)|false|none|(tsType: SubscriptionWithRelations, schemaOptions: { includeRelations: true })| +|»»»»»» deleted|boolean|false|none|none| +|»»»»»» deletedOn|string(date-time)¦null|false|none|none| +|»»»»»» deletedBy|string¦null|false|none|none| +|»»»»»» createdOn|string(date-time)|false|none|none| +|»»»»»» modifiedOn|string(date-time)|false|none|none| +|»»»»»» createdBy|string|false|none|none| +|»»»»»» modifiedBy|string|false|none|none| +|»»»»»» id|string|false|none|none| +|»»»»»» accessRole|string|false|none|none| +|»»»»»» bgColor|string|false|none|none| +|»»»»»» fgColor|string|false|none|none| +|»»»»»» isHidden|boolean|false|none|none| +|»»»»»» isPrimary|boolean|false|none|none| +|»»»»»» identifier|string|true|none|none| +|»»»»»» defaultReminders|object|false|none|none| +|»»»»»» notificationSettings|object|false|none|none| +|»»»»»» calendarId|string|true|none|none| +|»»»»»» extId|string|false|none|none| +|»»»»»» extMetadata|object|false|none|none| +|»»»»»» calendar|[CalendarWithRelations](#schemacalendarwithrelations)|false|none|(tsType: CalendarWithRelations, schemaOptions: { includeRelations: true })| +|»»» parentEvent|[EventWithRelations](#schemaeventwithrelations)|false|none|(tsType: EventWithRelations, schemaOptions: { includeRelations: true })| +|»»» attendees|[[AttendeeWithRelations](#schemaattendeewithrelations)]|false|none|(tsType: AttendeeWithRelations, schemaOptions: { includeRelations: true })| +|»»»» AttendeeWithRelations|[AttendeeWithRelations](#schemaattendeewithrelations)|false|none|(tsType: AttendeeWithRelations, schemaOptions: { includeRelations: true })| +|»»»»» deleted|boolean|false|none|none| +|»»»»» deletedOn|string(date-time)¦null|false|none|none| +|»»»»» deletedBy|string¦null|false|none|none| +|»»»»» createdOn|string(date-time)|false|none|none| +|»»»»» modifiedOn|string(date-time)|false|none|none| +|»»»»» createdBy|string|false|none|none| +|»»»»» modifiedBy|string|false|none|none| +|»»»»» id|string|false|none|none| +|»»»»» identifier|string|true|none|none| +|»»»»» isOptional|boolean|false|none|none| +|»»»»» isOrganizer|boolean|false|none|none| +|»»»»» messages|string|false|none|none| +|»»»»» responseStatus|string|false|none|none| +|»»»»» eventId|string|true|none|none| +|»»»»» extId|string|false|none|none| +|»»»»» extMetadata|object|false|none|none| +|»»»»» event|[EventWithRelations](#schemaeventwithrelations)|false|none|(tsType: EventWithRelations, schemaOptions: { includeRelations: true })| +|»»» attachments|[[AttachmentWithRelations](#schemaattachmentwithrelations)]|false|none|(tsType: AttachmentWithRelations, schemaOptions: { includeRelations: true })| +|»»»» AttachmentWithRelations|[AttachmentWithRelations](#schemaattachmentwithrelations)|false|none|(tsType: AttachmentWithRelations, schemaOptions: { includeRelations: true })| + +#### Enumerated Values + +|Property|Value| +|---|---| +|status|confirmed| +|status|tentative| +|status|cancelled| +|status|completed| +|dayOfWeek|0| +|dayOfWeek|1| +|dayOfWeek|2| +|dayOfWeek|3| +|dayOfWeek|4| +|dayOfWeek|5| +|dayOfWeek|6| +|accessRole|freeBusyReader| +|accessRole|reader| +|accessRole|writer| +|accessRole|owner| +|responseStatus|needsAction| +|responseStatus|tentative| +|responseStatus|accepted| +|responseStatus|declined| + + + +

AttendeeController

+ +## AttendeeController.count + + + +> Code samples + +```'javascript--nodejs +const fetch = require('node-fetch'); + +const headers = { + 'Accept':'application/json' +}; + +fetch('/attendees/count', +{ + method: 'GET', + + headers: headers +}) +.then(function(res) { + return res.json(); +}).then(function(body) { + console.log(body); +}); + +``` + +`GET /attendees/count` + +

Parameters

+ +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|where|query|object|false|none| + +> Example responses + +> 200 Response + +```json +{ + "count": 0 +} +``` + +

Responses

+ +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|Attendee model count|[loopback.Count](#schemaloopback.count)| + + + +## AttendeeController.replaceById + + + +> Code samples + +```'javascript--nodejs +const fetch = require('node-fetch'); +const inputBody = { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "identifier": "string", + "isOptional": true, + "isOrganizer": true, + "messages": "string", + "responseStatus": "needsAction", + "eventId": "string", + "extId": "string", + "extMetadata": {} +}; +const headers = { + 'Content-Type':'application/json' +}; + +fetch('/attendees/{id}', +{ + method: 'PUT', + body: JSON.stringify(inputBody), + headers: headers +}) +.then(function(res) { + return res.json(); +}).then(function(body) { + console.log(body); +}); + +``` + +`PUT /attendees/{id}` + +> Body parameter + +```json +{ + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "identifier": "string", + "isOptional": true, + "isOrganizer": true, + "messages": "string", + "responseStatus": "needsAction", + "eventId": "string", + "extId": "string", + "extMetadata": {} +} +``` + +

Parameters

+ +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|id|path|string|true|none| +|body|body|[Attendee](#schemaattendee)|false|none| + +

Responses

+ +|Status|Meaning|Description|Schema| +|---|---|---|---| +|204|[No Content](https://tools.ietf.org/html/rfc7231#section-6.3.5)|Attendee PUT success|None| + + + +## AttendeeController.updateById + + + +> Code samples + +```'javascript--nodejs +const fetch = require('node-fetch'); +const inputBody = { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "identifier": "string", + "isOptional": true, + "isOrganizer": true, + "messages": "string", + "responseStatus": "needsAction", + "eventId": "string", + "extId": "string", + "extMetadata": {} +}; +const headers = { + 'Content-Type':'application/json' +}; + +fetch('/attendees/{id}', +{ + method: 'PATCH', + body: JSON.stringify(inputBody), + headers: headers +}) +.then(function(res) { + return res.json(); +}).then(function(body) { + console.log(body); +}); + +``` + +`PATCH /attendees/{id}` + +> Body parameter + +```json +{ + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "identifier": "string", + "isOptional": true, + "isOrganizer": true, + "messages": "string", + "responseStatus": "needsAction", + "eventId": "string", + "extId": "string", + "extMetadata": {} +} +``` + +

Parameters

+ +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|id|path|string|true|none| +|body|body|[AttendeePartial](#schemaattendeepartial)|false|none| + +

Responses

+ +|Status|Meaning|Description|Schema| +|---|---|---|---| +|204|[No Content](https://tools.ietf.org/html/rfc7231#section-6.3.5)|Attendee PATCH success|None| + + + +## AttendeeController.findById + + + +> Code samples + +```'javascript--nodejs +const fetch = require('node-fetch'); + +const headers = { + 'Accept':'application/json' +}; + +fetch('/attendees/{id}', +{ + method: 'GET', + + headers: headers +}) +.then(function(res) { + return res.json(); +}).then(function(body) { + console.log(body); +}); + +``` + +`GET /attendees/{id}` + +

Parameters

+ +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|id|path|string|true|none| +|filter|query|[attendees.Filter](#schemaattendees.filter)|false|none| + +> Example responses + +> 200 Response + +```json +{ + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "identifier": "string", + "isOptional": true, + "isOrganizer": true, + "messages": "string", + "responseStatus": "needsAction", + "eventId": "string", + "extId": "string", + "extMetadata": {}, + "event": { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "bgColor": "string", + "description": "string", + "endDateTime": "2019-08-24T14:15:22Z", + "fgColor": "string", + "iCalUid": "string", + "isFullDayEvent": true, + "isLocked": true, + "link": "string", + "location": "string", + "meetingLink": "string", + "identifier": "string", + "startDateTime": "2019-08-24T14:15:22Z", + "status": "confirmed", + "summary": "string", + "timezone": "string", + "calendarId": "string", + "parentEventId": "string", + "extId": "string", + "extMetadata": {}, + "calendar": { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "source": "string", + "enableWorkingHours": true, + "location": "string", + "identifier": "string", + "summary": "string", + "timezone": "string", + "extId": "string", + "extMetadata": {}, + "events": [ + {} + ], + "workingHours": [ + { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "dayOfWeek": 0, + "end": "string", + "start": "string", + "calendarId": "string", + "extId": "string", + "extMetadata": {}, + "calendar": {} + } + ], + "subscriptions": [ + { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "accessRole": "freeBusyReader", + "bgColor": "string", + "fgColor": "string", + "isHidden": true, + "isPrimary": true, + "identifier": "string", + "defaultReminders": {}, + "notificationSettings": {}, + "calendarId": "string", + "extId": "string", + "extMetadata": {}, + "calendar": {} + } + ] + }, + "parentEvent": {}, + "attendees": [ + { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "identifier": "string", + "isOptional": true, + "isOrganizer": true, + "messages": "string", + "responseStatus": "needsAction", + "eventId": "string", + "extId": "string", + "extMetadata": {}, + "event": {} + } + ], + "attachments": [ + { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "fileUrl": "string", + "iconLink": "string", + "mimeType": "string", + "title": "string", + "eventId": "string", + "extId": "string", + "extMetadata": {}, + "event": {} + } + ] + } +} +``` + +

Responses

+ +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|Attendee model instance|[AttendeeWithRelations](#schemaattendeewithrelations)| + + + +## AttendeeController.deleteById + + + +> Code samples + +```'javascript--nodejs +const fetch = require('node-fetch'); + +fetch('/attendees/{id}', +{ + method: 'DELETE' + +}) +.then(function(res) { + return res.json(); +}).then(function(body) { + console.log(body); +}); + +``` + +`DELETE /attendees/{id}` + +

Parameters

+ +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|id|path|string|true|none| + +

Responses

+ +|Status|Meaning|Description|Schema| +|---|---|---|---| +|204|[No Content](https://tools.ietf.org/html/rfc7231#section-6.3.5)|Attendee DELETE success|None| + + + +## AttendeeController.create + + + +> Code samples + +```'javascript--nodejs +const fetch = require('node-fetch'); +const inputBody = { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "identifier": "string", + "isOptional": true, + "isOrganizer": true, + "messages": "string", + "responseStatus": "needsAction", + "eventId": "string", + "extId": "string", + "extMetadata": {} +}; +const headers = { + 'Content-Type':'application/json', + 'Accept':'application/json' +}; + +fetch('/attendees', +{ + method: 'POST', + body: JSON.stringify(inputBody), + headers: headers +}) +.then(function(res) { + return res.json(); +}).then(function(body) { + console.log(body); +}); + +``` + +`POST /attendees` + +> Body parameter + +```json +{ + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "identifier": "string", + "isOptional": true, + "isOrganizer": true, + "messages": "string", + "responseStatus": "needsAction", + "eventId": "string", + "extId": "string", + "extMetadata": {} +} +``` + +

Parameters

+ +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|body|body|[NewAttendee](#schemanewattendee)|false|none| + +> Example responses + +> 200 Response + +```json +{ + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "identifier": "string", + "isOptional": true, + "isOrganizer": true, + "messages": "string", + "responseStatus": "needsAction", + "eventId": "string", + "extId": "string", + "extMetadata": {} +} +``` + +

Responses

+ +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|Attendee model instance|[Attendee](#schemaattendee)| + + + +## AttendeeController.updateAll + + + +> Code samples + +```'javascript--nodejs +const fetch = require('node-fetch'); +const inputBody = { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "identifier": "string", + "isOptional": true, + "isOrganizer": true, + "messages": "string", + "responseStatus": "needsAction", + "eventId": "string", + "extId": "string", + "extMetadata": {} +}; +const headers = { + 'Content-Type':'application/json', + 'Accept':'application/json' +}; + +fetch('/attendees', +{ + method: 'PATCH', + body: JSON.stringify(inputBody), + headers: headers +}) +.then(function(res) { + return res.json(); +}).then(function(body) { + console.log(body); +}); + +``` + +`PATCH /attendees` + +> Body parameter + +```json +{ + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "identifier": "string", + "isOptional": true, + "isOrganizer": true, + "messages": "string", + "responseStatus": "needsAction", + "eventId": "string", + "extId": "string", + "extMetadata": {} +} +``` + +

Parameters

+ +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|where|query|object|false|none| +|body|body|[AttendeePartial](#schemaattendeepartial)|false|none| + +> Example responses + +> 200 Response + +```json +{ + "count": 0 +} +``` + +

Responses

+ +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|Attendee PATCH success count|[loopback.Count](#schemaloopback.count)| + + + +## AttendeeController.find + + + +> Code samples + +```'javascript--nodejs +const fetch = require('node-fetch'); + +const headers = { + 'Accept':'application/json' +}; + +fetch('/attendees', +{ + method: 'GET', + + headers: headers +}) +.then(function(res) { + return res.json(); +}).then(function(body) { + console.log(body); +}); + +``` + +`GET /attendees` + +

Parameters

+ +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|filter|query|[attendees.Filter1](#schemaattendees.filter1)|false|none| + +> Example responses + +> 200 Response + +```json +[ + { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "identifier": "string", + "isOptional": true, + "isOrganizer": true, + "messages": "string", + "responseStatus": "needsAction", + "eventId": "string", + "extId": "string", + "extMetadata": {}, + "event": { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "bgColor": "string", + "description": "string", + "endDateTime": "2019-08-24T14:15:22Z", + "fgColor": "string", + "iCalUid": "string", + "isFullDayEvent": true, + "isLocked": true, + "link": "string", + "location": "string", + "meetingLink": "string", + "identifier": "string", + "startDateTime": "2019-08-24T14:15:22Z", + "status": "confirmed", + "summary": "string", + "timezone": "string", + "calendarId": "string", + "parentEventId": "string", + "extId": "string", + "extMetadata": {}, + "calendar": { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "source": "string", + "enableWorkingHours": true, + "location": "string", + "identifier": "string", + "summary": "string", + "timezone": "string", + "extId": "string", + "extMetadata": {}, + "events": [ + {} + ], + "workingHours": [ + { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "dayOfWeek": 0, + "end": "string", + "start": "string", + "calendarId": "string", + "extId": "string", + "extMetadata": {}, + "calendar": {} + } + ], + "subscriptions": [ + { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "accessRole": "freeBusyReader", + "bgColor": "string", + "fgColor": "string", + "isHidden": true, + "isPrimary": true, + "identifier": "string", + "defaultReminders": {}, + "notificationSettings": {}, + "calendarId": "string", + "extId": "string", + "extMetadata": {}, + "calendar": {} + } + ] + }, + "parentEvent": {}, + "attendees": [ + {} + ], + "attachments": [ + { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "fileUrl": "string", + "iconLink": "string", + "mimeType": "string", + "title": "string", + "eventId": "string", + "extId": "string", + "extMetadata": {}, + "event": {} + } + ] + } + } +] +``` + +

Responses

+ +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|Array of Attendee model instances|Inline| + +

Response Schema

+ +Status Code **200** + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|*anonymous*|[[AttendeeWithRelations](#schemaattendeewithrelations)]|false|none|[(tsType: AttendeeWithRelations, schemaOptions: { includeRelations: true })]| +|» AttendeeWithRelations|[AttendeeWithRelations](#schemaattendeewithrelations)|false|none|(tsType: AttendeeWithRelations, schemaOptions: { includeRelations: true })| +|»» deleted|boolean|false|none|none| +|»» deletedOn|string(date-time)¦null|false|none|none| +|»» deletedBy|string¦null|false|none|none| +|»» createdOn|string(date-time)|false|none|none| +|»» modifiedOn|string(date-time)|false|none|none| +|»» createdBy|string|false|none|none| +|»» modifiedBy|string|false|none|none| +|»» id|string|false|none|none| +|»» identifier|string|true|none|none| +|»» isOptional|boolean|false|none|none| +|»» isOrganizer|boolean|false|none|none| +|»» messages|string|false|none|none| +|»» responseStatus|string|false|none|none| +|»» eventId|string|true|none|none| +|»» extId|string|false|none|none| +|»» extMetadata|object|false|none|none| +|»» event|[EventWithRelations](#schemaeventwithrelations)|false|none|(tsType: EventWithRelations, schemaOptions: { includeRelations: true })| +|»»» deleted|boolean|false|none|none| +|»»» deletedOn|string(date-time)¦null|false|none|none| +|»»» deletedBy|string¦null|false|none|none| +|»»» createdOn|string(date-time)|false|none|none| +|»»» modifiedOn|string(date-time)|false|none|none| +|»»» createdBy|string|false|none|none| +|»»» modifiedBy|string|false|none|none| +|»»» id|string|false|none|none| +|»»» bgColor|string|false|none|none| +|»»» description|string|false|none|none| +|»»» endDateTime|string(date-time)|false|none|none| +|»»» fgColor|string|false|none|none| +|»»» iCalUid|string|false|none|none| +|»»» isFullDayEvent|boolean|false|none|none| +|»»» isLocked|boolean|false|none|none| +|»»» link|string|false|none|none| +|»»» location|string|false|none|none| +|»»» meetingLink|string|false|none|none| +|»»» identifier|string|false|none|none| +|»»» startDateTime|string(date-time)|false|none|none| +|»»» status|string|false|none|none| +|»»» summary|string|false|none|none| +|»»» timezone|string|false|none|none| +|»»» calendarId|string|true|none|none| +|»»» parentEventId|string|false|none|none| +|»»» extId|string|false|none|none| +|»»» extMetadata|object|false|none|none| +|»»» calendar|[CalendarWithRelations](#schemacalendarwithrelations)|false|none|(tsType: CalendarWithRelations, schemaOptions: { includeRelations: true })| +|»»»» deleted|boolean|false|none|none| +|»»»» deletedOn|string(date-time)¦null|false|none|none| +|»»»» deletedBy|string¦null|false|none|none| +|»»»» createdOn|string(date-time)|false|none|none| +|»»»» modifiedOn|string(date-time)|false|none|none| +|»»»» createdBy|string|false|none|none| +|»»»» modifiedBy|string|false|none|none| +|»»»» id|string|false|none|none| +|»»»» source|string|false|none|none| +|»»»» enableWorkingHours|boolean|false|none|none| +|»»»» location|string|false|none|none| +|»»»» identifier|string|true|none|none| +|»»»» summary|string|false|none|none| +|»»»» timezone|string|false|none|none| +|»»»» extId|string|false|none|none| +|»»»» extMetadata|object|false|none|none| +|»»»» events|[[EventWithRelations](#schemaeventwithrelations)]|false|none|(tsType: EventWithRelations, schemaOptions: { includeRelations: true })| +|»»»»» EventWithRelations|[EventWithRelations](#schemaeventwithrelations)|false|none|(tsType: EventWithRelations, schemaOptions: { includeRelations: true })| +|»»»» workingHours|[[WorkingHourWithRelations](#schemaworkinghourwithrelations)]|false|none|(tsType: WorkingHourWithRelations, schemaOptions: { includeRelations: true })| +|»»»»» WorkingHourWithRelations|[WorkingHourWithRelations](#schemaworkinghourwithrelations)|false|none|(tsType: WorkingHourWithRelations, schemaOptions: { includeRelations: true })| +|»»»»»» deleted|boolean|false|none|none| +|»»»»»» deletedOn|string(date-time)¦null|false|none|none| +|»»»»»» deletedBy|string¦null|false|none|none| +|»»»»»» createdOn|string(date-time)|false|none|none| +|»»»»»» modifiedOn|string(date-time)|false|none|none| +|»»»»»» createdBy|string|false|none|none| +|»»»»»» modifiedBy|string|false|none|none| +|»»»»»» id|string|false|none|none| +|»»»»»» dayOfWeek|number|false|none|none| +|»»»»»» end|string|false|none|none| +|»»»»»» start|string|false|none|none| +|»»»»»» calendarId|string|true|none|none| +|»»»»»» extId|string|false|none|none| +|»»»»»» extMetadata|object|false|none|none| +|»»»»»» calendar|[CalendarWithRelations](#schemacalendarwithrelations)|false|none|(tsType: CalendarWithRelations, schemaOptions: { includeRelations: true })| +|»»»» subscriptions|[[SubscriptionWithRelations](#schemasubscriptionwithrelations)]|false|none|(tsType: SubscriptionWithRelations, schemaOptions: { includeRelations: true })| +|»»»»» SubscriptionWithRelations|[SubscriptionWithRelations](#schemasubscriptionwithrelations)|false|none|(tsType: SubscriptionWithRelations, schemaOptions: { includeRelations: true })| +|»»»»»» deleted|boolean|false|none|none| +|»»»»»» deletedOn|string(date-time)¦null|false|none|none| +|»»»»»» deletedBy|string¦null|false|none|none| +|»»»»»» createdOn|string(date-time)|false|none|none| +|»»»»»» modifiedOn|string(date-time)|false|none|none| +|»»»»»» createdBy|string|false|none|none| +|»»»»»» modifiedBy|string|false|none|none| +|»»»»»» id|string|false|none|none| +|»»»»»» accessRole|string|false|none|none| +|»»»»»» bgColor|string|false|none|none| +|»»»»»» fgColor|string|false|none|none| +|»»»»»» isHidden|boolean|false|none|none| +|»»»»»» isPrimary|boolean|false|none|none| +|»»»»»» identifier|string|true|none|none| +|»»»»»» defaultReminders|object|false|none|none| +|»»»»»» notificationSettings|object|false|none|none| +|»»»»»» calendarId|string|true|none|none| +|»»»»»» extId|string|false|none|none| +|»»»»»» extMetadata|object|false|none|none| +|»»»»»» calendar|[CalendarWithRelations](#schemacalendarwithrelations)|false|none|(tsType: CalendarWithRelations, schemaOptions: { includeRelations: true })| +|»»» parentEvent|[EventWithRelations](#schemaeventwithrelations)|false|none|(tsType: EventWithRelations, schemaOptions: { includeRelations: true })| +|»»» attendees|[[AttendeeWithRelations](#schemaattendeewithrelations)]|false|none|(tsType: AttendeeWithRelations, schemaOptions: { includeRelations: true })| +|»»»» AttendeeWithRelations|[AttendeeWithRelations](#schemaattendeewithrelations)|false|none|(tsType: AttendeeWithRelations, schemaOptions: { includeRelations: true })| +|»»» attachments|[[AttachmentWithRelations](#schemaattachmentwithrelations)]|false|none|(tsType: AttachmentWithRelations, schemaOptions: { includeRelations: true })| +|»»»» AttachmentWithRelations|[AttachmentWithRelations](#schemaattachmentwithrelations)|false|none|(tsType: AttachmentWithRelations, schemaOptions: { includeRelations: true })| +|»»»»» deleted|boolean|false|none|none| +|»»»»» deletedOn|string(date-time)¦null|false|none|none| +|»»»»» deletedBy|string¦null|false|none|none| +|»»»»» createdOn|string(date-time)|false|none|none| +|»»»»» modifiedOn|string(date-time)|false|none|none| +|»»»»» createdBy|string|false|none|none| +|»»»»» modifiedBy|string|false|none|none| +|»»»»» id|string|false|none|none| +|»»»»» fileUrl|string|true|none|none| +|»»»»» iconLink|string|false|none|none| +|»»»»» mimeType|string|false|none|none| +|»»»»» title|string|false|none|none| +|»»»»» eventId|string|true|none|none| +|»»»»» extId|string|false|none|none| +|»»»»» extMetadata|object|false|none|none| +|»»»»» event|[EventWithRelations](#schemaeventwithrelations)|false|none|(tsType: EventWithRelations, schemaOptions: { includeRelations: true })| + +#### Enumerated Values + +|Property|Value| +|---|---| +|responseStatus|needsAction| +|responseStatus|tentative| +|responseStatus|accepted| +|responseStatus|declined| +|status|confirmed| +|status|tentative| +|status|cancelled| +|status|completed| +|dayOfWeek|0| +|dayOfWeek|1| +|dayOfWeek|2| +|dayOfWeek|3| +|dayOfWeek|4| +|dayOfWeek|5| +|dayOfWeek|6| +|accessRole|freeBusyReader| +|accessRole|reader| +|accessRole|writer| +|accessRole|owner| + + + +

CalendarController

+ +## CalendarController.createWithSubscription + + + +> Code samples + +```'javascript--nodejs +const fetch = require('node-fetch'); +const inputBody = { + "source": "string", + "enableWorkingHours": true, + "location": "string", + "identifier": "string", + "summary": "string", + "timezone": "string", + "extId": "string", + "extMetadata": {}, + "workingHours": [ + { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "dayOfWeek": 0, + "end": "string", + "start": "string", + "calendarId": "string", + "extId": "string", + "extMetadata": {} + } + ], + "subscription": {} +}; +const headers = { + 'Content-Type':'application/json', + 'Accept':'application/json' +}; + +fetch('/calendars/calendarSubscription', +{ + method: 'POST', + body: JSON.stringify(inputBody), + headers: headers +}) +.then(function(res) { + return res.json(); +}).then(function(body) { + console.log(body); +}); + +``` + +`POST /calendars/calendarSubscription` + +> Body parameter + +```json +{ + "source": "string", + "enableWorkingHours": true, + "location": "string", + "identifier": "string", + "summary": "string", + "timezone": "string", + "extId": "string", + "extMetadata": {}, + "workingHours": [ + { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "dayOfWeek": 0, + "end": "string", + "start": "string", + "calendarId": "string", + "extId": "string", + "extMetadata": {} + } + ], + "subscription": {} +} +``` + +

Parameters

+ +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|body|body|[NewCalendar](#schemanewcalendar)|false|none| + +> Example responses + +> 200 Response + +```json +{ + "id": "string", + "source": "string", + "enableWorkingHours": true, + "location": "string", + "identifier": "string", + "summary": "string", + "timezone": "string", + "extId": "string", + "extMetadata": {}, + "workingHours": [ + { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "dayOfWeek": 0, + "end": "string", + "start": "string", + "calendarId": "string", + "extId": "string", + "extMetadata": {} + } + ], + "subscription": {} +} +``` + +

Responses

+ +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|Calendar model instance|[CalendarDTO](#schemacalendardto)| + + + +## CalendarController.count + + + +> Code samples + +```'javascript--nodejs +const fetch = require('node-fetch'); + +const headers = { + 'Accept':'application/json' +}; + +fetch('/calendars/count', +{ + method: 'GET', + + headers: headers +}) +.then(function(res) { + return res.json(); +}).then(function(body) { + console.log(body); +}); + +``` + +`GET /calendars/count` + +

Parameters

+ +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|where|query|object|false|none| + +> Example responses + +> 200 Response + +```json +{ + "count": 0 +} +``` + +

Responses

+ +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|Calendar model count|[loopback.Count](#schemaloopback.count)| + + + +## CalendarController.replaceById + + + +> Code samples + +```'javascript--nodejs +const fetch = require('node-fetch'); +const inputBody = { + "id": "string", + "source": "string", + "enableWorkingHours": true, + "location": "string", + "identifier": "string", + "summary": "string", + "timezone": "string", + "extId": "string", + "extMetadata": {}, + "workingHours": [ + { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "dayOfWeek": 0, + "end": "string", + "start": "string", + "calendarId": "string", + "extId": "string", + "extMetadata": {} + } + ], + "subscription": {} +}; +const headers = { + 'Content-Type':'application/json' +}; + +fetch('/calendars/{id}', +{ + method: 'PUT', + body: JSON.stringify(inputBody), + headers: headers +}) +.then(function(res) { + return res.json(); +}).then(function(body) { + console.log(body); +}); + +``` + +`PUT /calendars/{id}` + +> Body parameter + +```json +{ + "id": "string", + "source": "string", + "enableWorkingHours": true, + "location": "string", + "identifier": "string", + "summary": "string", + "timezone": "string", + "extId": "string", + "extMetadata": {}, + "workingHours": [ + { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "dayOfWeek": 0, + "end": "string", + "start": "string", + "calendarId": "string", + "extId": "string", + "extMetadata": {} + } + ], + "subscription": {} +} +``` + +

Parameters

+ +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|id|path|string|true|none| +|body|body|[CalendarDTO](#schemacalendardto)|false|none| + +

Responses

+ +|Status|Meaning|Description|Schema| +|---|---|---|---| +|204|[No Content](https://tools.ietf.org/html/rfc7231#section-6.3.5)|Calendar PUT success|None| + + + +## CalendarController.updateById + + + +> Code samples + +```'javascript--nodejs +const fetch = require('node-fetch'); +const inputBody = { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "source": "string", + "enableWorkingHours": true, + "location": "string", + "identifier": "string", + "summary": "string", + "timezone": "string", + "extId": "string", + "extMetadata": {} +}; +const headers = { + 'Content-Type':'application/json' +}; + +fetch('/calendars/{id}', +{ + method: 'PATCH', + body: JSON.stringify(inputBody), + headers: headers +}) +.then(function(res) { + return res.json(); +}).then(function(body) { + console.log(body); +}); + +``` + +`PATCH /calendars/{id}` + +> Body parameter + +```json +{ + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "source": "string", + "enableWorkingHours": true, + "location": "string", + "identifier": "string", + "summary": "string", + "timezone": "string", + "extId": "string", + "extMetadata": {} +} +``` + +

Parameters

+ +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|id|path|string|true|none| +|body|body|[CalendarPartial](#schemacalendarpartial)|false|none| + +

Responses

+ +|Status|Meaning|Description|Schema| +|---|---|---|---| +|204|[No Content](https://tools.ietf.org/html/rfc7231#section-6.3.5)|Calendar PATCH success|None| + + + +## CalendarController.findById + + + +> Code samples + +```'javascript--nodejs +const fetch = require('node-fetch'); + +const headers = { + 'Accept':'application/json' +}; + +fetch('/calendars/{id}', +{ + method: 'GET', + + headers: headers +}) +.then(function(res) { + return res.json(); +}).then(function(body) { + console.log(body); +}); + +``` + +`GET /calendars/{id}` + +

Parameters

+ +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|id|path|string|true|none| +|filter|query|[calendars.Filter](#schemacalendars.filter)|false|none| + +> Example responses + +> 200 Response + +```json +{ + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "source": "string", + "enableWorkingHours": true, + "location": "string", + "identifier": "string", + "summary": "string", + "timezone": "string", + "extId": "string", + "extMetadata": {}, + "events": [ + { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "bgColor": "string", + "description": "string", + "endDateTime": "2019-08-24T14:15:22Z", + "fgColor": "string", + "iCalUid": "string", + "isFullDayEvent": true, + "isLocked": true, + "link": "string", + "location": "string", + "meetingLink": "string", + "identifier": "string", + "startDateTime": "2019-08-24T14:15:22Z", + "status": "confirmed", + "summary": "string", + "timezone": "string", + "calendarId": "string", + "parentEventId": "string", + "extId": "string", + "extMetadata": {}, + "calendar": { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "source": "string", + "enableWorkingHours": true, + "location": "string", + "identifier": "string", + "summary": "string", + "timezone": "string", + "extId": "string", + "extMetadata": {}, + "events": [], + "workingHours": [ + { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "dayOfWeek": 0, + "end": "string", + "start": "string", + "calendarId": "string", + "extId": "string", + "extMetadata": {}, + "calendar": {} + } + ], + "subscriptions": [ + { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "accessRole": "freeBusyReader", + "bgColor": "string", + "fgColor": "string", + "isHidden": true, + "isPrimary": true, + "identifier": "string", + "defaultReminders": {}, + "notificationSettings": {}, + "calendarId": "string", + "extId": "string", + "extMetadata": {}, + "calendar": {} + } + ] + }, + "parentEvent": {}, + "attendees": [ + { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "identifier": "string", + "isOptional": true, + "isOrganizer": true, + "messages": "string", + "responseStatus": "needsAction", + "eventId": "string", + "extId": "string", + "extMetadata": {}, + "event": {} + } + ], + "attachments": [ + { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "fileUrl": "string", + "iconLink": "string", + "mimeType": "string", + "title": "string", + "eventId": "string", + "extId": "string", + "extMetadata": {}, + "event": {} + } + ] + } + ], + "workingHours": [ + { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "dayOfWeek": 0, + "end": "string", + "start": "string", + "calendarId": "string", + "extId": "string", + "extMetadata": {}, + "calendar": { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "source": "string", + "enableWorkingHours": true, + "location": "string", + "identifier": "string", + "summary": "string", + "timezone": "string", + "extId": "string", + "extMetadata": {}, + "events": [ + { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "bgColor": "string", + "description": "string", + "endDateTime": "2019-08-24T14:15:22Z", + "fgColor": "string", + "iCalUid": "string", + "isFullDayEvent": true, + "isLocked": true, + "link": "string", + "location": "string", + "meetingLink": "string", + "identifier": "string", + "startDateTime": "2019-08-24T14:15:22Z", + "status": "confirmed", + "summary": "string", + "timezone": "string", + "calendarId": "string", + "parentEventId": "string", + "extId": "string", + "extMetadata": {}, + "calendar": {}, + "parentEvent": {}, + "attendees": [ + { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "identifier": "string", + "isOptional": true, + "isOrganizer": true, + "messages": "string", + "responseStatus": "needsAction", + "eventId": "string", + "extId": "string", + "extMetadata": {}, + "event": {} + } + ], + "attachments": [ + { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "fileUrl": "string", + "iconLink": "string", + "mimeType": "string", + "title": "string", + "eventId": "string", + "extId": "string", + "extMetadata": {}, + "event": {} + } + ] + } + ], + "workingHours": [], + "subscriptions": [ + { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "accessRole": "freeBusyReader", + "bgColor": "string", + "fgColor": "string", + "isHidden": true, + "isPrimary": true, + "identifier": "string", + "defaultReminders": {}, + "notificationSettings": {}, + "calendarId": "string", + "extId": "string", + "extMetadata": {}, + "calendar": {} + } + ] + } + } + ], + "subscriptions": [ + { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "accessRole": "freeBusyReader", + "bgColor": "string", + "fgColor": "string", + "isHidden": true, + "isPrimary": true, + "identifier": "string", + "defaultReminders": {}, + "notificationSettings": {}, + "calendarId": "string", + "extId": "string", + "extMetadata": {}, + "calendar": { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "source": "string", + "enableWorkingHours": true, + "location": "string", + "identifier": "string", + "summary": "string", + "timezone": "string", + "extId": "string", + "extMetadata": {}, + "events": [ + { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "bgColor": "string", + "description": "string", + "endDateTime": "2019-08-24T14:15:22Z", + "fgColor": "string", + "iCalUid": "string", + "isFullDayEvent": true, + "isLocked": true, + "link": "string", + "location": "string", + "meetingLink": "string", + "identifier": "string", + "startDateTime": "2019-08-24T14:15:22Z", + "status": "confirmed", + "summary": "string", + "timezone": "string", + "calendarId": "string", + "parentEventId": "string", + "extId": "string", + "extMetadata": {}, + "calendar": {}, + "parentEvent": {}, + "attendees": [ + { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "identifier": "string", + "isOptional": true, + "isOrganizer": true, + "messages": "string", + "responseStatus": "needsAction", + "eventId": "string", + "extId": "string", + "extMetadata": {}, + "event": {} + } + ], + "attachments": [ + { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "fileUrl": "string", + "iconLink": "string", + "mimeType": "string", + "title": "string", + "eventId": "string", + "extId": "string", + "extMetadata": {}, + "event": {} + } + ] + } + ], + "workingHours": [ + { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "dayOfWeek": 0, + "end": "string", + "start": "string", + "calendarId": "string", + "extId": "string", + "extMetadata": {}, + "calendar": {} + } + ], + "subscriptions": [] + } + } + ] +} +``` + +

Responses

+ +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|Calendar model instance|[CalendarWithRelations](#schemacalendarwithrelations)| + + + +## CalendarController.deleteById + + + +> Code samples + +```'javascript--nodejs +const fetch = require('node-fetch'); + +fetch('/calendars/{id}', +{ + method: 'DELETE' + +}) +.then(function(res) { + return res.json(); +}).then(function(body) { + console.log(body); +}); + +``` + +`DELETE /calendars/{id}` + +

Parameters

+ +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|id|path|string|true|none| + +

Responses

+ +|Status|Meaning|Description|Schema| +|---|---|---|---| +|204|[No Content](https://tools.ietf.org/html/rfc7231#section-6.3.5)|Calendar DELETE success|None| + + + +## CalendarController.create + + + +> Code samples + +```'javascript--nodejs +const fetch = require('node-fetch'); +const inputBody = { + "source": "string", + "enableWorkingHours": true, + "location": "string", + "identifier": "string", + "summary": "string", + "timezone": "string", + "extId": "string", + "extMetadata": {}, + "workingHours": [ + { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "dayOfWeek": 0, + "end": "string", + "start": "string", + "calendarId": "string", + "extId": "string", + "extMetadata": {} + } + ], + "subscription": {} +}; +const headers = { + 'Content-Type':'application/json', + 'Accept':'application/json' +}; + +fetch('/calendars', +{ + method: 'POST', + body: JSON.stringify(inputBody), + headers: headers +}) +.then(function(res) { + return res.json(); +}).then(function(body) { + console.log(body); +}); + +``` + +`POST /calendars` + +> Body parameter + +```json +{ + "source": "string", + "enableWorkingHours": true, + "location": "string", + "identifier": "string", + "summary": "string", + "timezone": "string", + "extId": "string", + "extMetadata": {}, + "workingHours": [ + { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "dayOfWeek": 0, + "end": "string", + "start": "string", + "calendarId": "string", + "extId": "string", + "extMetadata": {} + } + ], + "subscription": {} +} +``` + +

Parameters

+ +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|body|body|[NewCalendar](#schemanewcalendar)|false|none| + +> Example responses + +> 200 Response + +```json +{ + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "source": "string", + "enableWorkingHours": true, + "location": "string", + "identifier": "string", + "summary": "string", + "timezone": "string", + "extId": "string", + "extMetadata": {} +} +``` + +

Responses

+ +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|Calendar model instance|[Calendar](#schemacalendar)| + + + +## CalendarController.updateAll + + + +> Code samples + +```'javascript--nodejs +const fetch = require('node-fetch'); +const inputBody = { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "source": "string", + "enableWorkingHours": true, + "location": "string", + "identifier": "string", + "summary": "string", + "timezone": "string", + "extId": "string", + "extMetadata": {} +}; +const headers = { + 'Content-Type':'application/json', + 'Accept':'application/json' +}; + +fetch('/calendars', +{ + method: 'PATCH', + body: JSON.stringify(inputBody), + headers: headers +}) +.then(function(res) { + return res.json(); +}).then(function(body) { + console.log(body); +}); + +``` + +`PATCH /calendars` + +> Body parameter + +```json +{ + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "source": "string", + "enableWorkingHours": true, + "location": "string", + "identifier": "string", + "summary": "string", + "timezone": "string", + "extId": "string", + "extMetadata": {} +} +``` + +

Parameters

+ +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|where|query|object|false|none| +|body|body|[CalendarPartial](#schemacalendarpartial)|false|none| + +> Example responses + +> 200 Response + +```json +{ + "count": 0 +} +``` + +

Responses

+ +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|Calendar PATCH success count|[loopback.Count](#schemaloopback.count)| + + + +## CalendarController.find + + + +> Code samples + +```'javascript--nodejs +const fetch = require('node-fetch'); + +const headers = { + 'Accept':'application/json' +}; + +fetch('/calendars', +{ + method: 'GET', + + headers: headers +}) +.then(function(res) { + return res.json(); +}).then(function(body) { + console.log(body); +}); + +``` + +`GET /calendars` + +

Parameters

+ +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|filter|query|[calendars.Filter1](#schemacalendars.filter1)|false|none| + +> Example responses + +> 200 Response + +```json +[ + { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "source": "string", + "enableWorkingHours": true, + "location": "string", + "identifier": "string", + "summary": "string", + "timezone": "string", + "extId": "string", + "extMetadata": {}, + "events": [ + { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "bgColor": "string", + "description": "string", + "endDateTime": "2019-08-24T14:15:22Z", + "fgColor": "string", + "iCalUid": "string", + "isFullDayEvent": true, + "isLocked": true, + "link": "string", + "location": "string", + "meetingLink": "string", + "identifier": "string", + "startDateTime": "2019-08-24T14:15:22Z", + "status": "confirmed", + "summary": "string", + "timezone": "string", + "calendarId": "string", + "parentEventId": "string", + "extId": "string", + "extMetadata": {}, + "calendar": {}, + "parentEvent": {}, + "attendees": [ + { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "identifier": "string", + "isOptional": true, + "isOrganizer": true, + "messages": "string", + "responseStatus": "needsAction", + "eventId": "string", + "extId": "string", + "extMetadata": {}, + "event": {} + } + ], + "attachments": [ + { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "fileUrl": "string", + "iconLink": "string", + "mimeType": "string", + "title": "string", + "eventId": "string", + "extId": "string", + "extMetadata": {}, + "event": {} + } + ] + } + ], + "workingHours": [ + { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "dayOfWeek": 0, + "end": "string", + "start": "string", + "calendarId": "string", + "extId": "string", + "extMetadata": {}, + "calendar": {} + } + ], + "subscriptions": [ + { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "accessRole": "freeBusyReader", + "bgColor": "string", + "fgColor": "string", + "isHidden": true, + "isPrimary": true, + "identifier": "string", + "defaultReminders": {}, + "notificationSettings": {}, + "calendarId": "string", + "extId": "string", + "extMetadata": {}, + "calendar": {} + } + ] + } +] +``` + +

Responses

+ +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|Array of Calendar model instances|Inline| + +

Response Schema

+ +Status Code **200** + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|*anonymous*|[[CalendarWithRelations](#schemacalendarwithrelations)]|false|none|[(tsType: CalendarWithRelations, schemaOptions: { includeRelations: true })]| +|» CalendarWithRelations|[CalendarWithRelations](#schemacalendarwithrelations)|false|none|(tsType: CalendarWithRelations, schemaOptions: { includeRelations: true })| +|»» deleted|boolean|false|none|none| +|»» deletedOn|string(date-time)¦null|false|none|none| +|»» deletedBy|string¦null|false|none|none| +|»» createdOn|string(date-time)|false|none|none| +|»» modifiedOn|string(date-time)|false|none|none| +|»» createdBy|string|false|none|none| +|»» modifiedBy|string|false|none|none| +|»» id|string|false|none|none| +|»» source|string|false|none|none| +|»» enableWorkingHours|boolean|false|none|none| +|»» location|string|false|none|none| +|»» identifier|string|true|none|none| +|»» summary|string|false|none|none| +|»» timezone|string|false|none|none| +|»» extId|string|false|none|none| +|»» extMetadata|object|false|none|none| +|»» events|[[EventWithRelations](#schemaeventwithrelations)]|false|none|(tsType: EventWithRelations, schemaOptions: { includeRelations: true })| +|»»» EventWithRelations|[EventWithRelations](#schemaeventwithrelations)|false|none|(tsType: EventWithRelations, schemaOptions: { includeRelations: true })| +|»»»» deleted|boolean|false|none|none| +|»»»» deletedOn|string(date-time)¦null|false|none|none| +|»»»» deletedBy|string¦null|false|none|none| +|»»»» createdOn|string(date-time)|false|none|none| +|»»»» modifiedOn|string(date-time)|false|none|none| +|»»»» createdBy|string|false|none|none| +|»»»» modifiedBy|string|false|none|none| +|»»»» id|string|false|none|none| +|»»»» bgColor|string|false|none|none| +|»»»» description|string|false|none|none| +|»»»» endDateTime|string(date-time)|false|none|none| +|»»»» fgColor|string|false|none|none| +|»»»» iCalUid|string|false|none|none| +|»»»» isFullDayEvent|boolean|false|none|none| +|»»»» isLocked|boolean|false|none|none| +|»»»» link|string|false|none|none| +|»»»» location|string|false|none|none| +|»»»» meetingLink|string|false|none|none| +|»»»» identifier|string|false|none|none| +|»»»» startDateTime|string(date-time)|false|none|none| +|»»»» status|string|false|none|none| +|»»»» summary|string|false|none|none| +|»»»» timezone|string|false|none|none| +|»»»» calendarId|string|true|none|none| +|»»»» parentEventId|string|false|none|none| +|»»»» extId|string|false|none|none| +|»»»» extMetadata|object|false|none|none| +|»»»» calendar|[CalendarWithRelations](#schemacalendarwithrelations)|false|none|(tsType: CalendarWithRelations, schemaOptions: { includeRelations: true })| +|»»»» parentEvent|[EventWithRelations](#schemaeventwithrelations)|false|none|(tsType: EventWithRelations, schemaOptions: { includeRelations: true })| +|»»»» attendees|[[AttendeeWithRelations](#schemaattendeewithrelations)]|false|none|(tsType: AttendeeWithRelations, schemaOptions: { includeRelations: true })| +|»»»»» AttendeeWithRelations|[AttendeeWithRelations](#schemaattendeewithrelations)|false|none|(tsType: AttendeeWithRelations, schemaOptions: { includeRelations: true })| +|»»»»»» deleted|boolean|false|none|none| +|»»»»»» deletedOn|string(date-time)¦null|false|none|none| +|»»»»»» deletedBy|string¦null|false|none|none| +|»»»»»» createdOn|string(date-time)|false|none|none| +|»»»»»» modifiedOn|string(date-time)|false|none|none| +|»»»»»» createdBy|string|false|none|none| +|»»»»»» modifiedBy|string|false|none|none| +|»»»»»» id|string|false|none|none| +|»»»»»» identifier|string|true|none|none| +|»»»»»» isOptional|boolean|false|none|none| +|»»»»»» isOrganizer|boolean|false|none|none| +|»»»»»» messages|string|false|none|none| +|»»»»»» responseStatus|string|false|none|none| +|»»»»»» eventId|string|true|none|none| +|»»»»»» extId|string|false|none|none| +|»»»»»» extMetadata|object|false|none|none| +|»»»»»» event|[EventWithRelations](#schemaeventwithrelations)|false|none|(tsType: EventWithRelations, schemaOptions: { includeRelations: true })| +|»»»» attachments|[[AttachmentWithRelations](#schemaattachmentwithrelations)]|false|none|(tsType: AttachmentWithRelations, schemaOptions: { includeRelations: true })| +|»»»»» AttachmentWithRelations|[AttachmentWithRelations](#schemaattachmentwithrelations)|false|none|(tsType: AttachmentWithRelations, schemaOptions: { includeRelations: true })| +|»»»»»» deleted|boolean|false|none|none| +|»»»»»» deletedOn|string(date-time)¦null|false|none|none| +|»»»»»» deletedBy|string¦null|false|none|none| +|»»»»»» createdOn|string(date-time)|false|none|none| +|»»»»»» modifiedOn|string(date-time)|false|none|none| +|»»»»»» createdBy|string|false|none|none| +|»»»»»» modifiedBy|string|false|none|none| +|»»»»»» id|string|false|none|none| +|»»»»»» fileUrl|string|true|none|none| +|»»»»»» iconLink|string|false|none|none| +|»»»»»» mimeType|string|false|none|none| +|»»»»»» title|string|false|none|none| +|»»»»»» eventId|string|true|none|none| +|»»»»»» extId|string|false|none|none| +|»»»»»» extMetadata|object|false|none|none| +|»»»»»» event|[EventWithRelations](#schemaeventwithrelations)|false|none|(tsType: EventWithRelations, schemaOptions: { includeRelations: true })| +|»» workingHours|[[WorkingHourWithRelations](#schemaworkinghourwithrelations)]|false|none|(tsType: WorkingHourWithRelations, schemaOptions: { includeRelations: true })| +|»»» WorkingHourWithRelations|[WorkingHourWithRelations](#schemaworkinghourwithrelations)|false|none|(tsType: WorkingHourWithRelations, schemaOptions: { includeRelations: true })| +|»»»» deleted|boolean|false|none|none| +|»»»» deletedOn|string(date-time)¦null|false|none|none| +|»»»» deletedBy|string¦null|false|none|none| +|»»»» createdOn|string(date-time)|false|none|none| +|»»»» modifiedOn|string(date-time)|false|none|none| +|»»»» createdBy|string|false|none|none| +|»»»» modifiedBy|string|false|none|none| +|»»»» id|string|false|none|none| +|»»»» dayOfWeek|number|false|none|none| +|»»»» end|string|false|none|none| +|»»»» start|string|false|none|none| +|»»»» calendarId|string|true|none|none| +|»»»» extId|string|false|none|none| +|»»»» extMetadata|object|false|none|none| +|»»»» calendar|[CalendarWithRelations](#schemacalendarwithrelations)|false|none|(tsType: CalendarWithRelations, schemaOptions: { includeRelations: true })| +|»» subscriptions|[[SubscriptionWithRelations](#schemasubscriptionwithrelations)]|false|none|(tsType: SubscriptionWithRelations, schemaOptions: { includeRelations: true })| +|»»» SubscriptionWithRelations|[SubscriptionWithRelations](#schemasubscriptionwithrelations)|false|none|(tsType: SubscriptionWithRelations, schemaOptions: { includeRelations: true })| +|»»»» deleted|boolean|false|none|none| +|»»»» deletedOn|string(date-time)¦null|false|none|none| +|»»»» deletedBy|string¦null|false|none|none| +|»»»» createdOn|string(date-time)|false|none|none| +|»»»» modifiedOn|string(date-time)|false|none|none| +|»»»» createdBy|string|false|none|none| +|»»»» modifiedBy|string|false|none|none| +|»»»» id|string|false|none|none| +|»»»» accessRole|string|false|none|none| +|»»»» bgColor|string|false|none|none| +|»»»» fgColor|string|false|none|none| +|»»»» isHidden|boolean|false|none|none| +|»»»» isPrimary|boolean|false|none|none| +|»»»» identifier|string|true|none|none| +|»»»» defaultReminders|object|false|none|none| +|»»»» notificationSettings|object|false|none|none| +|»»»» calendarId|string|true|none|none| +|»»»» extId|string|false|none|none| +|»»»» extMetadata|object|false|none|none| +|»»»» calendar|[CalendarWithRelations](#schemacalendarwithrelations)|false|none|(tsType: CalendarWithRelations, schemaOptions: { includeRelations: true })| + +#### Enumerated Values + +|Property|Value| +|---|---| +|status|confirmed| +|status|tentative| +|status|cancelled| +|status|completed| +|responseStatus|needsAction| +|responseStatus|tentative| +|responseStatus|accepted| +|responseStatus|declined| +|dayOfWeek|0| +|dayOfWeek|1| +|dayOfWeek|2| +|dayOfWeek|3| +|dayOfWeek|4| +|dayOfWeek|5| +|dayOfWeek|6| +|accessRole|freeBusyReader| +|accessRole|reader| +|accessRole|writer| +|accessRole|owner| + + + +

SubscriptionController

+ +## SubscriptionController.findMe + + + +> Code samples + +```'javascript--nodejs +const fetch = require('node-fetch'); + +const headers = { + 'Accept':'application/json' +}; + +fetch('/calendars/subscriptions/me', +{ + method: 'GET', + + headers: headers +}) +.then(function(res) { + return res.json(); +}).then(function(body) { + console.log(body); +}); + +``` + +`GET /calendars/subscriptions/me` + +

Parameters

+ +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|filter|query|[subscriptions.Filter](#schemasubscriptions.filter)|false|none| + +> Example responses + +> 200 Response + +```json +[ + { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "accessRole": "freeBusyReader", + "bgColor": "string", + "fgColor": "string", + "isHidden": true, + "isPrimary": true, + "identifier": "string", + "defaultReminders": {}, + "notificationSettings": {}, + "calendarId": "string", + "extId": "string", + "extMetadata": {}, + "calendar": { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "source": "string", + "enableWorkingHours": true, + "location": "string", + "identifier": "string", + "summary": "string", + "timezone": "string", + "extId": "string", + "extMetadata": {}, + "events": [ + { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "bgColor": "string", + "description": "string", + "endDateTime": "2019-08-24T14:15:22Z", + "fgColor": "string", + "iCalUid": "string", + "isFullDayEvent": true, + "isLocked": true, + "link": "string", + "location": "string", + "meetingLink": "string", + "identifier": "string", + "startDateTime": "2019-08-24T14:15:22Z", + "status": "confirmed", + "summary": "string", + "timezone": "string", + "calendarId": "string", + "parentEventId": "string", + "extId": "string", + "extMetadata": {}, + "calendar": {}, + "parentEvent": {}, + "attendees": [ + { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "identifier": "string", + "isOptional": true, + "isOrganizer": true, + "messages": "string", + "responseStatus": "needsAction", + "eventId": "string", + "extId": "string", + "extMetadata": {}, + "event": {} + } + ], + "attachments": [ + { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "fileUrl": "string", + "iconLink": "string", + "mimeType": "string", + "title": "string", + "eventId": "string", + "extId": "string", + "extMetadata": {}, + "event": {} + } + ] + } + ], + "workingHours": [ + { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "dayOfWeek": 0, + "end": "string", + "start": "string", + "calendarId": "string", + "extId": "string", + "extMetadata": {}, + "calendar": {} + } + ], + "subscriptions": [ + {} + ] + } + } +] +``` + +

Responses

+ +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|Array of Subscription model instances|Inline| + +

Response Schema

+ +Status Code **200** + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|*anonymous*|[[SubscriptionWithRelations](#schemasubscriptionwithrelations)]|false|none|[(tsType: SubscriptionWithRelations, schemaOptions: { includeRelations: true })]| +|» SubscriptionWithRelations|[SubscriptionWithRelations](#schemasubscriptionwithrelations)|false|none|(tsType: SubscriptionWithRelations, schemaOptions: { includeRelations: true })| +|»» deleted|boolean|false|none|none| +|»» deletedOn|string(date-time)¦null|false|none|none| +|»» deletedBy|string¦null|false|none|none| +|»» createdOn|string(date-time)|false|none|none| +|»» modifiedOn|string(date-time)|false|none|none| +|»» createdBy|string|false|none|none| +|»» modifiedBy|string|false|none|none| +|»» id|string|false|none|none| +|»» accessRole|string|false|none|none| +|»» bgColor|string|false|none|none| +|»» fgColor|string|false|none|none| +|»» isHidden|boolean|false|none|none| +|»» isPrimary|boolean|false|none|none| +|»» identifier|string|true|none|none| +|»» defaultReminders|object|false|none|none| +|»» notificationSettings|object|false|none|none| +|»» calendarId|string|true|none|none| +|»» extId|string|false|none|none| +|»» extMetadata|object|false|none|none| +|»» calendar|[CalendarWithRelations](#schemacalendarwithrelations)|false|none|(tsType: CalendarWithRelations, schemaOptions: { includeRelations: true })| +|»»» deleted|boolean|false|none|none| +|»»» deletedOn|string(date-time)¦null|false|none|none| +|»»» deletedBy|string¦null|false|none|none| +|»»» createdOn|string(date-time)|false|none|none| +|»»» modifiedOn|string(date-time)|false|none|none| +|»»» createdBy|string|false|none|none| +|»»» modifiedBy|string|false|none|none| +|»»» id|string|false|none|none| +|»»» source|string|false|none|none| +|»»» enableWorkingHours|boolean|false|none|none| +|»»» location|string|false|none|none| +|»»» identifier|string|true|none|none| +|»»» summary|string|false|none|none| +|»»» timezone|string|false|none|none| +|»»» extId|string|false|none|none| +|»»» extMetadata|object|false|none|none| +|»»» events|[[EventWithRelations](#schemaeventwithrelations)]|false|none|(tsType: EventWithRelations, schemaOptions: { includeRelations: true })| +|»»»» EventWithRelations|[EventWithRelations](#schemaeventwithrelations)|false|none|(tsType: EventWithRelations, schemaOptions: { includeRelations: true })| +|»»»»» deleted|boolean|false|none|none| +|»»»»» deletedOn|string(date-time)¦null|false|none|none| +|»»»»» deletedBy|string¦null|false|none|none| +|»»»»» createdOn|string(date-time)|false|none|none| +|»»»»» modifiedOn|string(date-time)|false|none|none| +|»»»»» createdBy|string|false|none|none| +|»»»»» modifiedBy|string|false|none|none| +|»»»»» id|string|false|none|none| +|»»»»» bgColor|string|false|none|none| +|»»»»» description|string|false|none|none| +|»»»»» endDateTime|string(date-time)|false|none|none| +|»»»»» fgColor|string|false|none|none| +|»»»»» iCalUid|string|false|none|none| +|»»»»» isFullDayEvent|boolean|false|none|none| +|»»»»» isLocked|boolean|false|none|none| +|»»»»» link|string|false|none|none| +|»»»»» location|string|false|none|none| +|»»»»» meetingLink|string|false|none|none| +|»»»»» identifier|string|false|none|none| +|»»»»» startDateTime|string(date-time)|false|none|none| +|»»»»» status|string|false|none|none| +|»»»»» summary|string|false|none|none| +|»»»»» timezone|string|false|none|none| +|»»»»» calendarId|string|true|none|none| +|»»»»» parentEventId|string|false|none|none| +|»»»»» extId|string|false|none|none| +|»»»»» extMetadata|object|false|none|none| +|»»»»» calendar|[CalendarWithRelations](#schemacalendarwithrelations)|false|none|(tsType: CalendarWithRelations, schemaOptions: { includeRelations: true })| +|»»»»» parentEvent|[EventWithRelations](#schemaeventwithrelations)|false|none|(tsType: EventWithRelations, schemaOptions: { includeRelations: true })| +|»»»»» attendees|[[AttendeeWithRelations](#schemaattendeewithrelations)]|false|none|(tsType: AttendeeWithRelations, schemaOptions: { includeRelations: true })| +|»»»»»» AttendeeWithRelations|[AttendeeWithRelations](#schemaattendeewithrelations)|false|none|(tsType: AttendeeWithRelations, schemaOptions: { includeRelations: true })| +|»»»»»»» deleted|boolean|false|none|none| +|»»»»»»» deletedOn|string(date-time)¦null|false|none|none| +|»»»»»»» deletedBy|string¦null|false|none|none| +|»»»»»»» createdOn|string(date-time)|false|none|none| +|»»»»»»» modifiedOn|string(date-time)|false|none|none| +|»»»»»»» createdBy|string|false|none|none| +|»»»»»»» modifiedBy|string|false|none|none| +|»»»»»»» id|string|false|none|none| +|»»»»»»» identifier|string|true|none|none| +|»»»»»»» isOptional|boolean|false|none|none| +|»»»»»»» isOrganizer|boolean|false|none|none| +|»»»»»»» messages|string|false|none|none| +|»»»»»»» responseStatus|string|false|none|none| +|»»»»»»» eventId|string|true|none|none| +|»»»»»»» extId|string|false|none|none| +|»»»»»»» extMetadata|object|false|none|none| +|»»»»»»» event|[EventWithRelations](#schemaeventwithrelations)|false|none|(tsType: EventWithRelations, schemaOptions: { includeRelations: true })| +|»»»»» attachments|[[AttachmentWithRelations](#schemaattachmentwithrelations)]|false|none|(tsType: AttachmentWithRelations, schemaOptions: { includeRelations: true })| +|»»»»»» AttachmentWithRelations|[AttachmentWithRelations](#schemaattachmentwithrelations)|false|none|(tsType: AttachmentWithRelations, schemaOptions: { includeRelations: true })| +|»»»»»»» deleted|boolean|false|none|none| +|»»»»»»» deletedOn|string(date-time)¦null|false|none|none| +|»»»»»»» deletedBy|string¦null|false|none|none| +|»»»»»»» createdOn|string(date-time)|false|none|none| +|»»»»»»» modifiedOn|string(date-time)|false|none|none| +|»»»»»»» createdBy|string|false|none|none| +|»»»»»»» modifiedBy|string|false|none|none| +|»»»»»»» id|string|false|none|none| +|»»»»»»» fileUrl|string|true|none|none| +|»»»»»»» iconLink|string|false|none|none| +|»»»»»»» mimeType|string|false|none|none| +|»»»»»»» title|string|false|none|none| +|»»»»»»» eventId|string|true|none|none| +|»»»»»»» extId|string|false|none|none| +|»»»»»»» extMetadata|object|false|none|none| +|»»»»»»» event|[EventWithRelations](#schemaeventwithrelations)|false|none|(tsType: EventWithRelations, schemaOptions: { includeRelations: true })| +|»»» workingHours|[[WorkingHourWithRelations](#schemaworkinghourwithrelations)]|false|none|(tsType: WorkingHourWithRelations, schemaOptions: { includeRelations: true })| +|»»»» WorkingHourWithRelations|[WorkingHourWithRelations](#schemaworkinghourwithrelations)|false|none|(tsType: WorkingHourWithRelations, schemaOptions: { includeRelations: true })| +|»»»»» deleted|boolean|false|none|none| +|»»»»» deletedOn|string(date-time)¦null|false|none|none| +|»»»»» deletedBy|string¦null|false|none|none| +|»»»»» createdOn|string(date-time)|false|none|none| +|»»»»» modifiedOn|string(date-time)|false|none|none| +|»»»»» createdBy|string|false|none|none| +|»»»»» modifiedBy|string|false|none|none| +|»»»»» id|string|false|none|none| +|»»»»» dayOfWeek|number|false|none|none| +|»»»»» end|string|false|none|none| +|»»»»» start|string|false|none|none| +|»»»»» calendarId|string|true|none|none| +|»»»»» extId|string|false|none|none| +|»»»»» extMetadata|object|false|none|none| +|»»»»» calendar|[CalendarWithRelations](#schemacalendarwithrelations)|false|none|(tsType: CalendarWithRelations, schemaOptions: { includeRelations: true })| +|»»» subscriptions|[[SubscriptionWithRelations](#schemasubscriptionwithrelations)]|false|none|(tsType: SubscriptionWithRelations, schemaOptions: { includeRelations: true })| +|»»»» SubscriptionWithRelations|[SubscriptionWithRelations](#schemasubscriptionwithrelations)|false|none|(tsType: SubscriptionWithRelations, schemaOptions: { includeRelations: true })| + +#### Enumerated Values + +|Property|Value| +|---|---| +|accessRole|freeBusyReader| +|accessRole|reader| +|accessRole|writer| +|accessRole|owner| +|status|confirmed| +|status|tentative| +|status|cancelled| +|status|completed| +|responseStatus|needsAction| +|responseStatus|tentative| +|responseStatus|accepted| +|responseStatus|declined| +|dayOfWeek|0| +|dayOfWeek|1| +|dayOfWeek|2| +|dayOfWeek|3| +|dayOfWeek|4| +|dayOfWeek|5| +|dayOfWeek|6| + + + +## SubscriptionController.count + + + +> Code samples + +```'javascript--nodejs +const fetch = require('node-fetch'); + +const headers = { + 'Accept':'application/json' +}; + +fetch('/subscriptions/count', +{ + method: 'GET', + + headers: headers +}) +.then(function(res) { + return res.json(); +}).then(function(body) { + console.log(body); +}); + +``` + +`GET /subscriptions/count` + +

Parameters

+ +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|where|query|object|false|none| + +> Example responses + +> 200 Response + +```json +{ + "count": 0 +} +``` + +

Responses

+ +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|Subscription model count|[loopback.Count](#schemaloopback.count)| + + + +## SubscriptionController.replaceById + + + +> Code samples + +```'javascript--nodejs +const fetch = require('node-fetch'); +const inputBody = { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "accessRole": "freeBusyReader", + "bgColor": "string", + "fgColor": "string", + "isHidden": true, + "isPrimary": true, + "identifier": "string", + "defaultReminders": {}, + "notificationSettings": {}, + "calendarId": "string", + "extId": "string", + "extMetadata": {} +}; +const headers = { + 'Content-Type':'application/json' +}; + +fetch('/subscriptions/{id}', +{ + method: 'PUT', + body: JSON.stringify(inputBody), + headers: headers +}) +.then(function(res) { + return res.json(); +}).then(function(body) { + console.log(body); +}); + +``` + +`PUT /subscriptions/{id}` + +> Body parameter + +```json +{ + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "accessRole": "freeBusyReader", + "bgColor": "string", + "fgColor": "string", + "isHidden": true, + "isPrimary": true, + "identifier": "string", + "defaultReminders": {}, + "notificationSettings": {}, + "calendarId": "string", + "extId": "string", + "extMetadata": {} +} +``` + +

Parameters

+ +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|id|path|string|true|none| +|body|body|[Subscription](#schemasubscription)|false|none| + +

Responses

+ +|Status|Meaning|Description|Schema| +|---|---|---|---| +|204|[No Content](https://tools.ietf.org/html/rfc7231#section-6.3.5)|Subscription PUT success|None| + + + +## SubscriptionController.updateById + + + +> Code samples + +```'javascript--nodejs +const fetch = require('node-fetch'); +const inputBody = { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "accessRole": "freeBusyReader", + "bgColor": "string", + "fgColor": "string", + "isHidden": true, + "isPrimary": true, + "identifier": "string", + "defaultReminders": {}, + "notificationSettings": {}, + "calendarId": "string", + "extId": "string", + "extMetadata": {} +}; +const headers = { + 'Content-Type':'application/json' +}; + +fetch('/subscriptions/{id}', +{ + method: 'PATCH', + body: JSON.stringify(inputBody), + headers: headers +}) +.then(function(res) { + return res.json(); +}).then(function(body) { + console.log(body); +}); + +``` + +`PATCH /subscriptions/{id}` + +> Body parameter + +```json +{ + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "accessRole": "freeBusyReader", + "bgColor": "string", + "fgColor": "string", + "isHidden": true, + "isPrimary": true, + "identifier": "string", + "defaultReminders": {}, + "notificationSettings": {}, + "calendarId": "string", + "extId": "string", + "extMetadata": {} +} +``` + +

Parameters

+ +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|id|path|string|true|none| +|body|body|[SubscriptionPartial](#schemasubscriptionpartial)|false|none| + +

Responses

+ +|Status|Meaning|Description|Schema| +|---|---|---|---| +|204|[No Content](https://tools.ietf.org/html/rfc7231#section-6.3.5)|Subscription PATCH success|None| + + + +## SubscriptionController.findById + + + +> Code samples + +```'javascript--nodejs +const fetch = require('node-fetch'); + +const headers = { + 'Accept':'application/json' +}; + +fetch('/subscriptions/{id}', +{ + method: 'GET', + + headers: headers +}) +.then(function(res) { + return res.json(); +}).then(function(body) { + console.log(body); +}); + +``` + +`GET /subscriptions/{id}` + +

Parameters

+ +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|id|path|string|true|none| +|filter|query|[subscriptions.Filter1](#schemasubscriptions.filter1)|false|none| + +> Example responses + +> 200 Response + +```json +{ + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "accessRole": "freeBusyReader", + "bgColor": "string", + "fgColor": "string", + "isHidden": true, + "isPrimary": true, + "identifier": "string", + "defaultReminders": {}, + "notificationSettings": {}, + "calendarId": "string", + "extId": "string", + "extMetadata": {}, + "calendar": { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "source": "string", + "enableWorkingHours": true, + "location": "string", + "identifier": "string", + "summary": "string", + "timezone": "string", + "extId": "string", + "extMetadata": {}, + "events": [ + { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "bgColor": "string", + "description": "string", + "endDateTime": "2019-08-24T14:15:22Z", + "fgColor": "string", + "iCalUid": "string", + "isFullDayEvent": true, + "isLocked": true, + "link": "string", + "location": "string", + "meetingLink": "string", + "identifier": "string", + "startDateTime": "2019-08-24T14:15:22Z", + "status": "confirmed", + "summary": "string", + "timezone": "string", + "calendarId": "string", + "parentEventId": "string", + "extId": "string", + "extMetadata": {}, + "calendar": {}, + "parentEvent": {}, + "attendees": [ + { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "identifier": "string", + "isOptional": true, + "isOrganizer": true, + "messages": "string", + "responseStatus": "needsAction", + "eventId": "string", + "extId": "string", + "extMetadata": {}, + "event": {} + } + ], + "attachments": [ + { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "fileUrl": "string", + "iconLink": "string", + "mimeType": "string", + "title": "string", + "eventId": "string", + "extId": "string", + "extMetadata": {}, + "event": {} + } + ] + } + ], + "workingHours": [ + { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "dayOfWeek": 0, + "end": "string", + "start": "string", + "calendarId": "string", + "extId": "string", + "extMetadata": {}, + "calendar": {} + } + ], + "subscriptions": [ + { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "accessRole": "freeBusyReader", + "bgColor": "string", + "fgColor": "string", + "isHidden": true, + "isPrimary": true, + "identifier": "string", + "defaultReminders": {}, + "notificationSettings": {}, + "calendarId": "string", + "extId": "string", + "extMetadata": {}, + "calendar": {} + } + ] + } +} +``` + +

Responses

+ +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|Subscription model instance|[SubscriptionWithRelations](#schemasubscriptionwithrelations)| + + + +## SubscriptionController.deleteById + + + +> Code samples + +```'javascript--nodejs +const fetch = require('node-fetch'); + +fetch('/subscriptions/{id}', +{ + method: 'DELETE' + +}) +.then(function(res) { + return res.json(); +}).then(function(body) { + console.log(body); +}); + +``` + +`DELETE /subscriptions/{id}` + +

Parameters

+ +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|id|path|string|true|none| + +

Responses

+ +|Status|Meaning|Description|Schema| +|---|---|---|---| +|204|[No Content](https://tools.ietf.org/html/rfc7231#section-6.3.5)|Subscription DELETE success|None| + + + +## SubscriptionController.create + + + +> Code samples + +```'javascript--nodejs +const fetch = require('node-fetch'); +const inputBody = { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "accessRole": "freeBusyReader", + "bgColor": "string", + "fgColor": "string", + "isHidden": true, + "isPrimary": true, + "identifier": "string", + "defaultReminders": {}, + "notificationSettings": {}, + "calendarId": "string", + "extId": "string", + "extMetadata": {} +}; +const headers = { + 'Content-Type':'application/json', + 'Accept':'application/json' +}; + +fetch('/subscriptions', +{ + method: 'POST', + body: JSON.stringify(inputBody), + headers: headers +}) +.then(function(res) { + return res.json(); +}).then(function(body) { + console.log(body); +}); + +``` + +`POST /subscriptions` + +> Body parameter + +```json +{ + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "accessRole": "freeBusyReader", + "bgColor": "string", + "fgColor": "string", + "isHidden": true, + "isPrimary": true, + "identifier": "string", + "defaultReminders": {}, + "notificationSettings": {}, + "calendarId": "string", + "extId": "string", + "extMetadata": {} +} +``` + +

Parameters

+ +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|body|body|[NewSubscription](#schemanewsubscription)|false|none| + +> Example responses + +> 200 Response + +```json +{ + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "accessRole": "freeBusyReader", + "bgColor": "string", + "fgColor": "string", + "isHidden": true, + "isPrimary": true, + "identifier": "string", + "defaultReminders": {}, + "notificationSettings": {}, + "calendarId": "string", + "extId": "string", + "extMetadata": {} +} +``` + +

Responses

+ +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|Subscription model instance|[Subscription](#schemasubscription)| + + + +## SubscriptionController.updateAll + + + +> Code samples + +```'javascript--nodejs +const fetch = require('node-fetch'); +const inputBody = { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "accessRole": "freeBusyReader", + "bgColor": "string", + "fgColor": "string", + "isHidden": true, + "isPrimary": true, + "identifier": "string", + "defaultReminders": {}, + "notificationSettings": {}, + "calendarId": "string", + "extId": "string", + "extMetadata": {} +}; +const headers = { + 'Content-Type':'application/json', + 'Accept':'application/json' +}; + +fetch('/subscriptions', +{ + method: 'PATCH', + body: JSON.stringify(inputBody), + headers: headers +}) +.then(function(res) { + return res.json(); +}).then(function(body) { + console.log(body); +}); + +``` + +`PATCH /subscriptions` + +> Body parameter + +```json +{ + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "accessRole": "freeBusyReader", + "bgColor": "string", + "fgColor": "string", + "isHidden": true, + "isPrimary": true, + "identifier": "string", + "defaultReminders": {}, + "notificationSettings": {}, + "calendarId": "string", + "extId": "string", + "extMetadata": {} +} +``` + +

Parameters

+ +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|where|query|object|false|none| +|body|body|[SubscriptionPartial](#schemasubscriptionpartial)|false|none| + +> Example responses + +> 200 Response + +```json +{ + "count": 0 +} +``` + +

Responses

+ +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|Subscription PATCH success count|[loopback.Count](#schemaloopback.count)| + + + +## SubscriptionController.find + + + +> Code samples + +```'javascript--nodejs +const fetch = require('node-fetch'); + +const headers = { + 'Accept':'application/json' +}; + +fetch('/subscriptions', +{ + method: 'GET', + + headers: headers +}) +.then(function(res) { + return res.json(); +}).then(function(body) { + console.log(body); +}); + +``` + +`GET /subscriptions` + +

Parameters

+ +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|filter|query|[subscriptions.Filter](#schemasubscriptions.filter)|false|none| + +> Example responses + +> 200 Response + +```json +[ + { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "accessRole": "freeBusyReader", + "bgColor": "string", + "fgColor": "string", + "isHidden": true, + "isPrimary": true, + "identifier": "string", + "defaultReminders": {}, + "notificationSettings": {}, + "calendarId": "string", + "extId": "string", + "extMetadata": {}, + "calendar": { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "source": "string", + "enableWorkingHours": true, + "location": "string", + "identifier": "string", + "summary": "string", + "timezone": "string", + "extId": "string", + "extMetadata": {}, + "events": [ + { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "bgColor": "string", + "description": "string", + "endDateTime": "2019-08-24T14:15:22Z", + "fgColor": "string", + "iCalUid": "string", + "isFullDayEvent": true, + "isLocked": true, + "link": "string", + "location": "string", + "meetingLink": "string", + "identifier": "string", + "startDateTime": "2019-08-24T14:15:22Z", + "status": "confirmed", + "summary": "string", + "timezone": "string", + "calendarId": "string", + "parentEventId": "string", + "extId": "string", + "extMetadata": {}, + "calendar": {}, + "parentEvent": {}, + "attendees": [ + { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "identifier": "string", + "isOptional": true, + "isOrganizer": true, + "messages": "string", + "responseStatus": "needsAction", + "eventId": "string", + "extId": "string", + "extMetadata": {}, + "event": {} + } + ], + "attachments": [ + { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "fileUrl": "string", + "iconLink": "string", + "mimeType": "string", + "title": "string", + "eventId": "string", + "extId": "string", + "extMetadata": {}, + "event": {} + } + ] + } + ], + "workingHours": [ + { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "dayOfWeek": 0, + "end": "string", + "start": "string", + "calendarId": "string", + "extId": "string", + "extMetadata": {}, + "calendar": {} + } + ], + "subscriptions": [ + {} + ] + } + } +] +``` + +

Responses

+ +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|Array of Subscription model instances|Inline| + +

Response Schema

+ +Status Code **200** + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|*anonymous*|[[SubscriptionWithRelations](#schemasubscriptionwithrelations)]|false|none|[(tsType: SubscriptionWithRelations, schemaOptions: { includeRelations: true })]| +|» SubscriptionWithRelations|[SubscriptionWithRelations](#schemasubscriptionwithrelations)|false|none|(tsType: SubscriptionWithRelations, schemaOptions: { includeRelations: true })| +|»» deleted|boolean|false|none|none| +|»» deletedOn|string(date-time)¦null|false|none|none| +|»» deletedBy|string¦null|false|none|none| +|»» createdOn|string(date-time)|false|none|none| +|»» modifiedOn|string(date-time)|false|none|none| +|»» createdBy|string|false|none|none| +|»» modifiedBy|string|false|none|none| +|»» id|string|false|none|none| +|»» accessRole|string|false|none|none| +|»» bgColor|string|false|none|none| +|»» fgColor|string|false|none|none| +|»» isHidden|boolean|false|none|none| +|»» isPrimary|boolean|false|none|none| +|»» identifier|string|true|none|none| +|»» defaultReminders|object|false|none|none| +|»» notificationSettings|object|false|none|none| +|»» calendarId|string|true|none|none| +|»» extId|string|false|none|none| +|»» extMetadata|object|false|none|none| +|»» calendar|[CalendarWithRelations](#schemacalendarwithrelations)|false|none|(tsType: CalendarWithRelations, schemaOptions: { includeRelations: true })| +|»»» deleted|boolean|false|none|none| +|»»» deletedOn|string(date-time)¦null|false|none|none| +|»»» deletedBy|string¦null|false|none|none| +|»»» createdOn|string(date-time)|false|none|none| +|»»» modifiedOn|string(date-time)|false|none|none| +|»»» createdBy|string|false|none|none| +|»»» modifiedBy|string|false|none|none| +|»»» id|string|false|none|none| +|»»» source|string|false|none|none| +|»»» enableWorkingHours|boolean|false|none|none| +|»»» location|string|false|none|none| +|»»» identifier|string|true|none|none| +|»»» summary|string|false|none|none| +|»»» timezone|string|false|none|none| +|»»» extId|string|false|none|none| +|»»» extMetadata|object|false|none|none| +|»»» events|[[EventWithRelations](#schemaeventwithrelations)]|false|none|(tsType: EventWithRelations, schemaOptions: { includeRelations: true })| +|»»»» EventWithRelations|[EventWithRelations](#schemaeventwithrelations)|false|none|(tsType: EventWithRelations, schemaOptions: { includeRelations: true })| +|»»»»» deleted|boolean|false|none|none| +|»»»»» deletedOn|string(date-time)¦null|false|none|none| +|»»»»» deletedBy|string¦null|false|none|none| +|»»»»» createdOn|string(date-time)|false|none|none| +|»»»»» modifiedOn|string(date-time)|false|none|none| +|»»»»» createdBy|string|false|none|none| +|»»»»» modifiedBy|string|false|none|none| +|»»»»» id|string|false|none|none| +|»»»»» bgColor|string|false|none|none| +|»»»»» description|string|false|none|none| +|»»»»» endDateTime|string(date-time)|false|none|none| +|»»»»» fgColor|string|false|none|none| +|»»»»» iCalUid|string|false|none|none| +|»»»»» isFullDayEvent|boolean|false|none|none| +|»»»»» isLocked|boolean|false|none|none| +|»»»»» link|string|false|none|none| +|»»»»» location|string|false|none|none| +|»»»»» meetingLink|string|false|none|none| +|»»»»» identifier|string|false|none|none| +|»»»»» startDateTime|string(date-time)|false|none|none| +|»»»»» status|string|false|none|none| +|»»»»» summary|string|false|none|none| +|»»»»» timezone|string|false|none|none| +|»»»»» calendarId|string|true|none|none| +|»»»»» parentEventId|string|false|none|none| +|»»»»» extId|string|false|none|none| +|»»»»» extMetadata|object|false|none|none| +|»»»»» calendar|[CalendarWithRelations](#schemacalendarwithrelations)|false|none|(tsType: CalendarWithRelations, schemaOptions: { includeRelations: true })| +|»»»»» parentEvent|[EventWithRelations](#schemaeventwithrelations)|false|none|(tsType: EventWithRelations, schemaOptions: { includeRelations: true })| +|»»»»» attendees|[[AttendeeWithRelations](#schemaattendeewithrelations)]|false|none|(tsType: AttendeeWithRelations, schemaOptions: { includeRelations: true })| +|»»»»»» AttendeeWithRelations|[AttendeeWithRelations](#schemaattendeewithrelations)|false|none|(tsType: AttendeeWithRelations, schemaOptions: { includeRelations: true })| +|»»»»»»» deleted|boolean|false|none|none| +|»»»»»»» deletedOn|string(date-time)¦null|false|none|none| +|»»»»»»» deletedBy|string¦null|false|none|none| +|»»»»»»» createdOn|string(date-time)|false|none|none| +|»»»»»»» modifiedOn|string(date-time)|false|none|none| +|»»»»»»» createdBy|string|false|none|none| +|»»»»»»» modifiedBy|string|false|none|none| +|»»»»»»» id|string|false|none|none| +|»»»»»»» identifier|string|true|none|none| +|»»»»»»» isOptional|boolean|false|none|none| +|»»»»»»» isOrganizer|boolean|false|none|none| +|»»»»»»» messages|string|false|none|none| +|»»»»»»» responseStatus|string|false|none|none| +|»»»»»»» eventId|string|true|none|none| +|»»»»»»» extId|string|false|none|none| +|»»»»»»» extMetadata|object|false|none|none| +|»»»»»»» event|[EventWithRelations](#schemaeventwithrelations)|false|none|(tsType: EventWithRelations, schemaOptions: { includeRelations: true })| +|»»»»» attachments|[[AttachmentWithRelations](#schemaattachmentwithrelations)]|false|none|(tsType: AttachmentWithRelations, schemaOptions: { includeRelations: true })| +|»»»»»» AttachmentWithRelations|[AttachmentWithRelations](#schemaattachmentwithrelations)|false|none|(tsType: AttachmentWithRelations, schemaOptions: { includeRelations: true })| +|»»»»»»» deleted|boolean|false|none|none| +|»»»»»»» deletedOn|string(date-time)¦null|false|none|none| +|»»»»»»» deletedBy|string¦null|false|none|none| +|»»»»»»» createdOn|string(date-time)|false|none|none| +|»»»»»»» modifiedOn|string(date-time)|false|none|none| +|»»»»»»» createdBy|string|false|none|none| +|»»»»»»» modifiedBy|string|false|none|none| +|»»»»»»» id|string|false|none|none| +|»»»»»»» fileUrl|string|true|none|none| +|»»»»»»» iconLink|string|false|none|none| +|»»»»»»» mimeType|string|false|none|none| +|»»»»»»» title|string|false|none|none| +|»»»»»»» eventId|string|true|none|none| +|»»»»»»» extId|string|false|none|none| +|»»»»»»» extMetadata|object|false|none|none| +|»»»»»»» event|[EventWithRelations](#schemaeventwithrelations)|false|none|(tsType: EventWithRelations, schemaOptions: { includeRelations: true })| +|»»» workingHours|[[WorkingHourWithRelations](#schemaworkinghourwithrelations)]|false|none|(tsType: WorkingHourWithRelations, schemaOptions: { includeRelations: true })| +|»»»» WorkingHourWithRelations|[WorkingHourWithRelations](#schemaworkinghourwithrelations)|false|none|(tsType: WorkingHourWithRelations, schemaOptions: { includeRelations: true })| +|»»»»» deleted|boolean|false|none|none| +|»»»»» deletedOn|string(date-time)¦null|false|none|none| +|»»»»» deletedBy|string¦null|false|none|none| +|»»»»» createdOn|string(date-time)|false|none|none| +|»»»»» modifiedOn|string(date-time)|false|none|none| +|»»»»» createdBy|string|false|none|none| +|»»»»» modifiedBy|string|false|none|none| +|»»»»» id|string|false|none|none| +|»»»»» dayOfWeek|number|false|none|none| +|»»»»» end|string|false|none|none| +|»»»»» start|string|false|none|none| +|»»»»» calendarId|string|true|none|none| +|»»»»» extId|string|false|none|none| +|»»»»» extMetadata|object|false|none|none| +|»»»»» calendar|[CalendarWithRelations](#schemacalendarwithrelations)|false|none|(tsType: CalendarWithRelations, schemaOptions: { includeRelations: true })| +|»»» subscriptions|[[SubscriptionWithRelations](#schemasubscriptionwithrelations)]|false|none|(tsType: SubscriptionWithRelations, schemaOptions: { includeRelations: true })| +|»»»» SubscriptionWithRelations|[SubscriptionWithRelations](#schemasubscriptionwithrelations)|false|none|(tsType: SubscriptionWithRelations, schemaOptions: { includeRelations: true })| + +#### Enumerated Values + +|Property|Value| +|---|---| +|accessRole|freeBusyReader| +|accessRole|reader| +|accessRole|writer| +|accessRole|owner| +|status|confirmed| +|status|tentative| +|status|cancelled| +|status|completed| +|responseStatus|needsAction| +|responseStatus|tentative| +|responseStatus|accepted| +|responseStatus|declined| +|dayOfWeek|0| +|dayOfWeek|1| +|dayOfWeek|2| +|dayOfWeek|3| +|dayOfWeek|4| +|dayOfWeek|5| +|dayOfWeek|6| + + + +

CalendarEventController

+ +## CalendarEventController.create + + + +> Code samples + +```'javascript--nodejs +const fetch = require('node-fetch'); +const inputBody = { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "bgColor": "string", + "description": "string", + "endDateTime": "2019-08-24T14:15:22Z", + "fgColor": "string", + "iCalUid": "string", + "isFullDayEvent": true, + "isLocked": true, + "link": "string", + "location": "string", + "meetingLink": "string", + "identifier": "string", + "startDateTime": "2019-08-24T14:15:22Z", + "status": "confirmed", + "summary": "string", + "timezone": "string", + "calendarId": "string", + "parentEventId": "string", + "extId": "string", + "extMetadata": {} +}; +const headers = { + 'Content-Type':'application/json', + 'Accept':'application/json' +}; + +fetch('/calendars/{id}/events', +{ + method: 'POST', + body: JSON.stringify(inputBody), + headers: headers +}) +.then(function(res) { + return res.json(); +}).then(function(body) { + console.log(body); +}); + +``` + +`POST /calendars/{id}/events` + +> Body parameter + +```json +{ + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "bgColor": "string", + "description": "string", + "endDateTime": "2019-08-24T14:15:22Z", + "fgColor": "string", + "iCalUid": "string", + "isFullDayEvent": true, + "isLocked": true, + "link": "string", + "location": "string", + "meetingLink": "string", + "identifier": "string", + "startDateTime": "2019-08-24T14:15:22Z", + "status": "confirmed", + "summary": "string", + "timezone": "string", + "calendarId": "string", + "parentEventId": "string", + "extId": "string", + "extMetadata": {} +} +``` + +

Parameters

+ +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|id|path|string|true|none| +|body|body|[NewEventInCalendar](#schemaneweventincalendar)|false|none| + +> Example responses + +> 200 Response + +```json +{ + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "bgColor": "string", + "description": "string", + "endDateTime": "2019-08-24T14:15:22Z", + "fgColor": "string", + "iCalUid": "string", + "isFullDayEvent": true, + "isLocked": true, + "link": "string", + "location": "string", + "meetingLink": "string", + "identifier": "string", + "startDateTime": "2019-08-24T14:15:22Z", + "status": "confirmed", + "summary": "string", + "timezone": "string", + "calendarId": "string", + "parentEventId": "string", + "extId": "string", + "extMetadata": {} +} +``` + +

Responses

+ +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|Calendar model instance|[Event](#schemaevent)| + + + +## CalendarEventController.patch + + + +> Code samples + +```'javascript--nodejs +const fetch = require('node-fetch'); +const inputBody = { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "bgColor": "string", + "description": "string", + "endDateTime": "2019-08-24T14:15:22Z", + "fgColor": "string", + "iCalUid": "string", + "isFullDayEvent": true, + "isLocked": true, + "link": "string", + "location": "string", + "meetingLink": "string", + "identifier": "string", + "startDateTime": "2019-08-24T14:15:22Z", + "status": "confirmed", + "summary": "string", + "timezone": "string", + "calendarId": "string", + "parentEventId": "string", + "extId": "string", + "extMetadata": {} +}; +const headers = { + 'Content-Type':'application/json', + 'Accept':'application/json' +}; + +fetch('/calendars/{id}/events', +{ + method: 'PATCH', + body: JSON.stringify(inputBody), + headers: headers +}) +.then(function(res) { + return res.json(); +}).then(function(body) { + console.log(body); +}); + +``` + +`PATCH /calendars/{id}/events` + +> Body parameter + +```json +{ + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "bgColor": "string", + "description": "string", + "endDateTime": "2019-08-24T14:15:22Z", + "fgColor": "string", + "iCalUid": "string", + "isFullDayEvent": true, + "isLocked": true, + "link": "string", + "location": "string", + "meetingLink": "string", + "identifier": "string", + "startDateTime": "2019-08-24T14:15:22Z", + "status": "confirmed", + "summary": "string", + "timezone": "string", + "calendarId": "string", + "parentEventId": "string", + "extId": "string", + "extMetadata": {} +} +``` + +

Parameters

+ +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|id|path|string|true|none| +|where|query|object|false|none| +|body|body|[EventPartial](#schemaeventpartial)|false|none| + +> Example responses + +> 200 Response + +```json +{ + "count": 0 +} +``` + +

Responses

+ +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|Calendar.Event PATCH success count|[loopback.Count](#schemaloopback.count)| + + + +## CalendarEventController.find + + + +> Code samples + +```'javascript--nodejs +const fetch = require('node-fetch'); + +const headers = { + 'Accept':'application/json' +}; + +fetch('/calendars/{id}/events', +{ + method: 'GET', + + headers: headers +}) +.then(function(res) { + return res.json(); +}).then(function(body) { + console.log(body); +}); + +``` + +`GET /calendars/{id}/events` + +

Parameters

+ +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|id|path|string|true|none| +|filter|query|object|false|none| +|timeMax|query|string(date-time)|false|none| +|timeMin|query|string(date-time)|false|none| + +> Example responses + +> 200 Response + +```json +[ + { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "bgColor": "string", + "description": "string", + "endDateTime": "2019-08-24T14:15:22Z", + "fgColor": "string", + "iCalUid": "string", + "isFullDayEvent": true, + "isLocked": true, + "link": "string", + "location": "string", + "meetingLink": "string", + "identifier": "string", + "startDateTime": "2019-08-24T14:15:22Z", + "status": "confirmed", + "summary": "string", + "timezone": "string", + "calendarId": "string", + "parentEventId": "string", + "extId": "string", + "extMetadata": {} + } +] +``` + +

Responses

+ +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|Array of Calendar has many Event|Inline| + +

Response Schema

+ +Status Code **200** + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|*anonymous*|[[Event](#schemaevent)]|false|none|none| +|» Event|[Event](#schemaevent)|false|none|none| +|»» deleted|boolean|false|none|none| +|»» deletedOn|string(date-time)¦null|false|none|none| +|»» deletedBy|string¦null|false|none|none| +|»» createdOn|string(date-time)|false|none|none| +|»» modifiedOn|string(date-time)|false|none|none| +|»» createdBy|string|false|none|none| +|»» modifiedBy|string|false|none|none| +|»» id|string|false|none|none| +|»» bgColor|string|false|none|none| +|»» description|string|false|none|none| +|»» endDateTime|string(date-time)|false|none|none| +|»» fgColor|string|false|none|none| +|»» iCalUid|string|false|none|none| +|»» isFullDayEvent|boolean|false|none|none| +|»» isLocked|boolean|false|none|none| +|»» link|string|false|none|none| +|»» location|string|false|none|none| +|»» meetingLink|string|false|none|none| +|»» identifier|string|false|none|none| +|»» startDateTime|string(date-time)|false|none|none| +|»» status|string|false|none|none| +|»» summary|string|false|none|none| +|»» timezone|string|false|none|none| +|»» calendarId|string|true|none|none| +|»» parentEventId|string|false|none|none| +|»» extId|string|false|none|none| +|»» extMetadata|object|false|none|none| + +#### Enumerated Values + +|Property|Value| +|---|---| +|status|confirmed| +|status|tentative| +|status|cancelled| +|status|completed| + + + +## CalendarEventController.delete + + + +> Code samples + +```'javascript--nodejs +const fetch = require('node-fetch'); + +const headers = { + 'Accept':'application/json' +}; + +fetch('/calendars/{id}/events', +{ + method: 'DELETE', + + headers: headers +}) +.then(function(res) { + return res.json(); +}).then(function(body) { + console.log(body); +}); + +``` + +`DELETE /calendars/{id}/events` + +

Parameters

+ +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|id|path|string|true|none| +|where|query|object|false|none| + +> Example responses + +> 200 Response + +```json +{ + "count": 0 +} +``` + +

Responses

+ +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|Calendar.Event DELETE success count|[loopback.Count](#schemaloopback.count)| + + + +

CalendarSubscriptionController

+ +## CalendarSubscriptionController.create + + + +> Code samples + +```'javascript--nodejs +const fetch = require('node-fetch'); +const inputBody = { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "accessRole": "freeBusyReader", + "bgColor": "string", + "fgColor": "string", + "isHidden": true, + "isPrimary": true, + "identifier": "string", + "defaultReminders": {}, + "notificationSettings": {}, + "calendarId": "string", + "extId": "string", + "extMetadata": {} +}; +const headers = { + 'Content-Type':'application/json', + 'Accept':'application/json' +}; + +fetch('/calendars/{id}/subscriptions', +{ + method: 'POST', + body: JSON.stringify(inputBody), + headers: headers +}) +.then(function(res) { + return res.json(); +}).then(function(body) { + console.log(body); +}); + +``` + +`POST /calendars/{id}/subscriptions` + +> Body parameter + +```json +{ + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "accessRole": "freeBusyReader", + "bgColor": "string", + "fgColor": "string", + "isHidden": true, + "isPrimary": true, + "identifier": "string", + "defaultReminders": {}, + "notificationSettings": {}, + "calendarId": "string", + "extId": "string", + "extMetadata": {} +} +``` + +

Parameters

+ +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|id|path|string|true|none| +|body|body|[NewSubscriptionInCalendar](#schemanewsubscriptionincalendar)|false|none| + +> Example responses + +> 200 Response + +```json +{ + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "accessRole": "freeBusyReader", + "bgColor": "string", + "fgColor": "string", + "isHidden": true, + "isPrimary": true, + "identifier": "string", + "defaultReminders": {}, + "notificationSettings": {}, + "calendarId": "string", + "extId": "string", + "extMetadata": {} +} +``` + +

Responses

+ +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|Calendar model instance|[Subscription](#schemasubscription)| + + + +## CalendarSubscriptionController.patch + + + +> Code samples + +```'javascript--nodejs +const fetch = require('node-fetch'); +const inputBody = { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "accessRole": "freeBusyReader", + "bgColor": "string", + "fgColor": "string", + "isHidden": true, + "isPrimary": true, + "identifier": "string", + "defaultReminders": {}, + "notificationSettings": {}, + "calendarId": "string", + "extId": "string", + "extMetadata": {} +}; +const headers = { + 'Content-Type':'application/json', + 'Accept':'application/json' +}; + +fetch('/calendars/{id}/subscriptions', +{ + method: 'PATCH', + body: JSON.stringify(inputBody), + headers: headers +}) +.then(function(res) { + return res.json(); +}).then(function(body) { + console.log(body); +}); + +``` + +`PATCH /calendars/{id}/subscriptions` + +> Body parameter + +```json +{ + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "accessRole": "freeBusyReader", + "bgColor": "string", + "fgColor": "string", + "isHidden": true, + "isPrimary": true, + "identifier": "string", + "defaultReminders": {}, + "notificationSettings": {}, + "calendarId": "string", + "extId": "string", + "extMetadata": {} +} +``` + +

Parameters

+ +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|id|path|string|true|none| +|where|query|object|false|none| +|body|body|[SubscriptionPartial](#schemasubscriptionpartial)|false|none| + +> Example responses + +> 200 Response + +```json +{ + "count": 0 +} +``` + +

Responses

+ +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|Calendar.Subscription PATCH success count|[loopback.Count](#schemaloopback.count)| + + + +## CalendarSubscriptionController.find + + + +> Code samples + +```'javascript--nodejs +const fetch = require('node-fetch'); + +const headers = { + 'Accept':'application/json' +}; + +fetch('/calendars/{id}/subscriptions', +{ + method: 'GET', + + headers: headers +}) +.then(function(res) { + return res.json(); +}).then(function(body) { + console.log(body); +}); + +``` + +`GET /calendars/{id}/subscriptions` + +

Parameters

+ +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|id|path|string|true|none| +|filter|query|object|false|none| + +> Example responses + +> 200 Response + +```json +[ + { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "accessRole": "freeBusyReader", + "bgColor": "string", + "fgColor": "string", + "isHidden": true, + "isPrimary": true, + "identifier": "string", + "defaultReminders": {}, + "notificationSettings": {}, + "calendarId": "string", + "extId": "string", + "extMetadata": {} + } +] +``` + +

Responses

+ +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|Array of Calendar has many Subscriptions|Inline| + +

Response Schema

+ +Status Code **200** + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|*anonymous*|[[Subscription](#schemasubscription)]|false|none|none| +|» Subscription|[Subscription](#schemasubscription)|false|none|none| +|»» deleted|boolean|false|none|none| +|»» deletedOn|string(date-time)¦null|false|none|none| +|»» deletedBy|string¦null|false|none|none| +|»» createdOn|string(date-time)|false|none|none| +|»» modifiedOn|string(date-time)|false|none|none| +|»» createdBy|string|false|none|none| +|»» modifiedBy|string|false|none|none| +|»» id|string|false|none|none| +|»» accessRole|string|false|none|none| +|»» bgColor|string|false|none|none| +|»» fgColor|string|false|none|none| +|»» isHidden|boolean|false|none|none| +|»» isPrimary|boolean|false|none|none| +|»» identifier|string|true|none|none| +|»» defaultReminders|object|false|none|none| +|»» notificationSettings|object|false|none|none| +|»» calendarId|string|true|none|none| +|»» extId|string|false|none|none| +|»» extMetadata|object|false|none|none| + +#### Enumerated Values + +|Property|Value| +|---|---| +|accessRole|freeBusyReader| +|accessRole|reader| +|accessRole|writer| +|accessRole|owner| + + + +## CalendarSubscriptionController.delete + + + +> Code samples + +```'javascript--nodejs +const fetch = require('node-fetch'); + +const headers = { + 'Accept':'application/json' +}; + +fetch('/calendars/{id}/subscriptions', +{ + method: 'DELETE', + + headers: headers +}) +.then(function(res) { + return res.json(); +}).then(function(body) { + console.log(body); +}); + +``` + +`DELETE /calendars/{id}/subscriptions` + +

Parameters

+ +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|id|path|string|true|none| +|where|query|object|false|none| + +> Example responses + +> 200 Response + +```json +{ + "count": 0 +} +``` + +

Responses

+ +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|Calendar.Subscription DELETE success count|[loopback.Count](#schemaloopback.count)| + + + +

CalendarWorkingHourController

+ +## CalendarWorkingHourController.create + + + +> Code samples + +```'javascript--nodejs +const fetch = require('node-fetch'); +const inputBody = { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "dayOfWeek": 0, + "end": "string", + "start": "string", + "calendarId": "string", + "extId": "string", + "extMetadata": {} +}; +const headers = { + 'Content-Type':'application/json', + 'Accept':'application/json' +}; + +fetch('/calendars/{id}/working-hours', +{ + method: 'POST', + body: JSON.stringify(inputBody), + headers: headers +}) +.then(function(res) { + return res.json(); +}).then(function(body) { + console.log(body); +}); + +``` + +`POST /calendars/{id}/working-hours` + +> Body parameter + +```json +{ + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "dayOfWeek": 0, + "end": "string", + "start": "string", + "calendarId": "string", + "extId": "string", + "extMetadata": {} +} +``` + +

Parameters

+ +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|id|path|string|true|none| +|body|body|[NewWorkingHourInCalendar](#schemanewworkinghourincalendar)|false|none| + +> Example responses + +> 200 Response + +```json +{ + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "dayOfWeek": 0, + "end": "string", + "start": "string", + "calendarId": "string", + "extId": "string", + "extMetadata": {} +} +``` + +

Responses

+ +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|Calendar model instance|[WorkingHour](#schemaworkinghour)| + + + +## CalendarWorkingHourController.patch + + + +> Code samples + +```'javascript--nodejs +const fetch = require('node-fetch'); +const inputBody = { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "dayOfWeek": 0, + "end": "string", + "start": "string", + "calendarId": "string", + "extId": "string", + "extMetadata": {} +}; +const headers = { + 'Content-Type':'application/json', + 'Accept':'application/json' +}; + +fetch('/calendars/{id}/working-hours', +{ + method: 'PATCH', + body: JSON.stringify(inputBody), + headers: headers +}) +.then(function(res) { + return res.json(); +}).then(function(body) { + console.log(body); +}); + +``` + +`PATCH /calendars/{id}/working-hours` + +> Body parameter + +```json +{ + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "dayOfWeek": 0, + "end": "string", + "start": "string", + "calendarId": "string", + "extId": "string", + "extMetadata": {} +} +``` + +

Parameters

+ +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|id|path|string|true|none| +|where|query|object|false|none| +|body|body|[WorkingHourPartial](#schemaworkinghourpartial)|false|none| + +> Example responses + +> 200 Response + +```json +{ + "count": 0 +} +``` + +

Responses

+ +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|Calendar.WorkingHour PATCH success count|[loopback.Count](#schemaloopback.count)| + + + +## CalendarWorkingHourController.find + + + +> Code samples + +```'javascript--nodejs +const fetch = require('node-fetch'); + +const headers = { + 'Accept':'application/json' +}; + +fetch('/calendars/{id}/working-hours', +{ + method: 'GET', + + headers: headers +}) +.then(function(res) { + return res.json(); +}).then(function(body) { + console.log(body); +}); + +``` + +`GET /calendars/{id}/working-hours` + +

Parameters

+ +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|id|path|string|true|none| +|filter|query|object|false|none| + +> Example responses + +> 200 Response + +```json +[ + { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "dayOfWeek": 0, + "end": "string", + "start": "string", + "calendarId": "string", + "extId": "string", + "extMetadata": {} + } +] +``` + +

Responses

+ +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|Array of Calendar has many WorkingHour|Inline| + +

Response Schema

+ +Status Code **200** + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|*anonymous*|[[WorkingHour](#schemaworkinghour)]|false|none|none| +|» WorkingHour|[WorkingHour](#schemaworkinghour)|false|none|none| +|»» deleted|boolean|false|none|none| +|»» deletedOn|string(date-time)¦null|false|none|none| +|»» deletedBy|string¦null|false|none|none| +|»» createdOn|string(date-time)|false|none|none| +|»» modifiedOn|string(date-time)|false|none|none| +|»» createdBy|string|false|none|none| +|»» modifiedBy|string|false|none|none| +|»» id|string|false|none|none| +|»» dayOfWeek|number|false|none|none| +|»» end|string|false|none|none| +|»» start|string|false|none|none| +|»» calendarId|string|true|none|none| +|»» extId|string|false|none|none| +|»» extMetadata|object|false|none|none| + +#### Enumerated Values + +|Property|Value| +|---|---| +|dayOfWeek|0| +|dayOfWeek|1| +|dayOfWeek|2| +|dayOfWeek|3| +|dayOfWeek|4| +|dayOfWeek|5| +|dayOfWeek|6| + + + +## CalendarWorkingHourController.delete + + + +> Code samples + +```'javascript--nodejs +const fetch = require('node-fetch'); + +const headers = { + 'Accept':'application/json' +}; + +fetch('/calendars/{id}/working-hours', +{ + method: 'DELETE', + + headers: headers +}) +.then(function(res) { + return res.json(); +}).then(function(body) { + console.log(body); +}); + +``` + +`DELETE /calendars/{id}/working-hours` + +

Parameters

+ +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|id|path|string|true|none| +|where|query|object|false|none| + +> Example responses + +> 200 Response + +```json +{ + "count": 0 +} +``` + +

Responses

+ +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|Calendar.WorkingHour DELETE success count|[loopback.Count](#schemaloopback.count)| + + + +

EventController

+ +## EventController.count + + + +> Code samples + +```'javascript--nodejs +const fetch = require('node-fetch'); + +const headers = { + 'Accept':'application/json' +}; + +fetch('/events/count', +{ + method: 'GET', + + headers: headers +}) +.then(function(res) { + return res.json(); +}).then(function(body) { + console.log(body); +}); + +``` + +`GET /events/count` + +

Parameters

+ +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|where|query|object|false|none| + +> Example responses + +> 200 Response + +```json +{ + "count": 0 +} +``` + +

Responses

+ +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|Event model count|[loopback.Count](#schemaloopback.count)| + + + +## EventController.getFeeBusyStatus + + + +> Code samples + +```'javascript--nodejs +const fetch = require('node-fetch'); +const inputBody = { + "timeMax": "2019-08-24T14:15:22Z", + "timeMin": "2019-08-24T14:15:22Z", + "items": [ + { + "id": "string", + "bgColor": "string", + "description": "string", + "endDateTime": "2019-08-24T14:15:22Z", + "extId": "string", + "extMetadata": {}, + "fgColor": "string", + "iCalUid": "string", + "isFullDayEvent": true, + "isLocked": true, + "link": "string", + "location": "string", + "meetingLink": "string", + "identifier": "string", + "startDateTime": "2019-08-24T14:15:22Z", + "status": "confirmed", + "summary": "string", + "timezone": "string", + "attendeeId": "string", + "isOptional": true, + "attendeeIdentifier": "string", + "isOrganizer": true, + "messages": "string", + "eventId": "string" + } + ] +}; +const headers = { + 'Content-Type':'application/json' +}; + +fetch('/events/freeBusy', +{ + method: 'GET', + body: JSON.stringify(inputBody), + headers: headers +}) +.then(function(res) { + return res.json(); +}).then(function(body) { + console.log(body); +}); + +``` + +`GET /events/freeBusy` + +> Body parameter + +```json +{ + "timeMax": "2019-08-24T14:15:22Z", + "timeMin": "2019-08-24T14:15:22Z", + "items": [ + { + "id": "string", + "bgColor": "string", + "description": "string", + "endDateTime": "2019-08-24T14:15:22Z", + "extId": "string", + "extMetadata": {}, + "fgColor": "string", + "iCalUid": "string", + "isFullDayEvent": true, + "isLocked": true, + "link": "string", + "location": "string", + "meetingLink": "string", + "identifier": "string", + "startDateTime": "2019-08-24T14:15:22Z", + "status": "confirmed", + "summary": "string", + "timezone": "string", + "attendeeId": "string", + "isOptional": true, + "attendeeIdentifier": "string", + "isOrganizer": true, + "messages": "string", + "eventId": "string" + } + ] +} +``` + +

Parameters

+ +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|body|body|[FreeBusyRequest](#schemafreebusyrequest)|false|none| + +

Responses

+ +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|Return value of EventController.getFeeBusyStatus|None| + + + +## EventController.replaceById + + + +> Code samples + +```'javascript--nodejs +const fetch = require('node-fetch'); +const inputBody = { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "bgColor": "string", + "description": "string", + "endDateTime": "2019-08-24T14:15:22Z", + "fgColor": "string", + "iCalUid": "string", + "isFullDayEvent": true, + "isLocked": true, + "link": "string", + "location": "string", + "meetingLink": "string", + "identifier": "string", + "startDateTime": "2019-08-24T14:15:22Z", + "status": "confirmed", + "summary": "string", + "timezone": "string", + "calendarId": "string", + "parentEventId": "string", + "extId": "string", + "extMetadata": {} +}; +const headers = { + 'Content-Type':'application/json' +}; + +fetch('/events/{id}', +{ + method: 'PUT', + body: JSON.stringify(inputBody), + headers: headers +}) +.then(function(res) { + return res.json(); +}).then(function(body) { + console.log(body); +}); + +``` + +`PUT /events/{id}` + +> Body parameter + +```json +{ + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "bgColor": "string", + "description": "string", + "endDateTime": "2019-08-24T14:15:22Z", + "fgColor": "string", + "iCalUid": "string", + "isFullDayEvent": true, + "isLocked": true, + "link": "string", + "location": "string", + "meetingLink": "string", + "identifier": "string", + "startDateTime": "2019-08-24T14:15:22Z", + "status": "confirmed", + "summary": "string", + "timezone": "string", + "calendarId": "string", + "parentEventId": "string", + "extId": "string", + "extMetadata": {} +} +``` + +

Parameters

+ +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|id|path|string|true|none| +|body|body|[Event](#schemaevent)|false|none| + +

Responses

+ +|Status|Meaning|Description|Schema| +|---|---|---|---| +|204|[No Content](https://tools.ietf.org/html/rfc7231#section-6.3.5)|Event PUT success|None| + + + +## EventController.updateById + + + +> Code samples + +```'javascript--nodejs +const fetch = require('node-fetch'); +const inputBody = { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "bgColor": "string", + "description": "string", + "endDateTime": "2019-08-24T14:15:22Z", + "fgColor": "string", + "iCalUid": "string", + "isFullDayEvent": true, + "isLocked": true, + "link": "string", + "location": "string", + "meetingLink": "string", + "identifier": "string", + "startDateTime": "2019-08-24T14:15:22Z", + "status": "confirmed", + "summary": "string", + "timezone": "string", + "calendarId": "string", + "parentEventId": "string", + "extId": "string", + "extMetadata": {} +}; +const headers = { + 'Content-Type':'application/json' +}; + +fetch('/events/{id}', +{ + method: 'PATCH', + body: JSON.stringify(inputBody), + headers: headers +}) +.then(function(res) { + return res.json(); +}).then(function(body) { + console.log(body); +}); + +``` + +`PATCH /events/{id}` + +> Body parameter + +```json +{ + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "bgColor": "string", + "description": "string", + "endDateTime": "2019-08-24T14:15:22Z", + "fgColor": "string", + "iCalUid": "string", + "isFullDayEvent": true, + "isLocked": true, + "link": "string", + "location": "string", + "meetingLink": "string", + "identifier": "string", + "startDateTime": "2019-08-24T14:15:22Z", + "status": "confirmed", + "summary": "string", + "timezone": "string", + "calendarId": "string", + "parentEventId": "string", + "extId": "string", + "extMetadata": {} +} +``` + +

Parameters

+ +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|id|path|string|true|none| +|body|body|[EventPartial](#schemaeventpartial)|false|none| + +

Responses

+ +|Status|Meaning|Description|Schema| +|---|---|---|---| +|204|[No Content](https://tools.ietf.org/html/rfc7231#section-6.3.5)|Event PATCH success|None| + + + +## EventController.findById + + + +> Code samples + +```'javascript--nodejs +const fetch = require('node-fetch'); + +const headers = { + 'Accept':'application/json' +}; + +fetch('/events/{id}', +{ + method: 'GET', + + headers: headers +}) +.then(function(res) { + return res.json(); +}).then(function(body) { + console.log(body); +}); + +``` + +`GET /events/{id}` + +

Parameters

+ +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|id|path|string|true|none| +|filter|query|[events.Filter](#schemaevents.filter)|false|none| + +> Example responses + +> 200 Response + +```json +{ + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "bgColor": "string", + "description": "string", + "endDateTime": "2019-08-24T14:15:22Z", + "fgColor": "string", + "iCalUid": "string", + "isFullDayEvent": true, + "isLocked": true, + "link": "string", + "location": "string", + "meetingLink": "string", + "identifier": "string", + "startDateTime": "2019-08-24T14:15:22Z", + "status": "confirmed", + "summary": "string", + "timezone": "string", + "calendarId": "string", + "parentEventId": "string", + "extId": "string", + "extMetadata": {}, + "calendar": { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "source": "string", + "enableWorkingHours": true, + "location": "string", + "identifier": "string", + "summary": "string", + "timezone": "string", + "extId": "string", + "extMetadata": {}, + "events": [ + { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "bgColor": "string", + "description": "string", + "endDateTime": "2019-08-24T14:15:22Z", + "fgColor": "string", + "iCalUid": "string", + "isFullDayEvent": true, + "isLocked": true, + "link": "string", + "location": "string", + "meetingLink": "string", + "identifier": "string", + "startDateTime": "2019-08-24T14:15:22Z", + "status": "confirmed", + "summary": "string", + "timezone": "string", + "calendarId": "string", + "parentEventId": "string", + "extId": "string", + "extMetadata": {}, + "calendar": {}, + "parentEvent": {}, + "attendees": [ + { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "identifier": "string", + "isOptional": true, + "isOrganizer": true, + "messages": "string", + "responseStatus": "needsAction", + "eventId": "string", + "extId": "string", + "extMetadata": {}, + "event": {} + } + ], + "attachments": [ + { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "fileUrl": "string", + "iconLink": "string", + "mimeType": "string", + "title": "string", + "eventId": "string", + "extId": "string", + "extMetadata": {}, + "event": {} + } + ] + } + ], + "workingHours": [ + { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "dayOfWeek": 0, + "end": "string", + "start": "string", + "calendarId": "string", + "extId": "string", + "extMetadata": {}, + "calendar": {} + } + ], + "subscriptions": [ + { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "accessRole": "freeBusyReader", + "bgColor": "string", + "fgColor": "string", + "isHidden": true, + "isPrimary": true, + "identifier": "string", + "defaultReminders": {}, + "notificationSettings": {}, + "calendarId": "string", + "extId": "string", + "extMetadata": {}, + "calendar": {} + } + ] + }, + "parentEvent": { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "bgColor": "string", + "description": "string", + "endDateTime": "2019-08-24T14:15:22Z", + "fgColor": "string", + "iCalUid": "string", + "isFullDayEvent": true, + "isLocked": true, + "link": "string", + "location": "string", + "meetingLink": "string", + "identifier": "string", + "startDateTime": "2019-08-24T14:15:22Z", + "status": "confirmed", + "summary": "string", + "timezone": "string", + "calendarId": "string", + "parentEventId": "string", + "extId": "string", + "extMetadata": {}, + "calendar": { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "source": "string", + "enableWorkingHours": true, + "location": "string", + "identifier": "string", + "summary": "string", + "timezone": "string", + "extId": "string", + "extMetadata": {}, + "events": [ + {} + ], + "workingHours": [ + { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "dayOfWeek": 0, + "end": "string", + "start": "string", + "calendarId": "string", + "extId": "string", + "extMetadata": {}, + "calendar": {} + } + ], + "subscriptions": [ + { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "accessRole": "freeBusyReader", + "bgColor": "string", + "fgColor": "string", + "isHidden": true, + "isPrimary": true, + "identifier": "string", + "defaultReminders": {}, + "notificationSettings": {}, + "calendarId": "string", + "extId": "string", + "extMetadata": {}, + "calendar": {} + } + ] + }, + "parentEvent": {}, + "attendees": [ + { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "identifier": "string", + "isOptional": true, + "isOrganizer": true, + "messages": "string", + "responseStatus": "needsAction", + "eventId": "string", + "extId": "string", + "extMetadata": {}, + "event": {} + } + ], + "attachments": [ + { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "fileUrl": "string", + "iconLink": "string", + "mimeType": "string", + "title": "string", + "eventId": "string", + "extId": "string", + "extMetadata": {}, + "event": {} + } + ] + }, + "attendees": [ + { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "identifier": "string", + "isOptional": true, + "isOrganizer": true, + "messages": "string", + "responseStatus": "needsAction", + "eventId": "string", + "extId": "string", + "extMetadata": {}, + "event": { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "bgColor": "string", + "description": "string", + "endDateTime": "2019-08-24T14:15:22Z", + "fgColor": "string", + "iCalUid": "string", + "isFullDayEvent": true, + "isLocked": true, + "link": "string", + "location": "string", + "meetingLink": "string", + "identifier": "string", + "startDateTime": "2019-08-24T14:15:22Z", + "status": "confirmed", + "summary": "string", + "timezone": "string", + "calendarId": "string", + "parentEventId": "string", + "extId": "string", + "extMetadata": {}, + "calendar": { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "source": "string", + "enableWorkingHours": true, + "location": "string", + "identifier": "string", + "summary": "string", + "timezone": "string", + "extId": "string", + "extMetadata": {}, + "events": [ + {} + ], + "workingHours": [ + { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "dayOfWeek": 0, + "end": "string", + "start": "string", + "calendarId": "string", + "extId": "string", + "extMetadata": {}, + "calendar": {} + } + ], + "subscriptions": [ + { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "accessRole": "freeBusyReader", + "bgColor": "string", + "fgColor": "string", + "isHidden": true, + "isPrimary": true, + "identifier": "string", + "defaultReminders": {}, + "notificationSettings": {}, + "calendarId": "string", + "extId": "string", + "extMetadata": {}, + "calendar": {} + } + ] + }, + "parentEvent": {}, + "attendees": [], + "attachments": [ + { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "fileUrl": "string", + "iconLink": "string", + "mimeType": "string", + "title": "string", + "eventId": "string", + "extId": "string", + "extMetadata": {}, + "event": {} + } + ] + } + } + ], + "attachments": [ + { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "fileUrl": "string", + "iconLink": "string", + "mimeType": "string", + "title": "string", + "eventId": "string", + "extId": "string", + "extMetadata": {}, + "event": { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "bgColor": "string", + "description": "string", + "endDateTime": "2019-08-24T14:15:22Z", + "fgColor": "string", + "iCalUid": "string", + "isFullDayEvent": true, + "isLocked": true, + "link": "string", + "location": "string", + "meetingLink": "string", + "identifier": "string", + "startDateTime": "2019-08-24T14:15:22Z", + "status": "confirmed", + "summary": "string", + "timezone": "string", + "calendarId": "string", + "parentEventId": "string", + "extId": "string", + "extMetadata": {}, + "calendar": { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "source": "string", + "enableWorkingHours": true, + "location": "string", + "identifier": "string", + "summary": "string", + "timezone": "string", + "extId": "string", + "extMetadata": {}, + "events": [ + {} + ], + "workingHours": [ + { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "dayOfWeek": 0, + "end": "string", + "start": "string", + "calendarId": "string", + "extId": "string", + "extMetadata": {}, + "calendar": {} + } + ], + "subscriptions": [ + { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "accessRole": "freeBusyReader", + "bgColor": "string", + "fgColor": "string", + "isHidden": true, + "isPrimary": true, + "identifier": "string", + "defaultReminders": {}, + "notificationSettings": {}, + "calendarId": "string", + "extId": "string", + "extMetadata": {}, + "calendar": {} + } + ] + }, + "parentEvent": {}, + "attendees": [ + { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "identifier": "string", + "isOptional": true, + "isOrganizer": true, + "messages": "string", + "responseStatus": "needsAction", + "eventId": "string", + "extId": "string", + "extMetadata": {}, + "event": {} + } + ], + "attachments": [] + } + } + ] +} +``` + +

Responses

+ +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|Event model instance|[EventWithRelations](#schemaeventwithrelations)| + + + +## EventController.deleteById + + + +> Code samples + +```'javascript--nodejs +const fetch = require('node-fetch'); + +fetch('/events/{id}', +{ + method: 'DELETE' + +}) +.then(function(res) { + return res.json(); +}).then(function(body) { + console.log(body); +}); + +``` + +`DELETE /events/{id}` + +

Parameters

+ +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|id|path|string|true|none| + +

Responses

+ +|Status|Meaning|Description|Schema| +|---|---|---|---| +|204|[No Content](https://tools.ietf.org/html/rfc7231#section-6.3.5)|Event DELETE success|None| + + + +## EventController.create + + + +> Code samples + +```'javascript--nodejs +const fetch = require('node-fetch'); +const inputBody = { + "bgColor": "string", + "description": "string", + "endDateTime": "2019-08-24T14:15:22Z", + "fgColor": "string", + "iCalUid": "string", + "isFullDayEvent": true, + "isLocked": true, + "link": "string", + "location": "string", + "meetingLink": "string", + "identifier": "string", + "startDateTime": "2019-08-24T14:15:22Z", + "status": "confirmed", + "summary": "string", + "timezone": "string", + "calendarId": "string", + "parentEventId": "string", + "attachments": [ + { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "fileUrl": "string", + "iconLink": "string", + "mimeType": "string", + "title": "string", + "eventId": "string", + "extId": "string", + "extMetadata": {} + } + ], + "attendees": [ + { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "identifier": "string", + "isOptional": true, + "isOrganizer": true, + "messages": "string", + "responseStatus": "needsAction", + "eventId": "string", + "extId": "string", + "extMetadata": {} + } + ], + "extId": "string", + "extMetadata": {} +}; +const headers = { + 'Content-Type':'application/json', + 'Accept':'application/json' +}; + +fetch('/events', +{ + method: 'POST', + body: JSON.stringify(inputBody), + headers: headers +}) +.then(function(res) { + return res.json(); +}).then(function(body) { + console.log(body); +}); + +``` + +`POST /events` + +> Body parameter + +```json +{ + "bgColor": "string", + "description": "string", + "endDateTime": "2019-08-24T14:15:22Z", + "fgColor": "string", + "iCalUid": "string", + "isFullDayEvent": true, + "isLocked": true, + "link": "string", + "location": "string", + "meetingLink": "string", + "identifier": "string", + "startDateTime": "2019-08-24T14:15:22Z", + "status": "confirmed", + "summary": "string", + "timezone": "string", + "calendarId": "string", + "parentEventId": "string", + "attachments": [ + { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "fileUrl": "string", + "iconLink": "string", + "mimeType": "string", + "title": "string", + "eventId": "string", + "extId": "string", + "extMetadata": {} + } + ], + "attendees": [ + { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "identifier": "string", + "isOptional": true, + "isOrganizer": true, + "messages": "string", + "responseStatus": "needsAction", + "eventId": "string", + "extId": "string", + "extMetadata": {} + } + ], + "extId": "string", + "extMetadata": {} +} +``` + +

Parameters

+ +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|body|body|[NewEvent](#schemanewevent)|false|none| + +> Example responses + +> 200 Response + +```json +{ + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "bgColor": "string", + "description": "string", + "endDateTime": "2019-08-24T14:15:22Z", + "fgColor": "string", + "iCalUid": "string", + "isFullDayEvent": true, + "isLocked": true, + "link": "string", + "location": "string", + "meetingLink": "string", + "identifier": "string", + "startDateTime": "2019-08-24T14:15:22Z", + "status": "confirmed", + "summary": "string", + "timezone": "string", + "calendarId": "string", + "parentEventId": "string", + "extId": "string", + "extMetadata": {} +} +``` + +

Responses

+ +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|Event model instance|[Event](#schemaevent)| + + + +## EventController.updateAll + + + +> Code samples + +```'javascript--nodejs +const fetch = require('node-fetch'); +const inputBody = { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "bgColor": "string", + "description": "string", + "endDateTime": "2019-08-24T14:15:22Z", + "fgColor": "string", + "iCalUid": "string", + "isFullDayEvent": true, + "isLocked": true, + "link": "string", + "location": "string", + "meetingLink": "string", + "identifier": "string", + "startDateTime": "2019-08-24T14:15:22Z", + "status": "confirmed", + "summary": "string", + "timezone": "string", + "calendarId": "string", + "parentEventId": "string", + "extId": "string", + "extMetadata": {} +}; +const headers = { + 'Content-Type':'application/json', + 'Accept':'application/json' +}; + +fetch('/events', +{ + method: 'PATCH', + body: JSON.stringify(inputBody), + headers: headers +}) +.then(function(res) { + return res.json(); +}).then(function(body) { + console.log(body); +}); + +``` + +`PATCH /events` + +> Body parameter + +```json +{ + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "bgColor": "string", + "description": "string", + "endDateTime": "2019-08-24T14:15:22Z", + "fgColor": "string", + "iCalUid": "string", + "isFullDayEvent": true, + "isLocked": true, + "link": "string", + "location": "string", + "meetingLink": "string", + "identifier": "string", + "startDateTime": "2019-08-24T14:15:22Z", + "status": "confirmed", + "summary": "string", + "timezone": "string", + "calendarId": "string", + "parentEventId": "string", + "extId": "string", + "extMetadata": {} +} +``` + +

Parameters

+ +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|where|query|object|false|none| +|body|body|[EventPartial](#schemaeventpartial)|false|none| + +> Example responses + +> 200 Response + +```json +{ + "count": 0 +} +``` + +

Responses

+ +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|Event PATCH success count|[loopback.Count](#schemaloopback.count)| + + + +## EventController.find + + + +> Code samples + +```'javascript--nodejs +const fetch = require('node-fetch'); + +const headers = { + 'Accept':'application/json' +}; + +fetch('/events', +{ + method: 'GET', + + headers: headers +}) +.then(function(res) { + return res.json(); +}).then(function(body) { + console.log(body); +}); + +``` + +`GET /events` + +

Parameters

+ +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|filter|query|[events_attendees_view.Filter](#schemaevents_attendees_view.filter)|false|none| + +> Example responses + +> 200 Response + +```json +[ + { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "bgColor": "string", + "description": "string", + "endDateTime": "2019-08-24T14:15:22Z", + "fgColor": "string", + "iCalUid": "string", + "isFullDayEvent": true, + "isLocked": true, + "link": "string", + "location": "string", + "meetingLink": "string", + "identifier": "string", + "startDateTime": "2019-08-24T14:15:22Z", + "status": "confirmed", + "summary": "string", + "timezone": "string", + "calendarId": "string", + "parentEventId": "string", + "extId": "string", + "extMetadata": {}, + "calendar": { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "source": "string", + "enableWorkingHours": true, + "location": "string", + "identifier": "string", + "summary": "string", + "timezone": "string", + "extId": "string", + "extMetadata": {}, + "events": [ + {} + ], + "workingHours": [ + { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "dayOfWeek": 0, + "end": "string", + "start": "string", + "calendarId": "string", + "extId": "string", + "extMetadata": {}, + "calendar": {} + } + ], + "subscriptions": [ + { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "accessRole": "freeBusyReader", + "bgColor": "string", + "fgColor": "string", + "isHidden": true, + "isPrimary": true, + "identifier": "string", + "defaultReminders": {}, + "notificationSettings": {}, + "calendarId": "string", + "extId": "string", + "extMetadata": {}, + "calendar": {} + } + ] + }, + "parentEvent": {}, + "attendees": [ + { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "identifier": "string", + "isOptional": true, + "isOrganizer": true, + "messages": "string", + "responseStatus": "needsAction", + "eventId": "string", + "extId": "string", + "extMetadata": {}, + "event": {} + } + ], + "attachments": [ + { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "fileUrl": "string", + "iconLink": "string", + "mimeType": "string", + "title": "string", + "eventId": "string", + "extId": "string", + "extMetadata": {}, + "event": {} + } + ] + } +] +``` + +

Responses

+ +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|Array of Event model instances|Inline| + +

Response Schema

+ +Status Code **200** + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|*anonymous*|[[EventWithRelations](#schemaeventwithrelations)]|false|none|[(tsType: EventWithRelations, schemaOptions: { includeRelations: true })]| +|» EventWithRelations|[EventWithRelations](#schemaeventwithrelations)|false|none|(tsType: EventWithRelations, schemaOptions: { includeRelations: true })| +|»» deleted|boolean|false|none|none| +|»» deletedOn|string(date-time)¦null|false|none|none| +|»» deletedBy|string¦null|false|none|none| +|»» createdOn|string(date-time)|false|none|none| +|»» modifiedOn|string(date-time)|false|none|none| +|»» createdBy|string|false|none|none| +|»» modifiedBy|string|false|none|none| +|»» id|string|false|none|none| +|»» bgColor|string|false|none|none| +|»» description|string|false|none|none| +|»» endDateTime|string(date-time)|false|none|none| +|»» fgColor|string|false|none|none| +|»» iCalUid|string|false|none|none| +|»» isFullDayEvent|boolean|false|none|none| +|»» isLocked|boolean|false|none|none| +|»» link|string|false|none|none| +|»» location|string|false|none|none| +|»» meetingLink|string|false|none|none| +|»» identifier|string|false|none|none| +|»» startDateTime|string(date-time)|false|none|none| +|»» status|string|false|none|none| +|»» summary|string|false|none|none| +|»» timezone|string|false|none|none| +|»» calendarId|string|true|none|none| +|»» parentEventId|string|false|none|none| +|»» extId|string|false|none|none| +|»» extMetadata|object|false|none|none| +|»» calendar|[CalendarWithRelations](#schemacalendarwithrelations)|false|none|(tsType: CalendarWithRelations, schemaOptions: { includeRelations: true })| +|»»» deleted|boolean|false|none|none| +|»»» deletedOn|string(date-time)¦null|false|none|none| +|»»» deletedBy|string¦null|false|none|none| +|»»» createdOn|string(date-time)|false|none|none| +|»»» modifiedOn|string(date-time)|false|none|none| +|»»» createdBy|string|false|none|none| +|»»» modifiedBy|string|false|none|none| +|»»» id|string|false|none|none| +|»»» source|string|false|none|none| +|»»» enableWorkingHours|boolean|false|none|none| +|»»» location|string|false|none|none| +|»»» identifier|string|true|none|none| +|»»» summary|string|false|none|none| +|»»» timezone|string|false|none|none| +|»»» extId|string|false|none|none| +|»»» extMetadata|object|false|none|none| +|»»» events|[[EventWithRelations](#schemaeventwithrelations)]|false|none|(tsType: EventWithRelations, schemaOptions: { includeRelations: true })| +|»»»» EventWithRelations|[EventWithRelations](#schemaeventwithrelations)|false|none|(tsType: EventWithRelations, schemaOptions: { includeRelations: true })| +|»»» workingHours|[[WorkingHourWithRelations](#schemaworkinghourwithrelations)]|false|none|(tsType: WorkingHourWithRelations, schemaOptions: { includeRelations: true })| +|»»»» WorkingHourWithRelations|[WorkingHourWithRelations](#schemaworkinghourwithrelations)|false|none|(tsType: WorkingHourWithRelations, schemaOptions: { includeRelations: true })| +|»»»»» deleted|boolean|false|none|none| +|»»»»» deletedOn|string(date-time)¦null|false|none|none| +|»»»»» deletedBy|string¦null|false|none|none| +|»»»»» createdOn|string(date-time)|false|none|none| +|»»»»» modifiedOn|string(date-time)|false|none|none| +|»»»»» createdBy|string|false|none|none| +|»»»»» modifiedBy|string|false|none|none| +|»»»»» id|string|false|none|none| +|»»»»» dayOfWeek|number|false|none|none| +|»»»»» end|string|false|none|none| +|»»»»» start|string|false|none|none| +|»»»»» calendarId|string|true|none|none| +|»»»»» extId|string|false|none|none| +|»»»»» extMetadata|object|false|none|none| +|»»»»» calendar|[CalendarWithRelations](#schemacalendarwithrelations)|false|none|(tsType: CalendarWithRelations, schemaOptions: { includeRelations: true })| +|»»» subscriptions|[[SubscriptionWithRelations](#schemasubscriptionwithrelations)]|false|none|(tsType: SubscriptionWithRelations, schemaOptions: { includeRelations: true })| +|»»»» SubscriptionWithRelations|[SubscriptionWithRelations](#schemasubscriptionwithrelations)|false|none|(tsType: SubscriptionWithRelations, schemaOptions: { includeRelations: true })| +|»»»»» deleted|boolean|false|none|none| +|»»»»» deletedOn|string(date-time)¦null|false|none|none| +|»»»»» deletedBy|string¦null|false|none|none| +|»»»»» createdOn|string(date-time)|false|none|none| +|»»»»» modifiedOn|string(date-time)|false|none|none| +|»»»»» createdBy|string|false|none|none| +|»»»»» modifiedBy|string|false|none|none| +|»»»»» id|string|false|none|none| +|»»»»» accessRole|string|false|none|none| +|»»»»» bgColor|string|false|none|none| +|»»»»» fgColor|string|false|none|none| +|»»»»» isHidden|boolean|false|none|none| +|»»»»» isPrimary|boolean|false|none|none| +|»»»»» identifier|string|true|none|none| +|»»»»» defaultReminders|object|false|none|none| +|»»»»» notificationSettings|object|false|none|none| +|»»»»» calendarId|string|true|none|none| +|»»»»» extId|string|false|none|none| +|»»»»» extMetadata|object|false|none|none| +|»»»»» calendar|[CalendarWithRelations](#schemacalendarwithrelations)|false|none|(tsType: CalendarWithRelations, schemaOptions: { includeRelations: true })| +|»» parentEvent|[EventWithRelations](#schemaeventwithrelations)|false|none|(tsType: EventWithRelations, schemaOptions: { includeRelations: true })| +|»» attendees|[[AttendeeWithRelations](#schemaattendeewithrelations)]|false|none|(tsType: AttendeeWithRelations, schemaOptions: { includeRelations: true })| +|»»» AttendeeWithRelations|[AttendeeWithRelations](#schemaattendeewithrelations)|false|none|(tsType: AttendeeWithRelations, schemaOptions: { includeRelations: true })| +|»»»» deleted|boolean|false|none|none| +|»»»» deletedOn|string(date-time)¦null|false|none|none| +|»»»» deletedBy|string¦null|false|none|none| +|»»»» createdOn|string(date-time)|false|none|none| +|»»»» modifiedOn|string(date-time)|false|none|none| +|»»»» createdBy|string|false|none|none| +|»»»» modifiedBy|string|false|none|none| +|»»»» id|string|false|none|none| +|»»»» identifier|string|true|none|none| +|»»»» isOptional|boolean|false|none|none| +|»»»» isOrganizer|boolean|false|none|none| +|»»»» messages|string|false|none|none| +|»»»» responseStatus|string|false|none|none| +|»»»» eventId|string|true|none|none| +|»»»» extId|string|false|none|none| +|»»»» extMetadata|object|false|none|none| +|»»»» event|[EventWithRelations](#schemaeventwithrelations)|false|none|(tsType: EventWithRelations, schemaOptions: { includeRelations: true })| +|»» attachments|[[AttachmentWithRelations](#schemaattachmentwithrelations)]|false|none|(tsType: AttachmentWithRelations, schemaOptions: { includeRelations: true })| +|»»» AttachmentWithRelations|[AttachmentWithRelations](#schemaattachmentwithrelations)|false|none|(tsType: AttachmentWithRelations, schemaOptions: { includeRelations: true })| +|»»»» deleted|boolean|false|none|none| +|»»»» deletedOn|string(date-time)¦null|false|none|none| +|»»»» deletedBy|string¦null|false|none|none| +|»»»» createdOn|string(date-time)|false|none|none| +|»»»» modifiedOn|string(date-time)|false|none|none| +|»»»» createdBy|string|false|none|none| +|»»»» modifiedBy|string|false|none|none| +|»»»» id|string|false|none|none| +|»»»» fileUrl|string|true|none|none| +|»»»» iconLink|string|false|none|none| +|»»»» mimeType|string|false|none|none| +|»»»» title|string|false|none|none| +|»»»» eventId|string|true|none|none| +|»»»» extId|string|false|none|none| +|»»»» extMetadata|object|false|none|none| +|»»»» event|[EventWithRelations](#schemaeventwithrelations)|false|none|(tsType: EventWithRelations, schemaOptions: { includeRelations: true })| + +#### Enumerated Values + +|Property|Value| +|---|---| +|status|confirmed| +|status|tentative| +|status|cancelled| +|status|completed| +|dayOfWeek|0| +|dayOfWeek|1| +|dayOfWeek|2| +|dayOfWeek|3| +|dayOfWeek|4| +|dayOfWeek|5| +|dayOfWeek|6| +|accessRole|freeBusyReader| +|accessRole|reader| +|accessRole|writer| +|accessRole|owner| +|responseStatus|needsAction| +|responseStatus|tentative| +|responseStatus|accepted| +|responseStatus|declined| + + + +

EventAttachmentController

+ +## EventAttachmentController.create + + + +> Code samples + +```'javascript--nodejs +const fetch = require('node-fetch'); +const inputBody = { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "fileUrl": "string", + "iconLink": "string", + "mimeType": "string", + "title": "string", + "eventId": "string", + "extId": "string", + "extMetadata": {} +}; +const headers = { + 'Content-Type':'application/json', + 'Accept':'application/json' +}; + +fetch('/events/{id}/attachments', +{ + method: 'POST', + body: JSON.stringify(inputBody), + headers: headers +}) +.then(function(res) { + return res.json(); +}).then(function(body) { + console.log(body); +}); + +``` + +`POST /events/{id}/attachments` + +> Body parameter + +```json +{ + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "fileUrl": "string", + "iconLink": "string", + "mimeType": "string", + "title": "string", + "eventId": "string", + "extId": "string", + "extMetadata": {} +} +``` + +

Parameters

+ +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|id|path|string|true|none| +|body|body|[NewAttachmentInEvent](#schemanewattachmentinevent)|false|none| + +> Example responses + +> 200 Response + +```json +{ + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "fileUrl": "string", + "iconLink": "string", + "mimeType": "string", + "title": "string", + "eventId": "string", + "extId": "string", + "extMetadata": {} +} +``` + +

Responses

+ +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|Event model instance|[Attachment](#schemaattachment)| + + + +## EventAttachmentController.patch + + + +> Code samples + +```'javascript--nodejs +const fetch = require('node-fetch'); +const inputBody = { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "fileUrl": "string", + "iconLink": "string", + "mimeType": "string", + "title": "string", + "eventId": "string", + "extId": "string", + "extMetadata": {} +}; +const headers = { + 'Content-Type':'application/json', + 'Accept':'application/json' +}; + +fetch('/events/{id}/attachments', +{ + method: 'PATCH', + body: JSON.stringify(inputBody), + headers: headers +}) +.then(function(res) { + return res.json(); +}).then(function(body) { + console.log(body); +}); + +``` + +`PATCH /events/{id}/attachments` + +> Body parameter + +```json +{ + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "fileUrl": "string", + "iconLink": "string", + "mimeType": "string", + "title": "string", + "eventId": "string", + "extId": "string", + "extMetadata": {} +} +``` + +

Parameters

+ +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|id|path|string|true|none| +|where|query|object|false|none| +|body|body|[AttachmentPartial](#schemaattachmentpartial)|false|none| + +> Example responses + +> 200 Response + +```json +{ + "count": 0 +} +``` + +

Responses

+ +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|Event.Attachment PATCH success count|[loopback.Count](#schemaloopback.count)| + + + +## EventAttachmentController.find + + + +> Code samples + +```'javascript--nodejs +const fetch = require('node-fetch'); + +const headers = { + 'Accept':'application/json' +}; + +fetch('/events/{id}/attachments', +{ + method: 'GET', + + headers: headers +}) +.then(function(res) { + return res.json(); +}).then(function(body) { + console.log(body); +}); + +``` + +`GET /events/{id}/attachments` + +

Parameters

+ +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|id|path|string|true|none| +|filter|query|object|false|none| + +> Example responses + +> 200 Response + +```json +[ + { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "fileUrl": "string", + "iconLink": "string", + "mimeType": "string", + "title": "string", + "eventId": "string", + "extId": "string", + "extMetadata": {} + } +] +``` + +

Responses

+ +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|Array of Event has many Attachment|Inline| + +

Response Schema

+ +Status Code **200** + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|*anonymous*|[[Attachment](#schemaattachment)]|false|none|none| +|» Attachment|[Attachment](#schemaattachment)|false|none|none| +|»» deleted|boolean|false|none|none| +|»» deletedOn|string(date-time)¦null|false|none|none| +|»» deletedBy|string¦null|false|none|none| +|»» createdOn|string(date-time)|false|none|none| +|»» modifiedOn|string(date-time)|false|none|none| +|»» createdBy|string|false|none|none| +|»» modifiedBy|string|false|none|none| +|»» id|string|false|none|none| +|»» fileUrl|string|true|none|none| +|»» iconLink|string|false|none|none| +|»» mimeType|string|false|none|none| +|»» title|string|false|none|none| +|»» eventId|string|true|none|none| +|»» extId|string|false|none|none| +|»» extMetadata|object|false|none|none| + + + +## EventAttachmentController.delete + + + +> Code samples + +```'javascript--nodejs +const fetch = require('node-fetch'); + +const headers = { + 'Accept':'application/json' +}; + +fetch('/events/{id}/attachments', +{ + method: 'DELETE', + + headers: headers +}) +.then(function(res) { + return res.json(); +}).then(function(body) { + console.log(body); +}); + +``` + +`DELETE /events/{id}/attachments` + +

Parameters

+ +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|id|path|string|true|none| +|where|query|object|false|none| + +> Example responses + +> 200 Response + +```json +{ + "count": 0 +} +``` + +

Responses

+ +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|Event.Attachment DELETE success count|[loopback.Count](#schemaloopback.count)| + + + +

EventAttendeeController

+ +## EventAttendeeController.create + + + +> Code samples + +```'javascript--nodejs +const fetch = require('node-fetch'); +const inputBody = { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "identifier": "string", + "isOptional": true, + "isOrganizer": true, + "messages": "string", + "responseStatus": "needsAction", + "eventId": "string", + "extId": "string", + "extMetadata": {} +}; +const headers = { + 'Content-Type':'application/json', + 'Accept':'application/json' +}; + +fetch('/events/{id}/attendees', +{ + method: 'POST', + body: JSON.stringify(inputBody), + headers: headers +}) +.then(function(res) { + return res.json(); +}).then(function(body) { + console.log(body); +}); + +``` + +`POST /events/{id}/attendees` + +> Body parameter + +```json +{ + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "identifier": "string", + "isOptional": true, + "isOrganizer": true, + "messages": "string", + "responseStatus": "needsAction", + "eventId": "string", + "extId": "string", + "extMetadata": {} +} +``` + +

Parameters

+ +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|id|path|string|true|none| +|body|body|[NewAttendeeInEvent](#schemanewattendeeinevent)|false|none| + +> Example responses + +> 200 Response + +```json +{ + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "identifier": "string", + "isOptional": true, + "isOrganizer": true, + "messages": "string", + "responseStatus": "needsAction", + "eventId": "string", + "extId": "string", + "extMetadata": {} +} +``` + +

Responses

+ +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|Event model instance|[Attendee](#schemaattendee)| + + + +## EventAttendeeController.patch + + + +> Code samples + +```'javascript--nodejs +const fetch = require('node-fetch'); +const inputBody = { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "identifier": "string", + "isOptional": true, + "isOrganizer": true, + "messages": "string", + "responseStatus": "needsAction", + "eventId": "string", + "extId": "string", + "extMetadata": {} +}; +const headers = { + 'Content-Type':'application/json', + 'Accept':'application/json' +}; + +fetch('/events/{id}/attendees', +{ + method: 'PATCH', + body: JSON.stringify(inputBody), + headers: headers +}) +.then(function(res) { + return res.json(); +}).then(function(body) { + console.log(body); +}); + +``` + +`PATCH /events/{id}/attendees` + +> Body parameter + +```json +{ + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "identifier": "string", + "isOptional": true, + "isOrganizer": true, + "messages": "string", + "responseStatus": "needsAction", + "eventId": "string", + "extId": "string", + "extMetadata": {} +} +``` + +

Parameters

+ +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|id|path|string|true|none| +|where|query|object|false|none| +|body|body|[AttendeePartial](#schemaattendeepartial)|false|none| + +> Example responses + +> 200 Response + +```json +{ + "count": 0 +} +``` + +

Responses

+ +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|Event.Attendee PATCH success count|[loopback.Count](#schemaloopback.count)| + + + +## EventAttendeeController.find + + + +> Code samples + +```'javascript--nodejs +const fetch = require('node-fetch'); + +const headers = { + 'Accept':'application/json' +}; + +fetch('/events/{id}/attendees', +{ + method: 'GET', + + headers: headers +}) +.then(function(res) { + return res.json(); +}).then(function(body) { + console.log(body); +}); + +``` + +`GET /events/{id}/attendees` + +

Parameters

+ +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|id|path|string|true|none| +|filter|query|object|false|none| + +> Example responses + +> 200 Response + +```json +[ + { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "identifier": "string", + "isOptional": true, + "isOrganizer": true, + "messages": "string", + "responseStatus": "needsAction", + "eventId": "string", + "extId": "string", + "extMetadata": {} + } +] +``` + +

Responses

+ +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|Array of Event has many Attendee|Inline| + +

Response Schema

+ +Status Code **200** + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|*anonymous*|[[Attendee](#schemaattendee)]|false|none|none| +|» Attendee|[Attendee](#schemaattendee)|false|none|none| +|»» deleted|boolean|false|none|none| +|»» deletedOn|string(date-time)¦null|false|none|none| +|»» deletedBy|string¦null|false|none|none| +|»» createdOn|string(date-time)|false|none|none| +|»» modifiedOn|string(date-time)|false|none|none| +|»» createdBy|string|false|none|none| +|»» modifiedBy|string|false|none|none| +|»» id|string|false|none|none| +|»» identifier|string|true|none|none| +|»» isOptional|boolean|false|none|none| +|»» isOrganizer|boolean|false|none|none| +|»» messages|string|false|none|none| +|»» responseStatus|string|false|none|none| +|»» eventId|string|true|none|none| +|»» extId|string|false|none|none| +|»» extMetadata|object|false|none|none| + +#### Enumerated Values + +|Property|Value| +|---|---| +|responseStatus|needsAction| +|responseStatus|tentative| +|responseStatus|accepted| +|responseStatus|declined| + + + +## EventAttendeeController.delete + + + +> Code samples + +```'javascript--nodejs +const fetch = require('node-fetch'); + +const headers = { + 'Accept':'application/json' +}; + +fetch('/events/{id}/attendees', +{ + method: 'DELETE', + + headers: headers +}) +.then(function(res) { + return res.json(); +}).then(function(body) { + console.log(body); +}); + +``` + +`DELETE /events/{id}/attendees` + +

Parameters

+ +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|id|path|string|true|none| +|where|query|object|false|none| + +> Example responses + +> 200 Response + +```json +{ + "count": 0 +} +``` + +

Responses

+ +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|Event.Attendee DELETE success count|[loopback.Count](#schemaloopback.count)| + + + +

SettingsController

+ +## SettingsController.count + + + +> Code samples + +```'javascript--nodejs +const fetch = require('node-fetch'); + +const headers = { + 'Accept':'application/json' +}; + +fetch('/settings/count', +{ + method: 'GET', + + headers: headers +}) +.then(function(res) { + return res.json(); +}).then(function(body) { + console.log(body); +}); + +``` + +`GET /settings/count` + +

Parameters

+ +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|where|query|object|false|none| + +> Example responses + +> 200 Response + +```json +{ + "count": 0 +} +``` + +

Responses

+ +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|Settings model count|[loopback.Count](#schemaloopback.count)| + + + +## SettingsController.replaceById + + + +> Code samples + +```'javascript--nodejs +const fetch = require('node-fetch'); +const inputBody = { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "ownerId": "string", + "ownerType": "global", + "settingName": "string", + "settingValue": "string", + "extId": "string", + "extMetadata": {} +}; +const headers = { + 'Content-Type':'application/json' +}; + +fetch('/settings/{id}', +{ + method: 'PUT', + body: JSON.stringify(inputBody), + headers: headers +}) +.then(function(res) { + return res.json(); +}).then(function(body) { + console.log(body); +}); + +``` + +`PUT /settings/{id}` + +> Body parameter + +```json +{ + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "ownerId": "string", + "ownerType": "global", + "settingName": "string", + "settingValue": "string", + "extId": "string", + "extMetadata": {} +} +``` + +

Parameters

+ +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|id|path|string|true|none| +|body|body|[Settings](#schemasettings)|false|none| + +

Responses

+ +|Status|Meaning|Description|Schema| +|---|---|---|---| +|204|[No Content](https://tools.ietf.org/html/rfc7231#section-6.3.5)|Settings PUT success|None| + + + +## SettingsController.updateById + + + +> Code samples + +```'javascript--nodejs +const fetch = require('node-fetch'); +const inputBody = { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "ownerId": "string", + "ownerType": "global", + "settingName": "string", + "settingValue": "string", + "extId": "string", + "extMetadata": {} +}; +const headers = { + 'Content-Type':'application/json' +}; + +fetch('/settings/{id}', +{ + method: 'PATCH', + body: JSON.stringify(inputBody), + headers: headers +}) +.then(function(res) { + return res.json(); +}).then(function(body) { + console.log(body); +}); + +``` + +`PATCH /settings/{id}` + +> Body parameter + +```json +{ + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "ownerId": "string", + "ownerType": "global", + "settingName": "string", + "settingValue": "string", + "extId": "string", + "extMetadata": {} +} +``` + +

Parameters

+ +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|id|path|string|true|none| +|body|body|[SettingsPartial](#schemasettingspartial)|false|none| + +

Responses

+ +|Status|Meaning|Description|Schema| +|---|---|---|---| +|204|[No Content](https://tools.ietf.org/html/rfc7231#section-6.3.5)|Settings PATCH success|None| + + + +## SettingsController.findById + + + +> Code samples + +```'javascript--nodejs +const fetch = require('node-fetch'); + +const headers = { + 'Accept':'application/json' +}; + +fetch('/settings/{id}', +{ + method: 'GET', + + headers: headers +}) +.then(function(res) { + return res.json(); +}).then(function(body) { + console.log(body); +}); + +``` + +`GET /settings/{id}` + +

Parameters

+ +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|id|path|string|true|none| +|filter|query|[settings.Filter](#schemasettings.filter)|false|none| + +> Example responses + +> 200 Response + +```json +{ + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "ownerId": "string", + "ownerType": "global", + "settingName": "string", + "settingValue": "string", + "extId": "string", + "extMetadata": {} +} +``` + +

Responses

+ +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|Settings model instance|[SettingsWithRelations](#schemasettingswithrelations)| + + + +## SettingsController.deleteById + + + +> Code samples + +```'javascript--nodejs +const fetch = require('node-fetch'); + +fetch('/settings/{id}', +{ + method: 'DELETE' + +}) +.then(function(res) { + return res.json(); +}).then(function(body) { + console.log(body); +}); + +``` + +`DELETE /settings/{id}` + +

Parameters

+ +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|id|path|string|true|none| + +

Responses

+ +|Status|Meaning|Description|Schema| +|---|---|---|---| +|204|[No Content](https://tools.ietf.org/html/rfc7231#section-6.3.5)|Settings DELETE success|None| + + + +## SettingsController.create + + + +> Code samples + +```'javascript--nodejs +const fetch = require('node-fetch'); +const inputBody = { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "ownerId": "string", + "ownerType": "global", + "settingName": "string", + "settingValue": "string", + "extId": "string", + "extMetadata": {} +}; +const headers = { + 'Content-Type':'application/json', + 'Accept':'application/json' +}; + +fetch('/settings', +{ + method: 'POST', + body: JSON.stringify(inputBody), + headers: headers +}) +.then(function(res) { + return res.json(); +}).then(function(body) { + console.log(body); +}); + +``` + +`POST /settings` + +> Body parameter + +```json +{ + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "ownerId": "string", + "ownerType": "global", + "settingName": "string", + "settingValue": "string", + "extId": "string", + "extMetadata": {} +} +``` + +

Parameters

+ +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|body|body|[NewSettings](#schemanewsettings)|false|none| + +> Example responses + +> 200 Response + +```json +{ + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "ownerId": "string", + "ownerType": "global", + "settingName": "string", + "settingValue": "string", + "extId": "string", + "extMetadata": {} +} +``` + +

Responses

+ +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|Settings model instance|[Settings](#schemasettings)| + + + +## SettingsController.updateAll + + + +> Code samples + +```'javascript--nodejs +const fetch = require('node-fetch'); +const inputBody = { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "ownerId": "string", + "ownerType": "global", + "settingName": "string", + "settingValue": "string", + "extId": "string", + "extMetadata": {} +}; +const headers = { + 'Content-Type':'application/json', + 'Accept':'application/json' +}; + +fetch('/settings', +{ + method: 'PATCH', + body: JSON.stringify(inputBody), + headers: headers +}) +.then(function(res) { + return res.json(); +}).then(function(body) { + console.log(body); +}); + +``` + +`PATCH /settings` + +> Body parameter + +```json +{ + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "ownerId": "string", + "ownerType": "global", + "settingName": "string", + "settingValue": "string", + "extId": "string", + "extMetadata": {} +} +``` + +

Parameters

+ +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|where|query|object|false|none| +|body|body|[SettingsPartial](#schemasettingspartial)|false|none| + +> Example responses + +> 200 Response + +```json +{ + "count": 0 +} +``` + +

Responses

+ +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|Settings PATCH success count|[loopback.Count](#schemaloopback.count)| + + + +## SettingsController.find + + + +> Code samples + +```'javascript--nodejs +const fetch = require('node-fetch'); + +const headers = { + 'Accept':'application/json' +}; + +fetch('/settings', +{ + method: 'GET', + + headers: headers +}) +.then(function(res) { + return res.json(); +}).then(function(body) { + console.log(body); +}); + +``` + +`GET /settings` + +

Parameters

+ +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|filter|query|[settings.Filter1](#schemasettings.filter1)|false|none| + +> Example responses + +> 200 Response + +```json +[ + { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "ownerId": "string", + "ownerType": "global", + "settingName": "string", + "settingValue": "string", + "extId": "string", + "extMetadata": {} + } +] +``` + +

Responses

+ +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|Array of Settings model instances|Inline| + +

Response Schema

+ +Status Code **200** + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|*anonymous*|[[SettingsWithRelations](#schemasettingswithrelations)]|false|none|[(tsType: SettingsWithRelations, schemaOptions: { includeRelations: true })]| +|» SettingsWithRelations|[SettingsWithRelations](#schemasettingswithrelations)|false|none|(tsType: SettingsWithRelations, schemaOptions: { includeRelations: true })| +|»» deleted|boolean|false|none|none| +|»» deletedOn|string(date-time)¦null|false|none|none| +|»» deletedBy|string¦null|false|none|none| +|»» createdOn|string(date-time)|false|none|none| +|»» modifiedOn|string(date-time)|false|none|none| +|»» createdBy|string|false|none|none| +|»» modifiedBy|string|false|none|none| +|»» id|string|false|none|none| +|»» ownerId|string|true|none|none| +|»» ownerType|string|false|none|none| +|»» settingName|string|false|none|none| +|»» settingValue|string|false|none|none| +|»» extId|string|false|none|none| +|»» extMetadata|object|false|none|none| + +#### Enumerated Values + +|Property|Value| +|---|---| +|ownerType|global| +|ownerType|user| +|ownerType|calendar| +|ownerType|event| + + + +

ThemeController

+ +## ThemeController.count + + + +> Code samples + +```'javascript--nodejs +const fetch = require('node-fetch'); + +const headers = { + 'Accept':'application/json' +}; + +fetch('/themes/count', +{ + method: 'GET', + + headers: headers +}) +.then(function(res) { + return res.json(); +}).then(function(body) { + console.log(body); +}); + +``` + +`GET /themes/count` + +

Parameters

+ +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|where|query|object|false|none| + +> Example responses + +> 200 Response + +```json +{ + "count": 0 +} +``` + +

Responses

+ +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|Theme model count|[loopback.Count](#schemaloopback.count)| + + + +## ThemeController.replaceById + + + +> Code samples + +```'javascript--nodejs +const fetch = require('node-fetch'); +const inputBody = { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "calBg": "string", + "calFg": "string", + "eventBg": "string", + "eventFg": "string", + "extId": "string", + "extMetadata": {} +}; +const headers = { + 'Content-Type':'application/json' +}; + +fetch('/themes/{id}', +{ + method: 'PUT', + body: JSON.stringify(inputBody), + headers: headers +}) +.then(function(res) { + return res.json(); +}).then(function(body) { + console.log(body); +}); + +``` + +`PUT /themes/{id}` + +> Body parameter + +```json +{ + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "calBg": "string", + "calFg": "string", + "eventBg": "string", + "eventFg": "string", + "extId": "string", + "extMetadata": {} +} +``` + +

Parameters

+ +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|id|path|string|true|none| +|body|body|[Theme](#schematheme)|false|none| + +

Responses

+ +|Status|Meaning|Description|Schema| +|---|---|---|---| +|204|[No Content](https://tools.ietf.org/html/rfc7231#section-6.3.5)|Theme PUT success|None| + + + +## ThemeController.updateById + + + +> Code samples + +```'javascript--nodejs +const fetch = require('node-fetch'); +const inputBody = { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "calBg": "string", + "calFg": "string", + "eventBg": "string", + "eventFg": "string", + "extId": "string", + "extMetadata": {} +}; +const headers = { + 'Content-Type':'application/json' +}; + +fetch('/themes/{id}', +{ + method: 'PATCH', + body: JSON.stringify(inputBody), + headers: headers +}) +.then(function(res) { + return res.json(); +}).then(function(body) { + console.log(body); +}); + +``` + +`PATCH /themes/{id}` + +> Body parameter + +```json +{ + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "calBg": "string", + "calFg": "string", + "eventBg": "string", + "eventFg": "string", + "extId": "string", + "extMetadata": {} +} +``` + +

Parameters

+ +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|id|path|string|true|none| +|body|body|[ThemePartial](#schemathemepartial)|false|none| + +

Responses

+ +|Status|Meaning|Description|Schema| +|---|---|---|---| +|204|[No Content](https://tools.ietf.org/html/rfc7231#section-6.3.5)|Theme PATCH success|None| + + + +## ThemeController.findById + + + +> Code samples + +```'javascript--nodejs +const fetch = require('node-fetch'); + +const headers = { + 'Accept':'application/json' +}; + +fetch('/themes/{id}', +{ + method: 'GET', + + headers: headers +}) +.then(function(res) { + return res.json(); +}).then(function(body) { + console.log(body); +}); + +``` + +`GET /themes/{id}` + +

Parameters

+ +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|id|path|string|true|none| +|filter|query|[themes.Filter](#schemathemes.filter)|false|none| + +> Example responses + +> 200 Response + +```json +{ + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "calBg": "string", + "calFg": "string", + "eventBg": "string", + "eventFg": "string", + "extId": "string", + "extMetadata": {} +} +``` + +

Responses

+ +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|Theme model instance|[ThemeWithRelations](#schemathemewithrelations)| + + + +## ThemeController.deleteById + + + +> Code samples + +```'javascript--nodejs +const fetch = require('node-fetch'); + +fetch('/themes/{id}', +{ + method: 'DELETE' + +}) +.then(function(res) { + return res.json(); +}).then(function(body) { + console.log(body); +}); + +``` + +`DELETE /themes/{id}` + +

Parameters

+ +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|id|path|string|true|none| + +

Responses

+ +|Status|Meaning|Description|Schema| +|---|---|---|---| +|204|[No Content](https://tools.ietf.org/html/rfc7231#section-6.3.5)|Theme DELETE success|None| + + + +## ThemeController.create + + + +> Code samples + +```'javascript--nodejs +const fetch = require('node-fetch'); +const inputBody = { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "calBg": "string", + "calFg": "string", + "eventBg": "string", + "eventFg": "string", + "extId": "string", + "extMetadata": {} +}; +const headers = { + 'Content-Type':'application/json', + 'Accept':'application/json' +}; + +fetch('/themes', +{ + method: 'POST', + body: JSON.stringify(inputBody), + headers: headers +}) +.then(function(res) { + return res.json(); +}).then(function(body) { + console.log(body); +}); + +``` + +`POST /themes` + +> Body parameter + +```json +{ + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "calBg": "string", + "calFg": "string", + "eventBg": "string", + "eventFg": "string", + "extId": "string", + "extMetadata": {} +} +``` + +

Parameters

+ +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|body|body|[NewTheme](#schemanewtheme)|false|none| + +> Example responses + +> 200 Response + +```json +{ + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "calBg": "string", + "calFg": "string", + "eventBg": "string", + "eventFg": "string", + "extId": "string", + "extMetadata": {} +} +``` + +

Responses

+ +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|Theme model instance|[Theme](#schematheme)| + + + +## ThemeController.updateAll + + + +> Code samples + +```'javascript--nodejs +const fetch = require('node-fetch'); +const inputBody = { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "calBg": "string", + "calFg": "string", + "eventBg": "string", + "eventFg": "string", + "extId": "string", + "extMetadata": {} +}; +const headers = { + 'Content-Type':'application/json', + 'Accept':'application/json' +}; + +fetch('/themes', +{ + method: 'PATCH', + body: JSON.stringify(inputBody), + headers: headers +}) +.then(function(res) { + return res.json(); +}).then(function(body) { + console.log(body); +}); + +``` + +`PATCH /themes` + +> Body parameter + +```json +{ + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "calBg": "string", + "calFg": "string", + "eventBg": "string", + "eventFg": "string", + "extId": "string", + "extMetadata": {} +} +``` + +

Parameters

+ +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|where|query|object|false|none| +|body|body|[ThemePartial](#schemathemepartial)|false|none| + +> Example responses + +> 200 Response + +```json +{ + "count": 0 +} +``` + +

Responses

+ +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|Theme PATCH success count|[loopback.Count](#schemaloopback.count)| + + + +## ThemeController.find + + + +> Code samples + +```'javascript--nodejs +const fetch = require('node-fetch'); + +const headers = { + 'Accept':'application/json' +}; + +fetch('/themes', +{ + method: 'GET', + + headers: headers +}) +.then(function(res) { + return res.json(); +}).then(function(body) { + console.log(body); +}); + +``` + +`GET /themes` + +

Parameters

+ +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|filter|query|[themes.Filter1](#schemathemes.filter1)|false|none| + +> Example responses + +> 200 Response + +```json +[ + { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "calBg": "string", + "calFg": "string", + "eventBg": "string", + "eventFg": "string", + "extId": "string", + "extMetadata": {} + } +] +``` + +

Responses

+ +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|Array of Theme model instances|Inline| + +

Response Schema

+ +Status Code **200** + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|*anonymous*|[[ThemeWithRelations](#schemathemewithrelations)]|false|none|[(tsType: ThemeWithRelations, schemaOptions: { includeRelations: true })]| +|» ThemeWithRelations|[ThemeWithRelations](#schemathemewithrelations)|false|none|(tsType: ThemeWithRelations, schemaOptions: { includeRelations: true })| +|»» deleted|boolean|false|none|none| +|»» deletedOn|string(date-time)¦null|false|none|none| +|»» deletedBy|string¦null|false|none|none| +|»» createdOn|string(date-time)|false|none|none| +|»» modifiedOn|string(date-time)|false|none|none| +|»» createdBy|string|false|none|none| +|»» modifiedBy|string|false|none|none| +|»» id|string|false|none|none| +|»» calBg|string|false|none|none| +|»» calFg|string|false|none|none| +|»» eventBg|string|false|none|none| +|»» eventFg|string|false|none|none| +|»» extId|string|false|none|none| +|»» extMetadata|object|false|none|none| + + + +

WorkingHourController

+ +## WorkingHourController.count + + + +> Code samples + +```'javascript--nodejs +const fetch = require('node-fetch'); + +const headers = { + 'Accept':'application/json' +}; + +fetch('/working-hours/count', +{ + method: 'GET', + + headers: headers +}) +.then(function(res) { + return res.json(); +}).then(function(body) { + console.log(body); +}); + +``` + +`GET /working-hours/count` + +

Parameters

+ +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|where|query|object|false|none| + +> Example responses + +> 200 Response + +```json +{ + "count": 0 +} +``` + +

Responses

+ +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|WorkingHour model count|[loopback.Count](#schemaloopback.count)| + + + +## WorkingHourController.replaceById + + + +> Code samples + +```'javascript--nodejs +const fetch = require('node-fetch'); +const inputBody = { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "dayOfWeek": 0, + "end": "string", + "start": "string", + "calendarId": "string", + "extId": "string", + "extMetadata": {} +}; +const headers = { + 'Content-Type':'application/json' +}; + +fetch('/working-hours/{id}', +{ + method: 'PUT', + body: JSON.stringify(inputBody), + headers: headers +}) +.then(function(res) { + return res.json(); +}).then(function(body) { + console.log(body); +}); + +``` + +`PUT /working-hours/{id}` + +> Body parameter + +```json +{ + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "dayOfWeek": 0, + "end": "string", + "start": "string", + "calendarId": "string", + "extId": "string", + "extMetadata": {} +} +``` + +

Parameters

+ +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|id|path|string|true|none| +|body|body|[WorkingHour](#schemaworkinghour)|false|none| + +

Responses

+ +|Status|Meaning|Description|Schema| +|---|---|---|---| +|204|[No Content](https://tools.ietf.org/html/rfc7231#section-6.3.5)|WorkingHour PUT success|None| + + + +## WorkingHourController.updateById + + + +> Code samples + +```'javascript--nodejs +const fetch = require('node-fetch'); +const inputBody = { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "dayOfWeek": 0, + "end": "string", + "start": "string", + "calendarId": "string", + "extId": "string", + "extMetadata": {} +}; +const headers = { + 'Content-Type':'application/json' +}; + +fetch('/working-hours/{id}', +{ + method: 'PATCH', + body: JSON.stringify(inputBody), + headers: headers +}) +.then(function(res) { + return res.json(); +}).then(function(body) { + console.log(body); +}); + +``` + +`PATCH /working-hours/{id}` + +> Body parameter + +```json +{ + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "dayOfWeek": 0, + "end": "string", + "start": "string", + "calendarId": "string", + "extId": "string", + "extMetadata": {} +} +``` + +

Parameters

+ +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|id|path|string|true|none| +|body|body|[WorkingHourPartial](#schemaworkinghourpartial)|false|none| + +

Responses

+ +|Status|Meaning|Description|Schema| +|---|---|---|---| +|204|[No Content](https://tools.ietf.org/html/rfc7231#section-6.3.5)|WorkingHour PATCH success|None| + + + +## WorkingHourController.findById + + + +> Code samples + +```'javascript--nodejs +const fetch = require('node-fetch'); + +const headers = { + 'Accept':'application/json' +}; + +fetch('/working-hours/{id}', +{ + method: 'GET', + + headers: headers +}) +.then(function(res) { + return res.json(); +}).then(function(body) { + console.log(body); +}); + +``` + +`GET /working-hours/{id}` + +

Parameters

+ +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|id|path|string|true|none| +|filter|query|[working_hours.Filter](#schemaworking_hours.filter)|false|none| + +> Example responses + +> 200 Response + +```json +{ + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "dayOfWeek": 0, + "end": "string", + "start": "string", + "calendarId": "string", + "extId": "string", + "extMetadata": {}, + "calendar": { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "source": "string", + "enableWorkingHours": true, + "location": "string", + "identifier": "string", + "summary": "string", + "timezone": "string", + "extId": "string", + "extMetadata": {}, + "events": [ + { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "bgColor": "string", + "description": "string", + "endDateTime": "2019-08-24T14:15:22Z", + "fgColor": "string", + "iCalUid": "string", + "isFullDayEvent": true, + "isLocked": true, + "link": "string", + "location": "string", + "meetingLink": "string", + "identifier": "string", + "startDateTime": "2019-08-24T14:15:22Z", + "status": "confirmed", + "summary": "string", + "timezone": "string", + "calendarId": "string", + "parentEventId": "string", + "extId": "string", + "extMetadata": {}, + "calendar": {}, + "parentEvent": {}, + "attendees": [ + { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "identifier": "string", + "isOptional": true, + "isOrganizer": true, + "messages": "string", + "responseStatus": "needsAction", + "eventId": "string", + "extId": "string", + "extMetadata": {}, + "event": {} + } + ], + "attachments": [ + { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "fileUrl": "string", + "iconLink": "string", + "mimeType": "string", + "title": "string", + "eventId": "string", + "extId": "string", + "extMetadata": {}, + "event": {} + } + ] + } + ], + "workingHours": [ + { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "dayOfWeek": 0, + "end": "string", + "start": "string", + "calendarId": "string", + "extId": "string", + "extMetadata": {}, + "calendar": {} + } + ], + "subscriptions": [ + { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "accessRole": "freeBusyReader", + "bgColor": "string", + "fgColor": "string", + "isHidden": true, + "isPrimary": true, + "identifier": "string", + "defaultReminders": {}, + "notificationSettings": {}, + "calendarId": "string", + "extId": "string", + "extMetadata": {}, + "calendar": {} + } + ] + } +} +``` + +

Responses

+ +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|WorkingHour model instance|[WorkingHourWithRelations](#schemaworkinghourwithrelations)| + + + +## WorkingHourController.deleteById + + + +> Code samples + +```'javascript--nodejs +const fetch = require('node-fetch'); + +fetch('/working-hours/{id}', +{ + method: 'DELETE' + +}) +.then(function(res) { + return res.json(); +}).then(function(body) { + console.log(body); +}); + +``` + +`DELETE /working-hours/{id}` + +

Parameters

+ +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|id|path|string|true|none| + +

Responses

+ +|Status|Meaning|Description|Schema| +|---|---|---|---| +|204|[No Content](https://tools.ietf.org/html/rfc7231#section-6.3.5)|WorkingHour DELETE success|None| + + + +## WorkingHourController.create + + + +> Code samples + +```'javascript--nodejs +const fetch = require('node-fetch'); +const inputBody = { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "dayOfWeek": 0, + "end": "string", + "start": "string", + "calendarId": "string", + "extId": "string", + "extMetadata": {} +}; +const headers = { + 'Content-Type':'application/json', + 'Accept':'application/json' +}; + +fetch('/working-hours', +{ + method: 'POST', + body: JSON.stringify(inputBody), + headers: headers +}) +.then(function(res) { + return res.json(); +}).then(function(body) { + console.log(body); +}); + +``` + +`POST /working-hours` + +> Body parameter + +```json +{ + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "dayOfWeek": 0, + "end": "string", + "start": "string", + "calendarId": "string", + "extId": "string", + "extMetadata": {} +} +``` + +

Parameters

+ +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|body|body|[NewWorkingHour](#schemanewworkinghour)|false|none| + +> Example responses + +> 200 Response + +```json +{ + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "dayOfWeek": 0, + "end": "string", + "start": "string", + "calendarId": "string", + "extId": "string", + "extMetadata": {} +} +``` + +

Responses

+ +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|WorkingHour model instance|[WorkingHour](#schemaworkinghour)| + + + +## WorkingHourController.updateAll + + + +> Code samples + +```'javascript--nodejs +const fetch = require('node-fetch'); +const inputBody = { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "dayOfWeek": 0, + "end": "string", + "start": "string", + "calendarId": "string", + "extId": "string", + "extMetadata": {} +}; +const headers = { + 'Content-Type':'application/json', + 'Accept':'application/json' +}; + +fetch('/working-hours', +{ + method: 'PATCH', + body: JSON.stringify(inputBody), + headers: headers +}) +.then(function(res) { + return res.json(); +}).then(function(body) { + console.log(body); +}); + +``` + +`PATCH /working-hours` + +> Body parameter + +```json +{ + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "dayOfWeek": 0, + "end": "string", + "start": "string", + "calendarId": "string", + "extId": "string", + "extMetadata": {} +} +``` + +

Parameters

+ +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|where|query|object|false|none| +|body|body|[WorkingHourPartial](#schemaworkinghourpartial)|false|none| + +> Example responses + +> 200 Response + +```json +{ + "count": 0 +} +``` + +

Responses

+ +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|WorkingHour PATCH success count|[loopback.Count](#schemaloopback.count)| + + + +## WorkingHourController.find + + + +> Code samples + +```'javascript--nodejs +const fetch = require('node-fetch'); + +const headers = { + 'Accept':'application/json' +}; + +fetch('/working-hours', +{ + method: 'GET', + + headers: headers +}) +.then(function(res) { + return res.json(); +}).then(function(body) { + console.log(body); +}); + +``` + +`GET /working-hours` + +

Parameters

+ +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|filter|query|[working_hours.Filter1](#schemaworking_hours.filter1)|false|none| + +> Example responses + +> 200 Response + +```json +[ + { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "dayOfWeek": 0, + "end": "string", + "start": "string", + "calendarId": "string", + "extId": "string", + "extMetadata": {}, + "calendar": { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "source": "string", + "enableWorkingHours": true, + "location": "string", + "identifier": "string", + "summary": "string", + "timezone": "string", + "extId": "string", + "extMetadata": {}, + "events": [ + { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "bgColor": "string", + "description": "string", + "endDateTime": "2019-08-24T14:15:22Z", + "fgColor": "string", + "iCalUid": "string", + "isFullDayEvent": true, + "isLocked": true, + "link": "string", + "location": "string", + "meetingLink": "string", + "identifier": "string", + "startDateTime": "2019-08-24T14:15:22Z", + "status": "confirmed", + "summary": "string", + "timezone": "string", + "calendarId": "string", + "parentEventId": "string", + "extId": "string", + "extMetadata": {}, + "calendar": {}, + "parentEvent": {}, + "attendees": [ + { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "identifier": "string", + "isOptional": true, + "isOrganizer": true, + "messages": "string", + "responseStatus": "needsAction", + "eventId": "string", + "extId": "string", + "extMetadata": {}, + "event": {} + } + ], + "attachments": [ + { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "fileUrl": "string", + "iconLink": "string", + "mimeType": "string", + "title": "string", + "eventId": "string", + "extId": "string", + "extMetadata": {}, + "event": {} + } + ] + } + ], + "workingHours": [ + {} + ], + "subscriptions": [ + { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "accessRole": "freeBusyReader", + "bgColor": "string", + "fgColor": "string", + "isHidden": true, + "isPrimary": true, + "identifier": "string", + "defaultReminders": {}, + "notificationSettings": {}, + "calendarId": "string", + "extId": "string", + "extMetadata": {}, + "calendar": {} + } + ] + } + } +] +``` + +

Responses

+ +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|Array of WorkingHour model instances|Inline| + +

Response Schema

+ +Status Code **200** + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|*anonymous*|[[WorkingHourWithRelations](#schemaworkinghourwithrelations)]|false|none|[(tsType: WorkingHourWithRelations, schemaOptions: { includeRelations: true })]| +|» WorkingHourWithRelations|[WorkingHourWithRelations](#schemaworkinghourwithrelations)|false|none|(tsType: WorkingHourWithRelations, schemaOptions: { includeRelations: true })| +|»» deleted|boolean|false|none|none| +|»» deletedOn|string(date-time)¦null|false|none|none| +|»» deletedBy|string¦null|false|none|none| +|»» createdOn|string(date-time)|false|none|none| +|»» modifiedOn|string(date-time)|false|none|none| +|»» createdBy|string|false|none|none| +|»» modifiedBy|string|false|none|none| +|»» id|string|false|none|none| +|»» dayOfWeek|number|false|none|none| +|»» end|string|false|none|none| +|»» start|string|false|none|none| +|»» calendarId|string|true|none|none| +|»» extId|string|false|none|none| +|»» extMetadata|object|false|none|none| +|»» calendar|[CalendarWithRelations](#schemacalendarwithrelations)|false|none|(tsType: CalendarWithRelations, schemaOptions: { includeRelations: true })| +|»»» deleted|boolean|false|none|none| +|»»» deletedOn|string(date-time)¦null|false|none|none| +|»»» deletedBy|string¦null|false|none|none| +|»»» createdOn|string(date-time)|false|none|none| +|»»» modifiedOn|string(date-time)|false|none|none| +|»»» createdBy|string|false|none|none| +|»»» modifiedBy|string|false|none|none| +|»»» id|string|false|none|none| +|»»» source|string|false|none|none| +|»»» enableWorkingHours|boolean|false|none|none| +|»»» location|string|false|none|none| +|»»» identifier|string|true|none|none| +|»»» summary|string|false|none|none| +|»»» timezone|string|false|none|none| +|»»» extId|string|false|none|none| +|»»» extMetadata|object|false|none|none| +|»»» events|[[EventWithRelations](#schemaeventwithrelations)]|false|none|(tsType: EventWithRelations, schemaOptions: { includeRelations: true })| +|»»»» EventWithRelations|[EventWithRelations](#schemaeventwithrelations)|false|none|(tsType: EventWithRelations, schemaOptions: { includeRelations: true })| +|»»»»» deleted|boolean|false|none|none| +|»»»»» deletedOn|string(date-time)¦null|false|none|none| +|»»»»» deletedBy|string¦null|false|none|none| +|»»»»» createdOn|string(date-time)|false|none|none| +|»»»»» modifiedOn|string(date-time)|false|none|none| +|»»»»» createdBy|string|false|none|none| +|»»»»» modifiedBy|string|false|none|none| +|»»»»» id|string|false|none|none| +|»»»»» bgColor|string|false|none|none| +|»»»»» description|string|false|none|none| +|»»»»» endDateTime|string(date-time)|false|none|none| +|»»»»» fgColor|string|false|none|none| +|»»»»» iCalUid|string|false|none|none| +|»»»»» isFullDayEvent|boolean|false|none|none| +|»»»»» isLocked|boolean|false|none|none| +|»»»»» link|string|false|none|none| +|»»»»» location|string|false|none|none| +|»»»»» meetingLink|string|false|none|none| +|»»»»» identifier|string|false|none|none| +|»»»»» startDateTime|string(date-time)|false|none|none| +|»»»»» status|string|false|none|none| +|»»»»» summary|string|false|none|none| +|»»»»» timezone|string|false|none|none| +|»»»»» calendarId|string|true|none|none| +|»»»»» parentEventId|string|false|none|none| +|»»»»» extId|string|false|none|none| +|»»»»» extMetadata|object|false|none|none| +|»»»»» calendar|[CalendarWithRelations](#schemacalendarwithrelations)|false|none|(tsType: CalendarWithRelations, schemaOptions: { includeRelations: true })| +|»»»»» parentEvent|[EventWithRelations](#schemaeventwithrelations)|false|none|(tsType: EventWithRelations, schemaOptions: { includeRelations: true })| +|»»»»» attendees|[[AttendeeWithRelations](#schemaattendeewithrelations)]|false|none|(tsType: AttendeeWithRelations, schemaOptions: { includeRelations: true })| +|»»»»»» AttendeeWithRelations|[AttendeeWithRelations](#schemaattendeewithrelations)|false|none|(tsType: AttendeeWithRelations, schemaOptions: { includeRelations: true })| +|»»»»»»» deleted|boolean|false|none|none| +|»»»»»»» deletedOn|string(date-time)¦null|false|none|none| +|»»»»»»» deletedBy|string¦null|false|none|none| +|»»»»»»» createdOn|string(date-time)|false|none|none| +|»»»»»»» modifiedOn|string(date-time)|false|none|none| +|»»»»»»» createdBy|string|false|none|none| +|»»»»»»» modifiedBy|string|false|none|none| +|»»»»»»» id|string|false|none|none| +|»»»»»»» identifier|string|true|none|none| +|»»»»»»» isOptional|boolean|false|none|none| +|»»»»»»» isOrganizer|boolean|false|none|none| +|»»»»»»» messages|string|false|none|none| +|»»»»»»» responseStatus|string|false|none|none| +|»»»»»»» eventId|string|true|none|none| +|»»»»»»» extId|string|false|none|none| +|»»»»»»» extMetadata|object|false|none|none| +|»»»»»»» event|[EventWithRelations](#schemaeventwithrelations)|false|none|(tsType: EventWithRelations, schemaOptions: { includeRelations: true })| +|»»»»» attachments|[[AttachmentWithRelations](#schemaattachmentwithrelations)]|false|none|(tsType: AttachmentWithRelations, schemaOptions: { includeRelations: true })| +|»»»»»» AttachmentWithRelations|[AttachmentWithRelations](#schemaattachmentwithrelations)|false|none|(tsType: AttachmentWithRelations, schemaOptions: { includeRelations: true })| +|»»»»»»» deleted|boolean|false|none|none| +|»»»»»»» deletedOn|string(date-time)¦null|false|none|none| +|»»»»»»» deletedBy|string¦null|false|none|none| +|»»»»»»» createdOn|string(date-time)|false|none|none| +|»»»»»»» modifiedOn|string(date-time)|false|none|none| +|»»»»»»» createdBy|string|false|none|none| +|»»»»»»» modifiedBy|string|false|none|none| +|»»»»»»» id|string|false|none|none| +|»»»»»»» fileUrl|string|true|none|none| +|»»»»»»» iconLink|string|false|none|none| +|»»»»»»» mimeType|string|false|none|none| +|»»»»»»» title|string|false|none|none| +|»»»»»»» eventId|string|true|none|none| +|»»»»»»» extId|string|false|none|none| +|»»»»»»» extMetadata|object|false|none|none| +|»»»»»»» event|[EventWithRelations](#schemaeventwithrelations)|false|none|(tsType: EventWithRelations, schemaOptions: { includeRelations: true })| +|»»» workingHours|[[WorkingHourWithRelations](#schemaworkinghourwithrelations)]|false|none|(tsType: WorkingHourWithRelations, schemaOptions: { includeRelations: true })| +|»»»» WorkingHourWithRelations|[WorkingHourWithRelations](#schemaworkinghourwithrelations)|false|none|(tsType: WorkingHourWithRelations, schemaOptions: { includeRelations: true })| +|»»» subscriptions|[[SubscriptionWithRelations](#schemasubscriptionwithrelations)]|false|none|(tsType: SubscriptionWithRelations, schemaOptions: { includeRelations: true })| +|»»»» SubscriptionWithRelations|[SubscriptionWithRelations](#schemasubscriptionwithrelations)|false|none|(tsType: SubscriptionWithRelations, schemaOptions: { includeRelations: true })| +|»»»»» deleted|boolean|false|none|none| +|»»»»» deletedOn|string(date-time)¦null|false|none|none| +|»»»»» deletedBy|string¦null|false|none|none| +|»»»»» createdOn|string(date-time)|false|none|none| +|»»»»» modifiedOn|string(date-time)|false|none|none| +|»»»»» createdBy|string|false|none|none| +|»»»»» modifiedBy|string|false|none|none| +|»»»»» id|string|false|none|none| +|»»»»» accessRole|string|false|none|none| +|»»»»» bgColor|string|false|none|none| +|»»»»» fgColor|string|false|none|none| +|»»»»» isHidden|boolean|false|none|none| +|»»»»» isPrimary|boolean|false|none|none| +|»»»»» identifier|string|true|none|none| +|»»»»» defaultReminders|object|false|none|none| +|»»»»» notificationSettings|object|false|none|none| +|»»»»» calendarId|string|true|none|none| +|»»»»» extId|string|false|none|none| +|»»»»» extMetadata|object|false|none|none| +|»»»»» calendar|[CalendarWithRelations](#schemacalendarwithrelations)|false|none|(tsType: CalendarWithRelations, schemaOptions: { includeRelations: true })| + +#### Enumerated Values + +|Property|Value| +|---|---| +|dayOfWeek|0| +|dayOfWeek|1| +|dayOfWeek|2| +|dayOfWeek|3| +|dayOfWeek|4| +|dayOfWeek|5| +|dayOfWeek|6| +|status|confirmed| +|status|tentative| +|status|cancelled| +|status|completed| +|responseStatus|needsAction| +|responseStatus|tentative| +|responseStatus|accepted| +|responseStatus|declined| +|accessRole|freeBusyReader| +|accessRole|reader| +|accessRole|writer| +|accessRole|owner| + + + +# Schemas + +

Attachment

+ + + + + + +```json +{ + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "fileUrl": "string", + "iconLink": "string", + "mimeType": "string", + "title": "string", + "eventId": "string", + "extId": "string", + "extMetadata": {} +} + +``` + +Attachment + +### Properties + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|deleted|boolean|false|none|none| +|deletedOn|string(date-time)¦null|false|none|none| +|deletedBy|string¦null|false|none|none| +|createdOn|string(date-time)|false|none|none| +|modifiedOn|string(date-time)|false|none|none| +|createdBy|string|false|none|none| +|modifiedBy|string|false|none|none| +|id|string|false|none|none| +|fileUrl|string|true|none|none| +|iconLink|string|false|none|none| +|mimeType|string|false|none|none| +|title|string|false|none|none| +|eventId|string|true|none|none| +|extId|string|false|none|none| +|extMetadata|object|false|none|none| + +

NewAttachment

+ + + + + + +```json +{ + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "fileUrl": "string", + "iconLink": "string", + "mimeType": "string", + "title": "string", + "eventId": "string", + "extId": "string", + "extMetadata": {} +} + +``` + +NewAttachment + +### Properties + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|deleted|boolean|false|none|none| +|deletedOn|string(date-time)¦null|false|none|none| +|deletedBy|string¦null|false|none|none| +|createdOn|string(date-time)|false|none|none| +|modifiedOn|string(date-time)|false|none|none| +|createdBy|string|false|none|none| +|modifiedBy|string|false|none|none| +|fileUrl|string|true|none|none| +|iconLink|string|false|none|none| +|mimeType|string|false|none|none| +|title|string|false|none|none| +|eventId|string|true|none|none| +|extId|string|false|none|none| +|extMetadata|object|false|none|none| + +

AttendeeWithRelations

+ + + + + + +```json +{ + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "identifier": "string", + "isOptional": true, + "isOrganizer": true, + "messages": "string", + "responseStatus": "needsAction", + "eventId": "string", + "extId": "string", + "extMetadata": {}, + "event": { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "bgColor": "string", + "description": "string", + "endDateTime": "2019-08-24T14:15:22Z", + "fgColor": "string", + "iCalUid": "string", + "isFullDayEvent": true, + "isLocked": true, + "link": "string", + "location": "string", + "meetingLink": "string", + "identifier": "string", + "startDateTime": "2019-08-24T14:15:22Z", + "status": "confirmed", + "summary": "string", + "timezone": "string", + "calendarId": "string", + "parentEventId": "string", + "extId": "string", + "extMetadata": {}, + "calendar": { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "source": "string", + "enableWorkingHours": true, + "location": "string", + "identifier": "string", + "summary": "string", + "timezone": "string", + "extId": "string", + "extMetadata": {}, + "events": [ + {} + ], + "workingHours": [ + { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "dayOfWeek": 0, + "end": "string", + "start": "string", + "calendarId": "string", + "extId": "string", + "extMetadata": {}, + "calendar": {} + } + ], + "subscriptions": [ + { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "accessRole": "freeBusyReader", + "bgColor": "string", + "fgColor": "string", + "isHidden": true, + "isPrimary": true, + "identifier": "string", + "defaultReminders": {}, + "notificationSettings": {}, + "calendarId": "string", + "extId": "string", + "extMetadata": {}, + "calendar": {} + } + ] + }, + "parentEvent": {}, + "attendees": [ + { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "identifier": "string", + "isOptional": true, + "isOrganizer": true, + "messages": "string", + "responseStatus": "needsAction", + "eventId": "string", + "extId": "string", + "extMetadata": {}, + "event": {} + } + ], + "attachments": [ + { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "fileUrl": "string", + "iconLink": "string", + "mimeType": "string", + "title": "string", + "eventId": "string", + "extId": "string", + "extMetadata": {}, + "event": {} + } + ] + } +} + +``` + +AttendeeWithRelations + +### Properties + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|deleted|boolean|false|none|none| +|deletedOn|string(date-time)¦null|false|none|none| +|deletedBy|string¦null|false|none|none| +|createdOn|string(date-time)|false|none|none| +|modifiedOn|string(date-time)|false|none|none| +|createdBy|string|false|none|none| +|modifiedBy|string|false|none|none| +|id|string|false|none|none| +|identifier|string|true|none|none| +|isOptional|boolean|false|none|none| +|isOrganizer|boolean|false|none|none| +|messages|string|false|none|none| +|responseStatus|string|false|none|none| +|eventId|string|true|none|none| +|extId|string|false|none|none| +|extMetadata|object|false|none|none| +|event|[EventWithRelations](#schemaeventwithrelations)|false|none|(tsType: EventWithRelations, schemaOptions: { includeRelations: true })| + +#### Enumerated Values + +|Property|Value| +|---|---| +|responseStatus|needsAction| +|responseStatus|tentative| +|responseStatus|accepted| +|responseStatus|declined| + +

EventWithRelations

+ + + + + + +```json +{ + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "bgColor": "string", + "description": "string", + "endDateTime": "2019-08-24T14:15:22Z", + "fgColor": "string", + "iCalUid": "string", + "isFullDayEvent": true, + "isLocked": true, + "link": "string", + "location": "string", + "meetingLink": "string", + "identifier": "string", + "startDateTime": "2019-08-24T14:15:22Z", + "status": "confirmed", + "summary": "string", + "timezone": "string", + "calendarId": "string", + "parentEventId": "string", + "extId": "string", + "extMetadata": {}, + "calendar": { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "source": "string", + "enableWorkingHours": true, + "location": "string", + "identifier": "string", + "summary": "string", + "timezone": "string", + "extId": "string", + "extMetadata": {}, + "events": [ + { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "bgColor": "string", + "description": "string", + "endDateTime": "2019-08-24T14:15:22Z", + "fgColor": "string", + "iCalUid": "string", + "isFullDayEvent": true, + "isLocked": true, + "link": "string", + "location": "string", + "meetingLink": "string", + "identifier": "string", + "startDateTime": "2019-08-24T14:15:22Z", + "status": "confirmed", + "summary": "string", + "timezone": "string", + "calendarId": "string", + "parentEventId": "string", + "extId": "string", + "extMetadata": {}, + "calendar": {}, + "parentEvent": {}, + "attendees": [ + { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "identifier": "string", + "isOptional": true, + "isOrganizer": true, + "messages": "string", + "responseStatus": "needsAction", + "eventId": "string", + "extId": "string", + "extMetadata": {}, + "event": {} + } + ], + "attachments": [ + { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "fileUrl": "string", + "iconLink": "string", + "mimeType": "string", + "title": "string", + "eventId": "string", + "extId": "string", + "extMetadata": {}, + "event": {} + } + ] + } + ], + "workingHours": [ + { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "dayOfWeek": 0, + "end": "string", + "start": "string", + "calendarId": "string", + "extId": "string", + "extMetadata": {}, + "calendar": {} + } + ], + "subscriptions": [ + { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "accessRole": "freeBusyReader", + "bgColor": "string", + "fgColor": "string", + "isHidden": true, + "isPrimary": true, + "identifier": "string", + "defaultReminders": {}, + "notificationSettings": {}, + "calendarId": "string", + "extId": "string", + "extMetadata": {}, + "calendar": {} + } + ] + }, + "parentEvent": { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "bgColor": "string", + "description": "string", + "endDateTime": "2019-08-24T14:15:22Z", + "fgColor": "string", + "iCalUid": "string", + "isFullDayEvent": true, + "isLocked": true, + "link": "string", + "location": "string", + "meetingLink": "string", + "identifier": "string", + "startDateTime": "2019-08-24T14:15:22Z", + "status": "confirmed", + "summary": "string", + "timezone": "string", + "calendarId": "string", + "parentEventId": "string", + "extId": "string", + "extMetadata": {}, + "calendar": { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "source": "string", + "enableWorkingHours": true, + "location": "string", + "identifier": "string", + "summary": "string", + "timezone": "string", + "extId": "string", + "extMetadata": {}, + "events": [ + {} + ], + "workingHours": [ + { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "dayOfWeek": 0, + "end": "string", + "start": "string", + "calendarId": "string", + "extId": "string", + "extMetadata": {}, + "calendar": {} + } + ], + "subscriptions": [ + { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "accessRole": "freeBusyReader", + "bgColor": "string", + "fgColor": "string", + "isHidden": true, + "isPrimary": true, + "identifier": "string", + "defaultReminders": {}, + "notificationSettings": {}, + "calendarId": "string", + "extId": "string", + "extMetadata": {}, + "calendar": {} + } + ] + }, + "parentEvent": {}, + "attendees": [ + { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "identifier": "string", + "isOptional": true, + "isOrganizer": true, + "messages": "string", + "responseStatus": "needsAction", + "eventId": "string", + "extId": "string", + "extMetadata": {}, + "event": {} + } + ], + "attachments": [ + { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "fileUrl": "string", + "iconLink": "string", + "mimeType": "string", + "title": "string", + "eventId": "string", + "extId": "string", + "extMetadata": {}, + "event": {} + } + ] + }, + "attendees": [ + { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "identifier": "string", + "isOptional": true, + "isOrganizer": true, + "messages": "string", + "responseStatus": "needsAction", + "eventId": "string", + "extId": "string", + "extMetadata": {}, + "event": { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "bgColor": "string", + "description": "string", + "endDateTime": "2019-08-24T14:15:22Z", + "fgColor": "string", + "iCalUid": "string", + "isFullDayEvent": true, + "isLocked": true, + "link": "string", + "location": "string", + "meetingLink": "string", + "identifier": "string", + "startDateTime": "2019-08-24T14:15:22Z", + "status": "confirmed", + "summary": "string", + "timezone": "string", + "calendarId": "string", + "parentEventId": "string", + "extId": "string", + "extMetadata": {}, + "calendar": { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "source": "string", + "enableWorkingHours": true, + "location": "string", + "identifier": "string", + "summary": "string", + "timezone": "string", + "extId": "string", + "extMetadata": {}, + "events": [ + {} + ], + "workingHours": [ + { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "dayOfWeek": 0, + "end": "string", + "start": "string", + "calendarId": "string", + "extId": "string", + "extMetadata": {}, + "calendar": {} + } + ], + "subscriptions": [ + { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "accessRole": "freeBusyReader", + "bgColor": "string", + "fgColor": "string", + "isHidden": true, + "isPrimary": true, + "identifier": "string", + "defaultReminders": {}, + "notificationSettings": {}, + "calendarId": "string", + "extId": "string", + "extMetadata": {}, + "calendar": {} + } + ] + }, + "parentEvent": {}, + "attendees": [], + "attachments": [ + { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "fileUrl": "string", + "iconLink": "string", + "mimeType": "string", + "title": "string", + "eventId": "string", + "extId": "string", + "extMetadata": {}, + "event": {} + } + ] + } + } + ], + "attachments": [ + { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "fileUrl": "string", + "iconLink": "string", + "mimeType": "string", + "title": "string", + "eventId": "string", + "extId": "string", + "extMetadata": {}, + "event": { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "bgColor": "string", + "description": "string", + "endDateTime": "2019-08-24T14:15:22Z", + "fgColor": "string", + "iCalUid": "string", + "isFullDayEvent": true, + "isLocked": true, + "link": "string", + "location": "string", + "meetingLink": "string", + "identifier": "string", + "startDateTime": "2019-08-24T14:15:22Z", + "status": "confirmed", + "summary": "string", + "timezone": "string", + "calendarId": "string", + "parentEventId": "string", + "extId": "string", + "extMetadata": {}, + "calendar": { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "source": "string", + "enableWorkingHours": true, + "location": "string", + "identifier": "string", + "summary": "string", + "timezone": "string", + "extId": "string", + "extMetadata": {}, + "events": [ + {} + ], + "workingHours": [ + { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "dayOfWeek": 0, + "end": "string", + "start": "string", + "calendarId": "string", + "extId": "string", + "extMetadata": {}, + "calendar": {} + } + ], + "subscriptions": [ + { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "accessRole": "freeBusyReader", + "bgColor": "string", + "fgColor": "string", + "isHidden": true, + "isPrimary": true, + "identifier": "string", + "defaultReminders": {}, + "notificationSettings": {}, + "calendarId": "string", + "extId": "string", + "extMetadata": {}, + "calendar": {} + } + ] + }, + "parentEvent": {}, + "attendees": [ + { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "identifier": "string", + "isOptional": true, + "isOrganizer": true, + "messages": "string", + "responseStatus": "needsAction", + "eventId": "string", + "extId": "string", + "extMetadata": {}, + "event": {} + } + ], + "attachments": [] + } + } + ] +} + +``` + +EventWithRelations + +### Properties + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|deleted|boolean|false|none|none| +|deletedOn|string(date-time)¦null|false|none|none| +|deletedBy|string¦null|false|none|none| +|createdOn|string(date-time)|false|none|none| +|modifiedOn|string(date-time)|false|none|none| +|createdBy|string|false|none|none| +|modifiedBy|string|false|none|none| +|id|string|false|none|none| +|bgColor|string|false|none|none| +|description|string|false|none|none| +|endDateTime|string(date-time)|false|none|none| +|fgColor|string|false|none|none| +|iCalUid|string|false|none|none| +|isFullDayEvent|boolean|false|none|none| +|isLocked|boolean|false|none|none| +|link|string|false|none|none| +|location|string|false|none|none| +|meetingLink|string|false|none|none| +|identifier|string|false|none|none| +|startDateTime|string(date-time)|false|none|none| +|status|string|false|none|none| +|summary|string|false|none|none| +|timezone|string|false|none|none| +|calendarId|string|true|none|none| +|parentEventId|string|false|none|none| +|extId|string|false|none|none| +|extMetadata|object|false|none|none| +|calendar|[CalendarWithRelations](#schemacalendarwithrelations)|false|none|(tsType: CalendarWithRelations, schemaOptions: { includeRelations: true })| +|parentEvent|[EventWithRelations](#schemaeventwithrelations)|false|none|(tsType: EventWithRelations, schemaOptions: { includeRelations: true })| +|attendees|[[AttendeeWithRelations](#schemaattendeewithrelations)]|false|none|[(tsType: AttendeeWithRelations, schemaOptions: { includeRelations: true })]| +|attachments|[[AttachmentWithRelations](#schemaattachmentwithrelations)]|false|none|[(tsType: AttachmentWithRelations, schemaOptions: { includeRelations: true })]| + +#### Enumerated Values + +|Property|Value| +|---|---| +|status|confirmed| +|status|tentative| +|status|cancelled| +|status|completed| + +

AttachmentWithRelations

+ + + + + + +```json +{ + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "fileUrl": "string", + "iconLink": "string", + "mimeType": "string", + "title": "string", + "eventId": "string", + "extId": "string", + "extMetadata": {}, + "event": { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "bgColor": "string", + "description": "string", + "endDateTime": "2019-08-24T14:15:22Z", + "fgColor": "string", + "iCalUid": "string", + "isFullDayEvent": true, + "isLocked": true, + "link": "string", + "location": "string", + "meetingLink": "string", + "identifier": "string", + "startDateTime": "2019-08-24T14:15:22Z", + "status": "confirmed", + "summary": "string", + "timezone": "string", + "calendarId": "string", + "parentEventId": "string", + "extId": "string", + "extMetadata": {}, + "calendar": { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "source": "string", + "enableWorkingHours": true, + "location": "string", + "identifier": "string", + "summary": "string", + "timezone": "string", + "extId": "string", + "extMetadata": {}, + "events": [ + {} + ], + "workingHours": [ + { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "dayOfWeek": 0, + "end": "string", + "start": "string", + "calendarId": "string", + "extId": "string", + "extMetadata": {}, + "calendar": {} + } + ], + "subscriptions": [ + { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "accessRole": "freeBusyReader", + "bgColor": "string", + "fgColor": "string", + "isHidden": true, + "isPrimary": true, + "identifier": "string", + "defaultReminders": {}, + "notificationSettings": {}, + "calendarId": "string", + "extId": "string", + "extMetadata": {}, + "calendar": {} + } + ] + }, + "parentEvent": {}, + "attendees": [ + { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "identifier": "string", + "isOptional": true, + "isOrganizer": true, + "messages": "string", + "responseStatus": "needsAction", + "eventId": "string", + "extId": "string", + "extMetadata": {}, + "event": {} + } + ], + "attachments": [ + { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "fileUrl": "string", + "iconLink": "string", + "mimeType": "string", + "title": "string", + "eventId": "string", + "extId": "string", + "extMetadata": {}, + "event": {} + } + ] + } +} + +``` + +AttachmentWithRelations + +### Properties + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|deleted|boolean|false|none|none| +|deletedOn|string(date-time)¦null|false|none|none| +|deletedBy|string¦null|false|none|none| +|createdOn|string(date-time)|false|none|none| +|modifiedOn|string(date-time)|false|none|none| +|createdBy|string|false|none|none| +|modifiedBy|string|false|none|none| +|id|string|false|none|none| +|fileUrl|string|true|none|none| +|iconLink|string|false|none|none| +|mimeType|string|false|none|none| +|title|string|false|none|none| +|eventId|string|true|none|none| +|extId|string|false|none|none| +|extMetadata|object|false|none|none| +|event|[EventWithRelations](#schemaeventwithrelations)|false|none|(tsType: EventWithRelations, schemaOptions: { includeRelations: true })| + +

AttachmentPartial

+ + + + + + +```json +{ + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "fileUrl": "string", + "iconLink": "string", + "mimeType": "string", + "title": "string", + "eventId": "string", + "extId": "string", + "extMetadata": {} +} + +``` + +AttachmentPartial + +### Properties + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|deleted|boolean|false|none|none| +|deletedOn|string(date-time)¦null|false|none|none| +|deletedBy|string¦null|false|none|none| +|createdOn|string(date-time)|false|none|none| +|modifiedOn|string(date-time)|false|none|none| +|createdBy|string|false|none|none| +|modifiedBy|string|false|none|none| +|id|string|false|none|none| +|fileUrl|string|false|none|none| +|iconLink|string|false|none|none| +|mimeType|string|false|none|none| +|title|string|false|none|none| +|eventId|string|false|none|none| +|extId|string|false|none|none| +|extMetadata|object|false|none|none| + +

Attendee

+ + + + + + +```json +{ + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "identifier": "string", + "isOptional": true, + "isOrganizer": true, + "messages": "string", + "responseStatus": "needsAction", + "eventId": "string", + "extId": "string", + "extMetadata": {} +} + +``` + +Attendee + +### Properties + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|deleted|boolean|false|none|none| +|deletedOn|string(date-time)¦null|false|none|none| +|deletedBy|string¦null|false|none|none| +|createdOn|string(date-time)|false|none|none| +|modifiedOn|string(date-time)|false|none|none| +|createdBy|string|false|none|none| +|modifiedBy|string|false|none|none| +|id|string|false|none|none| +|identifier|string|true|none|none| +|isOptional|boolean|false|none|none| +|isOrganizer|boolean|false|none|none| +|messages|string|false|none|none| +|responseStatus|string|false|none|none| +|eventId|string|true|none|none| +|extId|string|false|none|none| +|extMetadata|object|false|none|none| + +#### Enumerated Values + +|Property|Value| +|---|---| +|responseStatus|needsAction| +|responseStatus|tentative| +|responseStatus|accepted| +|responseStatus|declined| + +

NewAttendee

+ + + + + + +```json +{ + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "identifier": "string", + "isOptional": true, + "isOrganizer": true, + "messages": "string", + "responseStatus": "needsAction", + "eventId": "string", + "extId": "string", + "extMetadata": {} +} + +``` + +NewAttendee + +### Properties + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|deleted|boolean|false|none|none| +|deletedOn|string(date-time)¦null|false|none|none| +|deletedBy|string¦null|false|none|none| +|createdOn|string(date-time)|false|none|none| +|modifiedOn|string(date-time)|false|none|none| +|createdBy|string|false|none|none| +|modifiedBy|string|false|none|none| +|identifier|string|true|none|none| +|isOptional|boolean|false|none|none| +|isOrganizer|boolean|false|none|none| +|messages|string|false|none|none| +|responseStatus|string|false|none|none| +|eventId|string|true|none|none| +|extId|string|false|none|none| +|extMetadata|object|false|none|none| + +#### Enumerated Values + +|Property|Value| +|---|---| +|responseStatus|needsAction| +|responseStatus|tentative| +|responseStatus|accepted| +|responseStatus|declined| + +

AttendeePartial

+ + + + + + +```json +{ + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "identifier": "string", + "isOptional": true, + "isOrganizer": true, + "messages": "string", + "responseStatus": "needsAction", + "eventId": "string", + "extId": "string", + "extMetadata": {} +} + +``` + +AttendeePartial + +### Properties + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|deleted|boolean|false|none|none| +|deletedOn|string(date-time)¦null|false|none|none| +|deletedBy|string¦null|false|none|none| +|createdOn|string(date-time)|false|none|none| +|modifiedOn|string(date-time)|false|none|none| +|createdBy|string|false|none|none| +|modifiedBy|string|false|none|none| +|id|string|false|none|none| +|identifier|string|false|none|none| +|isOptional|boolean|false|none|none| +|isOrganizer|boolean|false|none|none| +|messages|string|false|none|none| +|responseStatus|string|false|none|none| +|eventId|string|false|none|none| +|extId|string|false|none|none| +|extMetadata|object|false|none|none| + +#### Enumerated Values + +|Property|Value| +|---|---| +|responseStatus|needsAction| +|responseStatus|tentative| +|responseStatus|accepted| +|responseStatus|declined| + +

Calendar

+ + + + + + +```json +{ + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "source": "string", + "enableWorkingHours": true, + "location": "string", + "identifier": "string", + "summary": "string", + "timezone": "string", + "extId": "string", + "extMetadata": {} +} + +``` + +Calendar + +### Properties + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|deleted|boolean|false|none|none| +|deletedOn|string(date-time)¦null|false|none|none| +|deletedBy|string¦null|false|none|none| +|createdOn|string(date-time)|false|none|none| +|modifiedOn|string(date-time)|false|none|none| +|createdBy|string|false|none|none| +|modifiedBy|string|false|none|none| +|id|string|false|none|none| +|source|string|false|none|none| +|enableWorkingHours|boolean|false|none|none| +|location|string|false|none|none| +|identifier|string|true|none|none| +|summary|string|false|none|none| +|timezone|string|false|none|none| +|extId|string|false|none|none| +|extMetadata|object|false|none|none| + +

WorkingHourExcluding_id_

+ + + + + + +```json +{ + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "dayOfWeek": 0, + "end": "string", + "start": "string", + "calendarId": "string", + "extId": "string", + "extMetadata": {} +} + +``` + +WorkingHourExcluding_id_ + +### Properties + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|deleted|boolean|false|none|none| +|deletedOn|string(date-time)¦null|false|none|none| +|deletedBy|string¦null|false|none|none| +|createdOn|string(date-time)|false|none|none| +|modifiedOn|string(date-time)|false|none|none| +|createdBy|string|false|none|none| +|modifiedBy|string|false|none|none| +|dayOfWeek|number|false|none|none| +|end|string|false|none|none| +|start|string|false|none|none| +|calendarId|string|true|none|none| +|extId|string|false|none|none| +|extMetadata|object|false|none|none| + +#### Enumerated Values + +|Property|Value| +|---|---| +|dayOfWeek|0| +|dayOfWeek|1| +|dayOfWeek|2| +|dayOfWeek|3| +|dayOfWeek|4| +|dayOfWeek|5| +|dayOfWeek|6| + +

NewCalendar

+ + + + + + +```json +{ + "source": "string", + "enableWorkingHours": true, + "location": "string", + "identifier": "string", + "summary": "string", + "timezone": "string", + "extId": "string", + "extMetadata": {}, + "workingHours": [ + { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "dayOfWeek": 0, + "end": "string", + "start": "string", + "calendarId": "string", + "extId": "string", + "extMetadata": {} + } + ], + "subscription": {} +} + +``` + +NewCalendar + +### Properties + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|source|string|false|none|none| +|enableWorkingHours|boolean|false|none|none| +|location|string|false|none|none| +|identifier|string|true|none|none| +|summary|string|false|none|none| +|timezone|string|false|none|none| +|extId|string|false|none|none| +|extMetadata|object|false|none|none| +|workingHours|[[WorkingHourExcluding_id_](#schemaworkinghourexcluding_id_)]|false|none|[(tsType: Omit, schemaOptions: { exclude: [ 'id' ] })]| +|subscription|object|false|none|none| + +

WorkingHour

+ + + + + + +```json +{ + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "dayOfWeek": 0, + "end": "string", + "start": "string", + "calendarId": "string", + "extId": "string", + "extMetadata": {} +} + +``` + +WorkingHour + +### Properties + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|deleted|boolean|false|none|none| +|deletedOn|string(date-time)¦null|false|none|none| +|deletedBy|string¦null|false|none|none| +|createdOn|string(date-time)|false|none|none| +|modifiedOn|string(date-time)|false|none|none| +|createdBy|string|false|none|none| +|modifiedBy|string|false|none|none| +|id|string|false|none|none| +|dayOfWeek|number|false|none|none| +|end|string|false|none|none| +|start|string|false|none|none| +|calendarId|string|true|none|none| +|extId|string|false|none|none| +|extMetadata|object|false|none|none| + +#### Enumerated Values + +|Property|Value| +|---|---| +|dayOfWeek|0| +|dayOfWeek|1| +|dayOfWeek|2| +|dayOfWeek|3| +|dayOfWeek|4| +|dayOfWeek|5| +|dayOfWeek|6| + +

CalendarDTO

+ + + + + + +```json +{ + "id": "string", + "source": "string", + "enableWorkingHours": true, + "location": "string", + "identifier": "string", + "summary": "string", + "timezone": "string", + "extId": "string", + "extMetadata": {}, + "workingHours": [ + { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "dayOfWeek": 0, + "end": "string", + "start": "string", + "calendarId": "string", + "extId": "string", + "extMetadata": {} + } + ], + "subscription": {} +} + +``` + +CalendarDTO + +### Properties + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|id|string|false|none|none| +|source|string|false|none|none| +|enableWorkingHours|boolean|false|none|none| +|location|string|false|none|none| +|identifier|string|true|none|none| +|summary|string|false|none|none| +|timezone|string|false|none|none| +|extId|string|false|none|none| +|extMetadata|object|false|none|none| +|workingHours|[[WorkingHour](#schemaworkinghour)]|false|none|none| +|subscription|object|false|none|none| + +

CalendarWithRelations

+ + + + + + +```json +{ + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "source": "string", + "enableWorkingHours": true, + "location": "string", + "identifier": "string", + "summary": "string", + "timezone": "string", + "extId": "string", + "extMetadata": {}, + "events": [ + { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "bgColor": "string", + "description": "string", + "endDateTime": "2019-08-24T14:15:22Z", + "fgColor": "string", + "iCalUid": "string", + "isFullDayEvent": true, + "isLocked": true, + "link": "string", + "location": "string", + "meetingLink": "string", + "identifier": "string", + "startDateTime": "2019-08-24T14:15:22Z", + "status": "confirmed", + "summary": "string", + "timezone": "string", + "calendarId": "string", + "parentEventId": "string", + "extId": "string", + "extMetadata": {}, + "calendar": { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "source": "string", + "enableWorkingHours": true, + "location": "string", + "identifier": "string", + "summary": "string", + "timezone": "string", + "extId": "string", + "extMetadata": {}, + "events": [], + "workingHours": [ + { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "dayOfWeek": 0, + "end": "string", + "start": "string", + "calendarId": "string", + "extId": "string", + "extMetadata": {}, + "calendar": {} + } + ], + "subscriptions": [ + { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "accessRole": "freeBusyReader", + "bgColor": "string", + "fgColor": "string", + "isHidden": true, + "isPrimary": true, + "identifier": "string", + "defaultReminders": {}, + "notificationSettings": {}, + "calendarId": "string", + "extId": "string", + "extMetadata": {}, + "calendar": {} + } + ] + }, + "parentEvent": {}, + "attendees": [ + { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "identifier": "string", + "isOptional": true, + "isOrganizer": true, + "messages": "string", + "responseStatus": "needsAction", + "eventId": "string", + "extId": "string", + "extMetadata": {}, + "event": {} + } + ], + "attachments": [ + { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "fileUrl": "string", + "iconLink": "string", + "mimeType": "string", + "title": "string", + "eventId": "string", + "extId": "string", + "extMetadata": {}, + "event": {} + } + ] + } + ], + "workingHours": [ + { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "dayOfWeek": 0, + "end": "string", + "start": "string", + "calendarId": "string", + "extId": "string", + "extMetadata": {}, + "calendar": { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "source": "string", + "enableWorkingHours": true, + "location": "string", + "identifier": "string", + "summary": "string", + "timezone": "string", + "extId": "string", + "extMetadata": {}, + "events": [ + { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "bgColor": "string", + "description": "string", + "endDateTime": "2019-08-24T14:15:22Z", + "fgColor": "string", + "iCalUid": "string", + "isFullDayEvent": true, + "isLocked": true, + "link": "string", + "location": "string", + "meetingLink": "string", + "identifier": "string", + "startDateTime": "2019-08-24T14:15:22Z", + "status": "confirmed", + "summary": "string", + "timezone": "string", + "calendarId": "string", + "parentEventId": "string", + "extId": "string", + "extMetadata": {}, + "calendar": {}, + "parentEvent": {}, + "attendees": [ + { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "identifier": "string", + "isOptional": true, + "isOrganizer": true, + "messages": "string", + "responseStatus": "needsAction", + "eventId": "string", + "extId": "string", + "extMetadata": {}, + "event": {} + } + ], + "attachments": [ + { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "fileUrl": "string", + "iconLink": "string", + "mimeType": "string", + "title": "string", + "eventId": "string", + "extId": "string", + "extMetadata": {}, + "event": {} + } + ] + } + ], + "workingHours": [], + "subscriptions": [ + { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "accessRole": "freeBusyReader", + "bgColor": "string", + "fgColor": "string", + "isHidden": true, + "isPrimary": true, + "identifier": "string", + "defaultReminders": {}, + "notificationSettings": {}, + "calendarId": "string", + "extId": "string", + "extMetadata": {}, + "calendar": {} + } + ] + } + } + ], + "subscriptions": [ + { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "accessRole": "freeBusyReader", + "bgColor": "string", + "fgColor": "string", + "isHidden": true, + "isPrimary": true, + "identifier": "string", + "defaultReminders": {}, + "notificationSettings": {}, + "calendarId": "string", + "extId": "string", + "extMetadata": {}, + "calendar": { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "source": "string", + "enableWorkingHours": true, + "location": "string", + "identifier": "string", + "summary": "string", + "timezone": "string", + "extId": "string", + "extMetadata": {}, + "events": [ + { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "bgColor": "string", + "description": "string", + "endDateTime": "2019-08-24T14:15:22Z", + "fgColor": "string", + "iCalUid": "string", + "isFullDayEvent": true, + "isLocked": true, + "link": "string", + "location": "string", + "meetingLink": "string", + "identifier": "string", + "startDateTime": "2019-08-24T14:15:22Z", + "status": "confirmed", + "summary": "string", + "timezone": "string", + "calendarId": "string", + "parentEventId": "string", + "extId": "string", + "extMetadata": {}, + "calendar": {}, + "parentEvent": {}, + "attendees": [ + { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "identifier": "string", + "isOptional": true, + "isOrganizer": true, + "messages": "string", + "responseStatus": "needsAction", + "eventId": "string", + "extId": "string", + "extMetadata": {}, + "event": {} + } + ], + "attachments": [ + { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "fileUrl": "string", + "iconLink": "string", + "mimeType": "string", + "title": "string", + "eventId": "string", + "extId": "string", + "extMetadata": {}, + "event": {} + } + ] + } + ], + "workingHours": [ + { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "dayOfWeek": 0, + "end": "string", + "start": "string", + "calendarId": "string", + "extId": "string", + "extMetadata": {}, + "calendar": {} + } + ], + "subscriptions": [] + } + } + ] +} + +``` + +CalendarWithRelations + +### Properties + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|deleted|boolean|false|none|none| +|deletedOn|string(date-time)¦null|false|none|none| +|deletedBy|string¦null|false|none|none| +|createdOn|string(date-time)|false|none|none| +|modifiedOn|string(date-time)|false|none|none| +|createdBy|string|false|none|none| +|modifiedBy|string|false|none|none| +|id|string|false|none|none| +|source|string|false|none|none| +|enableWorkingHours|boolean|false|none|none| +|location|string|false|none|none| +|identifier|string|true|none|none| +|summary|string|false|none|none| +|timezone|string|false|none|none| +|extId|string|false|none|none| +|extMetadata|object|false|none|none| +|events|[[EventWithRelations](#schemaeventwithrelations)]|false|none|[(tsType: EventWithRelations, schemaOptions: { includeRelations: true })]| +|workingHours|[[WorkingHourWithRelations](#schemaworkinghourwithrelations)]|false|none|[(tsType: WorkingHourWithRelations, schemaOptions: { includeRelations: true })]| +|subscriptions|[[SubscriptionWithRelations](#schemasubscriptionwithrelations)]|false|none|[(tsType: SubscriptionWithRelations, schemaOptions: { includeRelations: true })]| + +

CalendarPartial

+ + + + + + +```json +{ + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "source": "string", + "enableWorkingHours": true, + "location": "string", + "identifier": "string", + "summary": "string", + "timezone": "string", + "extId": "string", + "extMetadata": {} +} + +``` + +CalendarPartial + +### Properties + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|deleted|boolean|false|none|none| +|deletedOn|string(date-time)¦null|false|none|none| +|deletedBy|string¦null|false|none|none| +|createdOn|string(date-time)|false|none|none| +|modifiedOn|string(date-time)|false|none|none| +|createdBy|string|false|none|none| +|modifiedBy|string|false|none|none| +|id|string|false|none|none| +|source|string|false|none|none| +|enableWorkingHours|boolean|false|none|none| +|location|string|false|none|none| +|identifier|string|false|none|none| +|summary|string|false|none|none| +|timezone|string|false|none|none| +|extId|string|false|none|none| +|extMetadata|object|false|none|none| + +

Event

+ + + + + + +```json +{ + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "bgColor": "string", + "description": "string", + "endDateTime": "2019-08-24T14:15:22Z", + "fgColor": "string", + "iCalUid": "string", + "isFullDayEvent": true, + "isLocked": true, + "link": "string", + "location": "string", + "meetingLink": "string", + "identifier": "string", + "startDateTime": "2019-08-24T14:15:22Z", + "status": "confirmed", + "summary": "string", + "timezone": "string", + "calendarId": "string", + "parentEventId": "string", + "extId": "string", + "extMetadata": {} +} + +``` + +Event + +### Properties + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|deleted|boolean|false|none|none| +|deletedOn|string(date-time)¦null|false|none|none| +|deletedBy|string¦null|false|none|none| +|createdOn|string(date-time)|false|none|none| +|modifiedOn|string(date-time)|false|none|none| +|createdBy|string|false|none|none| +|modifiedBy|string|false|none|none| +|id|string|false|none|none| +|bgColor|string|false|none|none| +|description|string|false|none|none| +|endDateTime|string(date-time)|false|none|none| +|fgColor|string|false|none|none| +|iCalUid|string|false|none|none| +|isFullDayEvent|boolean|false|none|none| +|isLocked|boolean|false|none|none| +|link|string|false|none|none| +|location|string|false|none|none| +|meetingLink|string|false|none|none| +|identifier|string|false|none|none| +|startDateTime|string(date-time)|false|none|none| +|status|string|false|none|none| +|summary|string|false|none|none| +|timezone|string|false|none|none| +|calendarId|string|true|none|none| +|parentEventId|string|false|none|none| +|extId|string|false|none|none| +|extMetadata|object|false|none|none| + +#### Enumerated Values + +|Property|Value| +|---|---| +|status|confirmed| +|status|tentative| +|status|cancelled| +|status|completed| + +

AttachmentExcluding_id_

+ + + + + + +```json +{ + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "fileUrl": "string", + "iconLink": "string", + "mimeType": "string", + "title": "string", + "eventId": "string", + "extId": "string", + "extMetadata": {} +} + +``` + +AttachmentExcluding_id_ + +### Properties + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|deleted|boolean|false|none|none| +|deletedOn|string(date-time)¦null|false|none|none| +|deletedBy|string¦null|false|none|none| +|createdOn|string(date-time)|false|none|none| +|modifiedOn|string(date-time)|false|none|none| +|createdBy|string|false|none|none| +|modifiedBy|string|false|none|none| +|fileUrl|string|true|none|none| +|iconLink|string|false|none|none| +|mimeType|string|false|none|none| +|title|string|false|none|none| +|eventId|string|true|none|none| +|extId|string|false|none|none| +|extMetadata|object|false|none|none| + +

AttendeeExcluding_id_

+ + + + + + +```json +{ + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "identifier": "string", + "isOptional": true, + "isOrganizer": true, + "messages": "string", + "responseStatus": "needsAction", + "eventId": "string", + "extId": "string", + "extMetadata": {} +} + +``` + +AttendeeExcluding_id_ + +### Properties + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|deleted|boolean|false|none|none| +|deletedOn|string(date-time)¦null|false|none|none| +|deletedBy|string¦null|false|none|none| +|createdOn|string(date-time)|false|none|none| +|modifiedOn|string(date-time)|false|none|none| +|createdBy|string|false|none|none| +|modifiedBy|string|false|none|none| +|identifier|string|true|none|none| +|isOptional|boolean|false|none|none| +|isOrganizer|boolean|false|none|none| +|messages|string|false|none|none| +|responseStatus|string|false|none|none| +|eventId|string|true|none|none| +|extId|string|false|none|none| +|extMetadata|object|false|none|none| + +#### Enumerated Values + +|Property|Value| +|---|---| +|responseStatus|needsAction| +|responseStatus|tentative| +|responseStatus|accepted| +|responseStatus|declined| + +

NewEvent

+ + + + + + +```json +{ + "bgColor": "string", + "description": "string", + "endDateTime": "2019-08-24T14:15:22Z", + "fgColor": "string", + "iCalUid": "string", + "isFullDayEvent": true, + "isLocked": true, + "link": "string", + "location": "string", + "meetingLink": "string", + "identifier": "string", + "startDateTime": "2019-08-24T14:15:22Z", + "status": "confirmed", + "summary": "string", + "timezone": "string", + "calendarId": "string", + "parentEventId": "string", + "attachments": [ + { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "fileUrl": "string", + "iconLink": "string", + "mimeType": "string", + "title": "string", + "eventId": "string", + "extId": "string", + "extMetadata": {} + } + ], + "attendees": [ + { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "identifier": "string", + "isOptional": true, + "isOrganizer": true, + "messages": "string", + "responseStatus": "needsAction", + "eventId": "string", + "extId": "string", + "extMetadata": {} + } + ], + "extId": "string", + "extMetadata": {} +} + +``` + +NewEvent + +### Properties + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|bgColor|string|false|none|none| +|description|string|false|none|none| +|endDateTime|string(date-time)|false|none|none| +|fgColor|string|false|none|none| +|iCalUid|string|false|none|none| +|isFullDayEvent|boolean|false|none|none| +|isLocked|boolean|false|none|none| +|link|string|false|none|none| +|location|string|false|none|none| +|meetingLink|string|false|none|none| +|identifier|string|false|none|none| +|startDateTime|string(date-time)|false|none|none| +|status|string|false|none|none| +|summary|string|false|none|none| +|timezone|string|false|none|none| +|calendarId|string|true|none|none| +|parentEventId|string|false|none|none| +|attachments|[[AttachmentExcluding_id_](#schemaattachmentexcluding_id_)]|false|none|[(tsType: Omit, schemaOptions: { exclude: [ 'id' ] })]| +|attendees|[[AttendeeExcluding_id_](#schemaattendeeexcluding_id_)]|false|none|[(tsType: Omit, schemaOptions: { exclude: [ 'id' ] })]| +|extId|string|false|none|none| +|extMetadata|object|false|none|none| + +#### Enumerated Values + +|Property|Value| +|---|---| +|status|confirmed| +|status|tentative| +|status|cancelled| +|status|completed| + +

EventAttendeeViewItemDTO

+ + + + + + +```json +{ + "id": "string", + "bgColor": "string", + "description": "string", + "endDateTime": "2019-08-24T14:15:22Z", + "extId": "string", + "extMetadata": {}, + "fgColor": "string", + "iCalUid": "string", + "isFullDayEvent": true, + "isLocked": true, + "link": "string", + "location": "string", + "meetingLink": "string", + "identifier": "string", + "startDateTime": "2019-08-24T14:15:22Z", + "status": "confirmed", + "summary": "string", + "timezone": "string", + "attendeeId": "string", + "isOptional": true, + "attendeeIdentifier": "string", + "isOrganizer": true, + "messages": "string", + "eventId": "string" +} + +``` + +EventAttendeeViewItemDTO + +### Properties + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|id|string|false|none|none| +|bgColor|string|false|none|none| +|description|string|false|none|none| +|endDateTime|string(date-time)|false|none|none| +|extId|string|false|none|none| +|extMetadata|object|false|none|none| +|fgColor|string|false|none|none| +|iCalUid|string|false|none|none| +|isFullDayEvent|boolean|false|none|none| +|isLocked|boolean|false|none|none| +|link|string|false|none|none| +|location|string|false|none|none| +|meetingLink|string|false|none|none| +|identifier|string|false|none|none| +|startDateTime|string(date-time)|false|none|none| +|status|string|false|none|none| +|summary|string|false|none|none| +|timezone|string|false|none|none| +|attendeeId|string|false|none|none| +|isOptional|boolean|false|none|none| +|attendeeIdentifier|string|false|none|none| +|isOrganizer|boolean|false|none|none| +|messages|string|false|none|none| +|eventId|string|false|none|none| + +#### Enumerated Values + +|Property|Value| +|---|---| +|status|confirmed| +|status|tentative| +|status|cancelled| +|status|completed| + +

FreeBusyRequest

+ + + + + + +```json +{ + "timeMax": "2019-08-24T14:15:22Z", + "timeMin": "2019-08-24T14:15:22Z", + "items": [ + { + "id": "string", + "bgColor": "string", + "description": "string", + "endDateTime": "2019-08-24T14:15:22Z", + "extId": "string", + "extMetadata": {}, + "fgColor": "string", + "iCalUid": "string", + "isFullDayEvent": true, + "isLocked": true, + "link": "string", + "location": "string", + "meetingLink": "string", + "identifier": "string", + "startDateTime": "2019-08-24T14:15:22Z", + "status": "confirmed", + "summary": "string", + "timezone": "string", + "attendeeId": "string", + "isOptional": true, + "attendeeIdentifier": "string", + "isOrganizer": true, + "messages": "string", + "eventId": "string" + } + ] +} + +``` + +FreeBusyRequest + +### Properties + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|timeMax|string(date-time)|true|none|none| +|timeMin|string(date-time)|true|none|none| +|items|[[EventAttendeeViewItemDTO](#schemaeventattendeeviewitemdto)]|false|none|none| + +

FreeBusyDTO

+ + + + + + +```json +{ + "timeMax": "2019-08-24T14:15:22Z", + "timeMin": "2019-08-24T14:15:22Z", + "items": [ + { + "id": "string", + "bgColor": "string", + "description": "string", + "endDateTime": "2019-08-24T14:15:22Z", + "extId": "string", + "extMetadata": {}, + "fgColor": "string", + "iCalUid": "string", + "isFullDayEvent": true, + "isLocked": true, + "link": "string", + "location": "string", + "meetingLink": "string", + "identifier": "string", + "startDateTime": "2019-08-24T14:15:22Z", + "status": "confirmed", + "summary": "string", + "timezone": "string", + "attendeeId": "string", + "isOptional": true, + "attendeeIdentifier": "string", + "isOrganizer": true, + "messages": "string", + "eventId": "string" + } + ] +} + +``` + +FreeBusyDTO + +### Properties + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|timeMax|string(date-time)|true|none|none| +|timeMin|string(date-time)|true|none|none| +|items|[[EventAttendeeViewItemDTO](#schemaeventattendeeviewitemdto)]|false|none|none| + +

EventPartial

+ + + + + + +```json +{ + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "bgColor": "string", + "description": "string", + "endDateTime": "2019-08-24T14:15:22Z", + "fgColor": "string", + "iCalUid": "string", + "isFullDayEvent": true, + "isLocked": true, + "link": "string", + "location": "string", + "meetingLink": "string", + "identifier": "string", + "startDateTime": "2019-08-24T14:15:22Z", + "status": "confirmed", + "summary": "string", + "timezone": "string", + "calendarId": "string", + "parentEventId": "string", + "extId": "string", + "extMetadata": {} +} + +``` + +EventPartial + +### Properties + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|deleted|boolean|false|none|none| +|deletedOn|string(date-time)¦null|false|none|none| +|deletedBy|string¦null|false|none|none| +|createdOn|string(date-time)|false|none|none| +|modifiedOn|string(date-time)|false|none|none| +|createdBy|string|false|none|none| +|modifiedBy|string|false|none|none| +|id|string|false|none|none| +|bgColor|string|false|none|none| +|description|string|false|none|none| +|endDateTime|string(date-time)|false|none|none| +|fgColor|string|false|none|none| +|iCalUid|string|false|none|none| +|isFullDayEvent|boolean|false|none|none| +|isLocked|boolean|false|none|none| +|link|string|false|none|none| +|location|string|false|none|none| +|meetingLink|string|false|none|none| +|identifier|string|false|none|none| +|startDateTime|string(date-time)|false|none|none| +|status|string|false|none|none| +|summary|string|false|none|none| +|timezone|string|false|none|none| +|calendarId|string|false|none|none| +|parentEventId|string|false|none|none| +|extId|string|false|none|none| +|extMetadata|object|false|none|none| + +#### Enumerated Values + +|Property|Value| +|---|---| +|status|confirmed| +|status|tentative| +|status|cancelled| +|status|completed| + +

Settings

+ + + + + + +```json +{ + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "ownerId": "string", + "ownerType": "global", + "settingName": "string", + "settingValue": "string", + "extId": "string", + "extMetadata": {} +} + +``` + +Settings + +### Properties + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|deleted|boolean|false|none|none| +|deletedOn|string(date-time)¦null|false|none|none| +|deletedBy|string¦null|false|none|none| +|createdOn|string(date-time)|false|none|none| +|modifiedOn|string(date-time)|false|none|none| +|createdBy|string|false|none|none| +|modifiedBy|string|false|none|none| +|id|string|false|none|none| +|ownerId|string|true|none|none| +|ownerType|string|false|none|none| +|settingName|string|false|none|none| +|settingValue|string|false|none|none| +|extId|string|false|none|none| +|extMetadata|object|false|none|none| + +#### Enumerated Values + +|Property|Value| +|---|---| +|ownerType|global| +|ownerType|user| +|ownerType|calendar| +|ownerType|event| + +

NewSettings

+ + + + + + +```json +{ + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "ownerId": "string", + "ownerType": "global", + "settingName": "string", + "settingValue": "string", + "extId": "string", + "extMetadata": {} +} + +``` + +NewSettings + +### Properties + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|deleted|boolean|false|none|none| +|deletedOn|string(date-time)¦null|false|none|none| +|deletedBy|string¦null|false|none|none| +|createdOn|string(date-time)|false|none|none| +|modifiedOn|string(date-time)|false|none|none| +|createdBy|string|false|none|none| +|modifiedBy|string|false|none|none| +|ownerId|string|true|none|none| +|ownerType|string|false|none|none| +|settingName|string|false|none|none| +|settingValue|string|false|none|none| +|extId|string|false|none|none| +|extMetadata|object|false|none|none| + +#### Enumerated Values + +|Property|Value| +|---|---| +|ownerType|global| +|ownerType|user| +|ownerType|calendar| +|ownerType|event| + +

SettingsWithRelations

+ + + + + + +```json +{ + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "ownerId": "string", + "ownerType": "global", + "settingName": "string", + "settingValue": "string", + "extId": "string", + "extMetadata": {} +} + +``` + +SettingsWithRelations + +### Properties + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|deleted|boolean|false|none|none| +|deletedOn|string(date-time)¦null|false|none|none| +|deletedBy|string¦null|false|none|none| +|createdOn|string(date-time)|false|none|none| +|modifiedOn|string(date-time)|false|none|none| +|createdBy|string|false|none|none| +|modifiedBy|string|false|none|none| +|id|string|false|none|none| +|ownerId|string|true|none|none| +|ownerType|string|false|none|none| +|settingName|string|false|none|none| +|settingValue|string|false|none|none| +|extId|string|false|none|none| +|extMetadata|object|false|none|none| + +#### Enumerated Values + +|Property|Value| +|---|---| +|ownerType|global| +|ownerType|user| +|ownerType|calendar| +|ownerType|event| + +

SettingsPartial

+ + + + + + +```json +{ + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "ownerId": "string", + "ownerType": "global", + "settingName": "string", + "settingValue": "string", + "extId": "string", + "extMetadata": {} +} + +``` + +SettingsPartial + +### Properties + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|deleted|boolean|false|none|none| +|deletedOn|string(date-time)¦null|false|none|none| +|deletedBy|string¦null|false|none|none| +|createdOn|string(date-time)|false|none|none| +|modifiedOn|string(date-time)|false|none|none| +|createdBy|string|false|none|none| +|modifiedBy|string|false|none|none| +|id|string|false|none|none| +|ownerId|string|false|none|none| +|ownerType|string|false|none|none| +|settingName|string|false|none|none| +|settingValue|string|false|none|none| +|extId|string|false|none|none| +|extMetadata|object|false|none|none| + +#### Enumerated Values + +|Property|Value| +|---|---| +|ownerType|global| +|ownerType|user| +|ownerType|calendar| +|ownerType|event| + +

Subscription

+ + + + + + +```json +{ + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "accessRole": "freeBusyReader", + "bgColor": "string", + "fgColor": "string", + "isHidden": true, + "isPrimary": true, + "identifier": "string", + "defaultReminders": {}, + "notificationSettings": {}, + "calendarId": "string", + "extId": "string", + "extMetadata": {} +} + +``` + +Subscription + +### Properties + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|deleted|boolean|false|none|none| +|deletedOn|string(date-time)¦null|false|none|none| +|deletedBy|string¦null|false|none|none| +|createdOn|string(date-time)|false|none|none| +|modifiedOn|string(date-time)|false|none|none| +|createdBy|string|false|none|none| +|modifiedBy|string|false|none|none| +|id|string|false|none|none| +|accessRole|string|false|none|none| +|bgColor|string|false|none|none| +|fgColor|string|false|none|none| +|isHidden|boolean|false|none|none| +|isPrimary|boolean|false|none|none| +|identifier|string|true|none|none| +|defaultReminders|object|false|none|none| +|notificationSettings|object|false|none|none| +|calendarId|string|true|none|none| +|extId|string|false|none|none| +|extMetadata|object|false|none|none| + +#### Enumerated Values + +|Property|Value| +|---|---| +|accessRole|freeBusyReader| +|accessRole|reader| +|accessRole|writer| +|accessRole|owner| + +

NewSubscription

+ + + + + + +```json +{ + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "accessRole": "freeBusyReader", + "bgColor": "string", + "fgColor": "string", + "isHidden": true, + "isPrimary": true, + "identifier": "string", + "defaultReminders": {}, + "notificationSettings": {}, + "calendarId": "string", + "extId": "string", + "extMetadata": {} +} + +``` + +NewSubscription + +### Properties + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|deleted|boolean|false|none|none| +|deletedOn|string(date-time)¦null|false|none|none| +|deletedBy|string¦null|false|none|none| +|createdOn|string(date-time)|false|none|none| +|modifiedOn|string(date-time)|false|none|none| +|createdBy|string|false|none|none| +|modifiedBy|string|false|none|none| +|accessRole|string|false|none|none| +|bgColor|string|false|none|none| +|fgColor|string|false|none|none| +|isHidden|boolean|false|none|none| +|isPrimary|boolean|false|none|none| +|identifier|string|true|none|none| +|defaultReminders|object|false|none|none| +|notificationSettings|object|false|none|none| +|calendarId|string|true|none|none| +|extId|string|false|none|none| +|extMetadata|object|false|none|none| + +#### Enumerated Values + +|Property|Value| +|---|---| +|accessRole|freeBusyReader| +|accessRole|reader| +|accessRole|writer| +|accessRole|owner| + +

SubscriptionWithRelations

+ + + + + + +```json +{ + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "accessRole": "freeBusyReader", + "bgColor": "string", + "fgColor": "string", + "isHidden": true, + "isPrimary": true, + "identifier": "string", + "defaultReminders": {}, + "notificationSettings": {}, + "calendarId": "string", + "extId": "string", + "extMetadata": {}, + "calendar": { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "source": "string", + "enableWorkingHours": true, + "location": "string", + "identifier": "string", + "summary": "string", + "timezone": "string", + "extId": "string", + "extMetadata": {}, + "events": [ + { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "bgColor": "string", + "description": "string", + "endDateTime": "2019-08-24T14:15:22Z", + "fgColor": "string", + "iCalUid": "string", + "isFullDayEvent": true, + "isLocked": true, + "link": "string", + "location": "string", + "meetingLink": "string", + "identifier": "string", + "startDateTime": "2019-08-24T14:15:22Z", + "status": "confirmed", + "summary": "string", + "timezone": "string", + "calendarId": "string", + "parentEventId": "string", + "extId": "string", + "extMetadata": {}, + "calendar": {}, + "parentEvent": {}, + "attendees": [ + { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "identifier": "string", + "isOptional": true, + "isOrganizer": true, + "messages": "string", + "responseStatus": "needsAction", + "eventId": "string", + "extId": "string", + "extMetadata": {}, + "event": {} + } + ], + "attachments": [ + { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "fileUrl": "string", + "iconLink": "string", + "mimeType": "string", + "title": "string", + "eventId": "string", + "extId": "string", + "extMetadata": {}, + "event": {} + } + ] + } + ], + "workingHours": [ + { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "dayOfWeek": 0, + "end": "string", + "start": "string", + "calendarId": "string", + "extId": "string", + "extMetadata": {}, + "calendar": {} + } + ], + "subscriptions": [ + { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "accessRole": "freeBusyReader", + "bgColor": "string", + "fgColor": "string", + "isHidden": true, + "isPrimary": true, + "identifier": "string", + "defaultReminders": {}, + "notificationSettings": {}, + "calendarId": "string", + "extId": "string", + "extMetadata": {}, + "calendar": {} + } + ] + } +} + +``` + +SubscriptionWithRelations + +### Properties + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|deleted|boolean|false|none|none| +|deletedOn|string(date-time)¦null|false|none|none| +|deletedBy|string¦null|false|none|none| +|createdOn|string(date-time)|false|none|none| +|modifiedOn|string(date-time)|false|none|none| +|createdBy|string|false|none|none| +|modifiedBy|string|false|none|none| +|id|string|false|none|none| +|accessRole|string|false|none|none| +|bgColor|string|false|none|none| +|fgColor|string|false|none|none| +|isHidden|boolean|false|none|none| +|isPrimary|boolean|false|none|none| +|identifier|string|true|none|none| +|defaultReminders|object|false|none|none| +|notificationSettings|object|false|none|none| +|calendarId|string|true|none|none| +|extId|string|false|none|none| +|extMetadata|object|false|none|none| +|calendar|[CalendarWithRelations](#schemacalendarwithrelations)|false|none|(tsType: CalendarWithRelations, schemaOptions: { includeRelations: true })| + +#### Enumerated Values + +|Property|Value| +|---|---| +|accessRole|freeBusyReader| +|accessRole|reader| +|accessRole|writer| +|accessRole|owner| + +

SubscriptionPartial

+ + + + + + +```json +{ + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "accessRole": "freeBusyReader", + "bgColor": "string", + "fgColor": "string", + "isHidden": true, + "isPrimary": true, + "identifier": "string", + "defaultReminders": {}, + "notificationSettings": {}, + "calendarId": "string", + "extId": "string", + "extMetadata": {} +} + +``` + +SubscriptionPartial + +### Properties + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|deleted|boolean|false|none|none| +|deletedOn|string(date-time)¦null|false|none|none| +|deletedBy|string¦null|false|none|none| +|createdOn|string(date-time)|false|none|none| +|modifiedOn|string(date-time)|false|none|none| +|createdBy|string|false|none|none| +|modifiedBy|string|false|none|none| +|id|string|false|none|none| +|accessRole|string|false|none|none| +|bgColor|string|false|none|none| +|fgColor|string|false|none|none| +|isHidden|boolean|false|none|none| +|isPrimary|boolean|false|none|none| +|identifier|string|false|none|none| +|defaultReminders|object|false|none|none| +|notificationSettings|object|false|none|none| +|calendarId|string|false|none|none| +|extId|string|false|none|none| +|extMetadata|object|false|none|none| + +#### Enumerated Values + +|Property|Value| +|---|---| +|accessRole|freeBusyReader| +|accessRole|reader| +|accessRole|writer| +|accessRole|owner| + +

Theme

+ + + + + + +```json +{ + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "calBg": "string", + "calFg": "string", + "eventBg": "string", + "eventFg": "string", + "extId": "string", + "extMetadata": {} +} + +``` + +Theme + +### Properties + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|deleted|boolean|false|none|none| +|deletedOn|string(date-time)¦null|false|none|none| +|deletedBy|string¦null|false|none|none| +|createdOn|string(date-time)|false|none|none| +|modifiedOn|string(date-time)|false|none|none| +|createdBy|string|false|none|none| +|modifiedBy|string|false|none|none| +|id|string|false|none|none| +|calBg|string|false|none|none| +|calFg|string|false|none|none| +|eventBg|string|false|none|none| +|eventFg|string|false|none|none| +|extId|string|false|none|none| +|extMetadata|object|false|none|none| + +

NewTheme

+ + + + + + +```json +{ + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "calBg": "string", + "calFg": "string", + "eventBg": "string", + "eventFg": "string", + "extId": "string", + "extMetadata": {} +} + +``` + +NewTheme + +### Properties + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|deleted|boolean|false|none|none| +|deletedOn|string(date-time)¦null|false|none|none| +|deletedBy|string¦null|false|none|none| +|createdOn|string(date-time)|false|none|none| +|modifiedOn|string(date-time)|false|none|none| +|createdBy|string|false|none|none| +|modifiedBy|string|false|none|none| +|calBg|string|false|none|none| +|calFg|string|false|none|none| +|eventBg|string|false|none|none| +|eventFg|string|false|none|none| +|extId|string|false|none|none| +|extMetadata|object|false|none|none| + +

ThemeWithRelations

+ + + + + + +```json +{ + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "calBg": "string", + "calFg": "string", + "eventBg": "string", + "eventFg": "string", + "extId": "string", + "extMetadata": {} +} + +``` + +ThemeWithRelations + +### Properties + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|deleted|boolean|false|none|none| +|deletedOn|string(date-time)¦null|false|none|none| +|deletedBy|string¦null|false|none|none| +|createdOn|string(date-time)|false|none|none| +|modifiedOn|string(date-time)|false|none|none| +|createdBy|string|false|none|none| +|modifiedBy|string|false|none|none| +|id|string|false|none|none| +|calBg|string|false|none|none| +|calFg|string|false|none|none| +|eventBg|string|false|none|none| +|eventFg|string|false|none|none| +|extId|string|false|none|none| +|extMetadata|object|false|none|none| + +

ThemePartial

+ + + + + + +```json +{ + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "calBg": "string", + "calFg": "string", + "eventBg": "string", + "eventFg": "string", + "extId": "string", + "extMetadata": {} +} + +``` + +ThemePartial + +### Properties + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|deleted|boolean|false|none|none| +|deletedOn|string(date-time)¦null|false|none|none| +|deletedBy|string¦null|false|none|none| +|createdOn|string(date-time)|false|none|none| +|modifiedOn|string(date-time)|false|none|none| +|createdBy|string|false|none|none| +|modifiedBy|string|false|none|none| +|id|string|false|none|none| +|calBg|string|false|none|none| +|calFg|string|false|none|none| +|eventBg|string|false|none|none| +|eventFg|string|false|none|none| +|extId|string|false|none|none| +|extMetadata|object|false|none|none| + +

NewWorkingHour

+ + + + + + +```json +{ + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "dayOfWeek": 0, + "end": "string", + "start": "string", + "calendarId": "string", + "extId": "string", + "extMetadata": {} +} + +``` + +NewWorkingHour + +### Properties + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|deleted|boolean|false|none|none| +|deletedOn|string(date-time)¦null|false|none|none| +|deletedBy|string¦null|false|none|none| +|createdOn|string(date-time)|false|none|none| +|modifiedOn|string(date-time)|false|none|none| +|createdBy|string|false|none|none| +|modifiedBy|string|false|none|none| +|dayOfWeek|number|false|none|none| +|end|string|false|none|none| +|start|string|false|none|none| +|calendarId|string|true|none|none| +|extId|string|false|none|none| +|extMetadata|object|false|none|none| + +#### Enumerated Values + +|Property|Value| +|---|---| +|dayOfWeek|0| +|dayOfWeek|1| +|dayOfWeek|2| +|dayOfWeek|3| +|dayOfWeek|4| +|dayOfWeek|5| +|dayOfWeek|6| + +

WorkingHourWithRelations

+ + + + + + +```json +{ + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "dayOfWeek": 0, + "end": "string", + "start": "string", + "calendarId": "string", + "extId": "string", + "extMetadata": {}, + "calendar": { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "source": "string", + "enableWorkingHours": true, + "location": "string", + "identifier": "string", + "summary": "string", + "timezone": "string", + "extId": "string", + "extMetadata": {}, + "events": [ + { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "bgColor": "string", + "description": "string", + "endDateTime": "2019-08-24T14:15:22Z", + "fgColor": "string", + "iCalUid": "string", + "isFullDayEvent": true, + "isLocked": true, + "link": "string", + "location": "string", + "meetingLink": "string", + "identifier": "string", + "startDateTime": "2019-08-24T14:15:22Z", + "status": "confirmed", + "summary": "string", + "timezone": "string", + "calendarId": "string", + "parentEventId": "string", + "extId": "string", + "extMetadata": {}, + "calendar": {}, + "parentEvent": {}, + "attendees": [ + { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "identifier": "string", + "isOptional": true, + "isOrganizer": true, + "messages": "string", + "responseStatus": "needsAction", + "eventId": "string", + "extId": "string", + "extMetadata": {}, + "event": {} + } + ], + "attachments": [ + { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "fileUrl": "string", + "iconLink": "string", + "mimeType": "string", + "title": "string", + "eventId": "string", + "extId": "string", + "extMetadata": {}, + "event": {} + } + ] + } + ], + "workingHours": [ + { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "dayOfWeek": 0, + "end": "string", + "start": "string", + "calendarId": "string", + "extId": "string", + "extMetadata": {}, + "calendar": {} + } + ], + "subscriptions": [ + { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "accessRole": "freeBusyReader", + "bgColor": "string", + "fgColor": "string", + "isHidden": true, + "isPrimary": true, + "identifier": "string", + "defaultReminders": {}, + "notificationSettings": {}, + "calendarId": "string", + "extId": "string", + "extMetadata": {}, + "calendar": {} + } + ] + } +} + +``` + +WorkingHourWithRelations + +### Properties + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|deleted|boolean|false|none|none| +|deletedOn|string(date-time)¦null|false|none|none| +|deletedBy|string¦null|false|none|none| +|createdOn|string(date-time)|false|none|none| +|modifiedOn|string(date-time)|false|none|none| +|createdBy|string|false|none|none| +|modifiedBy|string|false|none|none| +|id|string|false|none|none| +|dayOfWeek|number|false|none|none| +|end|string|false|none|none| +|start|string|false|none|none| +|calendarId|string|true|none|none| +|extId|string|false|none|none| +|extMetadata|object|false|none|none| +|calendar|[CalendarWithRelations](#schemacalendarwithrelations)|false|none|(tsType: CalendarWithRelations, schemaOptions: { includeRelations: true })| + +#### Enumerated Values + +|Property|Value| +|---|---| +|dayOfWeek|0| +|dayOfWeek|1| +|dayOfWeek|2| +|dayOfWeek|3| +|dayOfWeek|4| +|dayOfWeek|5| +|dayOfWeek|6| + +

WorkingHourPartial

+ + + + + + +```json +{ + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": "string", + "dayOfWeek": 0, + "end": "string", + "start": "string", + "calendarId": "string", + "extId": "string", + "extMetadata": {} +} + +``` + +WorkingHourPartial + +### Properties + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|deleted|boolean|false|none|none| +|deletedOn|string(date-time)¦null|false|none|none| +|deletedBy|string¦null|false|none|none| +|createdOn|string(date-time)|false|none|none| +|modifiedOn|string(date-time)|false|none|none| +|createdBy|string|false|none|none| +|modifiedBy|string|false|none|none| +|id|string|false|none|none| +|dayOfWeek|number|false|none|none| +|end|string|false|none|none| +|start|string|false|none|none| +|calendarId|string|false|none|none| +|extId|string|false|none|none| +|extMetadata|object|false|none|none| + +#### Enumerated Values + +|Property|Value| +|---|---| +|dayOfWeek|0| +|dayOfWeek|1| +|dayOfWeek|2| +|dayOfWeek|3| +|dayOfWeek|4| +|dayOfWeek|5| +|dayOfWeek|6| + +

Date

+ + + + + + +```json +null + +``` + +### Properties + +*None* + +

NewEventInCalendar

+ + + + + + +```json +{ + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "bgColor": "string", + "description": "string", + "endDateTime": "2019-08-24T14:15:22Z", + "fgColor": "string", + "iCalUid": "string", + "isFullDayEvent": true, + "isLocked": true, + "link": "string", + "location": "string", + "meetingLink": "string", + "identifier": "string", + "startDateTime": "2019-08-24T14:15:22Z", + "status": "confirmed", + "summary": "string", + "timezone": "string", + "calendarId": "string", + "parentEventId": "string", + "extId": "string", + "extMetadata": {} +} + +``` + +NewEventInCalendar + +### Properties + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|deleted|boolean|false|none|none| +|deletedOn|string(date-time)¦null|false|none|none| +|deletedBy|string¦null|false|none|none| +|createdOn|string(date-time)|false|none|none| +|modifiedOn|string(date-time)|false|none|none| +|createdBy|string|false|none|none| +|modifiedBy|string|false|none|none| +|bgColor|string|false|none|none| +|description|string|false|none|none| +|endDateTime|string(date-time)|false|none|none| +|fgColor|string|false|none|none| +|iCalUid|string|false|none|none| +|isFullDayEvent|boolean|false|none|none| +|isLocked|boolean|false|none|none| +|link|string|false|none|none| +|location|string|false|none|none| +|meetingLink|string|false|none|none| +|identifier|string|false|none|none| +|startDateTime|string(date-time)|false|none|none| +|status|string|false|none|none| +|summary|string|false|none|none| +|timezone|string|false|none|none| +|calendarId|string|false|none|none| +|parentEventId|string|false|none|none| +|extId|string|false|none|none| +|extMetadata|object|false|none|none| + +#### Enumerated Values + +|Property|Value| +|---|---| +|status|confirmed| +|status|tentative| +|status|cancelled| +|status|completed| + +

NewSubscriptionInCalendar

+ + + + + + +```json +{ + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "accessRole": "freeBusyReader", + "bgColor": "string", + "fgColor": "string", + "isHidden": true, + "isPrimary": true, + "identifier": "string", + "defaultReminders": {}, + "notificationSettings": {}, + "calendarId": "string", + "extId": "string", + "extMetadata": {} +} + +``` + +NewSubscriptionInCalendar + +### Properties + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|deleted|boolean|false|none|none| +|deletedOn|string(date-time)¦null|false|none|none| +|deletedBy|string¦null|false|none|none| +|createdOn|string(date-time)|false|none|none| +|modifiedOn|string(date-time)|false|none|none| +|createdBy|string|false|none|none| +|modifiedBy|string|false|none|none| +|accessRole|string|false|none|none| +|bgColor|string|false|none|none| +|fgColor|string|false|none|none| +|isHidden|boolean|false|none|none| +|isPrimary|boolean|false|none|none| +|identifier|string|true|none|none| +|defaultReminders|object|false|none|none| +|notificationSettings|object|false|none|none| +|calendarId|string|false|none|none| +|extId|string|false|none|none| +|extMetadata|object|false|none|none| + +#### Enumerated Values + +|Property|Value| +|---|---| +|accessRole|freeBusyReader| +|accessRole|reader| +|accessRole|writer| +|accessRole|owner| + +

NewWorkingHourInCalendar

+ + + + + + +```json +{ + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "dayOfWeek": 0, + "end": "string", + "start": "string", + "calendarId": "string", + "extId": "string", + "extMetadata": {} +} + +``` + +NewWorkingHourInCalendar + +### Properties + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|deleted|boolean|false|none|none| +|deletedOn|string(date-time)¦null|false|none|none| +|deletedBy|string¦null|false|none|none| +|createdOn|string(date-time)|false|none|none| +|modifiedOn|string(date-time)|false|none|none| +|createdBy|string|false|none|none| +|modifiedBy|string|false|none|none| +|dayOfWeek|number|false|none|none| +|end|string|false|none|none| +|start|string|false|none|none| +|calendarId|string|false|none|none| +|extId|string|false|none|none| +|extMetadata|object|false|none|none| + +#### Enumerated Values + +|Property|Value| +|---|---| +|dayOfWeek|0| +|dayOfWeek|1| +|dayOfWeek|2| +|dayOfWeek|3| +|dayOfWeek|4| +|dayOfWeek|5| +|dayOfWeek|6| + +

NewAttachmentInEvent

+ + + + + + +```json +{ + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "fileUrl": "string", + "iconLink": "string", + "mimeType": "string", + "title": "string", + "eventId": "string", + "extId": "string", + "extMetadata": {} +} + +``` + +NewAttachmentInEvent + +### Properties + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|deleted|boolean|false|none|none| +|deletedOn|string(date-time)¦null|false|none|none| +|deletedBy|string¦null|false|none|none| +|createdOn|string(date-time)|false|none|none| +|modifiedOn|string(date-time)|false|none|none| +|createdBy|string|false|none|none| +|modifiedBy|string|false|none|none| +|fileUrl|string|true|none|none| +|iconLink|string|false|none|none| +|mimeType|string|false|none|none| +|title|string|false|none|none| +|eventId|string|false|none|none| +|extId|string|false|none|none| +|extMetadata|object|false|none|none| + +

NewAttendeeInEvent

+ + + + + + +```json +{ + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "identifier": "string", + "isOptional": true, + "isOrganizer": true, + "messages": "string", + "responseStatus": "needsAction", + "eventId": "string", + "extId": "string", + "extMetadata": {} +} + +``` + +NewAttendeeInEvent + +### Properties + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|deleted|boolean|false|none|none| +|deletedOn|string(date-time)¦null|false|none|none| +|deletedBy|string¦null|false|none|none| +|createdOn|string(date-time)|false|none|none| +|modifiedOn|string(date-time)|false|none|none| +|createdBy|string|false|none|none| +|modifiedBy|string|false|none|none| +|identifier|string|true|none|none| +|isOptional|boolean|false|none|none| +|isOrganizer|boolean|false|none|none| +|messages|string|false|none|none| +|responseStatus|string|false|none|none| +|eventId|string|false|none|none| +|extId|string|false|none|none| +|extMetadata|object|false|none|none| + +#### Enumerated Values + +|Property|Value| +|---|---| +|responseStatus|needsAction| +|responseStatus|tentative| +|responseStatus|accepted| +|responseStatus|declined| + +

loopback.Count

+ + + + + + +```json +{ + "count": 0 +} + +``` + +loopback.Count + +### Properties + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|count|number|false|none|none| + +

attachments.ScopeFilter

+ + + + + + +```json +{ + "offset": 0, + "limit": 100, + "skip": 0, + "order": "string", + "where": {}, + "fields": {}, + "include": [ + {} + ] +} + +``` + +attachments.ScopeFilter + +### Properties + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|offset|integer|false|none|none| +|limit|integer|false|none|none| +|skip|integer|false|none|none| +|order|any|false|none|none| + +oneOf + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|» *anonymous*|string|false|none|none| + +xor + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|» *anonymous*|[string]|false|none|none| + +continued + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|where|object|false|none|none| +|fields|any|false|none|none| + +oneOf + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|» *anonymous*|object|false|none|none| + +xor + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|» *anonymous*|[string]|false|none|none| + +continued + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|include|[object]|false|none|none| + +

attachments.IncludeFilter.Items

+ + + + + + +```json +{ + "relation": "string", + "scope": { + "offset": 0, + "limit": 100, + "skip": 0, + "order": "string", + "where": {}, + "fields": {}, + "include": [ + {} + ] + } +} + +``` + +attachments.IncludeFilter.Items + +### Properties + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|relation|string|false|none|none| +|scope|[attachments.ScopeFilter](#schemaattachments.scopefilter)|false|none|none| + +

attachments.Filter

+ + + + + + +```json +{ + "offset": 0, + "limit": 100, + "skip": 0, + "order": "string", + "fields": { + "deleted": true, + "deletedOn": true, + "deletedBy": true, + "createdOn": true, + "modifiedOn": true, + "createdBy": true, + "modifiedBy": true, + "id": true, + "fileUrl": true, + "iconLink": true, + "mimeType": true, + "title": true, + "eventId": true, + "extId": true, + "extMetadata": true + }, + "include": [ + { + "relation": "string", + "scope": { + "offset": 0, + "limit": 100, + "skip": 0, + "order": "string", + "where": {}, + "fields": {}, + "include": [ + {} + ] + } + } + ] +} + +``` + +attachments.Filter + +### Properties + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|offset|integer|false|none|none| +|limit|integer|false|none|none| +|skip|integer|false|none|none| +|order|any|false|none|none| + +oneOf + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|» *anonymous*|string|false|none|none| + +xor + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|» *anonymous*|[string]|false|none|none| + +continued + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|fields|any|false|none|none| + +oneOf + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|» *anonymous*|object|false|none|none| +|»» deleted|boolean|false|none|none| +|»» deletedOn|boolean|false|none|none| +|»» deletedBy|boolean|false|none|none| +|»» createdOn|boolean|false|none|none| +|»» modifiedOn|boolean|false|none|none| +|»» createdBy|boolean|false|none|none| +|»» modifiedBy|boolean|false|none|none| +|»» id|boolean|false|none|none| +|»» fileUrl|boolean|false|none|none| +|»» iconLink|boolean|false|none|none| +|»» mimeType|boolean|false|none|none| +|»» title|boolean|false|none|none| +|»» eventId|boolean|false|none|none| +|»» extId|boolean|false|none|none| +|»» extMetadata|boolean|false|none|none| + +xor + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|» *anonymous*|[string]|false|none|none| + +continued + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|include|[anyOf]|false|none|none| + +anyOf + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|» *anonymous*|[attachments.IncludeFilter.Items](#schemaattachments.includefilter.items)|false|none|none| + +or + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|» *anonymous*|string|false|none|none| + +

attachments.Filter1

+ + + + + + +```json +{ + "offset": 0, + "limit": 100, + "skip": 0, + "order": "string", + "where": {}, + "fields": { + "deleted": true, + "deletedOn": true, + "deletedBy": true, + "createdOn": true, + "modifiedOn": true, + "createdBy": true, + "modifiedBy": true, + "id": true, + "fileUrl": true, + "iconLink": true, + "mimeType": true, + "title": true, + "eventId": true, + "extId": true, + "extMetadata": true + }, + "include": [ + { + "relation": "string", + "scope": { + "offset": 0, + "limit": 100, + "skip": 0, + "order": "string", + "where": {}, + "fields": {}, + "include": [ + {} + ] + } + } + ] +} + +``` + +attachments.Filter + +### Properties + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|offset|integer|false|none|none| +|limit|integer|false|none|none| +|skip|integer|false|none|none| +|order|any|false|none|none| + +oneOf + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|» *anonymous*|string|false|none|none| + +xor + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|» *anonymous*|[string]|false|none|none| + +continued + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|where|object|false|none|none| +|fields|any|false|none|none| + +oneOf + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|» *anonymous*|object|false|none|none| +|»» deleted|boolean|false|none|none| +|»» deletedOn|boolean|false|none|none| +|»» deletedBy|boolean|false|none|none| +|»» createdOn|boolean|false|none|none| +|»» modifiedOn|boolean|false|none|none| +|»» createdBy|boolean|false|none|none| +|»» modifiedBy|boolean|false|none|none| +|»» id|boolean|false|none|none| +|»» fileUrl|boolean|false|none|none| +|»» iconLink|boolean|false|none|none| +|»» mimeType|boolean|false|none|none| +|»» title|boolean|false|none|none| +|»» eventId|boolean|false|none|none| +|»» extId|boolean|false|none|none| +|»» extMetadata|boolean|false|none|none| + +xor + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|» *anonymous*|[string]|false|none|none| + +continued + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|include|[anyOf]|false|none|none| + +anyOf + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|» *anonymous*|[attachments.IncludeFilter.Items](#schemaattachments.includefilter.items)|false|none|none| + +or + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|» *anonymous*|string|false|none|none| + +

attendees.ScopeFilter

+ + + + + + +```json +{ + "offset": 0, + "limit": 100, + "skip": 0, + "order": "string", + "where": {}, + "fields": {}, + "include": [ + {} + ] +} + +``` + +attendees.ScopeFilter + +### Properties + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|offset|integer|false|none|none| +|limit|integer|false|none|none| +|skip|integer|false|none|none| +|order|any|false|none|none| + +oneOf + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|» *anonymous*|string|false|none|none| + +xor + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|» *anonymous*|[string]|false|none|none| + +continued + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|where|object|false|none|none| +|fields|any|false|none|none| + +oneOf + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|» *anonymous*|object|false|none|none| + +xor + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|» *anonymous*|[string]|false|none|none| + +continued + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|include|[object]|false|none|none| + +

attendees.IncludeFilter.Items

+ + + + + + +```json +{ + "relation": "string", + "scope": { + "offset": 0, + "limit": 100, + "skip": 0, + "order": "string", + "where": {}, + "fields": {}, + "include": [ + {} + ] + } +} + +``` + +attendees.IncludeFilter.Items + +### Properties + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|relation|string|false|none|none| +|scope|[attendees.ScopeFilter](#schemaattendees.scopefilter)|false|none|none| + +

attendees.Filter

+ + + + + + +```json +{ + "offset": 0, + "limit": 100, + "skip": 0, + "order": "string", + "fields": { + "deleted": true, + "deletedOn": true, + "deletedBy": true, + "createdOn": true, + "modifiedOn": true, + "createdBy": true, + "modifiedBy": true, + "id": true, + "identifier": true, + "isOptional": true, + "isOrganizer": true, + "messages": true, + "responseStatus": true, + "eventId": true, + "extId": true, + "extMetadata": true + }, + "include": [ + { + "relation": "string", + "scope": { + "offset": 0, + "limit": 100, + "skip": 0, + "order": "string", + "where": {}, + "fields": {}, + "include": [ + {} + ] + } + } + ] +} + +``` + +attendees.Filter + +### Properties + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|offset|integer|false|none|none| +|limit|integer|false|none|none| +|skip|integer|false|none|none| +|order|any|false|none|none| + +oneOf + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|» *anonymous*|string|false|none|none| + +xor + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|» *anonymous*|[string]|false|none|none| + +continued + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|fields|any|false|none|none| + +oneOf + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|» *anonymous*|object|false|none|none| +|»» deleted|boolean|false|none|none| +|»» deletedOn|boolean|false|none|none| +|»» deletedBy|boolean|false|none|none| +|»» createdOn|boolean|false|none|none| +|»» modifiedOn|boolean|false|none|none| +|»» createdBy|boolean|false|none|none| +|»» modifiedBy|boolean|false|none|none| +|»» id|boolean|false|none|none| +|»» identifier|boolean|false|none|none| +|»» isOptional|boolean|false|none|none| +|»» isOrganizer|boolean|false|none|none| +|»» messages|boolean|false|none|none| +|»» responseStatus|boolean|false|none|none| +|»» eventId|boolean|false|none|none| +|»» extId|boolean|false|none|none| +|»» extMetadata|boolean|false|none|none| + +xor + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|» *anonymous*|[string]|false|none|none| + +continued + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|include|[anyOf]|false|none|none| + +anyOf + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|» *anonymous*|[attendees.IncludeFilter.Items](#schemaattendees.includefilter.items)|false|none|none| + +or + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|» *anonymous*|string|false|none|none| + +

attendees.Filter1

+ + + + + + +```json +{ + "offset": 0, + "limit": 100, + "skip": 0, + "order": "string", + "where": {}, + "fields": { + "deleted": true, + "deletedOn": true, + "deletedBy": true, + "createdOn": true, + "modifiedOn": true, + "createdBy": true, + "modifiedBy": true, + "id": true, + "identifier": true, + "isOptional": true, + "isOrganizer": true, + "messages": true, + "responseStatus": true, + "eventId": true, + "extId": true, + "extMetadata": true + }, + "include": [ + { + "relation": "string", + "scope": { + "offset": 0, + "limit": 100, + "skip": 0, + "order": "string", + "where": {}, + "fields": {}, + "include": [ + {} + ] + } + } + ] +} + +``` + +attendees.Filter + +### Properties + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|offset|integer|false|none|none| +|limit|integer|false|none|none| +|skip|integer|false|none|none| +|order|any|false|none|none| + +oneOf + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|» *anonymous*|string|false|none|none| + +xor + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|» *anonymous*|[string]|false|none|none| + +continued + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|where|object|false|none|none| +|fields|any|false|none|none| + +oneOf + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|» *anonymous*|object|false|none|none| +|»» deleted|boolean|false|none|none| +|»» deletedOn|boolean|false|none|none| +|»» deletedBy|boolean|false|none|none| +|»» createdOn|boolean|false|none|none| +|»» modifiedOn|boolean|false|none|none| +|»» createdBy|boolean|false|none|none| +|»» modifiedBy|boolean|false|none|none| +|»» id|boolean|false|none|none| +|»» identifier|boolean|false|none|none| +|»» isOptional|boolean|false|none|none| +|»» isOrganizer|boolean|false|none|none| +|»» messages|boolean|false|none|none| +|»» responseStatus|boolean|false|none|none| +|»» eventId|boolean|false|none|none| +|»» extId|boolean|false|none|none| +|»» extMetadata|boolean|false|none|none| + +xor + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|» *anonymous*|[string]|false|none|none| + +continued + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|include|[anyOf]|false|none|none| + +anyOf + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|» *anonymous*|[attendees.IncludeFilter.Items](#schemaattendees.includefilter.items)|false|none|none| + +or + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|» *anonymous*|string|false|none|none| + +

subscriptions.ScopeFilter

+ + + + + + +```json +{ + "offset": 0, + "limit": 100, + "skip": 0, + "order": "string", + "where": {}, + "fields": {}, + "include": [ + {} + ] +} + +``` + +subscriptions.ScopeFilter + +### Properties + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|offset|integer|false|none|none| +|limit|integer|false|none|none| +|skip|integer|false|none|none| +|order|any|false|none|none| + +oneOf + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|» *anonymous*|string|false|none|none| + +xor + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|» *anonymous*|[string]|false|none|none| + +continued + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|where|object|false|none|none| +|fields|any|false|none|none| + +oneOf + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|» *anonymous*|object|false|none|none| + +xor + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|» *anonymous*|[string]|false|none|none| + +continued + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|include|[object]|false|none|none| + +

subscriptions.IncludeFilter.Items

+ + + + + + +```json +{ + "relation": "string", + "scope": { + "offset": 0, + "limit": 100, + "skip": 0, + "order": "string", + "where": {}, + "fields": {}, + "include": [ + {} + ] + } +} + +``` + +subscriptions.IncludeFilter.Items + +### Properties + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|relation|string|false|none|none| +|scope|[subscriptions.ScopeFilter](#schemasubscriptions.scopefilter)|false|none|none| + +

subscriptions.Filter

+ + + + + + +```json +{ + "offset": 0, + "limit": 100, + "skip": 0, + "order": "string", + "where": {}, + "fields": { + "deleted": true, + "deletedOn": true, + "deletedBy": true, + "createdOn": true, + "modifiedOn": true, + "createdBy": true, + "modifiedBy": true, + "id": true, + "accessRole": true, + "bgColor": true, + "fgColor": true, + "isHidden": true, + "isPrimary": true, + "identifier": true, + "defaultReminders": true, + "notificationSettings": true, + "calendarId": true, + "extId": true, + "extMetadata": true + }, + "include": [ + { + "relation": "string", + "scope": { + "offset": 0, + "limit": 100, + "skip": 0, + "order": "string", + "where": {}, + "fields": {}, + "include": [ + {} + ] + } + } + ] +} + +``` + +subscriptions.Filter + +### Properties + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|offset|integer|false|none|none| +|limit|integer|false|none|none| +|skip|integer|false|none|none| +|order|any|false|none|none| + +oneOf + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|» *anonymous*|string|false|none|none| + +xor + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|» *anonymous*|[string]|false|none|none| + +continued + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|where|object|false|none|none| +|fields|any|false|none|none| + +oneOf + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|» *anonymous*|object|false|none|none| +|»» deleted|boolean|false|none|none| +|»» deletedOn|boolean|false|none|none| +|»» deletedBy|boolean|false|none|none| +|»» createdOn|boolean|false|none|none| +|»» modifiedOn|boolean|false|none|none| +|»» createdBy|boolean|false|none|none| +|»» modifiedBy|boolean|false|none|none| +|»» id|boolean|false|none|none| +|»» accessRole|boolean|false|none|none| +|»» bgColor|boolean|false|none|none| +|»» fgColor|boolean|false|none|none| +|»» isHidden|boolean|false|none|none| +|»» isPrimary|boolean|false|none|none| +|»» identifier|boolean|false|none|none| +|»» defaultReminders|boolean|false|none|none| +|»» notificationSettings|boolean|false|none|none| +|»» calendarId|boolean|false|none|none| +|»» extId|boolean|false|none|none| +|»» extMetadata|boolean|false|none|none| + +xor + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|» *anonymous*|[string]|false|none|none| + +continued + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|include|[anyOf]|false|none|none| + +anyOf + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|» *anonymous*|[subscriptions.IncludeFilter.Items](#schemasubscriptions.includefilter.items)|false|none|none| + +or + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|» *anonymous*|string|false|none|none| + +

calendars.ScopeFilter

+ + + + + + +```json +{ + "offset": 0, + "limit": 100, + "skip": 0, + "order": "string", + "where": {}, + "fields": {}, + "include": [ + {} + ] +} + +``` + +calendars.ScopeFilter + +### Properties + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|offset|integer|false|none|none| +|limit|integer|false|none|none| +|skip|integer|false|none|none| +|order|any|false|none|none| + +oneOf + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|» *anonymous*|string|false|none|none| + +xor + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|» *anonymous*|[string]|false|none|none| + +continued + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|where|object|false|none|none| +|fields|any|false|none|none| + +oneOf + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|» *anonymous*|object|false|none|none| + +xor + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|» *anonymous*|[string]|false|none|none| + +continued + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|include|[object]|false|none|none| + +

calendars.IncludeFilter.Items

+ + + + + + +```json +{ + "relation": "string", + "scope": { + "offset": 0, + "limit": 100, + "skip": 0, + "order": "string", + "where": {}, + "fields": {}, + "include": [ + {} + ] + } +} + +``` + +calendars.IncludeFilter.Items + +### Properties + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|relation|string|false|none|none| +|scope|[calendars.ScopeFilter](#schemacalendars.scopefilter)|false|none|none| + +

calendars.Filter

+ + + + + + +```json +{ + "offset": 0, + "limit": 100, + "skip": 0, + "order": "string", + "fields": { + "deleted": true, + "deletedOn": true, + "deletedBy": true, + "createdOn": true, + "modifiedOn": true, + "createdBy": true, + "modifiedBy": true, + "id": true, + "source": true, + "enableWorkingHours": true, + "location": true, + "identifier": true, + "summary": true, + "timezone": true, + "extId": true, + "extMetadata": true + }, + "include": [ + { + "relation": "string", + "scope": { + "offset": 0, + "limit": 100, + "skip": 0, + "order": "string", + "where": {}, + "fields": {}, + "include": [ + {} + ] + } + } + ] +} + +``` + +calendars.Filter + +### Properties + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|offset|integer|false|none|none| +|limit|integer|false|none|none| +|skip|integer|false|none|none| +|order|any|false|none|none| + +oneOf + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|» *anonymous*|string|false|none|none| + +xor + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|» *anonymous*|[string]|false|none|none| + +continued + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|fields|any|false|none|none| + +oneOf + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|» *anonymous*|object|false|none|none| +|»» deleted|boolean|false|none|none| +|»» deletedOn|boolean|false|none|none| +|»» deletedBy|boolean|false|none|none| +|»» createdOn|boolean|false|none|none| +|»» modifiedOn|boolean|false|none|none| +|»» createdBy|boolean|false|none|none| +|»» modifiedBy|boolean|false|none|none| +|»» id|boolean|false|none|none| +|»» source|boolean|false|none|none| +|»» enableWorkingHours|boolean|false|none|none| +|»» location|boolean|false|none|none| +|»» identifier|boolean|false|none|none| +|»» summary|boolean|false|none|none| +|»» timezone|boolean|false|none|none| +|»» extId|boolean|false|none|none| +|»» extMetadata|boolean|false|none|none| + +xor + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|» *anonymous*|[string]|false|none|none| + +continued + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|include|[anyOf]|false|none|none| + +anyOf + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|» *anonymous*|[calendars.IncludeFilter.Items](#schemacalendars.includefilter.items)|false|none|none| + +or + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|» *anonymous*|string|false|none|none| + +

calendars.Filter1

+ + + + + + +```json +{ + "offset": 0, + "limit": 100, + "skip": 0, + "order": "string", + "where": {}, + "fields": { + "deleted": true, + "deletedOn": true, + "deletedBy": true, + "createdOn": true, + "modifiedOn": true, + "createdBy": true, + "modifiedBy": true, + "id": true, + "source": true, + "enableWorkingHours": true, + "location": true, + "identifier": true, + "summary": true, + "timezone": true, + "extId": true, + "extMetadata": true + }, + "include": [ + { + "relation": "string", + "scope": { + "offset": 0, + "limit": 100, + "skip": 0, + "order": "string", + "where": {}, + "fields": {}, + "include": [ + {} + ] + } + } + ] +} + +``` + +calendars.Filter + +### Properties + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|offset|integer|false|none|none| +|limit|integer|false|none|none| +|skip|integer|false|none|none| +|order|any|false|none|none| + +oneOf + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|» *anonymous*|string|false|none|none| + +xor + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|» *anonymous*|[string]|false|none|none| + +continued + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|where|object|false|none|none| +|fields|any|false|none|none| + +oneOf + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|» *anonymous*|object|false|none|none| +|»» deleted|boolean|false|none|none| +|»» deletedOn|boolean|false|none|none| +|»» deletedBy|boolean|false|none|none| +|»» createdOn|boolean|false|none|none| +|»» modifiedOn|boolean|false|none|none| +|»» createdBy|boolean|false|none|none| +|»» modifiedBy|boolean|false|none|none| +|»» id|boolean|false|none|none| +|»» source|boolean|false|none|none| +|»» enableWorkingHours|boolean|false|none|none| +|»» location|boolean|false|none|none| +|»» identifier|boolean|false|none|none| +|»» summary|boolean|false|none|none| +|»» timezone|boolean|false|none|none| +|»» extId|boolean|false|none|none| +|»» extMetadata|boolean|false|none|none| + +xor + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|» *anonymous*|[string]|false|none|none| + +continued + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|include|[anyOf]|false|none|none| + +anyOf + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|» *anonymous*|[calendars.IncludeFilter.Items](#schemacalendars.includefilter.items)|false|none|none| + +or + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|» *anonymous*|string|false|none|none| + +

events.ScopeFilter

+ + + + + + +```json +{ + "offset": 0, + "limit": 100, + "skip": 0, + "order": "string", + "where": {}, + "fields": {}, + "include": [ + {} + ] +} + +``` + +events.ScopeFilter + +### Properties + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|offset|integer|false|none|none| +|limit|integer|false|none|none| +|skip|integer|false|none|none| +|order|any|false|none|none| + +oneOf + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|» *anonymous*|string|false|none|none| + +xor + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|» *anonymous*|[string]|false|none|none| + +continued + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|where|object|false|none|none| +|fields|any|false|none|none| + +oneOf + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|» *anonymous*|object|false|none|none| + +xor + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|» *anonymous*|[string]|false|none|none| + +continued + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|include|[object]|false|none|none| + +

events.IncludeFilter.Items

+ + + + + + +```json +{ + "relation": "string", + "scope": { + "offset": 0, + "limit": 100, + "skip": 0, + "order": "string", + "where": {}, + "fields": {}, + "include": [ + {} + ] + } +} + +``` + +events.IncludeFilter.Items + +### Properties + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|relation|string|false|none|none| +|scope|[events.ScopeFilter](#schemaevents.scopefilter)|false|none|none| + +

events.Filter

+ + + + + + +```json +{ + "offset": 0, + "limit": 100, + "skip": 0, + "order": "string", + "fields": { + "deleted": true, + "deletedOn": true, + "deletedBy": true, + "createdOn": true, + "modifiedOn": true, + "createdBy": true, + "modifiedBy": true, + "id": true, + "bgColor": true, + "description": true, + "endDateTime": true, + "fgColor": true, + "iCalUid": true, + "isFullDayEvent": true, + "isLocked": true, + "link": true, + "location": true, + "meetingLink": true, + "identifier": true, + "startDateTime": true, + "status": true, + "summary": true, + "timezone": true, + "calendarId": true, + "parentEventId": true, + "extId": true, + "extMetadata": true + }, + "include": [ + { + "relation": "string", + "scope": { + "offset": 0, + "limit": 100, + "skip": 0, + "order": "string", + "where": {}, + "fields": {}, + "include": [ + {} + ] + } + } + ] +} + +``` + +events.Filter + +### Properties + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|offset|integer|false|none|none| +|limit|integer|false|none|none| +|skip|integer|false|none|none| +|order|any|false|none|none| + +oneOf + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|» *anonymous*|string|false|none|none| + +xor + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|» *anonymous*|[string]|false|none|none| + +continued + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|fields|any|false|none|none| + +oneOf + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|» *anonymous*|object|false|none|none| +|»» deleted|boolean|false|none|none| +|»» deletedOn|boolean|false|none|none| +|»» deletedBy|boolean|false|none|none| +|»» createdOn|boolean|false|none|none| +|»» modifiedOn|boolean|false|none|none| +|»» createdBy|boolean|false|none|none| +|»» modifiedBy|boolean|false|none|none| +|»» id|boolean|false|none|none| +|»» bgColor|boolean|false|none|none| +|»» description|boolean|false|none|none| +|»» endDateTime|boolean|false|none|none| +|»» fgColor|boolean|false|none|none| +|»» iCalUid|boolean|false|none|none| +|»» isFullDayEvent|boolean|false|none|none| +|»» isLocked|boolean|false|none|none| +|»» link|boolean|false|none|none| +|»» location|boolean|false|none|none| +|»» meetingLink|boolean|false|none|none| +|»» identifier|boolean|false|none|none| +|»» startDateTime|boolean|false|none|none| +|»» status|boolean|false|none|none| +|»» summary|boolean|false|none|none| +|»» timezone|boolean|false|none|none| +|»» calendarId|boolean|false|none|none| +|»» parentEventId|boolean|false|none|none| +|»» extId|boolean|false|none|none| +|»» extMetadata|boolean|false|none|none| + +xor + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|» *anonymous*|[string]|false|none|none| + +continued + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|include|[anyOf]|false|none|none| + +anyOf + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|» *anonymous*|[events.IncludeFilter.Items](#schemaevents.includefilter.items)|false|none|none| + +or + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|» *anonymous*|string|false|none|none| + +

events_attendees_view.ScopeFilter

+ + + + + + +```json +{ + "offset": 0, + "limit": 100, + "skip": 0, + "order": "string", + "where": {}, + "fields": {}, + "include": [ + {} + ] +} + +``` + +events_attendees_view.ScopeFilter + +### Properties + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|offset|integer|false|none|none| +|limit|integer|false|none|none| +|skip|integer|false|none|none| +|order|any|false|none|none| + +oneOf + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|» *anonymous*|string|false|none|none| + +xor + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|» *anonymous*|[string]|false|none|none| + +continued + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|where|object|false|none|none| +|fields|any|false|none|none| + +oneOf + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|» *anonymous*|object|false|none|none| + +xor + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|» *anonymous*|[string]|false|none|none| + +continued + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|include|[object]|false|none|none| + +

events_attendees_view.IncludeFilter.Items

+ + + + + + +```json +{ + "relation": "string", + "scope": { + "offset": 0, + "limit": 100, + "skip": 0, + "order": "string", + "where": {}, + "fields": {}, + "include": [ + {} + ] + } +} + +``` + +events_attendees_view.IncludeFilter.Items + +### Properties + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|relation|string|false|none|none| +|scope|[events_attendees_view.ScopeFilter](#schemaevents_attendees_view.scopefilter)|false|none|none| + +

events_attendees_view.Filter

+ + + + + + +```json +{ + "offset": 0, + "limit": 100, + "skip": 0, + "order": "string", + "where": {}, + "fields": { + "deleted": true, + "deletedOn": true, + "deletedBy": true, + "createdOn": true, + "modifiedOn": true, + "createdBy": true, + "modifiedBy": true, + "id": true, + "bgColor": true, + "description": true, + "endDateTime": true, + "fgColor": true, + "iCalUid": true, + "isFullDayEvent": true, + "isLocked": true, + "link": true, + "location": true, + "meetingLink": true, + "identifier": true, + "startDateTime": true, + "status": true, + "summary": true, + "timezone": true, + "calendarId": true, + "parentEventId": true, + "extId": true, + "extMetadata": true, + "attendeeId": true, + "isOptional": true, + "attendeeIdentifier": true, + "isOrganizer": true, + "messages": true, + "responseStatus": true, + "eventId": true + }, + "include": [ + { + "relation": "string", + "scope": { + "offset": 0, + "limit": 100, + "skip": 0, + "order": "string", + "where": {}, + "fields": {}, + "include": [ + {} + ] + } + } + ] +} + +``` + +events_attendees_view.Filter + +### Properties + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|offset|integer|false|none|none| +|limit|integer|false|none|none| +|skip|integer|false|none|none| +|order|any|false|none|none| + +oneOf + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|» *anonymous*|string|false|none|none| + +xor + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|» *anonymous*|[string]|false|none|none| + +continued + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|where|object|false|none|none| +|fields|any|false|none|none| + +oneOf + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|» *anonymous*|object|false|none|none| +|»» deleted|boolean|false|none|none| +|»» deletedOn|boolean|false|none|none| +|»» deletedBy|boolean|false|none|none| +|»» createdOn|boolean|false|none|none| +|»» modifiedOn|boolean|false|none|none| +|»» createdBy|boolean|false|none|none| +|»» modifiedBy|boolean|false|none|none| +|»» id|boolean|false|none|none| +|»» bgColor|boolean|false|none|none| +|»» description|boolean|false|none|none| +|»» endDateTime|boolean|false|none|none| +|»» fgColor|boolean|false|none|none| +|»» iCalUid|boolean|false|none|none| +|»» isFullDayEvent|boolean|false|none|none| +|»» isLocked|boolean|false|none|none| +|»» link|boolean|false|none|none| +|»» location|boolean|false|none|none| +|»» meetingLink|boolean|false|none|none| +|»» identifier|boolean|false|none|none| +|»» startDateTime|boolean|false|none|none| +|»» status|boolean|false|none|none| +|»» summary|boolean|false|none|none| +|»» timezone|boolean|false|none|none| +|»» calendarId|boolean|false|none|none| +|»» parentEventId|boolean|false|none|none| +|»» extId|boolean|false|none|none| +|»» extMetadata|boolean|false|none|none| +|»» attendeeId|boolean|false|none|none| +|»» isOptional|boolean|false|none|none| +|»» attendeeIdentifier|boolean|false|none|none| +|»» isOrganizer|boolean|false|none|none| +|»» messages|boolean|false|none|none| +|»» responseStatus|boolean|false|none|none| +|»» eventId|boolean|false|none|none| + +xor + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|» *anonymous*|[string]|false|none|none| + +continued + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|include|[anyOf]|false|none|none| + +anyOf + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|» *anonymous*|[events_attendees_view.IncludeFilter.Items](#schemaevents_attendees_view.includefilter.items)|false|none|none| + +or + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|» *anonymous*|string|false|none|none| + +

settings.Filter

+ + + + + + +```json +{ + "offset": 0, + "limit": 100, + "skip": 0, + "order": "string", + "fields": { + "deleted": true, + "deletedOn": true, + "deletedBy": true, + "createdOn": true, + "modifiedOn": true, + "createdBy": true, + "modifiedBy": true, + "id": true, + "ownerId": true, + "ownerType": true, + "settingName": true, + "settingValue": true, + "extId": true, + "extMetadata": true + } +} + +``` + +settings.Filter + +### Properties + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|offset|integer|false|none|none| +|limit|integer|false|none|none| +|skip|integer|false|none|none| +|order|any|false|none|none| + +oneOf + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|» *anonymous*|string|false|none|none| + +xor + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|» *anonymous*|[string]|false|none|none| + +continued + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|fields|any|false|none|none| + +oneOf + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|» *anonymous*|object|false|none|none| +|»» deleted|boolean|false|none|none| +|»» deletedOn|boolean|false|none|none| +|»» deletedBy|boolean|false|none|none| +|»» createdOn|boolean|false|none|none| +|»» modifiedOn|boolean|false|none|none| +|»» createdBy|boolean|false|none|none| +|»» modifiedBy|boolean|false|none|none| +|»» id|boolean|false|none|none| +|»» ownerId|boolean|false|none|none| +|»» ownerType|boolean|false|none|none| +|»» settingName|boolean|false|none|none| +|»» settingValue|boolean|false|none|none| +|»» extId|boolean|false|none|none| +|»» extMetadata|boolean|false|none|none| + +xor + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|» *anonymous*|[string]|false|none|none| + +

settings.Filter1

+ + + + + + +```json +{ + "offset": 0, + "limit": 100, + "skip": 0, + "order": "string", + "where": {}, + "fields": { + "deleted": true, + "deletedOn": true, + "deletedBy": true, + "createdOn": true, + "modifiedOn": true, + "createdBy": true, + "modifiedBy": true, + "id": true, + "ownerId": true, + "ownerType": true, + "settingName": true, + "settingValue": true, + "extId": true, + "extMetadata": true + } +} + +``` + +settings.Filter + +### Properties + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|offset|integer|false|none|none| +|limit|integer|false|none|none| +|skip|integer|false|none|none| +|order|any|false|none|none| + +oneOf + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|» *anonymous*|string|false|none|none| + +xor + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|» *anonymous*|[string]|false|none|none| + +continued + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|where|object|false|none|none| +|fields|any|false|none|none| + +oneOf + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|» *anonymous*|object|false|none|none| +|»» deleted|boolean|false|none|none| +|»» deletedOn|boolean|false|none|none| +|»» deletedBy|boolean|false|none|none| +|»» createdOn|boolean|false|none|none| +|»» modifiedOn|boolean|false|none|none| +|»» createdBy|boolean|false|none|none| +|»» modifiedBy|boolean|false|none|none| +|»» id|boolean|false|none|none| +|»» ownerId|boolean|false|none|none| +|»» ownerType|boolean|false|none|none| +|»» settingName|boolean|false|none|none| +|»» settingValue|boolean|false|none|none| +|»» extId|boolean|false|none|none| +|»» extMetadata|boolean|false|none|none| + +xor + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|» *anonymous*|[string]|false|none|none| + +

subscriptions.Filter1

+ + + + + + +```json +{ + "offset": 0, + "limit": 100, + "skip": 0, + "order": "string", + "fields": { + "deleted": true, + "deletedOn": true, + "deletedBy": true, + "createdOn": true, + "modifiedOn": true, + "createdBy": true, + "modifiedBy": true, + "id": true, + "accessRole": true, + "bgColor": true, + "fgColor": true, + "isHidden": true, + "isPrimary": true, + "identifier": true, + "defaultReminders": true, + "notificationSettings": true, + "calendarId": true, + "extId": true, + "extMetadata": true + }, + "include": [ + { + "relation": "string", + "scope": { + "offset": 0, + "limit": 100, + "skip": 0, + "order": "string", + "where": {}, + "fields": {}, + "include": [ + {} + ] + } + } + ] +} + +``` + +subscriptions.Filter + +### Properties + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|offset|integer|false|none|none| +|limit|integer|false|none|none| +|skip|integer|false|none|none| +|order|any|false|none|none| + +oneOf + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|» *anonymous*|string|false|none|none| + +xor + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|» *anonymous*|[string]|false|none|none| + +continued + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|fields|any|false|none|none| + +oneOf + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|» *anonymous*|object|false|none|none| +|»» deleted|boolean|false|none|none| +|»» deletedOn|boolean|false|none|none| +|»» deletedBy|boolean|false|none|none| +|»» createdOn|boolean|false|none|none| +|»» modifiedOn|boolean|false|none|none| +|»» createdBy|boolean|false|none|none| +|»» modifiedBy|boolean|false|none|none| +|»» id|boolean|false|none|none| +|»» accessRole|boolean|false|none|none| +|»» bgColor|boolean|false|none|none| +|»» fgColor|boolean|false|none|none| +|»» isHidden|boolean|false|none|none| +|»» isPrimary|boolean|false|none|none| +|»» identifier|boolean|false|none|none| +|»» defaultReminders|boolean|false|none|none| +|»» notificationSettings|boolean|false|none|none| +|»» calendarId|boolean|false|none|none| +|»» extId|boolean|false|none|none| +|»» extMetadata|boolean|false|none|none| + +xor + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|» *anonymous*|[string]|false|none|none| + +continued + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|include|[anyOf]|false|none|none| + +anyOf + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|» *anonymous*|[subscriptions.IncludeFilter.Items](#schemasubscriptions.includefilter.items)|false|none|none| + +or + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|» *anonymous*|string|false|none|none| + +

themes.Filter

+ + + + + + +```json +{ + "offset": 0, + "limit": 100, + "skip": 0, + "order": "string", + "fields": { + "deleted": true, + "deletedOn": true, + "deletedBy": true, + "createdOn": true, + "modifiedOn": true, + "createdBy": true, + "modifiedBy": true, + "id": true, + "calBg": true, + "calFg": true, + "eventBg": true, + "eventFg": true, + "extId": true, + "extMetadata": true + } +} + +``` + +themes.Filter + +### Properties + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|offset|integer|false|none|none| +|limit|integer|false|none|none| +|skip|integer|false|none|none| +|order|any|false|none|none| + +oneOf + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|» *anonymous*|string|false|none|none| + +xor + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|» *anonymous*|[string]|false|none|none| + +continued + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|fields|any|false|none|none| + +oneOf + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|» *anonymous*|object|false|none|none| +|»» deleted|boolean|false|none|none| +|»» deletedOn|boolean|false|none|none| +|»» deletedBy|boolean|false|none|none| +|»» createdOn|boolean|false|none|none| +|»» modifiedOn|boolean|false|none|none| +|»» createdBy|boolean|false|none|none| +|»» modifiedBy|boolean|false|none|none| +|»» id|boolean|false|none|none| +|»» calBg|boolean|false|none|none| +|»» calFg|boolean|false|none|none| +|»» eventBg|boolean|false|none|none| +|»» eventFg|boolean|false|none|none| +|»» extId|boolean|false|none|none| +|»» extMetadata|boolean|false|none|none| + +xor + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|» *anonymous*|[string]|false|none|none| + +

themes.Filter1

+ + + + + + +```json +{ + "offset": 0, + "limit": 100, + "skip": 0, + "order": "string", + "where": {}, + "fields": { + "deleted": true, + "deletedOn": true, + "deletedBy": true, + "createdOn": true, + "modifiedOn": true, + "createdBy": true, + "modifiedBy": true, + "id": true, + "calBg": true, + "calFg": true, + "eventBg": true, + "eventFg": true, + "extId": true, + "extMetadata": true + } +} + +``` + +themes.Filter + +### Properties + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|offset|integer|false|none|none| +|limit|integer|false|none|none| +|skip|integer|false|none|none| +|order|any|false|none|none| + +oneOf + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|» *anonymous*|string|false|none|none| + +xor + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|» *anonymous*|[string]|false|none|none| + +continued + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|where|object|false|none|none| +|fields|any|false|none|none| + +oneOf + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|» *anonymous*|object|false|none|none| +|»» deleted|boolean|false|none|none| +|»» deletedOn|boolean|false|none|none| +|»» deletedBy|boolean|false|none|none| +|»» createdOn|boolean|false|none|none| +|»» modifiedOn|boolean|false|none|none| +|»» createdBy|boolean|false|none|none| +|»» modifiedBy|boolean|false|none|none| +|»» id|boolean|false|none|none| +|»» calBg|boolean|false|none|none| +|»» calFg|boolean|false|none|none| +|»» eventBg|boolean|false|none|none| +|»» eventFg|boolean|false|none|none| +|»» extId|boolean|false|none|none| +|»» extMetadata|boolean|false|none|none| + +xor + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|» *anonymous*|[string]|false|none|none| + +

working_hours.ScopeFilter

+ + + + + + +```json +{ + "offset": 0, + "limit": 100, + "skip": 0, + "order": "string", + "where": {}, + "fields": {}, + "include": [ + {} + ] +} + +``` + +working_hours.ScopeFilter + +### Properties + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|offset|integer|false|none|none| +|limit|integer|false|none|none| +|skip|integer|false|none|none| +|order|any|false|none|none| + +oneOf + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|» *anonymous*|string|false|none|none| + +xor + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|» *anonymous*|[string]|false|none|none| + +continued + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|where|object|false|none|none| +|fields|any|false|none|none| + +oneOf + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|» *anonymous*|object|false|none|none| + +xor + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|» *anonymous*|[string]|false|none|none| + +continued + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|include|[object]|false|none|none| + +

working_hours.IncludeFilter.Items

+ + + + + + +```json +{ + "relation": "string", + "scope": { + "offset": 0, + "limit": 100, + "skip": 0, + "order": "string", + "where": {}, + "fields": {}, + "include": [ + {} + ] + } +} + +``` + +working_hours.IncludeFilter.Items + +### Properties + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|relation|string|false|none|none| +|scope|[working_hours.ScopeFilter](#schemaworking_hours.scopefilter)|false|none|none| + +

working_hours.Filter

+ + + + + + +```json +{ + "offset": 0, + "limit": 100, + "skip": 0, + "order": "string", + "fields": { + "deleted": true, + "deletedOn": true, + "deletedBy": true, + "createdOn": true, + "modifiedOn": true, + "createdBy": true, + "modifiedBy": true, + "id": true, + "dayOfWeek": true, + "end": true, + "start": true, + "calendarId": true, + "extId": true, + "extMetadata": true + }, + "include": [ + { + "relation": "string", + "scope": { + "offset": 0, + "limit": 100, + "skip": 0, + "order": "string", + "where": {}, + "fields": {}, + "include": [ + {} + ] + } + } + ] +} + +``` + +working_hours.Filter + +### Properties + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|offset|integer|false|none|none| +|limit|integer|false|none|none| +|skip|integer|false|none|none| +|order|any|false|none|none| + +oneOf + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|» *anonymous*|string|false|none|none| + +xor + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|» *anonymous*|[string]|false|none|none| + +continued + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|fields|any|false|none|none| + +oneOf + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|» *anonymous*|object|false|none|none| +|»» deleted|boolean|false|none|none| +|»» deletedOn|boolean|false|none|none| +|»» deletedBy|boolean|false|none|none| +|»» createdOn|boolean|false|none|none| +|»» modifiedOn|boolean|false|none|none| +|»» createdBy|boolean|false|none|none| +|»» modifiedBy|boolean|false|none|none| +|»» id|boolean|false|none|none| +|»» dayOfWeek|boolean|false|none|none| +|»» end|boolean|false|none|none| +|»» start|boolean|false|none|none| +|»» calendarId|boolean|false|none|none| +|»» extId|boolean|false|none|none| +|»» extMetadata|boolean|false|none|none| + +xor + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|» *anonymous*|[string]|false|none|none| + +continued + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|include|[anyOf]|false|none|none| + +anyOf + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|» *anonymous*|[working_hours.IncludeFilter.Items](#schemaworking_hours.includefilter.items)|false|none|none| + +or + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|» *anonymous*|string|false|none|none| + +

working_hours.Filter1

+ + + + + + +```json +{ + "offset": 0, + "limit": 100, + "skip": 0, + "order": "string", + "where": {}, + "fields": { + "deleted": true, + "deletedOn": true, + "deletedBy": true, + "createdOn": true, + "modifiedOn": true, + "createdBy": true, + "modifiedBy": true, + "id": true, + "dayOfWeek": true, + "end": true, + "start": true, + "calendarId": true, + "extId": true, + "extMetadata": true + }, + "include": [ + { + "relation": "string", + "scope": { + "offset": 0, + "limit": 100, + "skip": 0, + "order": "string", + "where": {}, + "fields": {}, + "include": [ + {} + ] + } + } + ] +} + +``` + +working_hours.Filter + +### Properties + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|offset|integer|false|none|none| +|limit|integer|false|none|none| +|skip|integer|false|none|none| +|order|any|false|none|none| + +oneOf + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|» *anonymous*|string|false|none|none| + +xor + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|» *anonymous*|[string]|false|none|none| + +continued + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|where|object|false|none|none| +|fields|any|false|none|none| + +oneOf + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|» *anonymous*|object|false|none|none| +|»» deleted|boolean|false|none|none| +|»» deletedOn|boolean|false|none|none| +|»» deletedBy|boolean|false|none|none| +|»» createdOn|boolean|false|none|none| +|»» modifiedOn|boolean|false|none|none| +|»» createdBy|boolean|false|none|none| +|»» modifiedBy|boolean|false|none|none| +|»» id|boolean|false|none|none| +|»» dayOfWeek|boolean|false|none|none| +|»» end|boolean|false|none|none| +|»» start|boolean|false|none|none| +|»» calendarId|boolean|false|none|none| +|»» extId|boolean|false|none|none| +|»» extMetadata|boolean|false|none|none| + +xor + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|» *anonymous*|[string]|false|none|none| + +continued + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|include|[anyOf]|false|none|none| + +anyOf + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|» *anonymous*|[working_hours.IncludeFilter.Items](#schemaworking_hours.includefilter.items)|false|none|none| + +or + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|» *anonymous*|string|false|none|none| + diff --git a/services/scheduler-service/package.json b/services/scheduler-service/package.json index b708261197..4e96138a7f 100644 --- a/services/scheduler-service/package.json +++ b/services/scheduler-service/package.json @@ -12,7 +12,7 @@ "node": ">=10" }, "scripts": { - "build": "npm run clean && lb-tsc", + "build": "npm run clean && lb-tsc && npm run openapi-spec && npm run apidocs", "build:watch": "lb-tsc --watch", "lint": "npm run prettier:check && npm run eslint", "lint:fix": "npm run eslint:fix && npm run prettier:fix", @@ -21,6 +21,8 @@ "prettier:fix": "npm run prettier:cli -- --write", "eslint": "lb-eslint --report-unused-disable-directives .", "eslint:fix": "npm run eslint -- --fix", + "openapi-spec": "node ./dist/openapi-spec", + "apidocs": "./node_modules/.bin/widdershins --search false --language_tabs 'javascript:JavaScript:request' 'javascript--nodejs:Node.JS' --summary openapi.json -o openapi.md", "pretest": "npm run build", "test": "lb-mocha --allow-console-logs \"dist/__tests__\"", "posttest": "npm run lint", @@ -79,7 +81,8 @@ "eslint": "^7.25.0", "jsonwebtoken": "^8.5.1", "source-map-support": "^0.5.19", - "typescript": "~4.2.4" + "typescript": "~4.2.4", + "widdershins": "^4.0.1" }, "publishConfig": { "registry": "https://registry.npmjs.org/", diff --git a/services/scheduler-service/src/application.ts b/services/scheduler-service/src/application.ts new file mode 100644 index 0000000000..e719eee595 --- /dev/null +++ b/services/scheduler-service/src/application.ts @@ -0,0 +1,27 @@ +import {BootMixin} from '@loopback/boot'; +import {ApplicationConfig} from '@loopback/core'; +import {RepositoryMixin} from '@loopback/repository'; +import {RestApplication} from '@loopback/rest'; +import * as path from 'path'; +import {SchedulerServiceComponent} from './component'; + +export {ApplicationConfig}; + +export class SchedulerServiceApplication extends BootMixin( + RepositoryMixin(RestApplication), +) { + constructor(options: ApplicationConfig = {}) { + super(options); + this.static('/', path.join(__dirname, '../public')); + this.component(SchedulerServiceComponent); + + this.projectRoot = __dirname; + this.bootOptions = { + controllers: { + dirs: ['controllers'], + extensions: ['.controller.js'], + nested: true, + }, + }; + } +} diff --git a/services/scheduler-service/src/openapi-spec.ts b/services/scheduler-service/src/openapi-spec.ts new file mode 100644 index 0000000000..88bbac985a --- /dev/null +++ b/services/scheduler-service/src/openapi-spec.ts @@ -0,0 +1,25 @@ +import {ApplicationConfig} from '@loopback/core'; +import {SchedulerServiceApplication} from './application'; + +/** + * Export the OpenAPI spec from the application + */ +const PORT = 3000; +const FILEARGVI = 2; +async function exportOpenApiSpec(): Promise { + const config: ApplicationConfig = { + rest: { + port: +(process.env.PORT ?? PORT), + host: process.env.HOST ?? 'localhost', + }, + }; + const outFile = process.argv[FILEARGVI] ?? 'openapi.json'; + const app = new SchedulerServiceApplication(config); + await app.boot(); + await app.exportOpenApiSpec(outFile); +} + +exportOpenApiSpec().catch(err => { + console.error('Fail to export OpenAPI spec from the application.', err); //NOSONAR + process.exit(1); +}); diff --git a/services/video-conferencing-service/README.md b/services/video-conferencing-service/README.md index c09d5c11df..fae4d281b5 100644 --- a/services/video-conferencing-service/README.md +++ b/services/video-conferencing-service/README.md @@ -113,6 +113,10 @@ For configuration in vonage, see [Session Monitoring](https://tokbox.com/develop ### PUT /archives/storage-target Configures custom storage target to a custom Amazon s3 bucket or Microsoft Azure Storage. +## API's Details + +Visit the [OpenAPI spec docs](./openapi.md) + ## Feedback If you've noticed a bug or have a question or have a feature request, [search the issue tracker](https://github.com/sourcefuse/loopback4-microservice-catalog/issues) to see if someone else in the community has already created a ticket. diff --git a/services/video-conferencing-service/openapi.json b/services/video-conferencing-service/openapi.json new file mode 100644 index 0000000000..c519a82dea --- /dev/null +++ b/services/video-conferencing-service/openapi.json @@ -0,0 +1,407 @@ +{ + "openapi": "3.0.0", + "info": { + "title": "Video Conferencing Service", + "version": "1.0.0", + "description": "Microservice providing Video-Conferencing service", + "contact": { + "name": "Sourcefuse" + } + }, + "paths": { + "/archives/storage-target": { + "put": { + "x-controller-name": "VideoChatArchiveController", + "x-operation-name": "setUploadTarget", + "tags": [ + "VideoChatArchiveController" + ], + "responses": { + "200": { + "content": { + "text/plain": { + "schema": { + "type": "text" + } + } + } + } + }, + "requestBody": { + "content": { + "application/json": { + "schema": { + "type": "object" + } + } + } + }, + "operationId": "VideoChatArchiveController.setUploadTarget" + } + }, + "/archives/{archiveId}": { + "get": { + "x-controller-name": "VideoChatArchiveController", + "x-operation-name": "getArchive", + "tags": [ + "VideoChatArchiveController" + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "type": "object" + } + } + } + } + }, + "parameters": [ + { + "name": "archiveId", + "in": "path", + "schema": { + "type": "string" + }, + "required": true + } + ], + "operationId": "VideoChatArchiveController.getArchive" + }, + "delete": { + "x-controller-name": "VideoChatArchiveController", + "x-operation-name": "deleteArchive", + "tags": [ + "VideoChatArchiveController" + ], + "responses": { + "200": { + "content": { + "text/plain": { + "schema": { + "type": "text" + } + } + } + } + }, + "parameters": [ + { + "name": "archiveId", + "in": "path", + "schema": { + "type": "string" + }, + "required": true + } + ], + "operationId": "VideoChatArchiveController.deleteArchive" + } + }, + "/archives": { + "get": { + "x-controller-name": "VideoChatArchiveController", + "x-operation-name": "getArchives", + "tags": [ + "VideoChatArchiveController" + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "type": "object" + } + } + } + } + }, + "operationId": "VideoChatArchiveController.getArchives" + } + }, + "/session/{meetingLinkId}/attendees": { + "get": { + "x-controller-name": "VideoChatSessionController", + "x-operation-name": "getAttendeesList", + "tags": [ + "VideoChatSessionController" + ], + "parameters": [ + { + "name": "meetingLinkId", + "in": "path", + "schema": { + "type": "string" + }, + "required": true + }, + { + "name": "active", + "in": "query", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "content": { + "text/plain": { + "schema": { + "type": "array" + } + } + } + } + }, + "operationId": "VideoChatSessionController.getAttendeesList" + } + }, + "/session/{meetingLinkId}/end": { + "patch": { + "x-controller-name": "VideoChatSessionController", + "x-operation-name": "endSession", + "tags": [ + "VideoChatSessionController" + ], + "responses": { + "204": { + "description": "MessageRecipient PATCH success" + } + }, + "parameters": [ + { + "name": "meetingLinkId", + "in": "path", + "schema": { + "type": "string" + }, + "required": true + } + ], + "operationId": "VideoChatSessionController.endSession" + } + }, + "/session/{meetingLinkId}/token": { + "post": { + "x-controller-name": "VideoChatSessionController", + "x-operation-name": "getMeetingToken", + "tags": [ + "VideoChatSessionController" + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "sessionId": "string", + "token": "string" + } + } + } + } + }, + "parameters": [ + { + "name": "meetingLinkId", + "in": "path", + "schema": { + "type": "string" + }, + "required": true + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "type": "object" + } + } + } + }, + "operationId": "VideoChatSessionController.getMeetingToken" + } + }, + "/session/{meetingLinkId}": { + "patch": { + "x-controller-name": "VideoChatSessionController", + "x-operation-name": "editMeeting", + "tags": [ + "VideoChatSessionController" + ], + "responses": { + "204": { + "description": "Session details PATCH success" + } + }, + "parameters": [ + { + "name": "meetingLinkId", + "in": "path", + "schema": { + "type": "string" + }, + "required": true + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VideoChatSessionPartial" + } + } + }, + "x-parameter-index": 1 + }, + "operationId": "VideoChatSessionController.editMeeting" + } + }, + "/session": { + "post": { + "x-controller-name": "VideoChatSessionController", + "x-operation-name": "getMeetingLink", + "tags": [ + "VideoChatSessionController" + ], + "responses": { + "200": { + "content": { + "text/plain": { + "schema": { + "type": "string" + } + } + } + } + }, + "requestBody": { + "content": { + "application/json": { + "schema": { + "type": "object" + } + } + } + }, + "operationId": "VideoChatSessionController.getMeetingLink" + } + }, + "/webhooks/session": { + "post": { + "x-controller-name": "VideoChatSessionController", + "x-operation-name": "checkWebhookPayload", + "tags": [ + "VideoChatSessionController" + ], + "responses": { + "204": { + "description": "POST /webhooks/session Success" + } + }, + "requestBody": { + "content": { + "application/json": { + "schema": { + "type": "object" + } + } + } + }, + "operationId": "VideoChatSessionController.checkWebhookPayload" + } + } + }, + "components": { + "securitySchemes": { + "HTTPBearer": { + "type": "http", + "scheme": "bearer", + "bearerFormat": "JWT" + } + }, + "schemas": { + "VideoChatSessionPartial": { + "title": "VideoChatSessionPartial", + "type": "object", + "description": "(tsType: Partial, schemaOptions: { partial: true })", + "properties": { + "deleted": { + "type": "boolean" + }, + "deletedOn": { + "type": "string", + "format": "date-time", + "nullable": true + }, + "deletedBy": { + "type": "string", + "nullable": true + }, + "createdOn": { + "type": "string", + "format": "date-time" + }, + "modifiedOn": { + "type": "string", + "format": "date-time" + }, + "createdBy": { + "type": "string" + }, + "modifiedBy": { + "type": "string" + }, + "id": { + "type": "number" + }, + "sessionId": { + "type": "string" + }, + "meetingLink": { + "type": "string" + }, + "isScheduled": { + "type": "boolean" + }, + "scheduleTime": { + "type": "string", + "format": "date-time" + }, + "isArchived": { + "type": "boolean" + }, + "archiveId": { + "type": "string" + }, + "uploadTarget": { + "type": "string" + }, + "startTime": { + "type": "string", + "format": "date-time" + }, + "endTime": { + "type": "string", + "format": "date-time" + }, + "extId": { + "type": "string" + }, + "extMetadata": { + "type": "object" + } + }, + "additionalProperties": false, + "x-typescript-type": "Partial" + } + } + }, + "servers": [ + { + "url": "/" + } + ] +} \ No newline at end of file diff --git a/services/video-conferencing-service/openapi.md b/services/video-conferencing-service/openapi.md new file mode 100644 index 0000000000..3c8fec35d5 --- /dev/null +++ b/services/video-conferencing-service/openapi.md @@ -0,0 +1,675 @@ +--- +title: Video Conferencing Service v1.0.0 +language_tabs: + - "'javascript": JavaScript + - "'javascript--nodejs": Node.JS' +language_clients: + - "'javascript": request' + - "'javascript--nodejs": "" +toc_footers: [] +includes: [] +search: false +highlight_theme: darkula +headingLevel: 2 + +--- + + + +

Video Conferencing Service v1.0.0

+ +> Scroll down for code samples, example requests and responses. Select a language for code samples from the tabs above or the mobile navigation menu. + +Microservice providing Video-Conferencing service + +Base URLs: + +* / + +# Authentication + +- HTTP Authentication, scheme: bearer + +

VideoChatArchiveController

+ +## VideoChatArchiveController.setUploadTarget + + + +> Code samples + +```'javascript--nodejs +const fetch = require('node-fetch'); +const inputBody = {}; +const headers = { + 'Content-Type':'application/json', + 'Accept':'text/plain' +}; + +fetch('/archives/storage-target', +{ + method: 'PUT', + body: JSON.stringify(inputBody), + headers: headers +}) +.then(function(res) { + return res.json(); +}).then(function(body) { + console.log(body); +}); + +``` + +`PUT /archives/storage-target` + +> Body parameter + +```json +{} +``` + +

Parameters

+ +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|body|body|object|false|none| + +> Example responses + +> 200 Response + +``` +null +``` + +

Responses

+ +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|none|text| + + + +## VideoChatArchiveController.getArchive + + + +> Code samples + +```'javascript--nodejs +const fetch = require('node-fetch'); + +const headers = { + 'Accept':'application/json' +}; + +fetch('/archives/{archiveId}', +{ + method: 'GET', + + headers: headers +}) +.then(function(res) { + return res.json(); +}).then(function(body) { + console.log(body); +}); + +``` + +`GET /archives/{archiveId}` + +

Parameters

+ +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|archiveId|path|string|true|none| + +> Example responses + +> 200 Response + +```json +{} +``` + +

Responses

+ +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|none|Inline| + +

Response Schema

+ + + +## VideoChatArchiveController.deleteArchive + + + +> Code samples + +```'javascript--nodejs +const fetch = require('node-fetch'); + +const headers = { + 'Accept':'text/plain' +}; + +fetch('/archives/{archiveId}', +{ + method: 'DELETE', + + headers: headers +}) +.then(function(res) { + return res.json(); +}).then(function(body) { + console.log(body); +}); + +``` + +`DELETE /archives/{archiveId}` + +

Parameters

+ +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|archiveId|path|string|true|none| + +> Example responses + +> 200 Response + +``` +null +``` + +

Responses

+ +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|none|text| + + + +## VideoChatArchiveController.getArchives + + + +> Code samples + +```'javascript--nodejs +const fetch = require('node-fetch'); + +const headers = { + 'Accept':'application/json' +}; + +fetch('/archives', +{ + method: 'GET', + + headers: headers +}) +.then(function(res) { + return res.json(); +}).then(function(body) { + console.log(body); +}); + +``` + +`GET /archives` + +> Example responses + +> 200 Response + +```json +{} +``` + +

Responses

+ +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|none|Inline| + +

Response Schema

+ + + +

VideoChatSessionController

+ +## VideoChatSessionController.getAttendeesList + + + +> Code samples + +```'javascript--nodejs +const fetch = require('node-fetch'); + +const headers = { + 'Accept':'text/plain' +}; + +fetch('/session/{meetingLinkId}/attendees', +{ + method: 'GET', + + headers: headers +}) +.then(function(res) { + return res.json(); +}).then(function(body) { + console.log(body); +}); + +``` + +`GET /session/{meetingLinkId}/attendees` + +

Parameters

+ +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|meetingLinkId|path|string|true|none| +|active|query|string|false|none| + +> Example responses + +> 200 Response + +``` +[] +``` + +

Responses

+ +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|none|Inline| + +

Response Schema

+ + + +## VideoChatSessionController.endSession + + + +> Code samples + +```'javascript--nodejs +const fetch = require('node-fetch'); + +fetch('/session/{meetingLinkId}/end', +{ + method: 'PATCH' + +}) +.then(function(res) { + return res.json(); +}).then(function(body) { + console.log(body); +}); + +``` + +`PATCH /session/{meetingLinkId}/end` + +

Parameters

+ +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|meetingLinkId|path|string|true|none| + +

Responses

+ +|Status|Meaning|Description|Schema| +|---|---|---|---| +|204|[No Content](https://tools.ietf.org/html/rfc7231#section-6.3.5)|MessageRecipient PATCH success|None| + + + +## VideoChatSessionController.getMeetingToken + + + +> Code samples + +```'javascript--nodejs +const fetch = require('node-fetch'); +const inputBody = {}; +const headers = { + 'Content-Type':'application/json', + 'Accept':'application/json' +}; + +fetch('/session/{meetingLinkId}/token', +{ + method: 'POST', + body: JSON.stringify(inputBody), + headers: headers +}) +.then(function(res) { + return res.json(); +}).then(function(body) { + console.log(body); +}); + +``` + +`POST /session/{meetingLinkId}/token` + +> Body parameter + +```json +{} +``` + +

Parameters

+ +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|meetingLinkId|path|string|true|none| +|body|body|object|false|none| + +> Example responses + +> 200 Response + +```json +null +``` + +

Responses

+ +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|none|Inline| + +

Response Schema

+ + + +## VideoChatSessionController.editMeeting + + + +> Code samples + +```'javascript--nodejs +const fetch = require('node-fetch'); +const inputBody = { + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": 0, + "sessionId": "string", + "meetingLink": "string", + "isScheduled": true, + "scheduleTime": "2019-08-24T14:15:22Z", + "isArchived": true, + "archiveId": "string", + "uploadTarget": "string", + "startTime": "2019-08-24T14:15:22Z", + "endTime": "2019-08-24T14:15:22Z", + "extId": "string", + "extMetadata": {} +}; +const headers = { + 'Content-Type':'application/json' +}; + +fetch('/session/{meetingLinkId}', +{ + method: 'PATCH', + body: JSON.stringify(inputBody), + headers: headers +}) +.then(function(res) { + return res.json(); +}).then(function(body) { + console.log(body); +}); + +``` + +`PATCH /session/{meetingLinkId}` + +> Body parameter + +```json +{ + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": 0, + "sessionId": "string", + "meetingLink": "string", + "isScheduled": true, + "scheduleTime": "2019-08-24T14:15:22Z", + "isArchived": true, + "archiveId": "string", + "uploadTarget": "string", + "startTime": "2019-08-24T14:15:22Z", + "endTime": "2019-08-24T14:15:22Z", + "extId": "string", + "extMetadata": {} +} +``` + +

Parameters

+ +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|meetingLinkId|path|string|true|none| +|body|body|[VideoChatSessionPartial](#schemavideochatsessionpartial)|false|none| + +

Responses

+ +|Status|Meaning|Description|Schema| +|---|---|---|---| +|204|[No Content](https://tools.ietf.org/html/rfc7231#section-6.3.5)|Session details PATCH success|None| + + + +## VideoChatSessionController.getMeetingLink + + + +> Code samples + +```'javascript--nodejs +const fetch = require('node-fetch'); +const inputBody = {}; +const headers = { + 'Content-Type':'application/json', + 'Accept':'text/plain' +}; + +fetch('/session', +{ + method: 'POST', + body: JSON.stringify(inputBody), + headers: headers +}) +.then(function(res) { + return res.json(); +}).then(function(body) { + console.log(body); +}); + +``` + +`POST /session` + +> Body parameter + +```json +{} +``` + + + +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|body|body|object|false|none| + +> Example responses + +> 200 Response + +``` +"string" +``` + + + +|Status|Meaning|Description|Schema| +|---|---|---|---| +|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|none|string| + + + +## VideoChatSessionController.checkWebhookPayload + + + +> Code samples + +```'javascript--nodejs +const fetch = require('node-fetch'); +const inputBody = {}; +const headers = { + 'Content-Type':'application/json' +}; + +fetch('/webhooks/session', +{ + method: 'POST', + body: JSON.stringify(inputBody), + headers: headers +}) +.then(function(res) { + return res.json(); +}).then(function(body) { + console.log(body); +}); + +``` + +`POST /webhooks/session` + +> Body parameter + +```json +{} +``` + +

Parameters

+ +|Name|In|Type|Required|Description| +|---|---|---|---|---| +|body|body|object|false|none| + +

Responses

+ +|Status|Meaning|Description|Schema| +|---|---|---|---| +|204|[No Content](https://tools.ietf.org/html/rfc7231#section-6.3.5)|POST /webhooks/session Success|None| + + + +# Schemas + +

VideoChatSessionPartial

+ + + + + + +```json +{ + "deleted": true, + "deletedOn": "2019-08-24T14:15:22Z", + "deletedBy": "string", + "createdOn": "2019-08-24T14:15:22Z", + "modifiedOn": "2019-08-24T14:15:22Z", + "createdBy": "string", + "modifiedBy": "string", + "id": 0, + "sessionId": "string", + "meetingLink": "string", + "isScheduled": true, + "scheduleTime": "2019-08-24T14:15:22Z", + "isArchived": true, + "archiveId": "string", + "uploadTarget": "string", + "startTime": "2019-08-24T14:15:22Z", + "endTime": "2019-08-24T14:15:22Z", + "extId": "string", + "extMetadata": {} +} + +``` + +VideoChatSessionPartial + +### Properties + +|Name|Type|Required|Restrictions|Description| +|---|---|---|---|---| +|deleted|boolean|false|none|none| +|deletedOn|string(date-time)¦null|false|none|none| +|deletedBy|string¦null|false|none|none| +|createdOn|string(date-time)|false|none|none| +|modifiedOn|string(date-time)|false|none|none| +|createdBy|string|false|none|none| +|modifiedBy|string|false|none|none| +|id|number|false|none|none| +|sessionId|string|false|none|none| +|meetingLink|string|false|none|none| +|isScheduled|boolean|false|none|none| +|scheduleTime|string(date-time)|false|none|none| +|isArchived|boolean|false|none|none| +|archiveId|string|false|none|none| +|uploadTarget|string|false|none|none| +|startTime|string(date-time)|false|none|none| +|endTime|string(date-time)|false|none|none| +|extId|string|false|none|none| +|extMetadata|object|false|none|none| + diff --git a/services/video-conferencing-service/package.json b/services/video-conferencing-service/package.json index d6ed4c7152..bbed12c0ef 100644 --- a/services/video-conferencing-service/package.json +++ b/services/video-conferencing-service/package.json @@ -12,7 +12,7 @@ "node": ">=10" }, "scripts": { - "build": "lb-tsc", + "build": "lb-tsc && npm run openapi-spec && npm run apidocs", "build:watch": "lb-tsc --watch", "clean": "lb-clean dist *.tsbuildinfo .eslintcache", "lint": "npm run prettier:check && npm run eslint", @@ -22,6 +22,8 @@ "prettier:fix": "npm run prettier:cli -- --write", "eslint": "lb-eslint --report-unused-disable-directives .", "eslint:fix": "npm run eslint -- --fix", + "openapi-spec": "node ./dist/openapi-spec", + "apidocs": "./node_modules/.bin/widdershins --search false --language_tabs 'javascript:JavaScript:request' 'javascript--nodejs:Node.JS' --summary openapi.json -o openapi.md", "pretest": "npm run clean && npm run build", "test": "lb-mocha --allow-console-logs \"dist/__tests__\"", "posttest": "npm run lint", @@ -95,7 +97,8 @@ "eslint-plugin-eslint-plugin": "^3.0.2", "eslint-plugin-mocha": "^8.1.0", "source-map-support": "^0.5.19", - "typescript": "~4.2.4" + "typescript": "~4.2.4", + "widdershins": "^4.0.1" }, "publishConfig": { "registry": "https://registry.npmjs.org/", diff --git a/services/video-conferencing-service/src/application.ts b/services/video-conferencing-service/src/application.ts new file mode 100644 index 0000000000..13fbaec9a6 --- /dev/null +++ b/services/video-conferencing-service/src/application.ts @@ -0,0 +1,27 @@ +import {BootMixin} from '@loopback/boot'; +import {ApplicationConfig} from '@loopback/core'; +import {RepositoryMixin} from '@loopback/repository'; +import {RestApplication} from '@loopback/rest'; +import * as path from 'path'; +import {VideoConfServiceComponent} from './component'; + +export {ApplicationConfig}; + +export class VideoConfServiceApplication extends BootMixin( + RepositoryMixin(RestApplication), +) { + constructor(options: ApplicationConfig = {}) { + super(options); + this.static('/', path.join(__dirname, '../public')); + this.component(VideoConfServiceComponent); + + this.projectRoot = __dirname; + this.bootOptions = { + controllers: { + dirs: ['controllers'], + extensions: ['.controller.js'], + nested: true, + }, + }; + } +} diff --git a/services/video-conferencing-service/src/openapi-spec.ts b/services/video-conferencing-service/src/openapi-spec.ts new file mode 100644 index 0000000000..d22219300d --- /dev/null +++ b/services/video-conferencing-service/src/openapi-spec.ts @@ -0,0 +1,25 @@ +import {ApplicationConfig} from '@loopback/core'; +import {VideoConfServiceApplication} from './application'; + +/** + * Export the OpenAPI spec from the application + */ +const PORT = 3000; +const FILEARGVI = 2; +async function exportOpenApiSpec(): Promise { + const config: ApplicationConfig = { + rest: { + port: +(process.env.PORT ?? PORT), + host: process.env.HOST ?? 'localhost', + }, + }; + const outFile = process.argv[FILEARGVI] ?? 'openapi.json'; + const app = new VideoConfServiceApplication(config); + await app.boot(); + await app.exportOpenApiSpec(outFile); +} + +exportOpenApiSpec().catch(err => { + console.error('Fail to export OpenAPI spec from the application.', err); //NOSONAR + process.exit(1); +});