openapi: 3.1.0 info: description: '### Welcome to the Archera.ai API documentation. Archera.ai empowers organizations to optimize cloud costs and automate cloud financial operations. Our API enables seamless integration with your internal tools, workflows, and reporting systems. With this API, you can programmatically access commitment plans, metrics, and more, unlocking the full potential of your cloud data. Whether you''re building custom dashboards, automating cost management, or integrating with third-party platforms, the Archera.ai API provides secure and reliable endpoints to help you achieve your goals. If you have questions or need support, please contact our team at support@archera.ai. ## API Key Access To use this API, you need an API key. ### How to Create an API Key 1. Log in to the Archera.ai web application. 2. Navigate to **User Settings > API Access**. Open Settings 3. Click **Create New API Key**. 4. Copy and securely store your new API key. ### How to Use Your API Key Use the `x-api-key` header: ```bash curl -H ''x-api-key: YOUR_API_KEY'' https://api.archera.ai/v1/org/{org_id}/metrics?provider=aws ``` Keep your API key secure. If you believe your key has been compromised, deactivate it in the web application and generate a new one. ### How to find your Organization ID 1. Log in to the Archera.ai web application. 2. Navigate to **User Settings > Organization**. 3. Your Organization ID is displayed at the top of the page. You can also find it in the URL when visiting the Archera app `&orgId=` ' title: Archera.ai Commitment Plans Metrics API version: v1.0.0 tags: - name: Metrics description: High level metrics to track commitment performance. paths: /v1/org/{org_id}/metrics: parameters: - in: path name: org_id required: true schema: type: string format: uuid get: parameters: - in: query name: provider description: Cloud provider to get metrics for schema: example: aws type: string enum: - aws - azure - gcp required: true responses: '422': $ref: '#/components/responses/UNPROCESSABLE_CONTENT' '200': description: OK content: application/json: schema: $ref: '#/components/schemas/PublicMetrics' default: $ref: '#/components/responses/DEFAULT_ERROR' '400': description: Bad request content: application/json: schema: $ref: '#/components/schemas/ApiErrorResponse' '401': description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/ApiErrorResponse' '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/ApiErrorResponse' '404': description: Not found content: application/json: schema: $ref: '#/components/schemas/ApiErrorResponse' '409': description: Conflict content: application/json: schema: $ref: '#/components/schemas/ApiErrorResponse' '405': description: Method not allowed content: application/json: schema: $ref: '#/components/schemas/ApiErrorResponse' '500': description: Internal server error content: application/json: schema: $ref: '#/components/schemas/ApiErrorResponse' tags: - Metrics summary: /metrics description: Retrieves key performance metrics for cloud commitments (RIs/SPs) for the specified provider. Returns financial data including lifetime and month-to-date savings, automation status, potential missed savings opportunities, commitment coverage, and utilization rates. This endpoint provides a comprehensive overview of commitment performance and automation status. components: schemas: ApiErrorResponse: type: object properties: message: type: string detail: {} code: type: - string - 'null' url: type: - string - 'null' timestamp: type: string type: type: string required: - message - timestamp - type PublicMetrics: type: object properties: lifetime_savings: type: number lifetime_gri_savings: type: number mtd_savings: type: number mtd_gri_savings: type: number purchase_automation_enabled: type: boolean buyback_automation_enabled: type: boolean has_actioned_plan: type: boolean has_pending_actions: type: boolean latest_execution_date: type: string format: date purchase_missed_savings: type: number buyback_missed_savings: type: number total_daily_missed_savings: type: number hourly_missed_savings: type: number missed_savings_start_date: type: string format: date missed_savings_end_date: type: string format: date expiring_savings: type: number coverage: type: number utilization: type: number required: - buyback_automation_enabled - buyback_missed_savings - coverage - expiring_savings - has_actioned_plan - has_pending_actions - hourly_missed_savings - latest_execution_date - lifetime_gri_savings - lifetime_savings - missed_savings_end_date - missed_savings_start_date - mtd_gri_savings - mtd_savings - purchase_automation_enabled - purchase_missed_savings - total_daily_missed_savings - utilization additionalProperties: false Error: type: object properties: code: type: integer description: Error code status: type: string description: Error name message: type: string description: Error message errors: type: object description: Errors additionalProperties: {} additionalProperties: false responses: UNPROCESSABLE_CONTENT: description: Unprocessable Content content: application/json: schema: $ref: '#/components/schemas/Error' DEFAULT_ERROR: description: Default error response content: application/json: schema: $ref: '#/components/schemas/Error'