Alphaus Prism API
(Alpha) Prism API. Base URL: https://api.alphaus.cloud/m/blue/prism
(Alpha) Prism API. Base URL: https://api.alphaus.cloud/m/blue/prism
swagger: '2.0'
info:
title: Blue API reference Admin Prism 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: Prism
description: '(Alpha) Prism API. Base URL: https://api.alphaus.cloud/m/blue/prism'
externalDocs:
description: Service definition
url: https://github.com/alphauslabs/blueapi/tree/main/prism/
paths:
/v1/activity/all:read:
post:
operationId: Prism_ListActivities
responses:
'200':
description: A successful response.(streaming responses)
schema:
type: object
properties:
result:
$ref: '#/definitions/v1Activity'
error:
$ref: '#/definitions/rpcStatus'
title: Stream result of v1Activity
default:
description: An unexpected error response.
schema:
$ref: '#/definitions/rpcStatus'
parameters:
- name: body
in: body
required: true
schema:
$ref: '#/definitions/v1ListActivitiesRequest'
tags:
- Prism
/v1/gdrive/share:
post:
operationId: Prism_ShareGDrive
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/v1ShareGDriveRequest'
tags:
- Prism
/v1/integration/status:
get:
operationId: Prism_GetIntegrationStatus
responses:
'200':
description: A successful response.
schema:
$ref: '#/definitions/v1GetIntegrationStatusResponse'
default:
description: An unexpected error response.
schema:
$ref: '#/definitions/rpcStatus'
tags:
- Prism
/v1/integration/status/all:read:
post:
operationId: Prism_ListIntegrationStatus
responses:
'200':
description: A successful response.(streaming responses)
schema:
type: object
properties:
result:
$ref: '#/definitions/v1IntegrationStatus'
error:
$ref: '#/definitions/rpcStatus'
title: Stream result of v1IntegrationStatus
default:
description: An unexpected error response.
schema:
$ref: '#/definitions/rpcStatus'
parameters:
- name: body
in: body
required: true
schema:
$ref: '#/definitions/v1ListIntegrationStatusRequest'
tags:
- Prism
/v1/member/all:read:
post:
operationId: Prism_ListTeamMembers
responses:
'200':
description: A successful response.(streaming responses)
schema:
type: object
properties:
result:
$ref: '#/definitions/v1Member'
error:
$ref: '#/definitions/rpcStatus'
title: Stream result of v1Member
default:
description: An unexpected error response.
schema:
$ref: '#/definitions/rpcStatus'
parameters:
- name: body
in: body
required: true
schema:
$ref: '#/definitions/v1ListTeamMembersRequest'
tags:
- Prism
/v1/org:
post:
summary: Creates a new organization.
operationId: Prism_CreateOrganization
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/v1CreateOrganizationRequest'
tags:
- Prism
/v1/org/code:
post:
operationId: Prism_GenerateOrganizationCode
responses:
'200':
description: A successful response.
schema:
$ref: '#/definitions/v1GenerateOrganizationCodeResponse'
default:
description: An unexpected error response.
schema:
$ref: '#/definitions/rpcStatus'
parameters:
- name: body
in: body
required: true
schema:
$ref: '#/definitions/v1GenerateOrganizationCodeRequest'
tags:
- Prism
/v1/org/join:
post:
operationId: Prism_JoinOrganization
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/v1JoinOrganizationRequest'
tags:
- Prism
/v1/org/{id}:
get:
summary: Gets information about an organization by ID.
operationId: Prism_GetOrganization
responses:
'200':
description: A successful response.
schema:
$ref: '#/definitions/v1GetOrganizationResponse'
default:
description: An unexpected error response.
schema:
$ref: '#/definitions/rpcStatus'
parameters:
- name: id
description: Required organization ID.
in: path
required: true
type: string
tags:
- Prism
delete:
operationId: Prism_DeleteOrganization
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 organization ID.
in: path
required: true
type: string
tags:
- Prism
put:
operationId: Prism_UpdateOrganization
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 organization ID.
in: path
required: true
type: string
- name: body
in: body
required: true
schema:
$ref: '#/definitions/PrismUpdateOrganizationBody'
tags:
- Prism
/v1/org/{id}/timezone:
put:
operationId: Prism_UpdateOrgTimezone
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 organization ID.
in: path
required: true
type: string
- name: body
in: body
required: true
schema:
$ref: '#/definitions/PrismUpdateOrgTimezoneBody'
tags:
- Prism
/v1/product:
post:
operationId: Prism_CreateProduct
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/v1CreateProductRequest'
tags:
- Prism
/v1/product/all:read:
post:
operationId: Prism_ListProducts
responses:
'200':
description: A successful response.(streaming responses)
schema:
type: object
properties:
result:
$ref: '#/definitions/v1Product'
error:
$ref: '#/definitions/rpcStatus'
title: Stream result of v1Product
default:
description: An unexpected error response.
schema:
$ref: '#/definitions/rpcStatus'
parameters:
- name: body
in: body
required: true
schema:
$ref: '#/definitions/v1ListProductsRequest'
tags:
- Prism
/v1/product/{id}:
delete:
operationId: Prism_DeleteProduct
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 product ID.
in: path
required: true
type: string
tags:
- Prism
/v1/project:
post:
summary: 'WIP: Creates a new project.'
operationId: Prism_CreateProject
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/v1CreateProjectRequest'
tags:
- Prism
/v1/project/all:read:
post:
summary: 'WIP: Lists all projects'
operationId: Prism_ListProjects
responses:
'200':
description: A successful response.(streaming responses)
schema:
type: object
properties:
result:
$ref: '#/definitions/v1Project'
error:
$ref: '#/definitions/rpcStatus'
title: Stream result of v1Project
default:
description: An unexpected error response.
schema:
$ref: '#/definitions/rpcStatus'
parameters:
- name: body
in: body
required: true
schema:
$ref: '#/definitions/v1ListProjectsRequest'
tags:
- Prism
/v1/project/{id}:
get:
summary: 'WIP: Gets information about a project by ID.'
operationId: Prism_GetProject
responses:
'200':
description: A successful response.
schema:
$ref: '#/definitions/v1GetProjectResponse'
default:
description: An unexpected error response.
schema:
$ref: '#/definitions/rpcStatus'
parameters:
- name: id
description: Required project ID.
in: path
required: true
type: string
tags:
- Prism
delete:
summary: 'WIP: Deletes a project by ID.'
operationId: Prism_DeleteProject
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 project ID.
in: path
required: true
type: string
tags:
- Prism
/v1/projecttoteam/all:read:
post:
operationId: Prism_ListProjectToTeam
responses:
'200':
description: A successful response.(streaming responses)
schema:
type: object
properties:
result:
$ref: '#/definitions/v1ListProjectToTeamResponse'
error:
$ref: '#/definitions/rpcStatus'
title: Stream result of v1ListProjectToTeamResponse
default:
description: An unexpected error response.
schema:
$ref: '#/definitions/rpcStatus'
parameters:
- name: body
in: body
required: true
schema:
$ref: '#/definitions/v1ListProjectToTeamRequest'
tags:
- Prism
/v1/projecttoteam/assign:
post:
operationId: Prism_AssignProjectToTeam
responses:
'200':
description: A successful response.
schema:
$ref: '#/definitions/v1AssignProjectToTeamResponse'
default:
description: An unexpected error response.
schema:
$ref: '#/definitions/rpcStatus'
parameters:
- name: body
in: body
required: true
schema:
$ref: '#/definitions/v1AssignProjectToTeamRequest'
tags:
- Prism
/v1/reportschedule:
post:
operationId: Prism_CreateReportSchedule
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/v1ReportSchedule'
tags:
- Prism
/v1/reportschedule/all:read:
post:
operationId: Prism_ListReportSchedules
responses:
'200':
description: A successful response.(streaming responses)
schema:
type: object
properties:
result:
$ref: '#/definitions/v1ReportSchedule'
error:
$ref: '#/definitions/rpcStatus'
title: Stream result of v1ReportSchedule
default:
description: An unexpected error response.
schema:
$ref: '#/definitions/rpcStatus'
parameters:
- name: body
in: body
required: true
schema:
$ref: '#/definitions/v1ListReportSchedulesRequest'
tags:
- Prism
/v1/reportschedule/{id}:
put:
operationId: Prism_UpdateReportSchedule
responses:
'200':
description: A successful response.
schema:
type: object
properties: {}
default:
description: An unexpected error response.
schema:
$ref: '#/definitions/rpcStatus'
parameters:
- name: id
in: path
required: true
type: string
- name: body
in: body
required: true
schema:
$ref: '#/definitions/PrismUpdateReportScheduleBody'
tags:
- Prism
/v1/team:
post:
operationId: Prism_CreateTeam
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/v1CreateTeamRequest'
tags:
- Prism
/v1/team/all:read:
post:
operationId: Prism_ListTeams
responses:
'200':
description: A successful response.(streaming responses)
schema:
type: object
properties:
result:
$ref: '#/definitions/v1Team'
error:
$ref: '#/definitions/rpcStatus'
title: Stream result of v1Team
default:
description: An unexpected error response.
schema:
$ref: '#/definitions/rpcStatus'
parameters:
- name: body
in: body
required: true
schema:
$ref: '#/definitions/v1ListTeamsRequest'
tags:
- Prism
/v1/team/{id}:
get:
operationId: Prism_GetTeam
responses:
'200':
description: A successful response.
schema:
$ref: '#/definitions/v1GetTeamResponse'
default:
description: An unexpected error response.
schema:
$ref: '#/definitions/rpcStatus'
parameters:
- name: id
description: Required team ID.
in: path
required: true
type: string
tags:
- Prism
delete:
operationId: Prism_DeleteTeam
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 team ID.
in: path
required: true
type: string
tags:
- Prism
/v1/test:
get:
summary: Test endpoint only.
operationId: Prism_Test
responses:
'200':
description: A successful response.
schema:
$ref: '#/definitions/blueapiPrismV1TestResponse'
default:
description: An unexpected error response.
schema:
$ref: '#/definitions/rpcStatus'
tags:
- Prism
/v1/verify:
post:
operationId: Prism_VerifyUser
responses:
'200':
description: A successful response.
schema:
$ref: '#/definitions/v1VerifyUserResponse'
default:
description: An unexpected error response.
schema:
$ref: '#/definitions/rpcStatus'
parameters:
- name: body
in: body
required: true
schema:
$ref: '#/definitions/v1VerifyUserRequest'
tags:
- Prism
/v1/workflow/all:read:
post:
operationId: Prism_ListWorkflows
responses:
'200':
description: A successful response.(streaming responses)
schema:
type: object
properties:
result:
$ref: '#/definitions/v1Workflow'
error:
$ref: '#/definitions/rpcStatus'
title: Stream result of v1Workflow
default:
description: An unexpected error response.
schema:
$ref: '#/definitions/rpcStatus'
parameters:
- name: body
in: body
required: true
schema:
$ref: '#/definitions/v1ListWorkflowsRequest'
tags:
- Prism
/v1/workflow/{name}:
put:
operationId: Prism_UpdateWorkflow
responses:
'200':
description: A successful response.
schema:
type: object
properties: {}
default:
description: An unexpected error response.
schema:
$ref: '#/definitions/rpcStatus'
parameters:
- name: name
description: Required workflow name.
in: path
required: true
type: string
- name: body
in: body
required: true
schema:
$ref: '#/definitions/PrismUpdateWorkflowBody'
tags:
- Prism
definitions:
v1Team:
type: object
properties:
id:
type: string
name:
type: string
org:
type: string
createdAt:
type: string
lastUpdate:
type: string
email:
type: string
v1Project:
type: object
properties:
id:
type: string
name:
type: string
createdAt:
type: string
lastUpdate:
type: string
email:
type: string
PrismUpdateWorkflowBody:
type: object
properties:
status:
type: string
description: Allowed values are "on" and "off".
v1GetTeamResponse:
type: object
properties:
id:
type: string
name:
type: string
v1CreateTeamRequest:
type: object
properties:
name:
type: string
email:
type: string
v1ListProjectToTeamResponse:
type: object
properties:
projectId:
type: string
projectName:
type: string
teamId:
type: string
teamName:
type: string
v1GenerateOrganizationCodeResponse:
type: object
properties:
code:
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).'
v1CreateOrganizationRequest:
type: object
properties:
name:
type: string
email:
type: string
domains:
type: array
items:
type: string
description: List of domains associated with the organization.
timezone:
type: string
v1Member:
type: object
properties:
org:
type: string
team:
type: string
id:
type: string
email:
type: string
name:
type: string
createdAt:
type: string
lastUpdate:
type: string
PrismUpdateReportScheduleBody:
type: object
properties:
name:
type: string
schedule:
type: string
status:
type: string
title: 'Supported values: "on", "off"'
scheduleCron:
type: string
createdAt:
type: string
lastUpdate:
type: string
workflowId:
type: string
v1GenerateOrganizationCodeRequest:
type: object
v1GetProjectResponse:
type: object
properties:
id:
type: string
name:
type: string
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 }"
blueapiPrismV1TestResponse:
type: object
properties:
response:
type: string
v1VerifyUserRequest:
type: object
v1ListIntegrationStatusRequest:
type: object
v1ListWorkflowsRequest:
type: object
v1IntegrationStatus:
type: object
properties:
type:
type: string
title: '"github", "slack"'
status:
type: string
title: '"on", "off"'
id:
type: string
teamName:
type: string
lastUpdate:
type: string
PrismUpdateOrganizationBody:
type: object
properties:
name:
type: string
email:
type: string
v1VerifyUserResponse:
type: object
properties:
email:
type: string
org:
type: string
isOwner:
type: boolean
v1ReportSchedule:
type: object
properties:
id:
type: string
name:
type: string
schedule:
type: string
status:
type: string
title: 'Supported values: "on", "off"'
scheduleCron:
type: string
createdAt:
type: string
lastUpdate:
type: string
workflowId:
type: string
v1CreateProjectRequest:
type: object
properties:
name:
type: string
email:
type: string
v1Workflow:
type: object
properties:
name:
type: string
status:
type: string
description: Allowed values are "on" and "off".
v1Activity:
type: object
properties:
id:
type: string
type:
type: string
createdAt:
type: string
v1AssignProjectToTeamResponse:
type: object
properties:
teamId:
type: string
teamName:
type: string
projectIds:
type: string
description: Comma-separated list of project IDs that were assigned.
projectNames:
type: string
description: Comma-separated list of project names that were assigned.
v1GetOrganizationResponse:
type: object
properties:
id:
type: string
name:
type: string
email:
type: string
timezone:
type: string
v1ListProjectToTeamRequest:
type: object
v1ListProductsRequest:
type: object
v1JoinOrganizationRequest:
type: object
properties:
code:
type: string
description: Required.
email:
type: string
description: Required user email.
name:
type: string
description: Optional user name.
social:
type: string
title: Optional "google", "github"
v1CreateProductRequest:
type: object
properties:
name:
type: string
email:
type: string
v1ListReportSchedulesRequest:
type: object
v1Product:
type: object
properties:
id:
type: string
name:
type: string
email:
type: string
createdAt:
type: string
lastUpdate:
type: string
PrismUpdateOrgTimezoneBody:
type: object
properties:
timezone:
type: string
description: Timezone in IANA format, e.g., "Asia/Kuala_Lumpur".
v1ListTeamMembersRequest:
type: object
v1AssignProjectToTeamRequest:
type: object
properties:
createNew:
type: boolean
description: Indicates whether a new project was created as part of the assignment.
projectEmail:
type: string
description: Should not be empty if create_new is true.
projectName:
type: string
description: Should not be empty if create_new is true.
teamId:
type: string
projectIds:
type: string
description: Required. Comma-separated list of project IDs to assign to the team.
v1ListTeamsRequest:
type: object
v1ShareGDriveRequest:
type: object
properties:
drivePath:
type: string
v1GetIntegrationStatusResponse:
type: object
properties:
status:
# --- truncated at 32 KB (32 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/alphaus/refs/heads/main/openapi/alphaus-prism-api-openapi.yml