Alphaus Admin API
Admin API. Base URL: https://api.alphaus.cloud/m/blue
Admin API. Base URL: https://api.alphaus.cloud/m/blue
swagger: '2.0'
info:
title: Blue API reference Admin API
description: 'Alphaus provides an API for interacting with its services. Blue API is a RESTful API that can be accessed by an HTTP client such as `curl`, or any HTTP library which is part of most modern programming languages. This API reference is autogenerated from [protocol buffers](https://developers.google.com/protocol-buffers) defined in this [repository](https://github.com/alphauslabs/blueapi), together with our supported [client libraries](https://alphauslabs.github.io/docs/blueapi/client-sdks/). See the official [documentation](https://alphauslabs.github.io/docs/blueapi/overview/) for more information.
You may encounter the following feature maturity indicators:
- **(WORK-IN-PROGRESS)** - Development is ongoing, don''t use yet;
- **(BETA)** - New or experimental features, subject to changes; and
- **(DEPRECATED)** - Outdated or replaced features.
Some endpoints, especially those that return lists of resources, have streaming responses; newline-separated stream of “chunks”. Each chunk is an envelope that can contain either a response message or an error. Only the last chunk will include an error, if any.'
version: v1
host: api.alphaus.cloud
basePath: /m/blue
schemes:
- https
consumes:
- application/json
produces:
- application/json
tags:
- name: Admin
description: 'Admin API. Base URL: https://api.alphaus.cloud/m/blue'
externalDocs:
description: Service definition
url: https://github.com/alphauslabs/blueapi/tree/main/admin/
paths:
/admin/v1/acctgroups:
get:
summary: Lists all account groups.
operationId: Admin_ListAccountGroups
responses:
'200':
description: A successful response.(streaming responses)
schema:
type: object
properties:
result:
$ref: '#/definitions/v1ListAccountGroupsResponse'
error:
$ref: '#/definitions/rpcStatus'
title: Stream result of v1ListAccountGroupsResponse
default:
description: An unexpected error response.
schema:
$ref: '#/definitions/rpcStatus'
tags:
- Admin
/admin/v1/acctgroups/{id}:
get:
summary: Gets an account group.
operationId: Admin_GetAccountGroup
responses:
'200':
description: A successful response.
schema:
$ref: '#/definitions/v1GetAccountGroupResponse'
default:
description: An unexpected error response.
schema:
$ref: '#/definitions/rpcStatus'
parameters:
- name: id
in: path
required: true
type: string
tags:
- Admin
/admin/v1/auditlogs:export:
post:
summary: 'WORK-IN-PROGRESS: Exports audit logs for login user''s organization.'
operationId: Admin_ExportAuditLogs
responses:
'200':
description: A successful response.
schema:
$ref: '#/definitions/apiAuditExport'
default:
description: An unexpected error response.
schema:
$ref: '#/definitions/rpcStatus'
parameters:
- name: body
description: Request message for the ExportAuditLogs rpc.
in: body
required: true
schema:
$ref: '#/definitions/v1ExportAuditLogsRequest'
tags:
- Admin
/admin/v1/aws/reports/proforma:
post:
summary: 'WORK-IN-PROGRESS: Configure AWS Proforma Cost and Usage Report.'
operationId: Admin_CreateProformaCur
responses:
'200':
description: A successful response.
schema:
$ref: '#/definitions/v1ProformaCur'
default:
description: An unexpected error response.
schema:
$ref: '#/definitions/rpcStatus'
parameters:
- name: body
in: body
required: true
schema:
$ref: '#/definitions/v1CreateProformaCurRequest'
tags:
- Admin
/admin/v1/aws/xacct/cwms:
get:
summary: 'WORK-IN-PROGRESS: Gets a CloudFormation launch URL for enabling CloudWatch metrics streaming on a target account.'
operationId: Admin_GetCloudWatchMetricsStreamTemplateUrl
responses:
'200':
description: A successful response.
schema:
$ref: '#/definitions/v1GetCloudWatchMetricsStreamTemplateUrlResponse'
default:
description: An unexpected error response.
schema:
$ref: '#/definitions/rpcStatus'
tags:
- Admin
post:
summary: 'WORK-IN-PROGRESS: Starts validation of a CloudWatch Metrics streaming stack deployment.'
operationId: Admin_CreateCloudWatchMetricsStream
responses:
'200':
description: A successful response.
schema:
$ref: '#/definitions/v1CloudWatchMetricsStream'
default:
description: An unexpected error response.
schema:
$ref: '#/definitions/rpcStatus'
parameters:
- name: body
description: Request message for the Admin.CreateCloudWatchMetricsStream rpc.
in: body
required: true
schema:
$ref: '#/definitions/v1CreateCloudWatchMetricsStreamRequest'
tags:
- Admin
/admin/v1/aws/xacct/dca:
get:
summary: Gets a CloudFormation launch URL for enabling the default cross-account access to your account's cost information based on type. See comments on the type for more information on what each template does.
operationId: Admin_GetDefaultCostAccessTemplateUrl
responses:
'200':
description: A successful response.
schema:
$ref: '#/definitions/v1GetDefaultCostAccessTemplateUrlResponse'
default:
description: An unexpected error response.
schema:
$ref: '#/definitions/rpcStatus'
parameters:
- name: type
description: "Optional. Valid values are `default`, `s3only`, and `apionly`. Defaults to `default` if empty.\n\n`default` - Template for setting up both CUR export and read-only access to cost information. If selected, you need to deploy this template to `us-east-1` region as CloudFormation only supports the `AWS::CUR::ReportDefinition` in that region at the moment. The target S3 bucket will also be created in that region. If you prefer your S3 bucket to be located in a different region, you can use the template from this API by setting the type to `s3only`. After your S3 bucket is ready, call this API again (type is `default`) and set the `CurS3BucketOption` parameter to `USE_EXISTING`, then set your bucket name and region accordingly. This is the default for Ripple, unless specified otherwise.\n\n`apionly` - Template for setting up ready-only access to cost information. Handy if you already have exported your CUR to Alphaus through other means (i.e. manual setup). This template is the same as the `default` type but without the CUR export definitions. Although not required, we recommend you to deploy this template to allow us to query your cost-related information such as Reserved Instances, Saving Plans, etc. through the AWS API. At the moment, we only rely on CUR data which is a best-effort basis and sometimes not accurate. This is the default for Wave(Pro), unless specified otherwise.\n\n`s3only` - A helper template for creating an S3 bucket to be used for CUR export.\n\n`default-2.0`- For default cur 2.0 templates. \n\n`s3only-2.0` - For s3only cur 2.0 templates.\n\nAll templates are publicly available from the reponse link (`templateUrl`) if you want to audit the included permissions."
in: query
required: false
type: string
tags:
- Admin
post:
summary: Starts validation of a default cross-account access stack deployment. If successful, the IAM role created from the CloudFormation stack will be registered to the target.
operationId: Admin_CreateDefaultCostAccess
responses:
'200':
description: A successful response.
schema:
$ref: '#/definitions/v1DefaultCostAccess'
default:
description: An unexpected error response.
schema:
$ref: '#/definitions/rpcStatus'
parameters:
- name: body
description: Request message for the Admin.CreateDefaultCostAccess rpc.
in: body
required: true
schema:
$ref: '#/definitions/v1CreateDefaultCostAccessRequest'
tags:
- Admin
/admin/v1/aws/xacct/dca/all:read:
post:
summary: Lists the default cross-account access role(s) attached to accounts under caller.
operationId: Admin_ListDefaultCostAccess
responses:
'200':
description: A successful response.(streaming responses)
schema:
type: object
properties:
result:
$ref: '#/definitions/v1DefaultCostAccess'
error:
$ref: '#/definitions/rpcStatus'
title: Stream result of v1DefaultCostAccess
default:
description: An unexpected error response.
schema:
$ref: '#/definitions/rpcStatus'
tags:
- Admin
/admin/v1/aws/xacct/dca/{target}:
get:
summary: Gets the current default cross-account role attached to the input target.
operationId: Admin_GetDefaultCostAccess
responses:
'200':
description: A successful response.
schema:
$ref: '#/definitions/v1DefaultCostAccess'
default:
description: An unexpected error response.
schema:
$ref: '#/definitions/rpcStatus'
parameters:
- name: target
description: Required. The target AWS account to query.
in: path
required: true
type: string
tags:
- Admin
delete:
summary: Deletes the current default cross-account access role attached to this target account. This does not delete the CloudFormation deployment in your account.
operationId: Admin_DeleteDefaultCostAccess
responses:
'200':
description: A successful response.
schema:
type: object
properties: {}
default:
description: An unexpected error response.
schema:
$ref: '#/definitions/rpcStatus'
parameters:
- name: target
description: Required. The target AWS account to delete.
in: path
required: true
type: string
tags:
- Admin
put:
summary: Starts an update to an existing default cross-account access CloudFormation stack for template changes, if any. Only call this API if the status of your default cross-account access is 'outdated'.
operationId: Admin_UpdateDefaultCostAccess
responses:
'200':
description: A successful response.
schema:
$ref: '#/definitions/protosOperation'
default:
description: An unexpected error response.
schema:
$ref: '#/definitions/rpcStatus'
parameters:
- name: target
description: Required. The target AWS account to update.
in: path
required: true
type: string
tags:
- Admin
/admin/v1/defaultmeta:
put:
summary: 'WORK-IN-PROGRESS: Set the default meta saved per organization'
operationId: Admin_UpdateMSPDefaultMeta
responses:
'200':
description: A successful response.
schema:
type: object
properties: {}
default:
description: An unexpected error response.
schema:
$ref: '#/definitions/rpcStatus'
parameters:
- name: body
in: body
required: true
schema:
$ref: '#/definitions/v1UpdateMSPDefaultMetaRequest'
tags:
- Admin
/admin/v1/defaultmeta/{mspId}:
get:
summary: 'WORK-IN-PROGRESS: Fetch the default meta saved per organization'
operationId: Admin_GetMSPDefaultMeta
responses:
'200':
description: A successful response.
schema:
$ref: '#/definitions/v1GetMSPDefaultMetaResponse'
default:
description: An unexpected error response.
schema:
$ref: '#/definitions/rpcStatus'
parameters:
- name: mspId
in: path
required: true
type: string
tags:
- Admin
/admin/v1/notification/channels:
get:
summary: Lists all notification channels for login user's organization or group.
operationId: Admin_ListNotificationChannels
responses:
'200':
description: A successful response.
schema:
$ref: '#/definitions/v1ListNotificationChannelsResponse'
default:
description: An unexpected error response.
schema:
$ref: '#/definitions/rpcStatus'
tags:
- Admin
post:
summary: 'WORK-IN-PROGRESS: Creates notification settings for login user''s organization or group.'
operationId: Admin_CreateNotificationChannel
responses:
'200':
description: A successful response.
schema:
$ref: '#/definitions/apiNotificationChannel'
default:
description: An unexpected error response.
schema:
$ref: '#/definitions/rpcStatus'
parameters:
- name: body
description: Request message for the Admin.CreateNotificationChannel rpc.
in: body
required: true
schema:
$ref: '#/definitions/v1CreateNotificationChannelRequest'
tags:
- Admin
/admin/v1/notification/channels/{id}:
get:
summary: Gets notification channel for login user's organization or group.
operationId: Admin_GetNotificationChannel
responses:
'200':
description: A successful response.
schema:
$ref: '#/definitions/apiNotificationChannel'
default:
description: An unexpected error response.
schema:
$ref: '#/definitions/rpcStatus'
parameters:
- name: id
in: path
required: true
type: string
- name: fieldMask
description: Optional.
in: query
required: false
type: string
tags:
- Admin
delete:
summary: Deletes notification settings for login user's organization or group.
operationId: Admin_DeleteNotificationChannel
responses:
'200':
description: A successful response.
schema:
type: object
properties: {}
default:
description: An unexpected error response.
schema:
$ref: '#/definitions/rpcStatus'
parameters:
- name: id
description: Required. ID of the notification channel to delete.
in: path
required: true
type: string
tags:
- Admin
put:
summary: 'WORK-IN-PROGRESS: Updates notification settings for login user''s organization or group.'
operationId: Admin_UpdateNotificationChannel
responses:
'200':
description: A successful response.
schema:
$ref: '#/definitions/apiNotificationChannel'
default:
description: An unexpected error response.
schema:
$ref: '#/definitions/rpcStatus'
parameters:
- name: id
description: Required. ID of the notification channel to update.
in: path
required: true
type: string
- name: body
in: body
required: true
schema:
$ref: '#/definitions/AdminUpdateNotificationChannelBody'
tags:
- Admin
/admin/v1/notification/default:
post:
summary: Creates a default notification channel of type email based on the caller's primary email address.
operationId: Admin_CreateDefaultNotificationChannel
responses:
'200':
description: A successful response.
schema:
$ref: '#/definitions/apiNotificationChannel'
default:
description: An unexpected error response.
schema:
$ref: '#/definitions/rpcStatus'
parameters:
- name: body
description: Request message for the Admin.CreateDefaultNotificationChannel rpc.
in: body
required: true
schema:
$ref: '#/definitions/v1CreateDefaultNotificationChannelRequest'
tags:
- Admin
/admin/v1/notification/settings:
get:
summary: Get notification settings for login user's organization or group.
operationId: Admin_GetNotificationSettings
responses:
'200':
description: A successful response.
schema:
$ref: '#/definitions/apiNotificationSettings'
default:
description: An unexpected error response.
schema:
$ref: '#/definitions/rpcStatus'
tags:
- Admin
post:
summary: Creates or updates notification settings for login user's organization or group.
operationId: Admin_SaveNotificationSettings
responses:
'200':
description: A successful response.
schema:
$ref: '#/definitions/apiNotificationSettings'
default:
description: An unexpected error response.
schema:
$ref: '#/definitions/rpcStatus'
parameters:
- name: body
description: Request message for the Admin.SaveNotificationSettings rpc.
in: body
required: true
schema:
$ref: '#/definitions/v1SaveNotificationSettingsRequest'
tags:
- Admin
/admin/v1/notifications:
get:
summary: 'WORK-IN-PROGRESS: List all notification for login user''s organization.'
operationId: Admin_ListNotifications
responses:
'200':
description: A successful response.
schema:
$ref: '#/definitions/v1ListNotificationsResponse'
default:
description: An unexpected error response.
schema:
$ref: '#/definitions/rpcStatus'
tags:
- Admin
post:
summary: 'WORK-IN-PROGRESS: Creates notification for login user''s organization.'
operationId: Admin_CreateNotification
responses:
'200':
description: A successful response.
schema:
$ref: '#/definitions/blueapiApiNotification'
default:
description: An unexpected error response.
schema:
$ref: '#/definitions/rpcStatus'
parameters:
- name: body
description: Request message for the Admin.CreateNotificationTypeChannels rpc.
in: body
required: true
schema:
$ref: '#/definitions/v1CreateNotificationRequest'
tags:
- Admin
/admin/v1/notifications/{id}:
get:
summary: 'WORK-IN-PROGRESS: Get notifications for login user''s organization.'
operationId: Admin_GetNotification
responses:
'200':
description: A successful response.
schema:
$ref: '#/definitions/blueapiApiNotification'
default:
description: An unexpected error response.
schema:
$ref: '#/definitions/rpcStatus'
parameters:
- name: id
description: Required
in: path
required: true
type: string
- name: notificationType
description: 'Required
Valid values:
`InvoiceCalculationStarted`,
`InvoiceCalculationFinished`,
`CurUpdatedAfterInvoice`.
`AccountBudgetAlert`.'
in: query
required: false
type: string
tags:
- Admin
delete:
summary: 'WORK-IN-PROGRESS: Deletes notification for login user''s organization.'
operationId: Admin_DeleteNotification
responses:
'200':
description: A successful response.
schema:
type: object
properties: {}
default:
description: An unexpected error response.
schema:
$ref: '#/definitions/rpcStatus'
parameters:
- name: id
description: Required
in: path
required: true
type: string
- name: notificationType
description: 'Required
Valid values:
`InvoiceCalculationStarted`,
`InvoiceCalculationFinished`,
`CurUpdatedAfterInvoice`.
`AccountBudgetAlert`.'
in: query
required: false
type: string
tags:
- Admin
put:
summary: 'WORK-IN-PROGRESS: Updates notification for login user''s organization.'
operationId: Admin_UpdateNotification
responses:
'200':
description: A successful response.
schema:
$ref: '#/definitions/blueapiApiNotification'
default:
description: An unexpected error response.
schema:
$ref: '#/definitions/rpcStatus'
parameters:
- name: id
description: Required
in: path
required: true
type: string
- name: body
in: body
required: true
schema:
$ref: '#/definitions/AdminUpdateNotificationBody'
tags:
- Admin
/admin/v1/wavefeatures:
get:
summary: 'WORK-IN-PROGRESS: Get settings value for wave features management per organization'
operationId: Admin_GetWaveFeatures
responses:
'200':
description: A successful response.
schema:
$ref: '#/definitions/v1GetWaveFeaturesResponse'
default:
description: An unexpected error response.
schema:
$ref: '#/definitions/rpcStatus'
parameters:
- name: lang
in: query
required: false
type: string
tags:
- Admin
put:
summary: 'WORK-IN-PROGRESS: Updates the wave feature management default value per organization'
operationId: Admin_UpdateWaveFeatureSetting
responses:
'200':
description: A successful response.
schema:
$ref: '#/definitions/v1GetWaveFeaturesResponse'
default:
description: An unexpected error response.
schema:
$ref: '#/definitions/rpcStatus'
parameters:
- name: body
in: body
required: true
schema:
$ref: '#/definitions/v1UpdateWaveFeatureSettingRequest'
tags:
- Admin
definitions:
protosOperation:
type: object
properties:
name:
type: string
description: The server-assigned name.
metadata:
$ref: '#/definitions/protobufAny'
description: 'Service-specific metadata associated with the operation. It typically
contains progress information and common metadata such as create time.
Some services might not provide such metadata. Any method that returns a
long-running operation should document the metadata type, if any.'
done:
type: boolean
description: 'If the value is `false`, it means the operation is still in progress.
If `true`, the operation is completed, and either `error` or `response` is
available.'
error:
$ref: '#/definitions/rpcStatus'
description: The error result of the operation in case of failure or cancellation.
response:
$ref: '#/definitions/protobufAny'
description: 'The normal response of the operation in case of success. If the original method returns
no data on success, such as `Delete`, the response is `google.protobuf.Empty`. If the
original method is standard `Get`/`Create`/`Update`, the response should be the
resource. For other methods, the response should have the type `XxxResponse`, where
`Xxx` is the original method name. For example, if the original method name is
`TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`.'
description: 'This resource represents a long-running operation that is the result of a
network API call.'
apiAccountGroup:
type: object
properties:
id:
type: string
description: The AccountGroup id.
name:
type: string
description: The AccountGroup name.
metadata:
type: array
items:
type: object
$ref: '#/definitions/apiKeyValue'
description: The attributes (key/value pair) of the AccountGroup.
accounts:
type: array
items:
type: object
$ref: '#/definitions/blueapiApiAccount'
v1ListNotificationChannelsResponse:
type: object
properties:
channels:
type: array
items:
type: object
$ref: '#/definitions/apiNotificationChannel'
description: Response message for the Admin.ListNotificationChannels rpc.
apiKeyValue:
type: object
properties:
key:
type: string
value:
type: string
rpcStatus:
type: object
properties:
code:
type: integer
format: int32
description: The status code, which should be an enum value of [google.rpc.Code][google.rpc.Code].
message:
type: string
description: 'A developer-facing error message, which should be in English. Any
user-facing error message should be localized and sent in the
[google.rpc.Status.details][google.rpc.Status.details] field, or localized by the client.'
details:
type: array
items:
type: object
$ref: '#/definitions/protobufAny'
description: 'A list of messages that carry the error details. There is a common set of
message types for APIs to use.'
description: 'The `Status` type defines a logical error model that is suitable for
different programming environments, including REST APIs and RPC APIs. It is
used by [gRPC](https://github.com/grpc). Each `Status` message contains
three pieces of data: error code, error message, and error details.
You can find out more about this error model and how to work with it in the
[API Design Guide](https://cloud.google.com/apis/design/errors).'
adminV1NotificationAccount:
type: object
properties:
vendor:
type: string
description: Required.
accountId:
type: string
description: Required.
v1CreateDefaultNotificationChannelRequest:
type: object
description: Request message for the Admin.CreateDefaultNotificationChannel rpc.
AdminUpdateNotificationBody:
type: object
properties:
channels:
type: array
items:
type: string
title: Required
enabled:
type: boolean
title: Required
notificationType:
type: string
description: 'Required
Valid values:
`InvoiceCalculationStarted`,
`InvoiceCalculationFinished`,
`CurUpdatedAfterInvoice`.
`AccountBudgetAlert`.'
account:
$ref: '#/definitions/adminV1NotificationAccount'
description: Optional. only available Wave(Pro).
description: Request message for the Admin.UpdateNotificationTypeChannels rpc.
apiSlackChannel:
type: object
properties:
webhookUrl:
type: string
channelId:
type: string
channel:
type: string
configurationUrl:
type: string
code:
type: string
redirectUri:
type: string
apiMSTeamsChannel:
type: object
properties:
webhookUrl:
type: string
AdminUpdateNotificationChannelBody:
type: object
properties:
name:
type: string
description: Required. Name of the notification channel.
type:
type: string
description: 'Required. Valid values: `email`, `slack`, `msteams`.'
email:
$ref: '#/definitions/apiEmailChannel'
description: Required if type = `email`.
slack:
$ref: '#/definitions/apiSlackChannel'
description: Required if type = `slack`.
msteams:
$ref: '#/definitions/apiMSTeamsChannel'
description: Required if type = `msteams`.
product:
type: string
description: 'Optional. For Octo use only: `octo`.'
description: Request message for the Admin.UpdateNotificationChannel rpc.
apiNotificationChannel:
type: object
properties:
id:
type: string
enabled:
type: boolean
name:
type: string
type:
type: string
email:
$ref: '#/definitions/apiEmailChannel'
slack:
$ref: '#/definitions/apiSlackChannel'
msteams:
$ref: '#/definitions/apiMSTeamsChannel'
product:
type: string
v1ExportAuditLogsRequest:
type: object
properties:
format:
type: string
description: Required. At the moment, `CSV`,`JSON` is supported.
startTime:
type: string
description: 'Required. The UTC date to start data from. If not set, the first day of the current year will be used. Format: `yyyymmdd`.'
endTime:
type: string
description: 'Required. The UTC date to end data from. If not set, the first day of the current year will be used. Format: `yyyymmdd`.'
product:
type: string
description: Optional. Valid values are 'ripple' and 'wavepro' for now. If empty default is 'ripple'.
waveUserIds:
type: array
items:
type: string
description: Optional. Must not be empty if product is 'wavepro'. Return logs for these userIds only.
description: Request message for the ExportAuditLogs rpc.
v1GetWaveFeaturesResponse:
type: object
properties:
settings:
type: array
items:
type: object
$ref: '#/definitions/v1WaveFeature'
v1GetCloudWatchMetricsStreamTemplateUrlResponse:
type: object
properties:
launchUrl:
type: string
description: The CloudFormation launch url. Open it in your browser.
templateUrl:
type: string
description: The latest CloudFormation template. The version is included in the filename.
stackName:
type: string
description: The default stack name used. Can be modified.
externalId:
type: string
description: The external id for this role. Do not change.
description: Response message for the Admin.GetCloudWatchMetricsStreamTemplateUrl rpc.
v1GetDefaultCostAccessTemplateUrlResponse:
type: object
properties:
launchUrl:
type: string
description: The CloudFormation launch url. Open it in your browser.
templateUrl:
type: string
description: The latest CloudFormation template. The version is included in the filename.
stackName:
type: string
description: The default stack name used. Can be modified.
principal:
type: string
description: The AWS account that will receive the access. Do not change.
externalId:
type: string
description: The external id for this role. Do not change.
description: Response message for the Admin.GetDefaultCostAccessTemplateUrl rpc.
v1UpdateWaveFeatureSettingRequest:
type: object
properties:
lang:
type: string
featureSetting:
type: array
items:
type: object
$ref: '#/definitions/v1FeatureSetting'
protobufAny:
type: object
properties:
'@type':
type: string
description: "A URL/resource name that uniquely identifies the type of the serialized\nprotocol buffer message. This string must contain at least\none \"/\" character. The last segment of the URL's path must represent\nthe fully qualified name of the type (as in\n`path/google.protobuf.Duration`). The name should be in a canonical form\n(e.g., leading \".\" is not accepted).\n\nIn practice, teams usually precompile into the binary all types that they\nexpect it to use in the context of Any. However, for URLs which use the\nscheme `http`, `https`, or no scheme, one can optionally set up a type\nserver that maps type URLs to message definitions as follows:\n\n* If no scheme
# --- truncated at 32 KB (44 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/alphaus/refs/heads/main/openapi/alphaus-admin-api-openapi.yml