openapi: 3.2.0 info: title: Huma Platform Spirometry API version: 1.0.0 description: Huma Platform servers: - url: https://workspace-gcp-uk.api.huma.com/api/integration/v1 description: Base URL declared by the provider in apis.yml (roadmap#122). tags: - name: Spirometry paths: /api/spirometry/v1/user/{user_id}/reports: get: operationId: api_spirometry_v1_user_reports_retrieve_[retrieve_spirometry_reports] description: Retrieve spirometry reports for user per reading. summary: Retrieve Spirometry Reports parameters: - in: query name: spirometryId schema: type: string required: true - in: path name: user_id schema: type: string pattern: ^[a-f0-9]{24}$ required: true tags: - Spirometry security: - JWT Auth: [] - Hawk Auth: [] - jwtAuth: [] responses: '200': content: application/json: schema: $ref: '#/components/schemas/SpirometryReportDTODRF' description: '' components: schemas: ReportSeriesDRF: type: object properties: seriesId: type: string seriesData: type: array items: $ref: '#/components/schemas/DataPointDRF' required: - seriesId SpirometryReportDTODRF: type: object properties: id: type: integer userId: type: string reportVersion: type: integer reportCode: type: string name: type: string axes: type: array items: $ref: '#/components/schemas/ReportAxeDRF' series: type: array items: $ref: '#/components/schemas/ReportSeriesDRF' groups: type: array items: $ref: '#/components/schemas/ReportGroupDRF' info: $ref: '#/components/schemas/ReportInfoDRF' startDateTime: type: string format: date-time createDateTime: type: string format: date-time updateDateTime: type: string format: date-time required: - userId DataValueDRF: type: object properties: axisId: type: string element: type: integer valueDate: type: string format: date-time valueInt: type: integer valueDouble: type: number format: double valueString: type: string required: - axisId ReportGroupElementDRF: type: object properties: elementName: type: string elementDescription: type: string elementSymbolChar: type: string elementSymbolSvgPath: type: string axes: type: array items: type: string required: - axes - elementName DataPointDRF: type: object properties: values: type: array items: $ref: '#/components/schemas/DataValueDRF' legend: type: string ref: type: string required: - values AxisStepsDRF: type: object properties: default: type: number format: double min: type: number format: double max: type: number format: double required: - default ReportInfoDRF: type: object properties: fev1Percentage: type: string fev1Raw: type: string fev1RawPef: type: string required: - fev1Percentage - fev1Raw - fev1RawPef ReportGroupDRF: type: object properties: groupId: type: string groupName: type: string groupElements: type: array items: $ref: '#/components/schemas/ReportGroupElementDRF' required: - groupElements - groupId AxisDataDRF: type: object properties: mainText: type: string secondaryText: type: string valueDate: type: string format: date-time valueInt: type: integer valueDouble: type: number format: double ReportAxeDRF: type: object properties: axisId: type: string axisName: type: string axisType: type: string dataType: type: string axisDescription: type: string axisData: type: array items: $ref: '#/components/schemas/AxisDataDRF' axisSteps: $ref: '#/components/schemas/AxisStepsDRF' axisFromDate: type: string format: date-time axisToDate: type: string format: date-time axisFromInt: type: integer axisToInt: type: integer axisFromDouble: type: number format: double axisToDouble: type: number format: double required: - axisId - axisName - axisType - dataType securitySchemes: Hawk_Auth: type: apiKey in: header name: Authorization description: 'Hawk MAC authentication. Paste a full Authorization header value. Example: Authorization: Hawk id="userId:clientId", ts="", nonce="", mac=""[, hash=""][, ext=""] Note: Swagger UI cannot generate Hawk headers. Use your client to compute the MAC (e.g., with mohawk), then paste the full value here.' JWT_Auth: type: http scheme: bearer in: header bearerFormat: JWT description: 'Use HTTP Bearer auth with a JWT. Send the token in the Authorization header: Authorization: Bearer The token should contain standard claims plus projectId and clientId in user claims.' jwtAuth: type: http scheme: bearer bearerFormat: JWT