openapi: 3.1.0 info: title: OptScale REST Authentication Cloud Accounts API description: OptScale is an open-source FinOps and cloud cost optimization platform by Hystax. The REST API exposes endpoints for managing organizations, cloud accounts, employees, pools, resources, expenses, recommendations, and optimization runs across AWS, Azure, GCP, Alibaba Cloud, and Kubernetes. version: '2.0' contact: name: Hystax OptScale url: https://hystax.com/optscale/ email: info@hystax.com license: name: Apache 2.0 url: https://www.apache.org/licenses/LICENSE-2.0 servers: - url: https://{host}/restapi/v2 description: OptScale REST API server variables: host: default: my.optscale.com description: OptScale hostname security: - bearerAuth: [] tags: - name: Cloud Accounts description: Cloud account connections (AWS, Azure, GCP, Alibaba, Kubernetes) paths: /organizations/{organization_id}/cloud_accounts: get: tags: - Cloud Accounts summary: List cloud accounts for an organization operationId: listCloudAccounts parameters: - $ref: '#/components/parameters/OrganizationId' responses: '200': description: Cloud accounts content: application/json: schema: type: array items: $ref: '#/components/schemas/CloudAccount' post: tags: - Cloud Accounts summary: Create a cloud account connection operationId: createCloudAccount parameters: - $ref: '#/components/parameters/OrganizationId' requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/CloudAccount' responses: '201': description: Cloud account connected content: application/json: schema: $ref: '#/components/schemas/CloudAccount' /cloud_accounts/{cloud_account_id}: get: tags: - Cloud Accounts summary: Get cloud account operationId: getCloudAccount parameters: - $ref: '#/components/parameters/CloudAccountId' responses: '200': description: Cloud account content: application/json: schema: $ref: '#/components/schemas/CloudAccount' delete: tags: - Cloud Accounts summary: Disconnect a cloud account operationId: deleteCloudAccount parameters: - $ref: '#/components/parameters/CloudAccountId' responses: '204': description: Cloud account disconnected components: parameters: CloudAccountId: name: cloud_account_id in: path required: true schema: type: string OrganizationId: name: organization_id in: path required: true schema: type: string schemas: CloudAccount: type: object properties: id: type: string name: type: string type: type: string enum: - aws_cnr - azure_cnr - gcp_cnr - alibaba_cnr - kubernetes_cnr config: type: object additionalProperties: true organization_id: type: string last_import_at: type: integer securitySchemes: bearerAuth: type: http scheme: bearer bearerFormat: JWT externalDocs: description: OptScale Documentation url: https://hystax.com/documentation/optscale/