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 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\": ,\n \"lastName\": \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 }" v1GetMSPDefaultMetaResponse: type: object properties: defaultMeta: type: array items: type: string apiAuditExportData: type: object properties: content: type: string description: 'Base64 encoded value For example, content :`dGltZSx1c2VySWQsc3ViVXNlcklkLHVzZXJOYW1lLGlzQWRtaW4sZXZlbnROYW1lLHBhdGgsdXNlclBhc3MsY2F0ZU5hbWUNCg==` Decoding this value, get `time,userId,subUserId,userName,isAdmin,eventName,path,userPass,cateName`.' downloadedRows: type: string format: int64 description: Downloaded content lines. totalRows: type: string format: int64 description: Total of content lines. description: AuditExportData resource definition. v1CreateNotificationChannelRequest: 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.CreateNotificationChannel rpc. apiEmailChannel: type: object properties: format: type: string recipients: type: array items: type: string v1ListNotificationsResponse: type: object properties: notifications: type: array items: type: object $ref: '#/definitions/blueapiApiNotification' description: Response message for the Admin.ListNotifications rpc. v1ListAccountGroupsResponse: type: object properties: accountGroups: type: array items: type: object $ref: '#/definitions/apiAccountGroup' description: Response message for the Admin.ListAccountGroups rpc. v1FeatureSetting: type: object properties: featureId: type: string isEnabled: type: boolean title: For rpc UpdateWaveFeature v1CloudWatchMetricsStream: type: object properties: target: type: string description: The queried target account. 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. description: Response message for the Admin.CreateCloudWatchMetricsStream rpc. v1UpdateMSPDefaultMetaRequest: type: object properties: mspId: type: string defaultMeta: type: array items: type: string v1GetAccountGroupResponse: type: object properties: acctGroup: $ref: '#/definitions/apiAccountGroup' description: Response message for the Admin.GetAccountGroup rpc. v1ProformaCur: type: object properties: orgId: type: string payerId: type: string billingInternalId: type: string reportName: type: string bucketName: type: string prefix: type: string timeCreated: type: string v1CreateDefaultCostAccessRequest: type: object properties: target: type: string description: Required. The target AWS account to validate. curType: type: string description: Optional. The CUR type. Values should be either 'legacy' or '2.0'. Defaults to 'legacy' if empty. description: Request message for the Admin.CreateDefaultCostAccess rpc. v1CreateNotificationRequest: type: object properties: notificationType: type: string description: 'Required Valid values: `InvoiceCalculationStarted`, `InvoiceCalculationFinished`, `CurUpdatedAfterInvoice`. `AccountBudgetAlert`.' channels: type: array items: type: string title: Required enabled: type: boolean title: Required account: $ref: '#/definitions/adminV1NotificationAccount' description: Optional. only available Wave(Pro). description: Request message for the Admin.CreateNotificationTypeChannels rpc. v1CreateProformaCurRequest: type: object properties: payerId: type: string description: Required. billingInternalId: type: string description: Required. reportName: type: string description: Required. s3BucketName: type: string title: 'Optional. Default value: `alphaus-proforma-cur-export`' s3Prefix: type: string title: 'Optional. Default value: `pre`' s3Region: type: string title: 'Optional. Default value: `us-east-1`' title: Request message for Admin.CreateProformaCur rpc blueapiApiNotification: type: object properties: id: type: string notificationType: type: string channels: type: array items: type: string enabled: type: boolean account: $ref: '#/definitions/blueapiApiNotificationAccount' apiAuditExport: type: object properties: data: $ref: '#/definitions/apiAuditExportData' description: AuditExport resource definition. blueapiApiNotificationAccount: type: object properties: vendor: type: string accountId: type: string v1CreateCloudWatchMetricsStreamRequest: type: object properties: target: type: string description: Required. The target AWS account to validate. description: Request message for the Admin.CreateCloudWatchMetricsStream rpc. blueapiApiAccount: type: object properties: vendor: type: string title: The vendor id: type: string description: The account id. name: type: string description: The account name. orgId: type: string description: The parent organization id. billingInternalId: type: string description: The parent billing internal id. metadata: type: array items: type: object $ref: '#/definitions/apiKeyValue' description: The attributes (key/value pair) of the account. v1DefaultCostAccess: 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. description: Response message for the Admin.GetDefaultCostAccess, Admin.CreateDefaultCostAccess rpc. v1SaveNotificationSettingsRequest: type: object properties: enabled: type: boolean description: Required. Enable or disable notifications globally. defaultChannel: type: string description: Optional. If non-empty, set this notification channel id as the default channel. description: Request message for the Admin.SaveNotificationSettings rpc. v1WaveFeature: type: object properties: label: type: string featureId: type: string isEnabled: type: boolean tickStrategy: type: string condition: type: string flag: type: string children: type: array items: type: object $ref: '#/definitions/v1WaveFeature' title: for wave features settings data maping apiNotificationSettings: type: object properties: enabled: type: boolean description: Indicates whether notification is enabled for this account globally. defaultChannel: type: string description: The id of the default notification channel.