openapi: 3.0.2 info: title: Microcks API v1.14 config metrics API version: 1.14.0 description: API offered by Microcks, the Kubernetes native tool for API and microservices mocking and testing (microcks.io) contact: name: Laurent Broudoux url: https://github.com/microcks email: laurent@microcks.io license: name: Apache 2.0 url: https://www.apache.org/licenses/LICENSE-2.0 x-logo: backgroundColor: '#ffffff' url: https://microcks.io/images/microcks-logo-blue.png servers: - url: http://microcks.example.com/api description: '' security: - jwt-bearer: [] tags: - name: metrics description: Operations related to metrics paths: /metrics/invocations/global: summary: Invocation Statistics across Services and APIs get: tags: - metrics parameters: - name: day description: The day to get statistics for (formatted with yyyyMMdd pattern). Default to today if not provided. schema: type: string in: query responses: '200': content: application/json: schema: $ref: '#/components/schemas/DailyInvocationStatistic' description: Aggregated invocation statistics for specified day operationId: GetAggregatedInvocationsStats summary: Get aggregated invocation statistics for a day /metrics/conformance/aggregate: summary: Aggregation of Test conformance metrics get: tags: - metrics responses: '200': content: application/json: schema: type: array items: $ref: '#/components/schemas/WeightedMetricValue' description: Get aggregated coverage metric value operationId: GetConformanceMetricsAggregation summary: Get aggregation of conformance metrics /metrics/conformance/service/{serviceId}: summary: Test Conformance metrics on API and Services parameters: - name: serviceId description: Unique Services identifier this metrics are related to schema: type: string in: path required: true get: tags: - metrics responses: '200': content: application/json: schema: $ref: '#/components/schemas/TestConformanceMetric' description: Test coverage metric for Service operationId: GetServiceTestConformanceMetric summary: Get conformance metrics for a Service /metrics/invocations/top: summary: Top Invocation Statistics across Services and APIs get: tags: - metrics parameters: - name: day description: The day to get statistics for (formatted with yyyyMMdd pattern). Default to today if not provided. schema: type: string in: query - name: limit description: The number of top invoked mocks to return schema: type: integer in: query responses: '200': content: application/json: schema: type: array items: $ref: '#/components/schemas/DailyInvocationStatistic' description: Top invocations for a defined day operationId: GetTopIvnocationsStatsByDay summary: Get top invocation statistics for a day /metrics/invocations/{serviceName}/{serviceVersion}: summary: Invocation Statistics for API and Services parameters: - name: serviceName description: Name of service to get statistics for schema: type: string in: path required: true - name: serviceVersion description: Version of service to get statistics for schema: type: string in: path required: true get: tags: - metrics parameters: - name: day description: The day to get statistics for (formatted with yyyyMMdd pattern). Default to today if not provided. schema: type: string in: query responses: '200': content: application/json: schema: $ref: '#/components/schemas/DailyInvocationStatistic' description: Invocation statistics for service for specified day operationId: GetInvocationStatsByService summary: Get invocation statistics for Service /metrics/invocations/global/latest: summary: Latest Invocation Statistics across Services and APIs get: tags: - metrics parameters: - name: limit description: Number of days to get back in time. Default is 20. schema: type: integer in: query responses: '200': content: application/json: schema: $ref: '#/components/schemas/CounterMap' description: A map where keys are day (formatted using yyyyMMdd pattern) and values are counter of invocations on this day operationId: GetLatestAggregatedInvocationsStats summary: Get aggregated invocations statistics for latest days /metrics/tests/latest: summary: Lastest Test results across Services and APIs get: tags: - metrics parameters: - name: limit description: Number of days to consider for test results to return. Default is 7 (one week) schema: type: integer in: query responses: '200': content: application/json: schema: type: array items: $ref: '#/components/schemas/TestResultSummary' description: Test results summary for specified last days. operationId: GetLatestTestResults summary: Get latest tests results components: schemas: TestConformanceMetric: description: Represents the test conformance metrics (current score, history and evolution trend) of a Service required: - id - serviceId - currentScore - maxPossibleScore type: object properties: id: description: Unique identifier of coverage metric type: string serviceId: description: Unique identifier of the Service this metric is related to type: string aggregationLabelValue: description: Value of the label used for metrics aggregation (if any) type: string maxPossibleScore: format: double description: Maximum conformance score that can be reached (depends on samples expresiveness) type: number currentScore: format: double description: Current test conformance score for the related Service type: number lastUpdateDay: description: The day of latest score update (in yyyyMMdd format) type: string latestTrend: $ref: '#/components/schemas/Trend' description: Evolution trend of currentScore latestScores: description: History of latest scores (key is date with format yyyyMMdd, value is score as double) type: object additionalProperties: type: number CounterMap: description: A generic map of counter type: object additionalProperties: type: number TestResultSummary: description: 'Represents the summary result of a Service or API test run by Microcks. ' required: - id - testDate - serviceId - success properties: id: description: Unique identifier of TestResult type: string testDate: format: int64 description: Timestamp of creation date of this service type: integer serviceId: description: Unique identifier of service tested type: string success: description: Flag telling if test is a success type: boolean Trend: description: Evolution trend qualifier enum: - DOWN - LOW_DOWN - STABLE - LOW_UP - UP type: string DailyInvocationStatistic: description: The daily statistic of a service mock invocations required: - id - day - serviceName - serviceVersion - dailyCount type: object properties: id: description: Unique identifier of this statistic object type: string day: description: The day (formatted as yyyyMMdd string) represented by this statistic type: string serviceName: description: The name of the service this statistic is related to type: string serviceVersion: description: The version of the service this statistic is related to type: string dailyCount: description: The number of service mock invocations on this day type: number hourlyCount: description: The number of service mock invocations per hour of the day (keys range from 0 to 23) type: object additionalProperties: true minuteCount: description: The number of service mock invocations per minute of the day (keys range from 0 to 1439) type: object additionalProperties: true WeightedMetricValue: description: Value of a metric with an associated weight required: - name - weight - value type: object properties: name: description: Metric name or serie name type: string weight: description: Weight of this metric value (typically a percentage) type: integer value: description: The value of this metric type: integer securitySchemes: jwt-bearer: flows: clientCredentials: tokenUrl: https://keycloak.example.com/realms/microcks/protocol/openid-connect/token refreshUrl: https://keycloak.example.com/realms/microcks/protocol/openid-connect/token scopes: user: Simple authenticated user manager: Services & APIs content manager admin: Administrator of the Microcks instance type: oauth2 description: JWT Bearer acquired using OAuth 2 Authentication flow or Direct Access Grant