openapi: 3.0.3 info: title: Losant Application API version: 1.29.4 description: Manage Losant Applications, the top-level container for IoT solutions, plus dashboards, events, webhooks, integrations, files, audit logs, credentials, certificates, application keys, API tokens, and resource jobs. Derived from the Losant Platform API (Bravado/Swagger 2) at https://api.losant.com/. contact: name: Losant Support url: https://www.losant.com/contact email: hello@losant.com license: name: Proprietary url: https://www.losant.com/legal x-source: https://api.losant.com/ x-publisher: Losant IoT, Inc. servers: - url: https://api.losant.com description: Losant Platform API (US multi-tenant cloud) tags: - name: Application description: Application resources on the Losant Platform. security: - BearerAuth: [] paths: /applications/{applicationId}/tokens/{apiTokenId}: get: summary: Retrieves Information on an API Token tags: - Application parameters: - &id001 name: applicationId in: path description: ID associated with the application required: true example: 575ec8687ae143cd83dc4a97 schema: type: string pattern: ^[A-Fa-f\d]{24}$ - &id002 name: apiTokenId in: path description: ID associated with the API token required: true example: 575ec7417ae143cd83dc4a95 schema: type: string pattern: ^[A-Fa-f\d]{24}$ responses: '200': description: API token information content: application/json: schema: $ref: '#/components/schemas/apiToken' '400': description: Error if malformed request content: application/json: schema: $ref: '#/components/schemas/error' '404': description: Error if API token was not found content: application/json: schema: $ref: '#/components/schemas/error' security: - BearerAuth: [] patch: summary: Updates Information About an API Token tags: - Application parameters: - *id001 - *id002 requestBody: description: Object containing new properties of the API token required: true content: application/json: schema: $ref: '#/components/schemas/apiTokenPatch' responses: '200': description: Updated API token information content: application/json: schema: $ref: '#/components/schemas/apiToken' '400': description: Error if malformed request content: application/json: schema: $ref: '#/components/schemas/error' '404': description: Error if API token was not found content: application/json: schema: $ref: '#/components/schemas/error' security: - BearerAuth: [] delete: summary: Deletes an API Token tags: - Application parameters: - *id001 - *id002 responses: '200': description: If API token was successfully deleted content: application/json: schema: $ref: '#/components/schemas/success' '400': description: Error if malformed request content: application/json: schema: $ref: '#/components/schemas/error' '404': description: Error if API token was not found content: application/json: schema: $ref: '#/components/schemas/error' security: - BearerAuth: [] /applications/{applicationId}/tokens: get: summary: Returns the API Tokens for an Application tags: - Application parameters: - &id003 name: applicationId in: path description: ID associated with the application required: true example: 575ec8687ae143cd83dc4a97 schema: type: string pattern: ^[A-Fa-f\d]{24}$ - name: sortField in: query description: Field to sort the results by required: false example: name schema: type: string enum: - name - status - id - creationDate - lastUpdated - expirationDate default: name - name: sortDirection in: query description: Direction to sort the results by required: false example: asc schema: type: string enum: - asc - desc default: asc - name: page in: query description: Which page of results to return required: false example: 0 schema: type: string default: 0 - name: perPage in: query description: How many items to return per page required: false example: 10 schema: type: string default: 100 - name: filterField in: query description: Field to filter the results by. Blank or not provided means no filtering. required: false example: key schema: type: string enum: - name - status - name: filter in: query description: Filter to apply against the filtered field. Supports globbing. Blank or not provided means no filtering. required: false example: my*token schema: type: string responses: '200': description: Collection of API tokens content: application/json: schema: $ref: '#/components/schemas/apiTokens' '400': description: Error if malformed request content: application/json: schema: $ref: '#/components/schemas/error' security: - BearerAuth: [] post: summary: Create a New API Token for an Application tags: - Application parameters: - *id003 requestBody: description: API token information required: true content: application/json: schema: $ref: '#/components/schemas/apiTokenPost' responses: '201': description: The successfully created API token content: application/json: schema: $ref: '#/components/schemas/apiToken' '400': description: Error if malformed request content: application/json: schema: $ref: '#/components/schemas/error' security: - BearerAuth: [] /applications/{applicationId}/certificate-authorities: get: summary: Returns the Application Certificate Authorities for an Application tags: - Application parameters: - &id004 name: applicationId in: path description: ID associated with the application required: true example: 575ec8687ae143cd83dc4a97 schema: type: string pattern: ^[A-Fa-f\d]{24}$ - name: sortField in: query description: Field to sort the results by required: false example: name schema: type: string enum: - name - status - id - creationDate - lastUpdated default: name - name: sortDirection in: query description: Direction to sort the results by required: false example: asc schema: type: string enum: - asc - desc default: asc - name: page in: query description: Which page of results to return required: false example: 0 schema: type: string default: 0 - name: perPage in: query description: How many items to return per page required: false example: 10 schema: type: string default: 100 - name: filterField in: query description: Field to filter the results by. Blank or not provided means no filtering. required: false example: name schema: type: string enum: - name - status - name: filter in: query description: Filter to apply against the filtered field. Supports globbing. Blank or not provided means no filtering. required: false example: the*name schema: type: string responses: '200': description: Collection of application certificate authorities content: application/json: schema: $ref: '#/components/schemas/applicationCertificateAuthorities' '400': description: Error if malformed request content: application/json: schema: $ref: '#/components/schemas/error' '404': description: Error if application was not found content: application/json: schema: $ref: '#/components/schemas/error' security: - BearerAuth: [] post: summary: Create a New Application Certificate Authority for an Application tags: - Application parameters: - *id004 requestBody: description: Application certificate authority information required: true content: application/json: schema: $ref: '#/components/schemas/applicationCertificateAuthorityPost' responses: '201': description: Successfully created application certificate authority content: application/json: schema: $ref: '#/components/schemas/applicationCertificateAuthority' '400': description: Error if malformed request content: application/json: schema: $ref: '#/components/schemas/error' '404': description: Error if application was not found content: application/json: schema: $ref: '#/components/schemas/error' security: - BearerAuth: [] /applications/{applicationId}/certificate-authorities/{applicationCertificateAuthorityId}: get: summary: Retrieves Information on an Application Certificate Authority tags: - Application parameters: - &id005 name: applicationId in: path description: ID associated with the application required: true example: 575ec8687ae143cd83dc4a97 schema: type: string pattern: ^[A-Fa-f\d]{24}$ - &id006 name: applicationCertificateAuthorityId in: path description: ID associated with the application certificate authority required: true example: 575ec76c7ae143cd83dc4a96 schema: type: string pattern: ^[A-Fa-f\d]{24}$ responses: '200': description: Application certificate authority information content: application/json: schema: $ref: '#/components/schemas/applicationCertificateAuthority' '400': description: Error if malformed request content: application/json: schema: $ref: '#/components/schemas/error' '404': description: Error if application certificate authority was not found content: application/json: schema: $ref: '#/components/schemas/error' security: - BearerAuth: [] patch: summary: Updates Information About an Application Certificate Authority tags: - Application parameters: - *id005 - *id006 requestBody: description: Object containing new properties of the application certificate authority required: true content: application/json: schema: $ref: '#/components/schemas/applicationCertificateAuthorityPatch' responses: '200': description: Updated application certificate authority information content: application/json: schema: $ref: '#/components/schemas/applicationCertificateAuthority' '400': description: Error if malformed request content: application/json: schema: $ref: '#/components/schemas/error' '404': description: Error if application certificate authority was not found content: application/json: schema: $ref: '#/components/schemas/error' security: - BearerAuth: [] delete: summary: Deletes an Application Certificate Authority tags: - Application parameters: - *id005 - *id006 responses: '200': description: If application certificate authority was successfully deleted content: application/json: schema: $ref: '#/components/schemas/success' '400': description: Error if malformed request content: application/json: schema: $ref: '#/components/schemas/error' '404': description: Error if application certificate authority was not found content: application/json: schema: $ref: '#/components/schemas/error' security: - BearerAuth: [] /applications/{applicationId}/certificates/{applicationCertificateId}: get: summary: Retrieves Information on an Application Certificate tags: - Application parameters: - &id007 name: applicationId in: path description: ID associated with the application required: true example: 575ec8687ae143cd83dc4a97 schema: type: string pattern: ^[A-Fa-f\d]{24}$ - &id008 name: applicationCertificateId in: path description: ID associated with the application certificate required: true example: 575ec76c7ae143cd83dc4a96 schema: type: string pattern: ^[A-Fa-f\d]{24}$ responses: '200': description: Application certificate information content: application/json: schema: $ref: '#/components/schemas/applicationCertificate' '400': description: Error if malformed request content: application/json: schema: $ref: '#/components/schemas/error' '404': description: Error if application certificate was not found content: application/json: schema: $ref: '#/components/schemas/error' security: - BearerAuth: [] patch: summary: Updates Information About an Application Certificate tags: - Application parameters: - *id007 - *id008 requestBody: description: Object containing new properties of the application certificate required: true content: application/json: schema: $ref: '#/components/schemas/applicationCertificatePatch' responses: '200': description: Updated application certificate information content: application/json: schema: $ref: '#/components/schemas/applicationCertificate' '400': description: Error if malformed request content: application/json: schema: $ref: '#/components/schemas/error' '404': description: Error if application certificate was not found content: application/json: schema: $ref: '#/components/schemas/error' security: - BearerAuth: [] delete: summary: Deletes an Application Certificate tags: - Application parameters: - *id007 - *id008 responses: '200': description: If application certificate was successfully deleted content: application/json: schema: $ref: '#/components/schemas/success' '400': description: Error if malformed request content: application/json: schema: $ref: '#/components/schemas/error' '404': description: Error if application certificate was not found content: application/json: schema: $ref: '#/components/schemas/error' security: - BearerAuth: [] /applications/{applicationId}/certificates: get: summary: Returns the Application Certificates for an Application tags: - Application parameters: - &id009 name: applicationId in: path description: ID associated with the application required: true example: 575ec8687ae143cd83dc4a97 schema: type: string pattern: ^[A-Fa-f\d]{24}$ - name: sortField in: query description: Field to sort the results by required: false example: status schema: type: string enum: - certificateInfo.commonName - status - id - creationDate - lastUpdated default: certificateInfo.commonName - name: sortDirection in: query description: Direction to sort the results by required: false example: asc schema: type: string enum: - asc - desc default: asc - name: page in: query description: Which page of results to return required: false example: 0 schema: type: string default: 0 - name: perPage in: query description: How many items to return per page required: false example: 10 schema: type: string default: 100 - name: filterField in: query description: Field to filter the results by. Blank or not provided means no filtering. required: false example: status schema: type: string enum: - certificateInfo.commonName - status - name: filter in: query description: Filter to apply against the filtered field. Supports globbing. Blank or not provided means no filtering. required: false example: the*status schema: type: string responses: '200': description: Collection of application certificates content: application/json: schema: $ref: '#/components/schemas/applicationCertificates' '400': description: Error if malformed request content: application/json: schema: $ref: '#/components/schemas/error' '404': description: Error if application was not found content: application/json: schema: $ref: '#/components/schemas/error' security: - BearerAuth: [] post: summary: Create a New Application Certificate for an Application tags: - Application parameters: - *id009 requestBody: description: Application certificate information required: true content: application/json: schema: $ref: '#/components/schemas/applicationCertificatePost' responses: '201': description: Successfully created application certificate content: application/json: schema: $ref: '#/components/schemas/applicationCertificate' '400': description: Error if malformed request content: application/json: schema: $ref: '#/components/schemas/error' '404': description: Error if application was not found content: application/json: schema: $ref: '#/components/schemas/error' security: - BearerAuth: [] /applications/{applicationId}/dashboards/{dashboardId}: get: summary: Retrieves Information on a Dashboard tags: - Application parameters: - &id010 name: dashboardId in: path description: ID of the associated dashboard required: true example: 575ece2b7ae143cd83dc4a9b schema: type: string pattern: ^[A-Fa-f\d]{24}$ - &id011 name: applicationId in: path description: ID of the associated application required: true example: 575ec8687ae143cd83dc4a97 schema: type: string pattern: ^[A-Fa-f\d]{24}$ responses: '200': description: Dashboard information content: application/json: schema: $ref: '#/components/schemas/dashboard' '400': description: Error if malformed request content: application/json: schema: $ref: '#/components/schemas/error' '404': description: Error if dashboard was not found content: application/json: schema: $ref: '#/components/schemas/error' security: - BearerAuth: [] patch: summary: Updates Information About a Dashboard tags: - Application parameters: - *id010 - *id011 requestBody: description: Object containing new dashboard properties required: true content: application/json: schema: $ref: '#/components/schemas/dashboardPatch' responses: '200': description: Update dashboard information content: application/json: schema: $ref: '#/components/schemas/dashboard' '400': description: Error if malformed request content: application/json: schema: $ref: '#/components/schemas/error' '404': description: Error if dashboard was not found content: application/json: schema: $ref: '#/components/schemas/error' security: - BearerAuth: [] delete: summary: Deletes a Dashboard tags: - Application parameters: - *id010 - *id011 responses: '200': description: If dashboard was successfully deleted content: application/json: schema: $ref: '#/components/schemas/success' '400': description: Error if malformed request content: application/json: schema: $ref: '#/components/schemas/error' '404': description: Error if dashboard was not found content: application/json: schema: $ref: '#/components/schemas/error' security: - BearerAuth: [] post: summary: Sends a Snapshot of a Dashboard tags: - Application parameters: - *id010 - *id011 requestBody: description: Object containing report options required: true content: application/json: schema: $ref: '#/components/schemas/dashboardSendReport' responses: '202': description: If dashboard report was enqueued to be sent content: application/json: schema: $ref: '#/components/schemas/jobEnqueuedResult' '400': description: Error if malformed request content: application/json: schema: $ref: '#/components/schemas/error' '404': description: Error if dashboard was not found content: application/json: schema: $ref: '#/components/schemas/error' security: - BearerAuth: [] /applications/{applicationId}/jobLogs/{jobId}: get: summary: Returns the Job Log for the Given ID tags: - Application parameters: - name: applicationId in: path description: ID associated with the application required: true example: 575ec8687ae143cd83dc4a97 schema: type: string pattern: ^[A-Fa-f\d]{24}$ - name: jobId in: path description: ID associated with the job execution required: true example: 575ec8687ae143cd83dc4a98 schema: type: string pattern: ^[A-Fa-f\d]{24}$ responses: '200': description: An application job log content: application/json: schema: $ref: '#/components/schemas/applicationJobLog' '400': description: Error if malformed request content: application/json: schema: $ref: '#/components/schemas/error' '404': description: Error if application job log was not found content: application/json: schema: $ref: '#/components/schemas/error' security: - BearerAuth: [] /applications/{applicationId}/dashboards: get: summary: Returns All Dashboards Scoped to the Given Application. tags: - Application parameters: - &id012 name: applicationId in: path description: ID associated with the application required: true example: 575ec8687ae143cd83dc4a97 schema: type: string pattern: ^[A-Fa-f\d]{24}$ - name: sortField in: query description: Field to sort the results by required: false example: name schema: type: string enum: - name - id - creationDate - lastUpdated default: name - name: sortDirection in: query description: Direction to sort the results by required: false example: asc schema: type: string enum: - asc - desc default: asc - name: page in: query description: Which page of results to return required: false example: 0 schema: type: string default: 0 - name: perPage in: query description: How many items to return per page required: false example: 10 schema: type: string default: 100 - name: filterField in: query description: Field to filter the results by. Blank or not provided means no filtering. required: false example: name schema: type: string enum: - name - name: filter in: query description: Filter to apply against the filtered field. Supports globbing. Blank or not provided means no filtering. required: false example: my * dashboard schema: type: string responses: '200': description: Collection of dashboards content: application/json: schema: $ref: '#/components/schemas/dashboards' '400': description: Error if malformed request content: application/json: schema: $ref: '#/components/schemas/error' '404': description: Error if application was not found content: application/json: schema: $ref: '#/components/schemas/error' security: - BearerAuth: [] post: summary: Create a New Dashboard tags: - Application parameters: - *id012 requestBody: description: New dashboard information required: true content: application/json: schema: $ref: '#/components/schemas/applicationDashboardPost' responses: '201': description: Successfully created dashboard content: application/json: schema: $ref: '#/components/schemas/dashboard' '400': description: Error if malformed request content: application/json: schema: $ref: '#/components/schemas/error' '404': description: Error if application was not found content: application/json: schema: $ref: '#/components/schemas/error' security: - BearerAuth: [] /applications/{applicationId}/jobLogs: get: summary: Returns the Job Logs for an Application tags: - Application parameters: - name: applicationId in: path description: ID associated with the application required: true example: 575ec8687ae143cd83dc4a97 schema: type: string pattern: ^[A-Fa-f\d]{24}$ - name: sortField in: query description: Field to sort the results by required: false example: status schema: type: string enum: - name - status - resourceType - runQueuedAt - runStartedAt - runCompletedAt default: runQueuedAt - name: sortDirection in: query description: Direction to sort the results by required: false example: asc schema: type: string enum: - asc - desc default: asc - name: page in: query description: Which page of results to return required: false example: 0 schema: type: string default: 0 - name: perPage in: query description: How many items to return per page required: false example: 10 schema: type: string default: 100 - name: query in: query description: Filter application job logs by a query. required: false schema: type: object responses: '200': description: Collection of application job logs content: application/json: schema: $ref: '#/components/schemas/applicationJobLogs' '400': description: Error if malformed request content: application/json: schema: $ref: '#/components/schemas/error' '404': description: Error if application was not found content: application/json: schema: $ref: '#/components/schemas/error' security: - BearerAuth: [] /applications/{applicationId}/keys/{applicationKeyId}: get: summary: Retrieves Information on an ApplicationKey tags: - Application parameters: - &id013 name: applicationId in: path description: ID associated with the application required: true example: 575ec8687ae143cd83dc4a97 schema: type: string pattern: ^[A-Fa-f\d]{24}$ - &id014 name: applicationKeyId in: path description: ID associated with the applicationKey required: true example: 575ec76c7ae143cd83dc4a96 schema: type: string pattern: ^[A-Fa-f\d]{24}$ responses: '200': description: applicationKey information content: application/json: schema: $ref: '#/components/schemas/applicationKey' '400': description: Error if malformed request content: application/json: schema: $ref: '#/components/schemas/error' '404': description: Error if applicationKey was not found content: application/json: schema: $ref: '#/components/schemas/error' security: - BearerAuth: [] patch: summary: Updates Information About an ApplicationKey tags: - Application parameters: - *id013 - *id014 requestBody: description: Object containing new properties of the applicationKey required: true content: application/json: schema: $ref: '#/components/schemas/applicationKeyPatch' responses: '200': description: Updated applicationKey information content: application/json: schema: $ref: '#/components/schemas/applicationKey' '400': description: Error if malformed request content: application/json: schema: $ref: '#/components/schemas/error' '404': description: Error if applicationKey was not found content: application/json: schema: $ref: '#/components/schemas/error' security: - BearerAuth: [] delete: summary: Deletes an ApplicationKey tags: - Application parameters: - *id013 - *id014 responses: '200': description: If applicationKey was successfully deleted content: application/json: schema: $ref: '#/components/schemas/success' '400': description: Error if malformed request content: application/json: schema: $ref: '#/components/schemas/error' '404': description: Error if applicationKey was not found content: application/json: schema: $ref: '#/components/schemas/error' security: - BearerAuth: [] /applications/{applicationId}/keys: get: summary: Returns the ApplicationKeys for an Application tags: - Application parameters: - &id015 name: applicationId in: path description: ID associated with the application required: true example: 575ec8687ae143cd83dc4a97 schema: type: string pattern: ^[A-Fa-f\d]{24}$ - name: sortField in: query description: Field to sort the results by required: false example: creationDate schema: type: string enum: - key - status - id - creationDate - lastUpdated - name default: creationDate - name: sortDirection in: query description: Direction to sort the results by required: false example: asc schema: type: string enum: - asc - desc default: desc - name: page in: query description: Which page of results to return required: false example: 0 schema: type: string default: 0 - name: perPage in: query description: How many items to return per page required: false example: 10 schema: type: string default: 100 - name: filterField in: query description: Field to filter the results by. Blank or not provided means no filtering. required: false example: key schema: type: string enum: - key - status - name - name: filter in: query description: Filter to apply against the filtered field. Supports globbing. Blank or not provided means no filtering. required: false example: the*key schema: type: string - name: query in: query description: Application key filter JSON object which overrides the filterField and filter parameters. required: false schema: type: object responses: '200': description: Collection of applicationKeys content: application/json: schema: $ref: '#/components/schemas/applicationKeys' '400': description: Error if malformed request content: application/json: schema: $ref: '#/components/schemas/error' '404': description: Error if application was not found content: application/json: schema: $ref: '#/components/schemas/error' security: - BearerAuth: [] post: summary: Create a New ApplicationKey for an Application tags: - Application parameters: - *id015 requestBody: description: ApplicationKey information required: true content: application/json: schema: $ref: '#/components/schemas/applicationKeyPost' responses: '201': description: Successfully created applicationKey content: application/json: schema: $ref: '#/components/schemas/applicationKeyPostResponse' '400': description: Error if malformed request content: application/json: schema: $ref: '#/components/schemas/error' '404': description: Error if application was not found content: application/json: schema: $ref: '#/components/schemas/error' security: - BearerAuth: [] /applicationTemplates/{templateId}: get: summary: Retrieves Information on an Application Template tags: - Application parameters: - name: templateId in: path description: ID associated with the template required: true example: 575ed0de7ae143cd83dc4aa5 schema: type: string pattern: ^[A-Fa-f\d]{24}$ responses: '200': description: Application template information content: application/json: schema: $ref: '#/components/schemas/applicationTemplate' '400': description: Error if malformed request content: application/json: schema: $ref: '#/components/schemas/error' '404': description: Error if template was not found content: application/json: schema: $ref: '#/components/schemas/error' security: - BearerAuth: [] /applicationTemplates: get: summary: Returns an Array of All Unique Keywords Currently in Use by Templates tags: - Application responses: '200': description: Array of all unique template keywords content: application/json: schema: $ref: '#/components/schemas/templateKeywords' '400': description: Error if malformed request content: application/json: schema: $ref: '#/components/schemas/error' security: - BearerAuth: [] /applications/{applicationId}: get: summary: Retrieves Information on Application Import Logs tags: - Application parameters: - &id016 name: applicationId in: path description: ID of the associated application required: true example: 575ec8687ae143cd83dc4a97 schema: type: string pattern: ^[A-Fa-f\d]{24}$ - name: limit in: query description: Max log entries to return (ordered by time descending) required: false example: 10 schema: type: string default: 1 - name: since in: query description: Look for log entries since this time (ms since epoch) required: false example: 1465790400000 schema: type: string responses: '200': description: Application log objects content: application/json: schema: $ref: '#/components/schemas/applicationImportExecutions' '400': description: Error if malformed request content: application/json: schema: $ref: '#/components/schemas/error' '404': description: Error if application was not found content: application/json: schema: $ref: '#/components/schemas/error' security: - BearerAuth: [] patch: summary: Updates an Application Global at the Given Key tags: - Application parameters: - *id016 requestBody: description: Array of objects containing new application global information required: true content: application/json: schema: $ref: '#/components/schemas/applicationGlobalPatch' responses: '200': description: Updated application information content: application/json: schema: $ref: '#/components/schemas/application' '400': description: Error if malformed request content: application/json: schema: $ref: '#/components/schemas/error' '404': description: Error if application was not found content: application/json: schema: $ref: '#/components/schemas/error' security: - BearerAuth: [] delete: summary: Deletes an Application tags: - Application parameters: - *id016 responses: '200': description: If application was successfully deleted content: application/json: schema: $ref: '#/components/schemas/success' '400': description: Error if malformed request content: application/json: schema: $ref: '#/components/schemas/error' '404': description: Error if application was not found content: application/json: schema: $ref: '#/components/schemas/error' security: - BearerAuth: [] post: summary: Add Multiple Resources to an Application via a Zip File tags: - Application parameters: - *id016 - name: importBundle in: multipart description: The zip file containing all of the resources to import into the application required: false schema: type: file - name: email in: multipart description: Email address to notify the user when the job to import the application resources has completed or errored, defaults to the email address of the user making the request required: false example: email@example.com schema: type: string - name: options in: multipart description: Additional import options required: false schema: type: object responses: '200': description: Updated application information content: application/json: schema: $ref: '#/components/schemas/application' '202': description: If a job was enqueued for the resources to be imported into the application content: application/json: schema: $ref: '#/components/schemas/jobEnqueuedResult' '400': description: Error if malformed request content: application/json: schema: $ref: '#/components/schemas/error' '404': description: Error if application is not found content: application/json: schema: $ref: '#/components/schemas/error' security: - BearerAuth: [] /applications: get: summary: Returns Application Usage Summaries Over a Selected Date Range tags: - Application parameters: - name: start in: query description: Start of range for resource count queries (ms since epoch) required: false example: 0 schema: type: string - name: end in: query description: End of range for resource count queries (ms since epoch) required: false example: 1465790400000 schema: type: string - name: asBytes in: query description: If the resulting payload counts should be returned as bytes required: false example: true schema: type: string default: false - name: includeNonBillable in: query description: If non-billable payloads should be included in the result required: false example: true schema: type: string default: false - name: sortField in: query description: Field to sort the results by required: false example: name schema: type: string enum: - name - id - creationDate - ownerId - lastUpdated default: name - name: sortDirection in: query description: Direction to sort the results by required: false example: asc schema: type: string enum: - asc - desc default: asc - name: page in: query description: Which page of results to return required: false example: 0 schema: type: string default: 0 - name: perPage in: query description: How many items to return per page required: false example: 10 schema: type: string default: 100 - name: filterField in: query description: Field to filter the results by. Blank or not provided means no filtering. required: false example: name schema: type: string enum: - name - name: filter in: query description: Filter to apply against the filtered field. Supports globbing. Blank or not provided means no filtering. required: false example: my * app schema: type: string - name: orgId in: query description: If not provided, return all applications. If provided but blank, only return applications belonging to the current user. If provided and an id, only return applications belonging to the given organization id. required: false example: 575ecdf07ae143cd83dc4a9a schema: type: string pattern: ^([A-Fa-f\d]{24}|)$ - name: exclude in: query description: Comma-separated list of resources to exclude from summary required: false example: payloadCounts, deviceCounts, notebookMinuteCounts schema: type: string - name: include in: query description: Comma-separated list of summary fields to include in application summary required: false example: deviceCounts schema: type: string responses: '200': description: Collection of application period summaries content: application/json: schema: $ref: '#/components/schemas/periodSummaries' '400': description: Error if malformed request content: application/json: schema: $ref: '#/components/schemas/error' security: - BearerAuth: [] post: summary: Create a New Application from an Import Bundle tags: - Application parameters: - name: importBundle in: multipart description: The zip file containing the application to import and all of its resources required: false schema: type: file - name: ownerId in: multipart description: The owner id of the new application, defaults to the id of the user making the request required: false example: 575ed6e87ae143cd83dc4aa8 schema: type: string pattern: ^[A-Fa-f\d]{24}$ - name: ownerType in: multipart description: The type of the owner id required: false example: user schema: type: string enum: - user - organization default: user - name: includeDevices in: multipart description: If set, import devices from the import bundle required: false example: true schema: type: string - name: includeDataTableRows in: multipart description: If set, import data table rows from import bundle required: false example: true schema: type: string - name: includeFiles in: multipart description: If set, import files from import bundle required: false example: true schema: type: string - name: email in: multipart description: Email address to notify the user when the job to import the application has completed or errored, defaults to the email address of the user making the request required: false example: email@example.com schema: type: string - name: options in: multipart description: Additional import options required: false schema: type: object responses: '201': description: Successfully created application content: application/json: schema: $ref: '#/components/schemas/applicationCreationByTemplateResult' '202': description: If application was enqueued to be imported content: application/json: schema: $ref: '#/components/schemas/jobEnqueuedResult' '400': description: Error if malformed request content: application/json: schema: $ref: '#/components/schemas/error' '404': description: Error if application is not found content: application/json: schema: $ref: '#/components/schemas/error' '422': description: Error if too many validation errors occurred on other resources content: application/json: schema: $ref: '#/components/schemas/validationErrors' security: - BearerAuth: [] /orgs/{orgId}/audit-logs/{auditLogId}: get: summary: Retrieves Information on an Audit Log tags: - Application parameters: - name: orgId in: path description: ID associated with the organization required: true example: 575ed6e87ae143cd83dc4aa8 schema: type: string pattern: ^[A-Fa-f\d]{24}$ - name: auditLogId in: path description: ID associated with the audit log required: true example: 57955788124b37010084c053 schema: type: string pattern: ^[A-Fa-f\d]{24}$ responses: '200': description: Audit log information content: application/json: schema: $ref: '#/components/schemas/auditLog' '400': description: Error if malformed request content: application/json: schema: $ref: '#/components/schemas/error' '404': description: Error if audit log was not found content: application/json: schema: $ref: '#/components/schemas/error' security: - BearerAuth: [] /orgs/{orgId}/audit-logs: get: summary: Returns the Audit Logs for the Organization tags: - Application parameters: - name: orgId in: path description: ID associated with the organization required: true example: 575ed6e87ae143cd83dc4aa8 schema: type: string pattern: ^[A-Fa-f\d]{24}$ - name: sortField in: query description: Field to sort the results by required: false example: creationDate schema: type: string enum: - creationDate - responseStatus - actorName default: creationDate - name: sortDirection in: query description: Direction to sort the results by required: false example: asc schema: type: string enum: - asc - desc default: desc - name: page in: query description: Which page of results to return required: false example: 0 schema: type: string default: 0 - name: perPage in: query description: How many items to return per page required: false example: 10 schema: type: string default: 100 - name: start in: query description: Start of time range for audit log query required: false example: 1465790400000 schema: type: string - name: end in: query description: End of time range for audit log query required: false example: 1465790400000 schema: type: string - name: auditLogFilter in: query description: Filters for the audit log query required: false responses: '200': description: Collection of audit logs content: application/json: schema: $ref: '#/components/schemas/auditLogs' '400': description: Error if malformed request content: application/json: schema: $ref: '#/components/schemas/error' '404': description: Error if organization was not found content: application/json: schema: $ref: '#/components/schemas/error' security: - BearerAuth: [] /applications/{applicationId}/credentials/{credentialId}: get: summary: Retrieves Information on Resources Linked to a Credential tags: - Application parameters: - &id017 name: applicationId in: path description: ID associated with the application required: true example: 575ec8687ae143cd83dc4a97 schema: type: string pattern: ^[A-Fa-f\d]{24}$ - &id018 name: credentialId in: path description: ID associated with the credential required: true example: 575ec76c7ae143cd83dc4a96 schema: type: string pattern: ^[A-Fa-f\d]{24}$ - name: includeCustomNodes in: query description: If the result of the request should also include the details of any custom nodes referenced by returned workflows required: false example: true schema: type: string default: false responses: '200': description: Linked resource information content: application/json: schema: $ref: '#/components/schemas/credentialLinkedResources' '400': description: Error if malformed request content: application/json: schema: $ref: '#/components/schemas/error' '404': description: Error if credential was not found content: application/json: schema: $ref: '#/components/schemas/error' security: - BearerAuth: [] patch: summary: Updates Information About a Credential tags: - Application parameters: - *id017 - *id018 requestBody: description: Object containing new properties of the credential required: true content: application/json: schema: $ref: '#/components/schemas/credentialPatch' responses: '200': description: Updated credential information content: application/json: schema: $ref: '#/components/schemas/credential' '400': description: Error if malformed request content: application/json: schema: $ref: '#/components/schemas/error' '404': description: Error if credential was not found content: application/json: schema: $ref: '#/components/schemas/error' security: - BearerAuth: [] delete: summary: Deletes a Credential tags: - Application parameters: - *id017 - *id018 responses: '200': description: If credential was successfully deleted content: application/json: schema: $ref: '#/components/schemas/success' '400': description: Error if malformed request content: application/json: schema: $ref: '#/components/schemas/error' '404': description: Error if credential was not found content: application/json: schema: $ref: '#/components/schemas/error' security: - BearerAuth: [] /applications/{applicationId}/credentials: get: summary: Returns a Collection of Credentials for an Application tags: - Application parameters: - &id019 name: applicationId in: path description: ID associated with the application required: true example: 575ec8687ae143cd83dc4a97 schema: type: string pattern: ^[A-Fa-f\d]{24}$ - name: sortField in: query description: Field to sort the results by required: false example: creationDate schema: type: string enum: - name - type - creationDate - lastUpdated default: creationDate - name: sortDirection in: query description: Direction to sort the results by required: false example: asc schema: type: string enum: - asc - desc default: desc - name: page in: query description: Which page of results to return required: false example: 0 schema: type: string default: 0 - name: perPage in: query description: How many items to return per page required: false example: 10 schema: type: string default: 100 - name: filterField in: query description: Field to filter the results by. Blank or not provided means no filtering. required: false example: type schema: type: string enum: - name - type - name: filter in: query description: Filter to apply against the filtered field. Supports globbing. Blank or not provided means no filtering. required: false example: aws schema: type: string responses: '200': description: Collection of credentials content: application/json: schema: $ref: '#/components/schemas/credentials' '400': description: Error if malformed request content: application/json: schema: $ref: '#/components/schemas/error' '404': description: Error if application was not found content: application/json: schema: $ref: '#/components/schemas/error' security: - BearerAuth: [] post: summary: Create a New Credential for an Application tags: - Application parameters: - *id019 requestBody: description: Credential information required: true content: application/json: schema: $ref: '#/components/schemas/credentialPost' responses: '201': description: Successfully created credential content: application/json: schema: $ref: '#/components/schemas/credential' '400': description: Error if malformed request content: application/json: schema: $ref: '#/components/schemas/error' '404': description: Error if application was not found content: application/json: schema: $ref: '#/components/schemas/error' security: - BearerAuth: [] /dashboards/{dashboardId}: get: summary: Retrieves Information on a Dashboard tags: - Application parameters: - &id020 name: dashboardId in: path description: ID of the associated dashboard required: true example: 575ece2b7ae143cd83dc4a9b schema: type: string pattern: ^[A-Fa-f\d]{24}$ - name: password in: query description: Password for password-protected dashboards required: false example: myPassword schema: type: string responses: '200': description: Dashboard information content: application/json: schema: $ref: '#/components/schemas/dashboard' '400': description: Error if malformed request content: application/json: schema: $ref: '#/components/schemas/error' '404': description: Error if dashboard was not found content: application/json: schema: $ref: '#/components/schemas/error' security: - BearerAuth: [] patch: summary: Updates Information About a Dashboard tags: - Application parameters: - *id020 requestBody: description: Object containing new dashboard properties required: true content: application/json: schema: $ref: '#/components/schemas/dashboardPatch' responses: '200': description: Update dashboard information content: application/json: schema: $ref: '#/components/schemas/dashboard' '400': description: Error if malformed request content: application/json: schema: $ref: '#/components/schemas/error' '404': description: Error if dashboard was not found content: application/json: schema: $ref: '#/components/schemas/error' security: - BearerAuth: [] delete: summary: Deletes a Dashboard tags: - Application parameters: - *id020 responses: '200': description: If dashboard was successfully deleted content: application/json: schema: $ref: '#/components/schemas/success' '400': description: Error if malformed request content: application/json: schema: $ref: '#/components/schemas/error' '404': description: Error if dashboard was not found content: application/json: schema: $ref: '#/components/schemas/error' security: - BearerAuth: [] post: summary: Sends a Snapshot of a Dashboard tags: - Application parameters: - *id020 requestBody: description: Object containing report options required: true content: application/json: schema: $ref: '#/components/schemas/dashboardSendReport' responses: '202': description: If dashboard report was enqueued to be sent content: application/json: schema: $ref: '#/components/schemas/jobEnqueuedResult' '400': description: Error if malformed request content: application/json: schema: $ref: '#/components/schemas/error' '404': description: Error if dashboard was not found content: application/json: schema: $ref: '#/components/schemas/error' security: - BearerAuth: [] /dashboards: get: summary: Returns the Dashboards the Current User Has Permission to See tags: - Application parameters: - name: sortField in: query description: Field to sort the results by required: false example: name schema: type: string enum: - name - id - creationDate - ownerId - applicationId - lastUpdated default: name - name: sortDirection in: query description: Direction to sort the results by required: false example: asc schema: type: string enum: - asc - desc default: asc - name: page in: query description: Which page of results to return required: false example: 0 schema: type: string default: 0 - name: perPage in: query description: How many items to return per page required: false example: 10 schema: type: string default: 100 - name: filterField in: query description: Field to filter the results by. Blank or not provided means no filtering. required: false example: name schema: type: string enum: - name - name: filter in: query description: Filter to apply against the filtered field. Supports globbing. Blank or not provided means no filtering. required: false example: my * dashboard schema: type: string - name: applicationId in: query description: If not provided, return all dashboards. If provided but blank, only return dashboards that are not linked to applications. If provided and an id, only return dashboards linked to the given application id. required: false example: 575ec8687ae143cd83dc4a97 schema: type: string pattern: ^([A-Fa-f\d]{24}|)$ - name: orgId in: query description: If not provided, return all dashboards. If provided but blank, only return dashboards belonging to the current user. If provided and an id, only return dashboards belonging to the given organization id. required: false example: 575ece7e7ae143cd83dc4a9c schema: type: string pattern: ^([A-Fa-f\d]{24}|)$ responses: '200': description: Collection of dashboards content: application/json: schema: $ref: '#/components/schemas/dashboards' '400': description: Error if malformed request content: application/json: schema: $ref: '#/components/schemas/error' security: - BearerAuth: [] post: summary: Create a New Dashboard tags: - Application requestBody: description: New dashboard information required: true content: application/json: schema: $ref: '#/components/schemas/dashboardPost' responses: '201': description: Successfully created dashboard content: application/json: schema: $ref: '#/components/schemas/dashboard' '400': description: Error if malformed request content: application/json: schema: $ref: '#/components/schemas/error' security: - BearerAuth: [] /applications/{applicationId}/events/{eventId}: get: summary: Retrieves Information on an Event tags: - Application parameters: - &id021 name: applicationId in: path description: ID associated with the application required: true example: 575ec8687ae143cd83dc4a97 schema: type: string pattern: ^[A-Fa-f\d]{24}$ - &id022 name: eventId in: path description: ID associated with the event required: true example: 575ed0de7ae143cd83dc4aa5 schema: type: string pattern: ^[A-Fa-f\d]{24}$ responses: '200': description: Event information content: application/json: schema: $ref: '#/components/schemas/event' '400': description: Error if malformed request content: application/json: schema: $ref: '#/components/schemas/error' '404': description: Error if event was not found content: application/json: schema: $ref: '#/components/schemas/error' security: - BearerAuth: [] patch: summary: Updates Information About an Event tags: - Application parameters: - *id021 - *id022 requestBody: description: Object containing new properties of the event required: true content: application/json: schema: $ref: '#/components/schemas/eventPatch' responses: '200': description: Updated event information content: application/json: schema: $ref: '#/components/schemas/event' '400': description: Error if malformed request content: application/json: schema: $ref: '#/components/schemas/error' '404': description: Error if event is not found content: application/json: schema: $ref: '#/components/schemas/error' security: - BearerAuth: [] delete: summary: Deletes an Event tags: - Application parameters: - *id021 - *id022 responses: '200': description: If event was successfully deleted content: application/json: schema: $ref: '#/components/schemas/success' '400': description: Error if malformed request content: application/json: schema: $ref: '#/components/schemas/error' '404': description: Error if event was not found content: application/json: schema: $ref: '#/components/schemas/error' security: - BearerAuth: [] /applications/{applicationId}/events: get: summary: Returns the First New Event Ordered by Severity and Then Creation tags: - Application parameters: - &id023 name: applicationId in: path description: ID associated with the application required: true example: 575ec8687ae143cd83dc4a97 schema: type: string pattern: ^[A-Fa-f\d]{24}$ - name: filter in: query description: Filter to apply against event subjects. Supports globbing. Blank or not provided means no filtering. required: false example: abnormal power to * schema: type: string - name: query in: query description: Event filter JSON object which overrides the filter parameter. required: false schema: type: object responses: '200': description: The event, plus count of currently new events content: application/json: schema: $ref: '#/components/schemas/eventPlusNewCount' '404': description: Error if application was not found content: application/json: schema: $ref: '#/components/schemas/error' security: - BearerAuth: [] post: summary: Request an Export of an Application's Event Data tags: - Application parameters: - *id023 requestBody: description: Export options for events required: false content: application/json: schema: $ref: '#/components/schemas/eventsExport' responses: '202': description: If generation of export was successfully started content: application/json: schema: $ref: '#/components/schemas/jobEnqueuedResult' '400': description: Error if malformed request content: application/json: schema: $ref: '#/components/schemas/error' '404': description: Error if application was not found content: application/json: schema: $ref: '#/components/schemas/error' security: - BearerAuth: [] patch: summary: Asynchronously Updates Information for Matching Events by Subject and/or Current State tags: - Application parameters: - *id023 - name: filterField in: query description: Field to filter the events to act on by. Blank or not provided means no filtering. required: false example: subject schema: type: string enum: - subject - name: filter in: query description: Filter to apply against the filtered field. Supports globbing. Blank or not provided means no filtering. required: false example: abnormal power to * schema: type: string - name: state in: query description: If provided, act on events only in the given state. required: false example: new schema: type: string enum: - new - acknowledged - resolved - name: query in: query description: Event filter JSON object which overrides the filterField, filter, and state parameters. required: false schema: type: object - name: email in: query description: Email address to send a notification with update job results. Defaults to current user's email. required: false example: email@example.com schema: type: string - name: callbackUrl in: query description: Callback URL to call with update results from a job. required: false example: https://example.com/cburl schema: type: string requestBody: description: Object containing updated information for the events. required: true content: application/json: schema: $ref: '#/components/schemas/eventPatch' responses: '200': description: If the bulk update has been completed content: application/json: schema: $ref: '#/components/schemas/success' '202': description: If a bulk update job has been enqueued content: application/json: schema: $ref: '#/components/schemas/jobEnqueuedResult' '400': description: Error if malformed request content: application/json: schema: $ref: '#/components/schemas/error' '404': description: Error if application is not found content: application/json: schema: $ref: '#/components/schemas/error' security: - BearerAuth: [] /applications/{applicationId}/file/{fileId}: get: summary: Retrieves Information on a File tags: - Application parameters: - &id024 name: applicationId in: path description: ID associated with the application required: true example: 575ec8687ae143cd83dc4a97 schema: type: string pattern: ^[A-Fa-f\d]{24}$ - &id025 name: fileId in: path description: ID associated with the file required: true example: 575ec76c7ae143cd83dc4a96 schema: type: string pattern: ^[A-Fa-f\d]{24}$ responses: '200': description: File information content: application/json: schema: $ref: '#/components/schemas/file' '400': description: Error if malformed request content: application/json: schema: $ref: '#/components/schemas/error' '404': description: Error if file was not found content: application/json: schema: $ref: '#/components/schemas/error' security: - BearerAuth: [] patch: summary: Reupload a File tags: - Application parameters: - *id024 - *id025 requestBody: description: Updated information about the file required: true content: application/json: schema: $ref: '#/components/schemas/filePatch' responses: '201': description: Successfully updated file and the information needed to upload the file content content: application/json: schema: $ref: '#/components/schemas/fileUploadPostResponse' '400': description: Error if malformed request content: application/json: schema: $ref: '#/components/schemas/error' '404': description: Error if file was not found content: application/json: schema: $ref: '#/components/schemas/error' security: - BearerAuth: [] post: summary: Uploads the File tags: - Application parameters: - *id024 - *id025 - name: file in: multipart description: The content of the file to upload required: true schema: type: file responses: '200': description: Updated file content content: application/json: schema: $ref: '#/components/schemas/file' '400': description: Error if malformed request content: application/json: schema: $ref: '#/components/schemas/error' '404': description: Error if file was not found content: application/json: schema: $ref: '#/components/schemas/error' security: - BearerAuth: [] delete: summary: Deletes a File or Directory, if Directory All the Contents That Directory Will Also Be Removed. tags: - Application parameters: - *id024 - *id025 responses: '200': description: If file was successfully deleted content: application/json: schema: $ref: '#/components/schemas/success' '400': description: Error if malformed request content: application/json: schema: $ref: '#/components/schemas/error' '404': description: Error if file was not found content: application/json: schema: $ref: '#/components/schemas/error' security: - BearerAuth: [] /applications/{applicationId}/files: get: summary: Returns the Files for an Application tags: - Application parameters: - &id026 name: applicationId in: path description: ID associated with the application required: true example: 575ec8687ae143cd83dc4a97 schema: type: string pattern: ^[A-Fa-f\d]{24}$ - name: sortField in: query description: Field to sort the results by required: false example: name schema: type: string enum: - lastUpdated - type - name - creationDate default: lastUpdated - name: sortDirection in: query description: Direction to sort the results by required: false example: asc schema: type: string enum: - asc - desc default: asc - name: page in: query description: Which page of results to return required: false example: 0 schema: type: string default: 0 - name: perPage in: query description: How many items to return per page required: false example: 10 schema: type: string default: 100 - name: filterField in: query description: Field to filter the results by. Blank or not provided means no filtering. required: false example: name schema: type: string enum: - name - name: filter in: query description: Filter to apply against the filtered field. Supports globbing. Blank or not provided means no filtering. required: false example: myFile schema: type: string - name: type in: query description: Limit by the type (file or directory) of the file required: false example: file schema: type: string - name: status in: query description: Limit the result to only files of this status required: false example: completed schema: type: string enum: - completed - pending - name: directory in: query description: Get files that are inside of this directory required: false example: /a/path/ schema: type: string responses: '200': description: Collection of files content: application/json: schema: $ref: '#/components/schemas/files' '400': description: Error if malformed request content: application/json: schema: $ref: '#/components/schemas/error' '404': description: Error if application was not found content: application/json: schema: $ref: '#/components/schemas/error' security: - BearerAuth: [] post: summary: Create a New File for an Application tags: - Application parameters: - *id026 requestBody: description: New file information required: true content: application/json: schema: $ref: '#/components/schemas/filePost' responses: '201': description: Successfully created file and the information needed to upload the file content content: application/json: schema: $ref: '#/components/schemas/fileUploadPostResponse' '400': description: Error if malformed request content: application/json: schema: $ref: '#/components/schemas/error' '404': description: Error if application was not found content: application/json: schema: $ref: '#/components/schemas/error' security: - BearerAuth: [] /applications/{applicationId}/integrations/{integrationId}: get: summary: Retrieves Information on an Integration tags: - Application parameters: - &id027 name: applicationId in: path description: ID associated with the application required: true example: 575ec8687ae143cd83dc4a97 schema: type: string pattern: ^[A-Fa-f\d]{24}$ - &id028 name: integrationId in: path description: ID associated with the integration required: true example: 575ed78e7ae143cd83dc4aab schema: type: string pattern: ^[A-Fa-f\d]{24}$ responses: '200': description: integration information content: application/json: schema: $ref: '#/components/schemas/integration' '400': description: Error if malformed request content: application/json: schema: $ref: '#/components/schemas/error' '404': description: Error if integration was not found content: application/json: schema: $ref: '#/components/schemas/error' security: - BearerAuth: [] patch: summary: Updates Information About an Integration tags: - Application parameters: - *id027 - *id028 requestBody: description: Object containing new properties of the integration required: true content: application/json: schema: $ref: '#/components/schemas/integrationPatch' responses: '200': description: Updated integration information content: application/json: schema: $ref: '#/components/schemas/integration' '400': description: Error if malformed request content: application/json: schema: $ref: '#/components/schemas/error' '404': description: Error if integration was not found content: application/json: schema: $ref: '#/components/schemas/error' security: - BearerAuth: [] delete: summary: Deletes an Integration tags: - Application parameters: - *id027 - *id028 - name: includeWorkflows in: query description: If the workflows that utilize this integration should also be deleted. required: false example: true schema: type: string responses: '200': description: If integration was successfully deleted content: application/json: schema: $ref: '#/components/schemas/success' '400': description: Error if malformed request content: application/json: schema: $ref: '#/components/schemas/error' '404': description: Error if integration was not found content: application/json: schema: $ref: '#/components/schemas/error' security: - BearerAuth: [] /applications/{applicationId}/integrations: get: summary: Returns the Integrations for an Application tags: - Application parameters: - &id029 name: applicationId in: path description: ID associated with the application required: true example: 575ec8687ae143cd83dc4a97 schema: type: string pattern: ^[A-Fa-f\d]{24}$ - name: sortField in: query description: Field to sort the results by required: false example: name schema: type: string enum: - name - id - creationDate - integrationType - lastUpdated default: name - name: sortDirection in: query description: Direction to sort the results by required: false example: asc schema: type: string enum: - asc - desc default: asc - name: page in: query description: Which page of results to return required: false example: 0 schema: type: string default: 0 - name: perPage in: query description: How many items to return per page required: false example: 10 schema: type: string default: 100 - name: filterField in: query description: Field to filter the results by. Blank or not provided means no filtering. required: false example: integrationType schema: type: string enum: - name - integrationType - name: filter in: query description: Filter to apply against the filtered field. Supports globbing. Blank or not provided means no filtering. required: false example: my*integration schema: type: string responses: '200': description: Collection of integrations content: application/json: schema: $ref: '#/components/schemas/integrations' '400': description: Error if malformed request content: application/json: schema: $ref: '#/components/schemas/error' '404': description: Error if application was not found content: application/json: schema: $ref: '#/components/schemas/error' security: - BearerAuth: [] post: summary: Create a New Integration for an Application tags: - Application parameters: - *id029 requestBody: description: New integration information required: true content: application/json: schema: $ref: '#/components/schemas/integrationPost' responses: '201': description: Successfully created integration content: application/json: schema: $ref: '#/components/schemas/integration' '400': description: Error if malformed request content: application/json: schema: $ref: '#/components/schemas/error' '404': description: Error if application was not found content: application/json: schema: $ref: '#/components/schemas/error' security: - BearerAuth: [] /applications/{applicationId}/privateFiles/{privateFileId}: get: summary: Retrieves Information on a Private File tags: - Application parameters: - &id030 name: applicationId in: path description: ID associated with the application required: true example: 575ec8687ae143cd83dc4a97 schema: type: string pattern: ^[A-Fa-f\d]{24}$ - &id031 name: privateFileId in: path description: ID associated with the private file required: true example: 575ec76c7ae143cd83dc4a96 schema: type: string pattern: ^[A-Fa-f\d]{24}$ - name: urlTTL in: query description: Time in seconds that the private file url will be valid for. Only applies to private files of type 'file'. If 0, no url will be returned. required: false example: 900 schema: type: string default: 900 responses: '200': description: Private file information content: application/json: schema: $ref: '#/components/schemas/file' '400': description: Error if malformed request content: application/json: schema: $ref: '#/components/schemas/error' '404': description: Error if private file was not found content: application/json: schema: $ref: '#/components/schemas/error' security: - BearerAuth: [] patch: summary: Reupload a Private File tags: - Application parameters: - *id030 - *id031 requestBody: description: Updated information about the private file required: true content: application/json: schema: $ref: '#/components/schemas/filePatch' responses: '201': description: Successfully updated private file and the information needed to upload the file content content: application/json: schema: $ref: '#/components/schemas/fileUploadPostResponse' '400': description: Error if malformed request content: application/json: schema: $ref: '#/components/schemas/error' '404': description: Error if private file was not found content: application/json: schema: $ref: '#/components/schemas/error' security: - BearerAuth: [] post: summary: Uploads the Private File tags: - Application parameters: - *id030 - *id031 - name: privateFile in: multipart description: The content of the private file to upload required: true schema: type: file - name: urlTTL in: query description: Time in seconds that the private file url will be valid for. Only applies to private files of type 'file'. If 0, no url will be returned. required: false example: 900 schema: type: string default: 900 responses: '200': description: Updated private file content content: application/json: schema: $ref: '#/components/schemas/file' '400': description: Error if malformed request content: application/json: schema: $ref: '#/components/schemas/error' '404': description: Error if file was not found content: application/json: schema: $ref: '#/components/schemas/error' security: - BearerAuth: [] delete: summary: Deletes a Private File or Directory, if a Directory All the Contents That Directory Will Also Be Removed. tags: - Application parameters: - *id030 - *id031 responses: '200': description: If private file was successfully deleted content: application/json: schema: $ref: '#/components/schemas/success' '400': description: Error if malformed request content: application/json: schema: $ref: '#/components/schemas/error' '404': description: Error if private file was not found content: application/json: schema: $ref: '#/components/schemas/error' security: - BearerAuth: [] /applications/{applicationId}/privateFiles: get: summary: Returns the Private Files for an Application tags: - Application parameters: - &id032 name: applicationId in: path description: ID associated with the application required: true example: 575ec8687ae143cd83dc4a97 schema: type: string pattern: ^[A-Fa-f\d]{24}$ - name: sortField in: query description: Field to sort the results by required: false example: name schema: type: string enum: - lastUpdated - type - name - creationDate default: lastUpdated - name: sortDirection in: query description: Direction to sort the results by required: false example: asc schema: type: string enum: - asc - desc default: asc - name: page in: query description: Which page of results to return required: false example: 0 schema: type: string default: 0 - name: perPage in: query description: How many items to return per page required: false example: 10 schema: type: string default: 100 - name: filterField in: query description: Field to filter the results by. Blank or not provided means no filtering. required: false example: name schema: type: string enum: - name - name: filter in: query description: Filter to apply against the filtered field. Supports globbing. Blank or not provided means no filtering. required: false example: myFile schema: type: string - name: type in: query description: Limit by the type (file or directory) of the file required: false example: file schema: type: string - name: status in: query description: Limit the result to only files of this status required: false example: completed schema: type: string enum: - completed - pending - name: directory in: query description: Get private files that are inside of this directory required: false example: /a/path/ schema: type: string - name: urlTTL in: query description: Time in seconds that the private file url will be valid for. Only applies to private files of type 'file'. If 0, no url will be returned. required: false example: 900 schema: type: string default: 900 responses: '200': description: Collection of private files content: application/json: schema: $ref: '#/components/schemas/files' '400': description: Error if malformed request content: application/json: schema: $ref: '#/components/schemas/error' '404': description: Error if application was not found content: application/json: schema: $ref: '#/components/schemas/error' security: - BearerAuth: [] post: summary: Create a New Private File for an Application tags: - Application parameters: - *id032 requestBody: description: New private file information required: true content: application/json: schema: $ref: '#/components/schemas/filePost' responses: '201': description: Successfully created private file and the information needed to upload the file content content: application/json: schema: $ref: '#/components/schemas/fileUploadPostResponse' '400': description: Error if malformed request content: application/json: schema: $ref: '#/components/schemas/error' '404': description: Error if application was not found content: application/json: schema: $ref: '#/components/schemas/error' security: - BearerAuth: [] /applications/{applicationId}/resource-jobs/{resourceJobId}: get: summary: Retrieves Information on Resource Job Executions tags: - Application parameters: - &id033 name: applicationId in: path description: ID associated with the application required: true example: 575ec8687ae143cd83dc4a97 schema: type: string pattern: ^[A-Fa-f\d]{24}$ - &id034 name: resourceJobId in: path description: ID associated with the resource job required: true example: 575ec8687ae143cd83dc4a97 schema: type: string pattern: ^[A-Fa-f\d]{24}$ - name: limit in: query description: Max log entries to return (ordered by time descending) required: false example: 10 schema: type: string default: 1 - name: since in: query description: Look for log entries since this time (ms since epoch) required: false example: 1465790400000 schema: type: string responses: '200': description: Resource job execution information content: application/json: schema: $ref: '#/components/schemas/resourceJobExecutionLogs' '400': description: Error if malformed request content: application/json: schema: $ref: '#/components/schemas/error' '404': description: Error if resource job was not found content: application/json: schema: $ref: '#/components/schemas/error' security: - BearerAuth: [] patch: summary: Update a Resource Job tags: - Application parameters: - *id033 - *id034 requestBody: description: The new resource job configuration required: true content: application/json: schema: $ref: '#/components/schemas/resourceJobPatch' responses: '201': description: Successfully updated resource job content: application/json: schema: $ref: '#/components/schemas/resourceJob' '400': description: Error if malformed request content: application/json: schema: $ref: '#/components/schemas/error' '404': description: Error if resource job was not found content: application/json: schema: $ref: '#/components/schemas/error' security: - BearerAuth: [] delete: summary: Deletes a Resource Job tags: - Application parameters: - *id033 - *id034 - name: includeWorkflows in: query description: If the workflows that trigger from this resource job should also be deleted. required: false example: true schema: type: string responses: '200': description: If resource job was successfully deleted content: application/json: schema: $ref: '#/components/schemas/success' '400': description: Error if malformed request content: application/json: schema: $ref: '#/components/schemas/error' '404': description: Error if resource job was not found content: application/json: schema: $ref: '#/components/schemas/error' security: - BearerAuth: [] post: summary: Marks a Specific Resource Job Execution for Cancellation tags: - Application parameters: - *id033 - *id034 - name: executionId in: query description: The ID of the execution to cancel required: true example: 632e18632f59592e773a4153 schema: pattern: ^[A-Fa-f\d]{24}$ responses: '200': description: If the execution was successfully marked for cancellation content: application/json: schema: $ref: '#/components/schemas/success' '400': description: Error if malformed request content: application/json: schema: $ref: '#/components/schemas/error' '404': description: Error if execution was not found content: application/json: schema: $ref: '#/components/schemas/error' security: - BearerAuth: [] /applications/{applicationId}/resource-jobs: get: summary: Returns the Resource Jobs for an Application tags: - Application parameters: - &id035 name: applicationId in: path description: ID associated with the application required: true example: 575ec8687ae143cd83dc4a97 schema: type: string pattern: ^[A-Fa-f\d]{24}$ - name: sortField in: query description: Field to sort the results by required: false example: name schema: type: string enum: - name - id - creationDate - lastUpdated - lastExecutionRequested - resourceType default: name - name: sortDirection in: query description: Direction to sort the results by required: false example: asc schema: type: string enum: - asc - desc default: asc - name: page in: query description: Which page of results to return required: false example: 0 schema: type: string default: 0 - name: perPage in: query description: How many items to return per page required: false example: 10 schema: type: string default: 100 - name: filterField in: query description: Field to filter the results by. Blank or not provided means no filtering. required: false example: device schema: type: string enum: - name - resourceType - name: filter in: query description: Filter to apply against the filtered field. Supports globbing. Blank or not provided means no filtering. required: false example: my*job schema: type: string responses: '200': description: Collection of resource jobs content: application/json: schema: $ref: '#/components/schemas/resourceJobs' '400': description: Error if malformed request content: application/json: schema: $ref: '#/components/schemas/error' '404': description: Error if application was not found content: application/json: schema: $ref: '#/components/schemas/error' security: - BearerAuth: [] post: summary: Create a New Resource Job for an Application tags: - Application parameters: - *id035 requestBody: description: New resource job information required: true content: application/json: schema: $ref: '#/components/schemas/resourceJobPost' responses: '201': description: Successfully created resource job content: application/json: schema: $ref: '#/components/schemas/resourceJob' '400': description: Error if malformed request content: application/json: schema: $ref: '#/components/schemas/error' '404': description: Error if application was not found content: application/json: schema: $ref: '#/components/schemas/error' security: - BearerAuth: [] /applications/{applicationId}/webhooks/{webhookId}: get: summary: Retrieves Information on a Webhook tags: - Application parameters: - &id036 name: applicationId in: path description: ID associated with the application required: true example: 575ec8687ae143cd83dc4a97 schema: type: string pattern: ^[A-Fa-f\d]{24}$ - &id037 name: webhookId in: path description: ID associated with the webhook required: true example: 575ed78e7ae143cd83dc4aab schema: type: string pattern: ^[A-Fa-f\d]{24}$ responses: '200': description: Webhook information content: application/json: schema: $ref: '#/components/schemas/webhook' '400': description: Error if malformed request content: application/json: schema: $ref: '#/components/schemas/error' '404': description: Error if webhook was not found content: application/json: schema: $ref: '#/components/schemas/error' security: - BearerAuth: [] patch: summary: Updates Information About a Webhook tags: - Application parameters: - *id036 - *id037 requestBody: description: Object containing new properties of the webhook required: true content: application/json: schema: $ref: '#/components/schemas/webhookPatch' responses: '200': description: Updated webhook information content: application/json: schema: $ref: '#/components/schemas/webhook' '400': description: Error if malformed request content: application/json: schema: $ref: '#/components/schemas/error' '404': description: Error if webhook was not found content: application/json: schema: $ref: '#/components/schemas/error' security: - BearerAuth: [] delete: summary: Deletes a Webhook tags: - Application parameters: - *id036 - *id037 - name: includeWorkflows in: query description: If the workflows that utilize this webhook should also be deleted. required: false example: true schema: type: string responses: '200': description: If webhook was successfully deleted content: application/json: schema: $ref: '#/components/schemas/success' '400': description: Error if malformed request content: application/json: schema: $ref: '#/components/schemas/error' '404': description: Error if webhook was not found content: application/json: schema: $ref: '#/components/schemas/error' security: - BearerAuth: [] /applications/{applicationId}/webhooks: get: summary: Returns the Webhooks for an Application tags: - Application parameters: - &id038 name: applicationId in: path description: ID associated with the application required: true example: 575ec8687ae143cd83dc4a97 schema: type: string pattern: ^[A-Fa-f\d]{24}$ - name: sortField in: query description: Field to sort the results by required: false example: name schema: type: string enum: - name - id - creationDate - lastUpdated default: name - name: sortDirection in: query description: Direction to sort the results by required: false example: asc schema: type: string enum: - asc - desc default: asc - name: page in: query description: Which page of results to return required: false example: 0 schema: type: string default: 0 - name: perPage in: query description: How many items to return per page required: false example: 10 schema: type: string default: 100 - name: filterField in: query description: Field to filter the results by. Blank or not provided means no filtering. required: false example: name schema: type: string enum: - name - name: filter in: query description: Filter to apply against the filtered field. Supports globbing. Blank or not provided means no filtering. required: false example: my*webhook schema: type: string responses: '200': description: Collection of webhooks content: application/json: schema: $ref: '#/components/schemas/webhooks' '400': description: Error if malformed request content: application/json: schema: $ref: '#/components/schemas/error' '404': description: Error if application was not found content: application/json: schema: $ref: '#/components/schemas/error' security: - BearerAuth: [] post: summary: Create a New Webhook for an Application tags: - Application parameters: - *id038 requestBody: description: New webhook information required: true content: application/json: schema: $ref: '#/components/schemas/webhookPost' responses: '201': description: Successfully created webhook content: application/json: schema: $ref: '#/components/schemas/webhook' '400': description: Error if malformed request content: application/json: schema: $ref: '#/components/schemas/error' '404': description: Error if application was not found content: application/json: schema: $ref: '#/components/schemas/error' security: - BearerAuth: [] components: securitySchemes: BearerAuth: type: http scheme: bearer bearerFormat: JWT description: Losant uses JSON Web Tokens (JWTs) for authentication. Obtain a token via POST /auth/user, POST /auth/device, POST /applications/{applicationId}/tokens, or POST /me/tokens and pass it in the Authorization header as `Bearer `. schemas: advancedEventQuery: title: Advanced Event Query description: Schema for advanced event queries type: object properties: $and: type: array items: $ref: '#/components/schemas/advancedEventQuery' maxItems: 100 $or: type: array items: $ref: '#/components/schemas/advancedEventQuery' maxItems: 100 $nor: type: array items: $ref: '#/components/schemas/advancedEventQuery' maxItems: 100 id: $ref: '#/components/schemas/common/advancedValueQuery' creationDate: $ref: '#/components/schemas/common/advancedValueQuery' lastUpdated: $ref: '#/components/schemas/common/advancedValueQuery' sourceId: $ref: '#/components/schemas/common/advancedValueQuery' sourceType: $ref: '#/components/schemas/common/advancedValueQuery' level: $ref: '#/components/schemas/common/advancedValueQuery' state: $ref: '#/components/schemas/common/advancedValueQuery' subject: $ref: '#/components/schemas/common/advancedValueQuery' deviceId: $ref: '#/components/schemas/common/advancedValueQuery' experienceUserId: $ref: '#/components/schemas/common/advancedIdQuery' experienceGroupId: $ref: '#/components/schemas/common/advancedIdQuery' eventTags: $ref: '#/components/schemas/common/advancedTagQueryWithOps' additionalProperties: false apiToken: title: API Token description: Schema for a single API Token type: object properties: id: $ref: '#/components/schemas/common/objectId' apiTokenId: $ref: '#/components/schemas/common/objectId' ownerId: $ref: '#/components/schemas/common/objectId' ownerType: type: string enum: - application - user creatorId: $ref: '#/components/schemas/common/objectId' creatorType: type: string enum: - apiToken - user - flow creatorName: $ref: '#/components/schemas/common/optMedStr' name: $ref: '#/components/schemas/common/name' description: $ref: '#/components/schemas/common/description' creationDate: $ref: '#/components/schemas/common/date' lastUpdated: $ref: '#/components/schemas/common/date' expirationDate: $ref: '#/components/schemas/common/date' scope: type: array items: $ref: '#/components/schemas/common/reqMedStr' status: type: string enum: - active - inactive token: $ref: '#/components/schemas/common/token' apiTokenPatch: title: API Token Patch description: Schema for the body of an API Token modification request type: object properties: name: $ref: '#/components/schemas/common/name' description: $ref: '#/components/schemas/common/description' status: $ref: '#/components/schemas/apiToken/properties/status' additionalProperties: false apiTokenPost: title: API Token Post description: Schema for the body of an API Token creation request type: object properties: name: $ref: '#/components/schemas/common/name' description: $ref: '#/components/schemas/common/description' expirationDate: $ref: '#/components/schemas/common/date' scope: type: array uniqueItems: true items: $ref: '#/components/schemas/common/userApiScope' status: $ref: '#/components/schemas/apiToken/properties/status' additionalProperties: false required: - name apiTokens: title: API Tokens description: Schema for a collection of API Tokens type: object properties: items: type: array items: $ref: '#/components/schemas/apiToken' count: type: integer totalCount: type: integer perPage: type: integer page: type: integer filter: type: string filterField: type: string sortField: type: string sortDirection: $ref: '#/components/schemas/common/sortDirection' ownerId: $ref: '#/components/schemas/common/objectId' ownerType: type: string enum: - application - user application: title: Application description: Schema for a single Application type: object properties: id: $ref: '#/components/schemas/common/objectId' applicationId: $ref: '#/components/schemas/common/objectId' creationDate: $ref: '#/components/schemas/common/date' lastUpdated: $ref: '#/components/schemas/common/date' appliedTemplateIds: $ref: '#/components/schemas/common/objectIds' ownerId: $ref: '#/components/schemas/common/objectId' ownerType: $ref: '#/components/schemas/common/ownerType' organizationName: $ref: '#/components/schemas/common/name' organizationIconColor: $ref: '#/components/schemas/common/color' name: $ref: '#/components/schemas/common/name' description: $ref: '#/components/schemas/common/shortString' endpointSlug: $ref: '#/components/schemas/common/slug' expUserTokenCutoff: $ref: '#/components/schemas/common/date' endpointDefaultCors: type: boolean globals: $ref: '#/components/schemas/common/applicationGlobals' blobUrlTTL: type: number minimum: 3600 maximum: 604800 summary: type: object properties: apiTokenCount: type: integer certificateCount: type: integer certificateAuthorityCount: type: integer credentialCount: type: integer dashCount: type: integer dataTableCount: type: integer deviceCount: type: integer deviceRecipeCount: type: integer eventCount: type: integer experienceDomainCount: type: integer experienceEndpointCount: type: integer experienceGroupCount: type: integer experienceSlugCount: type: integer experienceUserCount: type: integer experienceVersionCount: type: integer experienceViewCount: type: integer fileCount: type: integer flowCount: type: integer integrationCount: type: integer keyCount: type: integer notebookCount: type: integer privateFileCount: type: integer resourceJobCount: type: integer webhookCount: type: integer payloadCount: $ref: '#/components/schemas/payloadStats' storageStats: $ref: '#/components/schemas/common/storageStats' notebookStats: $ref: '#/components/schemas/common/notebookStats' ftueTracking: type: array items: type: object properties: name: $ref: '#/components/schemas/common/key' version: type: number status: type: string enum: - skipped - completed required: - name - version - status additionalProperties: false maxItems: 100 archiveConfig: type: object properties: directory: type: string maxLength: 255 mode: $ref: '#/components/schemas/common/filterType' deviceIds: $ref: '#/components/schemas/common/objectIds' deviceTags: $ref: '#/components/schemas/common/tagsOptional' includeDevices: type: boolean default: true includeEvents: type: boolean default: false includeDataTables: type: boolean default: false dataTablesMode: $ref: '#/components/schemas/common/filterType' dataTableIds: $ref: '#/components/schemas/common/objectIds' includeApplicationExport: type: boolean default: false applicationExportOptions: type: object properties: includeFiles: type: boolean default: false includePrivateFiles: type: boolean default: false includeDataTableRows: type: boolean default: false includeDevices: type: boolean default: false exportType: type: string enum: - repo default: repo credentialName: $ref: '#/components/schemas/common/name' repo: type: object properties: branch: type: string maxLength: 255 directory: type: string maxLength: 1024 commitMessage: type: string maxLength: 1024 required: - credentialName additionalProperties: false delayDays: type: integer minimum: 1 s3: type: object properties: bucket: type: string maxLength: 255 accessKeyId: type: string minLength: 4 maxLength: 128 secretAccessKey: type: string minLength: 4 maxLength: 128 region: type: string maxLength: 128 required: - bucket additionalProperties: false credentialName: $ref: '#/components/schemas/common/name' gcs: type: object properties: projectId: $ref: '#/components/schemas/common/reqMedStr' keyJson: type: string maxLength: 32767 minLength: 4 bucket: type: string maxLength: 255 required: - bucket additionalProperties: false azure: type: object properties: account: type: string minLength: 3 maxLength: 24 accountKey: type: string maxLength: 255 bucket: type: string minLength: 3 maxLength: 63 required: - bucket additionalProperties: false additionalProperties: false applicationApplyTemplatePatch: title: Application Apply Template Patch Schema description: Schema for the body of an application template import request type: object properties: templateId: $ref: '#/components/schemas/common/objectId' email: $ref: '#/components/schemas/common/email' callbackUrl: $ref: '#/components/schemas/common/url' required: - templateId additionalProperties: false applicationCertificate: title: Application Certificate description: Schema for a single Application Certificate type: object properties: id: $ref: '#/components/schemas/common/objectId' applicationCertificateId: $ref: '#/components/schemas/common/objectId' applicationId: $ref: '#/components/schemas/common/objectId' creationDate: $ref: '#/components/schemas/common/date' lastUpdated: $ref: '#/components/schemas/common/date' status: $ref: '#/components/schemas/common/status' description: $ref: '#/components/schemas/common/description' deviceIds: $ref: '#/components/schemas/common/objectIds' deviceTags: $ref: '#/components/schemas/common/tagsOptional' certificateInfo: $ref: '#/components/schemas/common/certificateInfo' certificate: $ref: '#/components/schemas/common/certificateString' filterType: $ref: '#/components/schemas/common/authFilterType' pubTopics: $ref: '#/components/schemas/common/authPubSubTopics' subTopics: $ref: '#/components/schemas/common/authPubSubTopics' applicationCertificateAuthorities: title: Application Certificate Authorities description: Schema for a collection of Application Certificate Authorities type: object properties: items: type: array items: $ref: '#/components/schemas/applicationCertificateAuthority' count: type: integer totalCount: type: integer perPage: type: integer page: type: integer filter: type: string filterField: type: string sortField: type: string sortDirection: $ref: '#/components/schemas/common/sortDirection' applicationId: $ref: '#/components/schemas/common/objectId' applicationCertificateAuthority: title: Application Certificate Authority description: Schema for a single Application Certificate Authority type: object properties: id: $ref: '#/components/schemas/common/objectId' applicationCertificateAuthorityId: $ref: '#/components/schemas/common/objectId' applicationId: $ref: '#/components/schemas/common/objectId' creationDate: $ref: '#/components/schemas/common/date' lastUpdated: $ref: '#/components/schemas/common/date' status: $ref: '#/components/schemas/common/status' name: $ref: '#/components/schemas/common/name' description: $ref: '#/components/schemas/common/description' caBundle: $ref: '#/components/schemas/common/certificateString' caInfo: type: array items: $ref: '#/components/schemas/common/certificateInfo' applicationCertificateAuthorityPatch: title: Application Certificate Authority Patch description: Schema for the body of an Application Certificate Authority modification request type: object properties: name: $ref: '#/components/schemas/common/name' status: $ref: '#/components/schemas/common/status' description: $ref: '#/components/schemas/common/description' caBundle: $ref: '#/components/schemas/common/certificateString' additionalProperties: false applicationCertificateAuthorityPost: title: Application Certificate Authority Post description: Schema for the body of an Application Certificate Authority creation request type: object properties: name: $ref: '#/components/schemas/common/name' status: $ref: '#/components/schemas/common/status' description: $ref: '#/components/schemas/common/description' caBundle: $ref: '#/components/schemas/common/certificateString' required: - name - caBundle additionalProperties: false applicationCertificatePatch: title: Application Certificate Patch description: Schema for the body of an Application Certificate modification request type: object properties: status: $ref: '#/components/schemas/common/status' description: $ref: '#/components/schemas/common/description' certificate: $ref: '#/components/schemas/common/certificateString' filterType: $ref: '#/components/schemas/common/authFilterType' pubTopics: $ref: '#/components/schemas/common/authPubSubTopics' subTopics: $ref: '#/components/schemas/common/authPubSubTopics' additionalProperties: false applicationCertificatePost: title: Application Certificate Post description: Schema for the body of an Application Certificate creation request type: object properties: status: $ref: '#/components/schemas/common/status' description: $ref: '#/components/schemas/common/description' deviceIds: $ref: '#/components/schemas/common/objectIds' deviceTags: $ref: '#/components/schemas/common/tagsOptional' certificate: $ref: '#/components/schemas/common/certificateString' filterType: $ref: '#/components/schemas/common/authFilterType' pubTopics: $ref: '#/components/schemas/common/authPubSubTopics' subTopics: $ref: '#/components/schemas/common/authPubSubTopics' required: - certificate additionalProperties: false applicationCertificates: title: Application Certificates description: Schema for a collection of Application Certificates type: object properties: items: type: array items: $ref: '#/components/schemas/applicationCertificate' count: type: integer totalCount: type: integer perPage: type: integer page: type: integer filter: type: string filterField: type: string sortField: type: string sortDirection: $ref: '#/components/schemas/common/sortDirection' applicationId: $ref: '#/components/schemas/common/objectId' applicationCloneDryRunResult: title: Success Dry Run description: Schema for reporting a successful dry run of clone application type: object properties: success: type: boolean enum: - true requiresJob: type: boolean applicationClonePost: title: Application Clone Post Schema description: Schema for the body of an application clone request type: object properties: dryRun: type: boolean default: false includeFiles: type: boolean default: false includePrivateFiles: type: boolean default: false includeDataTableRows: type: boolean default: false includeDevices: type: boolean default: false ownerId: $ref: '#/components/schemas/common/objectIdOrNull' ownerType: $ref: '#/components/schemas/common/ownerType' email: $ref: '#/components/schemas/common/email' callbackUrl: $ref: '#/components/schemas/common/url' forceJob: type: boolean default: false additionalProperties: false applicationCreationByTemplateResult: title: Application Creation By Template Result description: Schema for creating an application by template result type: object properties: application: $ref: '#/components/schemas/application' validationErrors: $ref: '#/components/schemas/validationErrors/properties/validationErrors' additionalProperties: false applicationDashboardPost: title: Application Dashboard Post description: Schema for the body of an Application scoped Dashboard creation request type: object properties: name: $ref: '#/components/schemas/common/name' blocks: $ref: '#/components/schemas/dashboard/properties/blocks' description: $ref: '#/components/schemas/common/description' refreshRate: $ref: '#/components/schemas/dashboard/properties/refreshRate' duration: $ref: '#/components/schemas/dashboard/properties/duration' resolution: $ref: '#/components/schemas/dashboard/properties/resolution' defaultTheme: $ref: '#/components/schemas/dashboard/properties/defaultTheme' reportConfigs: $ref: '#/components/schemas/dashboard/properties/reportConfigs' public: type: boolean password: type: - string - 'null' contextConfiguration: $ref: '#/components/schemas/dashboard/properties/contextConfiguration' additionalProperties: false required: - name applicationExportPost: title: Application Export Post Schema description: Schema for the body of an application export request type: object properties: includeFiles: type: boolean default: false includePrivateFiles: type: boolean default: false includeDataTableRows: type: boolean default: false includeDevices: type: boolean default: false email: $ref: '#/components/schemas/common/email' callbackUrl: $ref: '#/components/schemas/common/url' forceJob: type: boolean default: false exportType: type: string enum: - zip - repo default: zip credentialName: type: string maxLength: 255 repo: type: object properties: branch: type: string maxLength: 255 directory: type: string maxLength: 1024 commitMessage: type: string maxLength: 1024 additionalProperties: false applicationExportResult: title: Application Export Result description: Schema for an application export result type: object properties: url: type: string additionalProperties: false applicationGlobalPatch: title: Application Global Patch description: Schema for the body of an Application Global modification request type: array maxItems: 100 items: type: object properties: key: $ref: '#/components/schemas/common/key' json: type: - string - 'null' minLength: 1 maxLength: 32767 cloudOnly: type: boolean description: $ref: '#/components/schemas/common/shortString' additionalProperties: false required: - key applicationImportExecutions: title: Application Import Executions description: Schema for a list Application import executions type: array items: type: object properties: id: $ref: '#/components/schemas/common/objectId' importSourceType: type: string enum: - importBundle - importUrl - fromApplication - repository importExecutionId: $ref: '#/components/schemas/common/objectId' applicationId: $ref: '#/components/schemas/common/objectId' fromApplicationId: $ref: '#/components/schemas/common/objectId' runQueuedAt: $ref: '#/components/schemas/common/date' runStartedAt: $ref: '#/components/schemas/common/date' runCompletedAt: $ref: '#/components/schemas/common/date' status: type: string enum: - queued - inProgress - completed - errored - failed dryRun: type: boolean conflictBehavior: $ref: '#/components/schemas/importIntoApplicationOptions/properties/conflictBehavior' callbackUrl: $ref: '#/components/schemas/common/url' email: $ref: '#/components/schemas/common/email' include: $ref: '#/components/schemas/importIntoApplicationOptions/properties/include' jobId: $ref: '#/components/schemas/jobEnqueuedResult/properties/jobId' sourceId: $ref: '#/components/schemas/common/objectId' sourceType: $ref: '#/components/schemas/common/sourceType' error: type: object properties: name: type: string message: type: string dryRunResults: type: object properties: limitErrors: $ref: '#/components/schemas/importIntoApplicationOptions/properties/include' url: $ref: '#/components/schemas/common/url' validationErrors: $ref: '#/components/schemas/validationErrors/properties/validationErrors' importedFileUrl: $ref: '#/components/schemas/common/url' importUrl: $ref: '#/components/schemas/common/url' credentialName: type: string repo: type: object properties: branch: type: string maxLength: 255 directory: type: string maxLength: 1024 applicationJobLog: title: Application Job Log description: Schema for a single Application Job Log type: object properties: id: $ref: '#/components/schemas/common/objectId' jobId: $ref: '#/components/schemas/common/objectId' jobExecutionId: $ref: '#/components/schemas/common/objectId' name: type: string applicationId: $ref: '#/components/schemas/common/objectId' runQueuedAt: $ref: '#/components/schemas/common/date' runStartedAt: $ref: '#/components/schemas/common/date' runCompletedAt: $ref: '#/components/schemas/common/date' status: type: string enum: - queued - inProgress - completed - errored - failed requestedById: $ref: '#/components/schemas/common/objectId' requestedByType: type: string enum: - user - apiToken - flow - device - system ownerType: type: string enum: - application - user - organization ownerId: $ref: '#/components/schemas/common/objectId' resourceType: type: string enum: - application - dashboard - datatable - event - device - notebook - deviceRecipe resourceId: $ref: '#/components/schemas/common/objectId' progress: type: object properties: completed: type: number total: type: number status: type: string error: type: object properties: name: type: string message: type: string input: callbackUrl: $ref: '#/definitions/common/url' emails: type: array items: $ref: '#/definitions/common/email' start: type: number end: type: number gatewayId: $ref: '#/definitions/common/objectId' parentId: $ref: '#/definitions/common/objectId' query: type: string ownerId: $ref: '#/definitions/common/objectId' ownerType: type: string enum: - user - organization fileUrl: $ref: '#/definitions/common/url' templateContext: type: string output: downloadUrls: type: array items: $ref: '#/definitions/common/url' devicesDirectory: type: string eventsDirectory: type: string dataTablesDirectory: type: string created: type: number failed: type: number removed: type: number restored: type: number repoUrl: type: string commit: type: string noChanges: type: boolean applicationId: $ref: '#/definitions/common/objectId' validationErrors: $ref: '#/definitions/validationErrors/properties/validationErrors' skippedDeviceNotFound: type: number skippedDateTooOld: type: number skippedDateInFuture: type: number skippedInvalidDate: type: number skippedNoValidAttributes: type: number written: type: number eeaBundleVersion: type: string applicationJobLogs: title: Application Job Logs description: Schema for a collection of Application Job Logs type: object properties: items: type: array items: $ref: '#/components/schemas/applicationJobLog' count: type: integer totalCount: type: integer query: type: object perPage: type: integer page: type: integer sortField: type: string sortDirection: $ref: '#/components/schemas/common/sortDirection' applicationId: $ref: '#/components/schemas/common/objectId' applicationKey: title: Application Key description: Schema for a single Application Key type: object properties: id: $ref: '#/components/schemas/common/objectId' applicationKeyId: $ref: '#/components/schemas/common/objectId' applicationId: $ref: '#/components/schemas/common/objectId' creationDate: $ref: '#/components/schemas/common/date' createdById: $ref: '#/components/schemas/common/objectId' createdByType: $ref: '#/components/schemas/common/expSourceType' lastUpdated: $ref: '#/components/schemas/common/date' lastUpdatedById: $ref: '#/components/schemas/common/objectId' lastUpdatedByType: $ref: '#/components/schemas/common/expSourceType' key: type: string status: $ref: '#/components/schemas/common/status' deviceIds: $ref: '#/components/schemas/common/objectIds' deviceTags: $ref: '#/components/schemas/common/tagsOptional' name: $ref: '#/components/schemas/common/name' description: $ref: '#/components/schemas/common/description' filterType: $ref: '#/components/schemas/common/authFilterType' pubTopics: $ref: '#/components/schemas/common/authPubSubTopics' subTopics: $ref: '#/components/schemas/common/authPubSubTopics' addressFilterType: $ref: '#/components/schemas/common/filterType' addresses: type: array maxItems: 100 items: type: string maxLength: 48 applicationKeyPatch: title: Application Key Patch description: Schema for the body of an Application Key modification request type: object properties: status: $ref: '#/components/schemas/common/status' name: oneOf: - $ref: '#/components/schemas/common/name' - type: 'null' description: $ref: '#/components/schemas/common/description' filterType: $ref: '#/components/schemas/common/authFilterType' pubTopics: $ref: '#/components/schemas/common/authPubSubTopics' subTopics: $ref: '#/components/schemas/common/authPubSubTopics' addressFilterType: $ref: '#/components/schemas/common/filterType' addresses: $ref: '#/components/schemas/applicationKey/properties/addresses' additionalProperties: false applicationKeyPost: title: Application Key Post description: Schema for the body of an Application Key creation request type: object properties: deviceIds: $ref: '#/components/schemas/common/objectIds' deviceTags: $ref: '#/components/schemas/common/tagsOptional' name: $ref: '#/components/schemas/common/name' description: $ref: '#/components/schemas/common/description' filterType: $ref: '#/components/schemas/common/authFilterType' pubTopics: $ref: '#/components/schemas/common/authPubSubTopics' subTopics: $ref: '#/components/schemas/common/authPubSubTopics' addressFilterType: $ref: '#/components/schemas/common/filterType' addresses: $ref: '#/components/schemas/applicationKey/properties/addresses' additionalProperties: false applicationKeyPostResponse: title: Application Key Post Response description: Schema for a response of Application Key creation type: object properties: id: $ref: '#/components/schemas/common/objectId' applicationKeyId: $ref: '#/components/schemas/common/objectId' applicationId: $ref: '#/components/schemas/common/objectId' creationDate: $ref: '#/components/schemas/common/date' createdById: $ref: '#/components/schemas/common/objectId' createdByType: $ref: '#/components/schemas/common/expSourceType' lastUpdated: $ref: '#/components/schemas/common/date' lastUpdatedById: $ref: '#/components/schemas/common/objectId' lastUpdatedByType: $ref: '#/components/schemas/common/expSourceType' key: type: string status: $ref: '#/components/schemas/common/status' secret: type: string deviceIds: $ref: '#/components/schemas/common/objectIds' deviceTags: $ref: '#/components/schemas/common/tagsOptional' name: $ref: '#/components/schemas/common/name' description: $ref: '#/components/schemas/common/description' filterType: $ref: '#/components/schemas/common/authFilterType' pubTopics: $ref: '#/components/schemas/common/authPubSubTopics' subTopics: $ref: '#/components/schemas/common/authPubSubTopics' addressFilterType: $ref: '#/components/schemas/common/filterType' addresses: $ref: '#/components/schemas/applicationKey/properties/addresses' applicationKeys: title: Application Keys description: Schema for a collection of Application Keys type: object properties: items: type: array items: $ref: '#/components/schemas/applicationKey' count: type: integer totalCount: type: integer perPage: type: integer page: type: integer filter: type: string filterField: type: string sortField: type: string sortDirection: $ref: '#/components/schemas/common/sortDirection' applicationId: $ref: '#/components/schemas/common/objectId' applicationPatch: title: Application Patch description: Schema for the body of an Application modification request type: object properties: name: $ref: '#/components/schemas/common/name' description: $ref: '#/components/schemas/common/shortString' endpointSlug: $ref: '#/components/schemas/common/slug' expUserTokenCutoff: $ref: '#/components/schemas/common/date' endpointDefaultCors: type: boolean globals: $ref: '#/components/schemas/common/applicationGlobals' ftueTracking: $ref: '#/components/schemas/application/properties/ftueTracking' archiveConfig: oneOf: - $ref: '#/components/schemas/application/properties/archiveConfig' - type: 'null' blobUrlTTL: $ref: '#/components/schemas/application/properties/blobUrlTTL' additionalProperties: false applicationPost: title: Application Post description: Schema for the body of an Application creation request type: object properties: orgId: $ref: '#/components/schemas/common/objectId' applicationTemplateId: $ref: '#/components/schemas/common/objectId' name: $ref: '#/components/schemas/common/name' description: $ref: '#/components/schemas/common/shortString' appliedTemplateIds: $ref: '#/components/schemas/common/objectIds' endpointSlug: $ref: '#/components/schemas/common/slug' expUserTokenCutoff: $ref: '#/components/schemas/common/date' endpointDefaultCors: type: boolean globals: $ref: '#/components/schemas/common/applicationGlobals' archiveConfig: $ref: '#/components/schemas/application/properties/archiveConfig' blobUrlTTL: $ref: '#/components/schemas/application/properties/blobUrlTTL' additionalProperties: false required: - name applicationReadme: title: Application Readme description: Schema for an Application Readme type: object properties: applicationId: $ref: '#/components/schemas/common/objectId' lastUpdated: $ref: '#/components/schemas/common/date' lastUpdatedById: $ref: '#/components/schemas/common/objectId' lastUpdatedByType: $ref: '#/components/schemas/common/expSourceType' content: type: string applicationReadmePatch: title: Application Readme Patch description: Schema for the body of an Application Readme modification request type: object properties: content: type: string maxLength: 131072 additionalProperties: false applicationSearchResult: title: Application Search Result description: Results of a search of an application's resources type: array items: type: object properties: id: $ref: '#/components/schemas/common/objectId' name: type: string metadata: type: object properties: descriptor: type: string parentDirectory: type: string contentType: type: string version: type: string viewType: $ref: '#/components/schemas/experienceView/properties/viewType' flowClass: $ref: '#/components/schemas/common/deviceClass' deviceClass: $ref: '#/components/schemas/flow/properties/flowClass' _type: type: string enum: - applicationApiToken - credential - dashboard - dataTable - deviceRecipe - device - experienceDomain - event - experienceEndpoint - experienceGroup - experienceSlug - experienceUser - experienceVersion - experienceView - file - flow - integration - notebook - resourceJob - webhook required: - id - name - _type applicationTemplate: title: Application Template description: Schema for a single Application Template type: object properties: id: $ref: '#/components/schemas/common/objectId' templateId: $ref: '#/components/schemas/common/objectId' creationDate: $ref: '#/components/schemas/common/date' lastUpdated: $ref: '#/components/schemas/common/date' name: $ref: '#/components/schemas/common/name' readme: type: string maxLength: 131072 categoryIds: $ref: '#/components/schemas/common/objectIds' keywords: $ref: '#/components/schemas/common/keys' description: $ref: '#/components/schemas/common/shortString' public: type: boolean authorName: type: string maxLength: 255 imageUrl: $ref: '#/components/schemas/common/shortString' authorUrl: $ref: '#/components/schemas/common/shortString' templateUrl: $ref: '#/components/schemas/common/shortString' summary: type: object properties: applicationCertificateAuthorityCount: type: integer dashboardCount: type: integer deviceCount: type: integer deviceRecipeCount: type: integer dataTableCount: type: integer experienceGroupCount: type: integer experienceUserCount: type: integer experienceVersionCount: type: integer experienceViewCount: type: integer experienceEndpointCount: type: integer fileCount: type: integer flowCount: type: integer integrationCount: type: integer notebookCount: type: integer privateFileCount: type: integer resourceJobCount: type: integer dataTableCsvSize: type: integer webhookCount: type: integer applicationTemplateCategories: title: Application Template Categories description: Schema for a collection of Application Template Categories type: object properties: items: type: array items: $ref: '#/components/schemas/applicationTemplateCategory' baseId: $ref: '#/components/schemas/common/objectId' count: type: integer totalCount: type: integer applicationTemplateCategory: title: Application Template Category description: Schema for a single Application Template Category type: object properties: id: $ref: '#/components/schemas/common/objectId' parentId: $ref: '#/components/schemas/common/objectId' name: $ref: '#/components/schemas/common/name' description: $ref: '#/components/schemas/common/description' resourceTypes: type: array items: type: string enum: - DeviceRecipe - CustomNode maxItems: 100 applicationTemplates: title: Application Templates description: Schema for a collection of Application Templates type: object properties: items: type: array items: $ref: '#/components/schemas/applicationTemplate' count: type: integer totalCount: type: integer perPage: type: integer page: type: integer filter: type: string filterField: type: string categoryId: $ref: '#/components/schemas/common/objectId' keywords: $ref: '#/components/schemas/common/keys' sortField: type: string sortDirection: $ref: '#/components/schemas/common/sortDirection' applications: title: Applications description: Schema for a collection of Applications type: object properties: items: type: array items: $ref: '#/components/schemas/application' count: type: integer totalCount: type: integer perPage: type: integer page: type: integer filter: type: string filterField: type: string sortField: type: string sortDirection: $ref: '#/components/schemas/common/sortDirection' auditLog: title: Audit Log description: Schema for a single Audit Log entry type: object properties: id: $ref: '#/components/schemas/common/objectId' auditLogId: $ref: '#/components/schemas/common/objectId' creationDate: $ref: '#/components/schemas/common/date' orgId: $ref: '#/components/schemas/common/objectId' primaryTargetId: $ref: '#/components/schemas/common/objectId' primaryTargetType: type: string enum: - Application - Dashboard - OrgInvite primaryTargetName: $ref: '#/components/schemas/common/optMedStr' secondaryTargetId: $ref: '#/components/schemas/common/objectId' secondaryTargetType: type: string enum: - ApiToken - ApplicationCertificateAuthority - ApplicationCertificate - ApplicationKey - Credential - Dashboard - DataTable - Device - DeviceRecipe - Event - ExperienceDomain - ExperienceEndpoint - ExperienceGroup - ExperienceSlug - ExperienceUser - ExperienceVersion - ExperienceView - File - Flow - Integration - Notebook - PrivateFile - ResourceJob - Webhook secondaryTargetName: $ref: '#/components/schemas/common/optMedStr' actorId: $ref: '#/components/schemas/common/objectId' actorType: type: string enum: - Application - Device - Flow - User - ApiToken actorName: $ref: '#/components/schemas/common/optMedStr' requestResource: $ref: '#/components/schemas/common/optMedStr' requestAction: $ref: '#/components/schemas/common/optMedStr' requestQueryParams: type: object requestBody: type: object requestPathParams: type: object responseBody: type: object responseStatus: $ref: '#/components/schemas/common/responseCode' auditLogs: title: Audit Logs description: Schema for a collection of Audit Logs type: object properties: items: type: array items: $ref: '#/components/schemas/auditLog' count: type: integer totalCount: type: integer perPage: type: integer page: type: integer sortField: type: string sortDirection: $ref: '#/components/schemas/common/sortDirection' orgId: $ref: '#/components/schemas/common/objectId' credential: title: Credential description: Schema for a single Credential type: object properties: id: $ref: '#/components/schemas/common/objectId' applicationId: $ref: '#/components/schemas/common/objectId' creationDate: $ref: '#/components/schemas/common/date' lastUpdated: $ref: '#/components/schemas/common/date' createdById: $ref: '#/components/schemas/common/objectId' createdByType: $ref: '#/components/schemas/common/expSourceType' lastUpdatedById: $ref: '#/components/schemas/common/objectId' lastUpdatedByType: $ref: '#/components/schemas/common/expSourceType' name: $ref: '#/components/schemas/common/name' description: $ref: '#/components/schemas/common/description' enabled: type: boolean type: type: string enum: - aws - azure - gcp - http - sendgrid - twilio - loggly - jwt - whatsapp - sql - mongodb - mailgun - snowflake - git - datadog - certificateKeyPair awsConfig: type: object properties: accessKeyId: type: string minLength: 16 maxLength: 128 region: type: string minLength: 1 maxLength: 128 additionalProperties: false required: - accessKeyId - region azureConfig: type: object properties: account: type: string maxLength: 128 additionalProperties: false gcpConfig: type: object properties: keyMetaJson: type: string minLength: 1 maxLength: 8192 additionalProperties: false required: - keyMetaJson httpConfig: type: object properties: uriMatch: type: string minLength: 8 maxLength: 1024 authMethod: type: string enum: - header - queryParam - basicAuth - clientCertificate publicValue: type: string maxLength: 8196 additionalProperties: false required: - uriMatch - authMethod - publicValue sendgridConfig: type: object properties: {} additionalProperties: false twilioConfig: type: object properties: accountSid: type: string minLength: 4 maxLength: 128 apiKeySid: type: string minLength: 4 maxLength: 128 additionalProperties: false required: - accountSid - apiKeySid logglyConfig: type: object properties: {} additionalProperties: false jwtConfig: type: object properties: issuer: type: string maxLength: 1024 algorithm: type: string enum: - HS256 - HS384 - HS512 - RS256 - RS384 - RS512 - ES256 - ES384 - ES512 additionalProperties: false required: - algorithm whatsappConfig: type: object properties: fromNumberId: type: string minLength: 1 maxLength: 128 additionalProperties: false required: - fromNumberId sqlConfig: type: object properties: system: type: string enum: - mssql - mysql - pg host: type: string minLength: 1 maxLength: 256 port: type: integer minimum: 1 maximum: 65535 username: type: string minLength: 1 maxLength: 256 secureConnection: type: boolean caCertificate: type: string maxLength: 8196 disableSSLVerification: type: boolean additionalProperties: false required: - system - host - username mongodbConfig: type: object properties: {} additionalProperties: false mailgunConfig: type: object properties: {} additionalProperties: false snowflakeConfig: type: object properties: host: type: string minLength: 1 maxLength: 128 username: type: string minLength: 1 maxLength: 128 publicKey: type: string minLength: 1 maxLength: 8192 required: - host - username - publicKey additionalProperties: false gitConfig: type: object properties: type: type: string enum: - ssh-key - http-password cloneUrl: type: string minLength: 5 maxLength: 1024 publicKey: type: string maxLength: 8192 username: type: string maxLength: 128 committerName: type: string maxLength: 128 committerEmail: type: string maxLength: 128 required: - type - cloneUrl additionalProperties: false datadogConfig: type: object properties: site: type: string minLength: 1 maxLength: 128 additionalProperties: false certificateKeyPairConfig: type: object properties: certificate: type: string maxLength: 8192 info: $ref: '#/components/schemas/common/certificateInfo' additionalProperties: false additionalProperties: false required: - name - type credentialLinkedResources: title: Credential Linked Resources description: The body of an credential linked resources response type: object properties: integrations: $ref: '#/components/schemas/integrations' flows: $ref: '#/components/schemas/flows' flowVersions: $ref: '#/components/schemas/flowVersions' additionalProperties: false credentialPatch: title: Credential Patch description: Schema for a Credential update request type: object properties: name: $ref: '#/components/schemas/common/name' description: $ref: '#/components/schemas/common/description' enabled: type: boolean awsConfig: type: object properties: accessKeyId: $ref: '#/components/schemas/credentialPost/properties/awsConfig/properties/accessKeyId' secretAccessKey: $ref: '#/components/schemas/credentialPost/properties/awsConfig/properties/secretAccessKey' region: $ref: '#/components/schemas/credentialPost/properties/awsConfig/properties/region' additionalProperties: false azureConfig: type: object properties: account: $ref: '#/components/schemas/credentialPost/properties/azureConfig/properties/account' accountKey: $ref: '#/components/schemas/credentialPost/properties/azureConfig/properties/accountKey' additionalProperties: false gcpConfig: type: object properties: keyJson: $ref: '#/components/schemas/credentialPost/properties/gcpConfig/properties/keyJson' additionalProperties: false httpConfig: type: object properties: uriMatch: $ref: '#/components/schemas/credentialPost/properties/httpConfig/properties/uriMatch' authMethod: $ref: '#/components/schemas/credentialPost/properties/httpConfig/properties/authMethod' publicValue: $ref: '#/components/schemas/credentialPost/properties/httpConfig/properties/publicValue' secretValue: $ref: '#/components/schemas/credentialPost/properties/httpConfig/properties/secretValue' additionalProperties: false sendgridConfig: type: object properties: apiKey: $ref: '#/components/schemas/credentialPost/properties/sendgridConfig/properties/apiKey' additionalProperties: false twilioConfig: type: object properties: accountSid: $ref: '#/components/schemas/credentialPost/properties/twilioConfig/properties/accountSid' apiKeySid: $ref: '#/components/schemas/credentialPost/properties/twilioConfig/properties/apiKeySid' apiKeySecret: $ref: '#/components/schemas/credentialPost/properties/twilioConfig/properties/apiKeySecret' additionalProperties: false logglyConfig: type: object properties: customerToken: $ref: '#/components/schemas/credentialPost/properties/logglyConfig/properties/customerToken' additionalProperties: false jwtConfig: type: object properties: issuer: $ref: '#/components/schemas/credentialPost/properties/jwtConfig/properties/issuer' algorithm: $ref: '#/components/schemas/credentialPost/properties/jwtConfig/properties/algorithm' secret: $ref: '#/components/schemas/credentialPost/properties/jwtConfig/properties/secret' additionalProperties: false whatsappConfig: type: object properties: accessToken: $ref: '#/components/schemas/credentialPost/properties/whatsappConfig/properties/accessToken' fromNumberId: $ref: '#/components/schemas/credentialPost/properties/whatsappConfig/properties/fromNumberId' additionalProperties: false sqlConfig: type: object properties: system: $ref: '#/components/schemas/credentialPost/properties/sqlConfig/properties/system' host: $ref: '#/components/schemas/credentialPost/properties/sqlConfig/properties/host' port: $ref: '#/components/schemas/credentialPost/properties/sqlConfig/properties/port' username: $ref: '#/components/schemas/credentialPost/properties/sqlConfig/properties/username' password: $ref: '#/components/schemas/credentialPost/properties/sqlConfig/properties/password' secureConnection: $ref: '#/components/schemas/credentialPost/properties/sqlConfig/properties/secureConnection' caCertificate: $ref: '#/components/schemas/credentialPost/properties/sqlConfig/properties/caCertificate' disableSSLVerification: $ref: '#/components/schemas/credentialPost/properties/sqlConfig/properties/disableSSLVerification' additionalProperties: false mongodbConfig: type: object properties: connectionUri: $ref: '#/components/schemas/credentialPost/properties/mongodbConfig/properties/connectionUri' additionalProperties: false mailgunConfig: type: object properties: apiKey: $ref: '#/components/schemas/credentialPost/properties/mailgunConfig/properties/apiKey' additionalProperties: false snowflakeConfig: type: object properties: host: $ref: '#/components/schemas/credentialPost/properties/snowflakeConfig/properties/host' username: $ref: '#/components/schemas/credentialPost/properties/snowflakeConfig/properties/username' privateKey: $ref: '#/components/schemas/credentialPost/properties/snowflakeConfig/properties/privateKey' generatePrivateKey: $ref: '#/components/schemas/credentialPost/properties/snowflakeConfig/properties/generatePrivateKey' additionalProperties: false gitConfig: type: object properties: type: $ref: '#/components/schemas/credential/properties/gitConfig/properties/type' cloneUrl: $ref: '#/components/schemas/credential/properties/gitConfig/properties/cloneUrl' username: $ref: '#/components/schemas/credential/properties/gitConfig/properties/username' committerName: $ref: '#/components/schemas/credential/properties/gitConfig/properties/committerName' committerEmail: $ref: '#/components/schemas/credential/properties/gitConfig/properties/committerEmail' generatePrivateKey: $ref: '#/components/schemas/credentialPost/properties/gitConfig/properties/generatePrivateKey' secretValue: $ref: '#/components/schemas/credentialPost/properties/gitConfig/properties/secretValue' additionalProperties: false datadogConfig: type: object properties: secretValue: $ref: '#/components/schemas/credentialPost/properties/datadogConfig/properties/secretValue' site: $ref: '#/components/schemas/credentialPost/properties/datadogConfig/properties/site' additionalProperties: false certificateKeyPairConfig: type: object properties: certificate: $ref: '#/components/schemas/credential/properties/certificateKeyPairConfig/properties/certificate' privateKey: $ref: '#/components/schemas/credentialPost/properties/certificateKeyPairConfig/properties/privateKey' additionalProperties: false additionalProperties: false credentialPost: title: Credential Post description: Schema for a Credential creation request type: object properties: name: $ref: '#/components/schemas/common/name' description: $ref: '#/components/schemas/common/description' enabled: type: boolean type: $ref: '#/components/schemas/credential/properties/type' awsConfig: type: object properties: accessKeyId: $ref: '#/components/schemas/credential/properties/awsConfig/properties/accessKeyId' secretAccessKey: type: string minLength: 4 maxLength: 128 region: $ref: '#/components/schemas/credential/properties/awsConfig/properties/region' additionalProperties: false required: - accessKeyId - secretAccessKey - region azureConfig: type: object properties: account: $ref: '#/components/schemas/credential/properties/azureConfig/properties/account' accountKey: type: string minLength: 4 maxLength: 128 additionalProperties: false required: - accountKey gcpConfig: type: object properties: keyJson: $ref: '#/components/schemas/credential/properties/gcpConfig/properties/keyMetaJson' additionalProperties: false required: - keyJson httpConfig: type: object properties: uriMatch: $ref: '#/components/schemas/credential/properties/httpConfig/properties/uriMatch' authMethod: $ref: '#/components/schemas/credential/properties/httpConfig/properties/authMethod' publicValue: $ref: '#/components/schemas/credential/properties/httpConfig/properties/publicValue' secretValue: type: string maxLength: 8196 additionalProperties: false required: - uriMatch - authMethod - secretValue sendgridConfig: type: object properties: apiKey: type: string minLength: 4 maxLength: 128 additionalProperties: false required: - apiKey twilioConfig: type: object properties: accountSid: $ref: '#/components/schemas/credential/properties/twilioConfig/properties/accountSid' apiKeySid: $ref: '#/components/schemas/credential/properties/twilioConfig/properties/apiKeySid' apiKeySecret: type: string minLength: 4 maxLength: 128 additionalProperties: false required: - accountSid - apiKeySid - apiKeySecret logglyConfig: type: object properties: customerToken: type: string minLength: 1 maxLength: 128 additionalProperties: false required: - customerToken jwtConfig: type: object properties: issuer: $ref: '#/components/schemas/credential/properties/jwtConfig/properties/issuer' algorithm: $ref: '#/components/schemas/credential/properties/jwtConfig/properties/algorithm' secret: type: string minLength: 1 maxLength: 4096 additionalProperties: false required: - algorithm - secret whatsappConfig: type: object properties: accessToken: type: string minLength: 1 maxLength: 1024 fromNumberId: $ref: '#/components/schemas/credential/properties/whatsappConfig/properties/fromNumberId' additionalProperties: false required: - accessToken - fromNumberId sqlConfig: type: object properties: system: $ref: '#/components/schemas/credential/properties/sqlConfig/properties/system' host: $ref: '#/components/schemas/credential/properties/sqlConfig/properties/host' port: oneOf: - $ref: '#/components/schemas/credential/properties/sqlConfig/properties/port' - type: 'null' username: $ref: '#/components/schemas/credential/properties/sqlConfig/properties/username' password: type: string minLength: 1 maxLength: 256 secureConnection: $ref: '#/components/schemas/credential/properties/sqlConfig/properties/secureConnection' caCertificate: $ref: '#/components/schemas/credential/properties/sqlConfig/properties/caCertificate' disableSSLVerification: $ref: '#/components/schemas/credential/properties/sqlConfig/properties/disableSSLVerification' additionalProperties: false required: - system - host - username - password mongodbConfig: type: object properties: connectionUri: type: string minLength: 1 maxLength: 2048 additionalProperties: false required: - connectionUri mailgunConfig: type: object properties: apiKey: type: string minLength: 4 maxLength: 128 additionalProperties: false required: - apiKey snowflakeConfig: type: object properties: host: $ref: '#/components/schemas/credential/properties/snowflakeConfig/properties/host' username: $ref: '#/components/schemas/credential/properties/snowflakeConfig/properties/username' privateKey: type: string maxLength: 8196 generatePrivateKey: type: boolean additionalProperties: false anyOf: - required: - host - username - privateKey - required: - host - username - generatePrivateKey gitConfig: type: object properties: type: $ref: '#/components/schemas/credential/properties/gitConfig/properties/type' cloneUrl: $ref: '#/components/schemas/credential/properties/gitConfig/properties/cloneUrl' username: $ref: '#/components/schemas/credential/properties/gitConfig/properties/username' committerName: $ref: '#/components/schemas/credential/properties/gitConfig/properties/committerName' committerEmail: $ref: '#/components/schemas/credential/properties/gitConfig/properties/committerEmail' generatePrivateKey: type: boolean secretValue: type: string maxLength: 8196 additionalProperties: false anyOf: - required: - type - cloneUrl - generatePrivateKey - required: - type - cloneUrl datadogConfig: type: object properties: secretValue: type: string maxLength: 256 site: $ref: '#/components/schemas/credential/properties/datadogConfig/properties/site' additionalProperties: false required: - secretValue certificateKeyPairConfig: type: object properties: certificate: $ref: '#/components/schemas/credential/properties/certificateKeyPairConfig/properties/certificate' privateKey: type: string maxLength: 8196 additionalProperties: false required: - certificate - privateKey additionalProperties: false required: - name - type credentials: title: Credentials description: Schema for a collection of Credentials type: object properties: items: type: array items: $ref: '#/components/schemas/credential' count: type: integer totalCount: type: integer perPage: type: integer page: type: integer filter: type: string filterField: type: string sortField: type: string sortDirection: $ref: '#/components/schemas/common/sortDirection' applicationId: $ref: '#/components/schemas/common/objectId' dashboard: title: Dashboard description: Schema for a single Dashboard type: object properties: id: $ref: '#/components/schemas/common/objectId' dashboardId: $ref: '#/components/schemas/common/objectId' creationDate: $ref: '#/components/schemas/common/date' lastUpdated: $ref: '#/components/schemas/common/date' ownerId: $ref: '#/components/schemas/common/objectId' ownerType: $ref: '#/components/schemas/common/ownerType' createdById: $ref: '#/components/schemas/common/objectId' createdByType: $ref: '#/components/schemas/common/expSourceType' lastUpdatedById: $ref: '#/components/schemas/common/objectId' lastUpdatedByType: $ref: '#/components/schemas/common/expSourceType' organizationName: $ref: '#/components/schemas/common/name' organizationIconColor: $ref: '#/components/schemas/common/color' applicationId: $ref: '#/components/schemas/common/objectId' applicationName: $ref: '#/components/schemas/common/name' name: $ref: '#/components/schemas/common/name' description: $ref: '#/components/schemas/common/description' refreshRate: type: number minimum: 5 maximum: 600 duration: type: integer minimum: 1 resolution: type: integer minimum: 1 defaultTheme: type: string enum: - dark - light isPasswordProtected: type: boolean public: type: boolean reportConfigs: type: array maxItems: 10 items: type: object properties: id: type: string maxLength: 48 cron: type: string maxLength: 255 toEmail: type: array minItems: 1 maxItems: 10 items: $ref: '#/components/schemas/common/email' callbackUrl: $ref: '#/components/schemas/common/url' subject: type: string maxLength: 255 message: $ref: '#/components/schemas/common/description' theme: type: string enum: - dark - light timezone: type: string maxLength: 255 locale: type: string maxLength: 5 ctx: $ref: '#/components/schemas/dashboardContextInstance' branded: type: boolean additionalProperties: false anyOf: - required: - cron - toEmail - required: - cron - callbackUrl blocks: type: array items: oneOf: - $ref: '#/components/schemas/common/blocks/applicationList' - $ref: '#/components/schemas/common/blocks/bar' - $ref: '#/components/schemas/common/blocks/customBlock' - $ref: '#/components/schemas/common/blocks/dashboardList' - $ref: '#/components/schemas/common/blocks/dataTable' - $ref: '#/components/schemas/common/blocks/deviceCount' - $ref: '#/components/schemas/common/blocks/deviceList' - $ref: '#/components/schemas/common/blocks/deviceLog' - $ref: '#/components/schemas/common/blocks/deviceStateTable' - $ref: '#/components/schemas/common/blocks/eventList' - $ref: '#/components/schemas/common/blocks/gauge' - $ref: '#/components/schemas/common/blocks/graph' - $ref: '#/components/schemas/common/blocks/heatmap' - $ref: '#/components/schemas/common/blocks/iframe' - $ref: '#/components/schemas/common/blocks/image' - $ref: '#/components/schemas/common/blocks/imageOverlay' - $ref: '#/components/schemas/common/blocks/indicator' - $ref: '#/components/schemas/common/blocks/input' - $ref: '#/components/schemas/common/blocks/map' - $ref: '#/components/schemas/common/blocks/openEventIndicator' - $ref: '#/components/schemas/common/blocks/pie' - $ref: '#/components/schemas/common/blocks/positionChart' - $ref: '#/components/schemas/common/blocks/sectionHeader' - $ref: '#/components/schemas/common/blocks/workflowList' contextConfiguration: type: array items: oneOf: - type: object properties: name: $ref: '#/components/schemas/common/key' type: type: string enum: - deviceAttribute applicationId: $ref: '#/components/schemas/common/objectId' defaultValue: type: string maxLength: 32767 validationEnabled: type: boolean validationConfig: type: object properties: attributes: type: array items: $ref: '#/components/schemas/common/key' maxItems: 100 additionalProperties: false required: - name - type - defaultValue additionalProperties: false - type: object properties: name: $ref: '#/components/schemas/common/key' type: type: string enum: - deviceId applicationId: $ref: '#/components/schemas/common/objectId' defaultValue: type: string maxLength: 32767 validationEnabled: type: boolean validationConfig: type: object properties: deviceIds: $ref: '#/components/schemas/common/objectIds' deviceTags: $ref: '#/components/schemas/common/tagsOptional' query: $ref: '#/components/schemas/common/queryJsonOrNull' includeFullDevice: type: boolean additionalProperties: false required: - name - type - defaultValue additionalProperties: false - type: object properties: name: $ref: '#/components/schemas/common/key' type: type: string enum: - deviceTag applicationId: $ref: '#/components/schemas/common/objectId' defaultValue: $ref: '#/components/schemas/common/tagOptional' validationEnabled: type: boolean validationConfig: type: object properties: deviceTags: $ref: '#/components/schemas/common/tagsOptional' additionalProperties: false required: - name - type - defaultValue additionalProperties: false - type: object properties: name: $ref: '#/components/schemas/common/key' type: type: string enum: - number applicationId: $ref: '#/components/schemas/common/objectId' defaultValue: type: - number - string validationEnabled: type: boolean validationConfig: type: object properties: min: type: number max: type: number additionalProperties: false required: - name - type - defaultValue additionalProperties: false - type: object properties: name: $ref: '#/components/schemas/common/key' type: type: string enum: - string applicationId: $ref: '#/components/schemas/common/objectId' defaultValue: type: string maxLength: 32767 validationEnabled: type: boolean validationConfig: type: object properties: regExp: $ref: '#/components/schemas/common/optMedStr' additionalProperties: false required: - name - type - defaultValue additionalProperties: false - type: object properties: name: $ref: '#/components/schemas/common/key' type: type: string enum: - experienceUser applicationId: $ref: '#/components/schemas/common/objectId' defaultValue: type: string maxLength: 32767 validationEnabled: type: boolean validationConfig: type: object properties: experienceGroupIds: $ref: '#/components/schemas/common/objectIds' additionalProperties: false required: - name - type - defaultValue additionalProperties: false maxItems: 100 dashboardContextInstance: title: Dashboard Context Instance description: Schema for a dashboard context instance type: object patternProperties: ^[0-9a-zA-Z_-]{1,255}$: $ref: '#/components/schemas/common/contextVariableValue' additionalProperties: false dashboardPatch: title: Dashboard Patch description: Schema for the body of a Dashboard modification request type: object properties: name: $ref: '#/components/schemas/common/name' blocks: $ref: '#/components/schemas/dashboard/properties/blocks' reportConfigs: $ref: '#/components/schemas/dashboard/properties/reportConfigs' description: $ref: '#/components/schemas/common/description' refreshRate: $ref: '#/components/schemas/dashboard/properties/refreshRate' duration: $ref: '#/components/schemas/dashboard/properties/duration' resolution: $ref: '#/components/schemas/dashboard/properties/resolution' defaultTheme: $ref: '#/components/schemas/dashboard/properties/defaultTheme' public: type: boolean password: $ref: '#/components/schemas/dashboardPost/properties/password' contextConfiguration: $ref: '#/components/schemas/dashboard/properties/contextConfiguration' additionalProperties: false dashboardPost: title: Dashboard Post description: Schema for the body of a Dashboard creation request type: object properties: orgId: $ref: '#/components/schemas/common/objectId' applicationId: $ref: '#/components/schemas/common/objectId' name: $ref: '#/components/schemas/common/name' blocks: $ref: '#/components/schemas/dashboard/properties/blocks' description: $ref: '#/components/schemas/common/description' refreshRate: $ref: '#/components/schemas/dashboard/properties/refreshRate' duration: $ref: '#/components/schemas/dashboard/properties/duration' resolution: $ref: '#/components/schemas/dashboard/properties/resolution' defaultTheme: $ref: '#/components/schemas/dashboard/properties/defaultTheme' reportConfigs: $ref: '#/components/schemas/dashboard/properties/reportConfigs' public: type: boolean password: oneOf: - $ref: '#/components/schemas/common/userPassword' - type: 'null' contextConfiguration: $ref: '#/components/schemas/dashboard/properties/contextConfiguration' additionalProperties: false required: - name dashboardSendReport: title: Dashboard Send Report description: Schema for the body of a Dashboard report request type: object properties: toEmail: type: array minItems: 1 maxItems: 10 items: $ref: '#/components/schemas/common/email' callbackUrl: $ref: '#/components/schemas/common/url' subject: type: string maxLength: 255 message: type: string maxLength: 32767 theme: type: string enum: - dark - light time: type: number timezone: type: string maxLength: 255 locale: type: string maxLength: 5 ctx: $ref: '#/components/schemas/dashboardContextInstance' branded: type: boolean anyOf: - required: - toEmail - required: - callbackUrl additionalProperties: false dashboards: title: Dashboards description: Schema for a collection of Dashboards type: object properties: items: type: array items: $ref: '#/components/schemas/dashboard' count: type: integer totalCount: type: integer perPage: type: integer page: type: integer filter: type: string filterField: type: string sortField: type: string sortDirection: $ref: '#/components/schemas/common/sortDirection' orgId: $ref: '#/components/schemas/common/objectId' applicationId: $ref: '#/components/schemas/common/objectId' deviceCounts: title: Device Counts description: Schema for the result of a device counts request type: object properties: start: $ref: '#/components/schemas/common/date' end: $ref: '#/components/schemas/common/date' counts: type: array items: type: object properties: date: $ref: '#/components/schemas/common/date' created: type: integer deleted: type: integer total: type: integer error: title: Error description: Schema for errors returned by the API type: object properties: type: type: string message: type: string event: title: Event description: Schema for a single Event type: object properties: id: $ref: '#/components/schemas/common/objectId' eventId: $ref: '#/components/schemas/common/objectId' applicationId: $ref: '#/components/schemas/common/objectId' creationDate: $ref: '#/components/schemas/common/date' lastUpdated: $ref: '#/components/schemas/common/date' sourceType: $ref: '#/components/schemas/common/eventSourceType' sourceId: $ref: '#/components/schemas/common/objectId' sourceName: $ref: '#/components/schemas/common/name' level: type: string enum: - info - warning - error - critical state: $ref: '#/components/schemas/common/eventState' subject: $ref: '#/components/schemas/common/name' message: $ref: '#/components/schemas/common/description' data: {} deviceId: $ref: '#/components/schemas/common/objectId' deviceName: $ref: '#/components/schemas/common/name' disableTagChangeTracking: type: boolean eventTags: $ref: '#/components/schemas/common/objectTags' updates: maxItems: 100 type: array items: type: object properties: sourceType: $ref: '#/components/schemas/common/eventSourceType' sourceId: $ref: '#/components/schemas/common/objectId' sourceName: $ref: '#/components/schemas/common/name' creationDate: $ref: '#/components/schemas/common/date' comment: $ref: '#/components/schemas/common/description' data: {} state: $ref: '#/components/schemas/common/eventState' stateChange: type: object properties: old: $ref: '#/components/schemas/common/eventState' new: $ref: '#/components/schemas/common/eventState' levelChange: type: object properties: old: $ref: '#/components/schemas/event/properties/level' new: $ref: '#/components/schemas/event/properties/level' subjectChange: type: object properties: old: $ref: '#/components/schemas/event/properties/subject' new: $ref: '#/components/schemas/event/properties/subject' deviceIdChange: type: object properties: old: $ref: '#/components/schemas/event/properties/deviceId' oldDeviceName: $ref: '#/components/schemas/common/name' new: $ref: '#/components/schemas/event/properties/deviceId' newDeviceName: $ref: '#/components/schemas/common/name' tagsChange: type: object patternProperties: ^[0-9a-zA-Z_-]{1,255}$: type: object properties: old: $ref: '#/components/schemas/common/name' new: $ref: '#/components/schemas/common/name' eventPatch: title: Event Patch description: Schema for the body of an Event modification request type: object properties: state: $ref: '#/components/schemas/common/eventState' level: $ref: '#/components/schemas/event/properties/level' subject: $ref: '#/components/schemas/event/properties/subject' deviceId: oneOf: - $ref: '#/components/schemas/event/properties/deviceId' - type: 'null' comment: $ref: '#/components/schemas/common/description' data: {} eventTags: $ref: '#/components/schemas/common/objectTags' additionalProperties: false eventPlusNewCount: title: Event Plus New Count description: Schema for an event plus a count of new events type: object properties: event: $ref: '#/components/schemas/event' newCount: type: integer eventPost: title: Event Post description: Schema for the body of an Event creation request type: object properties: level: $ref: '#/components/schemas/event/properties/level' state: $ref: '#/components/schemas/common/eventState' subject: $ref: '#/components/schemas/common/name' message: $ref: '#/components/schemas/common/description' data: {} deviceId: $ref: '#/components/schemas/common/objectId' eventTags: $ref: '#/components/schemas/common/objectTags' creationDate: $ref: '#/components/schemas/common/timeFormats' disableTagChangeTracking: type: boolean default: false required: - level - subject additionalProperties: false events: title: Events description: Schema for a collection of Events type: object properties: items: type: array items: $ref: '#/components/schemas/event' count: type: integer totalCount: type: integer perPage: type: integer page: type: integer filter: type: string filterField: type: string sortField: type: string sortDirection: $ref: '#/components/schemas/common/sortDirection' state: $ref: '#/components/schemas/common/eventState' applicationId: $ref: '#/components/schemas/common/objectId' query: type: object eventsDeleted: title: Events Deleted description: Schema for response to events removal type: object properties: removed: type: number eventsExport: title: Event Export Options description: Export options for events type: object properties: email: $ref: '#/components/schemas/common/email' callbackUrl: $ref: '#/components/schemas/common/url' query: $ref: '#/components/schemas/advancedEventQuery' format: type: string enum: - csv - json default: csv excludeUpdates: type: boolean default: false additionalProperties: false file: title: File Schema description: Schema for a single public or private file type: object properties: id: $ref: '#/components/schemas/common/objectId' applicationId: $ref: '#/components/schemas/common/objectId' creationDate: $ref: '#/components/schemas/common/date' lastUpdated: $ref: '#/components/schemas/common/date' authorId: $ref: '#/components/schemas/common/objectId' authorType: $ref: '#/components/schemas/common/sourceType' status: type: string enum: - pending - moving - deleting - completed name: type: string minLength: 1 maxLength: 1024 parentDirectory: type: string maxLength: 1024 type: type: string enum: - file - directory fileSize: type: number s3etag: type: string contentType: type: string maxLength: 1024 fileDimensions: type: object properties: width: type: number height: type: number moveIntoId: $ref: '#/components/schemas/common/objectId' url: type: string filePatch: title: File Patch description: Schema to patch a public or private file type: object properties: fileSize: type: number contentType: type: string maxLength: 1024 fileDimensions: type: object properties: width: type: number height: type: number filePost: title: File Post description: Schema to create a single public or private file or directory type: object properties: name: type: string minLength: 1 maxLength: 1024 parentDirectory: type: string maxLength: 1024 type: type: string enum: - file - directory fileSize: type: number contentType: type: string maxLength: 1024 fileDimensions: type: object properties: width: type: number height: type: number additionalProperties: false additionalProperties: false required: - name - type fileUploadPostResponse: title: File Upload Post Response description: Schema with the information needed to upload public or private file contents allOf: - $ref: '#/components/schemas/file' - type: object properties: upload: $ref: '#/components/schemas/common/upload' files: title: Files Schema description: Schema for a collection of public or private files type: object properties: items: type: array items: $ref: '#/components/schemas/file' count: type: integer totalCount: type: integer perPage: type: integer page: type: integer filter: type: string filterField: type: string sortField: type: string sortDirection: $ref: '#/components/schemas/common/sortDirection' parentExists: type: boolean flow: title: Workflow description: Schema for a single Workflow type: object properties: id: $ref: '#/components/schemas/common/objectId' flowId: $ref: '#/components/schemas/common/objectId' applicationId: $ref: '#/components/schemas/common/objectId' creationDate: $ref: '#/components/schemas/common/date' lastUpdated: $ref: '#/components/schemas/common/date' createdById: $ref: '#/components/schemas/common/objectId' createdByType: $ref: '#/components/schemas/common/expSourceType' lastUpdatedById: $ref: '#/components/schemas/common/objectId' lastUpdatedByType: $ref: '#/components/schemas/common/expSourceType' name: $ref: '#/components/schemas/common/name' description: $ref: '#/components/schemas/common/description' shortDescription: $ref: '#/components/schemas/common/shortString' iconData: $ref: '#/components/schemas/common/imageDataUri' docsUrl: $ref: '#/components/schemas/common/shortString' category: type: string enum: - data - experience - logic - output - debug enabled: type: boolean defaultVersionId: $ref: '#/components/schemas/common/objectId' minimumAgentVersion: $ref: '#/components/schemas/common/version' flowClass: type: string enum: - cloud - edge - embedded - experience - customNode triggers: type: array items: oneOf: - $ref: '#/components/schemas/common/triggers/appFile' - $ref: '#/components/schemas/common/triggers/basic' - $ref: '#/components/schemas/common/triggers/beckhoff' - $ref: '#/components/schemas/common/triggers/dataTable' - $ref: '#/components/schemas/common/triggers/integration' - $ref: '#/components/schemas/common/triggers/deviceIdsTags' - $ref: '#/components/schemas/common/triggers/deviceIdsTagsInactivity' - $ref: '#/components/schemas/common/triggers/direct' - $ref: '#/components/schemas/common/triggers/endpoint' - $ref: '#/components/schemas/common/triggers/event' - $ref: '#/components/schemas/common/triggers/fileTail' - $ref: '#/components/schemas/common/triggers/fileWatch' - $ref: '#/components/schemas/common/triggers/flowError' - $ref: '#/components/schemas/common/triggers/mqttTopic' - $ref: '#/components/schemas/common/triggers/onSync' - $ref: '#/components/schemas/common/triggers/opcua' - $ref: '#/components/schemas/common/triggers/redis' - $ref: '#/components/schemas/common/triggers/request' - $ref: '#/components/schemas/common/triggers/serial' - $ref: '#/components/schemas/common/triggers/snmpTrap' - $ref: '#/components/schemas/common/triggers/timer' - $ref: '#/components/schemas/common/triggers/virtualButton' nodes: type: array items: type: object properties: id: $ref: '#/components/schemas/common/optMedStr' type: $ref: '#/components/schemas/common/reqMedStr' config: type: object meta: type: object outputIds: $ref: '#/components/schemas/common/outputIds' additionalProperties: false required: - type customNodeConfig: type: object properties: outputCount: type: number enum: - 1 - 2 resultMode: type: string enum: - optional - required - none resultDescription: $ref: '#/components/schemas/common/description' fields: type: array maxItems: 100 items: $ref: '#/components/schemas/common/customNodeFieldConfig' additionalProperties: false required: - outputCount - resultMode - fields customNodeSupports: type: array maxItems: 1 items: type: string enum: - cloud - edge customNodeUseCount: type: number globals: $ref: '#/components/schemas/common/globals' deletedInDevelop: type: boolean stats: type: object properties: runCount: type: number errorCount: type: number byVersion: type: object patternProperties: .*: type: object properties: runCount: type: number errorCount: type: number flowVersion: title: Workflow Version description: Schema for a single Workflow Version oneOf: - description: Schema for a single Cloud/Edge/Embedded/Custom Node Workflow Version type: object properties: id: $ref: '#/components/schemas/common/objectId' flowVersionId: $ref: '#/components/schemas/common/objectId' flowId: $ref: '#/components/schemas/common/objectId' applicationId: $ref: '#/components/schemas/common/objectId' creationDate: $ref: '#/components/schemas/common/date' lastUpdated: $ref: '#/components/schemas/common/date' createdById: $ref: '#/components/schemas/common/objectId' createdByType: $ref: '#/components/schemas/common/expSourceType' lastUpdatedById: $ref: '#/components/schemas/common/objectId' lastUpdatedByType: $ref: '#/components/schemas/common/expSourceType' version: $ref: '#/components/schemas/common/name' flowClass: type: string enum: - cloud - edge - embedded - customNode notes: $ref: '#/components/schemas/common/description' enabled: type: boolean triggers: $ref: '#/components/schemas/flow/properties/triggers' nodes: $ref: '#/components/schemas/flow/properties/nodes' globals: $ref: '#/components/schemas/common/globals' minimumAgentVersion: $ref: '#/components/schemas/common/version' customNodeConfig: $ref: '#/components/schemas/flow/properties/customNodeConfig' stats: type: object properties: runCount: type: number errorCount: type: number byVersion: type: object patternProperties: .*: type: object properties: runCount: type: number errorCount: type: number - description: Schema for a single Experience Workflow Version type: object properties: id: $ref: '#/components/schemas/common/objectId' flowVersionId: $ref: '#/components/schemas/common/objectId' flowId: $ref: '#/components/schemas/common/objectId' applicationId: $ref: '#/components/schemas/common/objectId' creationDate: $ref: '#/components/schemas/common/date' lastUpdated: $ref: '#/components/schemas/common/date' name: $ref: '#/components/schemas/common/name' description: $ref: '#/components/schemas/common/description' flowClass: type: string enum: - experience versions: type: array items: $ref: '#/components/schemas/common/name' enabled: type: boolean triggers: $ref: '#/components/schemas/flow/properties/triggers' nodes: $ref: '#/components/schemas/flow/properties/nodes' globals: $ref: '#/components/schemas/common/globals' stats: type: object properties: runCount: type: number errorCount: type: number byVersion: type: object patternProperties: .*: type: object properties: runCount: type: number errorCount: type: number flowVersions: title: Workflow Versions description: Schema for a collection of Workflow Versions type: object properties: items: type: array items: $ref: '#/components/schemas/flowVersion' count: type: integer totalCount: type: integer perPage: type: integer page: type: integer filter: type: string filterField: type: string sortField: type: string sortDirection: $ref: '#/components/schemas/common/sortDirection' applicationId: $ref: '#/components/schemas/common/objectId' flowId: $ref: '#/components/schemas/common/objectId' flows: title: Workflows description: Schema for a collection of Workflows type: object properties: items: type: array items: $ref: '#/components/schemas/flow' count: type: integer totalCount: type: integer perPage: type: integer page: type: integer filter: type: string filterField: type: string sortField: type: string sortDirection: $ref: '#/components/schemas/common/sortDirection' applicationId: $ref: '#/components/schemas/common/objectId' flowClass: type: string enum: - cloud - edge - embedded - experience - customNode integration: title: Integration description: Schema for a single Integration type: object properties: id: $ref: '#/components/schemas/common/objectId' integrationId: $ref: '#/components/schemas/common/objectId' applicationId: $ref: '#/components/schemas/common/objectId' creationDate: $ref: '#/components/schemas/common/date' lastUpdated: $ref: '#/components/schemas/common/date' name: $ref: '#/components/schemas/common/name' credentialName: $ref: '#/components/schemas/common/name' integrationType: type: string enum: - azureEventHub - googlePubSub - mqtt - particle - sqs - websocket enabled: type: boolean topics: type: array items: $ref: '#/components/schemas/common/reqMedStr' uniqueItems: true azureEventHubConfig: type: object properties: hubName: type: string maxLength: 256 minLength: 1 hostName: type: string maxLength: 256 minLength: 1 consumerGroup: type: string maxLength: 256 minLength: 1 connectionString: $ref: '#/components/schemas/common/reqMedStr' additionalProperties: false oneOf: - required: - hubName - consumerGroup - connectionString - required: - hubName - consumerGroup - hostName googlePubSubConfig: type: object properties: projectId: type: string maxLength: 255 minLength: 1 keyJson: type: string maxLength: 32767 minLength: 4 additionalProperties: false mqttConfig: type: object properties: clientId: $ref: '#/components/schemas/common/reqMedStr' username: $ref: '#/components/schemas/common/reqMedStr' password: $ref: '#/components/schemas/common/reqMedStr' clean: type: boolean port: type: number minimum: 1 maximum: 65535 protocol: type: string enum: - mqtt - mqtts - ws - wss host: $ref: '#/components/schemas/common/reqMedStr' privateKey: $ref: '#/components/schemas/common/certificate' certificate: $ref: '#/components/schemas/common/certificate' caCertificate: $ref: '#/components/schemas/common/certificate' disableSSLVerification: type: boolean protocolVersion: type: string enum: - 3.1.1 - '5' additionalProperties: false required: - port - protocol - host particleConfig: type: object properties: accessToken: $ref: '#/components/schemas/common/reqMedStr' productSlugOrId: $ref: '#/components/schemas/common/reqMedStr' orgSlugOrId: $ref: '#/components/schemas/common/reqMedStr' deviceNameOrId: $ref: '#/components/schemas/common/reqMedStr' additionalProperties: false required: - accessToken sqsConfig: type: object properties: accessKeyId: type: string min: 4 max: 128 secretAccessKey: type: string min: 4 max: 128 region: type: string min: 4 max: 128 queueUrl: type: string min: 1 max: 256 additionalProperties: false required: - queueUrl websocketConfig: type: object properties: url: $ref: '#/components/schemas/common/reqMedStr' disableSSLVerification: type: boolean username: $ref: '#/components/schemas/common/reqMedStr' password: $ref: '#/components/schemas/common/reqMedStr' privateKey: $ref: '#/components/schemas/common/certificate' certificate: $ref: '#/components/schemas/common/certificate' caCertificate: $ref: '#/components/schemas/common/certificate' headers: type: array maxItems: 50 items: type: object properties: headerKey: $ref: '#/components/schemas/common/reqMedStr' headerValue: $ref: '#/components/schemas/common/reqMedStr' additionalProperties: false required: - headerKey - headerValue additionalProperties: false required: - url status: lastKeepAlive: type: - number nextAttempt: type: - number connectInfo: type: object properties: ts: type: - number - 'null' disconnectInfo: type: object properties: ts: type: - number - 'null' error: type: string integrationPatch: title: Integration Patch description: Schema for the body of an Integration modification request type: object properties: name: $ref: '#/components/schemas/common/name' enabled: type: boolean topics: $ref: '#/components/schemas/integration/properties/topics' credentialName: oneOf: - $ref: '#/components/schemas/common/name' - type: 'null' azureEventHubConfig: $ref: '#/components/schemas/integration/properties/azureEventHubConfig' googlePubSubConfig: $ref: '#/components/schemas/integration/properties/googlePubSubConfig' mqttConfig: $ref: '#/components/schemas/integration/properties/mqttConfig' particleConfig: $ref: '#/components/schemas/integration/properties/particleConfig' sqsConfig: $ref: '#/components/schemas/integration/properties/sqsConfig' websocketConfig: $ref: '#/components/schemas/integration/properties/websocketConfig' additionalProperties: false integrationPost: title: Integration Post description: Schema for the body of an Integration creation request type: object properties: name: $ref: '#/components/schemas/common/name' integrationType: $ref: '#/components/schemas/integration/properties/integrationType' enabled: type: boolean credentialName: $ref: '#/components/schemas/common/name' topics: $ref: '#/components/schemas/integration/properties/topics' azureEventHubConfig: $ref: '#/components/schemas/integration/properties/azureEventHubConfig' googlePubSubConfig: $ref: '#/components/schemas/integration/properties/googlePubSubConfig' mqttConfig: $ref: '#/components/schemas/integration/properties/mqttConfig' particleConfig: $ref: '#/components/schemas/integration/properties/particleConfig' sqsConfig: $ref: '#/components/schemas/integration/properties/sqsConfig' websocketConfig: $ref: '#/components/schemas/integration/properties/websocketConfig' additionalProperties: false required: - name - integrationType integrations: title: Integrations description: Schema for a collection of Integrations type: object properties: items: type: array items: $ref: '#/components/schemas/integration' count: type: integer totalCount: type: integer perPage: type: integer page: type: integer filter: type: string filterField: type: string sortField: type: string sortDirection: $ref: '#/components/schemas/common/sortDirection' applicationId: $ref: '#/components/schemas/common/objectId' jobEnqueuedResult: title: Job Enqueued API Result description: Schema for the result of a job being queued type: object properties: jobQueued: type: boolean enum: - true jobId: type: string maxLength: 21 success: type: boolean enum: - true mqttPublishBody: title: MQTT Publish Body description: Schema for the body an MQTT Publish Message request type: object properties: topic: type: string minLength: 1 maxLength: 230 message: $ref: '#/components/schemas/common/description' required: - topic - message additionalProperties: false notebookMinuteCounts: title: Notebook Minute Counts description: Schema for the result of a notebook minute counts request type: object properties: start: $ref: '#/components/schemas/common/date' end: $ref: '#/components/schemas/common/date' counts: type: array items: type: object properties: date: $ref: '#/components/schemas/common/date' minutes: type: integer completed: type: integer canceled: type: integer errored: type: integer timeout: type: integer payloadCountsBreakdown: title: Payload Counts Breakdown description: Schema for the result of a payload counts breakdown request type: object properties: start: $ref: '#/components/schemas/common/date' end: $ref: '#/components/schemas/common/date' counts: type: array items: type: object properties: date: $ref: '#/components/schemas/common/date' value: type: integer payloadStats: title: Payload Stats description: Schema for the result of a payload stats request type: object properties: appFile: type: object patternProperties: .*: type: number dataTable: type: object patternProperties: .*: type: number deviceCreate: type: object patternProperties: .*: type: number deviceCommand: type: object patternProperties: .*: type: number deviceConnect: type: object patternProperties: .*: type: number deviceDisconnect: type: object patternProperties: .*: type: number deviceState: type: object patternProperties: .*: type: number endpoint: type: object patternProperties: .*: type: number event: type: object patternProperties: .*: type: number flowError: type: object patternProperties: .*: type: number inboundEmail: type: object patternProperties: .*: type: number integration: type: object patternProperties: .*: type: number mqttIn: type: object patternProperties: .*: type: number mqttOut: type: object patternProperties: .*: type: number notebook: type: object patternProperties: .*: type: number resourceJob: type: object patternProperties: .*: type: number timer: type: object patternProperties: .*: type: number virtualButton: type: object patternProperties: .*: type: number webhook: type: object patternProperties: .*: type: number periodSummaries: title: Application Period Summaries description: Schema for a collection of Application Period Summaries type: object properties: items: type: array items: type: object properties: name: $ref: '#/components/schemas/common/name' id: $ref: '#/components/schemas/common/objectId' applicationId: $ref: '#/components/schemas/common/objectId' summary: type: object properties: deviceCounts: $ref: '#/components/schemas/deviceCounts' notebookMinuteCounts: $ref: '#/components/schemas/notebookMinuteCounts' payloadCounts: $ref: '#/components/schemas/payloadCountsBreakdown' additionalProperties: false count: type: integer totalCount: type: integer perPage: type: integer page: type: integer filter: type: string filterField: type: string sortField: type: string sortDirection: $ref: '#/components/schemas/common/sortDirection' resourceJob: title: Resource Job description: Schema for a single resource job type: object properties: id: $ref: '#/components/schemas/common/objectId' resourceJobId: $ref: '#/components/schemas/common/objectId' name: $ref: '#/components/schemas/common/name' description: $ref: '#/components/schemas/common/description' applicationId: $ref: '#/components/schemas/common/objectId' dataTableId: $ref: '#/components/schemas/common/templateOrObjectId' queryJson: type: string maxLength: 8192 resourceType: type: string enum: - dataTableRow - device - experienceGroup - experienceUser maxIterationConcurrency: type: integer enum: - 1 - 10 iterationDelay: type: integer min: 0 max: 60000 iterationTimeout: type: integer min: 60000 max: 900000 creationDate: $ref: '#/components/schemas/common/date' lastUpdated: $ref: '#/components/schemas/common/date' lastExecutionRequested: $ref: '#/components/schemas/common/date' defaultContext: type: string maxLength: 32767 retryOnTimeout: type: boolean retryOnFailure: type: boolean maxIterationRetries: type: integer min: 1 max: 5 retryDelay: type: integer min: 0 max: 30000 additionalProperties: false resourceJobExecutionLogs: title: Resource Job Execution Logs description: Schema for a set of Resource Job execution logs type: array items: type: object properties: id: $ref: '#/components/schemas/common/objectId' applicationId: $ref: '#/components/schemas/common/objectId' resourceJobExecutionId: $ref: '#/components/schemas/common/objectId' resourceJobId: $ref: '#/components/schemas/common/objectId' accumulator: type: string maxLength: 256 status: type: string enum: - inProgress - completed - erroring - errored - canceling - canceled queryJson: type: string maxLength: 8192 resourceType: $ref: '#/components/schemas/resourceJob/properties/resourceType' sourceType: $ref: '#/components/schemas/common/sourceType' sourceId: $ref: '#/components/schemas/common/objectId' cancelSourceType: $ref: '#/components/schemas/common/sourceType' cancelSourceId: $ref: '#/components/schemas/common/objectId' runStartedAt: $ref: '#/components/schemas/common/date' runCompletedAt: $ref: '#/components/schemas/common/date' executionReportUrl: type: string templateContext: type: string maxLength: 32767 iterationDelay: $ref: '#/components/schemas/resourceJob/properties/iterationDelay' iterationTimeout: $ref: '#/components/schemas/resourceJob/properties/iterationTimeout' maxIterationConcurrency: $ref: '#/components/schemas/resourceJob/properties/maxIterationConcurrency' executionSummary: type: object properties: succeeded: type: number failed: type: number timedOut: type: number inProgress: type: number remaining: type: number retryOnTimeout: $ref: '#/definitions/resourceJob/properties/retryOnTimeout' retryOnFailure: $ref: '#/definitions/resourceJob/properties/retryOnFailure' maxIterationRetries: $ref: '#/definitions/resourceJob/properties/maxIterationRetries' retryDelay: $ref: '#/definitions/resourceJob/properties/retryDelay' resourceJobExecutionOptions: title: Resource Job Execution Options description: Schema for a resource job execution configuration type: object properties: templateContext: type: string maxLength: 32767 queryJson: $ref: '#/components/schemas/resourceJob/properties/queryJson' dataTableId: $ref: '#/components/schemas/common/templateOrObjectId' additionalProperties: false resourceJobPatch: title: Resource Job Patch description: Schema for a resource job update type: object properties: name: $ref: '#/components/schemas/common/name' description: $ref: '#/components/schemas/common/description' dataTableId: $ref: '#/components/schemas/common/templateOrObjectId' queryJson: $ref: '#/components/schemas/resourceJob/properties/queryJson' maxIterationConcurrency: $ref: '#/components/schemas/resourceJob/properties/maxIterationConcurrency' iterationDelay: $ref: '#/components/schemas/resourceJob/properties/iterationDelay' iterationTimeout: $ref: '#/components/schemas/resourceJob/properties/iterationTimeout' defaultContext: $ref: '#/components/schemas/resourceJob/properties/defaultContext' retryOnTimeout: $ref: '#/components/schemas/resourceJob/properties/retryOnTimeout' retryOnFailure: $ref: '#/components/schemas/resourceJob/properties/retryOnFailure' maxIterationRetries: $ref: '#/components/schemas/resourceJob/properties/maxIterationRetries' retryDelay: $ref: '#/components/schemas/resourceJob/properties/retryDelay' additionalProperties: false resourceJobPost: title: Resource Job Post description: Schema for a resource job creation type: object properties: name: $ref: '#/components/schemas/common/name' description: $ref: '#/components/schemas/common/description' dataTableId: $ref: '#/components/schemas/common/templateOrObjectId' queryJson: $ref: '#/components/schemas/resourceJob/properties/queryJson' resourceType: $ref: '#/components/schemas/resourceJob/properties/resourceType' maxIterationConcurrency: $ref: '#/components/schemas/resourceJob/properties/maxIterationConcurrency' iterationDelay: $ref: '#/components/schemas/resourceJob/properties/iterationDelay' iterationTimeout: $ref: '#/components/schemas/resourceJob/properties/iterationTimeout' defaultContext: $ref: '#/components/schemas/resourceJob/properties/defaultContext' retryOnTimeout: $ref: '#/components/schemas/resourceJob/properties/retryOnTimeout' retryOnFailure: $ref: '#/components/schemas/resourceJob/properties/retryOnFailure' maxIterationRetries: $ref: '#/components/schemas/resourceJob/properties/maxIterationRetries' retryDelay: $ref: '#/components/schemas/resourceJob/properties/retryDelay' additionalProperties: false required: - name - resourceType resourceJobs: title: Resource Jobs description: Schema for a collection of Resource Jobs type: object properties: items: type: array items: $ref: '#/components/schemas/resourceJob' count: type: integer totalCount: type: integer perPage: type: integer page: type: integer filter: type: string filterField: type: string sortField: type: string sortDirection: $ref: '#/components/schemas/common/sortDirection' applicationId: $ref: '#/components/schemas/common/objectId' success: title: Success description: Schema for reporting a successful operation type: object properties: success: type: boolean enum: - true successWithExecutionId: title: Success With Execution ID description: Schema for reporting a successful operation with a corresponding execution ID type: object properties: success: type: boolean enum: - true executionId: $ref: '#/components/schemas/common/objectId' templateKeywords: title: Template Keywords description: Schema for a collection of template keywords properties: keywords: $ref: '#/components/schemas/common/keys' additionalProperties: false validateContextError: title: Validate Context Error description: Schema for the result of a validateContext call when invalid context is passed type: object properties: type: $ref: '#/components/schemas/error/properties/type' message: $ref: '#/components/schemas/error/properties/message' invalidCtxName: $ref: '#/components/schemas/common/key' ctx: $ref: '#/components/schemas/common/validateContextCtx' dashboard: $ref: '#/components/schemas/validateContextSuccess/properties/dashboard' validateContextSuccess: title: Validate Context Success description: Schema for the result of a successful validateContext call type: object properties: success: $ref: '#/components/schemas/success/properties/success' ctx: $ref: '#/components/schemas/common/validateContextCtx' dashboard: type: object properties: name: $ref: '#/components/schemas/common/name' id: $ref: '#/components/schemas/common/objectId' duration: $ref: '#/components/schemas/dashboard/properties/duration' resolution: $ref: '#/components/schemas/dashboard/properties/resolution' refreshRate: $ref: '#/components/schemas/dashboard/properties/refreshRate' validationErrors: title: Validation Error description: Schema for validation errors returned by the API type: object properties: type: type: string message: type: string validationErrors: type: array items: type: object properties: type: type: string name: type: string id: type: string message: type: string webhook: title: Webhook description: Schema for a single Webhook type: object properties: id: $ref: '#/components/schemas/common/objectId' webhookId: $ref: '#/components/schemas/common/objectId' applicationId: $ref: '#/components/schemas/common/objectId' creationDate: $ref: '#/components/schemas/common/date' lastUpdated: $ref: '#/components/schemas/common/date' name: $ref: '#/components/schemas/common/name' description: $ref: '#/components/schemas/common/description' token: $ref: '#/components/schemas/common/token' responseCode: $ref: '#/components/schemas/common/responseCode' verificationType: type: string enum: - facebook - fitbit - none - twilio - alexa verificationCode: type: string maxLength: 32767 waitForReply: type: boolean basicAuthUsername: type: string maxLength: 255 basicAuthPassword: type: string maxLength: 255 isWebsocket: type: boolean castBuffersAs: type: string enum: - array - binary - utf8 - base64 - hex annotateMultipart: type: boolean enabled: type: boolean webhookPatch: title: Webhook Patch description: Schema for the body of a Webhook modification request type: object properties: name: $ref: '#/components/schemas/common/name' description: $ref: '#/components/schemas/common/description' responseCode: $ref: '#/components/schemas/common/responseCode' verificationType: $ref: '#/components/schemas/webhook/properties/verificationType' verificationCode: $ref: '#/components/schemas/webhook/properties/verificationCode' waitForReply: type: boolean basicAuthUsername: type: string maxLength: 255 basicAuthPassword: type: string maxLength: 255 isWebsocket: type: boolean castBuffersAs: $ref: '#/components/schemas/webhook/properties/castBuffersAs' annotateMultipart: $ref: '#/components/schemas/webhook/properties/annotateMultipart' enabled: type: boolean additionalProperties: false webhookPost: title: Webhook Post description: Schema for the body of a Webhook creation request type: object properties: name: $ref: '#/components/schemas/common/name' description: $ref: '#/components/schemas/common/description' responseCode: $ref: '#/components/schemas/common/responseCode' verificationType: $ref: '#/components/schemas/webhook/properties/verificationType' verificationCode: $ref: '#/components/schemas/webhook/properties/verificationCode' waitForReply: type: boolean basicAuthUsername: type: string maxLength: 255 basicAuthPassword: type: string maxLength: 255 isWebsocket: type: boolean castBuffersAs: $ref: '#/components/schemas/webhook/properties/castBuffersAs' annotateMultipart: $ref: '#/components/schemas/webhook/properties/annotateMultipart' enabled: type: boolean required: - name additionalProperties: false webhooks: title: Webhooks description: Schema for a collection of Webhooks type: object properties: items: type: array items: $ref: '#/components/schemas/webhook' count: type: integer totalCount: type: integer perPage: type: integer page: type: integer filter: type: string filterField: type: string sortField: type: string sortDirection: $ref: '#/components/schemas/common/sortDirection' applicationId: $ref: '#/components/schemas/common/objectId'