openapi: 3.2.0 info: version: 1.0.0 title: Microsoft 365 App Management API description: This document lists M365 APIs for data protection using Druva inSync. servers: - url: https://apis.druva.com tags: - name: App Management description: Lists the APIs to get information and perform operations on M365 Apps managed in Druva SaaS Apps. paths: /insync/cappmaster/v1/apps/status: get: tags: - App Management summary: Get Microsoft 365 Apps Status description: Provides the App Connection Status for M365. operationId: getCloudAppStatus security: - bearerAuth: [] parameters: - $ref: '#/components/parameters/tenantType' responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/CloudAppStatus' examples: M365: $ref: '#/components/examples/CloudAppStatus' '400': description: Bad Request content: application/json: schema: $ref: '#/components/schemas/Error' examples: BadRequest: $ref: '#/components/examples/BadRequest' '401': description: The request did not include an authentication token or an expired authentication token was supplied. content: application/json: schema: $ref: '#/components/schemas/Error' examples: Unauthorized: $ref: '#/components/examples/Unauthorized' '403': description: 'Access denied: Insufficient permissions. User requires specific access rights and minimum permissions. Details: https://help.druva.com/en/articles/15069296' content: application/json: schema: $ref: '#/components/schemas/Error' examples: Forbidden: $ref: '#/components/examples/Forbidden' GARError: $ref: '#/components/examples/GARError' '404': description: The requested resource was not found. content: application/json: schema: {} examples: NotFound: $ref: '#/components/examples/NotFound' '500': description: The request was not processed due to an internal error on server. content: application/json: schema: $ref: '#/components/schemas/Error' examples: InternalServerError: $ref: '#/components/examples/InternalServerError' '501': description: Requested HTTP method is not implemented. content: application/json: schema: $ref: '#/components/schemas/Error' examples: NotImplemented: $ref: '#/components/examples/NotImplemented' components: examples: NotFound: summary: Resource Not Found description: The requested resource could not be found on server. value: null CloudAppStatus: summary: M365 Response description: Example of success response from get CloudApp Status API for M365 tenant type in request. value: status: 0 M365: - appId: 1 appName: Microsoft 365 Advanced status: 3 lastConfigured: 2020-09-18T11:50:41+00:00Z clientid: r5949668-853d-485t-vlo5-28df7cd0d7c8 - appId: 13 appName: OneDrive and SharePoint status: 4 lastConfigured: 2020-09-18T11:50:41+00:00Z clientid: r5949668-853d-485t-vlo5-28df7cd0d7c8 InternalServerError: summary: Internal Server Error description: The request was not processed due to an internal error on server. value: code: InsyncCappmaster-1006 message: Internal server error. retryable: false data: status: 1 message: Failed to get Customer License NotImplemented: summary: Method Not Implemented description: Requested HTTP method is not implemented. value: code: InsyncCappmaster-1007 message: Method Not implemented. retryable: false data: null Unauthorized: summary: Unauthorized description: Authentication is needed to get the requested response. value: code: InsyncCappmaster-1002 message: Invalid API credentials. retryable: false data: null BadRequest: summary: Bad Request description: This response means that the server could not understand the request due to invalid syntax. value: code: InsyncCappmaster-1001 message: Invalid API syntax. retryable: false data: null GARError: summary: Authorization Error description: Client does not have access rights or permissions to the requested content. value: code: InsyncCappmaster-1221 message: You do not have permission to access this workload. retryable: false data: null Forbidden: summary: Forbidden description: The request was a legal request, but the server is refusing to respond to it due to insufficient access rights to the content. value: code: InsyncCappmaster-1009 message: Auth session expired retryable: false data: null parameters: tenantType: name: tenantType in: query description: The name of the App for which the status is required. required: true schema: type: string enum: - M365 example: M365 schemas: Error: type: object properties: message: type: string example: Invalid API syntax. code: type: string example: InsyncCappmaster-1001 data: type: object example: null retryable: type: boolean enum: - true - false example: false CloudAppStatus: type: object properties: status: type: integer example: 0 description: Status response code for API. It is 0 (zero) for a success response. M365: type: array items: type: object properties: appId: type: integer example: 1 description: The ID of the App. appName: type: string example: Microsoft 365 Advanced description: The name of the App configured for backup. Example - Microsoft 365 Advanced status: type: integer example: 3 description: 'The status of the application. - 0 - Not configured - 1 - Configured - 2 - Not connected - 3 - Connected - 4 - Not licensed' lastConfigured: type: string example: 2020-09-18T11:50:41+00:00Z description: The date and time when the app was last configured. Example format - YYYY-MM-DDTHH:MM:SSZ clientid: type: string example: r5949668-853d-485t-vlo5-28df7cd0d7c8 description: The Application or Client ID of the App. Example - r5942009-853d-485t-vlo5-28df7cd0d7c8 description: Array of dictionary containing app information for specific tenant type securitySchemes: bearerAuth: type: apiKey name: Authorization in: header