Alphaus Luster API
(ALPHA) Luster API. Base URL: https://api.alphaus.cloud/m/blue/luster
(ALPHA) Luster API. Base URL: https://api.alphaus.cloud/m/blue/luster
swagger: '2.0'
info:
title: Blue API reference Admin Luster 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: Luster
description: '(ALPHA) Luster API. Base URL: https://api.alphaus.cloud/m/blue/luster'
externalDocs:
description: Luster is a service that manages user contexts.
url: https://github.com/alphauslabs/blueapi/tree/main/luster/
paths:
/v1/contexts/label:
post:
summary: (ALPHA) [LABEL] Creates label.
operationId: Luster_CreateLabel
responses:
'200':
description: A successful response.
schema:
$ref: '#/definitions/apiLusterLabel'
default:
description: An unexpected error response.
schema:
$ref: '#/definitions/rpcStatus'
parameters:
- name: body
description: Request message for the Luster.CreateLabel rpc.
in: body
required: true
schema:
$ref: '#/definitions/v1CreateLabelRequest'
tags:
- Luster
/v1/contexts/label/{id}:
delete:
summary: (ALPHA) [LABEL] Deletes label.
operationId: Luster_DeleteLabel
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. the label id.
in: path
required: true
type: string
tags:
- Luster
put:
summary: (ALPHA) [LABEL] Updates label.
operationId: Luster_UpdateLabel
responses:
'200':
description: A successful response.
schema:
$ref: '#/definitions/apiLusterLabel'
default:
description: An unexpected error response.
schema:
$ref: '#/definitions/rpcStatus'
parameters:
- name: id
description: Required. the label id.
in: path
required: true
type: string
- name: body
in: body
required: true
schema:
$ref: '#/definitions/LusterUpdateLabelBody'
tags:
- Luster
/v1/contexts/label:read:
post:
summary: (ALPHA) [LABEL] Reads labels.
operationId: Luster_ReadLabels
responses:
'200':
description: A successful response.(streaming responses)
schema:
type: object
properties:
result:
$ref: '#/definitions/apiLusterLabel'
error:
$ref: '#/definitions/rpcStatus'
title: Stream result of apiLusterLabel
default:
description: An unexpected error response.
schema:
$ref: '#/definitions/rpcStatus'
parameters:
- name: body
description: Request message for the Luster.ReadLabels rpc.
in: body
required: true
schema:
$ref: '#/definitions/v1ReadLabelsRequest'
tags:
- Luster
/v1/contexts/{spaceId}/context:
post:
summary: (ALPHA) [CONTEXT] Creates context.
operationId: Luster_CreateContext
responses:
'200':
description: A successful response.
schema:
$ref: '#/definitions/lusterContext'
default:
description: An unexpected error response.
schema:
$ref: '#/definitions/rpcStatus'
parameters:
- name: spaceId
description: Required. The space id.
in: path
required: true
type: string
- name: body
in: body
required: true
schema:
$ref: '#/definitions/LusterCreateContextBody'
tags:
- Luster
/v1/contexts/{spaceId}/context/{contextId}/comment:
post:
summary: (ALPHA) [COMMENT] Creates comment in context.
operationId: Luster_CreateContextComment
responses:
'200':
description: A successful response.
schema:
$ref: '#/definitions/lusterComment'
default:
description: An unexpected error response.
schema:
$ref: '#/definitions/rpcStatus'
parameters:
- name: spaceId
description: Required. the space id.
in: path
required: true
type: string
- name: contextId
description: Required. the context id.
in: path
required: true
type: string
- name: body
in: body
required: true
schema:
$ref: '#/definitions/LusterCreateContextCommentBody'
tags:
- Luster
/v1/contexts/{spaceId}/context/{contextId}/comment/{id}:
delete:
summary: (ALPHA) [COMMENT] Deletes comment in context.
operationId: Luster_DeleteContextComment
responses:
'200':
description: A successful response.
schema:
type: object
properties: {}
default:
description: An unexpected error response.
schema:
$ref: '#/definitions/rpcStatus'
parameters:
- name: spaceId
description: Required. the space id.
in: path
required: true
type: string
- name: contextId
description: Required. the context id.
in: path
required: true
type: string
- name: id
description: Required. the comment id.
in: path
required: true
type: string
tags:
- Luster
put:
summary: (ALPHA) [COMMENT] Updates comment in context.
operationId: Luster_UpdateContextComment
responses:
'200':
description: A successful response.
schema:
$ref: '#/definitions/lusterComment'
default:
description: An unexpected error response.
schema:
$ref: '#/definitions/rpcStatus'
parameters:
- name: spaceId
description: Required. the space id.
in: path
required: true
type: string
- name: contextId
description: Required. the context id.
in: path
required: true
type: string
- name: id
description: Required. the comment id.
in: path
required: true
type: string
- name: body
in: body
required: true
schema:
$ref: '#/definitions/LusterUpdateContextCommentBody'
tags:
- Luster
/v1/contexts/{spaceId}/context/{id}:
get:
summary: (ALPHA [CONTEXT]) Gets context.
operationId: Luster_GetContext
responses:
'200':
description: A successful response.
schema:
$ref: '#/definitions/v1GetContextResponse'
default:
description: An unexpected error response.
schema:
$ref: '#/definitions/rpcStatus'
parameters:
- name: spaceId
description: Required. The space id.
in: path
required: true
type: string
- name: id
description: the context id.
in: path
required: true
type: string
- name: fieldMask
description: 'Optional. field_mask
see more info: https://github.com/protocolbuffers/protobuf/blob/main/src/google/protobuf/field_mask.proto'
in: query
required: false
type: string
tags:
- Luster
delete:
summary: (ALPHA) [CONTEXT] Deletes context.
operationId: Luster_DeleteContext
responses:
'200':
description: A successful response.
schema:
type: object
properties: {}
default:
description: An unexpected error response.
schema:
$ref: '#/definitions/rpcStatus'
parameters:
- name: spaceId
description: Required. The space id.
in: path
required: true
type: string
- name: id
description: Required. the context id.
in: path
required: true
type: string
tags:
- Luster
put:
summary: (ALPHA) [CONTEXT] Updates context.
operationId: Luster_UpdateContext
responses:
'200':
description: A successful response.
schema:
$ref: '#/definitions/lusterContext'
default:
description: An unexpected error response.
schema:
$ref: '#/definitions/rpcStatus'
parameters:
- name: spaceId
description: Required. The space id.
in: path
required: true
type: string
- name: id
description: Required. the context id.
in: path
required: true
type: string
- name: body
in: body
required: true
schema:
$ref: '#/definitions/LusterUpdateContextBody'
tags:
- Luster
/v1/contexts/{spaceId}:read:
post:
summary: (ALPHA) [CONTEXT] Reads contexts.
operationId: Luster_ReadContexts
responses:
'200':
description: A successful response.(streaming responses)
schema:
type: object
properties:
result:
$ref: '#/definitions/lusterContext'
error:
$ref: '#/definitions/rpcStatus'
title: Stream result of lusterContext
default:
description: An unexpected error response.
schema:
$ref: '#/definitions/rpcStatus'
parameters:
- name: spaceId
description: Required. The space id.
in: path
required: true
type: string
- name: body
in: body
required: true
schema:
$ref: '#/definitions/LusterReadContextsBody'
tags:
- Luster
/v1/hubs/{hubType}:
get:
summary: (ALPHA) [HUB] Gets hub.
operationId: Luster_GetHub
responses:
'200':
description: A successful response.
schema:
$ref: '#/definitions/lusterHub'
default:
description: An unexpected error response.
schema:
$ref: '#/definitions/rpcStatus'
parameters:
- name: hubType
description: Required. the hub type.
in: path
required: true
type: string
- name: fieldMask
description: 'Optional. field_mask
see more info: https://github.com/protocolbuffers/protobuf/blob/main/src/google/protobuf/field_mask.proto'
in: query
required: false
type: string
tags:
- Luster
/v1/hubs:read:
post:
summary: (ALPHA) [HUB] Reads hubs.
operationId: Luster_ReadHubs
responses:
'200':
description: A successful response.(streaming responses)
schema:
type: object
properties:
result:
$ref: '#/definitions/lusterHub'
error:
$ref: '#/definitions/rpcStatus'
title: Stream result of lusterHub
default:
description: An unexpected error response.
schema:
$ref: '#/definitions/rpcStatus'
parameters:
- name: body
description: Request message for the Luster.ReadHubs rpc.
in: body
required: true
schema:
$ref: '#/definitions/v1ReadHubsRequest'
tags:
- Luster
/v1/spaces:
post:
summary: (ALPHA) [SPACE] Creates space.
operationId: Luster_CreateSpace
responses:
'200':
description: A successful response.
schema:
$ref: '#/definitions/lusterSpace'
default:
description: An unexpected error response.
schema:
$ref: '#/definitions/rpcStatus'
parameters:
- name: body
description: Request message for the Luster.CreateSpace rpc.
in: body
required: true
schema:
$ref: '#/definitions/v1CreateSpaceRequest'
tags:
- Luster
/v1/spaces/{id}:
get:
summary: (ALPHA) [SPACE] Gets space.
operationId: Luster_GetSpace
responses:
'200':
description: A successful response.
schema:
$ref: '#/definitions/lusterSpace'
default:
description: An unexpected error response.
schema:
$ref: '#/definitions/rpcStatus'
parameters:
- name: id
description: the space id.
in: path
required: true
type: string
- name: fieldMask
description: 'Optional. field_mask
see more info: https://github.com/protocolbuffers/protobuf/blob/main/src/google/protobuf/field_mask.proto'
in: query
required: false
type: string
tags:
- Luster
delete:
summary: (ALPHA) [SPACE] Deletes space.
description: When deleted, contexts created within the space will also be deleted and cannot be
viewed.
operationId: Luster_DeleteSpace
responses:
'200':
description: A successful response.
schema:
type: object
properties: {}
default:
description: An unexpected error response.
schema:
$ref: '#/definitions/rpcStatus'
parameters:
- name: id
description: the space id.
in: path
required: true
type: string
tags:
- Luster
put:
summary: (ALPHA) [SPACE] Updates space.
operationId: Luster_UpdateSpace
responses:
'200':
description: A successful response.
schema:
$ref: '#/definitions/lusterSpace'
default:
description: An unexpected error response.
schema:
$ref: '#/definitions/rpcStatus'
parameters:
- name: id
description: Required. the space id.
in: path
required: true
type: string
- name: body
in: body
required: true
schema:
$ref: '#/definitions/LusterUpdateSpaceBody'
tags:
- Luster
/v1/spaces:read:
post:
summary: (ALPHA) [SPACE] Reads spaces.
operationId: Luster_ReadSpaces
responses:
'200':
description: A successful response.(streaming responses)
schema:
type: object
properties:
result:
$ref: '#/definitions/lusterSpace'
error:
$ref: '#/definitions/rpcStatus'
title: Stream result of lusterSpace
default:
description: An unexpected error response.
schema:
$ref: '#/definitions/rpcStatus'
parameters:
- name: body
description: Request message for the Luster.ReadSpaces rpc.
in: body
required: true
schema:
$ref: '#/definitions/v1ReadSpacesRequest'
tags:
- Luster
definitions:
lusterContextState:
type: string
enum:
- OPEN
- IN_PROGRESS
- CLOSED
default: OPEN
description: "The context state.\n\n - OPEN: open\nInitial state when context is created.\n - IN_PROGRESS:\
\ in progress\nIndicates work is in progress.\n - CLOSED: closed\nFinal state indicating work is\
\ completed."
LusterUpdateContextBody:
type: object
properties:
title:
type: string
title: 'Optional. The context title.
String length 1-500 characters'
content:
type: string
title: 'Optional. The context content.
String length 0-10000 characters'
labels:
type: array
items:
type: string
title: 'Optional. The context labels.
"labels": ["bug" "documentation"]'
assignees:
type: array
items:
type: string
title: 'Optional. The context assignees.
"assignees": ["username1" "username2"]'
contextType:
$ref: '#/definitions/lusterContextType'
title: 'Optional. The context type.
if not set, default: `any`'
state:
$ref: '#/definitions/lusterContextState'
description: Optional. The context state.
updateMask:
type: string
title: 'Required.
see more info: https://github.com/protocolbuffers/protobuf/blob/main/src/google/protobuf/field_mask.proto'
description: Request message for the Luster.UpdateContext rpc.
required:
- updateMask
LusterUpdateLabelBody:
type: object
properties:
name:
type: string
description: Optional. the label name.
color:
type: string
title: 'The label color.
Optional. format: HEX color code (#RRGGBB).
Example: #FF5733 (valid), #FFF (invalid - must be 6 digits), rgb(255, 87, 51) (invalid format)'
description:
type: string
title: 'Optional. the description.
String length 0-500 characters'
updateMask:
type: string
title: 'Required.
see more info: https://github.com/protocolbuffers/protobuf/blob/main/src/google/protobuf/field_mask.proto'
description: Request message for the Luster.UpdateLabel rpc.
required:
- updateMask
LusterCreateContextCommentBody:
type: object
properties:
content:
type: string
title: 'Required. The comment content.
String length 1-10000 characters'
description: Request message for the Luster.CreateContextComment rpc.
v1ReadLabelsRequest:
type: object
properties:
fieldMask:
type: string
title: Optional. field_mask
description: Request message for the Luster.ReadLabels rpc.
LusterUpdateContextCommentBody:
type: object
properties:
content:
type: string
title: 'Required. The comment content.
String length 1-10000 characters'
updateMask:
type: string
title: 'Required.
see more info: https://github.com/protocolbuffers/protobuf/blob/main/src/google/protobuf/field_mask.proto'
description: Request message for the Luster.UpdateContextComment rpc.
required:
- updateMask
lusterSpace:
type: object
properties:
id:
type: string
description: The space id.
name:
type: string
description: The space name.
description:
type: string
description: The space description.
members:
type: array
items:
type: string
description: The members in space.
createdAt:
type: string
title: 'The space created_at.
"created_at": "2023-10-27T10:00:00Z"'
readOnly: true
updatedAt:
type: string
title: 'The space updated_at.
"updated_at": "2023-10-27T10:00:00Z"'
readOnly: true
title: The message defines the space
v1GetContextResponse:
type: object
properties:
space:
$ref: '#/definitions/lusterSpace'
context:
$ref: '#/definitions/lusterContext'
comment:
type: array
items:
type: object
$ref: '#/definitions/lusterComment'
description: Response message for the Luster.GetContextResponse rpc.
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).'
v1CreateSpaceRequest:
type: object
properties:
name:
type: string
title: 'Required. the space name.
String length 1-60 characters'
description:
type: string
title: 'Optional. the space description.
String length 0-1000 characters'
members:
type: array
items:
type: string
description: Optional. the member ids.
description: Request message for the Luster.CreateSpace rpc.
LusterReadContextsBody:
type: object
properties:
fieldMask:
type: string
title: Optional. field_mask
description: Request message for the Luster.ReadContexts rpc.
LusterUpdateSpaceBody:
type: object
properties:
name:
type: string
title: 'Optional. the space name.
String length 1-60 characters'
description:
type: string
title: 'Optional. the space description.
String length 0-1000 characters'
members:
type: array
items:
type: string
description: Optional. the member ids.
updateMask:
type: string
title: 'Required.
see more info: https://github.com/protocolbuffers/protobuf/blob/main/src/google/protobuf/field_mask.proto'
description: Request message for the Luster.UpdateSpace rpc.
required:
- updateMask
v1ReadSpacesRequest:
type: object
properties:
fieldMask:
type: string
title: 'Optional. field_mask
see more info: https://github.com/protocolbuffers/protobuf/blob/main/src/google/protobuf/field_mask.proto
Available fields: id,name,description,members,created_at,updated_at'
description: Request message for the Luster.ReadSpaces 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 }"
v1CreateLabelRequest:
type: object
properties:
name:
type: string
title: 'The label name.
String length 1-100 characters'
color:
type: string
title: 'The label color.
Required format: HEX color code (#RRGGBB).
Example: #FF5733 (valid), #FFF (invalid - must be 6 digits), rgb(255, 87, 51) (invalid format)'
description:
type: string
title: 'The label description.
String length 0-500 characters'
description: Request message for the Luster.CreateLabel rpc.
v1ReadHubsRequest:
type: object
properties:
fieldMask:
type: string
title: 'Optional. field_mask
see more info: https://github.com/protocolbuffers/protobuf/blob/main/src/google/protobuf/field_mask.proto'
description: Request message for the Luster.ReadHubs rpc.
lusterComment:
type: object
properties:
id:
type: string
description: The comment id.
name:
type: string
description: The comment name.
content:
type: string
description: The comment content.
userId:
type: string
description: The comment user_id.
readOnly: true
createdAt:
type: string
title: 'The comment created_at.
"created_at": "2023-10-27T10:00:00Z"'
readOnly: true
updatedAt:
type: string
title: 'The comment updated_at.
"updated_at": "2023-10-27T10:00:00Z"'
readOnly: true
title: The message defines the comment
LusterCreateContextBody:
type: object
properties:
title:
type: string
title: 'Required. The context title.
String length 1-500 characters'
content:
type: string
title: 'Required. The context content.
String length 0-10000 characters'
labels:
type: array
items:
type: string
title: 'Optional. The context labels.
"labels": ["bug" "documentation"]'
assignees:
type: array
items:
type: string
title: 'Optional. The context assignees.
"assignees": ["username1" "username2"]'
contextType:
$ref: '#/definitions/lusterContextType'
title: 'Optional. The context type.
if not set, default: `any`'
description: Request message for the Luster.CreateContext rpc.
lusterHub:
type: object
properties:
id:
type: string
description: The hub id.
name:
type: string
description: The hub name.
cost:
type: array
items:
type: string
description: The cost in hub.
recommendation:
type: array
items:
type: string
description: The recommendation in hub.
title: The message defines the hub
lusterContextType:
type: string
enum:
- ANY
- SPACE
- ACCOUNT
- COST
default: ANY
description: "The context type.\n\n - ANY: Any type of context.\n - SPACE: Space-related context.\n\
\ - ACCOUNT: Account-related context.\n - COST: Cost-related context."
lusterContext:
type: object
properties:
id:
type: string
description: The context id.
name:
type: string
description: The context name.
number:
type: string
description: 'The context number.
Sequential number assigned to the context.'
title:
type: string
description: The context title.
content:
type: string
description: 'The context content.
Detailed content or description of the context.'
contextType:
$ref: '#/definitions/lusterContextType'
description: The context type.
state:
$ref: '#/definitions/lusterContextState'
description: The context state.
labels:
type: array
items:
type: string
title: 'The context labels.
"labels": ["bug" "documentation"]'
assignees:
type: array
items:
type: string
title: 'The context assignees.
"assignees": ["username1" "username2"]'
commentsCount:
type: string
format: int64
title: 'The context comments_count.
"comments_count": 0'
readOnly: true
createdAt:
type: string
title: 'The context created_at.
"created_at": "2023-10-27T10:00:00Z"'
readOnly: true
updatedAt:
type: string
title: 'The context updated_at.
"up
# --- truncated at 32 KB (33 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/alphaus/refs/heads/main/openapi/alphaus-luster-api-openapi.yml