Alphaus Flow API
(ALPHA) Flow API. Base URL: https://api.alphaus.cloud/m/blue/flow
(ALPHA) Flow API. Base URL: https://api.alphaus.cloud/m/blue/flow
swagger: '2.0'
info:
title: Blue API reference Admin Flow 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: Flow
description: '(ALPHA) Flow API. Base URL: https://api.alphaus.cloud/m/blue/flow'
externalDocs:
description: Service definition
url: https://github.com/alphauslabs/blueapi/tree/main/flow/
paths:
/v1/aws/xacct/cea:
get:
summary: Gets a CloudFormation launch URL for enabling read-only cross-account access to cost explorer
information (API only).
operationId: Flow_GetCostExplorerAccessTemplateUrl
responses:
'200':
description: A successful response.
schema:
$ref: '#/definitions/v1GetCostExplorerAccessTemplateUrlResponse'
default:
description: An unexpected error response.
schema:
$ref: '#/definitions/rpcStatus'
tags:
- Flow
post:
summary: Creates a default cross-account access role for cost explorer (API only).
operationId: Flow_CreateCostExplorerAccess
responses:
'200':
description: A successful response.
schema:
$ref: '#/definitions/v1CreateCostExplorerAccessResponse'
default:
description: An unexpected error response.
schema:
$ref: '#/definitions/rpcStatus'
parameters:
- name: body
description: 'Request message for the Flow.CreateCostExplorerAccess rpc.
This endpoint only supports the ''apionly'' template type.'
in: body
required: true
schema:
$ref: '#/definitions/v1CreateCostExplorerAccessRequest'
tags:
- Flow
/v1/aws/xacct/spa:
get:
summary: Gets a CloudFormation launch URL for Savings Plan purchase capabilities
operationId: Flow_GetSPPurchaseAccessTemplateUrl
responses:
'200':
description: A successful response.
schema:
$ref: '#/definitions/v1GetSPPurchaseAccessTemplateUrlResponse'
default:
description: An unexpected error response.
schema:
$ref: '#/definitions/rpcStatus'
tags:
- Flow
post:
summary: Creates a default cross-account access role for Savings Plan (API only).
operationId: Flow_CreateSPPurchaseAccess
responses:
'200':
description: A successful response.
schema:
$ref: '#/definitions/v1CreateSPPurchaseAccessResponse'
default:
description: An unexpected error response.
schema:
$ref: '#/definitions/rpcStatus'
parameters:
- name: body
description: Request message for the Flow.CreateSPPurchaseAccess rpc.
in: body
required: true
schema:
$ref: '#/definitions/v1CreateSPPurchaseAccessRequest'
tags:
- Flow
/v1/aws/xacct/{payerId}/access:
get:
summary: Returns the activated cross-account access roles of the target payerId.
operationId: Flow_GetCrossAccountAccessDetails
responses:
'200':
description: A successful response.
schema:
$ref: '#/definitions/v1GetCrossAccountAccessDetailsResponse'
default:
description: An unexpected error response.
schema:
$ref: '#/definitions/rpcStatus'
parameters:
- name: payerId
description: Required. The target payerId of the AWS account to be checked.
in: path
required: true
type: string
tags:
- Flow
/v1/aws/{billingInternalId}/accounts:
post:
summary: Returns all the aws accounts and its payer of the msp id
operationId: Flow_GetAwsAccounts
responses:
'200':
description: A successful response.
schema:
$ref: '#/definitions/v1GetAwsAccountsResponse'
default:
description: An unexpected error response.
schema:
$ref: '#/definitions/rpcStatus'
parameters:
- name: billingInternalId
in: path
required: true
type: string
- name: body
in: body
required: true
schema:
$ref: '#/definitions/FlowGetAwsAccountsBody'
tags:
- Flow
/v1/info:
get:
summary: For Testing Purposes Only.
operationId: Flow_GetInfo
responses:
'200':
description: A successful response.
schema:
$ref: '#/definitions/blueapiFlowV1GetInfoResponse'
default:
description: An unexpected error response.
schema:
$ref: '#/definitions/rpcStatus'
tags:
- Flow
/v1/settings/history/{id}:
get:
summary: Gets the settings configuration history for a user.
operationId: Flow_GetSettingsHistory
responses:
'200':
description: A successful response.
schema:
$ref: '#/definitions/v1GetSettingsHistoryResponse'
default:
description: An unexpected error response.
schema:
$ref: '#/definitions/rpcStatus'
parameters:
- name: id
description: Required. The id of the payer to fetch settings history for.
in: path
required: true
type: string
tags:
- Flow
/v1/settings/recommendations/{id}:
get:
summary: Fetch user savings plan details
operationId: Flow_GetRecommendationDetails
responses:
'200':
description: A successful response.
schema:
$ref: '#/definitions/v1GetRecommendationDetailsResponse'
default:
description: An unexpected error response.
schema:
$ref: '#/definitions/rpcStatus'
parameters:
- name: id
description: Required. The id of the payer to fetch recommendation details for.
in: path
required: true
type: string
tags:
- Flow
/v1/settings/{id}:
get:
summary: Fetch previous settings for a user
operationId: Flow_GetSettings
responses:
'200':
description: A successful response.
schema:
$ref: '#/definitions/v1GetSettingsResponse'
default:
description: An unexpected error response.
schema:
$ref: '#/definitions/rpcStatus'
parameters:
- name: id
description: Required. The id of the payer to fetch settings for.
in: path
required: true
type: string
tags:
- Flow
put:
summary: Creates or Updates the settings configuration for recommendation.
operationId: Flow_SetSettings
responses:
'200':
description: A successful response.
schema:
$ref: '#/definitions/v1SetSettingsResponse'
default:
description: An unexpected error response.
schema:
$ref: '#/definitions/rpcStatus'
parameters:
- name: id
description: Required. The id of the payer.
in: path
required: true
type: string
- name: body
in: body
required: true
schema:
$ref: '#/definitions/FlowSetSettingsBody'
tags:
- Flow
/v1/sp/purchaseDetails/notification:
post:
summary: Sends savings plan details to be purchased to a Slack channel or user email
operationId: Flow_SendSPToPurchaseDetailsNotification
responses:
'200':
description: A successful response.
schema:
$ref: '#/definitions/v1SendSPToPurchaseDetailsNotificationsResponse'
default:
description: An unexpected error response.
schema:
$ref: '#/definitions/rpcStatus'
parameters:
- name: body
description: Request message for the Flow.SendSPToPurchaseDetailsNotifications rpc.
in: body
required: true
schema:
$ref: '#/definitions/v1SendSPToPurchaseDetailsNotificationsRequest'
tags:
- Flow
/v1/sp/purchaseDetails/notification/link/expiry:
get:
summary: Checks the expiry of the link in the SP to purchase details notification
operationId: Flow_CheckSPToPurchaseDetailsLinkExpiry
responses:
'200':
description: A successful response.
schema:
$ref: '#/definitions/v1CheckSPToPurchaseDetailsLinkExpiryResponse'
default:
description: An unexpected error response.
schema:
$ref: '#/definitions/rpcStatus'
parameters:
- name: url
description: 'Required. The URL containing the expiry information to check.
The URL to check for expiration'
in: query
required: false
type: string
tags:
- Flow
/v1/sp/purchaseDetails/{payerId}/{yearMonth}:
get:
summary: Get savings plan details to be purchased .
operationId: Flow_GetSPToPurchaseDetails
responses:
'200':
description: A successful response.
schema:
$ref: '#/definitions/v1GetSPToPurchaseDetailsResponse'
default:
description: An unexpected error response.
schema:
$ref: '#/definitions/rpcStatus'
parameters:
- name: payerId
description: Required. The id of the payer account.
in: path
required: true
type: string
- name: yearMonth
description: Required. The year and month for which the savings plan details are requested, formatted
as "YYYYMM".
in: path
required: true
type: string
tags:
- Flow
/v1/sp/recommendation/notification:
post:
summary: Sends configuration and recommendation to a Slack channel
operationId: Flow_CreateSPRecommendationNotification
responses:
'200':
description: A successful response.
schema:
$ref: '#/definitions/v1CreateSPRecommendationNotificationResponse'
default:
description: An unexpected error response.
schema:
$ref: '#/definitions/rpcStatus'
parameters:
- name: body
in: body
required: true
schema:
$ref: '#/definitions/v1CreateSPRecommendationNotificationRequest'
tags:
- Flow
/v1/usagecost:
post:
summary: Gets the daily cost and usage details.
operationId: Flow_GetDailyUsageCostDetails
responses:
'200':
description: A successful response.
schema:
$ref: '#/definitions/v1GetDailyUsageCostDetailsResponse'
default:
description: An unexpected error response.
schema:
$ref: '#/definitions/rpcStatus'
parameters:
- name: body
description: Request message for the Flow.GetDailyUsageCostDetailsRequest rpc.
in: body
required: true
schema:
$ref: '#/definitions/v1GetDailyUsageCostDetailsRequest'
tags:
- Flow
/v1/user/settings/{id}:
get:
summary: Gets the user account settings.
operationId: Flow_GetUserAccountSettings
responses:
'200':
description: A successful response.
schema:
$ref: '#/definitions/v1GetUserAccountSettingsResponse'
default:
description: An unexpected error response.
schema:
$ref: '#/definitions/rpcStatus'
parameters:
- name: id
description: Required. The user ID of the user.
in: path
required: true
type: string
tags:
- Flow
put:
summary: Create or Update the user account settings.
operationId: Flow_SetUserAccountSettings
responses:
'200':
description: A successful response.
schema:
$ref: '#/definitions/v1SetUserAccountSettingsResponse'
default:
description: An unexpected error response.
schema:
$ref: '#/definitions/rpcStatus'
parameters:
- name: id
description: Required. The user ID of the user.
in: path
required: true
type: string
- name: body
in: body
required: true
schema:
$ref: '#/definitions/FlowSetUserAccountSettingsBody'
tags:
- Flow
definitions:
flowV1SavingsPlanDetailsPurchase:
type: object
properties:
payerId:
type: string
linkedAccounts:
type: string
accountScope:
type: string
savingsPlanType:
type: string
term:
type: integer
format: int32
region:
type: string
instanceFamily:
type: string
recommendedHourlyCommitment:
type: number
format: double
paymentOption:
type: string
upfrontCost:
type: number
format: double
monthlyCost:
type: number
format: double
totalCost:
type: number
format: double
expiryDate:
type: string
title: Savings plan details to be purchased
v1CreateCostExplorerAccessResponse:
type: object
properties:
target:
type: string
description: The queried target account.
roleArn:
type: string
description: The role ARN that provides the cross-account access permissions.
externalId:
type: string
description: The external id for this role.
stackId:
type: string
description: The id of the CloudFormation stack deployed in the target account.
stackRegion:
type: string
description: The region where the stack is deployed.
templateUrl:
type: string
description: The latest template used to deploy the stack.
status:
type: string
description: This can be `latest`, `outdated`, or some error information.
lastUpdated:
type: string
description: The last updated timestamp, RFC3339 UTC.
access:
type: string
title: 'The access type- partial access to view simulation only: "cloud_explorer_access"'
description: Response message for the Flow.CreateCostExplorerAccess rpc.
v1GetCostExplorerAccessTemplateUrlResponse:
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 Flow.GetCostExplorerAccessTemplateUrl rpc.
v1CreateSPPurchaseAccessResponse:
type: object
properties:
target:
type: string
description: The queried target account.
roleArn:
type: string
description: The role ARN that provides the cross-account access permissions.
externalId:
type: string
description: The external id for this role.
stackId:
type: string
description: The id of the CloudFormation stack deployed in the target account.
stackRegion:
type: string
description: The region where the stack is deployed.
templateUrl:
type: string
description: The latest template used to deploy the stack.
status:
type: string
description: This can be `latest`, `outdated`, or some error information.
lastUpdated:
type: string
description: The last updated timestamp, RFC3339 UTC.
access:
type: string
title: 'The access type- full access to view simulation and purchase saving plan: "savings_plan_access"'
description: Response message for the Flow.CreateSPPurchaseAccess rpc.
v1SetUserAccountSettingsResponse:
type: object
properties:
response:
type: string
description: Response message for the Flow.SetUserAccountSettings rpc.
v1SendSPToPurchaseDetailsNotificationsRequestSavingsPlanDetailsPurchase:
type: object
properties:
payerId:
type: string
linkedAccounts:
type: string
accountScope:
type: string
savingsPlanType:
type: string
term:
type: integer
format: int32
region:
type: string
instanceFamily:
type: string
recommendedHourlyCommitment:
type: number
format: double
paymentOption:
type: string
upfrontCost:
type: number
format: double
monthlyCost:
type: number
format: double
totalCost:
type: number
format: double
expiryDate:
type: string
title: Savings plan details to be purchased
v1CreateSPRecommendationNotificationRequest:
type: object
properties:
configurations:
$ref: '#/definitions/CreateSPRecommendationNotificationRequestConfigurations'
recommendation:
$ref: '#/definitions/CreateSPRecommendationNotificationRequestRecommendation'
title: Configuration and recommendation details to send to Slack
v1GetSettingsHistoryResponse:
type: object
properties:
settingsHistory:
type: array
items:
type: object
$ref: '#/definitions/v1SettingsHistory'
description: Response message for the Flow.GetSettingsHistory rpc.
v1CrossAccountAccessDetail:
type: object
properties:
roleArn:
type: string
description: The role ARN that provides the cross-account access permissions.
externalId:
type: string
description: The external id for this role.
stackId:
type: string
description: The id of the CloudFormation stack deployed in the target account.
stackRegion:
type: string
description: The region where the stack is deployed.
templateUrl:
type: string
description: The latest template used to deploy the stack.
status:
type: string
description: This can be `latest`, `outdated`, or some error information.
access:
type: string
title: 'The access type: "savings_plan_access" or "cost_explorer_access"'
description: Individual cross-access detail record.
v1GetDailyUsageCostDetailsResponse:
type: object
properties:
payerId:
type: string
description: The payer account ID for which the savings plan details are fetched.
monthlyCosts:
$ref: '#/definitions/v1MonthlyCosts'
description: Monthly aggregated cost summary for the Savings Plan.
spDetails:
type: array
items:
type: object
$ref: '#/definitions/v1SpDetails'
description: Purchased Savings Plan details for the payer account.
usageCostDetails:
type: array
items:
type: object
$ref: '#/definitions/v1UsageCostDetails'
description: Daily Savings Plan usage and cost details.
utilizationDetails:
type: array
items:
type: object
$ref: '#/definitions/v1UtilizationDetails'
description: Percentage of Savings Plan utilization per ARN.
description: A single entry containing Savings Plan, monthly cost summary, and usage breakdown.
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).'
v1GetUserAccountSettingsResponse:
type: object
properties:
id:
type: string
description: The payer ID of the user.
emails:
type: array
items:
type: string
description: List of email addresses to send notifications to.
theme:
type: string
description: User interface preferences.
language:
type: string
description: Preferred language for the user interface.
description: Response message for the Flow.GetUserAccountSettings rpc.
blueapiFlowV1GetInfoResponse:
type: object
properties:
response:
type: string
description: Response message for the Flow.GetInfo rpc.
v1SetSettingsResponse:
type: object
properties:
response:
type: string
description: Response message for the Flow.CreateSettings rpc.
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\
\ is provided, `https` is assumed.\n* An HTTP GET on the URL must yield a [google.protobuf.Type][]\n\
\ value in binary format, or produce an error.\n* Applications are allowed to cache lookup\
\ results based on the\n URL, or have them precompiled into a binary to avoid any\n lookup.\
\ Therefore, binary compatibility needs to be preserved\n on changes to types. (Use versioned\
\ type names to manage\n breaking changes.)\n\nNote: this functionality is not currently available\
\ in the official\nprotobuf release, and it is not used for type URLs beginning with\ntype.googleapis.com.\
\ As of May 2023, there are no widely used type server\nimplementations and no plans to implement\
\ one.\n\nSchemes other than `http`, `https` (or the empty scheme) might be\nused with implementation\
\ specific semantics."
additionalProperties: {}
description: "`Any` contains an arbitrary serialized protocol buffer message along with a\nURL that\
\ describes the type of the serialized message.\n\nProtobuf library provides support to pack/unpack\
\ Any values in the form\nof utility functions or additional generated methods of the Any type.\n\
\nExample 1: Pack and unpack a message in C++.\n\n Foo foo = ...;\n Any any;\n any.PackFrom(foo);\n\
\ ...\n if (any.UnpackTo(&foo)) {\n ...\n }\n\nExample 2: Pack and unpack a message\
\ in Java.\n\n Foo foo = ...;\n Any any = Any.pack(foo);\n ...\n if (any.is(Foo.class))\
\ {\n foo = any.unpack(Foo.class);\n }\n // or ...\n if (any.isSameTypeAs(Foo.getDefaultInstance()))\
\ {\n foo = any.unpack(Foo.getDefaultInstance());\n }\n\n Example 3: Pack and unpack a message\
\ in Python.\n\n foo = Foo(...)\n any = Any()\n any.Pack(foo)\n ...\n if any.Is(Foo.DESCRIPTOR):\n\
\ any.Unpack(foo)\n ...\n\n Example 4: Pack and unpack a message in Go\n\n foo :=\
\ &pb.Foo{...}\n any, err := anypb.New(foo)\n if err != nil {\n ...\n }\n \
\ ...\n foo := &pb.Foo{}\n if err := any.UnmarshalTo(foo); err != nil {\n ...\n \
\ }\n\nThe pack methods provided by protobuf library will by default use\n'type.googleapis.com/full.type.name'\
\ as the type URL and the unpack\nmethods only use the fully qualified type name after the last\
\ '/'\nin the type URL, for example \"foo.bar.com/x/y.z\" will yield type\nname \"y.z\".\n\nJSON\n\
====\nThe JSON representation of an `Any` value uses the regular\nrepresentation of the deserialized,\
\ embedded message, with an\nadditional field `@type` which contains the type URL. Example:\n\n\
\ package google.profile;\n message Person {\n string first_name = 1;\n string last_name\
\ = 2;\n }\n\n {\n \"@type\": \"type.googleapis.com/google.profile.Person\",\n \"\
firstName\": <string>,\n \"lastName\": <string>\n }\n\nIf the embedded message type is well-known\
\ and has a custom JSON\nrepresentation, that representation will be embedded adding a field\n`value`\
\ which holds the custom JSON in addition to the `@type`\nfield. Example (for message [google.protobuf.Duration][]):\n\
\n {\n \"@type\": \"type.googleapis.com/google.protobuf.Duration\",\n \"value\": \"\
1.212s\"\n }"
v1SendSPToPurchaseDetailsNotificationsResponse:
type: object
properties:
message:
type: string
success:
type: boolean
title: Response after sending SendSPToPurchaseDetailsNotifications to Slack
v1SendSPToPurchaseDetailsNotificationsRequest:
type: object
properties:
approval:
type: string
recommendation:
$ref: '#/definitions/v1SendSPToPurchaseDetailsNotificationsRequestSavingsPlanRecommendation'
purchases:
type: array
items:
type: object
$ref: '#/definitions/v1SendSPToPurchaseDetailsNotificationsRequestSavingsPlanDetailsPurchase'
mode:
type: string
title: '"slack" or "email"'
userEmail:
type: string
companyName:
type: string
ondemandCostBefore:
type: string
title: On-demand cost before savings plan
ondemandCostAfter:
type: string
title: On-demand cost after savings plan
reductionRate:
type: string
title: Cost reduction percentage
approvalLink:
type: string
title: Link for approval action
language:
type: string
title: Language code (en or ja)
linkExpiryDate:
type: string
title: ISO8601 formatted date when the approval link expires (3 days from sending)
description: Request message for the Flow.SendSPToPurchaseDetailsNotifications rpc.
v1CreateSPPurchaseAccessRequest:
type: object
properties:
target:
type: string
description: Required. The target AWS account to validate.
description: Request message for the Flow.CreateSPPurchaseAccess rpc.
v1GetSPPurchaseAccessTemplateUrlResponse:
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 Flow.GetSPPurchaseAccessTemplateUrl rpc.
blueapiFlowV1DailyUtilization:
type: object
properties:
currentDate:
type: string
description: The current date for which the utilization is reported.
utilizationPercentage:
type: number
format: double
title: The percentage of utilization for this specific date
description: Daily utilization data for a specific date range.
v1SpDetails:
type: object
properties:
savingsPlanType:
type: string
description: The savings plan type, e.g., `Compute`, `Ec2`.
state:
type: string
description: The current state of the savings plan, e.g., `ACTIVE`, `EXPIRED`, `PENDING`.
startTime:
type: string
description: The start time of the savings plan.
endTime:
type: string
description: The end time of the savings plan.
returnableUntil:
type: string
description: The date until which the savings plan is returnable, if applicable.
commitment:
type: number
format: double
description: The commitment amount per hour for the savings plan in USD.
currency:
type: string
description: The currency in which the savings plan is priced, e.g., `USD`.
planTerm:
type: string
description: The duration of the plan term, e.g., `1 year`, `3 years`.
paymentOption:
type: string
description: The payment option for the savings plan, e.g., `All Upfront`, `Partial Upfront`,
`No Upfront`.
productTypes:
type: array
items:
type: string
description: The product types covered by the savings plan, e.g., `EC2`, `Lambda`.
upfrontPaymentAmount:
type: number
format: double
description: The total amount paid at the start of the Savings Plan, if applicable.
recurringPaymentAmount:
type: number
format: double
description: The periodic (usually monthly) charge to pay over the term of the plan.
ec2InstanceFamily:
type: array
items:
type: string
description: The EC2 instance families covered by the savings plan, e.g., `m5`, `c5`.
tags:
type: string
description: The tag that refers to the one who purchased the Savings Plan.
purchasedBy:
type: string
description: The user or Flow that purchased the Savings Plan.
description: Savings Plan Details to be used in the GetDailyUsageCostDetailsResponse.
v1SendSPToPurchaseDetailsNotificationsRequestSavingsPlanRecommendation:
type: object
properties:
payerId:
type: string
linkedAccounts:
type: string
accountScope:
type: string
savingsPlanType:
type: string
term:
ty
# --- truncated at 32 KB (46 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/alphaus/refs/heads/main/openapi/alphaus-flow-api-openapi.yml