openapi: 3.2.0 info: title: Global File Accleration Telemetry Data API version: 1.0.0 servers: - url: https://gfa-telemetry-us1.api.nasuni.com/v1 description: Production server (US1) - url: https://gfa-telemetry-us2.api.nasuni.com/v1 description: Staging server (US2) tags: - name: Data paths: /data: get: summary: Get telemetry metrics from Global File Acceleration operationId: getTelemetry security: - ApiTokenHeader: [] parameters: - $ref: '#/components/parameters/ClientKeyHeader' - in: query name: filer_metrics schema: type: boolean default: true description: Controls whether the filer information metrics are included in the response (true, if not specified) - in: query name: volume_metrics schema: type: boolean default: true description: Controls whether the volume information metrics are included in the response (true, if not specified) - in: query name: lock_metrics schema: type: boolean default: true description: Controls whether the lock metrics are included in the response (true, if not specified) - in: query name: propagation_metrics schema: type: boolean default: true description: Controls whether the propagation metrics are included in the response (true, if not specified) responses: '200': description: Get all of the telemetry metrics content: application/json: schema: type: object required: - version - flags - info - metrics properties: version: type: integer flags: type: object info: type: object $ref: '#/components/schemas/info' metrics: type: array items: $ref: '#/components/schemas/metrics' '401': $ref: '#/components/responses/UnauthorizedError' '403': $ref: '#/components/responses/UnauthorizedError' '406': description: Failed to get account or volume information from client API token content: application/json: schema: type: object required: - error properties: error: type: string '500': description: Failed to get current bookmarks for the client content: application/json: schema: type: object required: - error properties: error: type: string tags: - Data components: schemas: filer_metric: type: object required: - filer_guid - filer_title - last_checkin - metric_type - timestamp - version properties: filer_guid: type: string format: uuid filer_title: type: string last_checkin: type: integer metric_type: type: string oldest_unprotected_data: type: integer timestamp: type: string format: date-time version: type: integer volume_guid: type: string format: uuid volume_title: type: string volume_guid: type: string format: uuid propagation_metric: type: object required: - filer_guid - filer_title - kind - metric_type - prop_seconds - timestamp - version - volume_guid - volume_title properties: filer_guid: type: string format: uuid filer_title: type: string kind: type: string metric_type: type: string prop_seconds: type: integer timestamp: type: string format: date-time version: type: integer volume_guid: type: string format: uuid volume_title: type: string lock_metric: type: object required: - filer_guid - filer_title - lock_phase - lock_state - metric_type - timestamp - version - volume_guid - volume_title properties: filer_guid: type: string format: uuid filer_title: type: string lock_duration: type: integer lock_state: type: string lock_phase: type: string metric_type: type: string timestamp: type: string format: date-time version: type: integer volume_guid: type: string format: uuid volume_title: type: string info: type: object required: - account - last_info - last_lock_event - last_propagation - request_time - volumes properties: account: type: string format: uuid last_info: type: string format: date-time last_lock_event: type: string format: date-time last_propagation: type: string format: date-time request_time: type: string format: date-time volumes: type: array items: $ref: '#/components/schemas/volume_guid' metrics: type: object required: - volumes - filers - propagation - locks properties: volumes: type: array items: $ref: '#/components/schemas/volume_metric' filers: type: array items: $ref: '#/components/schemas/filer_metric' propagation: type: array items: $ref: '#/components/schemas/propagation_metric' locks: type: array items: $ref: '#/components/schemas/lock_metric' volume_metric: type: object required: - metric_type - mode - profile - time_to_protect - timestamp - version - volume_guid - volume_title properties: metric_type: type: string mode: type: string profile: type: string time_to_protect: type: integer timestamp: type: string format: date-time version: type: integer volume_guid: type: string format: uuid volume_title: type: string parameters: ClientKeyHeader: name: X-Nasuni-client-key in: header description: String to identify the client within the API Token required: false schema: type: string default: swagger client responses: UnauthorizedError: description: Access token is missing or invalid securitySchemes: ApiTokenHeader: type: apiKey in: header name: Authorization