{ "openapi": "3.0.0", "info": { "title": "tenant-mgmt-service", "version": "1.0.0", "description": "tenant-mgmt-service", "contact": { "name": "Sourcefuse" } }, "paths": { "/contacts/count": { "get": { "x-controller-name": "ContactController", "x-operation-name": "count", "tags": ["ContactController"], "security": [ { "HTTPBearer": [] } ], "responses": { "200": { "description": "Contact model count", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/loopback.Count" } } } } }, "description": "\n\n| Permissions |\n| ------- |\n| 10211 |\n", "parameters": [ { "name": "where", "in": "query", "content": { "application/json": { "schema": { "type": "object", "title": "contacts.WhereFilter", "additionalProperties": true, "x-typescript-type": "@loopback/repository#Where" } } } } ], "operationId": "ContactController.count" } }, "/contacts/{id}": { "put": { "x-controller-name": "ContactController", "x-operation-name": "replaceById", "tags": ["ContactController"], "security": [ { "HTTPBearer": [] } ], "responses": { "204": { "description": "Contact PUT success" } }, "description": "\n\n| Permissions |\n| ------- |\n| 10209 |\n", "parameters": [ { "name": "id", "in": "path", "schema": { "type": "string" }, "required": true } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Contact" } } }, "x-parameter-index": 1 }, "operationId": "ContactController.replaceById" }, "patch": { "x-controller-name": "ContactController", "x-operation-name": "updateById", "tags": ["ContactController"], "security": [ { "HTTPBearer": [] } ], "responses": { "204": { "description": "Contact PATCH success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Contact" } } } } }, "description": "\n\n| Permissions |\n| ------- |\n| 10209 |\n", "parameters": [ { "name": "id", "in": "path", "schema": { "type": "string" }, "required": true } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ContactPartial" } } }, "x-parameter-index": 1 }, "operationId": "ContactController.updateById" }, "get": { "x-controller-name": "ContactController", "x-operation-name": "findById", "tags": ["ContactController"], "security": [ { "HTTPBearer": [] } ], "responses": { "200": { "description": "Contact model instance", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Contact" } } } } }, "description": "\n\n| Permissions |\n| ------- |\n| 10211 |\n", "parameters": [ { "name": "id", "in": "path", "schema": { "type": "string" }, "required": true }, { "name": "filter", "in": "query", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/contacts.Filter" } } } } ], "operationId": "ContactController.findById" }, "delete": { "x-controller-name": "ContactController", "x-operation-name": "deleteById", "tags": ["ContactController"], "security": [ { "HTTPBearer": [] } ], "responses": { "204": { "description": "Contact DELETE success" } }, "description": "\n\n| Permissions |\n| ------- |\n| 10210 |\n", "parameters": [ { "name": "id", "in": "path", "schema": { "type": "string" }, "required": true } ], "operationId": "ContactController.deleteById" } }, "/contacts": { "post": { "x-controller-name": "ContactController", "x-operation-name": "create", "tags": ["ContactController"], "security": [ { "HTTPBearer": [] } ], "responses": { "200": { "description": "Contact model instance", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Contact" } } } } }, "description": "\n\n| Permissions |\n| ------- |\n| 10208 |\n", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/NewContact" } } } }, "operationId": "ContactController.create" }, "patch": { "x-controller-name": "ContactController", "x-operation-name": "updateAll", "tags": ["ContactController"], "security": [ { "HTTPBearer": [] } ], "responses": { "200": { "description": "Contact PATCH success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Contact" } } } } }, "description": "\n\n| Permissions |\n| ------- |\n| 10209 |\n", "parameters": [ { "name": "where", "in": "query", "content": { "application/json": { "schema": { "type": "object", "title": "contacts.WhereFilter", "additionalProperties": true, "x-typescript-type": "@loopback/repository#Where" } } } } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ContactPartial" } } } }, "operationId": "ContactController.updateAll" }, "get": { "x-controller-name": "ContactController", "x-operation-name": "find", "tags": ["ContactController"], "security": [ { "HTTPBearer": [] } ], "responses": { "200": { "description": "Array of Contact model instances", "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/ContactWithRelations" } } } } } }, "description": "\n\n| Permissions |\n| ------- |\n| 10211 |\n", "parameters": [ { "name": "filter", "in": "query", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/contacts.Filter1" } } } } ], "operationId": "ContactController.find" } }, "/invoices/count": { "get": { "x-controller-name": "InvoiceController", "x-operation-name": "count", "tags": ["InvoiceController"], "security": [ { "HTTPBearer": [] } ], "responses": { "200": { "description": "Invoice model count", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/loopback.Count" } } } } }, "description": "\n\n| Permissions |\n| ------- |\n| 10215 |\n", "parameters": [ { "name": "where", "in": "query", "content": { "application/json": { "schema": { "type": "object", "title": "invoices.WhereFilter", "additionalProperties": true, "x-typescript-type": "@loopback/repository#Where" } } } } ], "operationId": "InvoiceController.count" } }, "/invoices/{id}": { "put": { "x-controller-name": "InvoiceController", "x-operation-name": "replaceById", "tags": ["InvoiceController"], "security": [ { "HTTPBearer": [] } ], "responses": { "204": { "description": "Invoice PUT success" } }, "description": "\n\n| Permissions |\n| ------- |\n| 10213 |\n", "parameters": [ { "name": "id", "in": "path", "schema": { "type": "string" }, "required": true } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Invoice" } } }, "x-parameter-index": 1 }, "operationId": "InvoiceController.replaceById" }, "patch": { "x-controller-name": "InvoiceController", "x-operation-name": "updateById", "tags": ["InvoiceController"], "security": [ { "HTTPBearer": [] } ], "responses": { "204": { "description": "Invoice PATCH success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Invoice" } } } } }, "description": "\n\n| Permissions |\n| ------- |\n| 10213 |\n", "parameters": [ { "name": "id", "in": "path", "schema": { "type": "string" }, "required": true } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InvoicePartial" } } }, "x-parameter-index": 1 }, "operationId": "InvoiceController.updateById" }, "get": { "x-controller-name": "InvoiceController", "x-operation-name": "findById", "tags": ["InvoiceController"], "security": [ { "HTTPBearer": [] } ], "responses": { "200": { "description": "Invoice model instance", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Invoice" } } } } }, "description": "\n\n| Permissions |\n| ------- |\n| 10215 |\n", "parameters": [ { "name": "id", "in": "path", "schema": { "type": "string" }, "required": true }, { "name": "filter", "in": "query", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/invoices.Filter" } } } } ], "operationId": "InvoiceController.findById" }, "delete": { "x-controller-name": "InvoiceController", "x-operation-name": "deleteById", "tags": ["InvoiceController"], "security": [ { "HTTPBearer": [] } ], "responses": { "204": { "description": "Invoice DELETE success" } }, "description": "\n\n| Permissions |\n| ------- |\n| 10214 |\n", "parameters": [ { "name": "id", "in": "path", "schema": { "type": "string" }, "required": true } ], "operationId": "InvoiceController.deleteById" } }, "/invoices": { "post": { "x-controller-name": "InvoiceController", "x-operation-name": "create", "tags": ["InvoiceController"], "security": [ { "HTTPBearer": [] } ], "responses": { "200": { "description": "Invoice model instance", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Invoice" } } } } }, "description": "\n\n| Permissions |\n| ------- |\n| 10212 |\n", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/NewInvoice" } } } }, "operationId": "InvoiceController.create" }, "patch": { "x-controller-name": "InvoiceController", "x-operation-name": "updateAll", "tags": ["InvoiceController"], "security": [ { "HTTPBearer": [] } ], "responses": { "200": { "description": "Invoice PATCH success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Invoice" } } } } }, "description": "\n\n| Permissions |\n| ------- |\n| 10213 |\n", "parameters": [ { "name": "where", "in": "query", "content": { "application/json": { "schema": { "type": "object", "title": "invoices.WhereFilter", "additionalProperties": true, "x-typescript-type": "@loopback/repository#Where" } } } } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/InvoicePartial" } } } }, "operationId": "InvoiceController.updateAll" }, "get": { "x-controller-name": "InvoiceController", "x-operation-name": "find", "tags": ["InvoiceController"], "security": [ { "HTTPBearer": [] } ], "responses": { "200": { "description": "Array of Invoice model instances", "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/InvoiceWithRelations" } } } } } }, "description": "\n\n| Permissions |\n| ------- |\n| 10215 |\n", "parameters": [ { "name": "filter", "in": "query", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/invoices.Filter1" } } } } ], "operationId": "InvoiceController.find" } }, "/leads/count": { "get": { "x-controller-name": "LeadController", "x-operation-name": "count", "tags": ["LeadController"], "security": [ { "HTTPBearer": [] } ], "responses": { "200": { "description": "Lead model count", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/loopback.Count" } } } } }, "description": "\n\n| Permissions |\n| ------- |\n| 10203 |\n", "parameters": [ { "name": "where", "in": "query", "content": { "application/json": { "schema": { "type": "object", "title": "leads.WhereFilter", "additionalProperties": true, "x-typescript-type": "@loopback/repository#Where" } } } } ], "operationId": "LeadController.count" } }, "/leads/{id}/tenants": { "post": { "x-controller-name": "LeadTenantController", "x-operation-name": "tenantFromLead", "tags": ["LeadTenantController"], "security": [ { "HTTPBearer": [] } ], "responses": { "200": { "description": "Tenant model instance", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Tenant" } } } } }, "description": "", "parameters": [ { "name": "id", "in": "path", "schema": { "type": "string" }, "required": true } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/TenantOnboardDto" } } } }, "operationId": "LeadTenantController.tenantFromLead" } }, "/leads/{id}/verify": { "post": { "x-controller-name": "LeadController", "x-operation-name": "validateLead", "tags": ["LeadController"], "security": [ { "HTTPBearer": [] } ], "responses": { "200": { "description": "A response with token for the verified lead", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/VerifyLeadResponseDTO" } } } } }, "description": "", "parameters": [ { "name": "id", "in": "path", "schema": { "type": "string" }, "required": true } ], "operationId": "LeadController.validateLead" } }, "/leads/{id}": { "put": { "x-controller-name": "LeadController", "x-operation-name": "replaceById", "tags": ["LeadController"], "security": [ { "HTTPBearer": [] } ], "responses": { "204": { "description": "Lead PUT success" } }, "description": "\n\n| Permissions |\n| ------- |\n| 10201 |\n", "parameters": [ { "name": "id", "in": "path", "schema": { "type": "string" }, "required": true } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Lead" } } }, "x-parameter-index": 1 }, "operationId": "LeadController.replaceById" }, "patch": { "x-controller-name": "LeadController", "x-operation-name": "updateById", "tags": ["LeadController"], "security": [ { "HTTPBearer": [] } ], "responses": { "204": { "description": "Lead PATCH success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Lead" } } } } }, "description": "\n\n| Permissions |\n| ------- |\n| 10201 |\n", "parameters": [ { "name": "id", "in": "path", "schema": { "type": "string" }, "required": true } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/LeadPartial" } } }, "x-parameter-index": 1 }, "operationId": "LeadController.updateById" }, "get": { "x-controller-name": "LeadController", "x-operation-name": "findById", "tags": ["LeadController"], "security": [ { "HTTPBearer": [] } ], "responses": { "200": { "description": "Lead model instance", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Lead" } } } } }, "description": "\n\n| Permissions |\n| ------- |\n| 10203 |\n", "parameters": [ { "name": "id", "in": "path", "schema": { "type": "string" }, "required": true }, { "name": "filter", "in": "query", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/leads.Filter" } } } } ], "operationId": "LeadController.findById" }, "delete": { "x-controller-name": "LeadController", "x-operation-name": "deleteById", "tags": ["LeadController"], "security": [ { "HTTPBearer": [] } ], "responses": { "204": { "description": "Lead DELETE success" } }, "description": "\n\n| Permissions |\n| ------- |\n| 10202 |\n", "parameters": [ { "name": "id", "in": "path", "schema": { "type": "string" }, "required": true } ], "operationId": "LeadController.deleteById" } }, "/leads": { "post": { "x-controller-name": "LeadController", "x-operation-name": "create", "tags": ["LeadController"], "responses": { "200": { "description": "Lead model instance", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Lead" } } } } }, "description": "", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CreateLeadDTO" } } } }, "operationId": "LeadController.create" }, "patch": { "x-controller-name": "LeadController", "x-operation-name": "updateAll", "tags": ["LeadController"], "security": [ { "HTTPBearer": [] } ], "responses": { "200": { "description": "Lead PATCH success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Lead" } } } } }, "description": "\n\n| Permissions |\n| ------- |\n| 10201 |\n", "parameters": [ { "name": "where", "in": "query", "content": { "application/json": { "schema": { "type": "object", "title": "leads.WhereFilter", "additionalProperties": true, "x-typescript-type": "@loopback/repository#Where" } } } } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/LeadPartial" } } } }, "operationId": "LeadController.updateAll" }, "get": { "x-controller-name": "LeadController", "x-operation-name": "find", "tags": ["LeadController"], "security": [ { "HTTPBearer": [] } ], "responses": { "200": { "description": "Array of Lead model instances", "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/LeadWithRelations" } } } } } }, "description": "\n\n| Permissions |\n| ------- |\n| 10203 |\n", "parameters": [ { "name": "filter", "in": "query", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/leads.Filter1" } } } } ], "operationId": "LeadController.find" } }, "/ping": { "get": { "x-controller-name": "PingController", "x-operation-name": "ping", "tags": ["PingController"], "responses": { "200": { "description": "Ping Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/PingResponse" } } } } }, "description": "", "operationId": "PingController.ping" } }, "/tenants/count": { "get": { "x-controller-name": "TenantController", "x-operation-name": "count", "tags": ["TenantController"], "security": [ { "HTTPBearer": [] } ], "responses": { "200": { "description": "Tenant model count", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/loopback.Count" } } } } }, "description": "\n\n| Permissions |\n| ------- |\n| 10207 |\n", "parameters": [ { "name": "where", "in": "query", "content": { "application/json": { "schema": { "type": "object", "title": "tenants.WhereFilter", "additionalProperties": true, "x-typescript-type": "@loopback/repository#Where" } } } } ], "operationId": "TenantController.count" } }, "/tenants/{id}/provision": { "post": { "x-controller-name": "TenantController", "x-operation-name": "provision", "tags": ["TenantController"], "security": [ { "HTTPBearer": [] } ], "responses": { "204": { "description": "Provisioning success" } }, "description": "\n\n| Permissions |\n| ------- |\n| 10216 |\n", "parameters": [ { "name": "id", "in": "path", "schema": { "type": "string" }, "required": true } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ProvisionDTO" } } } }, "operationId": "TenantController.provision" } }, "/tenants/{id}": { "put": { "x-controller-name": "TenantController", "x-operation-name": "replaceById", "tags": ["TenantController"], "security": [ { "HTTPBearer": [] } ], "responses": { "204": { "description": "Tenant PUT success" } }, "description": "\n\n| Permissions |\n| ------- |\n| 10205 |\n", "parameters": [ { "name": "id", "in": "path", "schema": { "type": "string" }, "required": true } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Tenant" } } }, "x-parameter-index": 1 }, "operationId": "TenantController.replaceById" }, "patch": { "x-controller-name": "TenantController", "x-operation-name": "updateById", "tags": ["TenantController"], "security": [ { "HTTPBearer": [] } ], "responses": { "204": { "description": "Tenant PATCH success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Tenant" } } } } }, "description": "\n\n| Permissions |\n| ------- |\n| 10205 |\n", "parameters": [ { "name": "id", "in": "path", "schema": { "type": "string" }, "required": true } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/TenantPartial" } } }, "x-parameter-index": 1 }, "operationId": "TenantController.updateById" }, "get": { "x-controller-name": "TenantController", "x-operation-name": "findById", "tags": ["TenantController"], "security": [ { "HTTPBearer": [] } ], "responses": { "200": { "description": "Tenant model instance", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Tenant" } } } } }, "description": "\n\n| Permissions |\n| ------- |\n| 10207 |\n", "parameters": [ { "name": "id", "in": "path", "schema": { "type": "string" }, "required": true }, { "name": "filter", "in": "query", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/tenants.Filter" } } } } ], "operationId": "TenantController.findById" }, "delete": { "x-controller-name": "TenantController", "x-operation-name": "deleteById", "tags": ["TenantController"], "security": [ { "HTTPBearer": [] } ], "responses": { "204": { "description": "Tenant DELETE success" } }, "description": "\n\n| Permissions |\n| ------- |\n| 10206 |\n", "parameters": [ { "name": "id", "in": "path", "schema": { "type": "string" }, "required": true } ], "operationId": "TenantController.deleteById" } }, "/tenants": { "post": { "x-controller-name": "TenantController", "x-operation-name": "create", "tags": ["TenantController"], "security": [ { "HTTPBearer": [] } ], "responses": { "200": { "description": "Tenant model instance", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Tenant" } } } } }, "description": "\n\n| Permissions |\n| ------- |\n| 10204 |\n", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/NewTenantOnboarding" } } } }, "operationId": "TenantController.create" }, "patch": { "x-controller-name": "TenantController", "x-operation-name": "updateAll", "tags": ["TenantController"], "security": [ { "HTTPBearer": [] } ], "responses": { "200": { "description": "Tenant PATCH success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Tenant" } } } } }, "description": "\n\n| Permissions |\n| ------- |\n| 10205 |\n", "parameters": [ { "name": "where", "in": "query", "content": { "application/json": { "schema": { "type": "object", "title": "tenants.WhereFilter", "additionalProperties": true, "x-typescript-type": "@loopback/repository#Where" } } } } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/TenantPartial" } } } }, "operationId": "TenantController.updateAll" }, "get": { "x-controller-name": "TenantController", "x-operation-name": "find", "tags": ["TenantController"], "security": [ { "HTTPBearer": [] } ], "responses": { "200": { "description": "Array of Tenant model instances", "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/TenantWithRelations" } } } } } }, "description": "\n\n| Permissions |\n| ------- |\n| 10207 |\n", "parameters": [ { "name": "filter", "in": "query", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/tenants.Filter1" } } } } ], "operationId": "TenantController.find" } }, "/webhook": { "post": { "x-controller-name": "WebhookController", "x-operation-name": "webhook", "tags": ["WebhookController"], "security": [ { "HTTPBearer": [] } ], "responses": { "204": { "description": "Webhook success" } }, "description": "", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/WebhookDTO" } } } }, "operationId": "WebhookController.webhook" } }, "/": { "get": { "x-controller-name": "HomePageController", "x-operation-name": "homePage", "tags": ["HomePageController"], "responses": { "200": { "description": "Home Page", "content": { "text/html": { "schema": { "type": "string" } } } } }, "description": "", "operationId": "HomePageController.homePage" } } }, "components": { "securitySchemes": { "HTTPBearer": { "type": "http", "scheme": "bearer", "bearerFormat": "JWT" } }, "schemas": { "WebhookDTO": { "title": "WebhookDTO", "type": "object", "description": "(tsType: WebhookDTO, schemaOptions: { title: 'WebhookDTO' })", "properties": { "initiatorId": { "type": "string" }, "data": { "type": "object" }, "type": { "type": "number" } }, "required": ["initiatorId", "data", "type"], "additionalProperties": false, "x-typescript-type": "WebhookDTO" }, "Tenant": { "title": "Tenant", "type": "object", "description": "main model of the service that represents a tenant in the system, either pooled or siloed", "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", "description": "name of the tenant" }, "status": { "type": "number", "description": "status of a tenant, it can be - 0(active), 1(provisioning),2(deprovisioning),3(inactive)", "enum": [0, 1, 2, 3, 4, 5] }, "key": { "type": "string", "description": "a short string used to identify a tenant. This is also used as the namespace and subdomain for this particular tenant", "pattern": "^[a-z0-9]+$", "maxLength": 10 }, "spocUserId": { "type": "string", "description": "user id of the admin user who acts as a spoc for this tenant." }, "domains": { "type": "array", "items": { "type": "string", "description": "array of domains that are allowed for this tenant" } }, "leadId": { "type": "string", "description": "id of the lead from which this tenant was generated. this is optional as a tenant can be created without this lead." }, "addressId": { "type": "string", "description": "id of the address of the tenant" } }, "required": ["name", "status", "key", "domains"], "additionalProperties": false }, "NewTenantOnboarding": { "title": "NewTenantOnboarding", "type": "object", "description": "model describing payload used to create and onboard a tenant (tsType: Omit, schemaOptions: { title: 'NewTenantOnboarding', exclude: [] })", "properties": { "contact": { "type": "object", "description": "contacts belonging to a tenant (tsType: Omit, schemaOptions: { exclude: [ 'tenantId', 'id' ] })", "title": "ContactExcluding_tenantId-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" }, "name": { "type": "string", "description": "name of the contact of a tenant" }, "email": { "type": "string", "description": "email id of the contact" }, "isPrimary": { "type": "boolean", "description": "boolean value denoting if the contact is a primary contact for it's tenant." } }, "required": ["name", "email", "isPrimary"], "additionalProperties": false }, "name": { "type": "string" }, "address": { "type": "string", "description": "address of the tenant owners" }, "city": { "type": "string", "description": "city of the tenant owner" }, "state": { "type": "string", "description": "state of the tenant owner" }, "zip": { "type": "string", "description": "zip code of the tenant owner" }, "country": { "type": "string", "description": "country of the tenant owner" }, "key": { "type": "string", "pattern": "^[a-z0-9]+$", "maxLength": 10 }, "domains": { "type": "array", "uniqueItems": true, "items": { "type": "string", "format": "hostname" } } }, "required": ["name", "key", "domains"], "additionalProperties": false }, "TenantOnboardDTO": { "title": "TenantOnboardDTO", "type": "object", "description": "model describing payload used to create and onboard a tenant", "properties": { "contact": { "type": "object", "description": "contacts belonging to a tenant (tsType: Omit, schemaOptions: { exclude: [ 'tenantId', 'id' ] })", "title": "ContactExcluding_tenantId-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" }, "name": { "type": "string", "description": "name of the contact of a tenant" }, "email": { "type": "string", "description": "email id of the contact" }, "isPrimary": { "type": "boolean", "description": "boolean value denoting if the contact is a primary contact for it's tenant." } }, "required": ["name", "email", "isPrimary"], "additionalProperties": false }, "name": { "type": "string" }, "address": { "type": "string", "description": "address of the tenant owners" }, "city": { "type": "string", "description": "city of the tenant owner" }, "state": { "type": "string", "description": "state of the tenant owner" }, "zip": { "type": "string", "description": "zip code of the tenant owner" }, "country": { "type": "string", "description": "country of the tenant owner" }, "key": { "type": "string", "pattern": "^[a-z0-9]+$", "maxLength": 10 }, "domains": { "type": "array", "uniqueItems": true, "items": { "type": "string", "format": "hostname" } } }, "required": ["name", "key", "domains"], "additionalProperties": false }, "ProvisionDTO": { "title": "ProvisionDTO", "type": "object", "description": "model describing payload used to provision resources for a tenant (tsType: Omit, schemaOptions: { title: 'ProvisionDTO', exclude: [] })", "properties": { "subscriptionId": { "type": "string" }, "chargeId": { "type": "string" } }, "additionalProperties": false }, "ProvisioningDTO": { "title": "ProvisioningDTO", "type": "object", "description": "model describing payload used to provision resources for a tenant", "properties": { "subscriptionId": { "type": "string" }, "chargeId": { "type": "string" } }, "additionalProperties": false }, "ContactWithRelations": { "title": "ContactWithRelations", "type": "object", "description": "contacts belonging to a tenant (tsType: ContactWithRelations, 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" }, "name": { "type": "string", "description": "name of the contact of a tenant" }, "email": { "type": "string", "description": "email id of the contact" }, "isPrimary": { "type": "boolean", "description": "boolean value denoting if the contact is a primary contact for it's tenant." }, "tenantId": { "type": "string", "description": "tenant id this contact belongs to" }, "tenant": { "$ref": "#/components/schemas/TenantWithRelations" }, "foreignKey": {} }, "required": ["name", "email", "isPrimary"], "additionalProperties": false }, "ResourceWithRelations": { "title": "ResourceWithRelations", "type": "object", "description": "model for resources that are provisioned for a tenant (tsType: ResourceWithRelations, 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" }, "externalIdentifier": { "type": "string", "description": "identifier for the resource in the external system it was provisioned" }, "type": { "type": "string", "description": "type of the resource like storage, compute, etc" }, "metadata": { "type": "object", "description": "any type specific metadata of the resource like connection info, size, etc" }, "tenantId": { "type": "string", "description": "id of the tenant for which this resource is provisioned" }, "tenant": { "$ref": "#/components/schemas/TenantWithRelations" }, "foreignKey": {} }, "required": ["externalIdentifier", "type", "metadata"], "additionalProperties": false }, "AddressWithRelations": { "title": "AddressWithRelations", "type": "object", "description": "this model represents the address of a company or lead (tsType: AddressWithRelations, 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" }, "address": { "type": "string", "description": "address of the company" }, "city": { "type": "string", "description": "city of the company" }, "state": { "type": "string", "description": "state of the company" }, "zip": { "type": "string", "description": "zip code of the company" }, "country": { "type": "string", "description": "country of the company" } }, "required": ["country"], "additionalProperties": false }, "LeadWithRelations": { "title": "LeadWithRelations", "type": "object", "description": "this model represents a lead that could eventually be a tenant in the system (tsType: LeadWithRelations, 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" }, "name": { "type": "string", "description": "name of the lead" }, "companyName": { "type": "string", "description": "name of the lead's company" }, "email": { "type": "string", "description": "email of the lead" }, "isValidated": { "type": "boolean", "description": "whether the lead`s email has been validated or not" }, "addressId": { "type": "string", "description": "id of the address of the lead" }, "tenant": { "$ref": "#/components/schemas/TenantWithRelations" }, "address": { "$ref": "#/components/schemas/AddressWithRelations" }, "foreignKey": {} }, "required": ["name", "companyName", "email", "isValidated"], "additionalProperties": false }, "TenantWithRelations": { "title": "TenantWithRelations", "type": "object", "description": "main model of the service that represents a tenant in the system, either pooled or siloed (tsType: TenantWithRelations, 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" }, "name": { "type": "string", "description": "name of the tenant" }, "status": { "type": "number", "description": "status of a tenant, it can be - 0(active), 1(provisioning),2(deprovisioning),3(inactive)", "enum": [0, 1, 2, 3, 4, 5] }, "key": { "type": "string", "description": "a short string used to identify a tenant. This is also used as the namespace and subdomain for this particular tenant", "pattern": "^[a-z0-9]+$", "maxLength": 10 }, "spocUserId": { "type": "string", "description": "user id of the admin user who acts as a spoc for this tenant." }, "domains": { "type": "array", "items": { "type": "string", "description": "array of domains that are allowed for this tenant" } }, "leadId": { "type": "string", "description": "id of the lead from which this tenant was generated. this is optional as a tenant can be created without this lead." }, "addressId": { "type": "string", "description": "id of the address of the tenant" }, "contacts": { "type": "array", "items": { "$ref": "#/components/schemas/ContactWithRelations" } }, "resources": { "type": "array", "items": { "$ref": "#/components/schemas/ResourceWithRelations" } }, "lead": { "$ref": "#/components/schemas/LeadWithRelations" }, "foreignKey": {}, "address": { "$ref": "#/components/schemas/AddressWithRelations" } }, "required": ["name", "status", "key", "domains"], "additionalProperties": false }, "TenantPartial": { "title": "TenantPartial", "type": "object", "description": "main model of the service that represents a tenant in the system, either pooled or siloed (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", "description": "name of the tenant" }, "status": { "type": "number", "description": "status of a tenant, it can be - 0(active), 1(provisioning),2(deprovisioning),3(inactive)", "enum": [0, 1, 2, 3, 4, 5] }, "key": { "type": "string", "description": "a short string used to identify a tenant. This is also used as the namespace and subdomain for this particular tenant", "pattern": "^[a-z0-9]+$", "maxLength": 10 }, "spocUserId": { "type": "string", "description": "user id of the admin user who acts as a spoc for this tenant." }, "domains": { "type": "array", "items": { "type": "string", "description": "array of domains that are allowed for this tenant" } }, "leadId": { "type": "string", "description": "id of the lead from which this tenant was generated. this is optional as a tenant can be created without this lead." }, "addressId": { "type": "string", "description": "id of the address of the tenant" } }, "additionalProperties": false }, "Lead": { "title": "Lead", "type": "object", "description": "this model represents a lead that could eventually be a tenant in the system", "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", "description": "name of the lead" }, "companyName": { "type": "string", "description": "name of the lead's company" }, "email": { "type": "string", "description": "email of the lead" }, "isValidated": { "type": "boolean", "description": "whether the lead`s email has been validated or not" }, "addressId": { "type": "string", "description": "id of the address of the lead" } }, "required": ["name", "companyName", "email", "isValidated"], "additionalProperties": false }, "CreateLeadDTO": { "title": "CreateLeadDTO", "type": "object", "description": "model describing payload used to create a lead (tsType: Omit, schemaOptions: { title: 'CreateLeadDTO', exclude: [ 'isValidated', 'addressId', '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" }, "name": { "type": "string", "description": "name of the lead" }, "companyName": { "type": "string", "description": "name of the lead's company" }, "email": { "type": "string", "description": "email of the lead" }, "address": { "type": "object", "description": "this model represents the address of a company or lead (tsType: @loopback/repository-json-schema#Optional, 'country'>, schemaOptions: { exclude: [ 'id' ], optional: [ 'country' ] })", "title": "AddressOptional_country_Excluding_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" }, "address": { "type": "string", "description": "address of the company" }, "city": { "type": "string", "description": "city of the company" }, "state": { "type": "string", "description": "state of the company" }, "zip": { "type": "string", "description": "zip code of the company" }, "country": { "type": "string", "description": "country of the company" } }, "additionalProperties": false } }, "required": ["name", "companyName", "email"], "additionalProperties": false }, "VerifyLeadResponseDTO": { "title": "VerifyLeadResponseDTO", "type": "object", "properties": { "id": { "type": "string" }, "token": { "type": "string" } }, "required": ["id", "token"], "additionalProperties": false }, "LeadPartial": { "title": "LeadPartial", "type": "object", "description": "this model represents a lead that could eventually be a tenant in the system (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", "description": "name of the lead" }, "companyName": { "type": "string", "description": "name of the lead's company" }, "email": { "type": "string", "description": "email of the lead" }, "isValidated": { "type": "boolean", "description": "whether the lead`s email has been validated or not" }, "addressId": { "type": "string", "description": "id of the address of the lead" } }, "additionalProperties": false }, "TenantOnboardDto": { "title": "TenantOnboardDto", "type": "object", "description": "model describing payload used to create and onboard a tenant (tsType: @loopback/repository-json-schema#Optional, 'name'>, schemaOptions: { title: 'TenantOnboardDto', exclude: [ 'contact' ], optional: [ 'name' ] })", "properties": { "name": { "type": "string" }, "address": { "type": "string", "description": "address of the tenant owners" }, "city": { "type": "string", "description": "city of the tenant owner" }, "state": { "type": "string", "description": "state of the tenant owner" }, "zip": { "type": "string", "description": "zip code of the tenant owner" }, "country": { "type": "string", "description": "country of the tenant owner" }, "key": { "type": "string", "pattern": "^[a-z0-9]+$", "maxLength": 10 }, "domains": { "type": "array", "uniqueItems": true, "items": { "type": "string", "format": "hostname" } } }, "required": ["key", "domains"], "additionalProperties": false }, "Invoice": { "title": "Invoice", "type": "object", "description": "this model represents an invoice with the amount and period generated for a tenant in the system", "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" }, "startDate": { "type": "string", "description": "start date for the period this invoice is generated for" }, "endDate": { "type": "string", "description": "end date for the period this invoice is generated for" }, "amount": { "type": "number", "description": "total amount for the invoice" }, "currencyCode": { "type": "string", "description": "currency for the invoice" }, "invoiceFile": { "type": "string", "description": "option reference to the generated file of the invoice" }, "dueDate": { "type": "string", "description": "due date for the invoice" }, "status": { "type": "number", "description": "status of the invoice - 0(PENDING), 1(PAID), 2(CANCELLED)", "enum": ["PENDING", "PAID", "CANCELLED", 0, 1, 2] }, "tenantId": { "type": "string", "description": "id of the tenant this invoice is generated for" } }, "required": [ "startDate", "endDate", "amount", "currencyCode", "dueDate", "status", "tenantId" ], "additionalProperties": false }, "NewInvoice": { "title": "NewInvoice", "type": "object", "description": "this model represents an invoice with the amount and period generated for a tenant in the system (tsType: Omit, schemaOptions: { title: 'NewInvoice', 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" }, "startDate": { "type": "string", "description": "start date for the period this invoice is generated for" }, "endDate": { "type": "string", "description": "end date for the period this invoice is generated for" }, "amount": { "type": "number", "description": "total amount for the invoice" }, "currencyCode": { "type": "string", "description": "currency for the invoice" }, "invoiceFile": { "type": "string", "description": "option reference to the generated file of the invoice" }, "dueDate": { "type": "string", "description": "due date for the invoice" }, "status": { "type": "number", "description": "status of the invoice - 0(PENDING), 1(PAID), 2(CANCELLED)", "enum": ["PENDING", "PAID", "CANCELLED", 0, 1, 2] }, "tenantId": { "type": "string", "description": "id of the tenant this invoice is generated for" } }, "required": [ "startDate", "endDate", "amount", "currencyCode", "dueDate", "status", "tenantId" ], "additionalProperties": false }, "InvoiceWithRelations": { "title": "InvoiceWithRelations", "type": "object", "description": "this model represents an invoice with the amount and period generated for a tenant in the system (tsType: InvoiceWithRelations, 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" }, "startDate": { "type": "string", "description": "start date for the period this invoice is generated for" }, "endDate": { "type": "string", "description": "end date for the period this invoice is generated for" }, "amount": { "type": "number", "description": "total amount for the invoice" }, "currencyCode": { "type": "string", "description": "currency for the invoice" }, "invoiceFile": { "type": "string", "description": "option reference to the generated file of the invoice" }, "dueDate": { "type": "string", "description": "due date for the invoice" }, "status": { "type": "number", "description": "status of the invoice - 0(PENDING), 1(PAID), 2(CANCELLED)", "enum": ["PENDING", "PAID", "CANCELLED", 0, 1, 2] }, "tenantId": { "type": "string", "description": "id of the tenant this invoice is generated for" }, "tenant": { "$ref": "#/components/schemas/TenantWithRelations" }, "foreignKey": {} }, "required": [ "startDate", "endDate", "amount", "currencyCode", "dueDate", "status", "tenantId" ], "additionalProperties": false }, "InvoicePartial": { "title": "InvoicePartial", "type": "object", "description": "this model represents an invoice with the amount and period generated for a tenant in the system (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" }, "startDate": { "type": "string", "description": "start date for the period this invoice is generated for" }, "endDate": { "type": "string", "description": "end date for the period this invoice is generated for" }, "amount": { "type": "number", "description": "total amount for the invoice" }, "currencyCode": { "type": "string", "description": "currency for the invoice" }, "invoiceFile": { "type": "string", "description": "option reference to the generated file of the invoice" }, "dueDate": { "type": "string", "description": "due date for the invoice" }, "status": { "type": "number", "description": "status of the invoice - 0(PENDING), 1(PAID), 2(CANCELLED)", "enum": ["PENDING", "PAID", "CANCELLED", 0, 1, 2] }, "tenantId": { "type": "string", "description": "id of the tenant this invoice is generated for" } }, "additionalProperties": false }, "Contact": { "title": "Contact", "type": "object", "description": "contacts belonging to a tenant", "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", "description": "name of the contact of a tenant" }, "email": { "type": "string", "description": "email id of the contact" }, "isPrimary": { "type": "boolean", "description": "boolean value denoting if the contact is a primary contact for it's tenant." }, "tenantId": { "type": "string", "description": "tenant id this contact belongs to" } }, "required": ["name", "email", "isPrimary"], "additionalProperties": false }, "NewContact": { "title": "NewContact", "type": "object", "description": "contacts belonging to a tenant (tsType: Omit, schemaOptions: { title: 'NewContact', 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" }, "name": { "type": "string", "description": "name of the contact of a tenant" }, "email": { "type": "string", "description": "email id of the contact" }, "isPrimary": { "type": "boolean", "description": "boolean value denoting if the contact is a primary contact for it's tenant." }, "tenantId": { "type": "string", "description": "tenant id this contact belongs to" } }, "required": ["name", "email", "isPrimary"], "additionalProperties": false }, "ContactPartial": { "title": "ContactPartial", "type": "object", "description": "contacts belonging to a tenant (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", "description": "name of the contact of a tenant" }, "email": { "type": "string", "description": "email id of the contact" }, "isPrimary": { "type": "boolean", "description": "boolean value denoting if the contact is a primary contact for it's tenant." }, "tenantId": { "type": "string", "description": "tenant id this contact belongs to" } }, "additionalProperties": false }, "loopback.Count": { "type": "object", "title": "loopback.Count", "x-typescript-type": "@loopback/repository#Count", "properties": { "count": { "type": "number" } } }, "contacts.ScopeFilter": { "type": "object", "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": "contacts.ScopeFilter" }, "contacts.IncludeFilter.Items": { "title": "contacts.IncludeFilter.Items", "type": "object", "properties": { "relation": { "type": "string", "enum": ["tenant"] }, "scope": { "$ref": "#/components/schemas/contacts.ScopeFilter" } } }, "contacts.Filter": { "type": "object", "title": "contacts.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" }, "name": { "type": "boolean" }, "email": { "type": "boolean" }, "isPrimary": { "type": "boolean" }, "tenantId": { "type": "boolean" } }, "additionalProperties": false }, { "type": "array", "items": { "type": "string", "enum": [ "deleted", "deletedOn", "deletedBy", "createdOn", "modifiedOn", "createdBy", "modifiedBy", "id", "name", "email", "isPrimary", "tenantId" ], "example": "deleted" }, "uniqueItems": true } ], "title": "contacts.Fields" }, "include": { "title": "contacts.IncludeFilter", "type": "array", "items": { "anyOf": [ { "$ref": "#/components/schemas/contacts.IncludeFilter.Items" }, { "type": "string" } ] } } }, "additionalProperties": false, "x-typescript-type": "@loopback/repository#Filter" }, "contacts.Filter1": { "type": "object", "title": "contacts.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": "contacts.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" }, "name": { "type": "boolean" }, "email": { "type": "boolean" }, "isPrimary": { "type": "boolean" }, "tenantId": { "type": "boolean" } }, "additionalProperties": false }, { "type": "array", "items": { "type": "string", "enum": [ "deleted", "deletedOn", "deletedBy", "createdOn", "modifiedOn", "createdBy", "modifiedBy", "id", "name", "email", "isPrimary", "tenantId" ], "example": "deleted" }, "uniqueItems": true } ], "title": "contacts.Fields" }, "include": { "title": "contacts.IncludeFilter", "type": "array", "items": { "anyOf": [ { "$ref": "#/components/schemas/contacts.IncludeFilter.Items" }, { "type": "string" } ] } } }, "additionalProperties": false, "x-typescript-type": "@loopback/repository#Filter" }, "invoices.ScopeFilter": { "type": "object", "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": "invoices.ScopeFilter" }, "invoices.IncludeFilter.Items": { "title": "invoices.IncludeFilter.Items", "type": "object", "properties": { "relation": { "type": "string", "enum": ["tenant"] }, "scope": { "$ref": "#/components/schemas/invoices.ScopeFilter" } } }, "invoices.Filter": { "type": "object", "title": "invoices.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" }, "startDate": { "type": "boolean" }, "endDate": { "type": "boolean" }, "amount": { "type": "boolean" }, "currencyCode": { "type": "boolean" }, "invoiceFile": { "type": "boolean" }, "dueDate": { "type": "boolean" }, "status": { "type": "boolean" }, "tenantId": { "type": "boolean" } }, "additionalProperties": false }, { "type": "array", "items": { "type": "string", "enum": [ "deleted", "deletedOn", "deletedBy", "createdOn", "modifiedOn", "createdBy", "modifiedBy", "id", "startDate", "endDate", "amount", "currencyCode", "invoiceFile", "dueDate", "status", "tenantId" ], "example": "deleted" }, "uniqueItems": true } ], "title": "invoices.Fields" }, "include": { "title": "invoices.IncludeFilter", "type": "array", "items": { "anyOf": [ { "$ref": "#/components/schemas/invoices.IncludeFilter.Items" }, { "type": "string" } ] } } }, "additionalProperties": false, "x-typescript-type": "@loopback/repository#Filter" }, "invoices.Filter1": { "type": "object", "title": "invoices.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": "invoices.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" }, "startDate": { "type": "boolean" }, "endDate": { "type": "boolean" }, "amount": { "type": "boolean" }, "currencyCode": { "type": "boolean" }, "invoiceFile": { "type": "boolean" }, "dueDate": { "type": "boolean" }, "status": { "type": "boolean" }, "tenantId": { "type": "boolean" } }, "additionalProperties": false }, { "type": "array", "items": { "type": "string", "enum": [ "deleted", "deletedOn", "deletedBy", "createdOn", "modifiedOn", "createdBy", "modifiedBy", "id", "startDate", "endDate", "amount", "currencyCode", "invoiceFile", "dueDate", "status", "tenantId" ], "example": "deleted" }, "uniqueItems": true } ], "title": "invoices.Fields" }, "include": { "title": "invoices.IncludeFilter", "type": "array", "items": { "anyOf": [ { "$ref": "#/components/schemas/invoices.IncludeFilter.Items" }, { "type": "string" } ] } } }, "additionalProperties": false, "x-typescript-type": "@loopback/repository#Filter" }, "leads.ScopeFilter": { "type": "object", "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": "leads.ScopeFilter" }, "leads.IncludeFilter.Items": { "title": "leads.IncludeFilter.Items", "type": "object", "properties": { "relation": { "type": "string", "enum": ["tenant", "address"] }, "scope": { "$ref": "#/components/schemas/leads.ScopeFilter" } } }, "leads.Filter": { "type": "object", "title": "leads.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" }, "name": { "type": "boolean" }, "companyName": { "type": "boolean" }, "email": { "type": "boolean" }, "isValidated": { "type": "boolean" }, "addressId": { "type": "boolean" } }, "additionalProperties": false }, { "type": "array", "items": { "type": "string", "enum": [ "deleted", "deletedOn", "deletedBy", "createdOn", "modifiedOn", "createdBy", "modifiedBy", "id", "name", "companyName", "email", "isValidated", "addressId" ], "example": "deleted" }, "uniqueItems": true } ], "title": "leads.Fields" }, "include": { "title": "leads.IncludeFilter", "type": "array", "items": { "anyOf": [ { "$ref": "#/components/schemas/leads.IncludeFilter.Items" }, { "type": "string" } ] } } }, "additionalProperties": false, "x-typescript-type": "@loopback/repository#Filter" }, "leads.Filter1": { "type": "object", "title": "leads.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": "leads.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" }, "name": { "type": "boolean" }, "companyName": { "type": "boolean" }, "email": { "type": "boolean" }, "isValidated": { "type": "boolean" }, "addressId": { "type": "boolean" } }, "additionalProperties": false }, { "type": "array", "items": { "type": "string", "enum": [ "deleted", "deletedOn", "deletedBy", "createdOn", "modifiedOn", "createdBy", "modifiedBy", "id", "name", "companyName", "email", "isValidated", "addressId" ], "example": "deleted" }, "uniqueItems": true } ], "title": "leads.Fields" }, "include": { "title": "leads.IncludeFilter", "type": "array", "items": { "anyOf": [ { "$ref": "#/components/schemas/leads.IncludeFilter.Items" }, { "type": "string" } ] } } }, "additionalProperties": false, "x-typescript-type": "@loopback/repository#Filter" }, "PingResponse": { "type": "object", "title": "PingResponse", "properties": { "greeting": { "type": "string" }, "date": { "type": "string" }, "url": { "type": "string" }, "headers": { "type": "object", "properties": { "Content-Type": { "type": "string" } }, "additionalProperties": true } } }, "tenants.ScopeFilter": { "type": "object", "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": "tenants.ScopeFilter" }, "tenants.IncludeFilter.Items": { "title": "tenants.IncludeFilter.Items", "type": "object", "properties": { "relation": { "type": "string", "enum": ["contacts", "resources", "lead", "address"] }, "scope": { "$ref": "#/components/schemas/tenants.ScopeFilter" } } }, "tenants.Filter": { "type": "object", "title": "tenants.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" }, "name": { "type": "boolean" }, "status": { "type": "boolean" }, "key": { "type": "boolean" }, "spocUserId": { "type": "boolean" }, "domains": { "type": "boolean" }, "leadId": { "type": "boolean" }, "addressId": { "type": "boolean" } }, "additionalProperties": false }, { "type": "array", "items": { "type": "string", "enum": [ "deleted", "deletedOn", "deletedBy", "createdOn", "modifiedOn", "createdBy", "modifiedBy", "id", "name", "status", "key", "spocUserId", "domains", "leadId", "addressId" ], "example": "deleted" }, "uniqueItems": true } ], "title": "tenants.Fields" }, "include": { "title": "tenants.IncludeFilter", "type": "array", "items": { "anyOf": [ { "$ref": "#/components/schemas/tenants.IncludeFilter.Items" }, { "type": "string" } ] } } }, "additionalProperties": false, "x-typescript-type": "@loopback/repository#Filter" }, "tenants.Filter1": { "type": "object", "title": "tenants.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": "tenants.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" }, "name": { "type": "boolean" }, "status": { "type": "boolean" }, "key": { "type": "boolean" }, "spocUserId": { "type": "boolean" }, "domains": { "type": "boolean" }, "leadId": { "type": "boolean" }, "addressId": { "type": "boolean" } }, "additionalProperties": false }, { "type": "array", "items": { "type": "string", "enum": [ "deleted", "deletedOn", "deletedBy", "createdOn", "modifiedOn", "createdBy", "modifiedBy", "id", "name", "status", "key", "spocUserId", "domains", "leadId", "addressId" ], "example": "deleted" }, "uniqueItems": true } ], "title": "tenants.Fields" }, "include": { "title": "tenants.IncludeFilter", "type": "array", "items": { "anyOf": [ { "$ref": "#/components/schemas/tenants.IncludeFilter.Items" }, { "type": "string" } ] } } }, "additionalProperties": false, "x-typescript-type": "@loopback/repository#Filter" } } }, "servers": [ { "url": "/" } ] }