openapi: 3.2.0 info: title: Fenergo User Dashboards API version: '1.0' description: 'Operations tagged UserDashboards across 2 of this provider''s published API definitions: fenergo-digitalagentscommand-v1-0-openapi.json, fenergo-digitalagentsquery-v1-0-openapi.json. Each path carries the servers of the definition it was published in.' servers: - url: /digitalagentscommand - url: /digitalagentsquery security: - Bearer: [] tags: - name: UserDashboards paths: /api/userdashboards: post: tags: - UserDashboards summary: Creates a new personalised dashboard for the authenticated user description: 'Required permissions: Following permissions are required: ReportingAccess' operationId: CreateUserDashboard parameters: - name: X-TENANT-ID in: header description: The UiD of the tenant representing organization required: true schema: type: string example: b11f8be3-f29b-4959-8964-956d4af7c468 requestBody: content: application/json: schema: allOf: - $ref: '#/components/schemas/CreateUserDashboardRequestDtoServiceRequest' responses: '201': description: Created. Returns the new dashboard. content: application/json: schema: $ref: '#/components/schemas/UserDashboardDtoServiceResponse' '400': description: Bad Request content: application/json: schema: $ref: '#/components/schemas/ValidationErrorModelListServiceResponse' '500': description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/ServiceResponse' '401': description: User is not authorized to perform this request content: application/json: example: message: Unauthorized '403': description: Access to resource is forbidden. content: application/json: schema: $ref: '#/components/schemas/ObjectServiceResponse' example: data: {} messages: - message: 'Access denied. Following permissions are required: Permission1, Permission2' type: Forbidden errorCode: Error Code '410': description: Endpoint marked as deprecated was terminated. This response will be present only if the endpoint was marked as deprecated and has reached the sunset date. During the deprecation period, the API will include additional 'sunset' and 'deprecation' headers. content: application/json: schema: $ref: '#/components/schemas/StringServiceResponse' example: data: null messages: - message: This endpoint is obsolete and was terminated on yyyy-MM-dd type: Error errorCode: OBSOLETE_ENDPOINT get: tags: - UserDashboards summary: Get the authenticated user's saved dashboards description: 'Required permissions: Following permissions are required: ReportingAccess' operationId: GetUserDashboards parameters: - name: X-TENANT-ID in: header description: The UiD of the tenant representing organization required: true schema: type: string example: b11f8be3-f29b-4959-8964-956d4af7c468 responses: '200': description: Successfully retrieved user dashboards. content: application/json: schema: $ref: '#/components/schemas/UserDashboardsDtoServiceResponse_2' '400': description: One or more validation errors occurred content: application/json: schema: $ref: '#/components/schemas/ProblemDetails' example: type: https://datatracker.ietf.org/doc/html/rfc7231#section-6.5.1 title: One or more validation errors occurred detail: Name is required status: 400 errorCode: VALIDATION_ERROR validationErrors: - propertyName: Name errorMessage: Name is required attemptedValue: '' validatorType: NotEmptyValidator '500': description: An exception occurred while processing the request. '401': description: User is not authorized to perform this request content: application/json: example: message: Unauthorized '403': description: Access to resource is forbidden. content: application/json: schema: $ref: '#/components/schemas/ProblemDetails' example: type: https://datatracker.ietf.org/doc/html/rfc7231#section-6.5.3 title: Access to resource is forbidden. detail: 'Access denied. Following permissions are required: Permission1, Permission2' status: 403 '410': description: Endpoint marked as deprecated was terminated. This response will be present only if the endpoint was marked as deprecated and has reached the sunset date. During the deprecation period, the API will include additional 'sunset' and 'deprecation' headers. content: application/json: schema: $ref: '#/components/schemas/ProblemDetails' example: type: https://datatracker.ietf.org/doc/html/rfc7231#section-6.5.9 title: Endpoint marked as deprecated was terminated. This response will be present only if the endpoint was marked as deprecated and has reached the sunset date. During the deprecation period, the API will include additional 'sunset' and 'deprecation' headers. detail: This endpoint is obsolete and was terminated on yyyy-MM-dd status: 410 errorCode: OBSOLETE_ENDPOINT servers: - url: /digitalagentscommand /api/userdashboards/{id}: put: tags: - UserDashboards summary: Updates an existing personalised dashboard description: 'Required permissions: Following permissions are required: ReportingAccess' operationId: UpdateUserDashboard parameters: - name: id in: path required: true schema: type: string - name: X-TENANT-ID in: header description: The UiD of the tenant representing organization required: true schema: type: string example: b11f8be3-f29b-4959-8964-956d4af7c468 requestBody: content: application/json: schema: allOf: - $ref: '#/components/schemas/UpdateUserDashboardRequestDtoServiceRequest' responses: '200': description: OK. Returns the updated dashboard. content: application/json: schema: $ref: '#/components/schemas/UserDashboardDtoServiceResponse' '400': description: Bad Request content: application/json: schema: $ref: '#/components/schemas/ValidationErrorModelListServiceResponse' '404': description: Resource not found content: application/json: schema: $ref: '#/components/schemas/ObjectServiceResponse' example: data: {} messages: - message: Not Found. The dashboard does not exist. type: Error errorCode: Error Code '500': description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/ServiceResponse' '401': description: User is not authorized to perform this request content: application/json: example: message: Unauthorized '403': description: Access to resource is forbidden. content: application/json: schema: $ref: '#/components/schemas/ObjectServiceResponse' example: data: {} messages: - message: 'Access denied. Following permissions are required: Permission1, Permission2' type: Forbidden errorCode: Error Code '410': description: Endpoint marked as deprecated was terminated. This response will be present only if the endpoint was marked as deprecated and has reached the sunset date. During the deprecation period, the API will include additional 'sunset' and 'deprecation' headers. content: application/json: schema: $ref: '#/components/schemas/StringServiceResponse' example: data: null messages: - message: This endpoint is obsolete and was terminated on yyyy-MM-dd type: Error errorCode: OBSOLETE_ENDPOINT delete: tags: - UserDashboards summary: Deletes a personalised dashboard description: 'Required permissions: Following permissions are required: ReportingAccess' operationId: DeleteUserDashboard parameters: - name: id in: path required: true schema: type: string - name: X-TENANT-ID in: header description: The UiD of the tenant representing organization required: true schema: type: string example: b11f8be3-f29b-4959-8964-956d4af7c468 responses: '204': description: No Content. The dashboard was deleted. '404': description: Resource not found content: application/json: schema: $ref: '#/components/schemas/ObjectServiceResponse' example: data: {} messages: - message: Not Found. The dashboard does not exist. type: Error errorCode: Error Code '500': description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/ServiceResponse' '400': description: Bad Request content: application/json: schema: $ref: '#/components/schemas/ValidationErrorModelListServiceResponse' '401': description: User is not authorized to perform this request content: application/json: example: message: Unauthorized '403': description: Access to resource is forbidden. content: application/json: schema: $ref: '#/components/schemas/ObjectServiceResponse' example: data: {} messages: - message: 'Access denied. Following permissions are required: Permission1, Permission2' type: Forbidden errorCode: Error Code '410': description: Endpoint marked as deprecated was terminated. This response will be present only if the endpoint was marked as deprecated and has reached the sunset date. During the deprecation period, the API will include additional 'sunset' and 'deprecation' headers. content: application/json: schema: $ref: '#/components/schemas/StringServiceResponse' example: data: null messages: - message: This endpoint is obsolete and was terminated on yyyy-MM-dd type: Error errorCode: OBSOLETE_ENDPOINT servers: - url: /digitalagentscommand /api/userdashboards/fork: post: tags: - UserDashboards summary: Forks a public dashboard into the caller's private dashboards description: 'Required permissions: Following permissions are required: ReportingAccess' operationId: ForkPublicDashboard parameters: - name: X-TENANT-ID in: header description: The UiD of the tenant representing organization required: true schema: type: string example: b11f8be3-f29b-4959-8964-956d4af7c468 requestBody: content: application/json: schema: allOf: - $ref: '#/components/schemas/ForkPublicDashboardRequestDtoServiceRequest' responses: '201': description: Created. Returns the new forked dashboard. content: application/json: schema: $ref: '#/components/schemas/UserDashboardDtoServiceResponse' '400': description: Bad Request content: application/json: schema: $ref: '#/components/schemas/ValidationErrorModelListServiceResponse' '404': description: Resource not found content: application/json: schema: $ref: '#/components/schemas/ObjectServiceResponse' example: data: {} messages: - message: Not Found. The source dashboard does not exist or is not public. type: Error errorCode: Error Code '500': description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/ServiceResponse' '401': description: User is not authorized to perform this request content: application/json: example: message: Unauthorized '403': description: Access to resource is forbidden. content: application/json: schema: $ref: '#/components/schemas/ObjectServiceResponse' example: data: {} messages: - message: 'Access denied. Following permissions are required: Permission1, Permission2' type: Forbidden errorCode: Error Code '410': description: Endpoint marked as deprecated was terminated. This response will be present only if the endpoint was marked as deprecated and has reached the sunset date. During the deprecation period, the API will include additional 'sunset' and 'deprecation' headers. content: application/json: schema: $ref: '#/components/schemas/StringServiceResponse' example: data: null messages: - message: This endpoint is obsolete and was terminated on yyyy-MM-dd type: Error errorCode: OBSOLETE_ENDPOINT servers: - url: /digitalagentscommand /api/userdashboards/reorder: post: tags: - UserDashboards summary: Reorders personalised dashboards for the authenticated user description: 'Required permissions: Following permissions are required: ReportingAccess' operationId: ReorderUserDashboards parameters: - name: X-TENANT-ID in: header description: The UiD of the tenant representing organization required: true schema: type: string example: b11f8be3-f29b-4959-8964-956d4af7c468 requestBody: content: application/json: schema: allOf: - $ref: '#/components/schemas/ReorderUserDashboardsRequestDtoServiceRequest' responses: '200': description: OK. Returns the reordered dashboards. content: application/json: schema: $ref: '#/components/schemas/UserDashboardsDtoServiceResponse' '400': description: Bad Request content: application/json: schema: $ref: '#/components/schemas/ValidationErrorModelListServiceResponse' '500': description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/ServiceResponse' '401': description: User is not authorized to perform this request content: application/json: example: message: Unauthorized '403': description: Access to resource is forbidden. content: application/json: schema: $ref: '#/components/schemas/ObjectServiceResponse' example: data: {} messages: - message: 'Access denied. Following permissions are required: Permission1, Permission2' type: Forbidden errorCode: Error Code '410': description: Endpoint marked as deprecated was terminated. This response will be present only if the endpoint was marked as deprecated and has reached the sunset date. During the deprecation period, the API will include additional 'sunset' and 'deprecation' headers. content: application/json: schema: $ref: '#/components/schemas/StringServiceResponse' example: data: null messages: - message: This endpoint is obsolete and was terminated on yyyy-MM-dd type: Error errorCode: OBSOLETE_ENDPOINT servers: - url: /digitalagentscommand /api/userdashboards/{id}/persona: delete: tags: - UserDashboards summary: Removes persona association from a dashboard (clears PersonaId and Description) description: 'Required permissions: Following permissions are required: ReportingAccess' operationId: RemovePersonaFromDashboard parameters: - name: id in: path required: true schema: type: string - name: X-TENANT-ID in: header description: The UiD of the tenant representing organization required: true schema: type: string example: b11f8be3-f29b-4959-8964-956d4af7c468 responses: '200': description: OK. Returns the updated dashboard. content: application/json: schema: $ref: '#/components/schemas/UserDashboardDtoServiceResponse' '404': description: Resource not found content: application/json: schema: $ref: '#/components/schemas/ObjectServiceResponse' example: data: {} messages: - message: Not Found. The dashboard does not exist. type: Error errorCode: Error Code '500': description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/ServiceResponse' '400': description: Bad Request content: application/json: schema: $ref: '#/components/schemas/ValidationErrorModelListServiceResponse' '401': description: User is not authorized to perform this request content: application/json: example: message: Unauthorized '403': description: Access to resource is forbidden. content: application/json: schema: $ref: '#/components/schemas/ObjectServiceResponse' example: data: {} messages: - message: 'Access denied. Following permissions are required: Permission1, Permission2' type: Forbidden errorCode: Error Code '410': description: Endpoint marked as deprecated was terminated. This response will be present only if the endpoint was marked as deprecated and has reached the sunset date. During the deprecation period, the API will include additional 'sunset' and 'deprecation' headers. content: application/json: schema: $ref: '#/components/schemas/StringServiceResponse' example: data: null messages: - message: This endpoint is obsolete and was terminated on yyyy-MM-dd type: Error errorCode: OBSOLETE_ENDPOINT servers: - url: /digitalagentscommand components: schemas: WidgetPositionDto: type: object properties: col: type: integer format: int32 row: type: integer format: int32 additionalProperties: false UserDashboardDto: type: object properties: id: type: - string - 'null' name: type: - string - 'null' tabColour: type: - string - 'null' tabOrder: type: integer format: int32 createdAt: type: - string - 'null' updatedAt: type: - string - 'null' widgets: type: - array - 'null' items: $ref: '#/components/schemas/PersonalisedWidgetDto' visibility: type: - string - 'null' personaId: type: - string - 'null' description: type: - string - 'null' visualOptions: {} additionalProperties: false PersonalisedWidgetDto: type: object properties: instanceId: type: - string - 'null' widgetType: type: - string - 'null' title: type: - string - 'null' position: allOf: - $ref: '#/components/schemas/WidgetPositionDto' datasourceConfig: allOf: - $ref: '#/components/schemas/DatasourceConfigDto' visualOptions: {} additionalProperties: false ReorderUserDashboardsRequestDto: type: object properties: orderedIds: type: - array - 'null' items: type: string additionalProperties: false UserDashboardsDtoServiceResponse: type: object properties: data: allOf: - $ref: '#/components/schemas/UserDashboardsDto' messages: type: - array - 'null' items: $ref: '#/components/schemas/ServiceResponseMessage' additionalProperties: false UserDashboardsDto: type: object properties: dashboards: type: - array - 'null' items: $ref: '#/components/schemas/UserDashboardDto' additionalProperties: false ServiceResponse: type: object properties: data: type: - string - 'null' messages: type: - array - 'null' items: $ref: '#/components/schemas/ServiceResponseMessage' additionalProperties: false CreateUserDashboardRequestDtoServiceRequest: type: object properties: data: allOf: - $ref: '#/components/schemas/CreateUserDashboardRequestDto' additionalProperties: false UserDashboardDtoServiceResponse: type: object properties: data: allOf: - $ref: '#/components/schemas/UserDashboardDto' messages: type: - array - 'null' items: $ref: '#/components/schemas/ServiceResponseMessage' additionalProperties: false UpdateUserDashboardRequestDtoServiceRequest: type: object properties: data: allOf: - $ref: '#/components/schemas/UpdateUserDashboardRequestDto' additionalProperties: false UpdateUserDashboardRequestDto: type: object properties: name: type: - string - 'null' tabColour: type: - string - 'null' widgets: type: - array - 'null' items: $ref: '#/components/schemas/PersonalisedWidgetDto' visibility: type: - string - 'null' personaId: type: - string - 'null' description: type: - string - 'null' ownerDisplayName: type: - string - 'null' visualOptions: {} additionalProperties: false ValidationErrorModelListServiceResponse: type: object properties: data: type: - array - 'null' items: $ref: '#/components/schemas/ValidationErrorModel' messages: type: - array - 'null' items: $ref: '#/components/schemas/ServiceResponseMessage' additionalProperties: false example: data: - propertyName: data errorMessage: Data is required attemptedValue: '' errorCode: NotNullValidator messages: - message: Data is required type: Error errorCode: Error Code ObjectServiceResponse: type: object properties: data: {} messages: type: - array - 'null' items: $ref: '#/components/schemas/ServiceResponseMessage' additionalProperties: false StringServiceResponse: type: object properties: data: type: - string - 'null' messages: type: - array - 'null' items: $ref: '#/components/schemas/ServiceResponseMessage' additionalProperties: false ForkPublicDashboardRequestDto: type: object properties: sourceOwnerUserId: type: - string - 'null' sourceDashboardId: type: - string - 'null' desiredName: type: - string - 'null' additionalProperties: false ReorderUserDashboardsRequestDtoServiceRequest: type: object properties: data: allOf: - $ref: '#/components/schemas/ReorderUserDashboardsRequestDto' additionalProperties: false ValidationErrorModel: type: object properties: propertyName: type: - string - 'null' errorMessage: type: - string - 'null' attemptedValue: {} errorCode: type: - string - 'null' additionalProperties: false ServiceResponseMessage: type: object properties: message: type: - string - 'null' type: type: - string - 'null' errorCode: type: - string - 'null' additionalProperties: false ForkPublicDashboardRequestDtoServiceRequest: type: object properties: data: allOf: - $ref: '#/components/schemas/ForkPublicDashboardRequestDto' additionalProperties: false DatasourceConfigDto: type: object properties: queryId: type: - string - 'null' fieldMapping: type: - object - 'null' additionalProperties: {} parameterValues: type: - object - 'null' additionalProperties: type: - string - 'null' staleTTLMs: type: - integer - 'null' format: int32 columnConfig: {} seriesConfig: {} additionalProperties: false CreateUserDashboardRequestDto: type: object properties: name: type: - string - 'null' tabColour: type: - string - 'null' widgets: type: - array - 'null' items: $ref: '#/components/schemas/PersonalisedWidgetDto' visibility: type: - string - 'null' personaId: type: - string - 'null' description: type: - string - 'null' ownerDisplayName: type: - string - 'null' visualOptions: {} additionalProperties: false UserDashboardsDtoServiceResponse_2: type: object properties: data: $ref: '#/components/schemas/UserDashboardsDto' messages: type: - array - 'null' items: $ref: '#/components/schemas/ServiceResponseMessage' additionalProperties: false ProblemDetails: type: object properties: type: type: - string - 'null' title: type: - string - 'null' status: type: - integer - 'null' format: int32 detail: type: - string - 'null' instance: type: - string - 'null' additionalProperties: {} PersonalisedWidgetDto_2: type: object properties: instanceId: type: - string - 'null' widgetType: type: - string - 'null' title: type: - string - 'null' position: $ref: '#/components/schemas/WidgetPositionDto' datasourceConfig: $ref: '#/components/schemas/DatasourceConfigDto' visualOptions: {} additionalProperties: false securitySchemes: Bearer: type: apiKey description: Please insert JWT with Bearer into field name: Authorization in: header x-refined-from: - fenergo-digitalagentscommand-v1-0-openapi.json - fenergo-digitalagentsquery-v1-0-openapi.json