Files
stack/components/fctl/membership-swagger.yaml

1598 lines
40 KiB
YAML

openapi: 3.0.3
info:
title: Membership API
contact: {}
version: "0.1.0"
servers:
- url: http://localhost:8080
description: Local server
paths:
/_info:
get:
summary: Get server info
operationId: getServerInfo
responses:
200:
description: Server information
content:
application/json:
schema:
$ref: '#/components/schemas/ServerInfo'
/organizations:
get:
summary: List organizations of the connected user
operationId: listOrganizations
parameters:
- name: expand
in: query
schema:
type: bool
required: false
responses:
200:
description: List of organizations
content:
application/json:
schema:
$ref: '#/components/schemas/ListOrganizationExpandedResponse'
post:
summary: Create organization
operationId: createOrganization
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/CreateOrganizationRequest'
responses:
201:
description: Organization created
content:
application/json:
schema:
$ref: '#/components/schemas/CreateOrganizationResponse'
400:
description: Error
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
/organizations/expanded:
get:
summary: List organizations of the connected user with expanded data
operationId: listOrganizationsExpanded
deprecated: true
responses:
200:
description: List of organizations with expanded data
content:
application/json:
schema:
$ref: '#/components/schemas/ListOrganizationExpandedResponse'
/organizations/{organizationId}:
get:
summary: Read organization
operationId: readOrganization
parameters:
- name: organizationId
in: path
schema:
type: string
required: true
- name: expand
in: query
schema:
type: bool
required: false
responses:
200:
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/ReadOrganizationResponse'
put:
summary: Update organization
operationId: updateOrganization
parameters:
- name: organizationId
in: path
schema:
type: string
required: true
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/OrganizationData'
responses:
200:
description: Organization updated
content:
application/json:
schema:
$ref: '#/components/schemas/ReadOrganizationResponse'
400:
description: Error
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
delete:
summary: Delete organization
operationId: deleteOrganization
parameters:
- name: organizationId
in: path
schema:
type: string
required: true
responses:
400:
description: Error
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
403:
description: Not Authorized
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
204:
description: Organization deleted
/organizations/{organizationId}/users:
get:
summary: List users of organization
operationId: listUsersOfOrganization
parameters:
- name: organizationId
in: path
schema:
type: string
required: true
responses:
403:
description: Not Authorized
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
200:
description: List of users
content:
application/json:
schema:
$ref: '#/components/schemas/ListUsersResponse'
/organizations/{organizationId}/users/{userId}:
parameters:
- name: organizationId
in: path
schema:
type: string
required: true
- name: userId
in: path
schema:
type: string
required: true
get:
summary: Read user of organization
operationId: readUserOfOrganization
responses:
400:
description: Error
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
403:
description: Not Authorized
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
200:
description: Read a user
content:
application/json:
schema:
$ref: '#/components/schemas/ReadOrganizationUserResponse'
put:
summary: Update user within an organization
operationId: upsertOrganizationUser
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/UpdateOrganizationUserRequest'
responses:
400:
description: Error
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
403:
description: Not Authorized
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
404:
description: Error
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
204:
description: Updated user
delete:
summary: delete user from organization
operationId: deleteUserFromOrganization
description: |
The owner of the organization can remove anyone while each user can leave any organization where it is not owner.
responses:
204:
description: User deleted from organization
400:
description: Error
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
403:
description: Not Authorized
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
/organizations/{organizationId}/stacks:
get:
summary: List stacks
operationId: listStacks
parameters:
- name: organizationId
in: path
schema:
type: string
required: true
- name: all
in: query
description: Include deleted and disabled stacks
schema:
type: boolean
required: false
- name: deleted
in: query
description: Include deleted stacks
deprecated: true
schema:
type: boolean
required: false
responses:
200:
description: List of stacks
content:
application/json:
schema:
$ref: '#/components/schemas/ListStacksResponse'
post:
summary: Create stack
operationId: createStack
parameters:
- name: organizationId
in: path
schema:
type: string
required: true
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/CreateStackRequest'
responses:
200:
description: Created stack
content:
application/json:
schema:
$ref: '#/components/schemas/CreateStackResponse'
400:
description: Error
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
403:
description: Not Authorized
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
/organizations/{organizationId}/stacks/{stackId}:
get:
summary: Find stack
operationId: getStack
parameters:
- name: organizationId
in: path
schema:
type: string
required: true
- name: stackId
in: path
schema:
type: string
required: true
responses:
200:
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/ReadStackResponse'
404:
description: NotFound
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
403:
description: Not Authorized
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
delete:
summary: Delete stack
operationId: deleteStack
parameters:
- name: organizationId
in: path
schema:
type: string
required: true
- name: stackId
in: path
schema:
type: string
required: true
responses:
204:
description: Stack deleted
400:
description: Bad request
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
404:
description: Not found
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
403:
description: Not Authorized
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
/organizations/{organizationId}/stacks/{stackId}/users:
get:
summary: List stack users accesses within an organization
operationId: listStackUsersAccesses
parameters:
- name: organizationId
in: path
schema:
type: string
required: true
- name: stackId
in: path
schema:
type: string
required: true
responses:
200:
description: Stack users access role
content:
application/json:
schema:
$ref: '#/components/schemas/StackUserAccessResponse'
403:
description: Not Authorized
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
404:
description: Error
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
/organizations/{organizationId}/stacks/{stackId}/users/{userId}:
get:
summary: Read stack user access role within an organization
operationId: readStackUserAccess
parameters:
- name: organizationId
in: path
schema:
type: string
required: true
- name: stackId
in: path
schema:
type: string
required: true
- name: userId
in: path
schema:
type: string
required: true
responses:
200:
description: Stack user access role
content:
application/json:
schema:
$ref: '#/components/schemas/ReadStackUserAccess'
403:
description: Not Authorized
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
404:
description: Error
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
delete:
summary: Delete stack user access role within an organization
operationId: deleteStackUserAccess
parameters:
- name: organizationId
in: path
schema:
type: string
required: true
- name: stackId
in: path
schema:
type: string
required: true
- name: userId
in: path
schema:
type: string
required: true
responses:
403:
description: Not Authorized
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
404:
description: Error
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
204:
description: Updated user
put:
summary: Update stack user access role within an organization
operationId: upsertStackUserAccess
parameters:
- name: organizationId
in: path
schema:
type: string
required: true
- name: stackId
in: path
schema:
type: string
required: true
- name: userId
in: path
schema:
type: string
required: true
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/UpdateStackUserRequest'
responses:
400:
description: Error
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
403:
description: Not Authorized
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
404:
description: Error
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
204:
description: Updated user
/organizations/{organizationId}/stacks/{stackId}/disable:
put:
summary: Disable stack
operationId: disableStack
parameters:
- name: organizationId
in: path
schema:
type: string
required: true
- name: stackId
in: path
schema:
type: string
required: true
responses:
204:
description: Stack disabled
400:
description: Bad request
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
404:
description: Not found
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
403:
description: Not Authorized
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
/organizations/{organizationId}/stacks/{stackId}/enable:
put:
summary: Enable stack
operationId: enableStack
parameters:
- name: organizationId
in: path
schema:
type: string
required: true
- name: stackId
in: path
schema:
type: string
required: true
responses:
204:
description: Stack enabled
400:
description: Bad request
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
404:
description: Not found
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
403:
description: Not Authorized
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
/organizations/{organizationId}/stacks/{stackId}/restore:
put:
summary: Restore stack
operationId: restoreStack
parameters:
- name: organizationId
in: path
schema:
type: string
required: true
- name: stackId
in: path
schema:
type: string
required: true
responses:
200:
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/ReadStackResponse'
400:
description: Bad request
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
404:
description: Not found
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
403:
description: Not Authorized
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
/organizations/{organizationId}/stacks/{stackId}/stargate/enable:
parameters:
- name: organizationId
in: path
schema:
type: string
required: true
- name: stackId
in: path
schema:
type: string
required: true
put:
summary: Enable stargate on a stack
operationId: enableStargate
responses:
204:
description: OK
400:
description: Bad request
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
403:
description: Not Authorized
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
/organizations/{organizationId}/stacks/{stackId}/stargate/disable:
parameters:
- name: organizationId
in: path
schema:
type: string
required: true
- name: stackId
in: path
schema:
type: string
required: true
put:
summary: Disable stargate on a stack
operationId: disableStargate
responses:
204:
description: OK
400:
description: Bad request
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
403:
description: Not Authorized
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
/me/invitations:
get:
summary: List invitations of the user
operationId: listInvitations
parameters:
- in: query
name: status
required: false
description: Status of organizations
schema:
type: string
- in: query
name: organization
required: false
description: Status of organizations
schema:
type: string
responses:
200:
description: List of the invitations for the connected user
content:
application/json:
schema:
$ref: '#/components/schemas/ListInvitationsResponse'
/me/invitations/{invitationId}/accept:
post:
summary: Accept invitation
operationId: acceptInvitation
parameters:
- name: invitationId
in: path
schema:
type: string
required: true
responses:
204:
description: Invitation accepted
400:
description: Error
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
404:
description: Not found
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
403:
description: Not Authorized
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
/me/invitations/{invitationId}/reject:
post:
summary: Decline invitation
operationId: declineInvitation
parameters:
- name: invitationId
in: path
schema:
type: string
required: true
responses:
204:
description: Invitation declined
400:
description: Error
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
404:
description: Not found
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
403:
description: Not Authorized
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
/organizations/{organizationId}/invitations:
get:
summary: List invitations of the organization
operationId: listOrganizationInvitations
parameters:
- name: organizationId
in: path
schema:
type: string
required: true
- in: query
name: status
required: false
description: Status of organizations
schema:
type: string
responses:
200:
description: List of the invitations for the organization
content:
application/json:
schema:
$ref: '#/components/schemas/ListInvitationsResponse'
404:
description: Not found
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
403:
description: Not Authorized
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
post:
summary: Create invitation
operationId: createInvitation
parameters:
- name: organizationId
in: path
schema:
type: string
required: true
- name: email
in: query
schema:
type: string
required: true
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/InvitationClaim'
responses:
201:
description: Invitation created
content:
application/json:
schema:
$ref: '#/components/schemas/CreateInvitationResponse'
403:
description: Not Authorized
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
/organizations/{organizationId}/invitations/{invitationId}:
delete:
summary: Delete invitation
operationId: deleteInvitation
parameters:
- name: organizationId
in: path
schema:
type: string
required: true
- name: invitationId
in: path
schema:
type: string
required: true
responses:
204:
description: Invitation deleted
400:
description: Error
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
404:
description: Not found
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
403:
description: Not Authorized
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
/organizations/{organizationId}/regions:
parameters:
- name: organizationId
in: path
schema:
type: string
required: true
get:
summary: List regions
operationId: listRegions
responses:
200:
description: List of the regions
content:
application/json:
schema:
$ref: '#/components/schemas/ListRegionsResponse'
400:
description: Error
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
404:
description: Not found
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
post:
summary: Create a private region
operationId: createPrivateRegion
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/CreatePrivateRegionRequest'
responses:
400:
description: Error
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
404:
description: Not found
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
403:
description: Not authorized
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
200:
description: Created region
content:
application/json:
schema:
$ref: '#/components/schemas/CreatedPrivateRegionResponse'
/organizations/{organizationId}/regions/{regionId}:
parameters:
- name: organizationId
in: path
schema:
type: string
required: true
- name: regionId
in: path
schema:
type: string
required: true
get:
summary: Get region
operationId: getRegion
responses:
404:
description: Error
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
403:
description: Error
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
200:
description: Get a specific region
content:
application/json:
schema:
$ref: '#/components/schemas/GetRegionResponse'
delete:
summary: Delete region
operationId: deleteRegion
responses:
204:
description: Delete a specific region
404:
description: Not found
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
400:
description: Bad request
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
403:
description: Not authorized
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
/organizations/{organizationId}/regions/{regionId}/versions:
parameters:
- name: organizationId
in: path
schema:
type: string
required: true
- name: regionId
in: path
schema:
type: string
required: true
get:
summary: Get region versions
operationId: getRegionVersions
responses:
404:
description: Error
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
403:
description: Error
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
200:
description: Get a specific region
content:
application/json:
schema:
$ref: '#/components/schemas/GetRegionVersionsResponse'
/me:
get:
summary: Read user
operationId: readConnectedUser
responses:
200:
description: Read a user
content:
application/json:
schema:
$ref: '#/components/schemas/ReadUserResponse'
security:
- oauth2: []
components:
securitySchemes:
oauth2:
type: oauth2
flows:
authorizationCode:
authorizationUrl: /authorize
tokenUrl: /oauth/token
scopes:
openid: Enable OIDC
email: Ask email access
schemas:
CreatePrivateRegionRequest:
type: object
properties:
name:
type: string
required:
- name
CreatedPrivateRegionResponse:
properties:
data:
$ref: '#/components/schemas/PrivateRegion'
required:
- data
PrivateRegion:
allOf:
- $ref: '#/components/schemas/Region'
- type: object
properties:
organizationID:
type: string
creatorID:
type: string
secret:
type: object
properties:
lastDigits:
type: string
clear:
type: string
required:
- lastDigits
required:
- organizationID
- creatorID
PublicRegion:
allOf:
- $ref: '#/components/schemas/Region'
- type: object
properties:
production:
type: boolean
required:
- production
AnyRegion:
allOf:
- $ref: '#/components/schemas/Region'
- type: object
properties:
clientID:
type: string
organizationID:
type: string
creator:
$ref: '#/components/schemas/User'
production:
type: boolean
public:
type: boolean
version:
type: string
required:
- public
OrganizationData:
type: object
required:
- name
properties:
name:
type: string
description: Organization name
defaultOrganizationAccess:
$ref: '#/components/schemas/Role'
defaultStackAccess:
$ref: '#/components/schemas/Role'
domain:
type: string
description: Organization domain
Organization:
allOf:
- $ref: '#/components/schemas/OrganizationData'
- type: object
required:
- id
- ownerId
properties:
id:
type: string
description: Organization ID
ownerId:
type: string
description: Owner ID
availableStacks:
type: integer
description: Number of available stacks
availableSandboxes:
type: integer
description: Number of available sandboxes
createdAt:
type: string
format: date-time
updatedAt:
type: string
format: date-time
StackData:
type: object
required:
- name
- metadata
properties:
name:
type: string
description: Stack name
metadata:
type: object
additionalProperties:
type: string
version:
type: string
description: Supported only with agent version >= v0.7.0
StackLifeCycle:
type: object
required:
- status
- state
- expectedStatus
- lastStateUpdate
- lastExpectedStatusUpdate
- lastStatusUpdate
properties:
status:
type: string
enum:
- UNKNOWN
- PROGRESSING
- READY
- DISABLED
- DELETED
state:
type: string
enum:
- ACTIVE
- DISABLED
- DELETED
expectedStatus:
type: string
enum:
- UNKNOWN
- PROGRESSING
- READY
- DISABLED
- DELETED
lastStateUpdate:
type: string
format: date-time
lastExpectedStatusUpdate:
type: string
format: date-time
lastStatusUpdate:
type: string
format: date-time
Stack:
allOf:
- $ref: '#/components/schemas/StackData'
- $ref: '#/components/schemas/StackLifeCycle'
- type: object
required:
- id
- organizationId
- uri
- regionID
- stargateEnabled
properties:
id:
type: string
description: Stack ID
organizationId:
type: string
description: Organization ID
uri:
type: string
description: Base stack uri
regionID:
type: string
description: The region where the stack is installed
stargateEnabled:
type: boolean
createdAt:
type: string
format: date-time
deletedAt:
type: string
format: date-time
disabledAt:
type: string
format: date-time
UserData:
allOf:
- type: object
properties:
email:
type: string
required:
- email
Role:
type: string
default: ""
enum:
- ""
- NONE
- ADMIN
- GUEST
- USER
User:
allOf:
- $ref: '#/components/schemas/UserData'
- type: object
required:
- id
properties:
id:
type: string
description: User ID
OrganizationUserArray:
type: array
items:
allOf:
- $ref: '#/components/schemas/OrganizationUser'
ReadOrganizationUserResponse:
type: object
properties:
data:
$ref: '#/components/schemas/OrganizationUser'
OrganizationUser:
allOf:
- type: object
required:
- role
properties:
role:
$ref: '#/components/schemas/Role'
- $ref: '#/components/schemas/User'
OrganizationArray:
type: array
items:
$ref: '#/components/schemas/Organization'
StackArray:
type: array
items:
$ref: '#/components/schemas/Stack'
UserArray:
type: array
items:
$ref: '#/components/schemas/User'
ReadStackUserAccess:
type: object
properties:
data:
$ref: '#/components/schemas/StackUserAccess'
StackUserAccess:
allOf:
- type: object
required:
- stackId
- userId
- role
properties:
stackId:
type: string
description: Stack ID
userId:
type: string
description: User ID
role:
$ref: '#/components/schemas/Role'
StackUserAccessResponse:
type: object
properties:
data:
$ref: '#/components/schemas/StackUserAccessArray'
StackUserAccessArray:
type: array
items:
$ref: '#/components/schemas/StackUserAccess'
ListOrganizationResponse:
type: object
properties:
data:
$ref: '#/components/schemas/OrganizationArray'
CreateOrganizationRequest:
$ref: '#/components/schemas/OrganizationData'
CreateOrganizationResponse:
type: object
properties:
data:
$ref: '#/components/schemas/OrganizationExpanded'
ReadOrganizationResponse:
type: object
properties:
data:
$ref: '#/components/schemas/OrganizationExpanded'
ListStacksResponse:
type: object
properties:
data:
$ref: '#/components/schemas/StackArray'
ListUsersResponse:
type: object
properties:
data:
$ref: '#/components/schemas/OrganizationUserArray'
CreateStackRequest:
allOf:
- $ref: '#/components/schemas/StackData'
- type: object
properties:
regionID:
type: string
required:
- regionID
CreateStackResponse:
type: object
properties:
data:
$ref: '#/components/schemas/Stack'
ReadStackResponse:
$ref: '#/components/schemas/CreateStackResponse'
ReadUserResponse:
type: object
properties:
data:
$ref: '#/components/schemas/User'
ListInvitationsResponse:
type: object
properties:
data:
type: array
items:
$ref: '#/components/schemas/Invitation'
CreateInvitationResponse:
type: object
properties:
data:
$ref: '#/components/schemas/Invitation'
Error:
type: object
properties:
errorCode:
type: string
errorMessage:
type: string
required:
- errorCode
Invitation:
type: object
properties:
id:
type: string
organizationId:
type: string
userEmail:
type: string
status:
type: string
enum:
- pending
- accepted
- rejected
creationDate:
type: string
format: date-time
updatedAt:
type: string
format: date-tim
role:
$ref: '#/components/schemas/Role'
stackClaims:
$ref: '#/components/schemas/StackClaims'
userId:
type: string
organizationAccess:
$ref: '#/components/schemas/OrganizationUser'
required:
- creationDate
- status
- role
- userEmail
- organizationId
- id
InvitationClaim:
type: object
properties:
role:
$ref: '#/components/schemas/Role'
stackClaims:
$ref: '#/components/schemas/StackClaims'
required:
- orgClaim
- stackClaims
StackClaims:
type: array
items:
$ref: '#/components/schemas/StackClaim'
StackClaim:
type: object
required:
- id
- role
properties:
id:
type: string
role:
$ref: '#/components/schemas/Role'
Region:
type: object
required:
- id
- baseUrl
- active
- createdAt
- name
properties:
id:
type: string
baseUrl:
type: string
createdAt:
type: string
format: datetime
active:
type: boolean
lastPing:
type: string
format: date-time
name:
type: string
ListOrganizationExpandedResponse:
type: object
properties:
data:
type: array
items:
allOf:
- $ref: '#/components/schemas/OrganizationExpanded'
OrganizationExpanded:
allOf:
- $ref: '#/components/schemas/Organization'
- type: object
properties:
totalStacks:
type: integer
totalUsers:
type: integer
owner:
$ref: '#/components/schemas/User'
ListRegionsResponse:
type: object
properties:
data:
type: array
items:
$ref: '#/components/schemas/AnyRegion'
required:
- data
GetRegionResponse:
type: object
properties:
data:
$ref: '#/components/schemas/AnyRegion'
required:
- data
ServerInfo:
type: object
required:
- version
properties:
version:
type: string
Version:
type: object
required:
- name
- versions
properties:
name:
type: string
versions:
type: object
additionalProperties:
type: string
UpdateOrganizationUserRequest:
type: object
required:
- role
properties:
role:
$ref: '#/components/schemas/Role'
UpdateStackUserRequest:
type: object
required:
- role
properties:
role:
$ref: '#/components/schemas/Role'
GetRegionVersionsResponse:
type: object
properties:
data:
type: array
items:
$ref: '#/components/schemas/Version'
required:
- data