diff --git a/api/v1/koyeb/api/openapi.yaml b/api/v1/koyeb/api/openapi.yaml index bdcb5c2..751747d 100644 --- a/api/v1/koyeb/api/openapi.yaml +++ b/api/v1/koyeb/api/openapi.yaml @@ -195,24 +195,29 @@ tags: x-displayName: Introduction x-traitTag: true paths: - /v1/app_events: + /v1/catalog/datacenters: get: - operationId: ListAppEvents + operationId: ListDatacenters + responses: + "200": + content: + '*/*': + schema: + $ref: '#/components/schemas/ListDatacentersReply' + description: A successful response. + default: + content: + '*/*': + schema: + $ref: '#/components/schemas/google.rpc.Status' + description: An unexpected error response. + summary: List datacenters + tags: + - CatalogDatacenters + /v1/catalog/instances: + get: + operationId: ListCatalogInstances parameters: - - description: (Optional) Filter on app id - in: query - name: app_id - schema: - type: string - - description: (Optional) Filter on app event types - explode: true - in: query - name: types - schema: - items: - type: string - type: array - style: form - description: (Optional) The number of items to return in: query name: limit @@ -223,10 +228,9 @@ paths: name: offset schema: type: string - - description: (Optional) Sorts the list in the ascending or the descending - order + - description: (Optional) A filter for instances in: query - name: order + name: id schema: type: string responses: @@ -234,71 +238,128 @@ paths: content: '*/*': schema: - $ref: '#/components/schemas/ListAppEventsReply' + $ref: '#/components/schemas/ListCatalogInstancesReply' description: A successful response. - "400": + default: content: '*/*': schema: - $ref: '#/components/schemas/ErrorWithFields' - description: Validation error - "401": + $ref: '#/components/schemas/google.rpc.Status' + description: An unexpected error response. + summary: List Instance + tags: + - CatalogInstances + /v1/catalog/instances/{id}: + get: + operationId: GetCatalogInstance + parameters: + - description: The name of the instance + in: path + name: id + required: true + schema: + type: string + responses: + "200": content: '*/*': schema: - $ref: '#/components/schemas/Error' - description: Returned when the token is not valid. - "403": + $ref: '#/components/schemas/GetCatalogInstanceReply' + description: A successful response. + default: content: '*/*': schema: - $ref: '#/components/schemas/Error' - description: Returned when the user does not have permission to access the - resource. - "404": + $ref: '#/components/schemas/google.rpc.Status' + description: An unexpected error response. + summary: Get Instance + tags: + - CatalogInstances + /v1/catalog/regions: + get: + operationId: ListRegions + parameters: + - description: (Optional) The number of items to return + in: query + name: limit + schema: + type: string + - description: (Optional) The offset in the list of item to return + in: query + name: offset + schema: + type: string + - description: (Optional) A filter for regions + in: query + name: id + schema: + type: string + responses: + "200": content: '*/*': schema: - $ref: '#/components/schemas/Error' - description: Returned when the resource does not exist. - "500": + $ref: '#/components/schemas/ListRegionsReply' + description: A successful response. + default: content: '*/*': schema: - $ref: '#/components/schemas/Error' - description: Returned in case of server error. - "503": + $ref: '#/components/schemas/google.rpc.Status' + description: An unexpected error response. + summary: List Region + tags: + - CatalogRegions + /v1/catalog/regions/{id}: + get: + operationId: GetRegion + parameters: + - description: The name of the region + in: path + name: id + required: true + schema: + type: string + responses: + "200": content: '*/*': schema: - $ref: '#/components/schemas/Error' - description: Service is unavailable. + $ref: '#/components/schemas/GetRegionReply' + description: A successful response. default: content: '*/*': schema: $ref: '#/components/schemas/google.rpc.Status' description: An unexpected error response. - summary: List App events + summary: Get Region tags: - - Apps - /v1/apps: + - CatalogRegions + /v1/git/branches: get: - operationId: ListApps + operationId: ListBranches parameters: - - description: (Optional) The number of items to return + - description: (Optional) Filter on one repository. in: query - name: limit + name: repository_id schema: type: string - - description: (Optional) The offset in the list of item to return + - description: |- + (Optional) Filter on branch name using a fuzzy search. + Repository filter is required to enable this filter. in: query - name: offset + name: name schema: type: string - - description: (Optional) A filter for name + - description: (Optional) The number of items to return. in: query - name: name + name: limit + schema: + type: string + - description: (Optional) The offset in the list of item to return. + in: query + name: offset schema: type: string responses: @@ -306,7 +367,7 @@ paths: content: '*/*': schema: - $ref: '#/components/schemas/ListAppsReply' + $ref: '#/components/schemas/kgitproxy.ListBranchesReply' description: A successful response. "400": content: @@ -351,23 +412,39 @@ paths: schema: $ref: '#/components/schemas/google.rpc.Status' description: An unexpected error response. - summary: List App tags: - - Apps - post: - operationId: CreateApp - requestBody: - content: - '*/*': - schema: - $ref: '#/components/schemas/CreateApp' - required: true + - Repositories + /v1/git/repositories: + get: + operationId: ListRepositories + parameters: + - description: (Optional) Filter on repository name using a fuzzy search. + in: query + name: name + schema: + type: string + - description: "(Optional) Define search operation for repository name. Accept\ + \ either \"fuzzy\" or \"equality\", use \"fuzzy\" by default." + in: query + name: name_search_op + schema: + type: string + - description: (Optional) The number of items to return. + in: query + name: limit + schema: + type: string + - description: (Optional) The offset in the list of item to return. + in: query + name: offset + schema: + type: string responses: "200": content: '*/*': schema: - $ref: '#/components/schemas/CreateAppReply' + $ref: '#/components/schemas/kgitproxy.ListRepositoriesReply' description: A successful response. "400": content: @@ -412,18 +489,14 @@ paths: schema: $ref: '#/components/schemas/google.rpc.Status' description: An unexpected error response. - summary: Create App tags: - - Apps - x-codegen-request-body-name: app - /v1/apps/{id}: - delete: - description: App deletion is allowed for all status. - operationId: DeleteApp + - Repositories + /v1/git/sync/organization/{organization_id}: + post: + operationId: ResyncOrganization parameters: - - description: The id of the App to delete - in: path - name: id + - in: path + name: organization_id required: true schema: type: string @@ -432,7 +505,7 @@ paths: content: '*/*': schema: - $ref: '#/components/schemas/DeleteAppReply' + $ref: '#/components/schemas/kgitproxy.ResyncOrganizationReply' description: A successful response. "400": content: @@ -477,15 +550,14 @@ paths: schema: $ref: '#/components/schemas/google.rpc.Status' description: An unexpected error response. - summary: Delete App tags: - - Apps + - Repositories + /v1/organizations/{organization_id}/quotas: get: - operationId: GetApp + operationId: GetQuotas parameters: - - description: The id of the App - in: path - name: id + - in: path + name: organization_id required: true schema: type: string @@ -494,7 +566,7 @@ paths: content: '*/*': schema: - $ref: '#/components/schemas/GetAppReply' + $ref: '#/components/schemas/GetQuotasReply' description: A successful response. "400": content: @@ -539,34 +611,29 @@ paths: schema: $ref: '#/components/schemas/google.rpc.Status' description: An unexpected error response. - summary: Get App tags: - - Apps - patch: - operationId: UpdateApp2 + - OrganizationQuotas + /v1/account/login: + post: + operationId: Login parameters: - - description: The id of the app to update. - in: path - name: id - required: true - schema: - type: string - - in: query - name: update_mask + - description: Seon Fingerprint + in: header + name: seon-fp schema: type: string requestBody: content: '*/*': schema: - $ref: '#/components/schemas/UpdateApp' + $ref: '#/components/schemas/LoginRequest' required: true responses: "200": content: '*/*': schema: - $ref: '#/components/schemas/UpdateAppReply' + $ref: '#/components/schemas/LoginReply' description: A successful response. "400": content: @@ -611,35 +678,19 @@ paths: schema: $ref: '#/components/schemas/google.rpc.Status' description: An unexpected error response. - summary: Update App + summary: Login user tags: - - Apps - x-codegen-request-body-name: app - put: - operationId: UpdateApp - parameters: - - description: The id of the app to update. - in: path - name: id - required: true - schema: - type: string - - in: query - name: update_mask - schema: - type: string - requestBody: - content: - '*/*': - schema: - $ref: '#/components/schemas/UpdateApp' - required: true + - Sessions + x-codegen-request-body-name: body + /v1/account/logout: + delete: + operationId: Logout responses: "200": content: '*/*': schema: - $ref: '#/components/schemas/UpdateAppReply' + $ref: '#/components/schemas/LogoutReply' description: A successful response. "400": content: @@ -684,33 +735,18 @@ paths: schema: $ref: '#/components/schemas/google.rpc.Status' description: An unexpected error response. - summary: Update App + summary: Logout user tags: - - Apps - x-codegen-request-body-name: app - /v1/apps/{id}/pause: - post: - description: |- - App pause action is allowed for the following status: - - starting - - healthy - - degraded - - unhealthy - - resuming - operationId: PauseApp - parameters: - - description: The id of the app to pause. - in: path - name: id - required: true - schema: - type: string + - Sessions + /v1/account/refresh: + put: + operationId: RefreshToken responses: "200": content: '*/*': schema: - $ref: '#/components/schemas/PauseAppReply' + $ref: '#/components/schemas/LoginReply' description: A successful response. "400": content: @@ -755,28 +791,21 @@ paths: schema: $ref: '#/components/schemas/google.rpc.Status' description: An unexpected error response. - summary: Pause App + summary: Refresh token tags: - - Apps - /v1/apps/{id}/resume: + - Sessions + /v1/account/session: post: description: |- - App resume action is allowed for the following status: - - paused - operationId: ResumeApp - parameters: - - description: The id of the app to resume. - in: path - name: id - required: true - schema: - type: string + Creates a new session without an organization for current user. + NOTE: If you want a session linked to another organization, please use "Switch organization". + operationId: NewSession responses: "200": content: '*/*': schema: - $ref: '#/components/schemas/ResumeAppReply' + $ref: '#/components/schemas/LoginReply' description: A successful response. "400": content: @@ -821,45 +850,16 @@ paths: schema: $ref: '#/components/schemas/google.rpc.Status' description: An unexpected error response. - summary: Resume App + summary: New session tags: - - Apps - /v1/instance_events: - get: - operationId: ListInstanceEvents + - Sessions + /v1/organization_confirmations/{id}: + post: + operationId: ConfirmOrganizationAction parameters: - - description: (Optional) Filter on list of instance id - explode: true - in: query - name: instance_ids - schema: - items: - type: string - type: array - style: form - - description: (Optional) Filter on instance event types - explode: true - in: query - name: types - schema: - items: - type: string - type: array - style: form - - description: (Optional) The number of items to return - in: query - name: limit - schema: - type: string - - description: (Optional) The offset in the list of item to return - in: query - name: offset - schema: - type: string - - description: (Optional) Sorts the list in the ascending or the descending - order - in: query - name: order + - in: path + name: id + required: true schema: type: string responses: @@ -867,7 +867,7 @@ paths: content: '*/*': schema: - $ref: '#/components/schemas/ListInstanceEventsReply' + $ref: '#/components/schemas/ConfirmOrganizationActionReply' description: A successful response. "400": content: @@ -912,61 +912,38 @@ paths: schema: $ref: '#/components/schemas/google.rpc.Status' description: An unexpected error response. - summary: List Instance events + summary: Confirm organization action tags: - - Instances - /v1/instances: + - OrganizationConfirmations + /v1/credentials: get: - operationId: ListInstances + operationId: ListCredentials parameters: - - description: (Optional) Filter on application id - in: query - name: app_id - schema: - type: string - - description: (Optional) Filter on service id - in: query - name: service_id - schema: - type: string - - description: (Optional) Filter on deployment id + - description: (Optional) A filter for type in: query - name: deployment_id + name: type schema: + default: INVALID + enum: + - INVALID + - USER + - ORGANIZATION type: string - - description: (Optional) Filter on regional deployment id + - description: (Optional) A filter for name in: query - name: regional_deployment_id + name: name schema: type: string - - description: (Optional) Filter on allocation id + - description: (Optional) Filter for an organization in: query - name: allocation_id + name: organization_id schema: type: string - - description: (Optional) Filter on replica index + - description: (Optional) Filter for an user in: query - name: replica_index + name: user_id schema: type: string - - description: (Optional) Filter on instance statuses - explode: true - in: query - name: statuses - schema: - items: - enum: - - ALLOCATING - - STARTING - - HEALTHY - - UNHEALTHY - - STOPPING - - STOPPED - - ERROR - - SLEEPING - type: string - type: array - style: form - description: (Optional) The number of items to return in: query name: limit @@ -977,30 +954,12 @@ paths: name: offset schema: type: string - - description: (Optional) Sorts the list in the ascending or the descending - order - in: query - name: order - schema: - type: string - - description: (Optional) The starting time of the period of running instance - in: query - name: starting_time - schema: - format: date-time - type: string - - description: (Optional) The ending time of the period of running instance - in: query - name: ending_time - schema: - format: date-time - type: string responses: "200": content: '*/*': schema: - $ref: '#/components/schemas/ListInstancesReply' + $ref: '#/components/schemas/ListCredentialsReply' description: A successful response. "400": content: @@ -1045,25 +1004,23 @@ paths: schema: $ref: '#/components/schemas/google.rpc.Status' description: An unexpected error response. - summary: List Instances + summary: List credentials tags: - - Instances - /v1/instances/{id}: - get: - operationId: GetInstance - parameters: - - description: The id of the instance - in: path - name: id + - Credentials + post: + operationId: CreateCredential + requestBody: + content: + '*/*': + schema: + $ref: '#/components/schemas/CreateCredential' required: true - schema: - type: string responses: "200": content: '*/*': schema: - $ref: '#/components/schemas/GetInstanceReply' + $ref: '#/components/schemas/CreateCredentialReply' description: A successful response. "400": content: @@ -1108,44 +1065,25 @@ paths: schema: $ref: '#/components/schemas/google.rpc.Status' description: An unexpected error response. - summary: Get Instance + summary: Create credential tags: - - Instances - /v1/secrets: - get: - operationId: ListSecrets + - Credentials + x-codegen-request-body-name: credential + /v1/credentials/{id}: + delete: + operationId: DeleteCredential parameters: - - in: query - name: name - schema: - type: string - - in: query - name: limit - schema: - type: string - - in: query - name: offset + - in: path + name: id + required: true schema: type: string - - description: Filter by secret types - explode: true - in: query - name: types - schema: - items: - enum: - - SIMPLE - - REGISTRY - - MANAGED - type: string - type: array - style: form responses: "200": content: '*/*': schema: - $ref: '#/components/schemas/ListSecretsReply' + $ref: '#/components/schemas/DeleteCredentialReply' description: A successful response. "400": content: @@ -1190,22 +1128,23 @@ paths: schema: $ref: '#/components/schemas/google.rpc.Status' description: An unexpected error response. + summary: Delete credential tags: - - Secrets - post: - operationId: CreateSecret - requestBody: - content: - '*/*': - schema: - $ref: '#/components/schemas/CreateSecret' + - Credentials + get: + operationId: GetCredential + parameters: + - in: path + name: id required: true + schema: + type: string responses: "200": content: '*/*': schema: - $ref: '#/components/schemas/CreateSecretReply' + $ref: '#/components/schemas/GetCredentialReply' description: A successful response. "400": content: @@ -1250,24 +1189,33 @@ paths: schema: $ref: '#/components/schemas/google.rpc.Status' description: An unexpected error response. + summary: Get credential tags: - - Secrets - x-codegen-request-body-name: secret - /v1/secrets/{id}: - delete: - operationId: DeleteSecret + - Credentials + patch: + operationId: UpdateCredential2 parameters: - in: path name: id required: true schema: type: string + - in: query + name: update_mask + schema: + type: string + requestBody: + content: + '*/*': + schema: + $ref: '#/components/schemas/Credential' + required: true responses: "200": content: '*/*': schema: - $ref: '#/components/schemas/DeleteSecretReply' + $ref: '#/components/schemas/UpdateCredentialReply' description: A successful response. "400": content: @@ -1312,22 +1260,34 @@ paths: schema: $ref: '#/components/schemas/google.rpc.Status' description: An unexpected error response. + summary: Update credential tags: - - Secrets - get: - operationId: GetSecret + - Credentials + x-codegen-request-body-name: credential + put: + operationId: UpdateCredential parameters: - in: path name: id required: true schema: type: string + - in: query + name: update_mask + schema: + type: string + requestBody: + content: + '*/*': + schema: + $ref: '#/components/schemas/Credential' + required: true responses: "200": content: '*/*': schema: - $ref: '#/components/schemas/GetSecretReply' + $ref: '#/components/schemas/UpdateCredentialReply' description: A successful response. "400": content: @@ -1372,32 +1332,26 @@ paths: schema: $ref: '#/components/schemas/google.rpc.Status' description: An unexpected error response. + summary: Update credential tags: - - Secrets - patch: - operationId: UpdateSecret2 + - Credentials + x-codegen-request-body-name: credential + /v1/users/{id}: + delete: + operationId: DeleteUser parameters: - - in: path + - description: The id of the user + in: path name: id required: true schema: type: string - - in: query - name: update_mask - schema: - type: string - requestBody: - content: - '*/*': - schema: - $ref: '#/components/schemas/Secret' - required: true responses: "200": content: '*/*': schema: - $ref: '#/components/schemas/UpdateSecretReply' + $ref: '#/components/schemas/DeleteUserReply' description: A successful response. "400": content: @@ -1442,33 +1396,18 @@ paths: schema: $ref: '#/components/schemas/google.rpc.Status' description: An unexpected error response. + summary: Delete user tags: - - Secrets - x-codegen-request-body-name: secret - put: - operationId: UpdateSecret - parameters: - - in: path - name: id - required: true - schema: - type: string - - in: query - name: update_mask - schema: - type: string - requestBody: - content: - '*/*': - schema: - $ref: '#/components/schemas/Secret' - required: true + - Users + /v1/intercom/profile: + get: + operationId: GetIntercomProfile responses: "200": content: '*/*': schema: - $ref: '#/components/schemas/UpdateSecretReply' + $ref: '#/components/schemas/GetIntercomProfileReply' description: A successful response. "400": content: @@ -1513,30 +1452,39 @@ paths: schema: $ref: '#/components/schemas/google.rpc.Status' description: An unexpected error response. + summary: Get intercom profile tags: - - Secrets - x-codegen-request-body-name: secret - /v1/secrets/{id}/reveal: - post: - operationId: RevealSecret + - Intercom + /v1/organization_members: + get: + operationId: ListOrganizationMembers parameters: - - in: path - name: id - required: true + - description: (Optional) The number of items to return + in: query + name: limit + schema: + type: string + - description: (Optional) The offset in the list of item to return + in: query + name: offset + schema: + type: string + - description: (Optional) Filter for an organization + in: query + name: organization_id + schema: + type: string + - description: (Optional) Filter for an user + in: query + name: user_id schema: type: string - requestBody: - content: - '*/*': - schema: - type: object - required: true responses: "200": content: '*/*': schema: - $ref: '#/components/schemas/RevealSecretReply' + $ref: '#/components/schemas/ListOrganizationMembersReply' description: A successful response. "400": content: @@ -1581,22 +1529,16 @@ paths: schema: $ref: '#/components/schemas/google.rpc.Status' description: An unexpected error response. + summary: List organization members tags: - - Secrets - x-codegen-request-body-name: body - /v1/docker-helper/verify: - get: - operationId: VerifyDockerImage + - OrganizationMembers + /v1/organization_members/{id}: + delete: + operationId: RemoveOrganizationMember parameters: - - description: The full image uri to be verified - in: query - name: image - schema: - type: string - - description: (Optional) the id of the secret to use to authenticate to the - registry - in: query - name: secret_id + - in: path + name: id + required: true schema: type: string responses: @@ -1604,7 +1546,7 @@ paths: content: '*/*': schema: - $ref: '#/components/schemas/VerifyDockerImageReply' + $ref: '#/components/schemas/RemoveOrganizationMemberReply' description: A successful response. "400": content: @@ -1649,27 +1591,13 @@ paths: schema: $ref: '#/components/schemas/google.rpc.Status' description: An unexpected error response. - summary: Verify if a docker image is reachable + summary: Remove an organization member tags: - - DockerHelper - /v1/volume_events: + - OrganizationMembers + /v1/organization_invitations: get: - operationId: ListPersistentVolumeEvents + operationId: ListOrganizationInvitations parameters: - - description: (Optional) Filter on persistent volume id - in: query - name: persistent_volume_id - schema: - type: string - - description: (Optional) Filter on persistent volume event types - explode: true - in: query - name: types - schema: - items: - type: string - type: array - style: form - description: (Optional) The number of items to return in: query name: limit @@ -1680,10 +1608,27 @@ paths: name: offset schema: type: string - - description: (Optional) Sorts the list in the ascending or the descending - order + - description: (Optional) Filter on organization invitation statuses + explode: true in: query - name: order + name: statuses + schema: + items: + enum: + - INVALID + - PENDING + - ACCEPTED + - REFUSED + - EXPIRED + type: string + type: array + style: form + - description: |- + (Optional) Filter on invitee ID. Will match both invitations sent to + that user_id and invitations sent to the email of that user_id. + The only valid value is the requester's user_id + in: query + name: user_id schema: type: string responses: @@ -1691,7 +1636,7 @@ paths: content: '*/*': schema: - $ref: '#/components/schemas/ListPersistentVolumeEventsReply' + $ref: '#/components/schemas/ListOrganizationInvitationsReply' description: A successful response. "400": content: @@ -1736,105 +1681,22 @@ paths: schema: $ref: '#/components/schemas/google.rpc.Status' description: An unexpected error response. - summary: List Persistent Volume events tags: - - PersistentVolumes - /v1/volumes: - get: - operationId: ListPersistentVolumes - parameters: - - description: (Optional) The number of items to return - in: query - name: limit - schema: - type: string - - description: (Optional) The offset in the list of item to return - in: query - name: offset - schema: - type: string - - description: (Optional) A filter for the service id - in: query - name: service_id - schema: - type: string - - description: (Optional) A filter for the region - in: query - name: region - schema: - type: string - - description: (Optional) A filter for the name - in: query - name: name - schema: - type: string - responses: - "200": - content: - '*/*': - schema: - $ref: '#/components/schemas/ListPersistentVolumesReply' - description: A successful response. - "400": - content: - '*/*': - schema: - $ref: '#/components/schemas/ErrorWithFields' - description: Validation error - "401": - content: - '*/*': - schema: - $ref: '#/components/schemas/Error' - description: Returned when the token is not valid. - "403": - content: - '*/*': - schema: - $ref: '#/components/schemas/Error' - description: Returned when the user does not have permission to access the - resource. - "404": - content: - '*/*': - schema: - $ref: '#/components/schemas/Error' - description: Returned when the resource does not exist. - "500": - content: - '*/*': - schema: - $ref: '#/components/schemas/Error' - description: Returned in case of server error. - "503": - content: - '*/*': - schema: - $ref: '#/components/schemas/Error' - description: Service is unavailable. - default: - content: - '*/*': - schema: - $ref: '#/components/schemas/google.rpc.Status' - description: An unexpected error response. - summary: List all PersistentVolumes - tags: - - PersistentVolumes + - OrganizationInvitations post: - operationId: CreatePersistentVolume + operationId: CreateOrganizationInvitation requestBody: content: '*/*': schema: - $ref: '#/components/schemas/CreatePersistentVolumeRequest' + $ref: '#/components/schemas/CreateOrganizationInvitationRequest' required: true responses: "200": content: '*/*': schema: - $ref: '#/components/schemas/CreatePersistentVolumeReply' + $ref: '#/components/schemas/CreateOrganizationInvitationReply' description: A successful response. "400": content: @@ -1879,15 +1741,15 @@ paths: schema: $ref: '#/components/schemas/google.rpc.Status' description: An unexpected error response. - summary: Create a PersistentVolume tags: - - PersistentVolumes + - OrganizationInvitations x-codegen-request-body-name: body - /v1/volumes/{id}: + /v1/organization_invitations/{id}: delete: - operationId: DeletePersistentVolume + operationId: DeleteOrganizationInvitation parameters: - - in: path + - description: The id of the organization invitation to delete + in: path name: id required: true schema: @@ -1897,7 +1759,7 @@ paths: content: '*/*': schema: - $ref: '#/components/schemas/DeletePersistentVolumeReply' + $ref: '#/components/schemas/DeleteOrganizationInvitationReply' description: A successful response. "400": content: @@ -1942,13 +1804,13 @@ paths: schema: $ref: '#/components/schemas/google.rpc.Status' description: An unexpected error response. - summary: Delete a PersistentVolume tags: - - PersistentVolumes + - OrganizationInvitations get: - operationId: GetPersistentVolume + operationId: GetOrganizationInvitation parameters: - - in: path + - description: The id of the invitation to get + in: path name: id required: true schema: @@ -1958,7 +1820,7 @@ paths: content: '*/*': schema: - $ref: '#/components/schemas/GetPersistentVolumeReply' + $ref: '#/components/schemas/GetOrganizationInvitationReply' description: A successful response. "400": content: @@ -2003,13 +1865,14 @@ paths: schema: $ref: '#/components/schemas/google.rpc.Status' description: An unexpected error response. - summary: Get a PersistentVolume tags: - - PersistentVolumes + - OrganizationInvitations + /v1/organization_invitations/{id}/resend: post: - operationId: UpdatePersistentVolume + operationId: ResendOrganizationInvitation parameters: - - in: path + - description: The id of the organization invitation to resend + in: path name: id required: true schema: @@ -2018,14 +1881,14 @@ paths: content: '*/*': schema: - $ref: '#/components/schemas/UpdatePersistentVolume_request' + type: object required: true responses: "200": content: '*/*': schema: - $ref: '#/components/schemas/UpdatePersistentVolumeReply' + $ref: '#/components/schemas/ResendOrganizationInvitationReply' description: A successful response. "400": content: @@ -2070,64 +1933,27 @@ paths: schema: $ref: '#/components/schemas/google.rpc.Status' description: An unexpected error response. - summary: Update a PersistentVolume tags: - - PersistentVolumes + - OrganizationInvitations x-codegen-request-body-name: body - /v1/snapshots: + /v1/account/activities: get: - operationId: ListSnapshots + operationId: GetAccountActivities parameters: - - description: (Optional) The number of items to return - in: query + - in: query name: limit schema: type: string - - description: (Optional) The offset in the list of item to return - in: query + - in: query name: offset schema: type: string - - description: (Optional) Filter by organization_id - in: query - name: organization_id - schema: - type: string - - description: |- - (Optional) Filter by status - - - SNAPSHOT_STATUS_INVALID: zero value, invalid - - SNAPSHOT_STATUS_CREATING: the snapshot is being created - - SNAPSHOT_STATUS_AVAILABLE: the snapshot is complete and available - - SNAPSHOT_STATUS_MIGRATING: the snapshot is being migrated - - SNAPSHOT_STATUS_DELETING: the snapshot is being deleted - - SNAPSHOT_STATUS_DELETED: the snapshot is deleted - explode: true - in: query - name: statuses - schema: - items: - enum: - - SNAPSHOT_STATUS_INVALID - - SNAPSHOT_STATUS_CREATING - - SNAPSHOT_STATUS_AVAILABLE - - SNAPSHOT_STATUS_MIGRATING - - SNAPSHOT_STATUS_DELETING - - SNAPSHOT_STATUS_DELETED - type: string - type: array - style: form - - description: (Optional) A filter for the region - in: query - name: region - schema: - type: string responses: "200": content: '*/*': schema: - $ref: '#/components/schemas/ListSnapshotsReply' + $ref: '#/components/schemas/ActivityList' description: A successful response. "400": content: @@ -2172,23 +1998,23 @@ paths: schema: $ref: '#/components/schemas/google.rpc.Status' description: An unexpected error response. - summary: List all Snapshots tags: - - Snapshots + - activity + /v1/account/invite: post: - operationId: CreateSnapshot + operationId: CreateInvite requestBody: content: '*/*': schema: - $ref: '#/components/schemas/CreateSnapshotRequest' + $ref: '#/components/schemas/InviteUserRequest' required: true responses: "200": content: '*/*': schema: - $ref: '#/components/schemas/CreateSnapshotReply' + $ref: '#/components/schemas/Empty' description: A successful response. "400": content: @@ -2233,17 +2059,27 @@ paths: schema: $ref: '#/components/schemas/google.rpc.Status' description: An unexpected error response. - summary: Create a Snapshot tags: - - Snapshots + - invite x-codegen-request-body-name: body - /v1/snapshots/{id}: - delete: - operationId: DeleteSnapshot + /v1/account/oauth: + get: + operationId: GetOAuthOptions parameters: - - in: path - name: id - required: true + - description: Which authentication flow is being initiated + in: query + name: action + schema: + default: signin + enum: + - signin + - signup + - register + type: string + - description: A small (limited to 400 characters) string of arbitrary metadata + which will be encoded in the state + in: query + name: metadata schema: type: string responses: @@ -2251,7 +2087,7 @@ paths: content: '*/*': schema: - $ref: '#/components/schemas/DeleteSnapshotReply' + $ref: '#/components/schemas/GetOAuthOptionsReply' description: A successful response. "400": content: @@ -2296,23 +2132,29 @@ paths: schema: $ref: '#/components/schemas/google.rpc.Status' description: An unexpected error response. - summary: Delete a Snapshot + summary: Get OAuth Providers tags: - - Snapshots - get: - operationId: GetSnapshot + - profile + post: + operationId: OAuthCallback parameters: - - in: path - name: id - required: true + - description: Seon Fingerprint + in: header + name: seon-fp schema: type: string + requestBody: + content: + '*/*': + schema: + $ref: '#/components/schemas/OAuthCallbackRequest' + required: true responses: "200": content: '*/*': schema: - $ref: '#/components/schemas/GetSnapshotReply' + $ref: '#/components/schemas/OAuthCallbackReply' description: A successful response. "400": content: @@ -2357,30 +2199,19 @@ paths: schema: $ref: '#/components/schemas/google.rpc.Status' description: An unexpected error response. - summary: Get a Snapshot + summary: Authenticate using OAuth tags: - - Snapshots - post: - operationId: UpdateSnapshot - parameters: - - description: The id of the snapshot - in: path - name: id - required: true - schema: - type: string - requestBody: - content: - '*/*': - schema: - $ref: '#/components/schemas/UpdateSnapshot_request' - required: true + - profile + x-codegen-request-body-name: body + /v1/account/organization: + get: + operationId: GetCurrentOrganization responses: "200": content: '*/*': schema: - $ref: '#/components/schemas/UpdateSnapshotReply' + $ref: '#/components/schemas/GetOrganizationReply' description: A successful response. "400": content: @@ -2425,41 +2256,43 @@ paths: schema: $ref: '#/components/schemas/google.rpc.Status' description: An unexpected error response. - summary: Update a Snapshot tags: - - Snapshots - x-codegen-request-body-name: body - /v1/provisioning/{deployment_id}/status/{stage}/{attempt}: - patch: - operationId: DeclareStageProgress + - profile + /v1/account/organization_invitations: + get: + operationId: ListUserOrganizationInvitations parameters: - - in: path - name: deployment_id - required: true - schema: - type: string - - in: path - name: stage - required: true + - description: (Optional) The number of items to return + in: query + name: limit schema: type: string - - in: path - name: attempt - required: true + - description: (Optional) The offset in the list of item to return + in: query + name: offset schema: type: string - requestBody: - content: - '*/*': - schema: - $ref: '#/components/schemas/DeclareStageProgress_request' - required: true + - description: (Optional) Filter on organization invitation statuses + explode: true + in: query + name: statuses + schema: + items: + enum: + - INVALID + - PENDING + - ACCEPTED + - REFUSED + - EXPIRED + type: string + type: array + style: form responses: "200": content: '*/*': schema: - $ref: '#/components/schemas/DeclareStageProgressReply' + $ref: '#/components/schemas/ListUserOrganizationInvitationsReply' description: A successful response. "400": content: @@ -2504,40 +2337,24 @@ paths: schema: $ref: '#/components/schemas/google.rpc.Status' description: An unexpected error response. - summary: Declare stage progress tags: - - Provisioning - x-codegen-request-body-name: body - post: - operationId: CreateStageAttempt + - profile + /v1/account/organization_invitations/{id}: + get: + operationId: GetUserOrganizationInvitation parameters: - - in: path - name: deployment_id - required: true - schema: - type: string - - in: path - name: stage - required: true - schema: - type: string - - in: path - name: attempt + - description: The id of the organization invitation to get + in: path + name: id required: true schema: type: string - requestBody: - content: - '*/*': - schema: - $ref: '#/components/schemas/CreateStageAttempt_request' - required: true responses: "200": content: '*/*': schema: - $ref: '#/components/schemas/CreateStageAttemptReply' + $ref: '#/components/schemas/GetUserOrganizationInvitationReply' description: A successful response. "400": content: @@ -2582,31 +2399,15 @@ paths: schema: $ref: '#/components/schemas/google.rpc.Status' description: An unexpected error response. - summary: Create an attempt for a stage tags: - - Provisioning - x-codegen-request-body-name: body - /v1/provisioning/{deployment_id}/status/{stage}/{attempt}/{step}: - patch: - operationId: DeclareStepProgress + - profile + /v1/account/organization_invitations/{id}/accept: + post: + operationId: AcceptOrganizationInvitation parameters: - - in: path - name: deployment_id - required: true - schema: - type: string - - in: path - name: stage - required: true - schema: - type: string - - in: path - name: attempt - required: true - schema: - type: string - - in: path - name: step + - description: The id of the organization invitation to accept + in: path + name: id required: true schema: type: string @@ -2614,14 +2415,14 @@ paths: content: '*/*': schema: - $ref: '#/components/schemas/DeclareStepProgress_request' + type: object required: true responses: "200": content: '*/*': schema: - $ref: '#/components/schemas/DeclareStepProgressReply' + $ref: '#/components/schemas/AcceptOrganizationInvitationReply' description: A successful response. "400": content: @@ -2666,159 +2467,31 @@ paths: schema: $ref: '#/components/schemas/google.rpc.Status' description: An unexpected error response. - summary: Declare step progress tags: - - Provisioning + - profile x-codegen-request-body-name: body - /v1/usages: - get: - operationId: GetOrganizationUsage - parameters: - - description: The starting time of the period to get data from - in: query - name: starting_time - schema: - format: date-time - type: string - - description: The ending time of the period to get data from - in: query - name: ending_time - schema: - format: date-time - type: string - responses: - "200": - content: - '*/*': - schema: - $ref: '#/components/schemas/GetOrganizationUsageReply' - description: A successful response. - default: - content: - '*/*': - schema: - $ref: '#/components/schemas/google.rpc.Status' - description: An unexpected error response. - summary: Get organization usage - tags: - - Usages - /v1/usages/details: - get: - operationId: GetOrganizationUsageDetails - parameters: - - description: The starting time of the period to get data from - in: query - name: starting_time - schema: - format: date-time - type: string - - description: The ending time of the period to get data from - in: query - name: ending_time - schema: - format: date-time - type: string - - description: (Optional) The number of items to return - in: query - name: limit - schema: - type: string - - description: (Optional) The offset in the list of item to return - in: query - name: offset - schema: - type: string - - description: (Optional) Sorts the list in the ascending or the descending - order - in: query - name: order - schema: - type: string - - description: "If defined with the value 'text/csv', a csv file is returned" - in: header - name: Accept - schema: - type: string - responses: - "200": - content: - '*/*': - schema: - $ref: '#/components/schemas/GetOrganizationUsageDetailsReply' - description: A successful response. - default: - content: - '*/*': - schema: - $ref: '#/components/schemas/google.rpc.Status' - description: An unexpected error response. - summary: Get organization usage details - tags: - - Usages - /v1/domains: - get: - operationId: ListDomains + /v1/account/organization_invitations/{id}/decline: + post: + operationId: DeclineOrganizationInvitation parameters: - - description: (Optional) The number of items to return - in: query - name: limit - schema: - type: string - - description: (Optional) The offset in the list of item to return - in: query - name: offset - schema: - type: string - - description: |- - (Optional) A filter for types - - - AUTOASSIGNED: Domain like -.koyeb.app - explode: true - in: query - name: types - schema: - items: - enum: - - AUTOASSIGNED - - CUSTOM - type: string - type: array - style: form - - description: (Optional) A filter for statuses - explode: true - in: query - name: statuses - schema: - items: - enum: - - PENDING - - ACTIVE - - ERROR - - DELETING - - DELETED - type: string - type: array - style: form - - description: (Optional) A filter for apps - explode: true - in: query - name: app_ids - schema: - items: - type: string - type: array - style: form - - description: (Optional) A filter for name - in: query - name: name + - description: The id of the organization invitation to decline + in: path + name: id + required: true schema: type: string + requestBody: + content: + '*/*': + schema: + type: object + required: true responses: "200": content: '*/*': schema: - $ref: '#/components/schemas/ListDomainsReply' + $ref: '#/components/schemas/DeclineOrganizationInvitationReply' description: A successful response. "400": content: @@ -2864,21 +2537,17 @@ paths: $ref: '#/components/schemas/google.rpc.Status' description: An unexpected error response. tags: - - Domains - post: - operationId: CreateDomain - requestBody: - content: - '*/*': - schema: - $ref: '#/components/schemas/CreateDomain' - required: true + - profile + x-codegen-request-body-name: body + /v1/account/profile: + get: + operationId: GetCurrentUser responses: "200": content: '*/*': schema: - $ref: '#/components/schemas/CreateDomainReply' + $ref: '#/components/schemas/UserReply' description: A successful response. "400": content: @@ -2924,23 +2593,26 @@ paths: $ref: '#/components/schemas/google.rpc.Status' description: An unexpected error response. tags: - - Domains - x-codegen-request-body-name: domain - /v1/domains/{id}: - delete: - operationId: DeleteDomain + - profile + patch: + operationId: UpdateUser2 parameters: - - in: path - name: id - required: true + - in: query + name: update_mask schema: type: string + requestBody: + content: + '*/*': + schema: + $ref: '#/components/schemas/UpdateUserRequest.UserUpdateBody' + required: true responses: "200": content: '*/*': schema: - $ref: '#/components/schemas/DeleteDomainReply' + $ref: '#/components/schemas/UserReply' description: A successful response. "400": content: @@ -2986,21 +2658,27 @@ paths: $ref: '#/components/schemas/google.rpc.Status' description: An unexpected error response. tags: - - Domains - get: - operationId: GetDomain + - profile + x-codegen-request-body-name: user + put: + operationId: UpdateUser parameters: - - in: path - name: id - required: true + - in: query + name: update_mask schema: type: string + requestBody: + content: + '*/*': + schema: + $ref: '#/components/schemas/UpdateUserRequest.UserUpdateBody' + required: true responses: "200": content: '*/*': schema: - $ref: '#/components/schemas/GetDomainReply' + $ref: '#/components/schemas/UserReply' description: A successful response. "400": content: @@ -3046,36 +2724,23 @@ paths: $ref: '#/components/schemas/google.rpc.Status' description: An unexpected error response. tags: - - Domains - patch: - operationId: UpdateDomain - parameters: - - in: path - name: id - required: true - schema: - type: string - - in: query - name: update_mask - schema: - type: string - - description: "If set, run validation and check that the domain is available." - in: query - name: dry_run - schema: - type: boolean + - profile + x-codegen-request-body-name: user + /v1/account/resend_validation: + post: + operationId: ResendEmailValidation requestBody: content: '*/*': schema: - $ref: '#/components/schemas/UpdateDomain' + $ref: '#/components/schemas/ResendEmailValidationRequest' required: true responses: "200": content: '*/*': schema: - $ref: '#/components/schemas/UpdateDomainReply' + $ref: '#/components/schemas/ResendEmailValidationReply' description: A successful response. "400": content: @@ -3121,23 +2786,23 @@ paths: $ref: '#/components/schemas/google.rpc.Status' description: An unexpected error response. tags: - - Domains - x-codegen-request-body-name: domain - /v1/domains/{id}/refresh: + - profile + x-codegen-request-body-name: body + /v1/account/reset_password: post: - operationId: RefreshDomainStatus - parameters: - - in: path - name: id + operationId: ResetPassword + requestBody: + content: + '*/*': + schema: + $ref: '#/components/schemas/ResetPasswordRequest' required: true - schema: - type: string responses: "200": content: '*/*': schema: - $ref: '#/components/schemas/RefreshDomainStatusReply' + $ref: '#/components/schemas/ResetPasswordReply' description: A successful response. "400": content: @@ -3183,47 +2848,30 @@ paths: $ref: '#/components/schemas/google.rpc.Status' description: An unexpected error response. tags: - - Domains - /v1/service_events: - get: - operationId: ListServiceEvents + - profile + x-codegen-request-body-name: body + /v1/account/signup: + post: + operationId: Signup parameters: - - description: (Optional) Filter on service id - in: query - name: service_id - schema: - type: string - - description: (Optional) Filter on service event types - explode: true - in: query - name: types - schema: - items: - type: string - type: array - style: form - - description: (Optional) The number of items to return - in: query - name: limit - schema: - type: string - - description: (Optional) The offset in the list of item to return - in: query - name: offset - schema: - type: string - - description: (Optional) Sorts the list in the ascending or the descending - order - in: query - name: order + - description: Seon Fingerprint + in: header + name: seon-fp schema: type: string + requestBody: + content: + '*/*': + schema: + $ref: '#/components/schemas/CreateAccountRequest' + description: Create new account + required: true responses: "200": content: '*/*': schema: - $ref: '#/components/schemas/ListServiceEventsReply' + $ref: '#/components/schemas/LoginReply' description: A successful response. "400": content: @@ -3268,53 +2916,30 @@ paths: schema: $ref: '#/components/schemas/google.rpc.Status' description: An unexpected error response. - summary: List Service events tags: - - Services - /v1/services: - get: - operationId: ListServices + - profile + x-codegen-request-body-name: body + /v1/account/update_password: + post: + operationId: UpdatePassword parameters: - - description: (Optional) The id of the app - in: query - name: app_id - schema: - type: string - - description: (Optional) The number of items to return - in: query - name: limit - schema: - type: string - - description: (Optional) The offset in the list of item to return - in: query - name: offset - schema: - type: string - - description: (Optional) A filter for name - in: query - name: name + - description: Seon Fingerprint + in: header + name: seon-fp schema: type: string - - description: (Optional) Filter on service types - explode: true - in: query - name: types - schema: - items: - enum: - - INVALID_TYPE - - WEB - - WORKER - - DATABASE - type: string - type: array - style: form + requestBody: + content: + '*/*': + schema: + $ref: '#/components/schemas/UpdatePasswordRequest' + required: true responses: "200": content: '*/*': schema: - $ref: '#/components/schemas/ListServicesReply' + $ref: '#/components/schemas/LoginReply' description: A successful response. "400": content: @@ -3359,29 +2984,29 @@ paths: schema: $ref: '#/components/schemas/google.rpc.Status' description: An unexpected error response. - summary: List Services tags: - - Services + - profile + x-codegen-request-body-name: body + /v1/account/validate/{id}: post: - operationId: CreateService + operationId: Validate parameters: - - description: If set only run validation - in: query - name: dry_run - schema: - type: boolean - requestBody: - content: - '*/*': - schema: - $ref: '#/components/schemas/CreateService' + - in: path + name: id required: true + schema: + type: string + - description: Seon Fingerprint + in: header + name: seon-fp + schema: + type: string responses: "200": content: '*/*': schema: - $ref: '#/components/schemas/CreateServiceReply' + $ref: '#/components/schemas/LoginReply' description: A successful response. "400": content: @@ -3426,25 +3051,21 @@ paths: schema: $ref: '#/components/schemas/google.rpc.Status' description: An unexpected error response. - summary: Create Service tags: - - Services - x-codegen-request-body-name: service - /v1/services-autocomplete: - post: - operationId: Autocomplete - requestBody: - content: - '*/*': - schema: - $ref: '#/components/schemas/AutocompleteRequest' - required: true + - profile + /v1/billing/has_unpaid_invoices: + get: + description: |- + WARNING: Please don't use the following method. + Koyeb doesn't guarantee backwards compatible breaking change and reserve the right to completely drop it without notice. + USE AT YOUR OWN RISK. + operationId: HasUnpaidInvoices responses: "200": content: '*/*': schema: - $ref: '#/components/schemas/AutocompleteReply' + $ref: '#/components/schemas/HasUnpaidInvoicesReply' description: A successful response. "400": content: @@ -3489,27 +3110,18 @@ paths: schema: $ref: '#/components/schemas/google.rpc.Status' description: An unexpected error response. - summary: Generate autocomplete definition for a service + summary: "Experimental: Has unpaid invoices" tags: - - Services - x-codegen-request-body-name: body - /v1/services/{id}: - delete: - description: Service deletion is allowed for all status. - operationId: DeleteService - parameters: - - description: The id of the entity to delete - in: path - name: id - required: true - schema: - type: string + - billing + /v1/billing/manage: + get: + operationId: Manage responses: "200": content: '*/*': schema: - $ref: '#/components/schemas/DeleteServiceReply' + $ref: '#/components/schemas/ManageReply' description: A successful response. "400": content: @@ -3554,24 +3166,21 @@ paths: schema: $ref: '#/components/schemas/google.rpc.Status' description: An unexpected error response. - summary: Delete Service tags: - - Services + - billing + /v1/billing/next_invoice: get: - operationId: GetService - parameters: - - description: The id of the Service - in: path - name: id - required: true - schema: - type: string + description: |- + WARNING: Please don't use the following method. + Koyeb doesn't guarantee backwards compatible breaking change and reserve the right to completely drop it without notice. + USE AT YOUR OWN RISK. + operationId: NextInvoice responses: "200": content: '*/*': schema: - $ref: '#/components/schemas/GetServiceReply' + $ref: '#/components/schemas/NextInvoiceReply' description: A successful response. "400": content: @@ -3616,35 +3225,79 @@ paths: schema: $ref: '#/components/schemas/google.rpc.Status' description: An unexpected error response. - summary: Get Service + summary: "Experimental: Fetch next invoice" tags: - - Services - patch: - operationId: UpdateService2 - parameters: - - description: The id of the entity to update - in: path - name: id - required: true - schema: - type: string - - description: "If set, run validation and check that the service exists" - in: query - name: dry_run - schema: - type: boolean + - billing + /v1/github/installation: + get: + operationId: GetGithubInstallation + responses: + "200": + content: + '*/*': + schema: + $ref: '#/components/schemas/GetGithubInstallationReply' + description: A successful response. + "400": + content: + '*/*': + schema: + $ref: '#/components/schemas/ErrorWithFields' + description: Validation error + "401": + content: + '*/*': + schema: + $ref: '#/components/schemas/Error' + description: Returned when the token is not valid. + "403": + content: + '*/*': + schema: + $ref: '#/components/schemas/Error' + description: Returned when the user does not have permission to access the + resource. + "404": + content: + '*/*': + schema: + $ref: '#/components/schemas/Error' + description: Returned when the resource does not exist. + "500": + content: + '*/*': + schema: + $ref: '#/components/schemas/Error' + description: Returned in case of server error. + "503": + content: + '*/*': + schema: + $ref: '#/components/schemas/Error' + description: Service is unavailable. + default: + content: + '*/*': + schema: + $ref: '#/components/schemas/google.rpc.Status' + description: An unexpected error response. + summary: Fetch github installation configuration + tags: + - organization + post: + operationId: GithubInstallation requestBody: content: '*/*': schema: - $ref: '#/components/schemas/UpdateService' + $ref: '#/components/schemas/GithubInstallationRequest' required: true responses: "200": content: '*/*': schema: - $ref: '#/components/schemas/UpdateServiceReply' + $ref: '#/components/schemas/GithubInstallationReply' description: A successful response. "400": content: @@ -3689,36 +3342,25 @@ paths: schema: $ref: '#/components/schemas/google.rpc.Status' description: An unexpected error response. - summary: Update Service + summary: Start github installation tags: - - Services - x-codegen-request-body-name: service - put: - operationId: UpdateService - parameters: - - description: The id of the entity to update - in: path - name: id - required: true - schema: - type: string - - description: "If set, run validation and check that the service exists" - in: query - name: dry_run - schema: - type: boolean + - organization + x-codegen-request-body-name: body + /v1/organizations: + post: + operationId: CreateOrganization requestBody: content: '*/*': schema: - $ref: '#/components/schemas/UpdateService' + $ref: '#/components/schemas/CreateOrganizationRequest' required: true responses: "200": content: '*/*': schema: - $ref: '#/components/schemas/UpdateServiceReply' + $ref: '#/components/schemas/CreateOrganizationReply' description: A successful response. "400": content: @@ -3763,23 +3405,15 @@ paths: schema: $ref: '#/components/schemas/google.rpc.Status' description: An unexpected error response. - summary: Update Service + summary: Create organization tags: - - Services - x-codegen-request-body-name: service - /v1/services/{id}/pause: - post: - description: |- - Service pause action is allowed for the following status: - - starting - - healthy - - degraded - - unhealthy - - resuming - operationId: PauseService + - organization + x-codegen-request-body-name: body + /v1/organizations/{id}: + delete: + operationId: DeleteOrganization parameters: - - description: The id of the service to pause. - in: path + - in: path name: id required: true schema: @@ -3789,7 +3423,7 @@ paths: content: '*/*': schema: - $ref: '#/components/schemas/PauseServiceReply' + $ref: '#/components/schemas/DeleteOrganizationReply' description: A successful response. "400": content: @@ -3834,30 +3468,23 @@ paths: schema: $ref: '#/components/schemas/google.rpc.Status' description: An unexpected error response. - summary: Pause Service + summary: Delete an organization tags: - - Services - /v1/services/{id}/redeploy: - post: - operationId: ReDeploy + - organization + get: + operationId: GetOrganization parameters: - in: path name: id required: true schema: type: string - requestBody: - content: - '*/*': - schema: - $ref: '#/components/schemas/RedeployRequest.Info' - required: true responses: "200": content: '*/*': schema: - $ref: '#/components/schemas/RedeployReply' + $ref: '#/components/schemas/GetOrganizationReply' description: A successful response. "400": content: @@ -3902,29 +3529,33 @@ paths: schema: $ref: '#/components/schemas/google.rpc.Status' description: An unexpected error response. - summary: ReDeploy Service + summary: Get organization tags: - - Services - x-codegen-request-body-name: info - /v1/services/{id}/resume: - post: - description: |- - Service resume action is allowed for the following status: - - paused - operationId: ResumeService + - organization + patch: + operationId: UpdateOrganization2 parameters: - - description: The id of the service to pause. - in: path + - in: path name: id required: true schema: type: string + - in: query + name: update_mask + schema: + type: string + requestBody: + content: + '*/*': + schema: + $ref: '#/components/schemas/Organization' + required: true responses: "200": content: '*/*': schema: - $ref: '#/components/schemas/ResumeServiceReply' + $ref: '#/components/schemas/UpdateOrganizationReply' description: A successful response. "400": content: @@ -3969,49 +3600,34 @@ paths: schema: $ref: '#/components/schemas/google.rpc.Status' description: An unexpected error response. - summary: Resume Service + summary: Update organization tags: - - Services - /v1/deployment_events: - get: - operationId: ListDeploymentEvents + - organization + x-codegen-request-body-name: organization + put: + operationId: UpdateOrganization parameters: - - description: (Optional) Filter on deployment id - in: query - name: deployment_id - schema: - type: string - - description: (Optional) Filter on deployment event types - explode: true - in: query - name: types - schema: - items: - type: string - type: array - style: form - - description: (Optional) The number of items to return - in: query - name: limit - schema: - type: string - - description: (Optional) The offset in the list of item to return - in: query - name: offset + - in: path + name: id + required: true schema: type: string - - description: (Optional) Sorts the list in the ascending or the descending - order - in: query - name: order + - in: query + name: update_mask schema: type: string + requestBody: + content: + '*/*': + schema: + $ref: '#/components/schemas/Organization' + required: true responses: "200": content: '*/*': schema: - $ref: '#/components/schemas/ListDeploymentEventsReply' + $ref: '#/components/schemas/UpdateOrganizationReply' description: A successful response. "400": content: @@ -4056,65 +3672,31 @@ paths: schema: $ref: '#/components/schemas/google.rpc.Status' description: An unexpected error response. - summary: List Deployment events + summary: Update organization tags: - - Deployments - /v1/deployments: - get: - operationId: ListDeployments + - organization + x-codegen-request-body-name: organization + /v1/organizations/{id}/deactivate: + post: + operationId: DeactivateOrganization parameters: - - description: (Optional) Filter on application id - in: query - name: app_id - schema: - type: string - - description: (Optional) Filter on service id - in: query - name: service_id - schema: - type: string - - description: (Optional) The number of items to return - in: query - name: limit - schema: - type: string - - description: (Optional) The offset in the list of item to return - in: query - name: offset + - in: path + name: id + required: true schema: type: string - - description: (Optional) Filter on statuses - explode: true - in: query - name: statuses - schema: - items: - enum: - - PENDING - - PROVISIONING - - SCHEDULED - - CANCELING - - CANCELED - - ALLOCATING - - STARTING - - HEALTHY - - DEGRADED - - UNHEALTHY - - STOPPING - - STOPPED - - ERRORING - - ERROR - - STASHED - - SLEEPING - type: string - type: array - style: form + requestBody: + content: + '*/*': + schema: + type: object + required: true responses: "200": content: '*/*': schema: - $ref: '#/components/schemas/ListDeploymentsReply' + $ref: '#/components/schemas/DeactivateOrganizationReply' description: A successful response. "400": content: @@ -4159,25 +3741,31 @@ paths: schema: $ref: '#/components/schemas/google.rpc.Status' description: An unexpected error response. - summary: List Deployments + summary: Deactivate an organization tags: - - Deployments - /v1/deployments/{id}: - get: - operationId: GetDeployment + - organization + x-codegen-request-body-name: body + /v1/organizations/{id}/plan: + post: + operationId: UpdateOrganizationPlan parameters: - - description: The id of the deployment - in: path + - in: path name: id required: true schema: type: string + requestBody: + content: + '*/*': + schema: + $ref: '#/components/schemas/UpdateOrganizationPlan_request' + required: true responses: "200": content: '*/*': schema: - $ref: '#/components/schemas/GetDeploymentReply' + $ref: '#/components/schemas/UpdateOrganizationPlanReply' description: A successful response. "400": content: @@ -4222,30 +3810,31 @@ paths: schema: $ref: '#/components/schemas/google.rpc.Status' description: An unexpected error response. - summary: Get Deployment + summary: Update organization plan tags: - - Deployments - /v1/deployments/{id}/cancel: + - organization + x-codegen-request-body-name: body + /v1/organizations/{id}/reactivate: post: - description: |- - Deployment cancellation is allowed for the following status: - - pending - - provisioning - - scheduled - operationId: CancelDeployment + operationId: ReactivateOrganization parameters: - - description: The id of the deployment to cancel. - in: path + - in: path name: id required: true schema: type: string + requestBody: + content: + '*/*': + schema: + type: object + required: true responses: "200": content: '*/*': schema: - $ref: '#/components/schemas/CancelDeploymentReply' + $ref: '#/components/schemas/ReactivateOrganizationReply' description: A successful response. "400": content: @@ -4290,24 +3879,31 @@ paths: schema: $ref: '#/components/schemas/google.rpc.Status' description: An unexpected error response. - summary: Cancel Deployment + summary: Reactivate an organization tags: - - Deployments - /v1/archives: + - organization + x-codegen-request-body-name: body + /v1/organizations/{id}/signup_qualification: post: - operationId: CreateArchive + operationId: UpsertSignupQualification + parameters: + - in: path + name: id + required: true + schema: + type: string requestBody: content: '*/*': schema: - $ref: '#/components/schemas/CreateArchive' + $ref: '#/components/schemas/UpsertSignupQualification_request' required: true responses: "200": content: '*/*': schema: - $ref: '#/components/schemas/CreateArchiveReply' + $ref: '#/components/schemas/UpsertSignupQualificationReply' description: A successful response. "400": content: @@ -4352,25 +3948,36 @@ paths: schema: $ref: '#/components/schemas/google.rpc.Status' description: An unexpected error response. - summary: Create a signed URL to upload an archive. + summary: Upsert organization's signup qualification tags: - - Archives - x-codegen-request-body-name: archive - /v1/quotas/capacity: + - organization + x-codegen-request-body-name: body + /v1/organizations/{id}/switch: post: - operationId: ReviewOrganizationCapacity + operationId: SwitchOrganization + parameters: + - in: path + name: id + required: true + schema: + type: string + - description: Seon Fingerprint + in: header + name: seon-fp + schema: + type: string requestBody: content: '*/*': schema: - $ref: '#/components/schemas/ReviewOrganizationCapacityRequest' + type: object required: true responses: "200": content: '*/*': schema: - $ref: '#/components/schemas/ReviewOrganizationCapacityReply' + $ref: '#/components/schemas/LoginReply' description: A successful response. "400": content: @@ -4415,50 +4022,25 @@ paths: schema: $ref: '#/components/schemas/google.rpc.Status' description: An unexpected error response. - summary: Review Organization Capacity + summary: Switch organization context tags: - - Quotas + - organization x-codegen-request-body-name: body - /v1/regional_deployment_events: - get: - operationId: ListRegionalDeploymentEvents - parameters: - - description: (Optional) Filter on regional deployment id - in: query - name: regional_deployment_id - schema: - type: string - - description: (Optional) Filter on regional deployment event types - explode: true - in: query - name: types - schema: - items: - type: string - type: array - style: form - - description: (Optional) The number of items to return - in: query - name: limit - schema: - type: string - - description: (Optional) The offset in the list of item to return - in: query - name: offset - schema: - type: string - - description: (Optional) Sorts the list in the ascending or the descending - order - in: query - name: order - schema: - type: string + /v1/sso/canny: + post: + operationId: CannyAuth + requestBody: + content: + '*/*': + schema: + $ref: '#/components/schemas/CannyAuthRequest' + required: true responses: "200": content: '*/*': schema: - $ref: '#/components/schemas/ListRegionalDeploymentEventsReply' + $ref: '#/components/schemas/CannyAuthReply' description: A successful response. "400": content: @@ -4503,34 +4085,24 @@ paths: schema: $ref: '#/components/schemas/google.rpc.Status' description: An unexpected error response. - summary: List Regional Deployment events tags: - - RegionalDeployments - /v1/regional_deployments: - get: - operationId: ListRegionalDeployments - parameters: - - description: (Optional) Filter on deployment id - in: query - name: deployment_id - schema: - type: string - - description: (Optional) The number of items to return - in: query - name: limit - schema: - type: string - - description: (Optional) The offset in the list of item to return - in: query - name: offset - schema: - type: string + - sso + x-codegen-request-body-name: body + /v1/sso/discourse: + post: + operationId: DiscourseAuth + requestBody: + content: + '*/*': + schema: + $ref: '#/components/schemas/DiscourseAuthRequest' + required: true responses: "200": content: '*/*': schema: - $ref: '#/components/schemas/ListRegionalDeploymentsReply' + $ref: '#/components/schemas/DiscourseAuthReply' description: A successful response. "400": content: @@ -4575,27 +4147,30 @@ paths: schema: $ref: '#/components/schemas/google.rpc.Status' description: An unexpected error response. - summary: |- - Experimental: List regional deployments - Use at your own risk tags: - - RegionalDeployments - /v1/regional_deployments/{id}: - get: - operationId: GetRegionalDeployment + - sso + x-codegen-request-body-name: body + /v1/unscope_organization_token: + post: + operationId: UnscopeOrganizationToken parameters: - - description: The id of the regional deployment - in: path - name: id - required: true + - description: Seon Fingerprint + in: header + name: seon-fp schema: type: string + requestBody: + content: + '*/*': + schema: + $ref: '#/components/schemas/UnscopeOrganizationTokenRequest' + required: true responses: "200": content: '*/*': schema: - $ref: '#/components/schemas/GetRegionalDeploymentReply' + $ref: '#/components/schemas/LoginReply' description: A successful response. "400": content: @@ -4641,42 +4216,50 @@ paths: $ref: '#/components/schemas/google.rpc.Status' description: An unexpected error response. summary: |- - Experimental: Get regional deployment - Use at your own risk + UnscopeOrganizationToken removes the organization scope from a token. This + endpoint is useful when a user wants to remove an organization: by + unscoping the token first, the user can then delete the organization + without invalidating his token. tags: - - RegionalDeployments - /v1/git/branches: + - organization + x-codegen-request-body-name: body + /v1/payment_methods: get: - operationId: ListBranches + operationId: ListPaymentMethods parameters: - - description: (Optional) Filter on one repository. - in: query - name: repository_id - schema: - type: string - - description: |- - (Optional) Filter on branch name using a fuzzy search. - Repository filter is required to enable this filter. - in: query - name: name - schema: - type: string - - description: (Optional) The number of items to return. + - description: (Optional) The number of items to return in: query name: limit schema: type: string - - description: (Optional) The offset in the list of item to return. + - description: (Optional) The offset in the list of item to return in: query name: offset schema: type: string + - description: (Optional) Filter on payment method statuses + explode: true + in: query + name: statuses + schema: + items: + enum: + - INVALID + - CREATED + - AUTHORIZED + - DECLINED + - CANCELED + - EXPIRED + - UNCHECKED + type: string + type: array + style: form responses: "200": content: '*/*': schema: - $ref: '#/components/schemas/kgitproxy.ListBranchesReply' + $ref: '#/components/schemas/ListPaymentMethodsReply' description: A successful response. "400": content: @@ -4721,39 +4304,23 @@ paths: schema: $ref: '#/components/schemas/google.rpc.Status' description: An unexpected error response. + summary: List payment methods tags: - - Repositories - /v1/git/repositories: - get: - operationId: ListRepositories - parameters: - - description: (Optional) Filter on repository name using a fuzzy search. - in: query - name: name - schema: - type: string - - description: "(Optional) Define search operation for repository name. Accept\ - \ either \"fuzzy\" or \"equality\", use \"fuzzy\" by default." - in: query - name: name_search_op - schema: - type: string - - description: (Optional) The number of items to return. - in: query - name: limit - schema: - type: string - - description: (Optional) The offset in the list of item to return. - in: query - name: offset - schema: - type: string + - PaymentMethods + post: + operationId: CreatePaymentAuthorization + requestBody: + content: + '*/*': + schema: + $ref: '#/components/schemas/CreatePaymentAuthorizationRequest' + required: true responses: "200": content: '*/*': schema: - $ref: '#/components/schemas/kgitproxy.ListRepositoriesReply' + $ref: '#/components/schemas/CreatePaymentAuthorizationReply' description: A successful response. "400": content: @@ -4798,14 +4365,16 @@ paths: schema: $ref: '#/components/schemas/google.rpc.Status' description: An unexpected error response. + summary: Create payment authorization tags: - - Repositories - /v1/git/sync/organization/{organization_id}: - post: - operationId: ResyncOrganization + - PaymentMethods + x-codegen-request-body-name: body + /v1/payment_methods/{id}: + delete: + operationId: DeletePaymentMethod parameters: - in: path - name: organization_id + name: id required: true schema: type: string @@ -4814,7 +4383,7 @@ paths: content: '*/*': schema: - $ref: '#/components/schemas/kgitproxy.ResyncOrganizationReply' + $ref: '#/components/schemas/DeletePaymentMethodReply' description: A successful response. "400": content: @@ -4859,35 +4428,23 @@ paths: schema: $ref: '#/components/schemas/google.rpc.Status' description: An unexpected error response. + summary: Delete payment method tags: - - Repositories - /v1/activities: + - PaymentMethods get: - operationId: ListActivities + operationId: GetPaymentMethod parameters: - - in: query - name: limit - schema: - type: string - - in: query - name: offset + - in: path + name: id + required: true schema: type: string - - description: (Optional) Filter on object type - explode: true - in: query - name: types - schema: - items: - type: string - type: array - style: form responses: "200": content: '*/*': schema: - $ref: '#/components/schemas/ActivityList' + $ref: '#/components/schemas/GetPaymentMethodReply' description: A successful response. "400": content: @@ -4932,42 +4489,30 @@ paths: schema: $ref: '#/components/schemas/google.rpc.Status' description: An unexpected error response. + summary: Get payment method tags: - - activity - /v1/notifications: - get: - operationId: ListNotifications + - PaymentMethods + /v1/payment_methods/{id}/confirm: + post: + operationId: ConfirmPaymentAuthorization parameters: - - in: query - name: limit - schema: - type: string - - in: query - name: offset - schema: - type: string - - in: query - name: mark_read - schema: - type: string - - in: query - name: mark_seen - schema: - type: string - - in: query - name: unread - schema: - type: string - - in: query - name: unseen + - in: path + name: id + required: true schema: type: string + requestBody: + content: + '*/*': + schema: + type: object + required: true responses: "200": content: '*/*': schema: - $ref: '#/components/schemas/NotificationList' + $ref: '#/components/schemas/ConfirmPaymentAuthorizationReply' description: A successful response. "400": content: @@ -5012,73 +4557,27 @@ paths: schema: $ref: '#/components/schemas/google.rpc.Status' description: An unexpected error response. + summary: Confirm payment authorization tags: - - activity - /v1/streams/instances/exec: + - PaymentMethods + x-codegen-request-body-name: body + /v1/organizations/{organization_id}/summary: get: - description: "This endpoint opens a websocket. Once open, all frames going through\ - \ the websocket should be formatted in JSON. Input frames should match the\ - \ format specified below. Output frames will match the response schema." - operationId: ExecCommand + operationId: GetOrganizationSummary parameters: - - description: ID of the resource to exec on. - in: query - name: id - schema: - type: string - - description: Command to exec. Mandatory in the first frame sent - explode: true - in: query - name: body.command - schema: - items: - type: string - type: array - style: form - - in: query - name: body.tty_size.height - schema: - format: int32 - type: integer - - in: query - name: body.tty_size.width - schema: - format: int32 - type: integer - - description: Data is base64 encoded - in: query - name: body.stdin.data - schema: - format: byte - type: string - - description: Indicate last data frame - in: query - name: body.stdin.close - schema: - type: boolean - - description: Disable TTY. It's enough to specify it in the first frame - in: query - name: body.disableTty - schema: - type: boolean - - description: "When specified, it is used to determine if the kind of resource\ - \ the id refers to. If missing, defaults to the instance id." - in: query - name: id_type + - description: Organization ID + in: path + name: organization_id + required: true schema: - default: INVALID - enum: - - INVALID - - INSTANCE_ID - - SERVICE_ID type: string responses: "200": content: '*/*': schema: - $ref: '#/components/schemas/Stream_result_of_ExecCommandReply' - description: A successful response.(streaming responses) + $ref: '#/components/schemas/GetOrganizationSummaryReply' + description: A successful response. "400": content: '*/*': @@ -5122,57 +4621,17 @@ paths: schema: $ref: '#/components/schemas/google.rpc.Status' description: An unexpected error response. - summary: Exec Command + summary: Get organization usage summary tags: - - Instances - /v1/streams/metrics: + - Summary + /v1/subscriptions/{id}: get: - operationId: GetMetrics + operationId: GetSubscription parameters: - - description: ID of the service to query instances metrics for. Ignored if - instance_id is set. - in: query - name: service_id - schema: - type: string - - description: ID of the instance to query metrics for. - in: query - name: instance_id - schema: - type: string - - description: Metric to query. - in: query - name: name - schema: - default: UNKNOWN - enum: - - UNKNOWN - - CPU_TOTAL_PERCENT - - MEM_RSS - - HTTP_THROUGHPUT - - HTTP_RESPONSE_TIME_50P - - HTTP_RESPONSE_TIME_90P - - HTTP_RESPONSE_TIME_99P - - HTTP_RESPONSE_TIME_MAX - - PUBLIC_DATA_TRANSFER_IN - - PUBLIC_DATA_TRANSFER_OUT - type: string - - description: (Optional) Defaults to an hour prior to end. - in: query - name: start - schema: - format: date-time - type: string - - description: (Optional) Defaults to now. - in: query - name: end - schema: - format: date-time - type: string - - description: (Optional) Must be a valid duration in hours (h) or minutes (m). - Defaulst to 5m. - in: query - name: step + - description: The id of the instance + in: path + name: id + required: true schema: type: string responses: @@ -5180,7 +4639,7 @@ paths: content: '*/*': schema: - $ref: '#/components/schemas/GetMetricsReply' + $ref: '#/components/schemas/GetSubscriptionReply' description: A successful response. "400": content: @@ -5225,56 +4684,37 @@ paths: schema: $ref: '#/components/schemas/google.rpc.Status' description: An unexpected error response. + summary: Get Subscription tags: - - Metrics - /v1/streams/logs/tail: + - Subscriptions + /v1/activities: get: - operationId: TailLogs + operationId: ListActivities parameters: - in: query - name: type - schema: - type: string - - in: query - name: app_id - schema: - type: string - - in: query - name: service_id - schema: - type: string - - in: query - name: deployment_id - schema: - type: string - - in: query - name: regional_deployment_id - schema: - type: string - - in: query - name: instance_id - schema: - type: string - - in: query - name: stream + name: limit schema: type: string - in: query - name: start + name: offset schema: type: string - - in: query - name: limit + - description: (Optional) Filter on object type + explode: true + in: query + name: types schema: - format: int64 - type: string + items: + type: string + type: array + style: form responses: "200": content: '*/*': schema: - $ref: '#/components/schemas/Stream_result_of_LogEntry' - description: A successful response.(streaming responses) + $ref: '#/components/schemas/ActivityList' + description: A successful response. "400": content: '*/*': @@ -5318,52 +4758,34 @@ paths: schema: $ref: '#/components/schemas/google.rpc.Status' description: An unexpected error response. - summary: Tails logs tags: - - Logs - /v1/catalog/instances: + - activity + /v1/notifications: get: - operationId: ListCatalogInstances + operationId: ListNotifications parameters: - - description: (Optional) The number of items to return - in: query + - in: query name: limit schema: type: string - - description: (Optional) The offset in the list of item to return - in: query + - in: query name: offset schema: type: string - - description: (Optional) A filter for instances - in: query - name: id + - in: query + name: mark_read schema: type: string - responses: - "200": - content: - '*/*': - schema: - $ref: '#/components/schemas/ListCatalogInstancesReply' - description: A successful response. - default: - content: - '*/*': - schema: - $ref: '#/components/schemas/google.rpc.Status' - description: An unexpected error response. - summary: List Instance - tags: - - CatalogInstances - /v1/catalog/instances/{id}: - get: - operationId: GetCatalogInstance - parameters: - - description: The name of the instance - in: path - name: id - required: true + - in: query + name: mark_seen + schema: + type: string + - in: query + name: unread + schema: + type: string + - in: query + name: unseen schema: type: string responses: @@ -5371,143 +4793,118 @@ paths: content: '*/*': schema: - $ref: '#/components/schemas/GetCatalogInstanceReply' + $ref: '#/components/schemas/NotificationList' description: A successful response. - default: + "400": content: '*/*': schema: - $ref: '#/components/schemas/google.rpc.Status' - description: An unexpected error response. - summary: Get Instance - tags: - - CatalogInstances - /v1/catalog/regions: - get: - operationId: ListRegions - parameters: - - description: (Optional) The number of items to return - in: query - name: limit - schema: - type: string - - description: (Optional) The offset in the list of item to return - in: query - name: offset - schema: - type: string - - description: (Optional) A filter for regions - in: query - name: id - schema: - type: string - responses: - "200": + $ref: '#/components/schemas/ErrorWithFields' + description: Validation error + "401": content: '*/*': schema: - $ref: '#/components/schemas/ListRegionsReply' - description: A successful response. - default: + $ref: '#/components/schemas/Error' + description: Returned when the token is not valid. + "403": content: '*/*': schema: - $ref: '#/components/schemas/google.rpc.Status' - description: An unexpected error response. - summary: List Region - tags: - - CatalogRegions - /v1/catalog/regions/{id}: - get: - operationId: GetRegion - parameters: - - description: The name of the region - in: path - name: id - required: true - schema: - type: string - responses: - "200": + $ref: '#/components/schemas/Error' + description: Returned when the user does not have permission to access the + resource. + "404": content: '*/*': schema: - $ref: '#/components/schemas/GetRegionReply' - description: A successful response. - default: + $ref: '#/components/schemas/Error' + description: Returned when the resource does not exist. + "500": content: '*/*': schema: - $ref: '#/components/schemas/google.rpc.Status' - description: An unexpected error response. - summary: Get Region - tags: - - CatalogRegions - /v1/catalog/datacenters: - get: - operationId: ListDatacenters - responses: - "200": + $ref: '#/components/schemas/Error' + description: Returned in case of server error. + "503": content: '*/*': schema: - $ref: '#/components/schemas/ListDatacentersReply' - description: A successful response. + $ref: '#/components/schemas/Error' + description: Service is unavailable. default: content: '*/*': schema: $ref: '#/components/schemas/google.rpc.Status' description: An unexpected error response. - summary: List datacenters tags: - - CatalogDatacenters - /v1/credentials: + - activity + /v1/streams/instances/exec: get: - operationId: ListCredentials + description: "This endpoint opens a websocket. Once open, all frames going through\ + \ the websocket should be formatted in JSON. Input frames should match the\ + \ format specified below. Output frames will match the response schema." + operationId: ExecCommand parameters: - - description: (Optional) A filter for type + - description: ID of the resource to exec on. in: query - name: type + name: id schema: - default: INVALID - enum: - - INVALID - - USER - - ORGANIZATION type: string - - description: (Optional) A filter for name - in: query - name: name + - description: Command to exec. Mandatory in the first frame sent + explode: true + in: query + name: body.command schema: - type: string - - description: (Optional) Filter for an organization + items: + type: string + type: array + style: form + - in: query + name: body.tty_size.height + schema: + format: int32 + type: integer + - in: query + name: body.tty_size.width + schema: + format: int32 + type: integer + - description: Data is base64 encoded in: query - name: organization_id + name: body.stdin.data schema: + format: byte type: string - - description: (Optional) Filter for an user + - description: Indicate last data frame in: query - name: user_id + name: body.stdin.close schema: - type: string - - description: (Optional) The number of items to return + type: boolean + - description: Disable TTY. It's enough to specify it in the first frame in: query - name: limit + name: body.disableTty schema: - type: string - - description: (Optional) The offset in the list of item to return + type: boolean + - description: "When specified, it is used to determine if the kind of resource\ + \ the id refers to. If missing, defaults to the instance id." in: query - name: offset + name: id_type schema: + default: INVALID + enum: + - INVALID + - INSTANCE_ID + - SERVICE_ID type: string responses: "200": content: '*/*': schema: - $ref: '#/components/schemas/ListCredentialsReply' - description: A successful response. + $ref: '#/components/schemas/Stream_result_of_ExecCommandReply' + description: A successful response.(streaming responses) "400": content: '*/*': @@ -5551,24 +4948,57 @@ paths: schema: $ref: '#/components/schemas/google.rpc.Status' description: An unexpected error response. - summary: List credentials + summary: Exec Command tags: - - Credentials - post: - operationId: CreateCredential - requestBody: - content: - '*/*': - schema: - $ref: '#/components/schemas/CreateCredential' - required: true + - Instances + /v1/streams/logs/tail: + get: + operationId: TailLogs + parameters: + - in: query + name: type + schema: + type: string + - in: query + name: app_id + schema: + type: string + - in: query + name: service_id + schema: + type: string + - in: query + name: deployment_id + schema: + type: string + - in: query + name: regional_deployment_id + schema: + type: string + - in: query + name: instance_id + schema: + type: string + - in: query + name: stream + schema: + type: string + - in: query + name: start + schema: + type: string + - in: query + name: limit + schema: + format: int64 + type: string responses: "200": content: '*/*': schema: - $ref: '#/components/schemas/CreateCredentialReply' - description: A successful response. + $ref: '#/components/schemas/Stream_result_of_LogEntry' + description: A successful response.(streaming responses) "400": content: '*/*': @@ -5612,17 +5042,57 @@ paths: schema: $ref: '#/components/schemas/google.rpc.Status' description: An unexpected error response. - summary: Create credential + summary: Tails logs tags: - - Credentials - x-codegen-request-body-name: credential - /v1/credentials/{id}: - delete: - operationId: DeleteCredential + - Logs + /v1/streams/metrics: + get: + operationId: GetMetrics parameters: - - in: path - name: id - required: true + - description: ID of the service to query instances metrics for. Ignored if + instance_id is set. + in: query + name: service_id + schema: + type: string + - description: ID of the instance to query metrics for. + in: query + name: instance_id + schema: + type: string + - description: Metric to query. + in: query + name: name + schema: + default: UNKNOWN + enum: + - UNKNOWN + - CPU_TOTAL_PERCENT + - MEM_RSS + - HTTP_THROUGHPUT + - HTTP_RESPONSE_TIME_50P + - HTTP_RESPONSE_TIME_90P + - HTTP_RESPONSE_TIME_99P + - HTTP_RESPONSE_TIME_MAX + - PUBLIC_DATA_TRANSFER_IN + - PUBLIC_DATA_TRANSFER_OUT + type: string + - description: (Optional) Defaults to an hour prior to end. + in: query + name: start + schema: + format: date-time + type: string + - description: (Optional) Defaults to now. + in: query + name: end + schema: + format: date-time + type: string + - description: (Optional) Must be a valid duration in hours (h) or minutes (m). + Defaulst to 5m. + in: query + name: step schema: type: string responses: @@ -5630,7 +5100,7 @@ paths: content: '*/*': schema: - $ref: '#/components/schemas/DeleteCredentialReply' + $ref: '#/components/schemas/GetMetricsReply' description: A successful response. "400": content: @@ -5675,23 +5145,39 @@ paths: schema: $ref: '#/components/schemas/google.rpc.Status' description: An unexpected error response. - summary: Delete credential tags: - - Credentials - get: - operationId: GetCredential + - Metrics + /v1/provisioning/{deployment_id}/status/{stage}/{attempt}: + patch: + operationId: DeclareStageProgress parameters: - in: path - name: id + name: deployment_id + required: true + schema: + type: string + - in: path + name: stage + required: true + schema: + type: string + - in: path + name: attempt required: true schema: type: string + requestBody: + content: + '*/*': + schema: + $ref: '#/components/schemas/DeclareStageProgress_request' + required: true responses: "200": content: '*/*': schema: - $ref: '#/components/schemas/GetCredentialReply' + $ref: '#/components/schemas/DeclareStageProgressReply' description: A successful response. "400": content: @@ -5736,33 +5222,40 @@ paths: schema: $ref: '#/components/schemas/google.rpc.Status' description: An unexpected error response. - summary: Get credential + summary: Declare stage progress tags: - - Credentials - patch: - operationId: UpdateCredential2 + - Provisioning + x-codegen-request-body-name: body + post: + operationId: CreateStageAttempt parameters: - in: path - name: id + name: deployment_id required: true schema: type: string - - in: query - name: update_mask + - in: path + name: stage + required: true + schema: + type: string + - in: path + name: attempt + required: true schema: type: string requestBody: content: '*/*': schema: - $ref: '#/components/schemas/Credential' + $ref: '#/components/schemas/CreateStageAttempt_request' required: true responses: "200": content: '*/*': schema: - $ref: '#/components/schemas/UpdateCredentialReply' + $ref: '#/components/schemas/CreateStageAttemptReply' description: A successful response. "400": content: @@ -5807,34 +5300,46 @@ paths: schema: $ref: '#/components/schemas/google.rpc.Status' description: An unexpected error response. - summary: Update credential + summary: Create an attempt for a stage tags: - - Credentials - x-codegen-request-body-name: credential - put: - operationId: UpdateCredential + - Provisioning + x-codegen-request-body-name: body + /v1/provisioning/{deployment_id}/status/{stage}/{attempt}/{step}: + patch: + operationId: DeclareStepProgress parameters: - in: path - name: id + name: deployment_id required: true schema: type: string - - in: query - name: update_mask + - in: path + name: stage + required: true + schema: + type: string + - in: path + name: attempt + required: true + schema: + type: string + - in: path + name: step + required: true schema: type: string requestBody: content: '*/*': schema: - $ref: '#/components/schemas/Credential' + $ref: '#/components/schemas/DeclareStepProgress_request' required: true responses: "200": content: '*/*': schema: - $ref: '#/components/schemas/UpdateCredentialReply' + $ref: '#/components/schemas/DeclareStepProgressReply' description: A successful response. "400": content: @@ -5879,19 +5384,25 @@ paths: schema: $ref: '#/components/schemas/google.rpc.Status' description: An unexpected error response. - summary: Update credential + summary: Declare step progress tags: - - Credentials - x-codegen-request-body-name: credential - /v1/intercom/profile: - get: - operationId: GetIntercomProfile + - Provisioning + x-codegen-request-body-name: body + /v1/quotas/capacity: + post: + operationId: ReviewOrganizationCapacity + requestBody: + content: + '*/*': + schema: + $ref: '#/components/schemas/ReviewOrganizationCapacityRequest' + required: true responses: "200": content: '*/*': schema: - $ref: '#/components/schemas/GetIntercomProfileReply' + $ref: '#/components/schemas/ReviewOrganizationCapacityReply' description: A successful response. "400": content: @@ -5936,17 +5447,42 @@ paths: schema: $ref: '#/components/schemas/google.rpc.Status' description: An unexpected error response. - summary: Get intercom profile + summary: Review Organization Capacity tags: - - Intercom - /v1/users/{id}: - delete: - operationId: DeleteUser + - Quotas + x-codegen-request-body-name: body + /v1/deployment_events: + get: + operationId: ListDeploymentEvents parameters: - - description: The id of the user - in: path - name: id - required: true + - description: (Optional) Filter on deployment id + in: query + name: deployment_id + schema: + type: string + - description: (Optional) Filter on deployment event types + explode: true + in: query + name: types + schema: + items: + type: string + type: array + style: form + - description: (Optional) The number of items to return + in: query + name: limit + schema: + type: string + - description: (Optional) The offset in the list of item to return + in: query + name: offset + schema: + type: string + - description: (Optional) Sorts the list in the ascending or the descending + order + in: query + name: order schema: type: string responses: @@ -5954,7 +5490,7 @@ paths: content: '*/*': schema: - $ref: '#/components/schemas/DeleteUserReply' + $ref: '#/components/schemas/ListDeploymentEventsReply' description: A successful response. "400": content: @@ -5999,39 +5535,65 @@ paths: schema: $ref: '#/components/schemas/google.rpc.Status' description: An unexpected error response. - summary: Delete user + summary: List Deployment events tags: - - Users - /v1/organization_members: + - Deployments + /v1/deployments: get: - operationId: ListOrganizationMembers + operationId: ListDeployments parameters: - - description: (Optional) The number of items to return + - description: (Optional) Filter on application id in: query - name: limit + name: app_id schema: type: string - - description: (Optional) The offset in the list of item to return + - description: (Optional) Filter on service id in: query - name: offset + name: service_id schema: type: string - - description: (Optional) Filter for an organization + - description: (Optional) The number of items to return in: query - name: organization_id + name: limit schema: type: string - - description: (Optional) Filter for an user + - description: (Optional) The offset in the list of item to return in: query - name: user_id + name: offset schema: type: string + - description: (Optional) Filter on statuses + explode: true + in: query + name: statuses + schema: + items: + enum: + - PENDING + - PROVISIONING + - SCHEDULED + - CANCELING + - CANCELED + - ALLOCATING + - STARTING + - HEALTHY + - DEGRADED + - UNHEALTHY + - STOPPING + - STOPPED + - ERRORING + - ERROR + - STASHED + - SLEEPING + type: string + type: array + style: form responses: "200": content: '*/*': schema: - $ref: '#/components/schemas/ListOrganizationMembersReply' + $ref: '#/components/schemas/ListDeploymentsReply' description: A successful response. "400": content: @@ -6076,14 +5638,15 @@ paths: schema: $ref: '#/components/schemas/google.rpc.Status' description: An unexpected error response. - summary: List organization members + summary: List Deployments tags: - - OrganizationMembers - /v1/organization_members/{id}: - delete: - operationId: RemoveOrganizationMember + - Deployments + /v1/deployments/{id}: + get: + operationId: GetDeployment parameters: - - in: path + - description: The id of the deployment + in: path name: id required: true schema: @@ -6093,7 +5656,7 @@ paths: content: '*/*': schema: - $ref: '#/components/schemas/RemoveOrganizationMemberReply' + $ref: '#/components/schemas/GetDeploymentReply' description: A successful response. "400": content: @@ -6138,14 +5701,20 @@ paths: schema: $ref: '#/components/schemas/google.rpc.Status' description: An unexpected error response. - summary: Remove an organization member + summary: Get Deployment tags: - - OrganizationMembers - /v1/organization_confirmations/{id}: + - Deployments + /v1/deployments/{id}/cancel: post: - operationId: ConfirmOrganizationAction + description: |- + Deployment cancellation is allowed for the following status: + - pending + - provisioning + - scheduled + operationId: CancelDeployment parameters: - - in: path + - description: The id of the deployment to cancel. + in: path name: id required: true schema: @@ -6155,7 +5724,7 @@ paths: content: '*/*': schema: - $ref: '#/components/schemas/ConfirmOrganizationActionReply' + $ref: '#/components/schemas/CancelDeploymentReply' description: A successful response. "400": content: @@ -6200,30 +5769,30 @@ paths: schema: $ref: '#/components/schemas/google.rpc.Status' description: An unexpected error response. - summary: Confirm organization action + summary: Cancel Deployment tags: - - OrganizationConfirmations - /v1/account/login: - post: - operationId: Login + - Deployments + /v1/docker-helper/verify: + get: + operationId: VerifyDockerImage parameters: - - description: Seon Fingerprint - in: header - name: seon-fp + - description: The full image uri to be verified + in: query + name: image + schema: + type: string + - description: (Optional) the id of the secret to use to authenticate to the + registry + in: query + name: secret_id schema: type: string - requestBody: - content: - '*/*': - schema: - $ref: '#/components/schemas/LoginRequest' - required: true responses: "200": content: '*/*': schema: - $ref: '#/components/schemas/LoginReply' + $ref: '#/components/schemas/VerifyDockerImageReply' description: A successful response. "400": content: @@ -6268,79 +5837,152 @@ paths: schema: $ref: '#/components/schemas/google.rpc.Status' description: An unexpected error response. - summary: Login user + summary: Verify if a docker image is reachable tags: - - Sessions - x-codegen-request-body-name: body - /v1/account/logout: - delete: - operationId: Logout + - DockerHelper + /v1/usages: + get: + operationId: GetOrganizationUsage + parameters: + - description: The starting time of the period to get data from + in: query + name: starting_time + schema: + format: date-time + type: string + - description: The ending time of the period to get data from + in: query + name: ending_time + schema: + format: date-time + type: string responses: "200": content: '*/*': schema: - $ref: '#/components/schemas/LogoutReply' + $ref: '#/components/schemas/GetOrganizationUsageReply' description: A successful response. - "400": - content: - '*/*': - schema: - $ref: '#/components/schemas/ErrorWithFields' - description: Validation error - "401": - content: - '*/*': - schema: - $ref: '#/components/schemas/Error' - description: Returned when the token is not valid. - "403": - content: - '*/*': - schema: - $ref: '#/components/schemas/Error' - description: Returned when the user does not have permission to access the - resource. - "404": - content: - '*/*': - schema: - $ref: '#/components/schemas/Error' - description: Returned when the resource does not exist. - "500": - content: - '*/*': - schema: - $ref: '#/components/schemas/Error' - description: Returned in case of server error. - "503": - content: - '*/*': - schema: - $ref: '#/components/schemas/Error' - description: Service is unavailable. default: content: '*/*': schema: $ref: '#/components/schemas/google.rpc.Status' description: An unexpected error response. - summary: Logout user + summary: Get organization usage tags: - - Sessions - /v1/account/refresh: - put: - operationId: RefreshToken - responses: - "200": - content: - '*/*': - schema: - $ref: '#/components/schemas/LoginReply' - description: A successful response. - "400": - content: - '*/*': + - Usages + /v1/usages/details: + get: + operationId: GetOrganizationUsageDetails + parameters: + - description: The starting time of the period to get data from + in: query + name: starting_time + schema: + format: date-time + type: string + - description: The ending time of the period to get data from + in: query + name: ending_time + schema: + format: date-time + type: string + - description: (Optional) The number of items to return + in: query + name: limit + schema: + type: string + - description: (Optional) The offset in the list of item to return + in: query + name: offset + schema: + type: string + - description: (Optional) Sorts the list in the ascending or the descending + order + in: query + name: order + schema: + type: string + - description: "If defined with the value 'text/csv', a csv file is returned" + in: header + name: Accept + schema: + type: string + responses: + "200": + content: + '*/*': + schema: + $ref: '#/components/schemas/GetOrganizationUsageDetailsReply' + description: A successful response. + default: + content: + '*/*': + schema: + $ref: '#/components/schemas/google.rpc.Status' + description: An unexpected error response. + summary: Get organization usage details + tags: + - Usages + /v1/snapshots: + get: + operationId: ListSnapshots + parameters: + - description: (Optional) The number of items to return + in: query + name: limit + schema: + type: string + - description: (Optional) The offset in the list of item to return + in: query + name: offset + schema: + type: string + - description: (Optional) Filter by organization_id + in: query + name: organization_id + schema: + type: string + - description: |- + (Optional) Filter by status + + - SNAPSHOT_STATUS_INVALID: zero value, invalid + - SNAPSHOT_STATUS_CREATING: the snapshot is being created + - SNAPSHOT_STATUS_AVAILABLE: the snapshot is complete and available + - SNAPSHOT_STATUS_MIGRATING: the snapshot is being migrated + - SNAPSHOT_STATUS_DELETING: the snapshot is being deleted + - SNAPSHOT_STATUS_DELETED: the snapshot is deleted + explode: true + in: query + name: statuses + schema: + items: + enum: + - SNAPSHOT_STATUS_INVALID + - SNAPSHOT_STATUS_CREATING + - SNAPSHOT_STATUS_AVAILABLE + - SNAPSHOT_STATUS_MIGRATING + - SNAPSHOT_STATUS_DELETING + - SNAPSHOT_STATUS_DELETED + type: string + type: array + style: form + - description: (Optional) A filter for the region + in: query + name: region + schema: + type: string + responses: + "200": + content: + '*/*': + schema: + $ref: '#/components/schemas/ListSnapshotsReply' + description: A successful response. + "400": + content: + '*/*': schema: $ref: '#/components/schemas/ErrorWithFields' description: Validation error @@ -6381,21 +6023,23 @@ paths: schema: $ref: '#/components/schemas/google.rpc.Status' description: An unexpected error response. - summary: Refresh token + summary: List all Snapshots tags: - - Sessions - /v1/account/session: + - Snapshots post: - description: |- - Creates a new session without an organization for current user. - NOTE: If you want a session linked to another organization, please use "Switch organization". - operationId: NewSession + operationId: CreateSnapshot + requestBody: + content: + '*/*': + schema: + $ref: '#/components/schemas/CreateSnapshotRequest' + required: true responses: "200": content: '*/*': schema: - $ref: '#/components/schemas/LoginReply' + $ref: '#/components/schemas/CreateSnapshotReply' description: A successful response. "400": content: @@ -6440,15 +6084,15 @@ paths: schema: $ref: '#/components/schemas/google.rpc.Status' description: An unexpected error response. - summary: New session + summary: Create a Snapshot tags: - - Sessions - /v1/subscriptions/{id}: - get: - operationId: GetSubscription + - Snapshots + x-codegen-request-body-name: body + /v1/snapshots/{id}: + delete: + operationId: DeleteSnapshot parameters: - - description: The id of the instance - in: path + - in: path name: id required: true schema: @@ -6458,7 +6102,7 @@ paths: content: '*/*': schema: - $ref: '#/components/schemas/GetSubscriptionReply' + $ref: '#/components/schemas/DeleteSnapshotReply' description: A successful response. "400": content: @@ -6503,46 +6147,23 @@ paths: schema: $ref: '#/components/schemas/google.rpc.Status' description: An unexpected error response. - summary: Get Subscription + summary: Delete a Snapshot tags: - - Subscriptions - /v1/payment_methods: + - Snapshots get: - operationId: ListPaymentMethods + operationId: GetSnapshot parameters: - - description: (Optional) The number of items to return - in: query - name: limit - schema: - type: string - - description: (Optional) The offset in the list of item to return - in: query - name: offset + - in: path + name: id + required: true schema: type: string - - description: (Optional) Filter on payment method statuses - explode: true - in: query - name: statuses - schema: - items: - enum: - - INVALID - - CREATED - - AUTHORIZED - - DECLINED - - CANCELED - - EXPIRED - - UNCHECKED - type: string - type: array - style: form responses: "200": content: '*/*': schema: - $ref: '#/components/schemas/ListPaymentMethodsReply' + $ref: '#/components/schemas/GetSnapshotReply' description: A successful response. "400": content: @@ -6587,23 +6208,30 @@ paths: schema: $ref: '#/components/schemas/google.rpc.Status' description: An unexpected error response. - summary: List payment methods + summary: Get a Snapshot tags: - - PaymentMethods + - Snapshots post: - operationId: CreatePaymentAuthorization + operationId: UpdateSnapshot + parameters: + - description: The id of the snapshot + in: path + name: id + required: true + schema: + type: string requestBody: content: '*/*': schema: - $ref: '#/components/schemas/CreatePaymentAuthorizationRequest' + $ref: '#/components/schemas/UpdateSnapshot_request' required: true responses: "200": content: '*/*': schema: - $ref: '#/components/schemas/CreatePaymentAuthorizationReply' + $ref: '#/components/schemas/UpdateSnapshotReply' description: A successful response. "400": content: @@ -6648,17 +6276,46 @@ paths: schema: $ref: '#/components/schemas/google.rpc.Status' description: An unexpected error response. - summary: Create payment authorization + summary: Update a Snapshot tags: - - PaymentMethods + - Snapshots x-codegen-request-body-name: body - /v1/payment_methods/{id}: - delete: - operationId: DeletePaymentMethod + /v1/instance_events: + get: + operationId: ListInstanceEvents parameters: - - in: path - name: id - required: true + - description: (Optional) Filter on list of instance id + explode: true + in: query + name: instance_ids + schema: + items: + type: string + type: array + style: form + - description: (Optional) Filter on instance event types + explode: true + in: query + name: types + schema: + items: + type: string + type: array + style: form + - description: (Optional) The number of items to return + in: query + name: limit + schema: + type: string + - description: (Optional) The offset in the list of item to return + in: query + name: offset + schema: + type: string + - description: (Optional) Sorts the list in the ascending or the descending + order + in: query + name: order schema: type: string responses: @@ -6666,7 +6323,7 @@ paths: content: '*/*': schema: - $ref: '#/components/schemas/DeletePaymentMethodReply' + $ref: '#/components/schemas/ListInstanceEventsReply' description: A successful response. "400": content: @@ -6711,23 +6368,95 @@ paths: schema: $ref: '#/components/schemas/google.rpc.Status' description: An unexpected error response. - summary: Delete payment method + summary: List Instance events tags: - - PaymentMethods + - Instances + /v1/instances: get: - operationId: GetPaymentMethod + operationId: ListInstances parameters: - - in: path - name: id - required: true + - description: (Optional) Filter on application id + in: query + name: app_id + schema: + type: string + - description: (Optional) Filter on service id + in: query + name: service_id + schema: + type: string + - description: (Optional) Filter on deployment id + in: query + name: deployment_id + schema: + type: string + - description: (Optional) Filter on regional deployment id + in: query + name: regional_deployment_id + schema: + type: string + - description: (Optional) Filter on allocation id + in: query + name: allocation_id + schema: + type: string + - description: (Optional) Filter on replica index + in: query + name: replica_index + schema: + type: string + - description: (Optional) Filter on instance statuses + explode: true + in: query + name: statuses + schema: + items: + enum: + - ALLOCATING + - STARTING + - HEALTHY + - UNHEALTHY + - STOPPING + - STOPPED + - ERROR + - SLEEPING + type: string + type: array + style: form + - description: (Optional) The number of items to return + in: query + name: limit + schema: + type: string + - description: (Optional) The offset in the list of item to return + in: query + name: offset + schema: + type: string + - description: (Optional) Sorts the list in the ascending or the descending + order + in: query + name: order + schema: + type: string + - description: (Optional) The starting time of the period of running instance + in: query + name: starting_time + schema: + format: date-time + type: string + - description: (Optional) The ending time of the period of running instance + in: query + name: ending_time schema: + format: date-time type: string responses: "200": content: '*/*': schema: - $ref: '#/components/schemas/GetPaymentMethodReply' + $ref: '#/components/schemas/ListInstancesReply' description: A successful response. "400": content: @@ -6772,30 +6501,25 @@ paths: schema: $ref: '#/components/schemas/google.rpc.Status' description: An unexpected error response. - summary: Get payment method + summary: List Instances tags: - - PaymentMethods - /v1/payment_methods/{id}/confirm: - post: - operationId: ConfirmPaymentAuthorization + - Instances + /v1/instances/{id}: + get: + operationId: GetInstance parameters: - - in: path + - description: The id of the instance + in: path name: id required: true schema: type: string - requestBody: - content: - '*/*': - schema: - type: object - required: true responses: "200": content: '*/*': schema: - $ref: '#/components/schemas/ConfirmPaymentAuthorizationReply' + $ref: '#/components/schemas/GetInstanceReply' description: A successful response. "400": content: @@ -6840,28 +6564,49 @@ paths: schema: $ref: '#/components/schemas/google.rpc.Status' description: An unexpected error response. - summary: Confirm payment authorization + summary: Get Instance tags: - - PaymentMethods - x-codegen-request-body-name: body - /v1/account/activities: + - Instances + /v1/app_events: get: - operationId: GetAccountActivities + operationId: ListAppEvents parameters: - - in: query + - description: (Optional) Filter on app id + in: query + name: app_id + schema: + type: string + - description: (Optional) Filter on app event types + explode: true + in: query + name: types + schema: + items: + type: string + type: array + style: form + - description: (Optional) The number of items to return + in: query name: limit schema: type: string - - in: query + - description: (Optional) The offset in the list of item to return + in: query name: offset schema: type: string + - description: (Optional) Sorts the list in the ascending or the descending + order + in: query + name: order + schema: + type: string responses: "200": content: '*/*': schema: - $ref: '#/components/schemas/ActivityList' + $ref: '#/components/schemas/ListAppEventsReply' description: A successful response. "400": content: @@ -6906,23 +6651,34 @@ paths: schema: $ref: '#/components/schemas/google.rpc.Status' description: An unexpected error response. + summary: List App events tags: - - activity - /v1/account/invite: - post: - operationId: CreateInvite - requestBody: - content: - '*/*': - schema: - $ref: '#/components/schemas/InviteUserRequest' - required: true + - Apps + /v1/apps: + get: + operationId: ListApps + parameters: + - description: (Optional) The number of items to return + in: query + name: limit + schema: + type: string + - description: (Optional) The offset in the list of item to return + in: query + name: offset + schema: + type: string + - description: (Optional) A filter for name + in: query + name: name + schema: + type: string responses: "200": content: '*/*': schema: - $ref: '#/components/schemas/Empty' + $ref: '#/components/schemas/ListAppsReply' description: A successful response. "400": content: @@ -6967,35 +6723,23 @@ paths: schema: $ref: '#/components/schemas/google.rpc.Status' description: An unexpected error response. + summary: List App tags: - - invite - x-codegen-request-body-name: body - /v1/account/oauth: - get: - operationId: GetOAuthOptions - parameters: - - description: Which authentication flow is being initiated - in: query - name: action - schema: - default: signin - enum: - - signin - - signup - - register - type: string - - description: A small (limited to 400 characters) string of arbitrary metadata - which will be encoded in the state - in: query - name: metadata - schema: - type: string + - Apps + post: + operationId: CreateApp + requestBody: + content: + '*/*': + schema: + $ref: '#/components/schemas/CreateApp' + required: true responses: "200": content: '*/*': schema: - $ref: '#/components/schemas/GetOAuthOptionsReply' + $ref: '#/components/schemas/CreateAppReply' description: A successful response. "400": content: @@ -7040,29 +6784,27 @@ paths: schema: $ref: '#/components/schemas/google.rpc.Status' description: An unexpected error response. - summary: Get OAuth Providers + summary: Create App tags: - - profile - post: - operationId: OAuthCallback + - Apps + x-codegen-request-body-name: app + /v1/apps/{id}: + delete: + description: App deletion is allowed for all status. + operationId: DeleteApp parameters: - - description: Seon Fingerprint - in: header - name: seon-fp + - description: The id of the App to delete + in: path + name: id + required: true schema: type: string - requestBody: - content: - '*/*': - schema: - $ref: '#/components/schemas/OAuthCallbackRequest' - required: true responses: "200": content: '*/*': schema: - $ref: '#/components/schemas/OAuthCallbackReply' + $ref: '#/components/schemas/DeleteAppReply' description: A successful response. "400": content: @@ -7107,19 +6849,24 @@ paths: schema: $ref: '#/components/schemas/google.rpc.Status' description: An unexpected error response. - summary: Authenticate using OAuth + summary: Delete App tags: - - profile - x-codegen-request-body-name: body - /v1/account/organization: + - Apps get: - operationId: GetCurrentOrganization + operationId: GetApp + parameters: + - description: The id of the App + in: path + name: id + required: true + schema: + type: string responses: "200": content: '*/*': schema: - $ref: '#/components/schemas/GetOrganizationReply' + $ref: '#/components/schemas/GetAppReply' description: A successful response. "400": content: @@ -7164,43 +6911,34 @@ paths: schema: $ref: '#/components/schemas/google.rpc.Status' description: An unexpected error response. + summary: Get App tags: - - profile - /v1/account/organization_invitations: - get: - operationId: ListUserOrganizationInvitations + - Apps + patch: + operationId: UpdateApp2 parameters: - - description: (Optional) The number of items to return - in: query - name: limit + - description: The id of the app to update. + in: path + name: id + required: true schema: type: string - - description: (Optional) The offset in the list of item to return - in: query - name: offset + - in: query + name: update_mask schema: type: string - - description: (Optional) Filter on organization invitation statuses - explode: true - in: query - name: statuses - schema: - items: - enum: - - INVALID - - PENDING - - ACCEPTED - - REFUSED - - EXPIRED - type: string - type: array - style: form + requestBody: + content: + '*/*': + schema: + $ref: '#/components/schemas/UpdateApp' + required: true responses: "200": content: '*/*': schema: - $ref: '#/components/schemas/ListUserOrganizationInvitationsReply' + $ref: '#/components/schemas/UpdateAppReply' description: A successful response. "400": content: @@ -7245,24 +6983,35 @@ paths: schema: $ref: '#/components/schemas/google.rpc.Status' description: An unexpected error response. + summary: Update App tags: - - profile - /v1/account/organization_invitations/{id}: - get: - operationId: GetUserOrganizationInvitation + - Apps + x-codegen-request-body-name: app + put: + operationId: UpdateApp parameters: - - description: The id of the organization invitation to get + - description: The id of the app to update. in: path name: id required: true schema: type: string + - in: query + name: update_mask + schema: + type: string + requestBody: + content: + '*/*': + schema: + $ref: '#/components/schemas/UpdateApp' + required: true responses: "200": content: '*/*': schema: - $ref: '#/components/schemas/GetUserOrganizationInvitationReply' + $ref: '#/components/schemas/UpdateAppReply' description: A successful response. "400": content: @@ -7307,30 +7056,33 @@ paths: schema: $ref: '#/components/schemas/google.rpc.Status' description: An unexpected error response. + summary: Update App tags: - - profile - /v1/account/organization_invitations/{id}/accept: + - Apps + x-codegen-request-body-name: app + /v1/apps/{id}/pause: post: - operationId: AcceptOrganizationInvitation + description: |- + App pause action is allowed for the following status: + - starting + - healthy + - degraded + - unhealthy + - resuming + operationId: PauseApp parameters: - - description: The id of the organization invitation to accept + - description: The id of the app to pause. in: path name: id required: true schema: type: string - requestBody: - content: - '*/*': - schema: - type: object - required: true responses: "200": content: '*/*': schema: - $ref: '#/components/schemas/AcceptOrganizationInvitationReply' + $ref: '#/components/schemas/PauseAppReply' description: A successful response. "400": content: @@ -7375,31 +7127,28 @@ paths: schema: $ref: '#/components/schemas/google.rpc.Status' description: An unexpected error response. + summary: Pause App tags: - - profile - x-codegen-request-body-name: body - /v1/account/organization_invitations/{id}/decline: + - Apps + /v1/apps/{id}/resume: post: - operationId: DeclineOrganizationInvitation + description: |- + App resume action is allowed for the following status: + - paused + operationId: ResumeApp parameters: - - description: The id of the organization invitation to decline + - description: The id of the app to resume. in: path name: id required: true schema: type: string - requestBody: - content: - '*/*': - schema: - type: object - required: true responses: "200": content: '*/*': schema: - $ref: '#/components/schemas/DeclineOrganizationInvitationReply' + $ref: '#/components/schemas/ResumeAppReply' description: A successful response. "400": content: @@ -7444,18 +7193,49 @@ paths: schema: $ref: '#/components/schemas/google.rpc.Status' description: An unexpected error response. + summary: Resume App tags: - - profile - x-codegen-request-body-name: body - /v1/account/profile: + - Apps + /v1/volume_events: get: - operationId: GetCurrentUser + operationId: ListPersistentVolumeEvents + parameters: + - description: (Optional) Filter on persistent volume id + in: query + name: persistent_volume_id + schema: + type: string + - description: (Optional) Filter on persistent volume event types + explode: true + in: query + name: types + schema: + items: + type: string + type: array + style: form + - description: (Optional) The number of items to return + in: query + name: limit + schema: + type: string + - description: (Optional) The offset in the list of item to return + in: query + name: offset + schema: + type: string + - description: (Optional) Sorts the list in the ascending or the descending + order + in: query + name: order + schema: + type: string responses: "200": content: '*/*': schema: - $ref: '#/components/schemas/UserReply' + $ref: '#/components/schemas/ListPersistentVolumeEventsReply' description: A successful response. "400": content: @@ -7500,27 +7280,44 @@ paths: schema: $ref: '#/components/schemas/google.rpc.Status' description: An unexpected error response. + summary: List Persistent Volume events tags: - - profile - patch: - operationId: UpdateUser2 + - PersistentVolumes + /v1/volumes: + get: + operationId: ListPersistentVolumes parameters: - - in: query - name: update_mask + - description: (Optional) The number of items to return + in: query + name: limit + schema: + type: string + - description: (Optional) The offset in the list of item to return + in: query + name: offset + schema: + type: string + - description: (Optional) A filter for the service id + in: query + name: service_id + schema: + type: string + - description: (Optional) A filter for the region + in: query + name: region + schema: + type: string + - description: (Optional) A filter for the name + in: query + name: name schema: type: string - requestBody: - content: - '*/*': - schema: - $ref: '#/components/schemas/UpdateUserRequest.UserUpdateBody' - required: true responses: "200": content: '*/*': schema: - $ref: '#/components/schemas/UserReply' + $ref: '#/components/schemas/ListPersistentVolumesReply' description: A successful response. "400": content: @@ -7565,28 +7362,23 @@ paths: schema: $ref: '#/components/schemas/google.rpc.Status' description: An unexpected error response. + summary: List all PersistentVolumes tags: - - profile - x-codegen-request-body-name: user - put: - operationId: UpdateUser - parameters: - - in: query - name: update_mask - schema: - type: string + - PersistentVolumes + post: + operationId: CreatePersistentVolume requestBody: content: '*/*': schema: - $ref: '#/components/schemas/UpdateUserRequest.UserUpdateBody' + $ref: '#/components/schemas/CreatePersistentVolumeRequest' required: true responses: "200": content: '*/*': schema: - $ref: '#/components/schemas/UserReply' + $ref: '#/components/schemas/CreatePersistentVolumeReply' description: A successful response. "400": content: @@ -7631,24 +7423,25 @@ paths: schema: $ref: '#/components/schemas/google.rpc.Status' description: An unexpected error response. + summary: Create a PersistentVolume tags: - - profile - x-codegen-request-body-name: user - /v1/account/resend_validation: - post: - operationId: ResendEmailValidation - requestBody: - content: - '*/*': - schema: - $ref: '#/components/schemas/ResendEmailValidationRequest' + - PersistentVolumes + x-codegen-request-body-name: body + /v1/volumes/{id}: + delete: + operationId: DeletePersistentVolume + parameters: + - in: path + name: id required: true + schema: + type: string responses: "200": content: '*/*': schema: - $ref: '#/components/schemas/ResendEmailValidationReply' + $ref: '#/components/schemas/DeletePersistentVolumeReply' description: A successful response. "400": content: @@ -7693,24 +7486,23 @@ paths: schema: $ref: '#/components/schemas/google.rpc.Status' description: An unexpected error response. + summary: Delete a PersistentVolume tags: - - profile - x-codegen-request-body-name: body - /v1/account/reset_password: - post: - operationId: ResetPassword - requestBody: - content: - '*/*': - schema: - $ref: '#/components/schemas/ResetPasswordRequest' + - PersistentVolumes + get: + operationId: GetPersistentVolume + parameters: + - in: path + name: id required: true + schema: + type: string responses: "200": content: '*/*': schema: - $ref: '#/components/schemas/ResetPasswordReply' + $ref: '#/components/schemas/GetPersistentVolumeReply' description: A successful response. "400": content: @@ -7755,31 +7547,29 @@ paths: schema: $ref: '#/components/schemas/google.rpc.Status' description: An unexpected error response. + summary: Get a PersistentVolume tags: - - profile - x-codegen-request-body-name: body - /v1/account/signup: + - PersistentVolumes post: - operationId: Signup + operationId: UpdatePersistentVolume parameters: - - description: Seon Fingerprint - in: header - name: seon-fp - schema: - type: string + - in: path + name: id + required: true + schema: + type: string requestBody: content: '*/*': schema: - $ref: '#/components/schemas/CreateAccountRequest' - description: Create new account + $ref: '#/components/schemas/UpdatePersistentVolume_request' required: true responses: "200": content: '*/*': schema: - $ref: '#/components/schemas/LoginReply' + $ref: '#/components/schemas/UpdatePersistentVolumeReply' description: A successful response. "400": content: @@ -7824,30 +7614,74 @@ paths: schema: $ref: '#/components/schemas/google.rpc.Status' description: An unexpected error response. + summary: Update a PersistentVolume tags: - - profile + - PersistentVolumes x-codegen-request-body-name: body - /v1/account/update_password: - post: - operationId: UpdatePassword + /v1/domains: + get: + operationId: ListDomains parameters: - - description: Seon Fingerprint - in: header - name: seon-fp + - description: (Optional) The number of items to return + in: query + name: limit + schema: + type: string + - description: (Optional) The offset in the list of item to return + in: query + name: offset + schema: + type: string + - description: |- + (Optional) A filter for types + + - AUTOASSIGNED: Domain like -.koyeb.app + explode: true + in: query + name: types + schema: + items: + enum: + - AUTOASSIGNED + - CUSTOM + type: string + type: array + style: form + - description: (Optional) A filter for statuses + explode: true + in: query + name: statuses + schema: + items: + enum: + - PENDING + - ACTIVE + - ERROR + - DELETING + - DELETED + type: string + type: array + style: form + - description: (Optional) A filter for apps + explode: true + in: query + name: app_ids + schema: + items: + type: string + type: array + style: form + - description: (Optional) A filter for name + in: query + name: name schema: type: string - requestBody: - content: - '*/*': - schema: - $ref: '#/components/schemas/UpdatePasswordRequest' - required: true responses: "200": content: '*/*': schema: - $ref: '#/components/schemas/LoginReply' + $ref: '#/components/schemas/ListDomainsReply' description: A successful response. "400": content: @@ -7893,28 +7727,21 @@ paths: $ref: '#/components/schemas/google.rpc.Status' description: An unexpected error response. tags: - - profile - x-codegen-request-body-name: body - /v1/account/validate/{id}: + - Domains post: - operationId: Validate - parameters: - - in: path - name: id + operationId: CreateDomain + requestBody: + content: + '*/*': + schema: + $ref: '#/components/schemas/CreateDomain' required: true - schema: - type: string - - description: Seon Fingerprint - in: header - name: seon-fp - schema: - type: string responses: "200": content: '*/*': schema: - $ref: '#/components/schemas/LoginReply' + $ref: '#/components/schemas/CreateDomainReply' description: A successful response. "400": content: @@ -7960,20 +7787,23 @@ paths: $ref: '#/components/schemas/google.rpc.Status' description: An unexpected error response. tags: - - profile - /v1/billing/has_unpaid_invoices: - get: - description: |- - WARNING: Please don't use the following method. - Koyeb doesn't guarantee backwards compatible breaking change and reserve the right to completely drop it without notice. - USE AT YOUR OWN RISK. - operationId: HasUnpaidInvoices + - Domains + x-codegen-request-body-name: domain + /v1/domains/{id}: + delete: + operationId: DeleteDomain + parameters: + - in: path + name: id + required: true + schema: + type: string responses: "200": content: '*/*': schema: - $ref: '#/components/schemas/HasUnpaidInvoicesReply' + $ref: '#/components/schemas/DeleteDomainReply' description: A successful response. "400": content: @@ -8018,18 +7848,22 @@ paths: schema: $ref: '#/components/schemas/google.rpc.Status' description: An unexpected error response. - summary: "Experimental: Has unpaid invoices" tags: - - billing - /v1/billing/manage: + - Domains get: - operationId: Manage + operationId: GetDomain + parameters: + - in: path + name: id + required: true + schema: + type: string responses: "200": content: '*/*': schema: - $ref: '#/components/schemas/ManageReply' + $ref: '#/components/schemas/GetDomainReply' description: A successful response. "400": content: @@ -8075,20 +7909,36 @@ paths: $ref: '#/components/schemas/google.rpc.Status' description: An unexpected error response. tags: - - billing - /v1/billing/next_invoice: - get: - description: |- - WARNING: Please don't use the following method. - Koyeb doesn't guarantee backwards compatible breaking change and reserve the right to completely drop it without notice. - USE AT YOUR OWN RISK. - operationId: NextInvoice + - Domains + patch: + operationId: UpdateDomain + parameters: + - in: path + name: id + required: true + schema: + type: string + - in: query + name: update_mask + schema: + type: string + - description: "If set, run validation and check that the domain is available." + in: query + name: dry_run + schema: + type: boolean + requestBody: + content: + '*/*': + schema: + $ref: '#/components/schemas/UpdateDomain' + required: true responses: "200": content: '*/*': schema: - $ref: '#/components/schemas/NextInvoiceReply' + $ref: '#/components/schemas/UpdateDomainReply' description: A successful response. "400": content: @@ -8133,18 +7983,24 @@ paths: schema: $ref: '#/components/schemas/google.rpc.Status' description: An unexpected error response. - summary: "Experimental: Fetch next invoice" tags: - - billing - /v1/github/installation: - get: - operationId: GetGithubInstallation + - Domains + x-codegen-request-body-name: domain + /v1/domains/{id}/refresh: + post: + operationId: RefreshDomainStatus + parameters: + - in: path + name: id + required: true + schema: + type: string responses: "200": content: '*/*': schema: - $ref: '#/components/schemas/GetGithubInstallationReply' + $ref: '#/components/schemas/RefreshDomainStatusReply' description: A successful response. "400": content: @@ -8189,23 +8045,48 @@ paths: schema: $ref: '#/components/schemas/google.rpc.Status' description: An unexpected error response. - summary: Fetch github installation configuration tags: - - organization - post: - operationId: GithubInstallation - requestBody: - content: - '*/*': - schema: - $ref: '#/components/schemas/GithubInstallationRequest' - required: true + - Domains + /v1/service_events: + get: + operationId: ListServiceEvents + parameters: + - description: (Optional) Filter on service id + in: query + name: service_id + schema: + type: string + - description: (Optional) Filter on service event types + explode: true + in: query + name: types + schema: + items: + type: string + type: array + style: form + - description: (Optional) The number of items to return + in: query + name: limit + schema: + type: string + - description: (Optional) The offset in the list of item to return + in: query + name: offset + schema: + type: string + - description: (Optional) Sorts the list in the ascending or the descending + order + in: query + name: order + schema: + type: string responses: "200": content: '*/*': schema: - $ref: '#/components/schemas/GithubInstallationReply' + $ref: '#/components/schemas/ListServiceEventsReply' description: A successful response. "400": content: @@ -8250,25 +8131,53 @@ paths: schema: $ref: '#/components/schemas/google.rpc.Status' description: An unexpected error response. - summary: Start github installation + summary: List Service events tags: - - organization - x-codegen-request-body-name: body - /v1/organizations: - post: - operationId: CreateOrganization - requestBody: - content: - '*/*': - schema: - $ref: '#/components/schemas/CreateOrganizationRequest' - required: true - responses: - "200": - content: - '*/*': + - Services + /v1/services: + get: + operationId: ListServices + parameters: + - description: (Optional) The id of the app + in: query + name: app_id + schema: + type: string + - description: (Optional) The number of items to return + in: query + name: limit + schema: + type: string + - description: (Optional) The offset in the list of item to return + in: query + name: offset + schema: + type: string + - description: (Optional) A filter for name + in: query + name: name + schema: + type: string + - description: (Optional) Filter on service types + explode: true + in: query + name: types + schema: + items: + enum: + - INVALID_TYPE + - WEB + - WORKER + - DATABASE + type: string + type: array + style: form + responses: + "200": + content: + '*/*': schema: - $ref: '#/components/schemas/CreateOrganizationReply' + $ref: '#/components/schemas/ListServicesReply' description: A successful response. "400": content: @@ -8313,25 +8222,29 @@ paths: schema: $ref: '#/components/schemas/google.rpc.Status' description: An unexpected error response. - summary: Create organization + summary: List Services tags: - - organization - x-codegen-request-body-name: body - /v1/organizations/{id}: - delete: - operationId: DeleteOrganization + - Services + post: + operationId: CreateService parameters: - - in: path - name: id - required: true + - description: If set only run validation + in: query + name: dry_run schema: - type: string + type: boolean + requestBody: + content: + '*/*': + schema: + $ref: '#/components/schemas/CreateService' + required: true responses: "200": content: '*/*': schema: - $ref: '#/components/schemas/DeleteOrganizationReply' + $ref: '#/components/schemas/CreateServiceReply' description: A successful response. "400": content: @@ -8376,23 +8289,25 @@ paths: schema: $ref: '#/components/schemas/google.rpc.Status' description: An unexpected error response. - summary: Delete an organization + summary: Create Service tags: - - organization - get: - operationId: GetOrganization - parameters: - - in: path - name: id + - Services + x-codegen-request-body-name: service + /v1/services-autocomplete: + post: + operationId: Autocomplete + requestBody: + content: + '*/*': + schema: + $ref: '#/components/schemas/AutocompleteRequest' required: true - schema: - type: string responses: "200": content: '*/*': schema: - $ref: '#/components/schemas/GetOrganizationReply' + $ref: '#/components/schemas/AutocompleteReply' description: A successful response. "400": content: @@ -8437,33 +8352,27 @@ paths: schema: $ref: '#/components/schemas/google.rpc.Status' description: An unexpected error response. - summary: Get organization + summary: Generate autocomplete definition for a service tags: - - organization - patch: - operationId: UpdateOrganization2 + - Services + x-codegen-request-body-name: body + /v1/services/{id}: + delete: + description: Service deletion is allowed for all status. + operationId: DeleteService parameters: - - in: path + - description: The id of the entity to delete + in: path name: id required: true schema: type: string - - in: query - name: update_mask - schema: - type: string - requestBody: - content: - '*/*': - schema: - $ref: '#/components/schemas/Organization' - required: true responses: "200": content: '*/*': schema: - $ref: '#/components/schemas/UpdateOrganizationReply' + $ref: '#/components/schemas/DeleteServiceReply' description: A successful response. "400": content: @@ -8508,34 +8417,24 @@ paths: schema: $ref: '#/components/schemas/google.rpc.Status' description: An unexpected error response. - summary: Update organization + summary: Delete Service tags: - - organization - x-codegen-request-body-name: organization - put: - operationId: UpdateOrganization + - Services + get: + operationId: GetService parameters: - - in: path + - description: The id of the Service + in: path name: id required: true schema: type: string - - in: query - name: update_mask - schema: - type: string - requestBody: - content: - '*/*': - schema: - $ref: '#/components/schemas/Organization' - required: true responses: "200": content: '*/*': schema: - $ref: '#/components/schemas/UpdateOrganizationReply' + $ref: '#/components/schemas/GetServiceReply' description: A successful response. "400": content: @@ -8580,31 +8479,35 @@ paths: schema: $ref: '#/components/schemas/google.rpc.Status' description: An unexpected error response. - summary: Update organization + summary: Get Service tags: - - organization - x-codegen-request-body-name: organization - /v1/organizations/{id}/deactivate: - post: - operationId: DeactivateOrganization + - Services + patch: + operationId: UpdateService2 parameters: - - in: path + - description: The id of the entity to update + in: path name: id required: true schema: type: string + - description: "If set, run validation and check that the service exists" + in: query + name: dry_run + schema: + type: boolean requestBody: content: '*/*': schema: - type: object + $ref: '#/components/schemas/UpdateService' required: true responses: "200": content: '*/*': schema: - $ref: '#/components/schemas/DeactivateOrganizationReply' + $ref: '#/components/schemas/UpdateServiceReply' description: A successful response. "400": content: @@ -8649,31 +8552,36 @@ paths: schema: $ref: '#/components/schemas/google.rpc.Status' description: An unexpected error response. - summary: Deactivate an organization + summary: Update Service tags: - - organization - x-codegen-request-body-name: body - /v1/organizations/{id}/plan: - post: - operationId: UpdateOrganizationPlan + - Services + x-codegen-request-body-name: service + put: + operationId: UpdateService parameters: - - in: path + - description: The id of the entity to update + in: path name: id required: true schema: type: string + - description: "If set, run validation and check that the service exists" + in: query + name: dry_run + schema: + type: boolean requestBody: content: '*/*': schema: - $ref: '#/components/schemas/UpdateOrganizationPlan_request' + $ref: '#/components/schemas/UpdateService' required: true responses: "200": content: '*/*': schema: - $ref: '#/components/schemas/UpdateOrganizationPlanReply' + $ref: '#/components/schemas/UpdateServiceReply' description: A successful response. "400": content: @@ -8718,31 +8626,33 @@ paths: schema: $ref: '#/components/schemas/google.rpc.Status' description: An unexpected error response. - summary: Update organization plan + summary: Update Service tags: - - organization - x-codegen-request-body-name: body - /v1/organizations/{id}/reactivate: + - Services + x-codegen-request-body-name: service + /v1/services/{id}/pause: post: - operationId: ReactivateOrganization + description: |- + Service pause action is allowed for the following status: + - starting + - healthy + - degraded + - unhealthy + - resuming + operationId: PauseService parameters: - - in: path + - description: The id of the service to pause. + in: path name: id required: true schema: type: string - requestBody: - content: - '*/*': - schema: - type: object - required: true responses: "200": content: '*/*': schema: - $ref: '#/components/schemas/ReactivateOrganizationReply' + $ref: '#/components/schemas/PauseServiceReply' description: A successful response. "400": content: @@ -8787,13 +8697,12 @@ paths: schema: $ref: '#/components/schemas/google.rpc.Status' description: An unexpected error response. - summary: Reactivate an organization + summary: Pause Service tags: - - organization - x-codegen-request-body-name: body - /v1/organizations/{id}/signup_qualification: + - Services + /v1/services/{id}/redeploy: post: - operationId: UpsertSignupQualification + operationId: ReDeploy parameters: - in: path name: id @@ -8804,14 +8713,14 @@ paths: content: '*/*': schema: - $ref: '#/components/schemas/UpsertSignupQualification_request' + $ref: '#/components/schemas/RedeployRequest.Info' required: true responses: "200": content: '*/*': schema: - $ref: '#/components/schemas/UpsertSignupQualificationReply' + $ref: '#/components/schemas/RedeployReply' description: A successful response. "400": content: @@ -8856,36 +8765,29 @@ paths: schema: $ref: '#/components/schemas/google.rpc.Status' description: An unexpected error response. - summary: Upsert organization's signup qualification + summary: ReDeploy Service tags: - - organization - x-codegen-request-body-name: body - /v1/organizations/{id}/switch: + - Services + x-codegen-request-body-name: info + /v1/services/{id}/resume: post: - operationId: SwitchOrganization + description: |- + Service resume action is allowed for the following status: + - paused + operationId: ResumeService parameters: - - in: path + - description: The id of the service to pause. + in: path name: id required: true schema: type: string - - description: Seon Fingerprint - in: header - name: seon-fp - schema: - type: string - requestBody: - content: - '*/*': - schema: - type: object - required: true responses: "200": content: '*/*': schema: - $ref: '#/components/schemas/LoginReply' + $ref: '#/components/schemas/ResumeServiceReply' description: A successful response. "400": content: @@ -8930,25 +8832,44 @@ paths: schema: $ref: '#/components/schemas/google.rpc.Status' description: An unexpected error response. - summary: Switch organization context + summary: Resume Service tags: - - organization - x-codegen-request-body-name: body - /v1/sso/canny: - post: - operationId: CannyAuth - requestBody: - content: - '*/*': - schema: - $ref: '#/components/schemas/CannyAuthRequest' - required: true + - Services + /v1/secrets: + get: + operationId: ListSecrets + parameters: + - in: query + name: name + schema: + type: string + - in: query + name: limit + schema: + type: string + - in: query + name: offset + schema: + type: string + - description: Filter by secret types + explode: true + in: query + name: types + schema: + items: + enum: + - SIMPLE + - REGISTRY + - MANAGED + type: string + type: array + style: form responses: "200": content: '*/*': schema: - $ref: '#/components/schemas/CannyAuthReply' + $ref: '#/components/schemas/ListSecretsReply' description: A successful response. "400": content: @@ -8994,23 +8915,21 @@ paths: $ref: '#/components/schemas/google.rpc.Status' description: An unexpected error response. tags: - - sso - x-codegen-request-body-name: body - /v1/sso/discourse: + - Secrets post: - operationId: DiscourseAuth + operationId: CreateSecret requestBody: content: '*/*': schema: - $ref: '#/components/schemas/DiscourseAuthRequest' + $ref: '#/components/schemas/CreateSecret' required: true responses: "200": content: '*/*': schema: - $ref: '#/components/schemas/DiscourseAuthReply' + $ref: '#/components/schemas/CreateSecretReply' description: A successful response. "400": content: @@ -9056,29 +8975,23 @@ paths: $ref: '#/components/schemas/google.rpc.Status' description: An unexpected error response. tags: - - sso - x-codegen-request-body-name: body - /v1/unscope_organization_token: - post: - operationId: UnscopeOrganizationToken + - Secrets + x-codegen-request-body-name: secret + /v1/secrets/{id}: + delete: + operationId: DeleteSecret parameters: - - description: Seon Fingerprint - in: header - name: seon-fp + - in: path + name: id + required: true schema: type: string - requestBody: - content: - '*/*': - schema: - $ref: '#/components/schemas/UnscopeOrganizationTokenRequest' - required: true responses: "200": content: '*/*': schema: - $ref: '#/components/schemas/LoginReply' + $ref: '#/components/schemas/DeleteSecretReply' description: A successful response. "400": content: @@ -9123,49 +9036,14 @@ paths: schema: $ref: '#/components/schemas/google.rpc.Status' description: An unexpected error response. - summary: |- - UnscopeOrganizationToken removes the organization scope from a token. This - endpoint is useful when a user wants to remove an organization: by - unscoping the token first, the user can then delete the organization - without invalidating his token. tags: - - organization - x-codegen-request-body-name: body - /v1/organization_invitations: + - Secrets get: - operationId: ListOrganizationInvitations + operationId: GetSecret parameters: - - description: (Optional) The number of items to return - in: query - name: limit - schema: - type: string - - description: (Optional) The offset in the list of item to return - in: query - name: offset - schema: - type: string - - description: (Optional) Filter on organization invitation statuses - explode: true - in: query - name: statuses - schema: - items: - enum: - - INVALID - - PENDING - - ACCEPTED - - REFUSED - - EXPIRED - type: string - type: array - style: form - - description: |- - (Optional) Filter on invitee ID. Will match both invitations sent to - that user_id and invitations sent to the email of that user_id. - The only valid value is the requester's user_id - in: query - name: user_id + - in: path + name: id + required: true schema: type: string responses: @@ -9173,7 +9051,7 @@ paths: content: '*/*': schema: - $ref: '#/components/schemas/ListOrganizationInvitationsReply' + $ref: '#/components/schemas/GetSecretReply' description: A successful response. "400": content: @@ -9219,21 +9097,31 @@ paths: $ref: '#/components/schemas/google.rpc.Status' description: An unexpected error response. tags: - - OrganizationInvitations - post: - operationId: CreateOrganizationInvitation + - Secrets + patch: + operationId: UpdateSecret2 + parameters: + - in: path + name: id + required: true + schema: + type: string + - in: query + name: update_mask + schema: + type: string requestBody: content: '*/*': schema: - $ref: '#/components/schemas/CreateOrganizationInvitationRequest' + $ref: '#/components/schemas/Secret' required: true responses: "200": content: '*/*': schema: - $ref: '#/components/schemas/CreateOrganizationInvitationReply' + $ref: '#/components/schemas/UpdateSecretReply' description: A successful response. "400": content: @@ -9279,24 +9167,32 @@ paths: $ref: '#/components/schemas/google.rpc.Status' description: An unexpected error response. tags: - - OrganizationInvitations - x-codegen-request-body-name: body - /v1/organization_invitations/{id}: - delete: - operationId: DeleteOrganizationInvitation + - Secrets + x-codegen-request-body-name: secret + put: + operationId: UpdateSecret parameters: - - description: The id of the organization invitation to delete - in: path + - in: path name: id required: true schema: type: string + - in: query + name: update_mask + schema: + type: string + requestBody: + content: + '*/*': + schema: + $ref: '#/components/schemas/Secret' + required: true responses: "200": content: '*/*': schema: - $ref: '#/components/schemas/DeleteOrganizationInvitationReply' + $ref: '#/components/schemas/UpdateSecretReply' description: A successful response. "400": content: @@ -9342,22 +9238,29 @@ paths: $ref: '#/components/schemas/google.rpc.Status' description: An unexpected error response. tags: - - OrganizationInvitations - get: - operationId: GetOrganizationInvitation + - Secrets + x-codegen-request-body-name: secret + /v1/secrets/{id}/reveal: + post: + operationId: RevealSecret parameters: - - description: The id of the invitation to get - in: path + - in: path name: id required: true schema: type: string + requestBody: + content: + '*/*': + schema: + type: object + required: true responses: "200": content: '*/*': schema: - $ref: '#/components/schemas/GetOrganizationInvitationReply' + $ref: '#/components/schemas/RevealSecretReply' description: A successful response. "400": content: @@ -9403,29 +9306,23 @@ paths: $ref: '#/components/schemas/google.rpc.Status' description: An unexpected error response. tags: - - OrganizationInvitations - /v1/organization_invitations/{id}/resend: + - Secrets + x-codegen-request-body-name: body + /v1/archives: post: - operationId: ResendOrganizationInvitation - parameters: - - description: The id of the organization invitation to resend - in: path - name: id - required: true - schema: - type: string + operationId: CreateArchive requestBody: content: '*/*': schema: - type: object + $ref: '#/components/schemas/CreateArchive' required: true responses: "200": content: '*/*': schema: - $ref: '#/components/schemas/ResendOrganizationInvitationReply' + $ref: '#/components/schemas/CreateArchiveReply' description: A successful response. "400": content: @@ -9470,16 +9367,42 @@ paths: schema: $ref: '#/components/schemas/google.rpc.Status' description: An unexpected error response. + summary: Create a signed URL to upload an archive. tags: - - OrganizationInvitations - x-codegen-request-body-name: body - /v1/organizations/{organization_id}/quotas: + - Archives + x-codegen-request-body-name: archive + /v1/regional_deployment_events: get: - operationId: GetQuotas + operationId: ListRegionalDeploymentEvents parameters: - - in: path - name: organization_id - required: true + - description: (Optional) Filter on regional deployment id + in: query + name: regional_deployment_id + schema: + type: string + - description: (Optional) Filter on regional deployment event types + explode: true + in: query + name: types + schema: + items: + type: string + type: array + style: form + - description: (Optional) The number of items to return + in: query + name: limit + schema: + type: string + - description: (Optional) The offset in the list of item to return + in: query + name: offset + schema: + type: string + - description: (Optional) Sorts the list in the ascending or the descending + order + in: query + name: order schema: type: string responses: @@ -9487,7 +9410,7 @@ paths: content: '*/*': schema: - $ref: '#/components/schemas/GetQuotasReply' + $ref: '#/components/schemas/ListRegionalDeploymentEventsReply' description: A successful response. "400": content: @@ -9532,15 +9455,90 @@ paths: schema: $ref: '#/components/schemas/google.rpc.Status' description: An unexpected error response. + summary: List Regional Deployment events tags: - - OrganizationQuotas - /v1/organizations/{organization_id}/summary: + - RegionalDeployments + /v1/regional_deployments: get: - operationId: GetOrganizationSummary + operationId: ListRegionalDeployments parameters: - - description: Organization ID + - description: (Optional) Filter on deployment id + in: query + name: deployment_id + schema: + type: string + - description: (Optional) The number of items to return + in: query + name: limit + schema: + type: string + - description: (Optional) The offset in the list of item to return + in: query + name: offset + schema: + type: string + responses: + "200": + content: + '*/*': + schema: + $ref: '#/components/schemas/ListRegionalDeploymentsReply' + description: A successful response. + "400": + content: + '*/*': + schema: + $ref: '#/components/schemas/ErrorWithFields' + description: Validation error + "401": + content: + '*/*': + schema: + $ref: '#/components/schemas/Error' + description: Returned when the token is not valid. + "403": + content: + '*/*': + schema: + $ref: '#/components/schemas/Error' + description: Returned when the user does not have permission to access the + resource. + "404": + content: + '*/*': + schema: + $ref: '#/components/schemas/Error' + description: Returned when the resource does not exist. + "500": + content: + '*/*': + schema: + $ref: '#/components/schemas/Error' + description: Returned in case of server error. + "503": + content: + '*/*': + schema: + $ref: '#/components/schemas/Error' + description: Service is unavailable. + default: + content: + '*/*': + schema: + $ref: '#/components/schemas/google.rpc.Status' + description: An unexpected error response. + summary: |- + Experimental: List regional deployments + Use at your own risk + tags: + - RegionalDeployments + /v1/regional_deployments/{id}: + get: + operationId: GetRegionalDeployment + parameters: + - description: The id of the regional deployment in: path - name: organization_id + name: id required: true schema: type: string @@ -9549,7 +9547,7 @@ paths: content: '*/*': schema: - $ref: '#/components/schemas/GetOrganizationSummaryReply' + $ref: '#/components/schemas/GetRegionalDeploymentReply' description: A successful response. "400": content: @@ -9594,9 +9592,11 @@ paths: schema: $ref: '#/components/schemas/google.rpc.Status' description: An unexpected error response. - summary: Get organization usage summary + summary: |- + Experimental: Get regional deployment + Use at your own risk tags: - - Summary + - RegionalDeployments /v1/search: get: operationId: Search @@ -9670,18 +9670,6 @@ components: '@type': type: string type: object - google.protobuf.NullValue: - default: NULL_VALUE - description: |- - `NullValue` is a singleton enumeration to represent the null value for the - `Value` type union. - - The JSON representation for `NullValue` is JSON `null`. - - - NULL_VALUE: Null value. - enum: - - NULL_VALUE - type: string google.rpc.Status: example: code: 6 @@ -9700,548 +9688,468 @@ components: $ref: '#/components/schemas/google.protobuf.Any' type: array type: object - Error: - properties: - status: - format: int32 - type: integer - code: - type: string - message: - type: string - type: object - ErrorField: + DatacenterListItem: + example: + regions: + - regions + - regions + use_gpu: true + domain: domain + region_id: region_id + coordinates: + - coordinates + - coordinates + id: id properties: - field: - type: string - description: + id: + title: e.g. "par1" type: string - type: object - ErrorWithFields: - properties: - status: - format: int32 - type: integer - code: + region_id: + title: e.g. "par" type: string - message: + domain: + title: e.g. "all-par1.infra.prod.koyeb.com" type: string - fields: + coordinates: items: - $ref: '#/components/schemas/ErrorField' + type: string + title: "e.g. \"8.856614\" ,\"2.352221\"?" + type: array + use_gpu: + title: e.g. true + type: boolean + regions: + items: + type: string + title: "e.g. \"par\", \"fra\"" type: array type: object - App: + ListDatacentersReply: example: - created_at: 2000-01-23T04:56:07.000+00:00 - resumed_at: 2000-01-23T04:56:07.000+00:00 - domains: - - created_at: 2000-01-23T04:56:07.000+00:00 - intended_cname: intended_cname - type: null - version: version - updated_at: 2000-01-23T04:56:07.000+00:00 - deployment_group: deployment_group - verified_at: 2000-01-23T04:56:07.000+00:00 - organization_id: organization_id - name: name - messages: - - messages - - messages + datacenters: + - regions: + - regions + - regions + use_gpu: true + domain: domain + region_id: region_id + coordinates: + - coordinates + - coordinates id: id - app_id: app_id - status: null - - created_at: 2000-01-23T04:56:07.000+00:00 - intended_cname: intended_cname - type: null - version: version - updated_at: 2000-01-23T04:56:07.000+00:00 - deployment_group: deployment_group - verified_at: 2000-01-23T04:56:07.000+00:00 - organization_id: organization_id - name: name - messages: - - messages - - messages + - regions: + - regions + - regions + use_gpu: true + domain: domain + region_id: region_id + coordinates: + - coordinates + - coordinates id: id - app_id: app_id - status: null - version: version - succeeded_at: 2000-01-23T04:56:07.000+00:00 - paused_at: 2000-01-23T04:56:07.000+00:00 - updated_at: 2000-01-23T04:56:07.000+00:00 - organization_id: organization_id + properties: + datacenters: + items: + $ref: '#/components/schemas/DatacenterListItem' + type: array + type: object + CatalogGPUDetails: + example: + memory: memory + count: 1 name: name - started_at: 2000-01-23T04:56:07.000+00:00 - messages: - - messages - - messages - id: id - terminated_at: 2000-01-23T04:56:07.000+00:00 - status: null + brand: brand properties: - id: - type: string - name: - type: string - organization_id: - type: string - created_at: - format: date-time - type: string - updated_at: - format: date-time - type: string - started_at: - format: date-time - type: string - succeeded_at: - format: date-time + count: + format: int64 + title: The number of GPUs + type: integer + brand: + title: The brand of GPU type: string - paused_at: - format: date-time + memory: + title: GPU memory type: string - resumed_at: - format: date-time + name: + title: Name of GPU type: string - terminated_at: - format: date-time - type: string - status: - $ref: '#/components/schemas/App.Status' - messages: - items: - type: string - type: array - version: - format: uint64 - type: string - domains: - items: - $ref: '#/components/schemas/Domain' - type: array type: object - App.Status: - default: STARTING - enum: - - STARTING - - HEALTHY - - DEGRADED - - UNHEALTHY - - DELETING - - DELETED - - PAUSING - - PAUSED - - RESUMING - type: string - AppEvent: + CatalogInstance: example: - metadata: "{}" - organization_id: organization_id - id: id + volumes_enabled: true + memory: memory + regions: + - regions + - regions + aliases: + - aliases + - aliases + vcpu: 0 + description: description + display_name: display_name type: type - message: message - when: 2000-01-23T04:56:07.000+00:00 - app_id: app_id + gpu: + memory: memory + count: 1 + name: name + brand: brand + price_monthly: price_monthly + require_plan: + - require_plan + - require_plan + disk: disk + service_types: + - service_types + - service_types + id: id + price_per_second: price_per_second + vcpu_shares: 6.0274563 + price_hourly: price_hourly + status: status properties: id: + title: The name of the instance type: string - when: - format: date-time + description: + title: A short description of the instance type: string - organization_id: + vcpu: + description: The number of cpus. Deprecated. Use vcpu_shares instead. + format: int64 + type: integer + memory: + title: The memory in bytes in a format like 5MB type: string - app_id: + disk: + title: The size of the disk in bytes in a format like 5MB type: string - type: + price_per_second: + title: The price to pay per second type: string - message: + price_hourly: + title: The price to pay per hour type: string - metadata: - properties: {} - type: object + price_monthly: + title: The price to pay per month + type: string + regions: + items: + type: string + title: The regions where this instance type is available + type: array + status: + title: The status of the instance + type: string + require_plan: + items: + type: string + title: The plan required to use instance + type: array + vcpu_shares: + description: The number of vcpu shares reserved for the instance. + format: float + type: number + display_name: + title: The display name of the instance + type: string + aliases: + items: + type: string + title: Aliases + type: array + type: + title: The type of the instance (e.g. "gpu") + type: string + gpu: + $ref: '#/components/schemas/CatalogGPUDetails' + service_types: + items: + type: string + title: "Allowed service types for this instance (e.g. [\"web\", \"worker\"\ + ])" + type: array + volumes_enabled: + title: Are the volumes enabled for this instance type + type: boolean type: object - AppListItem: + CatalogInstanceListItem: example: - updated_at: 2000-01-23T04:56:07.000+00:00 - organization_id: organization_id - name: name - created_at: 2000-01-23T04:56:07.000+00:00 - domains: - - created_at: 2000-01-23T04:56:07.000+00:00 - intended_cname: intended_cname - type: null - version: version - updated_at: 2000-01-23T04:56:07.000+00:00 - deployment_group: deployment_group - verified_at: 2000-01-23T04:56:07.000+00:00 - organization_id: organization_id - name: name - messages: - - messages - - messages - id: id - app_id: app_id - status: null - - created_at: 2000-01-23T04:56:07.000+00:00 - intended_cname: intended_cname - type: null - version: version - updated_at: 2000-01-23T04:56:07.000+00:00 - deployment_group: deployment_group - verified_at: 2000-01-23T04:56:07.000+00:00 - organization_id: organization_id + volumes_enabled: true + memory: memory + regions: + - regions + - regions + aliases: + - aliases + - aliases + vcpu: 0 + description: description + display_name: display_name + type: type + gpu: + memory: memory + count: 1 name: name - messages: - - messages - - messages - id: id - app_id: app_id - status: null - messages: - - messages - - messages + brand: brand + price_monthly: price_monthly + require_plan: + - require_plan + - require_plan + disk: disk + service_types: + - service_types + - service_types id: id - status: null + price_per_second: price_per_second + vcpu_shares: 6.0274563 + price_hourly: price_hourly + status: status properties: id: + title: The name of the instance type: string - name: + description: + title: A short description of the instance type: string - organization_id: + vcpu: + description: The number of cpus. Deprecated. Use vcpu_shares instead. + format: int64 + type: integer + memory: + title: The memory in bytes in a format like 5MB type: string - updated_at: - format: date-time + disk: + title: The size of the disk in bytes in a format like 5MB type: string - created_at: - format: date-time + price_per_second: + title: The price to pay per second type: string - domains: + price_hourly: + title: The price to pay per hour + type: string + price_monthly: + title: The price to pay per month + type: string + regions: items: - $ref: '#/components/schemas/Domain' + type: string + title: The regions where this instance type is available type: array status: - $ref: '#/components/schemas/App.Status' - messages: + title: The status of the instance + type: string + require_plan: items: type: string + title: The plan required to use instance type: array - type: object - CreateApp: - example: - name: name - properties: - name: + vcpu_shares: + description: The number of vcpu shares reserved for the instance. + format: float + type: number + display_name: + title: The display name of the instance type: string - type: object - CreateAppReply: - example: - app: - created_at: 2000-01-23T04:56:07.000+00:00 - resumed_at: 2000-01-23T04:56:07.000+00:00 - domains: - - created_at: 2000-01-23T04:56:07.000+00:00 - intended_cname: intended_cname - type: null - version: version - updated_at: 2000-01-23T04:56:07.000+00:00 - deployment_group: deployment_group - verified_at: 2000-01-23T04:56:07.000+00:00 - organization_id: organization_id - name: name - messages: - - messages - - messages - id: id - app_id: app_id - status: null - - created_at: 2000-01-23T04:56:07.000+00:00 - intended_cname: intended_cname - type: null - version: version - updated_at: 2000-01-23T04:56:07.000+00:00 - deployment_group: deployment_group - verified_at: 2000-01-23T04:56:07.000+00:00 - organization_id: organization_id - name: name - messages: - - messages - - messages - id: id - app_id: app_id - status: null - version: version - succeeded_at: 2000-01-23T04:56:07.000+00:00 - paused_at: 2000-01-23T04:56:07.000+00:00 - updated_at: 2000-01-23T04:56:07.000+00:00 - organization_id: organization_id - name: name - started_at: 2000-01-23T04:56:07.000+00:00 - messages: - - messages - - messages - id: id - terminated_at: 2000-01-23T04:56:07.000+00:00 - status: null - properties: - app: - $ref: '#/components/schemas/App' - type: object - DeleteAppReply: - type: object - Domain: - example: - created_at: 2000-01-23T04:56:07.000+00:00 - intended_cname: intended_cname - type: null - version: version - updated_at: 2000-01-23T04:56:07.000+00:00 - deployment_group: deployment_group - verified_at: 2000-01-23T04:56:07.000+00:00 - organization_id: organization_id - name: name - messages: - - messages - - messages - id: id - app_id: app_id - status: null - properties: - id: - type: string - organization_id: - type: string - name: - type: string - created_at: - format: date-time - type: string - updated_at: - format: date-time - type: string - status: - $ref: '#/components/schemas/Domain.Status' + aliases: + items: + type: string + title: Aliases + type: array type: - $ref: '#/components/schemas/Domain.Type' - app_id: - type: string - deployment_group: - type: string - verified_at: - format: date-time - type: string - intended_cname: + title: The type of the instance (e.g. "gpu") type: string - messages: + gpu: + $ref: '#/components/schemas/CatalogGPUDetails' + service_types: items: type: string + title: "Allowed service types for this instance (e.g. [\"web\", \"worker\"\ + ])" type: array - version: - format: uint64 - type: string + volumes_enabled: + title: Are the volumes enabled for this instance type + type: boolean type: object - Domain.Status: - default: PENDING - enum: - - PENDING - - ACTIVE - - ERROR - - DELETING - - DELETED - type: string - Domain.Type: - default: AUTOASSIGNED - enum: - - AUTOASSIGNED - - CUSTOM - title: "- AUTOASSIGNED: Domain like -.koyeb.app" - type: string - GetAppReply: + GetCatalogInstanceReply: example: - app: - created_at: 2000-01-23T04:56:07.000+00:00 - resumed_at: 2000-01-23T04:56:07.000+00:00 - domains: - - created_at: 2000-01-23T04:56:07.000+00:00 - intended_cname: intended_cname - type: null - version: version - updated_at: 2000-01-23T04:56:07.000+00:00 - deployment_group: deployment_group - verified_at: 2000-01-23T04:56:07.000+00:00 - organization_id: organization_id - name: name - messages: - - messages - - messages - id: id - app_id: app_id - status: null - - created_at: 2000-01-23T04:56:07.000+00:00 - intended_cname: intended_cname - type: null - version: version - updated_at: 2000-01-23T04:56:07.000+00:00 - deployment_group: deployment_group - verified_at: 2000-01-23T04:56:07.000+00:00 - organization_id: organization_id + instance: + volumes_enabled: true + memory: memory + regions: + - regions + - regions + aliases: + - aliases + - aliases + vcpu: 0 + description: description + display_name: display_name + type: type + gpu: + memory: memory + count: 1 name: name - messages: - - messages - - messages - id: id - app_id: app_id - status: null - version: version - succeeded_at: 2000-01-23T04:56:07.000+00:00 - paused_at: 2000-01-23T04:56:07.000+00:00 - updated_at: 2000-01-23T04:56:07.000+00:00 - organization_id: organization_id - name: name - started_at: 2000-01-23T04:56:07.000+00:00 - messages: - - messages - - messages + brand: brand + price_monthly: price_monthly + require_plan: + - require_plan + - require_plan + disk: disk + service_types: + - service_types + - service_types id: id - terminated_at: 2000-01-23T04:56:07.000+00:00 - status: null + price_per_second: price_per_second + vcpu_shares: 6.0274563 + price_hourly: price_hourly + status: status properties: - app: - $ref: '#/components/schemas/App' + instance: + $ref: '#/components/schemas/CatalogInstance' type: object - ListAppEventsReply: + ListCatalogInstancesReply: example: - offset: 6 - limit: 0 - has_next: true - events: - - metadata: "{}" - organization_id: organization_id - id: id + offset: 5 + instances: + - volumes_enabled: true + memory: memory + regions: + - regions + - regions + aliases: + - aliases + - aliases + vcpu: 0 + description: description + display_name: display_name type: type - message: message - when: 2000-01-23T04:56:07.000+00:00 - app_id: app_id - - metadata: "{}" - organization_id: organization_id + gpu: + memory: memory + count: 1 + name: name + brand: brand + price_monthly: price_monthly + require_plan: + - require_plan + - require_plan + disk: disk + service_types: + - service_types + - service_types id: id - type: type - message: message - when: 2000-01-23T04:56:07.000+00:00 - app_id: app_id - order: order - properties: - events: - items: - $ref: '#/components/schemas/AppEvent' - title: The collection of events - type: array - limit: - format: int64 + price_per_second: price_per_second + vcpu_shares: 6.0274563 + price_hourly: price_hourly + status: status + - volumes_enabled: true + memory: memory + regions: + - regions + - regions + aliases: + - aliases + - aliases + vcpu: 0 + description: description + display_name: display_name + type: type + gpu: + memory: memory + count: 1 + name: name + brand: brand + price_monthly: price_monthly + require_plan: + - require_plan + - require_plan + disk: disk + service_types: + - service_types + - service_types + id: id + price_per_second: price_per_second + vcpu_shares: 6.0274563 + price_hourly: price_hourly + status: status + limit: 5 + count: 2 + properties: + instances: + items: + $ref: '#/components/schemas/CatalogInstanceListItem' + type: array + limit: + format: int64 title: The limit in the request type: integer offset: format: int64 title: The offset in the request type: integer - order: - title: The order in the request - type: string - has_next: - title: If there is more items after in the collection - type: boolean + count: + format: int64 + title: The total number of items + type: integer type: object - ListAppsReply: + GetRegionReply: example: - offset: 6 - limit: 0 - count: 1 - has_next: true - apps: - - updated_at: 2000-01-23T04:56:07.000+00:00 - organization_id: organization_id + region: + datacenters: + - datacenters + - datacenters + volumes_enabled: true + instances: + - instances + - instances + scope: scope name: name - created_at: 2000-01-23T04:56:07.000+00:00 - domains: - - created_at: 2000-01-23T04:56:07.000+00:00 - intended_cname: intended_cname - type: null - version: version - updated_at: 2000-01-23T04:56:07.000+00:00 - deployment_group: deployment_group - verified_at: 2000-01-23T04:56:07.000+00:00 - organization_id: organization_id - name: name - messages: - - messages - - messages - id: id - app_id: app_id - status: null - - created_at: 2000-01-23T04:56:07.000+00:00 - intended_cname: intended_cname - type: null - version: version - updated_at: 2000-01-23T04:56:07.000+00:00 - deployment_group: deployment_group - verified_at: 2000-01-23T04:56:07.000+00:00 - organization_id: organization_id - name: name - messages: - - messages - - messages - id: id - app_id: app_id - status: null - messages: - - messages - - messages + coordinates: + - coordinates + - coordinates id: id - status: null - - updated_at: 2000-01-23T04:56:07.000+00:00 - organization_id: organization_id + status: status + properties: + region: + $ref: '#/components/schemas/Region' + type: object + ListRegionsReply: + example: + regions: + - datacenters: + - datacenters + - datacenters + volumes_enabled: true + instances: + - instances + - instances + scope: scope name: name - created_at: 2000-01-23T04:56:07.000+00:00 - domains: - - created_at: 2000-01-23T04:56:07.000+00:00 - intended_cname: intended_cname - type: null - version: version - updated_at: 2000-01-23T04:56:07.000+00:00 - deployment_group: deployment_group - verified_at: 2000-01-23T04:56:07.000+00:00 - organization_id: organization_id - name: name - messages: - - messages - - messages - id: id - app_id: app_id - status: null - - created_at: 2000-01-23T04:56:07.000+00:00 - intended_cname: intended_cname - type: null - version: version - updated_at: 2000-01-23T04:56:07.000+00:00 - deployment_group: deployment_group - verified_at: 2000-01-23T04:56:07.000+00:00 - organization_id: organization_id - name: name - messages: - - messages - - messages - id: id - app_id: app_id - status: null - messages: - - messages - - messages + coordinates: + - coordinates + - coordinates id: id - status: null + status: status + - datacenters: + - datacenters + - datacenters + volumes_enabled: true + instances: + - instances + - instances + scope: scope + name: name + coordinates: + - coordinates + - coordinates + id: id + status: status + offset: 6 + limit: 0 + count: 1 properties: - apps: + regions: items: - $ref: '#/components/schemas/AppListItem' + $ref: '#/components/schemas/RegionListItem' type: array limit: format: int64 @@ -10255,662 +10163,578 @@ components: format: int64 title: The total number of items type: integer - has_next: - title: If there is more items after in the collection - type: boolean - type: object - PauseAppReply: - type: object - ResumeAppReply: type: object - UpdateApp: + Region: example: + datacenters: + - datacenters + - datacenters + volumes_enabled: true + instances: + - instances + - instances + scope: scope name: name + coordinates: + - coordinates + - coordinates + id: id + status: status properties: + id: + title: The id of the region + type: string name: + title: The name of the region + type: string + coordinates: + items: + type: string + title: The coordinates of the region (lat/long) + type: array + status: + title: The status of the region + type: string + instances: + items: + type: string + title: A list of instances available in this region + type: array + datacenters: + items: + type: string + title: A list of datacenters available in this region + type: array + volumes_enabled: + title: Are the volumes enabled for this instance type + type: boolean + scope: + description: "The scope of the region, continent, metropolitan area, etc." type: string type: object - UpdateAppReply: + RegionListItem: example: - app: - created_at: 2000-01-23T04:56:07.000+00:00 - resumed_at: 2000-01-23T04:56:07.000+00:00 - domains: - - created_at: 2000-01-23T04:56:07.000+00:00 - intended_cname: intended_cname - type: null - version: version - updated_at: 2000-01-23T04:56:07.000+00:00 - deployment_group: deployment_group - verified_at: 2000-01-23T04:56:07.000+00:00 - organization_id: organization_id - name: name - messages: - - messages - - messages - id: id - app_id: app_id - status: null - - created_at: 2000-01-23T04:56:07.000+00:00 - intended_cname: intended_cname - type: null - version: version - updated_at: 2000-01-23T04:56:07.000+00:00 - deployment_group: deployment_group - verified_at: 2000-01-23T04:56:07.000+00:00 - organization_id: organization_id - name: name - messages: - - messages - - messages - id: id - app_id: app_id - status: null - version: version - succeeded_at: 2000-01-23T04:56:07.000+00:00 - paused_at: 2000-01-23T04:56:07.000+00:00 - updated_at: 2000-01-23T04:56:07.000+00:00 - organization_id: organization_id - name: name - started_at: 2000-01-23T04:56:07.000+00:00 - messages: - - messages - - messages - id: id - terminated_at: 2000-01-23T04:56:07.000+00:00 - status: null - properties: - app: - $ref: '#/components/schemas/App' - type: object - GetInstanceReply: - example: - instance: - regional_deployment_id: regional_deployment_id - created_at: 2000-01-23T04:56:07.000+00:00 - datacenter: datacenter - type: type - succeeded_at: 2000-01-23T04:56:07.000+00:00 - xyz_deployment_id: xyz_deployment_id - updated_at: 2000-01-23T04:56:07.000+00:00 - organization_id: organization_id - service_id: service_id - hypervisor: hypervisor - allocation_id: allocation_id - replica_index: 0 - messages: - - messages - - messages - started_at: 2000-01-23T04:56:07.000+00:00 - id: id - region: region - app_id: app_id - terminated_at: 2000-01-23T04:56:07.000+00:00 - status: null - properties: - instance: - $ref: '#/components/schemas/Instance' - type: object - Instance: - example: - regional_deployment_id: regional_deployment_id - created_at: 2000-01-23T04:56:07.000+00:00 - datacenter: datacenter - type: type - succeeded_at: 2000-01-23T04:56:07.000+00:00 - xyz_deployment_id: xyz_deployment_id - updated_at: 2000-01-23T04:56:07.000+00:00 - organization_id: organization_id - service_id: service_id - hypervisor: hypervisor - allocation_id: allocation_id - replica_index: 0 - messages: - - messages - - messages - started_at: 2000-01-23T04:56:07.000+00:00 + datacenters: + - datacenters + - datacenters + volumes_enabled: true + instances: + - instances + - instances + scope: scope + name: name + coordinates: + - coordinates + - coordinates id: id - region: region - app_id: app_id - terminated_at: 2000-01-23T04:56:07.000+00:00 - status: null + status: status properties: id: + title: The id of the region type: string - created_at: - format: date-time - type: string - updated_at: - format: date-time - type: string - organization_id: - type: string - app_id: - type: string - service_id: - type: string - regional_deployment_id: - type: string - allocation_id: - type: string - type: - type: string - replica_index: - format: int64 - type: integer - region: - type: string - datacenter: - type: string - hypervisor: + name: + title: The name of the region type: string - status: - $ref: '#/components/schemas/Instance.Status' - messages: + coordinates: items: type: string + title: The coordinates of the region (lat/long) type: array - started_at: - format: date-time - type: string - succeeded_at: - format: date-time - type: string - terminated_at: - format: date-time + status: + title: The status of the region type: string - xyz_deployment_id: - description: |- - WARNING: Please don't use the following attribute. - Koyeb doesn't guarantee backwards compatible breaking change and reserve the right to completely drop it without notice. - USE AT YOUR OWN RISK. + instances: + items: + type: string + title: A list of instances available in this region + type: array + datacenters: + items: + type: string + title: A list of datacenters available in this region + type: array + volumes_enabled: + title: Are the volumes enabled for this instance type + type: boolean + scope: + description: "The scope of the region, continent, metropolitan area, etc." type: string type: object - Instance.Status: - default: ALLOCATING - enum: - - ALLOCATING - - STARTING - - HEALTHY - - UNHEALTHY - - STOPPING - - STOPPED - - ERROR - - SLEEPING - type: string - InstanceEvent: - example: - metadata: "{}" - instance_id: instance_id - organization_id: organization_id - id: id - type: type - message: message - when: 2000-01-23T04:56:07.000+00:00 + Error: properties: - id: + status: + format: int32 + type: integer + code: type: string - when: - format: date-time + message: type: string - organization_id: + type: object + ErrorField: + properties: + field: type: string - instance_id: + description: type: string - type: + type: object + ErrorWithFields: + properties: + status: + format: int32 + type: integer + code: type: string message: type: string - metadata: - properties: {} - type: object + fields: + items: + $ref: '#/components/schemas/ErrorField' + type: array type: object - InstanceListItem: + kgitproxy.Branch: example: - regional_deployment_id: regional_deployment_id - created_at: 2000-01-23T04:56:07.000+00:00 - datacenter: datacenter - type: type - xyz_deployment_id: xyz_deployment_id - updated_at: 2000-01-23T04:56:07.000+00:00 + provider: null organization_id: organization_id - service_id: service_id - allocation_id: allocation_id - replica_index: 0 - messages: - - messages - - messages + name: name + repository_id: repository_id id: id - region: region - app_id: app_id - status: null + is_default: true + is_protected: true properties: id: type: string - created_at: - format: date-time - type: string - updated_at: - format: date-time - type: string organization_id: type: string - app_id: - type: string - service_id: - type: string - regional_deployment_id: + repository_id: type: string - allocation_id: + name: type: string - type: - type: string - replica_index: - format: int64 - type: integer - region: - type: string - datacenter: - type: string - status: - $ref: '#/components/schemas/Instance.Status' - messages: - items: - type: string - type: array - xyz_deployment_id: - description: |- - WARNING: Please don't use the following attribute. - Koyeb doesn't guarantee backwards compatible breaking change and reserve the right to completely drop it without notice. - USE AT YOUR OWN RISK. + is_default: + type: boolean + is_protected: + type: boolean + provider: + $ref: '#/components/schemas/kgitproxy.RepositoryProvider' + type: object + kgitproxy.GitHubRepository: + example: + github_id: github_id + properties: + github_id: type: string type: object - ListInstanceEventsReply: + kgitproxy.ListBranchesReply: example: offset: 6 limit: 0 - has_next: true - events: - - metadata: "{}" - instance_id: instance_id + count: 1 + branches: + - provider: null organization_id: organization_id + name: name + repository_id: repository_id id: id - type: type - message: message - when: 2000-01-23T04:56:07.000+00:00 - - metadata: "{}" - instance_id: instance_id + is_default: true + is_protected: true + - provider: null organization_id: organization_id + name: name + repository_id: repository_id id: id - type: type - message: message - when: 2000-01-23T04:56:07.000+00:00 - order: order + is_default: true + is_protected: true properties: - events: + branches: + description: The collection of branches. items: - $ref: '#/components/schemas/InstanceEvent' - title: The collection of events + $ref: '#/components/schemas/kgitproxy.Branch' type: array limit: + description: The limit in the request. format: int64 - title: The limit in the request type: integer offset: + description: The offset in the request. + format: int64 + type: integer + count: + description: The total number of items. format: int64 - title: The offset in the request type: integer - order: - title: The order in the request - type: string - has_next: - title: If there is more items after in the collection - type: boolean type: object - ListInstancesReply: + kgitproxy.ListRepositoriesReply: example: - offset: 1 - instances: - - regional_deployment_id: regional_deployment_id - created_at: 2000-01-23T04:56:07.000+00:00 - datacenter: datacenter - type: type - xyz_deployment_id: xyz_deployment_id - updated_at: 2000-01-23T04:56:07.000+00:00 + offset: 6 + repositories: + - is_private: true + github: + github_id: github_id + last_push_date: 2000-01-23T04:56:07.000+00:00 + provider: null organization_id: organization_id - service_id: service_id - allocation_id: allocation_id - replica_index: 0 - messages: - - messages - - messages + is_disabled: true + name: name + description: description + default_branch: default_branch id: id - region: region - app_id: app_id - status: null - - regional_deployment_id: regional_deployment_id - created_at: 2000-01-23T04:56:07.000+00:00 - datacenter: datacenter - type: type - xyz_deployment_id: xyz_deployment_id - updated_at: 2000-01-23T04:56:07.000+00:00 + url: url + - is_private: true + github: + github_id: github_id + last_push_date: 2000-01-23T04:56:07.000+00:00 + provider: null organization_id: organization_id - service_id: service_id - allocation_id: allocation_id - replica_index: 0 - messages: - - messages - - messages + is_disabled: true + name: name + description: description + default_branch: default_branch id: id - region: region - app_id: app_id - status: null - limit: 6 - count: 5 - order: order + url: url + limit: 0 + count: 1 properties: - instances: + repositories: + description: The collection of repositories. items: - $ref: '#/components/schemas/InstanceListItem' - title: The collection of instances + $ref: '#/components/schemas/kgitproxy.Repository' type: array limit: + description: The limit in the request. format: int64 - title: The limit in the request type: integer offset: + description: The offset in the request. format: int64 - title: The offset in the request type: integer count: + description: The total number of items. format: int64 - title: The total number of items type: integer - order: - title: The order in the request - type: string type: object - AzureContainerRegistryConfiguration: + kgitproxy.Repository: example: - password: password - registry_name: registry_name - username: username + is_private: true + github: + github_id: github_id + last_push_date: 2000-01-23T04:56:07.000+00:00 + provider: null + organization_id: organization_id + is_disabled: true + name: name + description: description + default_branch: default_branch + id: id + url: url properties: - registry_name: - type: string - username: + id: type: string - password: + organization_id: type: string - type: object - CreateSecret: - example: - gcp_container_registry: - keyfile_content: keyfile_content - url: url - github_registry: - password: password - username: username - private_registry: - password: password - url: url - username: username - gitlab_registry: - password: password - username: username - name: name - azure_container_registry: - password: password - registry_name: registry_name - username: username - type: null - value: value - docker_hub_registry: - password: password - username: username - digital_ocean_registry: - password: password - username: username - properties: name: type: string - type: - $ref: '#/components/schemas/SecretType' - value: + url: type: string - docker_hub_registry: - $ref: '#/components/schemas/DockerHubRegistryConfiguration' - private_registry: - $ref: '#/components/schemas/PrivateRegistryConfiguration' - digital_ocean_registry: - $ref: '#/components/schemas/DigitalOceanRegistryConfiguration' - github_registry: - $ref: '#/components/schemas/GitHubRegistryConfiguration' - gitlab_registry: - $ref: '#/components/schemas/GitLabRegistryConfiguration' - gcp_container_registry: - $ref: '#/components/schemas/GCPContainerRegistryConfiguration' - azure_container_registry: - $ref: '#/components/schemas/AzureContainerRegistryConfiguration' + description: + type: string + is_private: + type: boolean + is_disabled: + type: boolean + default_branch: + type: string + provider: + $ref: '#/components/schemas/kgitproxy.RepositoryProvider' + last_push_date: + format: date-time + type: string + github: + $ref: '#/components/schemas/kgitproxy.GitHubRepository' type: object - CreateSecretReply: + kgitproxy.RepositoryProvider: + default: INVALID_PROVIDER + enum: + - INVALID_PROVIDER + - GITHUB + type: string + kgitproxy.ResyncOrganizationReply: + type: object + GetQuotasReply: example: - secret: - created_at: 2000-01-23T04:56:07.000+00:00 - azure_container_registry: - password: password - registry_name: registry_name - username: username - type: null - digital_ocean_registry: - password: password - username: username - gcp_container_registry: - keyfile_content: keyfile_content - url: url - updated_at: 2000-01-23T04:56:07.000+00:00 - github_registry: - password: password - username: username - database_role_password: - password: password - username: username - organization_id: organization_id - private_registry: - password: password - url: url - username: username - gitlab_registry: - password: password - username: username - name: name - id: id - value: value - docker_hub_registry: - password: password - username: username + quotas: + instance_types: + - instance_types + - instance_types + services_by_app: services_by_app + regions: + - regions + - regions + service_provisioning_concurrency: service_provisioning_concurrency + max_organization_members: max_organization_members + max_instances_by_type: + key: max_instances_by_type + persistent_volumes_by_region: + key: + max_volume_size: 6 + max_per_instance_size: 1 + max_total_size: 0 + domains: domains + memory_mb: memory_mb + services: services + apps: apps properties: - secret: - $ref: '#/components/schemas/Secret' + quotas: + $ref: '#/components/schemas/Quotas' type: object - DatabaseRolePassword: + PersistentVolumeQuotas: example: - password: password - username: username + max_volume_size: 6 + max_per_instance_size: 1 + max_total_size: 0 properties: - username: + max_total_size: + description: MaxTotalSize for all volumes on a region (in Gigabyte / GB). + format: int64 + type: integer + max_volume_size: + description: MaxVolumeSize for one volume (in Gigabyte / GB). + format: int64 + type: integer + max_per_instance_size: + description: MaxPerInstanceSize for all volumes on an instance (in Gigabyte + / GB). + format: int64 + type: integer + type: object + Quotas: + example: + instance_types: + - instance_types + - instance_types + services_by_app: services_by_app + regions: + - regions + - regions + service_provisioning_concurrency: service_provisioning_concurrency + max_organization_members: max_organization_members + max_instances_by_type: + key: max_instances_by_type + persistent_volumes_by_region: + key: + max_volume_size: 6 + max_per_instance_size: 1 + max_total_size: 0 + domains: domains + memory_mb: memory_mb + services: services + apps: apps + properties: + apps: + format: int64 type: string - password: + services: + format: int64 + type: string + domains: + format: int64 + type: string + services_by_app: + format: int64 type: string + service_provisioning_concurrency: + format: int64 + type: string + memory_mb: + format: int64 + type: string + instance_types: + items: + type: string + type: array + regions: + items: + type: string + type: array + max_organization_members: + format: int64 + type: string + max_instances_by_type: + additionalProperties: + format: int64 + type: string + type: object + persistent_volumes_by_region: + additionalProperties: + $ref: '#/components/schemas/PersistentVolumeQuotas' + type: object type: object - DeleteSecretReply: + LoginReply: + example: + token: + id: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9... + expires: 2022-09-08T14:00:00Z + user_id: 996d7822-6b58-11e9-956f-32001b70f000 + organization_id: 9f33b2c6-6b58-11e9-883c-32001b70f000 + properties: + token: + $ref: '#/components/schemas/Token' type: object - DigitalOceanRegistryConfiguration: + LoginRequest: example: - password: password - username: username + email: john@snow.com + password: '...' properties: - username: + email: + title: User email type: string password: + title: User password + type: string + organization_id: + title: (Optional) Login into this organization type: string type: object - DockerHubRegistryConfiguration: + LogoutReply: + type: object + Token: example: - password: password - username: username + id: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9... + expires: 2022-09-08T14:00:00Z + user_id: 996d7822-6b58-11e9-956f-32001b70f000 + organization_id: 9f33b2c6-6b58-11e9-883c-32001b70f000 properties: - username: + id: type: string - password: + user_id: + type: string + organization_id: + type: string + expires_at: + format: date-time type: string type: object - GCPContainerRegistryConfiguration: + ConfirmOrganizationActionReply: + type: object + CreateCredential: example: - keyfile_content: keyfile_content - url: url + organization_id: organization_id + name: name + description: description + type: null properties: - keyfile_content: + name: + title: Credential name type: string - url: + description: + title: Credential description + type: string + type: + $ref: '#/components/schemas/Credential.Type' + organization_id: + title: Organization id for user credential type: string type: object - GetSecretReply: + CreateCredentialReply: example: - secret: - created_at: 2000-01-23T04:56:07.000+00:00 - azure_container_registry: - password: password - registry_name: registry_name - username: username - type: null - digital_ocean_registry: - password: password - username: username - gcp_container_registry: - keyfile_content: keyfile_content - url: url + credential: updated_at: 2000-01-23T04:56:07.000+00:00 - github_registry: - password: password - username: username - database_role_password: - password: password - username: username + user_id: user_id organization_id: organization_id - private_registry: - password: password - url: url - username: username - gitlab_registry: - password: password - username: username name: name + description: description + created_at: 2000-01-23T04:56:07.000+00:00 id: id - value: value - docker_hub_registry: - password: password - username: username + type: null + token: token properties: - secret: - $ref: '#/components/schemas/Secret' + credential: + $ref: '#/components/schemas/Credential' type: object - GitHubRegistryConfiguration: + Credential: example: - password: password - username: username + updated_at: 2000-01-23T04:56:07.000+00:00 + user_id: user_id + organization_id: organization_id + name: name + description: description + created_at: 2000-01-23T04:56:07.000+00:00 + id: id + type: null + token: token properties: - username: + id: type: string - password: + type: + $ref: '#/components/schemas/Credential.Type' + name: type: string - type: object - GitLabRegistryConfiguration: - example: - password: password - username: username - properties: - username: + token: type: string - password: + description: + type: string + user_id: + type: string + organization_id: + type: string + updated_at: + format: date-time + type: string + created_at: + format: date-time type: string type: object - ListSecretsReply: + Credential.Type: + default: INVALID + enum: + - INVALID + - USER + - ORGANIZATION + type: string + DeleteCredentialReply: + type: object + GetCredentialReply: example: - offset: 6 - limit: 0 - count: 1 - secrets: - - created_at: 2000-01-23T04:56:07.000+00:00 - azure_container_registry: - password: password - registry_name: registry_name - username: username - type: null - digital_ocean_registry: - password: password - username: username - gcp_container_registry: - keyfile_content: keyfile_content - url: url + credential: updated_at: 2000-01-23T04:56:07.000+00:00 - github_registry: - password: password - username: username - database_role_password: - password: password - username: username + user_id: user_id organization_id: organization_id - private_registry: - password: password - url: url - username: username - gitlab_registry: - password: password - username: username name: name + description: description + created_at: 2000-01-23T04:56:07.000+00:00 id: id - value: value - docker_hub_registry: - password: password - username: username - - created_at: 2000-01-23T04:56:07.000+00:00 - azure_container_registry: - password: password - registry_name: registry_name - username: username type: null - digital_ocean_registry: - password: password - username: username - gcp_container_registry: - keyfile_content: keyfile_content - url: url - updated_at: 2000-01-23T04:56:07.000+00:00 - github_registry: - password: password - username: username - database_role_password: - password: password - username: username + token: token + properties: + credential: + $ref: '#/components/schemas/Credential' + type: object + ListCredentialsReply: + example: + offset: 6 + credentials: + - updated_at: 2000-01-23T04:56:07.000+00:00 + user_id: user_id + organization_id: organization_id + name: name + description: description + created_at: 2000-01-23T04:56:07.000+00:00 + id: id + type: null + token: token + - updated_at: 2000-01-23T04:56:07.000+00:00 + user_id: user_id organization_id: organization_id - private_registry: - password: password - url: url - username: username - gitlab_registry: - password: password - username: username name: name + description: description + created_at: 2000-01-23T04:56:07.000+00:00 id: id - value: value - docker_hub_registry: - password: password - username: username + type: null + token: token + limit: 0 + count: 1 properties: - secrets: + credentials: items: - $ref: '#/components/schemas/Secret' + $ref: '#/components/schemas/Credential' type: array limit: format: int64 @@ -10922,302 +10746,164 @@ components: format: int64 type: integer type: object - PrivateRegistryConfiguration: + UpdateCredentialReply: example: - password: password - url: url - username: username + credential: + updated_at: 2000-01-23T04:56:07.000+00:00 + user_id: user_id + organization_id: organization_id + name: name + description: description + created_at: 2000-01-23T04:56:07.000+00:00 + id: id + type: null + token: token properties: - username: - type: string - password: - type: string - url: - type: string + credential: + $ref: '#/components/schemas/Credential' type: object - RevealSecretReply: + DeleteUserReply: example: - value: "{}" + user: + id: 78352123-a06f-4ec2-81ed-27a056725385 + email: john@snow.com + name: John Snow + avatar_url: https://www.gravatar.com/avatar/00000000000000000000000000000000 + is_admin: false + is_test: true + two_factor_authentication: false + last_login: 0001-01-01T00:00:00Z + last_login_id: 10.1.1.1 + updated_at: 0001-01-01T00:00:00Z + created_at: 0001-01-01T00:00:00Z + newsletter_subscribed: true + email_validated: true properties: - value: - type: object + user: + $ref: '#/components/schemas/User' type: object - Secret: + User: example: - created_at: 2000-01-23T04:56:07.000+00:00 - azure_container_registry: - password: password - registry_name: registry_name - username: username - type: null - digital_ocean_registry: - password: password - username: username - gcp_container_registry: - keyfile_content: keyfile_content - url: url - updated_at: 2000-01-23T04:56:07.000+00:00 - github_registry: - password: password - username: username - database_role_password: - password: password - username: username - organization_id: organization_id - private_registry: - password: password - url: url - username: username - gitlab_registry: - password: password - username: username - name: name - id: id - value: value - docker_hub_registry: - password: password - username: username + id: 78352123-a06f-4ec2-81ed-27a056725385 + email: john@snow.com + name: John Snow + avatar_url: https://www.gravatar.com/avatar/00000000000000000000000000000000 + is_admin: false + is_test: true + two_factor_authentication: false + last_login: 0001-01-01T00:00:00Z + last_login_id: 10.1.1.1 + updated_at: 0001-01-01T00:00:00Z + created_at: 0001-01-01T00:00:00Z + newsletter_subscribed: true + email_validated: true properties: id: type: string - name: + email: type: string - organization_id: + avatar_url: + type: string + two_factor_authentication: + type: boolean + last_login: + format: date-time + type: string + last_login_ip: type: string - type: - $ref: '#/components/schemas/SecretType' updated_at: format: date-time type: string created_at: format: date-time type: string - value: + newsletter_subscribed: + type: boolean + github_id: type: string - docker_hub_registry: - $ref: '#/components/schemas/DockerHubRegistryConfiguration' - private_registry: - $ref: '#/components/schemas/PrivateRegistryConfiguration' - digital_ocean_registry: - $ref: '#/components/schemas/DigitalOceanRegistryConfiguration' - github_registry: - $ref: '#/components/schemas/GitHubRegistryConfiguration' - gitlab_registry: - $ref: '#/components/schemas/GitLabRegistryConfiguration' - gcp_container_registry: - $ref: '#/components/schemas/GCPContainerRegistryConfiguration' - azure_container_registry: - $ref: '#/components/schemas/AzureContainerRegistryConfiguration' - database_role_password: - $ref: '#/components/schemas/DatabaseRolePassword' + github_user: + type: string + flags: + items: + $ref: '#/components/schemas/UserFlags' + type: array + name: + type: string + email_validated: + type: boolean + trialed: + type: boolean + title: Represent a User type: object - SecretType: - default: SIMPLE - enum: - - SIMPLE - - REGISTRY - - MANAGED - type: string - UpdateSecretReply: - example: - secret: - created_at: 2000-01-23T04:56:07.000+00:00 - azure_container_registry: - password: password - registry_name: registry_name - username: username - type: null - digital_ocean_registry: - password: password - username: username - gcp_container_registry: - keyfile_content: keyfile_content - url: url - updated_at: 2000-01-23T04:56:07.000+00:00 - github_registry: - password: password - username: username - database_role_password: - password: password - username: username - organization_id: organization_id - private_registry: - password: password - url: url - username: username - gitlab_registry: - password: password - username: username - name: name - id: id - value: value - docker_hub_registry: - password: password - username: username - properties: - secret: - $ref: '#/components/schemas/Secret' - type: object - VerifyDockerImageReply: - example: - reason: reason - code: null - success: true - properties: - success: - title: Whether the image is accessible or not - type: boolean - reason: - title: "(Optional) If the image is not accessible, the reason" - type: string - code: - $ref: '#/components/schemas/VerifyDockerImageReply.ErrCode' - type: object - VerifyDockerImageReply.ErrCode: - default: UNKNOWN - description: |- - - UNKNOWN: Default value - - AUTH_ACCESS_DENIED: The registry denied access to an authenticated request - - ANON_ACCESS_DENIED: The registry denied access to an anonymous request - - AUTH_NOT_FOUND: The image has not been found after an authenticated request - - ANON_NOT_FOUND: The image has not been found after an anonymous request - - REGISTRY_ERROR: The registry returned an error - - TIMEOUT: The request to the registry timed out - - DNS: There was an error trying to resolve the name of the registry - - MALFORMED: The provided image name is malformed - - INVALID_OS: The operating system is not supported - - INVALID_ARCH: The architecture is not supported + UserFlags: + default: ADMIN enum: - - UNKNOWN - - AUTH_ACCESS_DENIED - - ANON_ACCESS_DENIED - - AUTH_NOT_FOUND - - ANON_NOT_FOUND - - REGISTRY_ERROR - - TIMEOUT - - DNS - - MALFORMED - - INVALID_OS - - INVALID_ARCH - title: The error code associated to each specific failure mode + - ADMIN + - TEST + - RESTRICTED + - ACTIVE + - BETA + title: |- + - ADMIN: A user is an admin user + - TEST: A user is a test user + - RESTRICTED: Whether this account as restricted access + - ACTIVE: Whether this account is active + - BETA: Account in beta program type: string - CreatePersistentVolumeReply: - example: - volume: - snapshot_id: snapshot_id - cur_size: 6 - created_at: 2000-01-23T04:56:07.000+00:00 - backing_store: null - deleted_at: 2000-01-23T04:56:07.000+00:00 - max_size: 0 - updated_at: 2000-01-23T04:56:07.000+00:00 - read_only: true - organization_id: organization_id - service_id: service_id - name: name - id: id - region: region - status: null - properties: - volume: - $ref: '#/components/schemas/PersistentVolume' - type: object - CreatePersistentVolumeRequest: + GetIntercomProfileReply: example: - volume_type: null - read_only: true - snapshot_id: snapshot_id - name: name - region: region - max_size: 0 + hash: hash properties: - volume_type: - $ref: '#/components/schemas/PersistentVolumeBackingStore' - name: - title: the volume name - type: string - region: - title: the volume region - type: string - read_only: - title: whether the volume must be set as read only - type: boolean - max_size: - format: int64 - title: the size of the volume (in Gigabyte / GB) - type: integer - snapshot_id: - title: (optional) the id of the snapshot whence the volume comes from + hash: type: string type: object - DeletePersistentVolumeReply: + ListOrganizationMembersReply: example: - volume: - snapshot_id: snapshot_id - cur_size: 6 - created_at: 2000-01-23T04:56:07.000+00:00 - backing_store: null - deleted_at: 2000-01-23T04:56:07.000+00:00 - max_size: 0 - updated_at: 2000-01-23T04:56:07.000+00:00 - read_only: true + offset: 6 + members: + - joined_at: 2000-01-23T04:56:07.000+00:00 + role: null + user_id: user_id organization_id: organization_id - service_id: service_id - name: name + organization: + name: name + id: id + plan: null + status: null id: id - region: region + user: + github_user: github_user + avatar_url: avatar_url + name: name + github_id: github_id + id: id + email: email status: null - properties: - volume: - $ref: '#/components/schemas/PersistentVolume' - type: object - GetPersistentVolumeReply: - example: - volume: - snapshot_id: snapshot_id - cur_size: 6 - created_at: 2000-01-23T04:56:07.000+00:00 - backing_store: null - deleted_at: 2000-01-23T04:56:07.000+00:00 - max_size: 0 - updated_at: 2000-01-23T04:56:07.000+00:00 - read_only: true + - joined_at: 2000-01-23T04:56:07.000+00:00 + role: null + user_id: user_id organization_id: organization_id - service_id: service_id - name: name + organization: + name: name + id: id + plan: null + status: null id: id - region: region + user: + github_user: github_user + avatar_url: avatar_url + name: name + github_id: github_id + id: id + email: email status: null - properties: - volume: - $ref: '#/components/schemas/PersistentVolume' - type: object - ListPersistentVolumeEventsReply: - example: - offset: 6 limit: 0 - has_next: true - events: - - metadata: "{}" - persistent_volume_id: persistent_volume_id - organization_id: organization_id - id: id - type: type - message: message - when: 2000-01-23T04:56:07.000+00:00 - - metadata: "{}" - persistent_volume_id: persistent_volume_id - organization_id: organization_id - id: id - type: type - message: message - when: 2000-01-23T04:56:07.000+00:00 - order: order + count: 1 properties: - events: + members: items: - $ref: '#/components/schemas/PersistentVolumeEvent' - title: The collection of events + $ref: '#/components/schemas/OrganizationMember' + title: The collection of organization members type: array limit: format: int64 @@ -11227,301 +10913,294 @@ components: format: int64 title: The offset in the request type: integer - order: - title: The order in the request - type: string - has_next: - title: If there is more items after in the collection - type: boolean + count: + format: int64 + title: The total number of items + type: integer type: object - ListPersistentVolumesReply: - example: - offset: 5 - volumes: - - snapshot_id: snapshot_id - cur_size: 6 - created_at: 2000-01-23T04:56:07.000+00:00 - backing_store: null - deleted_at: 2000-01-23T04:56:07.000+00:00 - max_size: 0 - updated_at: 2000-01-23T04:56:07.000+00:00 - read_only: true - organization_id: organization_id - service_id: service_id + Organization.Status: + default: WARNING + enum: + - WARNING + - LOCKED + - ACTIVE + - DEACTIVATING + - DEACTIVATED + - DELETING + - DELETED + type: string + OrganizationMember: + example: + joined_at: 2000-01-23T04:56:07.000+00:00 + role: null + user_id: user_id + organization_id: organization_id + organization: name: name id: id - region: region + plan: null status: null - - snapshot_id: snapshot_id - cur_size: 6 - created_at: 2000-01-23T04:56:07.000+00:00 - backing_store: null - deleted_at: 2000-01-23T04:56:07.000+00:00 - max_size: 0 - updated_at: 2000-01-23T04:56:07.000+00:00 - read_only: true - organization_id: organization_id - service_id: service_id + id: id + user: + github_user: github_user + avatar_url: avatar_url name: name + github_id: github_id id: id - region: region - status: null - limit: 1 - has_next: true + email: email + status: null properties: - volumes: - items: - $ref: '#/components/schemas/PersistentVolume' - title: The collection of persistent volumes - type: array - limit: - format: int64 - title: The limit in the request - type: integer - offset: - format: int64 - title: The offset in the request - type: integer - has_next: - title: If there is more items after in the collection - type: boolean + id: + type: string + organization_id: + type: string + user_id: + type: string + joined_at: + format: date-time + type: string + role: + $ref: '#/components/schemas/UserRole.Role' + status: + $ref: '#/components/schemas/OrganizationMember.Status' + user: + $ref: '#/components/schemas/PublicUser' + organization: + $ref: '#/components/schemas/PublicOrganization' type: object - PersistentVolume: + OrganizationMember.Status: + default: INVALID + enum: + - INVALID + - ACTIVE + - DELETED + type: string + Plan: + default: hobby + enum: + - hobby + - starter + - startup + - business + - enterprise + - internal + - hobby23 + - no_plan + - pro + - scale + type: string + PublicOrganization: example: - snapshot_id: snapshot_id - cur_size: 6 - created_at: 2000-01-23T04:56:07.000+00:00 - backing_store: null - deleted_at: 2000-01-23T04:56:07.000+00:00 - max_size: 0 - updated_at: 2000-01-23T04:56:07.000+00:00 - read_only: true - organization_id: organization_id - service_id: service_id name: name id: id - region: region + plan: null status: null properties: id: - title: the identifier for the volume object type: string name: - title: the volume name - type: string - snapshot_id: - title: (optional) the id of the snapshot whence the volume comes from - type: string - created_at: - format: date-time - title: creation timestamp - type: string - updated_at: - format: date-time - title: last change timestamp - type: string - deleted_at: - format: date-time - title: deletion timestamp - type: string - organization_id: - title: the organization to which the volume belongs to - type: string - service_id: - title: the service_id to which the volume is eventually bound to - type: string - region: - title: the region where the volume exists type: string - read_only: - title: whether to mount the volume in read-only mode - type: boolean - max_size: - format: int64 - title: the maximum size of the volume (in Gigabyte / GB) - type: integer - cur_size: - format: int64 - title: the used amount of space as measured the last time (in Gigabyte / - GB) - type: integer + plan: + $ref: '#/components/schemas/Plan' status: - $ref: '#/components/schemas/PersistentVolumeStatus' - backing_store: - $ref: '#/components/schemas/PersistentVolumeBackingStore' - title: The object that represent a volume to handle persistency for deployments + $ref: '#/components/schemas/Organization.Status' type: object - PersistentVolumeBackingStore: - default: PERSISTENT_VOLUME_BACKING_STORE_INVALID - enum: - - PERSISTENT_VOLUME_BACKING_STORE_INVALID - - PERSISTENT_VOLUME_BACKING_STORE_LOCAL_BLK - title: |- - - PERSISTENT_VOLUME_BACKING_STORE_INVALID: zero value, invalid - - PERSISTENT_VOLUME_BACKING_STORE_LOCAL_BLK: the backing store is a locally reachable block device - type: string - PersistentVolumeEvent: + PublicUser: example: - metadata: "{}" - persistent_volume_id: persistent_volume_id - organization_id: organization_id + github_user: github_user + avatar_url: avatar_url + name: name + github_id: github_id id: id - type: type - message: message - when: 2000-01-23T04:56:07.000+00:00 + email: email properties: id: type: string - when: - format: date-time + email: type: string - organization_id: + name: type: string - persistent_volume_id: + avatar_url: type: string - type: + github_id: type: string - message: + github_user: type: string - metadata: - properties: {} - type: object type: object - PersistentVolumeStatus: - default: PERSISTENT_VOLUME_STATUS_INVALID - enum: - - PERSISTENT_VOLUME_STATUS_INVALID - - PERSISTENT_VOLUME_STATUS_ATTACHED - - PERSISTENT_VOLUME_STATUS_DETACHED - - PERSISTENT_VOLUME_STATUS_DELETING - - PERSISTENT_VOLUME_STATUS_DELETED - title: |- - - PERSISTENT_VOLUME_STATUS_INVALID: zero value, invalid - - PERSISTENT_VOLUME_STATUS_ATTACHED: the volume is attached to an instance - - PERSISTENT_VOLUME_STATUS_DETACHED: the volume is free to use - - PERSISTENT_VOLUME_STATUS_DELETING: the volume will be deleted - - PERSISTENT_VOLUME_STATUS_DELETED: the volume was deleted - type: string - UpdatePersistentVolumeReply: + RemoveOrganizationMemberReply: example: - volume: - snapshot_id: snapshot_id - cur_size: 6 - created_at: 2000-01-23T04:56:07.000+00:00 - backing_store: null - deleted_at: 2000-01-23T04:56:07.000+00:00 - max_size: 0 - updated_at: 2000-01-23T04:56:07.000+00:00 - read_only: true + member: + joined_at: 2000-01-23T04:56:07.000+00:00 + role: null + user_id: user_id organization_id: organization_id - service_id: service_id - name: name + organization: + name: name + id: id + plan: null + status: null id: id - region: region + user: + github_user: github_user + avatar_url: avatar_url + name: name + github_id: github_id + id: id + email: email status: null properties: - volume: - $ref: '#/components/schemas/PersistentVolume' + member: + $ref: '#/components/schemas/OrganizationMember' type: object - CreateSnapshotReply: - example: - snapshot: - size: 0 - updated_at: 2000-01-23T04:56:07.000+00:00 - organization_id: organization_id - name: name - created_at: 2000-01-23T04:56:07.000+00:00 + UserRole.Role: + default: INVALID + enum: + - INVALID + - OWNER + type: string + CreateOrganizationInvitationReply: + example: + invitation: + role: null + expires_at: 2000-01-23T04:56:07.000+00:00 + organization_id: organization_id + organization: + name: name + id: id + plan: null + status: null + inviter_id: inviter_id + inviter: + github_user: github_user + avatar_url: avatar_url + name: name + github_id: github_id + id: id + email: email id: id - region: region - type: null - deleted_at: 2000-01-23T04:56:07.000+00:00 - parent_volume_id: parent_volume_id + email: email + invitee_id: invitee_id status: null + invitee: + github_user: github_user + avatar_url: avatar_url + name: name + github_id: github_id + id: id + email: email properties: - snapshot: - $ref: '#/components/schemas/Snapshot' + invitation: + $ref: '#/components/schemas/OrganizationInvitation' type: object - CreateSnapshotRequest: + CreateOrganizationInvitationRequest: example: - name: name - parent_volume_id: parent_volume_id + email: email properties: - parent_volume_id: - title: The id of the volume to snapshot - type: string - name: - title: The name of the snapshot + email: + title: The email of the person to invite type: string type: object - DeleteSnapshotReply: - example: - snapshot: - size: 0 - updated_at: 2000-01-23T04:56:07.000+00:00 - organization_id: organization_id - name: name - created_at: 2000-01-23T04:56:07.000+00:00 - id: id - region: region - type: null - deleted_at: 2000-01-23T04:56:07.000+00:00 - parent_volume_id: parent_volume_id - status: null - properties: - snapshot: - $ref: '#/components/schemas/Snapshot' + DeleteOrganizationInvitationReply: type: object - GetSnapshotReply: + GetOrganizationInvitationReply: example: - snapshot: - size: 0 - updated_at: 2000-01-23T04:56:07.000+00:00 + invitation: + role: null + expires_at: 2000-01-23T04:56:07.000+00:00 organization_id: organization_id - name: name - created_at: 2000-01-23T04:56:07.000+00:00 + organization: + name: name + id: id + plan: null + status: null + inviter_id: inviter_id + inviter: + github_user: github_user + avatar_url: avatar_url + name: name + github_id: github_id + id: id + email: email id: id - region: region - type: null - deleted_at: 2000-01-23T04:56:07.000+00:00 - parent_volume_id: parent_volume_id + email: email + invitee_id: invitee_id status: null + invitee: + github_user: github_user + avatar_url: avatar_url + name: name + github_id: github_id + id: id + email: email properties: - snapshot: - $ref: '#/components/schemas/Snapshot' + invitation: + $ref: '#/components/schemas/OrganizationInvitation' type: object - ListSnapshotsReply: + ListOrganizationInvitationsReply: example: - snapshots: - - size: 0 - updated_at: 2000-01-23T04:56:07.000+00:00 + offset: 6 + invitations: + - role: null + expires_at: 2000-01-23T04:56:07.000+00:00 organization_id: organization_id - name: name - created_at: 2000-01-23T04:56:07.000+00:00 + organization: + name: name + id: id + plan: null + status: null + inviter_id: inviter_id + inviter: + github_user: github_user + avatar_url: avatar_url + name: name + github_id: github_id + id: id + email: email id: id - region: region - type: null - deleted_at: 2000-01-23T04:56:07.000+00:00 - parent_volume_id: parent_volume_id + email: email + invitee_id: invitee_id status: null - - size: 0 - updated_at: 2000-01-23T04:56:07.000+00:00 + invitee: + github_user: github_user + avatar_url: avatar_url + name: name + github_id: github_id + id: id + email: email + - role: null + expires_at: 2000-01-23T04:56:07.000+00:00 organization_id: organization_id - name: name - created_at: 2000-01-23T04:56:07.000+00:00 + organization: + name: name + id: id + plan: null + status: null + inviter_id: inviter_id + inviter: + github_user: github_user + avatar_url: avatar_url + name: name + github_id: github_id + id: id + email: email id: id - region: region - type: null - deleted_at: 2000-01-23T04:56:07.000+00:00 - parent_volume_id: parent_volume_id + email: email + invitee_id: invitee_id status: null - offset: 1 - limit: 6 - has_next: true + invitee: + github_user: github_user + avatar_url: avatar_url + name: name + github_id: github_id + id: id + email: email + limit: 0 + count: 1 properties: - snapshots: + invitations: items: - $ref: '#/components/schemas/Snapshot' - title: The collection of snapshots + $ref: '#/components/schemas/OrganizationInvitation' + title: The collection of organization invitations type: array limit: format: int64 @@ -11531,540 +11210,594 @@ components: format: int64 title: The offset in the request type: integer - has_next: - title: If there is more items after in the collection - type: boolean + count: + format: int64 + title: The total number of items + type: integer type: object - Snapshot: - description: "The object that represents a snapshot. It can either be local,\ - \ on a node, or remote, in a cold storage." + OrganizationInvitation: example: - size: 0 - updated_at: 2000-01-23T04:56:07.000+00:00 + role: null + expires_at: 2000-01-23T04:56:07.000+00:00 organization_id: organization_id - name: name - created_at: 2000-01-23T04:56:07.000+00:00 + organization: + name: name + id: id + plan: null + status: null + inviter_id: inviter_id + inviter: + github_user: github_user + avatar_url: avatar_url + name: name + github_id: github_id + id: id + email: email id: id - region: region - type: null - deleted_at: 2000-01-23T04:56:07.000+00:00 - parent_volume_id: parent_volume_id + email: email + invitee_id: invitee_id status: null + invitee: + github_user: github_user + avatar_url: avatar_url + name: name + github_id: github_id + id: id + email: email properties: id: - title: the identifier of the snapshot object type: string - name: - title: the snapshot name + email: type: string - size: - format: int64 - title: the original volume size - type: integer - created_at: + role: + $ref: '#/components/schemas/UserRole.Role' + status: + $ref: '#/components/schemas/OrganizationInvitation.Status' + expires_at: format: date-time - title: creation timestamp type: string - updated_at: - format: date-time - title: last change timestamp + organization_id: type: string - deleted_at: - format: date-time - title: deletion timestamp - type: string - organization_id: - title: the organization to which the snapshot belongs to - type: string - parent_volume_id: - title: the volume from which the snapshot has been created + organization: + $ref: '#/components/schemas/PublicOrganization' + invitee_id: type: string - region: - title: "the region where the snapshot resides, if any" + invitee: + $ref: '#/components/schemas/PublicUser' + inviter_id: type: string - status: - $ref: '#/components/schemas/SnapshotStatus' - type: - $ref: '#/components/schemas/SnapshotType' + inviter: + $ref: '#/components/schemas/PublicUser' type: object - SnapshotStatus: - default: SNAPSHOT_STATUS_INVALID + OrganizationInvitation.Status: + default: INVALID enum: - - SNAPSHOT_STATUS_INVALID - - SNAPSHOT_STATUS_CREATING - - SNAPSHOT_STATUS_AVAILABLE - - SNAPSHOT_STATUS_MIGRATING - - SNAPSHOT_STATUS_DELETING - - SNAPSHOT_STATUS_DELETED - title: |- - - SNAPSHOT_STATUS_INVALID: zero value, invalid - - SNAPSHOT_STATUS_CREATING: the snapshot is being created - - SNAPSHOT_STATUS_AVAILABLE: the snapshot is complete and available - - SNAPSHOT_STATUS_MIGRATING: the snapshot is being migrated - - SNAPSHOT_STATUS_DELETING: the snapshot is being deleted - - SNAPSHOT_STATUS_DELETED: the snapshot is deleted + - INVALID + - PENDING + - ACCEPTED + - REFUSED + - EXPIRED type: string - SnapshotType: - default: SNAPSHOT_TYPE_INVALID + ResendOrganizationInvitationReply: + example: + invitation: + role: null + expires_at: 2000-01-23T04:56:07.000+00:00 + organization_id: organization_id + organization: + name: name + id: id + plan: null + status: null + inviter_id: inviter_id + inviter: + github_user: github_user + avatar_url: avatar_url + name: name + github_id: github_id + id: id + email: email + id: id + email: email + invitee_id: invitee_id + status: null + invitee: + github_user: github_user + avatar_url: avatar_url + name: name + github_id: github_id + id: id + email: email + properties: + invitation: + $ref: '#/components/schemas/OrganizationInvitation' + type: object + google.protobuf.NullValue: + default: NULL_VALUE + description: |- + `NullValue` is a singleton enumeration to represent the null value for the + `Value` type union. + + The JSON representation for `NullValue` is JSON `null`. + + - NULL_VALUE: Null value. enum: - - SNAPSHOT_TYPE_INVALID - - SNAPSHOT_TYPE_LOCAL - - SNAPSHOT_TYPE_REMOTE - title: |- - - SNAPSHOT_TYPE_INVALID: zero value, invalid - - SNAPSHOT_TYPE_LOCAL: the snapshot is local to the machine - - SNAPSHOT_TYPE_REMOTE: the snapshot is remote in a cold storage + - NULL_VALUE type: string - UpdateSnapshotReply: + AcceptOrganizationInvitationReply: example: - snapshot: - size: 0 - updated_at: 2000-01-23T04:56:07.000+00:00 + invitation: + role: null + expires_at: 2000-01-23T04:56:07.000+00:00 organization_id: organization_id - name: name - created_at: 2000-01-23T04:56:07.000+00:00 + organization: + name: name + id: id + plan: null + status: null + inviter_id: inviter_id + inviter: + github_user: github_user + avatar_url: avatar_url + name: name + github_id: github_id + id: id + email: email id: id - region: region - type: null - deleted_at: 2000-01-23T04:56:07.000+00:00 - parent_volume_id: parent_volume_id + email: email + invitee_id: invitee_id status: null + invitee: + github_user: github_user + avatar_url: avatar_url + name: name + github_id: github_id + id: id + email: email properties: - snapshot: - $ref: '#/components/schemas/Snapshot' - type: object - CreateStageAttemptReply: - type: object - DeclareStageProgressReply: - type: object - DeclareStepProgressReply: + invitation: + $ref: '#/components/schemas/OrganizationInvitation' type: object - DeploymentProvisioningInfo.Stage.Status: - default: UNKNOWN + Action: + default: signin enum: - - UNKNOWN - - PENDING - - RUNNING - - FAILED - - COMPLETED - - ABORTED + - signin + - signup + - register type: string - AppUsage: + CannyAuthReply: example: - app_name: app_name - services: - - regions: - key: - instances: - key: - duration_seconds: 0 - service_name: service_name - service_id: service_id - - regions: - key: - instances: - key: - duration_seconds: 0 - service_name: service_name - service_id: service_id - app_id: app_id + token: token properties: - app_id: - type: string - app_name: + token: type: string - services: - items: - $ref: '#/components/schemas/ServiceUsage' - type: array type: object - GetOrganizationUsageDetailsReply: + CannyAuthRequest: + type: object + CreateAccountRequest: + description: Create new account example: - offset: 1 - limit: 6 - count: 5 - usage_details: - - regional_deployment_id: regional_deployment_id - duration_seconds: 0 - service_name: service_name - app_name: app_name - instance_id: instance_id - organization_id: organization_id - service_id: service_id - started_at: 2000-01-23T04:56:07.000+00:00 - deployment_id: deployment_id - region: region - app_id: app_id - instance_type: instance_type - terminated_at: 2000-01-23T04:56:07.000+00:00 - - regional_deployment_id: regional_deployment_id - duration_seconds: 0 - service_name: service_name - app_name: app_name - instance_id: instance_id - organization_id: organization_id - service_id: service_id - started_at: 2000-01-23T04:56:07.000+00:00 - deployment_id: deployment_id - region: region - app_id: app_id - instance_type: instance_type - terminated_at: 2000-01-23T04:56:07.000+00:00 - order: order + email: john@snow.com + password: '...' properties: - usage_details: - items: - $ref: '#/components/schemas/UsageDetails' - title: The collection of usage instances - type: array - limit: - format: int64 - title: The limit in the request - type: integer - offset: - format: int64 - title: The offset in the request - type: integer - count: - format: int64 - title: The total number of items - type: integer - order: - title: The order in the request + email: + type: string + password: + type: string + name: + type: string + captcha: type: string + required: + - email + - password + title: Create new account type: object - GetOrganizationUsageReply: + CreateOrganizationReply: example: - usage: - organization_id: organization_id - periods: - key: - ending_time: 2000-01-23T04:56:07.000+00:00 - starting_time: 2000-01-23T04:56:07.000+00:00 - apps: - - app_name: app_name - services: - - regions: - key: - instances: - key: - duration_seconds: 0 - service_name: service_name - service_id: service_id - - regions: - key: - instances: - key: - duration_seconds: 0 - service_name: service_name - service_id: service_id - app_id: app_id - - app_name: app_name - services: - - regions: - key: - instances: - key: - duration_seconds: 0 - service_name: service_name - service_id: service_id - - regions: - key: - instances: - key: - duration_seconds: 0 - service_name: service_name - service_id: service_id - app_id: app_id + organization: + status_message: null + country: country + city: city + vat_number: vat_number + plan_updated_at: 2000-01-23T04:56:07.000+00:00 + has_payment_method: true + trialing: true + subscription_id: subscription_id + signup_qualification: "{}" + reprocess_after: 2000-01-23T04:56:07.000+00:00 + billing_email: billing_email + company: true + id: id + state: state + plan: null + current_subscription_id: current_subscription_id + qualifies_for_hobby23: true + address2: address2 + trial_starts_at: 2000-01-23T04:56:07.000+00:00 + address1: address1 + verified: true + billing_name: billing_name + deactivation_reason: null + name: name + latest_subscription_id: latest_subscription_id + trial_ends_at: 2000-01-23T04:56:07.000+00:00 + postal_code: postal_code + status: null properties: - usage: - $ref: '#/components/schemas/Usage' + organization: + $ref: '#/components/schemas/Organization' type: object - InstanceUsage: + CreateOrganizationRequest: example: - duration_seconds: 0 + name: name properties: - duration_seconds: - format: int64 - type: integer + name: + type: string type: object - PeriodUsage: + DeactivateOrganizationReply: example: - ending_time: 2000-01-23T04:56:07.000+00:00 - starting_time: 2000-01-23T04:56:07.000+00:00 - apps: - - app_name: app_name - services: - - regions: - key: - instances: - key: - duration_seconds: 0 - service_name: service_name - service_id: service_id - - regions: - key: - instances: - key: - duration_seconds: 0 - service_name: service_name - service_id: service_id - app_id: app_id - - app_name: app_name - services: - - regions: - key: - instances: - key: - duration_seconds: 0 - service_name: service_name - service_id: service_id - - regions: - key: - instances: - key: - duration_seconds: 0 - service_name: service_name - service_id: service_id - app_id: app_id + organization: + status_message: null + country: country + city: city + vat_number: vat_number + plan_updated_at: 2000-01-23T04:56:07.000+00:00 + has_payment_method: true + trialing: true + subscription_id: subscription_id + signup_qualification: "{}" + reprocess_after: 2000-01-23T04:56:07.000+00:00 + billing_email: billing_email + company: true + id: id + state: state + plan: null + current_subscription_id: current_subscription_id + qualifies_for_hobby23: true + address2: address2 + trial_starts_at: 2000-01-23T04:56:07.000+00:00 + address1: address1 + verified: true + billing_name: billing_name + deactivation_reason: null + name: name + latest_subscription_id: latest_subscription_id + trial_ends_at: 2000-01-23T04:56:07.000+00:00 + postal_code: postal_code + status: null properties: - starting_time: - format: date-time - type: string - ending_time: - format: date-time - type: string - apps: - items: - $ref: '#/components/schemas/AppUsage' - type: array + organization: + $ref: '#/components/schemas/Organization' type: object - RegionUsage: + DeclineOrganizationInvitationReply: example: - instances: - key: - duration_seconds: 0 + invitation: + role: null + expires_at: 2000-01-23T04:56:07.000+00:00 + organization_id: organization_id + organization: + name: name + id: id + plan: null + status: null + inviter_id: inviter_id + inviter: + github_user: github_user + avatar_url: avatar_url + name: name + github_id: github_id + id: id + email: email + id: id + email: email + invitee_id: invitee_id + status: null + invitee: + github_user: github_user + avatar_url: avatar_url + name: name + github_id: github_id + id: id + email: email properties: - instances: - additionalProperties: - $ref: '#/components/schemas/InstanceUsage' - type: object + invitation: + $ref: '#/components/schemas/OrganizationInvitation' type: object - ServiceUsage: + DeleteOrganizationReply: example: - regions: - key: - instances: - key: - duration_seconds: 0 - service_name: service_name - service_id: service_id + organization: + status_message: null + country: country + city: city + vat_number: vat_number + plan_updated_at: 2000-01-23T04:56:07.000+00:00 + has_payment_method: true + trialing: true + subscription_id: subscription_id + signup_qualification: "{}" + reprocess_after: 2000-01-23T04:56:07.000+00:00 + billing_email: billing_email + company: true + id: id + state: state + plan: null + current_subscription_id: current_subscription_id + qualifies_for_hobby23: true + address2: address2 + trial_starts_at: 2000-01-23T04:56:07.000+00:00 + address1: address1 + verified: true + billing_name: billing_name + deactivation_reason: null + name: name + latest_subscription_id: latest_subscription_id + trial_ends_at: 2000-01-23T04:56:07.000+00:00 + postal_code: postal_code + status: null properties: - service_id: + organization: + $ref: '#/components/schemas/Organization' + type: object + DiscourseAuthReply: + example: + sig: sig + sso: sso + properties: + sso: type: string - service_name: + sig: type: string - regions: - additionalProperties: - $ref: '#/components/schemas/RegionUsage' - type: object type: object - Usage: + DiscourseAuthRequest: example: - organization_id: organization_id - periods: - key: - ending_time: 2000-01-23T04:56:07.000+00:00 - starting_time: 2000-01-23T04:56:07.000+00:00 - apps: - - app_name: app_name - services: - - regions: - key: - instances: - key: - duration_seconds: 0 - service_name: service_name - service_id: service_id - - regions: - key: - instances: - key: - duration_seconds: 0 - service_name: service_name - service_id: service_id - app_id: app_id - - app_name: app_name - services: - - regions: - key: - instances: - key: - duration_seconds: 0 - service_name: service_name - service_id: service_id - - regions: - key: - instances: - key: - duration_seconds: 0 - service_name: service_name - service_id: service_id - app_id: app_id + sig: sig + payload: payload properties: - organization_id: + payload: + type: string + sig: type: string - periods: - additionalProperties: - $ref: '#/components/schemas/PeriodUsage' - type: object type: object - UsageDetails: + GetGithubInstallationReply: example: - regional_deployment_id: regional_deployment_id - duration_seconds: 0 - service_name: service_name - app_name: app_name - instance_id: instance_id - organization_id: organization_id - service_id: service_id - started_at: 2000-01-23T04:56:07.000+00:00 - deployment_id: deployment_id - region: region - app_id: app_id - instance_type: instance_type - terminated_at: 2000-01-23T04:56:07.000+00:00 + indexing_status: null + indexed_repositories: 0 + avatar_url: avatar_url + installation_url: installation_url + installed_at: 2000-01-23T04:56:07.000+00:00 + name: name + installation_id: installation_id + total_repositories: 6 + status: null + suspended_at: 2000-01-23T04:56:07.000+00:00 properties: - organization_id: - type: string - instance_id: - type: string - app_id: - type: string - app_name: - type: string - service_id: - type: string - service_name: - type: string - regional_deployment_id: + installation_id: type: string - region: + installation_url: type: string - deployment_id: + name: type: string - instance_type: + avatar_url: type: string - duration_seconds: - format: int64 - type: integer - started_at: + status: + $ref: '#/components/schemas/kgitproxy.GithubInstallation.Status' + installed_at: format: date-time type: string - terminated_at: + suspended_at: format: date-time type: string + indexing_status: + $ref: '#/components/schemas/kgitproxy.IndexingStatus' + indexed_repositories: + format: int64 + type: integer + total_repositories: + format: int64 + type: integer type: object - CreateDomain: + GetOAuthOptionsReply: + description: A list of providers which you can use for single sign-on. example: - name: name - type: null - app_id: app_id + oauth_providers: + - id: id + state: state + url: url + - id: id + state: state + url: url properties: - name: - type: string - type: - $ref: '#/components/schemas/Domain.Type' - app_id: - title: to auto-attach to an app. Optional - type: string + oauth_providers: + items: + $ref: '#/components/schemas/OAuthProvider' + type: array type: object - CreateDomainReply: + GetOrganizationReply: example: - domain: - created_at: 2000-01-23T04:56:07.000+00:00 - intended_cname: intended_cname - type: null - version: version - updated_at: 2000-01-23T04:56:07.000+00:00 - deployment_group: deployment_group - verified_at: 2000-01-23T04:56:07.000+00:00 - organization_id: organization_id - name: name - messages: - - messages - - messages + organization: + status_message: null + country: country + city: city + vat_number: vat_number + plan_updated_at: 2000-01-23T04:56:07.000+00:00 + has_payment_method: true + trialing: true + subscription_id: subscription_id + signup_qualification: "{}" + reprocess_after: 2000-01-23T04:56:07.000+00:00 + billing_email: billing_email + company: true id: id - app_id: app_id + state: state + plan: null + current_subscription_id: current_subscription_id + qualifies_for_hobby23: true + address2: address2 + trial_starts_at: 2000-01-23T04:56:07.000+00:00 + address1: address1 + verified: true + billing_name: billing_name + deactivation_reason: null + name: name + latest_subscription_id: latest_subscription_id + trial_ends_at: 2000-01-23T04:56:07.000+00:00 + postal_code: postal_code status: null properties: - domain: - $ref: '#/components/schemas/Domain' - type: object - DeleteDomainReply: + organization: + $ref: '#/components/schemas/Organization' type: object - GetDomainReply: + GetUserOrganizationInvitationReply: example: - domain: - created_at: 2000-01-23T04:56:07.000+00:00 - intended_cname: intended_cname - type: null - version: version - updated_at: 2000-01-23T04:56:07.000+00:00 - deployment_group: deployment_group - verified_at: 2000-01-23T04:56:07.000+00:00 + invitation: + role: null + expires_at: 2000-01-23T04:56:07.000+00:00 organization_id: organization_id - name: name - messages: - - messages - - messages + organization: + name: name + id: id + plan: null + status: null + inviter_id: inviter_id + inviter: + github_user: github_user + avatar_url: avatar_url + name: name + github_id: github_id + id: id + email: email id: id - app_id: app_id + email: email + invitee_id: invitee_id status: null + invitee: + github_user: github_user + avatar_url: avatar_url + name: name + github_id: github_id + id: id + email: email properties: - domain: - $ref: '#/components/schemas/Domain' + invitation: + $ref: '#/components/schemas/OrganizationInvitation' type: object - ListDomainsReply: + GithubInstallationReply: example: - offset: 6 - limit: 0 - count: 1 - domains: - - created_at: 2000-01-23T04:56:07.000+00:00 - intended_cname: intended_cname - type: null - version: version - updated_at: 2000-01-23T04:56:07.000+00:00 - deployment_group: deployment_group - verified_at: 2000-01-23T04:56:07.000+00:00 - organization_id: organization_id - name: name - messages: - - messages - - messages - id: id - app_id: app_id - status: null - - created_at: 2000-01-23T04:56:07.000+00:00 - intended_cname: intended_cname - type: null - version: version - updated_at: 2000-01-23T04:56:07.000+00:00 - deployment_group: deployment_group - verified_at: 2000-01-23T04:56:07.000+00:00 + app_name: app_name + state: state + app_id: app_id + url: url + properties: + app_name: + title: The github app name + type: string + app_id: + format: int64 + title: The github app id + type: string + url: + title: The url to start the installation flow + type: string + state: + title: "The state required by the protocol, it is only valid 10 minutes\ + \ and encodes information about the type of flow" + type: string + type: object + GithubInstallationRequest: + example: + metadata: metadata + properties: + metadata: + title: A small (limited to 400 characters) string of arbitrary metadata + which will be encoded in the state + type: string + type: object + HasUnpaidInvoicesReply: + example: + has_unpaid_invoices: true + properties: + has_unpaid_invoices: + type: boolean + type: object + InviteUserRequest: + example: + name: name + message: message + email: email + properties: + email: + type: string + name: + type: string + message: + type: string + type: object + ListUserOrganizationInvitationsReply: + example: + offset: 6 + invitations: + - role: null + expires_at: 2000-01-23T04:56:07.000+00:00 organization_id: organization_id - name: name - messages: - - messages - - messages + organization: + name: name + id: id + plan: null + status: null + inviter_id: inviter_id + inviter: + github_user: github_user + avatar_url: avatar_url + name: name + github_id: github_id + id: id + email: email id: id - app_id: app_id + email: email + invitee_id: invitee_id + status: null + invitee: + github_user: github_user + avatar_url: avatar_url + name: name + github_id: github_id + id: id + email: email + - role: null + expires_at: 2000-01-23T04:56:07.000+00:00 + organization_id: organization_id + organization: + name: name + id: id + plan: null + status: null + inviter_id: inviter_id + inviter: + github_user: github_user + avatar_url: avatar_url + name: name + github_id: github_id + id: id + email: email + id: id + email: email + invitee_id: invitee_id status: null + invitee: + github_user: github_user + avatar_url: avatar_url + name: name + github_id: github_id + id: id + email: email + limit: 0 + count: 1 properties: - domains: + invitations: items: - $ref: '#/components/schemas/Domain' + $ref: '#/components/schemas/OrganizationInvitation' + title: The collection of organization invitations type: array limit: format: int64 @@ -12079,2386 +11812,1591 @@ components: title: The total number of items type: integer type: object - RefreshDomainStatusReply: - type: object - UpdateDomain: - example: - subdomain: subdomain - app_id: app_id - properties: - app_id: - description: To attach or detach from an app for custom domain. - type: string - subdomain: - description: To change subdomain for auto-assigned domain. - type: string - type: object - UpdateDomainReply: - example: - domain: - created_at: 2000-01-23T04:56:07.000+00:00 - intended_cname: intended_cname - type: null - version: version - updated_at: 2000-01-23T04:56:07.000+00:00 - deployment_group: deployment_group - verified_at: 2000-01-23T04:56:07.000+00:00 - organization_id: organization_id - name: name - messages: - - messages - - messages - id: id - app_id: app_id - status: null - properties: - domain: - $ref: '#/components/schemas/Domain' - type: object - ArchiveDeploymentMetadata: - example: - last_provisioned_deployment_id: last_provisioned_deployment_id - properties: - last_provisioned_deployment_id: - type: string - type: object - ArchiveSource: + ManageReply: example: - id: id - buildpack: - privileged: true - run_command: run_command - build_command: build_command - docker: - args: - - args - - args - privileged: true - entrypoint: - - entrypoint - - entrypoint - dockerfile: dockerfile - command: command - target: target + url: url properties: - id: - title: The ID of the archive to deploy + url: type: string - buildpack: - $ref: '#/components/schemas/BuildpackBuilder' - docker: - $ref: '#/components/schemas/DockerBuilder' type: object - AutoRelease: + NextInvoiceReply: example: - groups: - - latest_sha: latest_sha + discounts: + - amount: amount name: name - git_ref: git_ref - repository: repository - - latest_sha: latest_sha + type: null + - amount: amount name: name - git_ref: git_ref - repository: repository + type: null + stripe_invoice: "{}" + lines: + - period: + start: 2000-01-23T04:56:07.000+00:00 + end: 2000-01-23T04:56:07.000+00:00 + plan_nickname: plan_nickname + quantity: 1 + price: + unit_amount_decimal: 6.027456183070403 + amount_excluding_tax: 0 + - period: + start: 2000-01-23T04:56:07.000+00:00 + end: 2000-01-23T04:56:07.000+00:00 + plan_nickname: plan_nickname + quantity: 1 + price: + unit_amount_decimal: 6.027456183070403 + amount_excluding_tax: 0 properties: - groups: + stripe_invoice: + properties: {} + type: object + lines: items: - $ref: '#/components/schemas/AutoRelease.Group' + $ref: '#/components/schemas/NextInvoiceReply.Line' + type: array + discounts: + items: + $ref: '#/components/schemas/NextInvoiceReply.Discount' type: array type: object - AutoRelease.Group: + NextInvoiceReply.Discount: example: - latest_sha: latest_sha + amount: amount name: name - git_ref: git_ref - repository: repository + type: null properties: + type: + $ref: '#/components/schemas/NextInvoiceReply.Discount.Type' name: type: string - repository: - type: string - git_ref: - title: "A git ref to track (.e.g: refs/tags/ or refs/heads/" - type: string - latest_sha: - title: The last hash that was resolved (used to avoid triggering releases - when things haven't changed) + amount: + format: int64 type: string - title: Configuration extracted from the latest deployment in this deployment_group type: object - AutocompleteReply: - example: - user_env: - - user_env - - user_env - system_env: - - system_env - - system_env - secrets: - - secrets - - secrets + NextInvoiceReply.Discount.Type: + default: PERCENT_OFF + enum: + - PERCENT_OFF + - AMOUNT_OFF + type: string + NextInvoiceReply.Line: + example: + period: + start: 2000-01-23T04:56:07.000+00:00 + end: 2000-01-23T04:56:07.000+00:00 + plan_nickname: plan_nickname + quantity: 1 + price: + unit_amount_decimal: 6.027456183070403 + amount_excluding_tax: 0 properties: - secrets: - items: - type: string - title: List of available secrets - type: array - user_env: - items: - type: string - title: List of available user's environment variables - type: array - system_env: - items: - type: string - title: List of available system's environment variables - type: array + amount_excluding_tax: + format: int32 + type: integer + period: + $ref: '#/components/schemas/NextInvoiceReply.Line.Period' + plan_nickname: + type: string + price: + $ref: '#/components/schemas/NextInvoiceReply.Line.Price' + quantity: + format: int32 + type: integer type: object - AutocompleteRequest: + NextInvoiceReply.Line.Period: example: - definition: - instance_types: - - scopes: - - scopes - - scopes - type: type - - scopes: - - scopes - - scopes - type: type - regions: - - regions - - regions - volumes: - - path: path - replica_index: 1 - id: id - scopes: - - scopes - - scopes - - path: path - replica_index: 1 - id: id - scopes: - - scopes - - scopes - skip_cache: true - archive: - id: id - buildpack: - privileged: true - run_command: run_command - build_command: build_command - docker: - args: - - args - - args - privileged: true - entrypoint: - - entrypoint - - entrypoint - dockerfile: dockerfile - command: command - target: target - type: null - ports: - - protocol: protocol - port: 6 - - protocol: protocol - port: 6 - env: - - scopes: - - scopes - - scopes - secret: secret - value: value - key: key - - scopes: - - scopes - - scopes - secret: secret - value: value - key: key - config_files: - - path: path - permissions: permissions - content: content - - path: path - permissions: permissions - content: content - docker: - args: - - args - - args - privileged: true - image: image - image_registry_secret: image_registry_secret - entrypoint: - - entrypoint - - entrypoint - command: command - routes: - - path: path - port: 0 - - path: path - port: 0 - database: - neon_postgres: - databases: - - owner: owner - name: name - - owner: owner - name: name - roles: - - name: name - secret: secret - - name: name - secret: secret - region: region - instance_type: instance_type - pg_version: 4 - git: - run_command: run_command - workdir: workdir - build_command: build_command - no_deploy_on_push: true - tag: tag - repository: repository - buildpack: - privileged: true - run_command: run_command - build_command: build_command - branch: branch - sha: sha - docker: - args: - - args - - args - privileged: true - entrypoint: - - entrypoint - - entrypoint - dockerfile: dockerfile - command: command - target: target - scalings: - - min: 1 - max: 5 - scopes: - - scopes - - scopes - targets: - - average_mem: - value: 2 - requests_per_second: - value: 7 - average_cpu: - value: 5 - requests_response_time: - quantile: 2 - value: 3 - concurrent_requests: - value: 9 - sleep_idle_delay: - value: 4 - - average_mem: - value: 2 - requests_per_second: - value: 7 - average_cpu: - value: 5 - requests_response_time: - quantile: 2 - value: 3 - concurrent_requests: - value: 9 - sleep_idle_delay: - value: 4 - - min: 1 - max: 5 - scopes: - - scopes - - scopes - targets: - - average_mem: - value: 2 - requests_per_second: - value: 7 - average_cpu: - value: 5 - requests_response_time: - quantile: 2 - value: 3 - concurrent_requests: - value: 9 - sleep_idle_delay: - value: 4 - - average_mem: - value: 2 - requests_per_second: - value: 7 - average_cpu: - value: 5 - requests_response_time: - quantile: 2 - value: 3 - concurrent_requests: - value: 9 - sleep_idle_delay: - value: 4 - health_checks: - - tcp: - port: 6 - restart_limit: 1 - http: - path: path - headers: - - value: value - key: key - - value: value - key: key - method: method - port: 7 - interval: 1 - grace_period: 7 - timeout: 1 - - tcp: - port: 6 - restart_limit: 1 - http: - path: path - headers: - - value: value - key: key - - value: value - key: key - method: method - port: 7 - interval: 1 - grace_period: 7 - timeout: 1 - name: name - strategy: - type: null + start: 2000-01-23T04:56:07.000+00:00 + end: 2000-01-23T04:56:07.000+00:00 properties: - definition: - $ref: '#/components/schemas/DeploymentDefinition' + start: + format: date-time + type: string + end: + format: date-time + type: string type: object - BuildpackBuilder: + NextInvoiceReply.Line.Price: example: - privileged: true - run_command: run_command - build_command: build_command + unit_amount_decimal: 6.027456183070403 properties: - build_command: - title: "A command used to override the build command, run after all build\ - \ steps" + unit_amount_decimal: + format: double + type: number + type: object + OAuthCallbackReply: + example: + token: + id: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9... + expires: 2022-09-08T14:00:00Z + user_id: 996d7822-6b58-11e9-956f-32001b70f000 + organization_id: 9f33b2c6-6b58-11e9-883c-32001b70f000 + properties: + token: + $ref: '#/components/schemas/Token' + type: object + OAuthCallbackRequest: + example: + setup_action: setup_action + code: code + installation_id: installation_id + state: state + properties: + state: + title: The state created at the origin of the OAuth flow type: string - run_command: - title: A command used to override the default run command + code: + title: The code returned by the OAuth provider + type: string + setup_action: + description: |- + setup_action is populated in the context of a GitHub app installation request. For logins and + signups, it is not set. + type: string + installation_id: + description: |- + installation_id is populated in the context of a GitHub app installation request. For logins and + signups, it is not set. type: string - privileged: - title: A flag to run the container in privileged mode - type: boolean type: object - ConfigFile: + OAuthProvider: example: - path: path - permissions: permissions - content: content + id: id + state: state + url: url properties: - path: - title: the path where the file is mounted to + id: + title: "The name of the provider (.e.g github, google)" type: string - permissions: - title: the permissions of the file in format 0644 + url: + title: The URL to call to initiate the OAuth flow type: string - content: - title: the content of the file + state: + title: "The OAuth state required by the protocol, it is only valid 10 minutes\ + \ and encodes information about the type of flow" type: string type: object - CreateService: + Organization: example: - definition: - instance_types: - - scopes: - - scopes - - scopes - type: type - - scopes: - - scopes - - scopes - type: type - regions: - - regions - - regions - volumes: - - path: path - replica_index: 1 - id: id - scopes: - - scopes - - scopes - - path: path - replica_index: 1 - id: id - scopes: - - scopes - - scopes - skip_cache: true - archive: - id: id - buildpack: - privileged: true - run_command: run_command - build_command: build_command - docker: - args: - - args - - args - privileged: true - entrypoint: - - entrypoint - - entrypoint - dockerfile: dockerfile - command: command - target: target - type: null - ports: - - protocol: protocol - port: 6 - - protocol: protocol - port: 6 - env: - - scopes: - - scopes - - scopes - secret: secret - value: value - key: key - - scopes: - - scopes - - scopes - secret: secret - value: value - key: key - config_files: - - path: path - permissions: permissions - content: content - - path: path - permissions: permissions - content: content - docker: - args: - - args - - args - privileged: true - image: image - image_registry_secret: image_registry_secret - entrypoint: - - entrypoint - - entrypoint - command: command - routes: - - path: path - port: 0 - - path: path - port: 0 - database: - neon_postgres: - databases: - - owner: owner - name: name - - owner: owner - name: name - roles: - - name: name - secret: secret - - name: name - secret: secret - region: region - instance_type: instance_type - pg_version: 4 - git: - run_command: run_command - workdir: workdir - build_command: build_command - no_deploy_on_push: true - tag: tag - repository: repository - buildpack: - privileged: true - run_command: run_command - build_command: build_command - branch: branch - sha: sha - docker: - args: - - args - - args - privileged: true - entrypoint: - - entrypoint - - entrypoint - dockerfile: dockerfile - command: command - target: target - scalings: - - min: 1 - max: 5 - scopes: - - scopes - - scopes - targets: - - average_mem: - value: 2 - requests_per_second: - value: 7 - average_cpu: - value: 5 - requests_response_time: - quantile: 2 - value: 3 - concurrent_requests: - value: 9 - sleep_idle_delay: - value: 4 - - average_mem: - value: 2 - requests_per_second: - value: 7 - average_cpu: - value: 5 - requests_response_time: - quantile: 2 - value: 3 - concurrent_requests: - value: 9 - sleep_idle_delay: - value: 4 - - min: 1 - max: 5 - scopes: - - scopes - - scopes - targets: - - average_mem: - value: 2 - requests_per_second: - value: 7 - average_cpu: - value: 5 - requests_response_time: - quantile: 2 - value: 3 - concurrent_requests: - value: 9 - sleep_idle_delay: - value: 4 - - average_mem: - value: 2 - requests_per_second: - value: 7 - average_cpu: - value: 5 - requests_response_time: - quantile: 2 - value: 3 - concurrent_requests: - value: 9 - sleep_idle_delay: - value: 4 - health_checks: - - tcp: - port: 6 - restart_limit: 1 - http: - path: path - headers: - - value: value - key: key - - value: value - key: key - method: method - port: 7 - interval: 1 - grace_period: 7 - timeout: 1 - - tcp: - port: 6 - restart_limit: 1 - http: - path: path - headers: - - value: value - key: key - - value: value - key: key - method: method - port: 7 - interval: 1 - grace_period: 7 - timeout: 1 - name: name - strategy: - type: null - app_id: app_id + status_message: null + country: country + city: city + vat_number: vat_number + plan_updated_at: 2000-01-23T04:56:07.000+00:00 + has_payment_method: true + trialing: true + subscription_id: subscription_id + signup_qualification: "{}" + reprocess_after: 2000-01-23T04:56:07.000+00:00 + billing_email: billing_email + company: true + id: id + state: state + plan: null + current_subscription_id: current_subscription_id + qualifies_for_hobby23: true + address2: address2 + trial_starts_at: 2000-01-23T04:56:07.000+00:00 + address1: address1 + verified: true + billing_name: billing_name + deactivation_reason: null + name: name + latest_subscription_id: latest_subscription_id + trial_ends_at: 2000-01-23T04:56:07.000+00:00 + postal_code: postal_code + status: null properties: - app_id: + id: type: string - definition: - $ref: '#/components/schemas/DeploymentDefinition' + address1: + type: string + address2: + type: string + city: + type: string + postal_code: + type: string + state: + type: string + country: + type: string + company: + type: boolean + vat_number: + type: string + billing_name: + type: string + billing_email: + type: string + name: + type: string + plan: + $ref: '#/components/schemas/Plan' + plan_updated_at: + format: date-time + type: string + has_payment_method: + type: boolean + subscription_id: + type: string + current_subscription_id: + type: string + latest_subscription_id: + type: string + signup_qualification: + properties: {} + type: object + status: + $ref: '#/components/schemas/Organization.Status' + status_message: + $ref: '#/components/schemas/OrganizationDetailedStatus' + deactivation_reason: + $ref: '#/components/schemas/Organization.DeactivationReason' + verified: + type: boolean + qualifies_for_hobby23: + type: boolean + reprocess_after: + format: date-time + type: string + trialing: + type: boolean + trial_starts_at: + format: date-time + type: string + trial_ends_at: + format: date-time + type: string + title: Represent an Organization type: object - CreateServiceReply: + Organization.DeactivationReason: + default: INVALID + enum: + - INVALID + - REQUESTED_BY_OWNER + - SUBSCRIPTION_TERMINATION + - LOCKED_BY_ADMIN + - VERIFICATION_FAILED + type: string + OrganizationDetailedStatus: + default: NEW + enum: + - NEW + - EMAIL_NOT_VALIDATED + - BILLING_INFO_MISSING + - LOCKED + - PAYMENT_FAILURE + - VALID + - PENDING_VERIFICATION + - VERIFICATION_FAILED + - REVIEWING_ACCOUNT + - PLAN_UPGRADE_REQUIRED + type: string + ReactivateOrganizationReply: example: - service: - created_at: 2000-01-23T04:56:07.000+00:00 - resumed_at: 2000-01-23T04:56:07.000+00:00 - type: null - version: version - last_provisioned_deployment_id: last_provisioned_deployment_id - succeeded_at: 2000-01-23T04:56:07.000+00:00 - paused_at: 2000-01-23T04:56:07.000+00:00 - updated_at: 2000-01-23T04:56:07.000+00:00 - organization_id: organization_id - name: name - started_at: 2000-01-23T04:56:07.000+00:00 - messages: - - messages - - messages - active_deployment_id: active_deployment_id + organization: + status_message: null + country: country + city: city + vat_number: vat_number + plan_updated_at: 2000-01-23T04:56:07.000+00:00 + has_payment_method: true + trialing: true + subscription_id: subscription_id + signup_qualification: "{}" + reprocess_after: 2000-01-23T04:56:07.000+00:00 + billing_email: billing_email + company: true id: id - state: - desired_deployment: - groups: - - name: name - deployment_ids: - - deployment_ids - - deployment_ids - - name: name - deployment_ids: - - deployment_ids - - deployment_ids - auto_release: - groups: - - latest_sha: latest_sha - name: name - git_ref: git_ref - repository: repository - - latest_sha: latest_sha - name: name - git_ref: git_ref - repository: repository - app_id: app_id - terminated_at: 2000-01-23T04:56:07.000+00:00 - latest_deployment_id: latest_deployment_id + state: state + plan: null + current_subscription_id: current_subscription_id + qualifies_for_hobby23: true + address2: address2 + trial_starts_at: 2000-01-23T04:56:07.000+00:00 + address1: address1 + verified: true + billing_name: billing_name + deactivation_reason: null + name: name + latest_subscription_id: latest_subscription_id + trial_ends_at: 2000-01-23T04:56:07.000+00:00 + postal_code: postal_code status: null properties: - service: - $ref: '#/components/schemas/Service' - type: object - DatabaseDeploymentMetadata: + organization: + $ref: '#/components/schemas/Organization' + type: object + ResendEmailValidationReply: + type: object + ResendEmailValidationRequest: + type: object + ResetPasswordReply: + type: object + ResetPasswordRequest: example: - neon_postgres: - reset_role_passwords: - - reset_role_passwords - - reset_role_passwords + email: john@snow.com properties: - neon_postgres: - $ref: '#/components/schemas/NeonPostgresDatabaseDeploymentMetadata' + email: + type: string type: object - DatabaseSource: + UnscopeOrganizationTokenRequest: + type: object + UpdateOrganizationPlanReply: example: - neon_postgres: - databases: - - owner: owner - name: name - - owner: owner - name: name - roles: - - name: name - secret: secret - - name: name - secret: secret - region: region - instance_type: instance_type - pg_version: 4 + organization: + status_message: null + country: country + city: city + vat_number: vat_number + plan_updated_at: 2000-01-23T04:56:07.000+00:00 + has_payment_method: true + trialing: true + subscription_id: subscription_id + signup_qualification: "{}" + reprocess_after: 2000-01-23T04:56:07.000+00:00 + billing_email: billing_email + company: true + id: id + state: state + plan: null + current_subscription_id: current_subscription_id + qualifies_for_hobby23: true + address2: address2 + trial_starts_at: 2000-01-23T04:56:07.000+00:00 + address1: address1 + verified: true + billing_name: billing_name + deactivation_reason: null + name: name + latest_subscription_id: latest_subscription_id + trial_ends_at: 2000-01-23T04:56:07.000+00:00 + postal_code: postal_code + status: null properties: - neon_postgres: - $ref: '#/components/schemas/NeonPostgresDatabase' + organization: + $ref: '#/components/schemas/Organization' type: object - DeleteServiceReply: + UpdateOrganizationReply: + example: + organization: + status_message: null + country: country + city: city + vat_number: vat_number + plan_updated_at: 2000-01-23T04:56:07.000+00:00 + has_payment_method: true + trialing: true + subscription_id: subscription_id + signup_qualification: "{}" + reprocess_after: 2000-01-23T04:56:07.000+00:00 + billing_email: billing_email + company: true + id: id + state: state + plan: null + current_subscription_id: current_subscription_id + qualifies_for_hobby23: true + address2: address2 + trial_starts_at: 2000-01-23T04:56:07.000+00:00 + address1: address1 + verified: true + billing_name: billing_name + deactivation_reason: null + name: name + latest_subscription_id: latest_subscription_id + trial_ends_at: 2000-01-23T04:56:07.000+00:00 + postal_code: postal_code + status: null + properties: + organization: + $ref: '#/components/schemas/Organization' type: object - Deployment: + UpdatePasswordRequest: example: - metadata: - database: - neon_postgres: - reset_role_passwords: - - reset_role_passwords - - reset_role_passwords - git: - last_provisioned_deployment_id: last_provisioned_deployment_id - archive: - last_provisioned_deployment_id: last_provisioned_deployment_id - trigger: - actor: null - git: - sender_username: sender_username - provider: null - repository: repository - message: message - branch: branch - sha: sha - sender_avatar_url: sender_avatar_url - sender_profile_url: sender_profile_url - type: null - role: null + id: '...' + password: '...' + properties: + id: + type: string + password: + type: string + type: object + UpdateUserRequest.UserUpdateBody: + properties: + id: + type: string + email: + type: string + current_password: + type: string + password: + type: string + newsletter_subscribed: + type: boolean + name: + type: string + type: object + UpsertSignupQualificationReply: + example: + organization: + status_message: null + country: country + city: city + vat_number: vat_number + plan_updated_at: 2000-01-23T04:56:07.000+00:00 + has_payment_method: true + trialing: true + subscription_id: subscription_id + signup_qualification: "{}" + reprocess_after: 2000-01-23T04:56:07.000+00:00 + billing_email: billing_email + company: true + id: id + state: state + plan: null + current_subscription_id: current_subscription_id + qualifies_for_hobby23: true + address2: address2 + trial_starts_at: 2000-01-23T04:56:07.000+00:00 + address1: address1 + verified: true + billing_name: billing_name + deactivation_reason: null + name: name + latest_subscription_id: latest_subscription_id + trial_ends_at: 2000-01-23T04:56:07.000+00:00 + postal_code: postal_code + status: null + properties: + organization: + $ref: '#/components/schemas/Organization' + type: object + UserReply: + example: + user: + id: 78352123-a06f-4ec2-81ed-27a056725385 + email: john@snow.com + name: John Snow + avatar_url: https://www.gravatar.com/avatar/00000000000000000000000000000000 + is_admin: false + is_test: true + two_factor_authentication: false + last_login: 0001-01-01T00:00:00Z + last_login_id: 10.1.1.1 + updated_at: 0001-01-01T00:00:00Z + created_at: 0001-01-01T00:00:00Z + newsletter_subscribed: true + email_validated: true + properties: + user: + $ref: '#/components/schemas/User' + type: object + Activity: + example: + actor: + metadata: "{}" + deleted: true + name: name + id: id + type: type + metadata: "{}" + verb: verb created_at: 2000-01-23T04:56:07.000+00:00 - skip_build: true - version: version - succeeded_at: 2000-01-23T04:56:07.000+00:00 - updated_at: 2000-01-23T04:56:07.000+00:00 - child_id: child_id - provisioning_info: - image: image - stages: - - finished_at: 2000-01-23T04:56:07.000+00:00 - build_attempts: - - internal_failure: true - finished_at: 2000-01-23T04:56:07.000+00:00 - wait_completion: true - image_pushed: true - messages: - - messages - - messages - started_at: 2000-01-23T04:56:07.000+00:00 - id: 0 - steps: - - finished_at: 2000-01-23T04:56:07.000+00:00 - name: name - messages: - - messages - - messages - started_at: 2000-01-23T04:56:07.000+00:00 - status: null - - finished_at: 2000-01-23T04:56:07.000+00:00 - name: name - messages: - - messages - - messages - started_at: 2000-01-23T04:56:07.000+00:00 - status: null - status: null - retryable_failure: true - - internal_failure: true - finished_at: 2000-01-23T04:56:07.000+00:00 - wait_completion: true - image_pushed: true - messages: - - messages - - messages - started_at: 2000-01-23T04:56:07.000+00:00 - id: 0 - steps: - - finished_at: 2000-01-23T04:56:07.000+00:00 - name: name - messages: - - messages - - messages - started_at: 2000-01-23T04:56:07.000+00:00 - status: null - - finished_at: 2000-01-23T04:56:07.000+00:00 - name: name - messages: - - messages - - messages - started_at: 2000-01-23T04:56:07.000+00:00 - status: null - status: null - retryable_failure: true - name: name - messages: - - messages - - messages - started_at: 2000-01-23T04:56:07.000+00:00 - status: null - - finished_at: 2000-01-23T04:56:07.000+00:00 - build_attempts: - - internal_failure: true - finished_at: 2000-01-23T04:56:07.000+00:00 - wait_completion: true - image_pushed: true - messages: - - messages - - messages - started_at: 2000-01-23T04:56:07.000+00:00 - id: 0 - steps: - - finished_at: 2000-01-23T04:56:07.000+00:00 - name: name - messages: - - messages - - messages - started_at: 2000-01-23T04:56:07.000+00:00 - status: null - - finished_at: 2000-01-23T04:56:07.000+00:00 - name: name - messages: - - messages - - messages - started_at: 2000-01-23T04:56:07.000+00:00 - status: null - status: null - retryable_failure: true - - internal_failure: true - finished_at: 2000-01-23T04:56:07.000+00:00 - wait_completion: true - image_pushed: true - messages: - - messages - - messages - started_at: 2000-01-23T04:56:07.000+00:00 - id: 0 - steps: - - finished_at: 2000-01-23T04:56:07.000+00:00 - name: name - messages: - - messages - - messages - started_at: 2000-01-23T04:56:07.000+00:00 - status: null - - finished_at: 2000-01-23T04:56:07.000+00:00 - name: name - messages: - - messages - - messages - started_at: 2000-01-23T04:56:07.000+00:00 - status: null - status: null - retryable_failure: true + id: id + object: + metadata: "{}" + deleted: true + name: name + id: id + type: type + properties: + id: + type: string + actor: + $ref: '#/components/schemas/Object' + object: + $ref: '#/components/schemas/Object' + verb: + type: string + metadata: + properties: {} + type: object + created_at: + format: date-time + type: string + type: object + ActivityList: + example: + offset: 6 + activities: + - actor: + metadata: "{}" + deleted: true name: name - messages: - - messages - - messages - started_at: 2000-01-23T04:56:07.000+00:00 - status: null - sha: sha - deployment_group: deployment_group - parent_id: parent_id - organization_id: organization_id - service_id: service_id - started_at: 2000-01-23T04:56:07.000+00:00 - messages: - - messages - - messages - definition: - instance_types: - - scopes: - - scopes - - scopes - type: type - - scopes: - - scopes - - scopes + id: id type: type - regions: - - regions - - regions - volumes: - - path: path - replica_index: 1 + metadata: "{}" + verb: verb + created_at: 2000-01-23T04:56:07.000+00:00 + id: id + object: + metadata: "{}" + deleted: true + name: name id: id - scopes: - - scopes - - scopes - - path: path - replica_index: 1 + type: type + - actor: + metadata: "{}" + deleted: true + name: name id: id - scopes: - - scopes - - scopes - skip_cache: true - archive: + type: type + metadata: "{}" + verb: verb + created_at: 2000-01-23T04:56:07.000+00:00 + id: id + object: + metadata: "{}" + deleted: true + name: name id: id - buildpack: - privileged: true - run_command: run_command - build_command: build_command - docker: - args: - - args - - args - privileged: true - entrypoint: - - entrypoint - - entrypoint - dockerfile: dockerfile - command: command - target: target - type: null - ports: - - protocol: protocol - port: 6 - - protocol: protocol - port: 6 - env: - - scopes: - - scopes - - scopes - secret: secret - value: value - key: key - - scopes: - - scopes - - scopes - secret: secret - value: value - key: key - config_files: - - path: path - permissions: permissions - content: content - - path: path - permissions: permissions - content: content - docker: - args: - - args - - args - privileged: true - image: image - image_registry_secret: image_registry_secret - entrypoint: - - entrypoint - - entrypoint - command: command - routes: - - path: path - port: 0 - - path: path - port: 0 - database: - neon_postgres: - databases: - - owner: owner - name: name - - owner: owner - name: name - roles: - - name: name - secret: secret - - name: name - secret: secret - region: region - instance_type: instance_type - pg_version: 4 - git: - run_command: run_command - workdir: workdir - build_command: build_command - no_deploy_on_push: true - tag: tag - repository: repository - buildpack: - privileged: true - run_command: run_command - build_command: build_command - branch: branch - sha: sha - docker: - args: - - args - - args - privileged: true - entrypoint: - - entrypoint - - entrypoint - dockerfile: dockerfile - command: command - target: target - scalings: - - min: 1 - max: 5 - scopes: - - scopes - - scopes - targets: - - average_mem: - value: 2 - requests_per_second: - value: 7 - average_cpu: - value: 5 - requests_response_time: - quantile: 2 - value: 3 - concurrent_requests: - value: 9 - sleep_idle_delay: - value: 4 - - average_mem: - value: 2 - requests_per_second: - value: 7 - average_cpu: - value: 5 - requests_response_time: - quantile: 2 - value: 3 - concurrent_requests: - value: 9 - sleep_idle_delay: - value: 4 - - min: 1 - max: 5 - scopes: - - scopes - - scopes - targets: - - average_mem: - value: 2 - requests_per_second: - value: 7 - average_cpu: - value: 5 - requests_response_time: - quantile: 2 - value: 3 - concurrent_requests: - value: 9 - sleep_idle_delay: - value: 4 - - average_mem: - value: 2 - requests_per_second: - value: 7 - average_cpu: - value: 5 - requests_response_time: - quantile: 2 - value: 3 - concurrent_requests: - value: 9 - sleep_idle_delay: - value: 4 - health_checks: - - tcp: - port: 6 - restart_limit: 1 - http: - path: path - headers: - - value: value - key: key - - value: value - key: key - method: method - port: 7 - interval: 1 - grace_period: 7 - timeout: 1 - - tcp: - port: 6 - restart_limit: 1 - http: - path: path - headers: - - value: value - key: key - - value: value - key: key - method: method - port: 7 - interval: 1 - grace_period: 7 - timeout: 1 - name: name - strategy: - type: null + type: type + limit: 0 + has_next: true + properties: + activities: + items: + $ref: '#/components/schemas/Activity' + type: array + limit: + format: int64 + type: integer + offset: + format: int64 + type: integer + has_next: + type: boolean + type: object + Object: + example: + metadata: "{}" + deleted: true + name: name id: id - database_info: - neon_postgres: - endpoint_state: endpoint_state - endpoint_last_active: 2000-01-23T04:56:07.000+00:00 - server_host: server_host - roles: - - secret_id: secret_id - name: name - - secret_id: secret_id - name: name - written_data_bytes: written_data_bytes - data_transfer_bytes: data_transfer_bytes - default_branch_state: default_branch_state - active_time_seconds: active_time_seconds - default_branch_logical_size: default_branch_logical_size - default_branch_name: default_branch_name - server_port: 6 - default_branch_id: default_branch_id - compute_time_seconds: compute_time_seconds - data_storage_bytes_hour: data_storage_bytes_hour - app_id: app_id - terminated_at: 2000-01-23T04:56:07.000+00:00 - allocated_at: 2000-01-23T04:56:07.000+00:00 - status: null + type: type properties: id: type: string - created_at: - format: date-time - type: string - updated_at: - format: date-time - type: string - allocated_at: - format: date-time - type: string - started_at: - format: date-time - type: string - succeeded_at: - format: date-time - type: string - terminated_at: - format: date-time - type: string - organization_id: - type: string - app_id: - type: string - service_id: - type: string - parent_id: + name: type: string - child_id: + type: type: string - status: - $ref: '#/components/schemas/Deployment.Status' metadata: - $ref: '#/components/schemas/DeploymentMetadata' - definition: - $ref: '#/components/schemas/DeploymentDefinition' - messages: - items: - type: string - type: array - provisioning_info: - $ref: '#/components/schemas/DeploymentProvisioningInfo' - database_info: - $ref: '#/components/schemas/DeploymentDatabaseInfo' - skip_build: + properties: {} + type: object + deleted: type: boolean - role: - $ref: '#/components/schemas/Deployment.Role' - version: - format: uint64 - type: string - deployment_group: - type: string type: object - Deployment.Role: + Empty: + type: object + kgitproxy.GithubInstallation.Status: default: INVALID enum: - INVALID - - ACTIVE - - UPCOMING - - CURRENT + - INSTALLED + - SUSPENDED + - DELETED type: string - Deployment.Status: - default: PENDING + kgitproxy.IndexingStatus: + default: INVALID_INDEXING_STATUS enum: - - PENDING - - PROVISIONING - - SCHEDULED - - CANCELING - - CANCELED - - ALLOCATING - - STARTING - - HEALTHY - - DEGRADED - - UNHEALTHY - - STOPPING - - STOPPED - - ERRORING - - ERROR - - STASHED - - SLEEPING + - INVALID_INDEXING_STATUS + - NOT_STARTED + - IN_PROGRESS + - COMPLETED type: string - DeploymentDatabaseInfo: + ConfirmPaymentAuthorizationReply: example: - neon_postgres: - endpoint_state: endpoint_state - endpoint_last_active: 2000-01-23T04:56:07.000+00:00 - server_host: server_host - roles: - - secret_id: secret_id - name: name - - secret_id: secret_id - name: name - written_data_bytes: written_data_bytes - data_transfer_bytes: data_transfer_bytes - default_branch_state: default_branch_state - active_time_seconds: active_time_seconds - default_branch_logical_size: default_branch_logical_size - default_branch_name: default_branch_name - server_port: 6 - default_branch_id: default_branch_id - compute_time_seconds: compute_time_seconds - data_storage_bytes_hour: data_storage_bytes_hour + payment_method: + authorization_stripe_payment_intent_id: authorization_stripe_payment_intent_id + authorization_canceled_at: 2000-01-23T04:56:07.000+00:00 + created_at: 2000-01-23T04:56:07.000+00:00 + type: type + card_last_digits: card_last_digits + version: version + card_expiration_year: 6 + card_fingerprint: card_fingerprint + updated_at: 2000-01-23T04:56:07.000+00:00 + provider: provider + card_country: card_country + organization_id: organization_id + authorization_verified_at: 2000-01-23T04:56:07.000+00:00 + card_funding: card_funding + card_brand: card_brand + card_expiration_month: 0 + messages: + - messages + - messages + id: id + stripe_payment_method_id: stripe_payment_method_id + authorization_stripe_payment_intent_client_secret: authorization_stripe_payment_intent_client_secret + status: null properties: - neon_postgres: - $ref: '#/components/schemas/DeploymentNeonPostgresDatabaseInfo' + payment_method: + $ref: '#/components/schemas/PaymentMethod' type: object - DeploymentDefinition: + CreatePaymentAuthorizationReply: example: - instance_types: - - scopes: - - scopes - - scopes + payment_method: + authorization_stripe_payment_intent_id: authorization_stripe_payment_intent_id + authorization_canceled_at: 2000-01-23T04:56:07.000+00:00 + created_at: 2000-01-23T04:56:07.000+00:00 type: type - - scopes: - - scopes - - scopes + card_last_digits: card_last_digits + version: version + card_expiration_year: 6 + card_fingerprint: card_fingerprint + updated_at: 2000-01-23T04:56:07.000+00:00 + provider: provider + card_country: card_country + organization_id: organization_id + authorization_verified_at: 2000-01-23T04:56:07.000+00:00 + card_funding: card_funding + card_brand: card_brand + card_expiration_month: 0 + messages: + - messages + - messages + id: id + stripe_payment_method_id: stripe_payment_method_id + authorization_stripe_payment_intent_client_secret: authorization_stripe_payment_intent_client_secret + status: null + properties: + payment_method: + $ref: '#/components/schemas/PaymentMethod' + type: object + CreatePaymentAuthorizationRequest: + type: object + DeletePaymentMethodReply: + type: object + GetPaymentMethodReply: + example: + payment_method: + authorization_stripe_payment_intent_id: authorization_stripe_payment_intent_id + authorization_canceled_at: 2000-01-23T04:56:07.000+00:00 + created_at: 2000-01-23T04:56:07.000+00:00 type: type - regions: - - regions - - regions - volumes: - - path: path - replica_index: 1 + card_last_digits: card_last_digits + version: version + card_expiration_year: 6 + card_fingerprint: card_fingerprint + updated_at: 2000-01-23T04:56:07.000+00:00 + provider: provider + card_country: card_country + organization_id: organization_id + authorization_verified_at: 2000-01-23T04:56:07.000+00:00 + card_funding: card_funding + card_brand: card_brand + card_expiration_month: 0 + messages: + - messages + - messages id: id - scopes: - - scopes - - scopes - - path: path - replica_index: 1 + stripe_payment_method_id: stripe_payment_method_id + authorization_stripe_payment_intent_client_secret: authorization_stripe_payment_intent_client_secret + status: null + properties: + payment_method: + $ref: '#/components/schemas/PaymentMethod' + type: object + ListPaymentMethodsReply: + example: + payment_methods: + - authorization_stripe_payment_intent_id: authorization_stripe_payment_intent_id + authorization_canceled_at: 2000-01-23T04:56:07.000+00:00 + created_at: 2000-01-23T04:56:07.000+00:00 + type: type + card_last_digits: card_last_digits + version: version + card_expiration_year: 6 + card_fingerprint: card_fingerprint + updated_at: 2000-01-23T04:56:07.000+00:00 + provider: provider + card_country: card_country + organization_id: organization_id + authorization_verified_at: 2000-01-23T04:56:07.000+00:00 + card_funding: card_funding + card_brand: card_brand + card_expiration_month: 0 + messages: + - messages + - messages id: id - scopes: - - scopes - - scopes - skip_cache: true - archive: + stripe_payment_method_id: stripe_payment_method_id + authorization_stripe_payment_intent_client_secret: authorization_stripe_payment_intent_client_secret + status: null + - authorization_stripe_payment_intent_id: authorization_stripe_payment_intent_id + authorization_canceled_at: 2000-01-23T04:56:07.000+00:00 + created_at: 2000-01-23T04:56:07.000+00:00 + type: type + card_last_digits: card_last_digits + version: version + card_expiration_year: 6 + card_fingerprint: card_fingerprint + updated_at: 2000-01-23T04:56:07.000+00:00 + provider: provider + card_country: card_country + organization_id: organization_id + authorization_verified_at: 2000-01-23T04:56:07.000+00:00 + card_funding: card_funding + card_brand: card_brand + card_expiration_month: 0 + messages: + - messages + - messages id: id - buildpack: - privileged: true - run_command: run_command - build_command: build_command - docker: - args: - - args - - args - privileged: true - entrypoint: - - entrypoint - - entrypoint - dockerfile: dockerfile - command: command - target: target - type: null - ports: - - protocol: protocol - port: 6 - - protocol: protocol - port: 6 - env: - - scopes: - - scopes - - scopes - secret: secret - value: value - key: key - - scopes: - - scopes - - scopes - secret: secret - value: value - key: key - config_files: - - path: path - permissions: permissions - content: content - - path: path - permissions: permissions - content: content - docker: - args: - - args - - args - privileged: true - image: image - image_registry_secret: image_registry_secret - entrypoint: - - entrypoint - - entrypoint - command: command - routes: - - path: path - port: 0 - - path: path - port: 0 - database: - neon_postgres: - databases: - - owner: owner - name: name - - owner: owner - name: name - roles: - - name: name - secret: secret - - name: name - secret: secret - region: region - instance_type: instance_type - pg_version: 4 - git: - run_command: run_command - workdir: workdir - build_command: build_command - no_deploy_on_push: true - tag: tag - repository: repository - buildpack: - privileged: true - run_command: run_command - build_command: build_command - branch: branch - sha: sha - docker: - args: - - args - - args - privileged: true - entrypoint: - - entrypoint - - entrypoint - dockerfile: dockerfile - command: command - target: target - scalings: - - min: 1 - max: 5 - scopes: - - scopes - - scopes - targets: - - average_mem: - value: 2 - requests_per_second: - value: 7 - average_cpu: - value: 5 - requests_response_time: - quantile: 2 - value: 3 - concurrent_requests: - value: 9 - sleep_idle_delay: - value: 4 - - average_mem: - value: 2 - requests_per_second: - value: 7 - average_cpu: - value: 5 - requests_response_time: - quantile: 2 - value: 3 - concurrent_requests: - value: 9 - sleep_idle_delay: - value: 4 - - min: 1 - max: 5 - scopes: - - scopes - - scopes - targets: - - average_mem: - value: 2 - requests_per_second: - value: 7 - average_cpu: - value: 5 - requests_response_time: - quantile: 2 - value: 3 - concurrent_requests: - value: 9 - sleep_idle_delay: - value: 4 - - average_mem: - value: 2 - requests_per_second: - value: 7 - average_cpu: - value: 5 - requests_response_time: - quantile: 2 - value: 3 - concurrent_requests: - value: 9 - sleep_idle_delay: - value: 4 - health_checks: - - tcp: - port: 6 - restart_limit: 1 - http: - path: path - headers: - - value: value - key: key - - value: value - key: key - method: method - port: 7 - interval: 1 - grace_period: 7 - timeout: 1 - - tcp: - port: 6 - restart_limit: 1 - http: - path: path - headers: - - value: value - key: key - - value: value - key: key - method: method - port: 7 - interval: 1 - grace_period: 7 - timeout: 1 - name: name - strategy: - type: null - properties: - name: - type: string - type: - $ref: '#/components/schemas/DeploymentDefinition.Type' - strategy: - $ref: '#/components/schemas/DeploymentStrategy' - routes: - items: - $ref: '#/components/schemas/DeploymentRoute' - type: array - ports: - items: - $ref: '#/components/schemas/DeploymentPort' - type: array - env: - items: - $ref: '#/components/schemas/DeploymentEnv' - type: array - regions: - items: - type: string - type: array - scalings: - items: - $ref: '#/components/schemas/DeploymentScaling' - type: array - instance_types: - items: - $ref: '#/components/schemas/DeploymentInstanceType' - type: array - health_checks: - items: - $ref: '#/components/schemas/DeploymentHealthCheck' - type: array - volumes: - items: - $ref: '#/components/schemas/DeploymentVolume' - type: array - config_files: - items: - $ref: '#/components/schemas/ConfigFile' - type: array - skip_cache: - type: boolean - docker: - $ref: '#/components/schemas/DockerSource' - git: - $ref: '#/components/schemas/GitSource' - database: - $ref: '#/components/schemas/DatabaseSource' - archive: - $ref: '#/components/schemas/ArchiveSource' - type: object - DeploymentDefinition.Type: - default: INVALID - enum: - - INVALID - - WEB - - WORKER - - DATABASE - type: string - DeploymentEnv: - example: - scopes: - - scopes - - scopes - secret: secret - value: value - key: key + stripe_payment_method_id: stripe_payment_method_id + authorization_stripe_payment_intent_client_secret: authorization_stripe_payment_intent_client_secret + status: null + offset: 5 + limit: 1 + count: 5 properties: - scopes: + payment_methods: items: - type: string + $ref: '#/components/schemas/PaymentMethod' + title: The collection of payment methods type: array - key: - type: string - value: - type: string - secret: - type: string - type: object - DeploymentHealthCheck: - example: - tcp: - port: 6 - restart_limit: 1 - http: - path: path - headers: - - value: value - key: key - - value: value - key: key - method: method - port: 7 - interval: 1 - grace_period: 7 - timeout: 1 - properties: - grace_period: - format: int64 - title: "An optional initial period in seconds to wait for the instance to\ - \ become healthy, default is 5s" - type: integer - interval: + limit: format: int64 - title: "An optional period in seconds between two health checks, default\ - \ is 60s" + title: The limit in the request type: integer - restart_limit: + offset: format: int64 - title: "An optional number of consecutive failures before attempting to\ - \ restart the service, default is 3" + title: The offset in the request type: integer - timeout: + count: format: int64 - title: "An optional maximum time to wait in seconds before considering the\ - \ check as a failure, default is 5s" + title: The total number of items type: integer - tcp: - $ref: '#/components/schemas/TCPHealthCheck' - http: - $ref: '#/components/schemas/HTTPHealthCheck' type: object - DeploymentInstanceType: + PaymentMethod: example: - scopes: - - scopes - - scopes + authorization_stripe_payment_intent_id: authorization_stripe_payment_intent_id + authorization_canceled_at: 2000-01-23T04:56:07.000+00:00 + created_at: 2000-01-23T04:56:07.000+00:00 type: type + card_last_digits: card_last_digits + version: version + card_expiration_year: 6 + card_fingerprint: card_fingerprint + updated_at: 2000-01-23T04:56:07.000+00:00 + provider: provider + card_country: card_country + organization_id: organization_id + authorization_verified_at: 2000-01-23T04:56:07.000+00:00 + card_funding: card_funding + card_brand: card_brand + card_expiration_month: 0 + messages: + - messages + - messages + id: id + stripe_payment_method_id: stripe_payment_method_id + authorization_stripe_payment_intent_client_secret: authorization_stripe_payment_intent_client_secret + status: null properties: - scopes: - items: - type: string - type: array - type: - type: string - type: object - DeploymentMetadata: - example: - database: - neon_postgres: - reset_role_passwords: - - reset_role_passwords - - reset_role_passwords - git: - last_provisioned_deployment_id: last_provisioned_deployment_id - archive: - last_provisioned_deployment_id: last_provisioned_deployment_id - trigger: - actor: null - git: - sender_username: sender_username - provider: null - repository: repository - message: message - branch: branch - sha: sha - sender_avatar_url: sender_avatar_url - sender_profile_url: sender_profile_url - type: null - properties: - trigger: - $ref: '#/components/schemas/TriggerDeploymentMetadata' - database: - $ref: '#/components/schemas/DatabaseDeploymentMetadata' - git: - $ref: '#/components/schemas/GitDeploymentMetadata' - archive: - $ref: '#/components/schemas/ArchiveDeploymentMetadata' - type: object - DeploymentNeonPostgresDatabaseInfo: - example: - endpoint_state: endpoint_state - endpoint_last_active: 2000-01-23T04:56:07.000+00:00 - server_host: server_host - roles: - - secret_id: secret_id - name: name - - secret_id: secret_id - name: name - written_data_bytes: written_data_bytes - data_transfer_bytes: data_transfer_bytes - default_branch_state: default_branch_state - active_time_seconds: active_time_seconds - default_branch_logical_size: default_branch_logical_size - default_branch_name: default_branch_name - server_port: 6 - default_branch_id: default_branch_id - compute_time_seconds: compute_time_seconds - data_storage_bytes_hour: data_storage_bytes_hour - properties: - active_time_seconds: - format: int64 + id: type: string - compute_time_seconds: - format: int64 + created_at: + format: date-time type: string - written_data_bytes: - format: int64 + updated_at: + format: date-time type: string - data_transfer_bytes: - format: int64 + version: + format: uint64 type: string - data_storage_bytes_hour: - format: int64 + organization_id: type: string - server_host: + type: type: string - server_port: - format: int64 - type: integer - endpoint_state: + provider: type: string - endpoint_last_active: + status: + $ref: '#/components/schemas/PaymentMethod.Status' + messages: + items: + type: string + type: array + stripe_payment_method_id: + type: string + authorization_verified_at: format: date-time type: string - default_branch_id: + authorization_canceled_at: + format: date-time type: string - default_branch_name: + authorization_stripe_payment_intent_id: type: string - default_branch_state: + authorization_stripe_payment_intent_client_secret: type: string - default_branch_logical_size: + card_brand: + type: string + card_country: + type: string + card_funding: + type: string + card_fingerprint: + type: string + card_last_digits: + type: string + card_expiration_month: + format: int64 + type: integer + card_expiration_year: + format: int64 + type: integer + type: object + PaymentMethod.Status: + default: INVALID + enum: + - INVALID + - CREATED + - AUTHORIZED + - DECLINED + - CANCELED + - EXPIRED + - UNCHECKED + type: string + AppsSummary: + example: + total: total + by_status: + key: by_status + properties: + total: format: int64 + title: Total number of apps type: string - roles: - items: - $ref: '#/components/schemas/DeploymentNeonPostgresDatabaseInfoRole' - type: array + by_status: + additionalProperties: + format: int64 + type: string + title: Number of apps grouped by status + type: object type: object - DeploymentNeonPostgresDatabaseInfoRole: + DomainsSummary: example: - secret_id: secret_id - name: name + total: total + by_status: + key: by_status properties: - name: + total: + format: int64 + title: Total number of domains type: string - secret_id: + by_status: + additionalProperties: + format: int64 + type: string + title: Number of domains grouped by status + type: object + type: object + GetOrganizationSummaryReply: + example: + summary: + instances: + total: total + by_type: + key: by_type + organization_id: organization_id + members: + total: total + invitations_by_status: + key: invitations_by_status + domains: + total: total + by_status: + key: by_status + neon_postgres: + total: total + by_instance_type: + key: by_instance_type + services: + key: + total: total + by_status: + key: by_status + secrets: + total: total + by_type: + key: by_type + apps: + total: total + by_status: + key: by_status + properties: + summary: + $ref: '#/components/schemas/OrganizationSummary' + type: object + InstancesSummary: + example: + total: total + by_type: + key: by_type + properties: + total: + format: int64 + title: Total number of instances type: string + by_type: + additionalProperties: + format: int64 + type: string + title: Number of instances grouped by type + type: object type: object - DeploymentPort: + MembersSummary: example: - protocol: protocol - port: 6 + total: total + invitations_by_status: + key: invitations_by_status properties: - port: + total: format: int64 - type: integer - protocol: - title: "One of http, http2, tcp" + title: Number of members type: string + invitations_by_status: + additionalProperties: + format: int64 + type: string + title: Number of invitations grouped by status + type: object type: object - DeploymentProvisioningInfo: + NeonPostgresSummary: example: - image: image - stages: - - finished_at: 2000-01-23T04:56:07.000+00:00 - build_attempts: - - internal_failure: true - finished_at: 2000-01-23T04:56:07.000+00:00 - wait_completion: true - image_pushed: true - messages: - - messages - - messages - started_at: 2000-01-23T04:56:07.000+00:00 - id: 0 - steps: - - finished_at: 2000-01-23T04:56:07.000+00:00 - name: name - messages: - - messages - - messages - started_at: 2000-01-23T04:56:07.000+00:00 - status: null - - finished_at: 2000-01-23T04:56:07.000+00:00 - name: name - messages: - - messages - - messages - started_at: 2000-01-23T04:56:07.000+00:00 - status: null - status: null - retryable_failure: true - - internal_failure: true - finished_at: 2000-01-23T04:56:07.000+00:00 - wait_completion: true - image_pushed: true - messages: - - messages - - messages - started_at: 2000-01-23T04:56:07.000+00:00 - id: 0 - steps: - - finished_at: 2000-01-23T04:56:07.000+00:00 - name: name - messages: - - messages - - messages - started_at: 2000-01-23T04:56:07.000+00:00 - status: null - - finished_at: 2000-01-23T04:56:07.000+00:00 - name: name - messages: - - messages - - messages - started_at: 2000-01-23T04:56:07.000+00:00 - status: null - status: null - retryable_failure: true - name: name - messages: - - messages - - messages - started_at: 2000-01-23T04:56:07.000+00:00 - status: null - - finished_at: 2000-01-23T04:56:07.000+00:00 - build_attempts: - - internal_failure: true - finished_at: 2000-01-23T04:56:07.000+00:00 - wait_completion: true - image_pushed: true - messages: - - messages - - messages - started_at: 2000-01-23T04:56:07.000+00:00 - id: 0 - steps: - - finished_at: 2000-01-23T04:56:07.000+00:00 - name: name - messages: - - messages - - messages - started_at: 2000-01-23T04:56:07.000+00:00 - status: null - - finished_at: 2000-01-23T04:56:07.000+00:00 - name: name - messages: - - messages - - messages - started_at: 2000-01-23T04:56:07.000+00:00 - status: null - status: null - retryable_failure: true - - internal_failure: true - finished_at: 2000-01-23T04:56:07.000+00:00 - wait_completion: true - image_pushed: true - messages: - - messages - - messages - started_at: 2000-01-23T04:56:07.000+00:00 - id: 0 - steps: - - finished_at: 2000-01-23T04:56:07.000+00:00 - name: name - messages: - - messages - - messages - started_at: 2000-01-23T04:56:07.000+00:00 - status: null - - finished_at: 2000-01-23T04:56:07.000+00:00 - name: name - messages: - - messages - - messages - started_at: 2000-01-23T04:56:07.000+00:00 - status: null - status: null - retryable_failure: true - name: name - messages: - - messages - - messages - started_at: 2000-01-23T04:56:07.000+00:00 - status: null - sha: sha + total: total + by_instance_type: + key: by_instance_type properties: - sha: - description: The git sha for this build (we resolve the reference at the - start of the build). + total: + format: int64 + title: Total number of databases type: string - image: - description: The docker image built as a result of this build. + by_instance_type: + additionalProperties: + format: int64 + type: string + title: Number of databases grouped by instance type + type: object + type: object + OrganizationSummary: + example: + instances: + total: total + by_type: + key: by_type + organization_id: organization_id + members: + total: total + invitations_by_status: + key: invitations_by_status + domains: + total: total + by_status: + key: by_status + neon_postgres: + total: total + by_instance_type: + key: by_instance_type + services: + key: + total: total + by_status: + key: by_status + secrets: + total: total + by_type: + key: by_type + apps: + total: total + by_status: + key: by_status + properties: + organization_id: type: string - stages: - description: Some info about the build. - items: - $ref: '#/components/schemas/DeploymentProvisioningInfo.Stage' - type: array + instances: + $ref: '#/components/schemas/InstancesSummary' + apps: + $ref: '#/components/schemas/AppsSummary' + services: + additionalProperties: + $ref: '#/components/schemas/ServiceSummary' + title: Number of services grouped by type + type: object + domains: + $ref: '#/components/schemas/DomainsSummary' + secrets: + $ref: '#/components/schemas/SecretsSummary' + neon_postgres: + $ref: '#/components/schemas/NeonPostgresSummary' + members: + $ref: '#/components/schemas/MembersSummary' type: object - DeploymentProvisioningInfo.Stage: + SecretsSummary: example: - finished_at: 2000-01-23T04:56:07.000+00:00 - build_attempts: - - internal_failure: true - finished_at: 2000-01-23T04:56:07.000+00:00 - wait_completion: true - image_pushed: true - messages: - - messages - - messages - started_at: 2000-01-23T04:56:07.000+00:00 - id: 0 - steps: - - finished_at: 2000-01-23T04:56:07.000+00:00 - name: name - messages: - - messages - - messages - started_at: 2000-01-23T04:56:07.000+00:00 - status: null - - finished_at: 2000-01-23T04:56:07.000+00:00 - name: name - messages: - - messages - - messages - started_at: 2000-01-23T04:56:07.000+00:00 - status: null - status: null - retryable_failure: true - - internal_failure: true - finished_at: 2000-01-23T04:56:07.000+00:00 - wait_completion: true - image_pushed: true - messages: - - messages - - messages - started_at: 2000-01-23T04:56:07.000+00:00 - id: 0 - steps: - - finished_at: 2000-01-23T04:56:07.000+00:00 - name: name - messages: - - messages - - messages - started_at: 2000-01-23T04:56:07.000+00:00 - status: null - - finished_at: 2000-01-23T04:56:07.000+00:00 - name: name - messages: - - messages - - messages - started_at: 2000-01-23T04:56:07.000+00:00 - status: null - status: null - retryable_failure: true - name: name - messages: - - messages - - messages - started_at: 2000-01-23T04:56:07.000+00:00 - status: null + total: total + by_type: + key: by_type properties: - name: + total: + format: int64 + title: Total number of secrets type: string - status: - $ref: '#/components/schemas/DeploymentProvisioningInfo.Stage.Status' - messages: - items: + by_type: + additionalProperties: + format: int64 type: string - type: array - started_at: - format: date-time - type: string - finished_at: - format: date-time + title: Number of secrets grouped by type + type: object + type: object + ServiceSummary: + example: + total: total + by_status: + key: by_status + properties: + total: + format: int64 + title: Total number of services type: string - build_attempts: - items: - $ref: '#/components/schemas/DeploymentProvisioningInfo.Stage.BuildAttempt' - type: array + by_status: + additionalProperties: + format: int64 + type: string + title: Number of services grouped by status + type: object type: object - DeploymentProvisioningInfo.Stage.BuildAttempt: + GetSubscriptionReply: example: - internal_failure: true - finished_at: 2000-01-23T04:56:07.000+00:00 - wait_completion: true - image_pushed: true - messages: - - messages - - messages - started_at: 2000-01-23T04:56:07.000+00:00 - id: 0 - steps: - - finished_at: 2000-01-23T04:56:07.000+00:00 - name: name - messages: - - messages - - messages - started_at: 2000-01-23T04:56:07.000+00:00 - status: null - - finished_at: 2000-01-23T04:56:07.000+00:00 - name: name + subscription: + payment_failure: + error_message: error_message + attempt_count: attempt_count + error_reason: error_reason + error_type: error_type + stripe_sdk: + client_secret_key: client_secret_key + raw_json: raw_json + error_code: error_code + failed_at: 2000-01-23T04:56:07.000+00:00 + next_attempt: 2000-01-23T04:56:07.000+00:00 + redirect_url: redirect_url + payment_method_required: true + amount_paid: amount_paid + amount_remaining: amount_remaining + terminate_at: 2000-01-23T04:56:07.000+00:00 + stripe_pending_invoice_id: stripe_pending_invoice_id + canceled_at: 2000-01-23T04:56:07.000+00:00 + created_at: 2000-01-23T04:56:07.000+00:00 + trialing: true + current_period_end: 2000-01-23T04:56:07.000+00:00 + version: version + amount_payable: amount_payable + updated_at: 2000-01-23T04:56:07.000+00:00 + organization_id: organization_id + stripe_subscription_id: stripe_subscription_id messages: - messages - messages - started_at: 2000-01-23T04:56:07.000+00:00 + current_spend: current_spend + currency: currency + trial_ends_at: 2000-01-23T04:56:07.000+00:00 + trial_max_spend: trial_max_spend + id: id + terminated_at: 2000-01-23T04:56:07.000+00:00 + current_period_start: 2000-01-23T04:56:07.000+00:00 status: null - status: null - retryable_failure: true + has_pending_update: true properties: - id: - format: int64 - type: integer - status: - $ref: '#/components/schemas/DeploymentProvisioningInfo.Stage.Status' - messages: - items: - type: string - type: array - started_at: - format: date-time - type: string - finished_at: - format: date-time - type: string - steps: - items: - $ref: '#/components/schemas/DeploymentProvisioningInfo.Stage.BuildAttempt.BuildStep' - type: array - image_pushed: - type: boolean - internal_failure: - type: boolean - retryable_failure: - type: boolean - wait_completion: - description: "This flag is used to finalize the build, and continue the\ - \ deployment in case of success, or cancel and potentially retry the build\ - \ in case of failure." - type: boolean + subscription: + $ref: '#/components/schemas/Subscription' type: object - DeploymentProvisioningInfo.Stage.BuildAttempt.BuildStep: + Subscription: example: - finished_at: 2000-01-23T04:56:07.000+00:00 - name: name + payment_failure: + error_message: error_message + attempt_count: attempt_count + error_reason: error_reason + error_type: error_type + stripe_sdk: + client_secret_key: client_secret_key + raw_json: raw_json + error_code: error_code + failed_at: 2000-01-23T04:56:07.000+00:00 + next_attempt: 2000-01-23T04:56:07.000+00:00 + redirect_url: redirect_url + payment_method_required: true + amount_paid: amount_paid + amount_remaining: amount_remaining + terminate_at: 2000-01-23T04:56:07.000+00:00 + stripe_pending_invoice_id: stripe_pending_invoice_id + canceled_at: 2000-01-23T04:56:07.000+00:00 + created_at: 2000-01-23T04:56:07.000+00:00 + trialing: true + current_period_end: 2000-01-23T04:56:07.000+00:00 + version: version + amount_payable: amount_payable + updated_at: 2000-01-23T04:56:07.000+00:00 + organization_id: organization_id + stripe_subscription_id: stripe_subscription_id messages: - messages - messages - started_at: 2000-01-23T04:56:07.000+00:00 + current_spend: current_spend + currency: currency + trial_ends_at: 2000-01-23T04:56:07.000+00:00 + trial_max_spend: trial_max_spend + id: id + terminated_at: 2000-01-23T04:56:07.000+00:00 + current_period_start: 2000-01-23T04:56:07.000+00:00 status: null + has_pending_update: true properties: - name: + id: + type: string + created_at: + format: date-time + type: string + updated_at: + format: date-time + type: string + version: + format: uint64 + type: string + organization_id: + type: string + stripe_subscription_id: type: string status: - $ref: '#/components/schemas/DeploymentProvisioningInfo.Stage.Status' + $ref: '#/components/schemas/Subscription.Status' messages: items: type: string type: array - started_at: + has_pending_update: + type: boolean + stripe_pending_invoice_id: + type: string + terminate_at: format: date-time type: string - finished_at: + canceled_at: + format: date-time + type: string + terminated_at: + format: date-time + type: string + current_period_start: + format: date-time + type: string + current_period_end: + format: date-time + type: string + currency: + type: string + amount_payable: + format: int64 + type: string + amount_paid: + format: int64 + type: string + amount_remaining: + format: int64 + type: string + payment_failure: + $ref: '#/components/schemas/Subscription.PaymentFailure' + trialing: + type: boolean + trial_ends_at: format: date-time type: string + trial_max_spend: + format: int64 + type: string + current_spend: + format: int64 + type: string type: object - DeploymentRoute: + Subscription.PaymentFailure: example: - path: path - port: 0 + error_message: error_message + attempt_count: attempt_count + error_reason: error_reason + error_type: error_type + stripe_sdk: + client_secret_key: client_secret_key + raw_json: raw_json + error_code: error_code + failed_at: 2000-01-23T04:56:07.000+00:00 + next_attempt: 2000-01-23T04:56:07.000+00:00 + redirect_url: redirect_url + payment_method_required: true properties: - port: + failed_at: + format: date-time + type: string + next_attempt: + format: date-time + type: string + attempt_count: format: int64 - type: integer - path: type: string + error_code: + type: string + error_reason: + type: string + error_type: + type: string + error_message: + type: string + payment_method_required: + type: boolean + redirect_url: + type: string + stripe_sdk: + $ref: '#/components/schemas/Subscription.PaymentFailure.StripeSDK' type: object - DeploymentScaling: + Subscription.PaymentFailure.StripeSDK: example: - min: 1 - max: 5 - scopes: - - scopes - - scopes - targets: - - average_mem: - value: 2 - requests_per_second: - value: 7 - average_cpu: - value: 5 - requests_response_time: - quantile: 2 - value: 3 - concurrent_requests: - value: 9 - sleep_idle_delay: - value: 4 - - average_mem: - value: 2 - requests_per_second: - value: 7 - average_cpu: - value: 5 - requests_response_time: - quantile: 2 - value: 3 - concurrent_requests: - value: 9 - sleep_idle_delay: - value: 4 - properties: - scopes: - items: - type: string - type: array - min: - format: int64 - type: integer - max: - format: int64 - type: integer - targets: - items: - $ref: '#/components/schemas/DeploymentScalingTarget' - type: array - type: object - DeploymentScalingTarget: - example: - average_mem: - value: 2 - requests_per_second: - value: 7 - average_cpu: - value: 5 - requests_response_time: - quantile: 2 - value: 3 - concurrent_requests: - value: 9 - sleep_idle_delay: - value: 4 + client_secret_key: client_secret_key + raw_json: raw_json properties: - average_cpu: - $ref: '#/components/schemas/DeploymentScalingTargetAverageCPU' - average_mem: - $ref: '#/components/schemas/DeploymentScalingTargetAverageMem' - requests_per_second: - $ref: '#/components/schemas/DeploymentScalingTargetRequestsPerSecond' - concurrent_requests: - $ref: '#/components/schemas/DeploymentScalingTargetConcurrentRequests' - requests_response_time: - $ref: '#/components/schemas/DeploymentScalingTargetRequestsResponseTime' - sleep_idle_delay: - $ref: '#/components/schemas/DeploymentScalingTargetSleepIdleDelay' + client_secret_key: + type: string + raw_json: + type: string type: object - DeploymentScalingTargetAverageCPU: + Subscription.Status: + default: INVALID + enum: + - INVALID + - CREATED + - ACTIVE + - WARNING + - URGENT + - CANCELING + - CANCELED + - TERMINATING + - TERMINATED + type: string + Notification: example: - value: 5 + is_read: true + activity: + actor: + metadata: "{}" + deleted: true + name: name + id: id + type: type + metadata: "{}" + verb: verb + created_at: 2000-01-23T04:56:07.000+00:00 + id: id + object: + metadata: "{}" + deleted: true + name: name + id: id + type: type + created_at: 2000-01-23T04:56:07.000+00:00 + id: id + is_seen: true properties: - value: - format: int64 - type: integer + id: + type: string + activity: + $ref: '#/components/schemas/Activity' + is_read: + type: boolean + is_seen: + type: boolean + created_at: + format: date-time + type: string type: object - DeploymentScalingTargetAverageMem: + NotificationList: example: - value: 2 + is_read: true + offset: 6 + unread: 5 + limit: 0 + count: 1 + is_seen: true + notifications: + - is_read: true + activity: + actor: + metadata: "{}" + deleted: true + name: name + id: id + type: type + metadata: "{}" + verb: verb + created_at: 2000-01-23T04:56:07.000+00:00 + id: id + object: + metadata: "{}" + deleted: true + name: name + id: id + type: type + created_at: 2000-01-23T04:56:07.000+00:00 + id: id + is_seen: true + - is_read: true + activity: + actor: + metadata: "{}" + deleted: true + name: name + id: id + type: type + metadata: "{}" + verb: verb + created_at: 2000-01-23T04:56:07.000+00:00 + id: id + object: + metadata: "{}" + deleted: true + name: name + id: id + type: type + created_at: 2000-01-23T04:56:07.000+00:00 + id: id + is_seen: true + unseen: 5 properties: - value: + notifications: + items: + $ref: '#/components/schemas/Notification' + type: array + limit: format: int64 type: integer - type: object - DeploymentScalingTargetConcurrentRequests: - example: - value: 9 - properties: - value: + offset: format: int64 type: integer - type: object - DeploymentScalingTargetRequestsPerSecond: - example: - value: 7 - properties: - value: + count: format: int64 type: integer - type: object - DeploymentScalingTargetRequestsResponseTime: - example: - quantile: 2 - value: 3 - properties: - value: + is_read: + type: boolean + is_seen: + type: boolean + unread: format: int64 type: integer - quantile: - description: |- - The quantile to use for autoscaling. For example, set to 95 to use the 95th - percentile (p95) for autoscaling. Valid values are between 0 and 100. + unseen: format: int64 type: integer type: object - DeploymentScalingTargetSleepIdleDelay: + ExecCommandIO: example: - value: 4 + data: data + close: true properties: - value: - description: |- - Delay in seconds after which a service which received 0 request is scaled to 0. - This is not configurable and must be set to 300 (5 minutes). Get in touch to - tune it. - format: int64 - type: integer + data: + description: Data is base64 encoded + format: byte + pattern: "^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$" + type: string + close: + description: Indicate last data frame + type: boolean type: object - DeploymentStrategy: + ExecCommandReply: example: - type: null + stdout: + data: data + close: true + exited: true + exit_code: 0 + stderr: + data: data + close: true properties: - type: - $ref: '#/components/schemas/DeploymentStrategyType' - type: object - DeploymentStrategyType: - default: DEPLOYMENT_STRATEGY_TYPE_INVALID - description: |2- - - DEPLOYMENT_STRATEGY_TYPE_INVALID: Invalid / Zero value. - - DEPLOYMENT_STRATEGY_TYPE_CANARY: Use canary strategy. - - DEPLOYMENT_STRATEGY_TYPE_ROLLING: Use rolling strategy. - - DEPLOYMENT_STRATEGY_TYPE_BLUE_GREEN: Use blue green strategy. - - DEPLOYMENT_STRATEGY_TYPE_IMMEDIATE: Use immediate strategy. + stdout: + $ref: '#/components/schemas/ExecCommandIO' + stderr: + $ref: '#/components/schemas/ExecCommandIO' + exited: + type: boolean + exit_code: + format: int32 + type: integer + type: object + ExecCommandRequest.Body: + properties: + command: + description: Command to exec. Mandatory in the first frame sent + items: + type: string + type: array + tty_size: + $ref: '#/components/schemas/ExecCommandRequest.TerminalSize' + stdin: + $ref: '#/components/schemas/ExecCommandIO' + disableTty: + description: Disable TTY. It's enough to specify it in the first frame + type: boolean + type: object + ExecCommandRequest.IdType: + default: INVALID enum: - - DEPLOYMENT_STRATEGY_TYPE_INVALID - - DEPLOYMENT_STRATEGY_TYPE_CANARY - - DEPLOYMENT_STRATEGY_TYPE_ROLLING - - DEPLOYMENT_STRATEGY_TYPE_BLUE_GREEN - - DEPLOYMENT_STRATEGY_TYPE_IMMEDIATE + - INVALID + - INSTANCE_ID + - SERVICE_ID type: string - DeploymentVolume: + ExecCommandRequest.TerminalSize: + properties: + height: + format: int32 + type: integer + width: + format: int32 + type: integer + type: object + LogEntry: example: - path: path - replica_index: 1 - id: id - scopes: - - scopes - - scopes + msg: msg + created_at: 2000-01-23T04:56:07.000+00:00 + labels: "{}" properties: - id: - title: the id of the volume + msg: type: string - path: - title: the path where the volume is mounted to + created_at: + format: date-time type: string - replica_index: - format: int64 - title: "optionally, explicitly choose the replica index to mount the volume\ - \ to" - type: integer - scopes: - items: - type: string - title: scope of the associated - type: array + labels: + properties: {} + type: object type: object - DesiredDeployment: + GetMetricsReply: example: - groups: - - name: name - deployment_ids: - - deployment_ids - - deployment_ids - - name: name - deployment_ids: - - deployment_ids - - deployment_ids + metrics: + - samples: + - value: 0.8008281904610115 + timestamp: timestamp + - value: 0.8008281904610115 + timestamp: timestamp + labels: + key: labels + - samples: + - value: 0.8008281904610115 + timestamp: timestamp + - value: 0.8008281904610115 + timestamp: timestamp + labels: + key: labels properties: - groups: + metrics: items: - $ref: '#/components/schemas/DesiredDeployment.Group' + $ref: '#/components/schemas/GetMetricsReply.Metric' type: array type: object - DesiredDeployment.Group: + GetMetricsReply.Metric: example: - name: name - deployment_ids: - - deployment_ids - - deployment_ids + samples: + - value: 0.8008281904610115 + timestamp: timestamp + - value: 0.8008281904610115 + timestamp: timestamp + labels: + key: labels properties: - name: - type: string - deployment_ids: - items: + labels: + additionalProperties: type: string + type: object + samples: + items: + $ref: '#/components/schemas/Sample' type: array type: object - DockerBuilder: + MetricName: + default: UNKNOWN + enum: + - UNKNOWN + - CPU_TOTAL_PERCENT + - MEM_RSS + - HTTP_THROUGHPUT + - HTTP_RESPONSE_TIME_50P + - HTTP_RESPONSE_TIME_90P + - HTTP_RESPONSE_TIME_99P + - HTTP_RESPONSE_TIME_MAX + - PUBLIC_DATA_TRANSFER_IN + - PUBLIC_DATA_TRANSFER_OUT + type: string + Sample: example: - args: - - args - - args - privileged: true - entrypoint: - - entrypoint - - entrypoint - dockerfile: dockerfile - command: command - target: target + value: 0.8008281904610115 + timestamp: timestamp properties: - dockerfile: - title: A path to the Dockerfile - type: string - entrypoint: - items: - type: string - title: The docker ENTRYPOINT - type: array - command: - title: The docker CMD - type: string - args: - items: - type: string - title: The docker CMD args - type: array - target: - title: The target for multi-stage builds + timestamp: type: string - privileged: - title: A flag to run the container in privileged mode + value: + format: double + type: number + type: object + CreateStageAttemptReply: + type: object + DeclareStageProgressReply: + type: object + DeclareStepProgressReply: + type: object + DeploymentProvisioningInfo.Stage.Status: + default: UNKNOWN + enum: + - UNKNOWN + - PENDING + - RUNNING + - FAILED + - COMPLETED + - ABORTED + type: string + ReviewOrganizationCapacityReply: + example: + has_capacity: true + properties: + has_capacity: type: boolean type: object - DockerSource: + ReviewOrganizationCapacityRequest: example: - args: - - args - - args - privileged: true - image: image - image_registry_secret: image_registry_secret - entrypoint: - - entrypoint - - entrypoint - command: command + plan: plan properties: - image: - type: string - command: + plan: type: string - args: - items: - type: string - type: array - image_registry_secret: + type: object + ArchiveDeploymentMetadata: + example: + last_provisioned_deployment_id: last_provisioned_deployment_id + properties: + last_provisioned_deployment_id: type: string - entrypoint: - items: - type: string - type: array - privileged: - title: A flag to run the container in privileged mode - type: boolean type: object - GetServiceReply: + ArchiveSource: example: - service: - created_at: 2000-01-23T04:56:07.000+00:00 - resumed_at: 2000-01-23T04:56:07.000+00:00 - type: null - version: version - last_provisioned_deployment_id: last_provisioned_deployment_id - succeeded_at: 2000-01-23T04:56:07.000+00:00 - paused_at: 2000-01-23T04:56:07.000+00:00 - updated_at: 2000-01-23T04:56:07.000+00:00 - organization_id: organization_id - name: name - started_at: 2000-01-23T04:56:07.000+00:00 - messages: - - messages - - messages - active_deployment_id: active_deployment_id - id: id - state: - desired_deployment: - groups: - - name: name - deployment_ids: - - deployment_ids - - deployment_ids - - name: name - deployment_ids: - - deployment_ids - - deployment_ids - auto_release: - groups: - - latest_sha: latest_sha - name: name - git_ref: git_ref - repository: repository - - latest_sha: latest_sha - name: name - git_ref: git_ref - repository: repository - app_id: app_id - terminated_at: 2000-01-23T04:56:07.000+00:00 - latest_deployment_id: latest_deployment_id - status: null - properties: - service: - $ref: '#/components/schemas/Service' - type: object - GitDeploymentMetadata: - example: - last_provisioned_deployment_id: last_provisioned_deployment_id - properties: - last_provisioned_deployment_id: - type: string - type: object - GitSource: - example: - run_command: run_command - workdir: workdir - build_command: build_command - no_deploy_on_push: true - tag: tag - repository: repository + id: id buildpack: privileged: true run_command: run_command build_command: build_command - branch: branch - sha: sha docker: args: - args @@ -14471,1049 +13409,1001 @@ components: command: command target: target properties: - repository: - description: "A url to a git repository (contains the provider as well)\ - \ .e.g: github.com/koyeb/test." - type: string - branch: - title: A git branch that will be tracked for new commits and deployments - will be created - type: string - tag: - title: A git tag that should be built - type: string - sha: - title: "A git commit that should be built (useful for pinning to a commit,\ - \ this will always be set when a deployment is created by a code push)" - type: string - build_command: - title: "A command used to override the build command, run after all build\ - \ steps — deprecated, use buildpack.build_command instead" - type: string - run_command: - title: "A command used to override the default run command - deprecated,\ - \ use buildpack.run_command instead" - type: string - no_deploy_on_push: - title: A flag to disable a new deployment when a push event is detected - type: boolean - workdir: - title: A subdirectory to use as the build directory + id: + title: The ID of the archive to deploy type: string buildpack: $ref: '#/components/schemas/BuildpackBuilder' docker: $ref: '#/components/schemas/DockerBuilder' type: object - HTTPHeader: + BuildpackBuilder: example: - value: value - key: key + privileged: true + run_command: run_command + build_command: build_command properties: - key: + build_command: + title: "A command used to override the build command, run after all build\ + \ steps" type: string - value: + run_command: + title: A command used to override the default run command type: string + privileged: + title: A flag to run the container in privileged mode + type: boolean type: object - HTTPHealthCheck: + CancelDeploymentReply: + type: object + ConfigFile: example: path: path - headers: - - value: value - key: key - - value: value - key: key - method: method - port: 7 + permissions: permissions + content: content properties: - port: - format: int64 - title: "The port to use to perform the health check, must be declared in\ - \ the ports section" - type: integer path: - title: The path to use to perform the HTTP health check + title: the path where the file is copied type: string - method: - title: "An optional HTTP method to use to perform the health check, default\ - \ is GET" + permissions: + title: the permissions of the file in format 0644 + type: string + content: + title: the content of the file type: string - headers: - items: - $ref: '#/components/schemas/HTTPHeader' - title: "An optional list of HTTP headers to provide when performing the\ - \ request, default is empty" - type: array type: object - ListServiceEventsReply: + DatabaseDeploymentMetadata: example: - offset: 6 - limit: 0 - has_next: true - events: - - metadata: "{}" - organization_id: organization_id - service_id: service_id - id: id - type: type - message: message - when: 2000-01-23T04:56:07.000+00:00 - - metadata: "{}" - organization_id: organization_id - service_id: service_id - id: id - type: type - message: message - when: 2000-01-23T04:56:07.000+00:00 - order: order + neon_postgres: + reset_role_passwords: + - reset_role_passwords + - reset_role_passwords properties: - events: - items: - $ref: '#/components/schemas/ServiceEvent' - title: The collection of events - type: array - limit: - format: int64 - title: The limit in the request - type: integer - offset: - format: int64 - title: The offset in the request - type: integer - order: - title: The order in the request - type: string - has_next: - title: If there is more items after in the collection - type: boolean + neon_postgres: + $ref: '#/components/schemas/NeonPostgresDatabaseDeploymentMetadata' type: object - ListServicesReply: + DatabaseSource: example: - offset: 6 - limit: 0 - count: 1 - has_next: true - services: - - created_at: 2000-01-23T04:56:07.000+00:00 - type: null - version: version - updated_at: 2000-01-23T04:56:07.000+00:00 - organization_id: organization_id - name: name - messages: - - messages - - messages - active_deployment_id: active_deployment_id - id: id - state: - desired_deployment: - groups: - - name: name - deployment_ids: - - deployment_ids - - deployment_ids - - name: name - deployment_ids: - - deployment_ids - - deployment_ids - auto_release: - groups: - - latest_sha: latest_sha - name: name - git_ref: git_ref - repository: repository - - latest_sha: latest_sha - name: name - git_ref: git_ref - repository: repository - app_id: app_id - latest_deployment_id: latest_deployment_id - status: null - - created_at: 2000-01-23T04:56:07.000+00:00 - type: null - version: version - updated_at: 2000-01-23T04:56:07.000+00:00 - organization_id: organization_id - name: name - messages: - - messages - - messages - active_deployment_id: active_deployment_id - id: id - state: - desired_deployment: - groups: - - name: name - deployment_ids: - - deployment_ids - - deployment_ids - - name: name - deployment_ids: - - deployment_ids - - deployment_ids - auto_release: - groups: - - latest_sha: latest_sha - name: name - git_ref: git_ref - repository: repository - - latest_sha: latest_sha - name: name - git_ref: git_ref - repository: repository - app_id: app_id - latest_deployment_id: latest_deployment_id - status: null - properties: - services: - items: - $ref: '#/components/schemas/ServiceListItem' - type: array - limit: - format: int64 - title: The limit in the request - type: integer - offset: - format: int64 - title: The offset in the request - type: integer - count: - format: int64 - title: The total number of items - type: integer - has_next: - title: If there is more items after in the collection - type: boolean - type: object - NeonPostgresDatabase: - example: - databases: - - owner: owner - name: name - - owner: owner - name: name - roles: - - name: name - secret: secret - - name: name - secret: secret - region: region - instance_type: instance_type - pg_version: 4 - properties: - pg_version: - format: int64 - type: integer - region: - type: string - instance_type: - type: string - roles: - items: - $ref: '#/components/schemas/NeonPostgresDatabase.NeonRole' - type: array - databases: - items: - $ref: '#/components/schemas/NeonPostgresDatabase.NeonDatabase' - type: array - type: object - NeonPostgresDatabase.NeonDatabase: - example: - owner: owner - name: name - properties: - name: - type: string - owner: - type: string - type: object - NeonPostgresDatabase.NeonRole: - example: - name: name - secret: secret - properties: - name: - type: string - secret: - type: string - type: object - NeonPostgresDatabaseDeploymentMetadata: - example: - reset_role_passwords: - - reset_role_passwords - - reset_role_passwords + neon_postgres: + databases: + - owner: owner + name: name + - owner: owner + name: name + roles: + - name: name + secret: secret + - name: name + secret: secret + region: region + instance_type: instance_type + pg_version: 4 properties: - reset_role_passwords: - items: - type: string - type: array - type: object - PauseServiceReply: + neon_postgres: + $ref: '#/components/schemas/NeonPostgresDatabase' type: object - RedeployReply: + Deployment: example: - deployment: - metadata: - database: - neon_postgres: - reset_role_passwords: - - reset_role_passwords - - reset_role_passwords + metadata: + database: + neon_postgres: + reset_role_passwords: + - reset_role_passwords + - reset_role_passwords + git: + last_provisioned_deployment_id: last_provisioned_deployment_id + archive: + last_provisioned_deployment_id: last_provisioned_deployment_id + trigger: + actor: null git: - last_provisioned_deployment_id: last_provisioned_deployment_id - archive: - last_provisioned_deployment_id: last_provisioned_deployment_id - trigger: - actor: null - git: - sender_username: sender_username - provider: null - repository: repository - message: message - branch: branch - sha: sha - sender_avatar_url: sender_avatar_url - sender_profile_url: sender_profile_url - type: null - role: null - created_at: 2000-01-23T04:56:07.000+00:00 - skip_build: true - version: version - succeeded_at: 2000-01-23T04:56:07.000+00:00 - updated_at: 2000-01-23T04:56:07.000+00:00 - child_id: child_id - provisioning_info: - image: image - stages: - - finished_at: 2000-01-23T04:56:07.000+00:00 - build_attempts: - - internal_failure: true - finished_at: 2000-01-23T04:56:07.000+00:00 - wait_completion: true - image_pushed: true + sender_username: sender_username + provider: null + repository: repository + message: message + branch: branch + sha: sha + sender_avatar_url: sender_avatar_url + sender_profile_url: sender_profile_url + type: null + role: null + created_at: 2000-01-23T04:56:07.000+00:00 + skip_build: true + version: version + succeeded_at: 2000-01-23T04:56:07.000+00:00 + updated_at: 2000-01-23T04:56:07.000+00:00 + child_id: child_id + provisioning_info: + image: image + stages: + - finished_at: 2000-01-23T04:56:07.000+00:00 + build_attempts: + - internal_failure: true + finished_at: 2000-01-23T04:56:07.000+00:00 + wait_completion: true + image_pushed: true + messages: + - messages + - messages + started_at: 2000-01-23T04:56:07.000+00:00 + id: 5 + steps: + - finished_at: 2000-01-23T04:56:07.000+00:00 + name: name messages: - messages - messages started_at: 2000-01-23T04:56:07.000+00:00 - id: 0 - steps: - - finished_at: 2000-01-23T04:56:07.000+00:00 - name: name - messages: - - messages - - messages - started_at: 2000-01-23T04:56:07.000+00:00 - status: null - - finished_at: 2000-01-23T04:56:07.000+00:00 - name: name - messages: - - messages - - messages - started_at: 2000-01-23T04:56:07.000+00:00 - status: null status: null - retryable_failure: true - - internal_failure: true - finished_at: 2000-01-23T04:56:07.000+00:00 - wait_completion: true - image_pushed: true + - finished_at: 2000-01-23T04:56:07.000+00:00 + name: name messages: - messages - messages started_at: 2000-01-23T04:56:07.000+00:00 - id: 0 - steps: - - finished_at: 2000-01-23T04:56:07.000+00:00 - name: name - messages: - - messages - - messages - started_at: 2000-01-23T04:56:07.000+00:00 - status: null - - finished_at: 2000-01-23T04:56:07.000+00:00 - name: name - messages: - - messages - - messages - started_at: 2000-01-23T04:56:07.000+00:00 - status: null status: null - retryable_failure: true - name: name + status: null + retryable_failure: true + - internal_failure: true + finished_at: 2000-01-23T04:56:07.000+00:00 + wait_completion: true + image_pushed: true messages: - messages - messages started_at: 2000-01-23T04:56:07.000+00:00 - status: null - - finished_at: 2000-01-23T04:56:07.000+00:00 - build_attempts: - - internal_failure: true - finished_at: 2000-01-23T04:56:07.000+00:00 - wait_completion: true - image_pushed: true + id: 5 + steps: + - finished_at: 2000-01-23T04:56:07.000+00:00 + name: name messages: - messages - messages started_at: 2000-01-23T04:56:07.000+00:00 - id: 0 - steps: - - finished_at: 2000-01-23T04:56:07.000+00:00 - name: name - messages: - - messages - - messages - started_at: 2000-01-23T04:56:07.000+00:00 - status: null - - finished_at: 2000-01-23T04:56:07.000+00:00 - name: name - messages: - - messages - - messages - started_at: 2000-01-23T04:56:07.000+00:00 - status: null status: null - retryable_failure: true - - internal_failure: true - finished_at: 2000-01-23T04:56:07.000+00:00 - wait_completion: true - image_pushed: true + - finished_at: 2000-01-23T04:56:07.000+00:00 + name: name messages: - messages - messages started_at: 2000-01-23T04:56:07.000+00:00 - id: 0 - steps: - - finished_at: 2000-01-23T04:56:07.000+00:00 - name: name - messages: - - messages - - messages - started_at: 2000-01-23T04:56:07.000+00:00 - status: null - - finished_at: 2000-01-23T04:56:07.000+00:00 - name: name - messages: - - messages - - messages - started_at: 2000-01-23T04:56:07.000+00:00 - status: null status: null - retryable_failure: true - name: name + status: null + retryable_failure: true + name: name + messages: + - messages + - messages + started_at: 2000-01-23T04:56:07.000+00:00 + status: null + - finished_at: 2000-01-23T04:56:07.000+00:00 + build_attempts: + - internal_failure: true + finished_at: 2000-01-23T04:56:07.000+00:00 + wait_completion: true + image_pushed: true messages: - messages - messages started_at: 2000-01-23T04:56:07.000+00:00 + id: 5 + steps: + - finished_at: 2000-01-23T04:56:07.000+00:00 + name: name + messages: + - messages + - messages + started_at: 2000-01-23T04:56:07.000+00:00 + status: null + - finished_at: 2000-01-23T04:56:07.000+00:00 + name: name + messages: + - messages + - messages + started_at: 2000-01-23T04:56:07.000+00:00 + status: null status: null - sha: sha - deployment_group: deployment_group - parent_id: parent_id - organization_id: organization_id - service_id: service_id - started_at: 2000-01-23T04:56:07.000+00:00 - messages: - - messages - - messages - definition: - instance_types: - - scopes: - - scopes - - scopes - type: type - - scopes: - - scopes - - scopes - type: type - regions: - - regions - - regions - volumes: - - path: path - replica_index: 1 - id: id - scopes: - - scopes - - scopes - - path: path - replica_index: 1 - id: id - scopes: - - scopes - - scopes - skip_cache: true - archive: - id: id - buildpack: - privileged: true - run_command: run_command - build_command: build_command - docker: - args: - - args - - args - privileged: true - entrypoint: - - entrypoint - - entrypoint - dockerfile: dockerfile - command: command - target: target - type: null - ports: - - protocol: protocol - port: 6 - - protocol: protocol - port: 6 - env: - - scopes: - - scopes - - scopes - secret: secret - value: value - key: key - - scopes: - - scopes - - scopes - secret: secret - value: value - key: key - config_files: - - path: path - permissions: permissions - content: content - - path: path - permissions: permissions - content: content + retryable_failure: true + - internal_failure: true + finished_at: 2000-01-23T04:56:07.000+00:00 + wait_completion: true + image_pushed: true + messages: + - messages + - messages + started_at: 2000-01-23T04:56:07.000+00:00 + id: 5 + steps: + - finished_at: 2000-01-23T04:56:07.000+00:00 + name: name + messages: + - messages + - messages + started_at: 2000-01-23T04:56:07.000+00:00 + status: null + - finished_at: 2000-01-23T04:56:07.000+00:00 + name: name + messages: + - messages + - messages + started_at: 2000-01-23T04:56:07.000+00:00 + status: null + status: null + retryable_failure: true + name: name + messages: + - messages + - messages + started_at: 2000-01-23T04:56:07.000+00:00 + status: null + sha: sha + deployment_group: deployment_group + parent_id: parent_id + organization_id: organization_id + service_id: service_id + started_at: 2000-01-23T04:56:07.000+00:00 + messages: + - messages + - messages + definition: + instance_types: + - scopes: + - scopes + - scopes + type: type + - scopes: + - scopes + - scopes + type: type + regions: + - regions + - regions + volumes: + - path: path + replica_index: 1 + id: id + scopes: + - scopes + - scopes + - path: path + replica_index: 1 + id: id + scopes: + - scopes + - scopes + skip_cache: true + archive: + id: id + buildpack: + privileged: true + run_command: run_command + build_command: build_command docker: args: - args - args privileged: true - image: image - image_registry_secret: image_registry_secret entrypoint: - entrypoint - entrypoint + dockerfile: dockerfile command: command - routes: - - path: path - port: 0 - - path: path - port: 0 - database: - neon_postgres: - databases: - - owner: owner - name: name - - owner: owner - name: name - roles: - - name: name - secret: secret - - name: name - secret: secret - region: region - instance_type: instance_type - pg_version: 4 - git: - run_command: run_command - workdir: workdir - build_command: build_command - no_deploy_on_push: true - tag: tag - repository: repository - buildpack: - privileged: true - run_command: run_command - build_command: build_command - branch: branch - sha: sha - docker: - args: - - args - - args - privileged: true - entrypoint: - - entrypoint - - entrypoint - dockerfile: dockerfile - command: command - target: target - scalings: - - min: 1 - max: 5 - scopes: - - scopes - - scopes - targets: - - average_mem: - value: 2 - requests_per_second: - value: 7 - average_cpu: - value: 5 - requests_response_time: - quantile: 2 - value: 3 - concurrent_requests: - value: 9 - sleep_idle_delay: - value: 4 - - average_mem: - value: 2 - requests_per_second: - value: 7 - average_cpu: - value: 5 - requests_response_time: - quantile: 2 - value: 3 - concurrent_requests: - value: 9 - sleep_idle_delay: - value: 4 - - min: 1 - max: 5 - scopes: - - scopes - - scopes - targets: - - average_mem: - value: 2 - requests_per_second: - value: 7 - average_cpu: - value: 5 - requests_response_time: - quantile: 2 - value: 3 - concurrent_requests: - value: 9 - sleep_idle_delay: - value: 4 - - average_mem: - value: 2 - requests_per_second: - value: 7 - average_cpu: - value: 5 - requests_response_time: - quantile: 2 - value: 3 - concurrent_requests: - value: 9 - sleep_idle_delay: - value: 4 - health_checks: - - tcp: - port: 6 - restart_limit: 1 - http: - path: path - headers: - - value: value - key: key - - value: value - key: key - method: method - port: 7 - interval: 1 - grace_period: 7 - timeout: 1 - - tcp: - port: 6 - restart_limit: 1 - http: - path: path - headers: - - value: value - key: key - - value: value - key: key - method: method - port: 7 - interval: 1 - grace_period: 7 - timeout: 1 - name: name - strategy: - type: null - id: id - database_info: + target: target + type: null + ports: + - protocol: protocol + port: 6 + - protocol: protocol + port: 6 + env: + - scopes: + - scopes + - scopes + secret: secret + value: value + key: key + - scopes: + - scopes + - scopes + secret: secret + value: value + key: key + config_files: + - path: path + permissions: permissions + content: content + - path: path + permissions: permissions + content: content + docker: + args: + - args + - args + privileged: true + image: image + image_registry_secret: image_registry_secret + entrypoint: + - entrypoint + - entrypoint + command: command + routes: + - path: path + port: 0 + - path: path + port: 0 + database: neon_postgres: - endpoint_state: endpoint_state - endpoint_last_active: 2000-01-23T04:56:07.000+00:00 - server_host: server_host - roles: - - secret_id: secret_id + databases: + - owner: owner name: name - - secret_id: secret_id + - owner: owner name: name - written_data_bytes: written_data_bytes - data_transfer_bytes: data_transfer_bytes - default_branch_state: default_branch_state - active_time_seconds: active_time_seconds - default_branch_logical_size: default_branch_logical_size - default_branch_name: default_branch_name - server_port: 6 - default_branch_id: default_branch_id - compute_time_seconds: compute_time_seconds - data_storage_bytes_hour: data_storage_bytes_hour - app_id: app_id - terminated_at: 2000-01-23T04:56:07.000+00:00 - allocated_at: 2000-01-23T04:56:07.000+00:00 - status: null - properties: - deployment: - $ref: '#/components/schemas/Deployment' - type: object - RedeployRequest.Info: - properties: - deployment_group: - type: string - sha: - type: string - use_cache: - type: boolean - skip_build: - description: |- - If set to true, the build stage will be skipped and the image coming from the last successful build step will be used instead. - The call fails if no previous successful builds happened. - type: boolean - type: object - ResumeServiceReply: - type: object - Service: - example: - created_at: 2000-01-23T04:56:07.000+00:00 - resumed_at: 2000-01-23T04:56:07.000+00:00 - type: null - version: version - last_provisioned_deployment_id: last_provisioned_deployment_id - succeeded_at: 2000-01-23T04:56:07.000+00:00 - paused_at: 2000-01-23T04:56:07.000+00:00 - updated_at: 2000-01-23T04:56:07.000+00:00 - organization_id: organization_id - name: name - started_at: 2000-01-23T04:56:07.000+00:00 - messages: - - messages - - messages - active_deployment_id: active_deployment_id - id: id - state: - desired_deployment: - groups: - - name: name - deployment_ids: - - deployment_ids - - deployment_ids - - name: name - deployment_ids: - - deployment_ids - - deployment_ids - auto_release: - groups: - - latest_sha: latest_sha - name: name - git_ref: git_ref - repository: repository - - latest_sha: latest_sha - name: name - git_ref: git_ref - repository: repository - app_id: app_id - terminated_at: 2000-01-23T04:56:07.000+00:00 - latest_deployment_id: latest_deployment_id - status: null - properties: - id: - type: string - created_at: - format: date-time - type: string - updated_at: - format: date-time - type: string - started_at: - format: date-time - type: string - succeeded_at: - format: date-time - type: string - paused_at: - format: date-time - type: string - resumed_at: - format: date-time - type: string - terminated_at: - format: date-time - type: string - name: - type: string - type: - $ref: '#/components/schemas/Service.Type' - organization_id: - type: string - app_id: - type: string - status: - $ref: '#/components/schemas/Service.Status' + roles: + - name: name + secret: secret + - name: name + secret: secret + region: region + instance_type: instance_type + pg_version: 4 + git: + run_command: run_command + workdir: workdir + build_command: build_command + no_deploy_on_push: true + tag: tag + repository: repository + buildpack: + privileged: true + run_command: run_command + build_command: build_command + branch: branch + sha: sha + docker: + args: + - args + - args + privileged: true + entrypoint: + - entrypoint + - entrypoint + dockerfile: dockerfile + command: command + target: target + scalings: + - min: 1 + max: 5 + scopes: + - scopes + - scopes + targets: + - average_mem: + value: 2 + requests_per_second: + value: 7 + average_cpu: + value: 5 + requests_response_time: + quantile: 2 + value: 3 + concurrent_requests: + value: 9 + sleep_idle_delay: + value: 4 + - average_mem: + value: 2 + requests_per_second: + value: 7 + average_cpu: + value: 5 + requests_response_time: + quantile: 2 + value: 3 + concurrent_requests: + value: 9 + sleep_idle_delay: + value: 4 + - min: 1 + max: 5 + scopes: + - scopes + - scopes + targets: + - average_mem: + value: 2 + requests_per_second: + value: 7 + average_cpu: + value: 5 + requests_response_time: + quantile: 2 + value: 3 + concurrent_requests: + value: 9 + sleep_idle_delay: + value: 4 + - average_mem: + value: 2 + requests_per_second: + value: 7 + average_cpu: + value: 5 + requests_response_time: + quantile: 2 + value: 3 + concurrent_requests: + value: 9 + sleep_idle_delay: + value: 4 + health_checks: + - tcp: + port: 6 + restart_limit: 1 + http: + path: path + headers: + - value: value + key: key + - value: value + key: key + method: method + port: 7 + interval: 1 + grace_period: 7 + timeout: 1 + - tcp: + port: 6 + restart_limit: 1 + http: + path: path + headers: + - value: value + key: key + - value: value + key: key + method: method + port: 7 + interval: 1 + grace_period: 7 + timeout: 1 + name: name + strategy: + type: null + id: id + database_info: + neon_postgres: + endpoint_state: endpoint_state + endpoint_last_active: 2000-01-23T04:56:07.000+00:00 + server_host: server_host + roles: + - secret_id: secret_id + name: name + - secret_id: secret_id + name: name + written_data_bytes: written_data_bytes + data_transfer_bytes: data_transfer_bytes + default_branch_state: default_branch_state + active_time_seconds: active_time_seconds + default_branch_logical_size: default_branch_logical_size + default_branch_name: default_branch_name + server_port: 9 + default_branch_id: default_branch_id + compute_time_seconds: compute_time_seconds + data_storage_bytes_hour: data_storage_bytes_hour + app_id: app_id + terminated_at: 2000-01-23T04:56:07.000+00:00 + allocated_at: 2000-01-23T04:56:07.000+00:00 + status: null + properties: + id: + type: string + created_at: + format: date-time + type: string + updated_at: + format: date-time + type: string + allocated_at: + format: date-time + type: string + started_at: + format: date-time + type: string + succeeded_at: + format: date-time + type: string + terminated_at: + format: date-time + type: string + organization_id: + type: string + app_id: + type: string + service_id: + type: string + parent_id: + type: string + child_id: + type: string + status: + $ref: '#/components/schemas/Deployment.Status' + metadata: + $ref: '#/components/schemas/DeploymentMetadata' + definition: + $ref: '#/components/schemas/DeploymentDefinition' messages: items: type: string type: array + provisioning_info: + $ref: '#/components/schemas/DeploymentProvisioningInfo' + database_info: + $ref: '#/components/schemas/DeploymentDatabaseInfo' + skip_build: + type: boolean + role: + $ref: '#/components/schemas/Deployment.Role' version: format: uint64 type: string - active_deployment_id: - type: string - latest_deployment_id: - type: string - last_provisioned_deployment_id: + deployment_group: type: string - state: - $ref: '#/components/schemas/ServiceState' type: object - Service.Status: - default: STARTING + Deployment.Role: + default: INVALID + enum: + - INVALID + - ACTIVE + - UPCOMING + - CURRENT + type: string + Deployment.Status: + default: PENDING enum: + - PENDING + - PROVISIONING + - SCHEDULED + - CANCELING + - CANCELED + - ALLOCATING - STARTING - HEALTHY - DEGRADED - UNHEALTHY - - DELETING - - DELETED - - PAUSING - - PAUSED - - RESUMING - type: string - Service.Type: - default: INVALID_TYPE - enum: - - INVALID_TYPE - - WEB - - WORKER - - DATABASE + - STOPPING + - STOPPED + - ERRORING + - ERROR + - STASHED + - SLEEPING type: string - ServiceEvent: + DeploymentDatabaseInfo: example: - metadata: "{}" - organization_id: organization_id - service_id: service_id - id: id - type: type - message: message - when: 2000-01-23T04:56:07.000+00:00 - properties: - id: - type: string - when: - format: date-time - type: string - organization_id: - type: string - service_id: - type: string - type: - type: string - message: - type: string - metadata: - properties: {} - type: object - type: object - ServiceListItem: - example: - created_at: 2000-01-23T04:56:07.000+00:00 - type: null - version: version - updated_at: 2000-01-23T04:56:07.000+00:00 - organization_id: organization_id - name: name - messages: - - messages - - messages - active_deployment_id: active_deployment_id - id: id - state: - desired_deployment: - groups: - - name: name - deployment_ids: - - deployment_ids - - deployment_ids - - name: name - deployment_ids: - - deployment_ids - - deployment_ids - auto_release: - groups: - - latest_sha: latest_sha - name: name - git_ref: git_ref - repository: repository - - latest_sha: latest_sha - name: name - git_ref: git_ref - repository: repository - app_id: app_id - latest_deployment_id: latest_deployment_id - status: null - properties: - id: - type: string - name: - type: string - type: - $ref: '#/components/schemas/Service.Type' - organization_id: - type: string - app_id: - type: string - updated_at: - format: date-time - type: string - created_at: - format: date-time - type: string - status: - $ref: '#/components/schemas/Service.Status' - messages: - items: - type: string - type: array - version: - format: uint64 - title: A version updated whenever this state changes (useful for caching) - type: string - state: - $ref: '#/components/schemas/ServiceState' - active_deployment_id: - type: string - latest_deployment_id: - type: string - type: object - ServiceState: - example: - desired_deployment: - groups: - - name: name - deployment_ids: - - deployment_ids - - deployment_ids - - name: name - deployment_ids: - - deployment_ids - - deployment_ids - auto_release: - groups: - - latest_sha: latest_sha + neon_postgres: + endpoint_state: endpoint_state + endpoint_last_active: 2000-01-23T04:56:07.000+00:00 + server_host: server_host + roles: + - secret_id: secret_id name: name - git_ref: git_ref - repository: repository - - latest_sha: latest_sha + - secret_id: secret_id name: name - git_ref: git_ref - repository: repository - properties: - desired_deployment: - $ref: '#/components/schemas/DesiredDeployment' - auto_release: - $ref: '#/components/schemas/AutoRelease' - type: object - TCPHealthCheck: - example: - port: 6 + written_data_bytes: written_data_bytes + data_transfer_bytes: data_transfer_bytes + default_branch_state: default_branch_state + active_time_seconds: active_time_seconds + default_branch_logical_size: default_branch_logical_size + default_branch_name: default_branch_name + server_port: 9 + default_branch_id: default_branch_id + compute_time_seconds: compute_time_seconds + data_storage_bytes_hour: data_storage_bytes_hour properties: - port: - format: int64 - title: "The port to use to perform the health check, must be declared in\ - \ the ports section" - type: integer + neon_postgres: + $ref: '#/components/schemas/DeploymentNeonPostgresDatabaseInfo' type: object - TriggerDeploymentMetadata: + DeploymentDefinition: example: - actor: null + instance_types: + - scopes: + - scopes + - scopes + type: type + - scopes: + - scopes + - scopes + type: type + regions: + - regions + - regions + volumes: + - path: path + replica_index: 1 + id: id + scopes: + - scopes + - scopes + - path: path + replica_index: 1 + id: id + scopes: + - scopes + - scopes + skip_cache: true + archive: + id: id + buildpack: + privileged: true + run_command: run_command + build_command: build_command + docker: + args: + - args + - args + privileged: true + entrypoint: + - entrypoint + - entrypoint + dockerfile: dockerfile + command: command + target: target + type: null + ports: + - protocol: protocol + port: 6 + - protocol: protocol + port: 6 + env: + - scopes: + - scopes + - scopes + secret: secret + value: value + key: key + - scopes: + - scopes + - scopes + secret: secret + value: value + key: key + config_files: + - path: path + permissions: permissions + content: content + - path: path + permissions: permissions + content: content + docker: + args: + - args + - args + privileged: true + image: image + image_registry_secret: image_registry_secret + entrypoint: + - entrypoint + - entrypoint + command: command + routes: + - path: path + port: 0 + - path: path + port: 0 + database: + neon_postgres: + databases: + - owner: owner + name: name + - owner: owner + name: name + roles: + - name: name + secret: secret + - name: name + secret: secret + region: region + instance_type: instance_type + pg_version: 4 git: - sender_username: sender_username - provider: null + run_command: run_command + workdir: workdir + build_command: build_command + no_deploy_on_push: true + tag: tag repository: repository - message: message + buildpack: + privileged: true + run_command: run_command + build_command: build_command branch: branch sha: sha - sender_avatar_url: sender_avatar_url - sender_profile_url: sender_profile_url - type: null + docker: + args: + - args + - args + privileged: true + entrypoint: + - entrypoint + - entrypoint + dockerfile: dockerfile + command: command + target: target + scalings: + - min: 1 + max: 5 + scopes: + - scopes + - scopes + targets: + - average_mem: + value: 2 + requests_per_second: + value: 7 + average_cpu: + value: 5 + requests_response_time: + quantile: 2 + value: 3 + concurrent_requests: + value: 9 + sleep_idle_delay: + value: 4 + - average_mem: + value: 2 + requests_per_second: + value: 7 + average_cpu: + value: 5 + requests_response_time: + quantile: 2 + value: 3 + concurrent_requests: + value: 9 + sleep_idle_delay: + value: 4 + - min: 1 + max: 5 + scopes: + - scopes + - scopes + targets: + - average_mem: + value: 2 + requests_per_second: + value: 7 + average_cpu: + value: 5 + requests_response_time: + quantile: 2 + value: 3 + concurrent_requests: + value: 9 + sleep_idle_delay: + value: 4 + - average_mem: + value: 2 + requests_per_second: + value: 7 + average_cpu: + value: 5 + requests_response_time: + quantile: 2 + value: 3 + concurrent_requests: + value: 9 + sleep_idle_delay: + value: 4 + health_checks: + - tcp: + port: 6 + restart_limit: 1 + http: + path: path + headers: + - value: value + key: key + - value: value + key: key + method: method + port: 7 + interval: 1 + grace_period: 7 + timeout: 1 + - tcp: + port: 6 + restart_limit: 1 + http: + path: path + headers: + - value: value + key: key + - value: value + key: key + method: method + port: 7 + interval: 1 + grace_period: 7 + timeout: 1 + name: name + strategy: + type: null properties: + name: + type: string type: - $ref: '#/components/schemas/TriggerDeploymentMetadata.TriggerType' - actor: - $ref: '#/components/schemas/TriggerDeploymentMetadata.ActorType' + $ref: '#/components/schemas/DeploymentDefinition.Type' + strategy: + $ref: '#/components/schemas/DeploymentStrategy' + routes: + items: + $ref: '#/components/schemas/DeploymentRoute' + type: array + ports: + items: + $ref: '#/components/schemas/DeploymentPort' + type: array + env: + items: + $ref: '#/components/schemas/DeploymentEnv' + type: array + regions: + items: + type: string + type: array + scalings: + items: + $ref: '#/components/schemas/DeploymentScaling' + type: array + instance_types: + items: + $ref: '#/components/schemas/DeploymentInstanceType' + type: array + health_checks: + items: + $ref: '#/components/schemas/DeploymentHealthCheck' + type: array + volumes: + items: + $ref: '#/components/schemas/DeploymentVolume' + type: array + config_files: + items: + $ref: '#/components/schemas/ConfigFile' + type: array + skip_cache: + type: boolean + docker: + $ref: '#/components/schemas/DockerSource' git: - $ref: '#/components/schemas/TriggerGitDeploymentMetadata' + $ref: '#/components/schemas/GitSource' + database: + $ref: '#/components/schemas/DatabaseSource' + archive: + $ref: '#/components/schemas/ArchiveSource' type: object - TriggerDeploymentMetadata.ActorType: - default: UNKNOWN_ACTOR - enum: - - UNKNOWN_ACTOR - - USER - - SYSTEM - type: string - TriggerDeploymentMetadata.TriggerType: - default: UNKNOWN_TYPE + DeploymentDefinition.Type: + default: INVALID enum: - - UNKNOWN_TYPE - - GIT - - RESUME - - DATABASE_SYNC + - INVALID + - WEB + - WORKER + - DATABASE type: string - TriggerGitDeploymentMetadata: + DeploymentEnv: example: - sender_username: sender_username - provider: null - repository: repository - message: message - branch: branch - sha: sha - sender_avatar_url: sender_avatar_url - sender_profile_url: sender_profile_url + scopes: + - scopes + - scopes + secret: secret + value: value + key: key properties: - provider: - $ref: '#/components/schemas/TriggerGitDeploymentMetadata.Provider' - repository: + scopes: + items: + type: string + type: array + key: type: string - branch: + value: type: string - sha: + secret: type: string - message: + type: object + DeploymentEvent: + example: + metadata: "{}" + organization_id: organization_id + id: id + deployment_id: deployment_id + type: type + message: message + when: 2000-01-23T04:56:07.000+00:00 + properties: + id: type: string - sender_username: + when: + format: date-time type: string - sender_avatar_url: + organization_id: type: string - sender_profile_url: + deployment_id: type: string + type: + type: string + message: + type: string + metadata: + properties: {} + type: object type: object - TriggerGitDeploymentMetadata.Provider: - default: UNKNOWN - enum: - - UNKNOWN - - GITHUB - type: string - UpdateService: + DeploymentHealthCheck: example: - metadata: - database: - neon_postgres: - reset_role_passwords: - - reset_role_passwords - - reset_role_passwords - git: - last_provisioned_deployment_id: last_provisioned_deployment_id - archive: + tcp: + port: 6 + restart_limit: 1 + http: + path: path + headers: + - value: value + key: key + - value: value + key: key + method: method + port: 7 + interval: 1 + grace_period: 7 + timeout: 1 + properties: + grace_period: + format: int64 + title: "An optional initial period in seconds to wait for the instance to\ + \ become healthy, default is 5s" + type: integer + interval: + format: int64 + title: "An optional period in seconds between two health checks, default\ + \ is 60s" + type: integer + restart_limit: + format: int64 + title: "An optional number of consecutive failures before attempting to\ + \ restart the service, default is 3" + type: integer + timeout: + format: int64 + title: "An optional maximum time to wait in seconds before considering the\ + \ check as a failure, default is 5s" + type: integer + tcp: + $ref: '#/components/schemas/TCPHealthCheck' + http: + $ref: '#/components/schemas/HTTPHealthCheck' + type: object + DeploymentInstanceType: + example: + scopes: + - scopes + - scopes + type: type + properties: + scopes: + items: + type: string + type: array + type: + type: string + type: object + DeploymentListItem: + example: + metadata: + database: + neon_postgres: + reset_role_passwords: + - reset_role_passwords + - reset_role_passwords + git: + last_provisioned_deployment_id: last_provisioned_deployment_id + archive: last_provisioned_deployment_id: last_provisioned_deployment_id trigger: actor: null @@ -15527,7 +14417,143 @@ components: sender_avatar_url: sender_avatar_url sender_profile_url: sender_profile_url type: null - save_only: true + created_at: 2000-01-23T04:56:07.000+00:00 + version: version + succeeded_at: 2000-01-23T04:56:07.000+00:00 + updated_at: 2000-01-23T04:56:07.000+00:00 + child_id: child_id + provisioning_info: + image: image + stages: + - finished_at: 2000-01-23T04:56:07.000+00:00 + build_attempts: + - internal_failure: true + finished_at: 2000-01-23T04:56:07.000+00:00 + wait_completion: true + image_pushed: true + messages: + - messages + - messages + started_at: 2000-01-23T04:56:07.000+00:00 + id: 5 + steps: + - finished_at: 2000-01-23T04:56:07.000+00:00 + name: name + messages: + - messages + - messages + started_at: 2000-01-23T04:56:07.000+00:00 + status: null + - finished_at: 2000-01-23T04:56:07.000+00:00 + name: name + messages: + - messages + - messages + started_at: 2000-01-23T04:56:07.000+00:00 + status: null + status: null + retryable_failure: true + - internal_failure: true + finished_at: 2000-01-23T04:56:07.000+00:00 + wait_completion: true + image_pushed: true + messages: + - messages + - messages + started_at: 2000-01-23T04:56:07.000+00:00 + id: 5 + steps: + - finished_at: 2000-01-23T04:56:07.000+00:00 + name: name + messages: + - messages + - messages + started_at: 2000-01-23T04:56:07.000+00:00 + status: null + - finished_at: 2000-01-23T04:56:07.000+00:00 + name: name + messages: + - messages + - messages + started_at: 2000-01-23T04:56:07.000+00:00 + status: null + status: null + retryable_failure: true + name: name + messages: + - messages + - messages + started_at: 2000-01-23T04:56:07.000+00:00 + status: null + - finished_at: 2000-01-23T04:56:07.000+00:00 + build_attempts: + - internal_failure: true + finished_at: 2000-01-23T04:56:07.000+00:00 + wait_completion: true + image_pushed: true + messages: + - messages + - messages + started_at: 2000-01-23T04:56:07.000+00:00 + id: 5 + steps: + - finished_at: 2000-01-23T04:56:07.000+00:00 + name: name + messages: + - messages + - messages + started_at: 2000-01-23T04:56:07.000+00:00 + status: null + - finished_at: 2000-01-23T04:56:07.000+00:00 + name: name + messages: + - messages + - messages + started_at: 2000-01-23T04:56:07.000+00:00 + status: null + status: null + retryable_failure: true + - internal_failure: true + finished_at: 2000-01-23T04:56:07.000+00:00 + wait_completion: true + image_pushed: true + messages: + - messages + - messages + started_at: 2000-01-23T04:56:07.000+00:00 + id: 5 + steps: + - finished_at: 2000-01-23T04:56:07.000+00:00 + name: name + messages: + - messages + - messages + started_at: 2000-01-23T04:56:07.000+00:00 + status: null + - finished_at: 2000-01-23T04:56:07.000+00:00 + name: name + messages: + - messages + - messages + started_at: 2000-01-23T04:56:07.000+00:00 + status: null + status: null + retryable_failure: true + name: name + messages: + - messages + - messages + started_at: 2000-01-23T04:56:07.000+00:00 + status: null + sha: sha + deployment_group: deployment_group + parent_id: parent_id + organization_id: organization_id + service_id: service_id + started_at: 2000-01-23T04:56:07.000+00:00 + messages: + - messages + - messages definition: instance_types: - scopes: @@ -15752,1044 +14778,795 @@ components: name: name strategy: type: null - skip_build: true - properties: - definition: - $ref: '#/components/schemas/DeploymentDefinition' - metadata: - $ref: '#/components/schemas/DeploymentMetadata' - skip_build: - description: |- - If set to true, the build stage will be skipped and the image coming from the last successful build step will be used instead. - The call fails if no previous successful builds happened. - type: boolean - save_only: - title: "If set, do not trigger a deployment, only store the new settings" - type: boolean - type: object - UpdateServiceReply: - example: - service: - created_at: 2000-01-23T04:56:07.000+00:00 - resumed_at: 2000-01-23T04:56:07.000+00:00 - type: null - version: version - last_provisioned_deployment_id: last_provisioned_deployment_id - succeeded_at: 2000-01-23T04:56:07.000+00:00 - paused_at: 2000-01-23T04:56:07.000+00:00 - updated_at: 2000-01-23T04:56:07.000+00:00 - organization_id: organization_id - name: name - started_at: 2000-01-23T04:56:07.000+00:00 - messages: - - messages - - messages - active_deployment_id: active_deployment_id - id: id - state: - desired_deployment: - groups: - - name: name - deployment_ids: - - deployment_ids - - deployment_ids - - name: name - deployment_ids: - - deployment_ids - - deployment_ids - auto_release: - groups: - - latest_sha: latest_sha - name: name - git_ref: git_ref - repository: repository - - latest_sha: latest_sha - name: name - git_ref: git_ref - repository: repository - app_id: app_id - terminated_at: 2000-01-23T04:56:07.000+00:00 - latest_deployment_id: latest_deployment_id - status: null - properties: - service: - $ref: '#/components/schemas/Service' - type: object - CancelDeploymentReply: - type: object - DeploymentEvent: - example: - metadata: "{}" - organization_id: organization_id - id: id - deployment_id: deployment_id - type: type - message: message - when: 2000-01-23T04:56:07.000+00:00 + id: id + database_info: + neon_postgres: + endpoint_state: endpoint_state + endpoint_last_active: 2000-01-23T04:56:07.000+00:00 + server_host: server_host + roles: + - secret_id: secret_id + name: name + - secret_id: secret_id + name: name + written_data_bytes: written_data_bytes + data_transfer_bytes: data_transfer_bytes + default_branch_state: default_branch_state + active_time_seconds: active_time_seconds + default_branch_logical_size: default_branch_logical_size + default_branch_name: default_branch_name + server_port: 9 + default_branch_id: default_branch_id + compute_time_seconds: compute_time_seconds + data_storage_bytes_hour: data_storage_bytes_hour + app_id: app_id + terminated_at: 2000-01-23T04:56:07.000+00:00 + allocated_at: 2000-01-23T04:56:07.000+00:00 + status: null properties: id: type: string - when: + created_at: + format: date-time + type: string + updated_at: + format: date-time + type: string + allocated_at: + format: date-time + type: string + started_at: + format: date-time + type: string + succeeded_at: + format: date-time + type: string + terminated_at: format: date-time type: string organization_id: type: string - deployment_id: + app_id: type: string - type: + service_id: type: string - message: + parent_id: + type: string + child_id: type: string + status: + $ref: '#/components/schemas/Deployment.Status' metadata: - properties: {} - type: object + $ref: '#/components/schemas/DeploymentMetadata' + definition: + $ref: '#/components/schemas/DeploymentDefinition' + messages: + items: + type: string + type: array + provisioning_info: + $ref: '#/components/schemas/DeploymentProvisioningInfo' + database_info: + $ref: '#/components/schemas/DeploymentDatabaseInfo' + version: + format: uint64 + type: string + deployment_group: + type: string type: object - DeploymentListItem: + DeploymentMetadata: example: - metadata: - database: - neon_postgres: - reset_role_passwords: - - reset_role_passwords - - reset_role_passwords + database: + neon_postgres: + reset_role_passwords: + - reset_role_passwords + - reset_role_passwords + git: + last_provisioned_deployment_id: last_provisioned_deployment_id + archive: + last_provisioned_deployment_id: last_provisioned_deployment_id + trigger: + actor: null git: - last_provisioned_deployment_id: last_provisioned_deployment_id - archive: - last_provisioned_deployment_id: last_provisioned_deployment_id - trigger: - actor: null - git: - sender_username: sender_username - provider: null - repository: repository - message: message - branch: branch - sha: sha - sender_avatar_url: sender_avatar_url - sender_profile_url: sender_profile_url - type: null - created_at: 2000-01-23T04:56:07.000+00:00 - version: version - succeeded_at: 2000-01-23T04:56:07.000+00:00 - updated_at: 2000-01-23T04:56:07.000+00:00 - child_id: child_id - provisioning_info: - image: image - stages: - - finished_at: 2000-01-23T04:56:07.000+00:00 - build_attempts: - - internal_failure: true - finished_at: 2000-01-23T04:56:07.000+00:00 - wait_completion: true - image_pushed: true + sender_username: sender_username + provider: null + repository: repository + message: message + branch: branch + sha: sha + sender_avatar_url: sender_avatar_url + sender_profile_url: sender_profile_url + type: null + properties: + trigger: + $ref: '#/components/schemas/TriggerDeploymentMetadata' + database: + $ref: '#/components/schemas/DatabaseDeploymentMetadata' + git: + $ref: '#/components/schemas/GitDeploymentMetadata' + archive: + $ref: '#/components/schemas/ArchiveDeploymentMetadata' + type: object + DeploymentNeonPostgresDatabaseInfo: + example: + endpoint_state: endpoint_state + endpoint_last_active: 2000-01-23T04:56:07.000+00:00 + server_host: server_host + roles: + - secret_id: secret_id + name: name + - secret_id: secret_id + name: name + written_data_bytes: written_data_bytes + data_transfer_bytes: data_transfer_bytes + default_branch_state: default_branch_state + active_time_seconds: active_time_seconds + default_branch_logical_size: default_branch_logical_size + default_branch_name: default_branch_name + server_port: 9 + default_branch_id: default_branch_id + compute_time_seconds: compute_time_seconds + data_storage_bytes_hour: data_storage_bytes_hour + properties: + active_time_seconds: + format: int64 + type: string + compute_time_seconds: + format: int64 + type: string + written_data_bytes: + format: int64 + type: string + data_transfer_bytes: + format: int64 + type: string + data_storage_bytes_hour: + format: int64 + type: string + server_host: + type: string + server_port: + format: int64 + type: integer + endpoint_state: + type: string + endpoint_last_active: + format: date-time + type: string + default_branch_id: + type: string + default_branch_name: + type: string + default_branch_state: + type: string + default_branch_logical_size: + format: int64 + type: string + roles: + items: + $ref: '#/components/schemas/DeploymentNeonPostgresDatabaseInfoRole' + type: array + type: object + DeploymentNeonPostgresDatabaseInfoRole: + example: + secret_id: secret_id + name: name + properties: + name: + type: string + secret_id: + type: string + type: object + DeploymentPort: + example: + protocol: protocol + port: 6 + properties: + port: + format: int64 + type: integer + protocol: + title: "One of http, http2, tcp" + type: string + type: object + DeploymentProvisioningInfo: + example: + image: image + stages: + - finished_at: 2000-01-23T04:56:07.000+00:00 + build_attempts: + - internal_failure: true + finished_at: 2000-01-23T04:56:07.000+00:00 + wait_completion: true + image_pushed: true + messages: + - messages + - messages + started_at: 2000-01-23T04:56:07.000+00:00 + id: 5 + steps: + - finished_at: 2000-01-23T04:56:07.000+00:00 + name: name messages: - messages - messages started_at: 2000-01-23T04:56:07.000+00:00 - id: 0 - steps: - - finished_at: 2000-01-23T04:56:07.000+00:00 - name: name - messages: - - messages - - messages - started_at: 2000-01-23T04:56:07.000+00:00 - status: null - - finished_at: 2000-01-23T04:56:07.000+00:00 - name: name - messages: - - messages - - messages - started_at: 2000-01-23T04:56:07.000+00:00 - status: null status: null - retryable_failure: true - - internal_failure: true - finished_at: 2000-01-23T04:56:07.000+00:00 - wait_completion: true - image_pushed: true + - finished_at: 2000-01-23T04:56:07.000+00:00 + name: name messages: - messages - messages started_at: 2000-01-23T04:56:07.000+00:00 - id: 0 - steps: - - finished_at: 2000-01-23T04:56:07.000+00:00 - name: name - messages: - - messages - - messages - started_at: 2000-01-23T04:56:07.000+00:00 - status: null - - finished_at: 2000-01-23T04:56:07.000+00:00 - name: name - messages: - - messages - - messages - started_at: 2000-01-23T04:56:07.000+00:00 - status: null status: null - retryable_failure: true - name: name + status: null + retryable_failure: true + - internal_failure: true + finished_at: 2000-01-23T04:56:07.000+00:00 + wait_completion: true + image_pushed: true messages: - messages - messages started_at: 2000-01-23T04:56:07.000+00:00 + id: 5 + steps: + - finished_at: 2000-01-23T04:56:07.000+00:00 + name: name + messages: + - messages + - messages + started_at: 2000-01-23T04:56:07.000+00:00 + status: null + - finished_at: 2000-01-23T04:56:07.000+00:00 + name: name + messages: + - messages + - messages + started_at: 2000-01-23T04:56:07.000+00:00 + status: null status: null - - finished_at: 2000-01-23T04:56:07.000+00:00 - build_attempts: - - internal_failure: true - finished_at: 2000-01-23T04:56:07.000+00:00 - wait_completion: true - image_pushed: true + retryable_failure: true + name: name + messages: + - messages + - messages + started_at: 2000-01-23T04:56:07.000+00:00 + status: null + - finished_at: 2000-01-23T04:56:07.000+00:00 + build_attempts: + - internal_failure: true + finished_at: 2000-01-23T04:56:07.000+00:00 + wait_completion: true + image_pushed: true + messages: + - messages + - messages + started_at: 2000-01-23T04:56:07.000+00:00 + id: 5 + steps: + - finished_at: 2000-01-23T04:56:07.000+00:00 + name: name messages: - messages - messages started_at: 2000-01-23T04:56:07.000+00:00 - id: 0 - steps: - - finished_at: 2000-01-23T04:56:07.000+00:00 - name: name - messages: - - messages - - messages - started_at: 2000-01-23T04:56:07.000+00:00 - status: null - - finished_at: 2000-01-23T04:56:07.000+00:00 - name: name - messages: - - messages - - messages - started_at: 2000-01-23T04:56:07.000+00:00 - status: null status: null - retryable_failure: true - - internal_failure: true - finished_at: 2000-01-23T04:56:07.000+00:00 - wait_completion: true - image_pushed: true + - finished_at: 2000-01-23T04:56:07.000+00:00 + name: name messages: - messages - messages started_at: 2000-01-23T04:56:07.000+00:00 - id: 0 - steps: - - finished_at: 2000-01-23T04:56:07.000+00:00 - name: name - messages: - - messages - - messages - started_at: 2000-01-23T04:56:07.000+00:00 - status: null - - finished_at: 2000-01-23T04:56:07.000+00:00 - name: name - messages: - - messages - - messages - started_at: 2000-01-23T04:56:07.000+00:00 - status: null status: null - retryable_failure: true + status: null + retryable_failure: true + - internal_failure: true + finished_at: 2000-01-23T04:56:07.000+00:00 + wait_completion: true + image_pushed: true + messages: + - messages + - messages + started_at: 2000-01-23T04:56:07.000+00:00 + id: 5 + steps: + - finished_at: 2000-01-23T04:56:07.000+00:00 + name: name + messages: + - messages + - messages + started_at: 2000-01-23T04:56:07.000+00:00 + status: null + - finished_at: 2000-01-23T04:56:07.000+00:00 + name: name + messages: + - messages + - messages + started_at: 2000-01-23T04:56:07.000+00:00 + status: null + status: null + retryable_failure: true + name: name + messages: + - messages + - messages + started_at: 2000-01-23T04:56:07.000+00:00 + status: null + sha: sha + properties: + sha: + description: The git sha for this build (we resolve the reference at the + start of the build). + type: string + image: + description: The docker image built as a result of this build. + type: string + stages: + description: Some info about the build. + items: + $ref: '#/components/schemas/DeploymentProvisioningInfo.Stage' + type: array + type: object + DeploymentProvisioningInfo.Stage: + example: + finished_at: 2000-01-23T04:56:07.000+00:00 + build_attempts: + - internal_failure: true + finished_at: 2000-01-23T04:56:07.000+00:00 + wait_completion: true + image_pushed: true + messages: + - messages + - messages + started_at: 2000-01-23T04:56:07.000+00:00 + id: 5 + steps: + - finished_at: 2000-01-23T04:56:07.000+00:00 name: name messages: - messages - messages started_at: 2000-01-23T04:56:07.000+00:00 status: null - sha: sha - deployment_group: deployment_group - parent_id: parent_id - organization_id: organization_id - service_id: service_id + - finished_at: 2000-01-23T04:56:07.000+00:00 + name: name + messages: + - messages + - messages + started_at: 2000-01-23T04:56:07.000+00:00 + status: null + status: null + retryable_failure: true + - internal_failure: true + finished_at: 2000-01-23T04:56:07.000+00:00 + wait_completion: true + image_pushed: true + messages: + - messages + - messages + started_at: 2000-01-23T04:56:07.000+00:00 + id: 5 + steps: + - finished_at: 2000-01-23T04:56:07.000+00:00 + name: name + messages: + - messages + - messages + started_at: 2000-01-23T04:56:07.000+00:00 + status: null + - finished_at: 2000-01-23T04:56:07.000+00:00 + name: name + messages: + - messages + - messages + started_at: 2000-01-23T04:56:07.000+00:00 + status: null + status: null + retryable_failure: true + name: name + messages: + - messages + - messages started_at: 2000-01-23T04:56:07.000+00:00 + status: null + properties: + name: + type: string + status: + $ref: '#/components/schemas/DeploymentProvisioningInfo.Stage.Status' + messages: + items: + type: string + type: array + started_at: + format: date-time + type: string + finished_at: + format: date-time + type: string + build_attempts: + items: + $ref: '#/components/schemas/DeploymentProvisioningInfo.Stage.BuildAttempt' + type: array + type: object + DeploymentProvisioningInfo.Stage.BuildAttempt: + example: + internal_failure: true + finished_at: 2000-01-23T04:56:07.000+00:00 + wait_completion: true + image_pushed: true messages: - messages - messages - definition: - instance_types: - - scopes: - - scopes - - scopes - type: type - - scopes: - - scopes - - scopes - type: type - regions: - - regions - - regions - volumes: - - path: path - replica_index: 1 - id: id - scopes: - - scopes - - scopes - - path: path - replica_index: 1 - id: id - scopes: - - scopes - - scopes - skip_cache: true - archive: - id: id - buildpack: - privileged: true - run_command: run_command - build_command: build_command - docker: - args: - - args - - args - privileged: true - entrypoint: - - entrypoint - - entrypoint - dockerfile: dockerfile - command: command - target: target - type: null - ports: - - protocol: protocol - port: 6 - - protocol: protocol - port: 6 - env: - - scopes: - - scopes - - scopes - secret: secret - value: value - key: key - - scopes: - - scopes - - scopes - secret: secret - value: value - key: key - config_files: - - path: path - permissions: permissions - content: content - - path: path - permissions: permissions - content: content - docker: - args: - - args - - args - privileged: true - image: image - image_registry_secret: image_registry_secret - entrypoint: - - entrypoint - - entrypoint - command: command - routes: - - path: path - port: 0 - - path: path - port: 0 - database: - neon_postgres: - databases: - - owner: owner - name: name - - owner: owner - name: name - roles: - - name: name - secret: secret - - name: name - secret: secret - region: region - instance_type: instance_type - pg_version: 4 - git: - run_command: run_command - workdir: workdir - build_command: build_command - no_deploy_on_push: true - tag: tag - repository: repository - buildpack: - privileged: true - run_command: run_command - build_command: build_command - branch: branch - sha: sha - docker: - args: - - args - - args - privileged: true - entrypoint: - - entrypoint - - entrypoint - dockerfile: dockerfile - command: command - target: target - scalings: - - min: 1 - max: 5 - scopes: - - scopes - - scopes - targets: - - average_mem: - value: 2 - requests_per_second: - value: 7 - average_cpu: - value: 5 - requests_response_time: - quantile: 2 - value: 3 - concurrent_requests: - value: 9 - sleep_idle_delay: - value: 4 - - average_mem: - value: 2 - requests_per_second: - value: 7 - average_cpu: - value: 5 - requests_response_time: - quantile: 2 - value: 3 - concurrent_requests: - value: 9 - sleep_idle_delay: - value: 4 - - min: 1 - max: 5 - scopes: - - scopes - - scopes - targets: - - average_mem: - value: 2 - requests_per_second: - value: 7 - average_cpu: - value: 5 - requests_response_time: - quantile: 2 - value: 3 - concurrent_requests: - value: 9 - sleep_idle_delay: - value: 4 - - average_mem: - value: 2 - requests_per_second: - value: 7 - average_cpu: - value: 5 - requests_response_time: - quantile: 2 - value: 3 - concurrent_requests: - value: 9 - sleep_idle_delay: - value: 4 - health_checks: - - tcp: - port: 6 - restart_limit: 1 - http: - path: path - headers: - - value: value - key: key - - value: value - key: key - method: method - port: 7 - interval: 1 - grace_period: 7 - timeout: 1 - - tcp: - port: 6 - restart_limit: 1 - http: - path: path - headers: - - value: value - key: key - - value: value - key: key - method: method - port: 7 - interval: 1 - grace_period: 7 - timeout: 1 + started_at: 2000-01-23T04:56:07.000+00:00 + id: 5 + steps: + - finished_at: 2000-01-23T04:56:07.000+00:00 name: name - strategy: - type: null - id: id - database_info: - neon_postgres: - endpoint_state: endpoint_state - endpoint_last_active: 2000-01-23T04:56:07.000+00:00 - server_host: server_host - roles: - - secret_id: secret_id - name: name - - secret_id: secret_id - name: name - written_data_bytes: written_data_bytes - data_transfer_bytes: data_transfer_bytes - default_branch_state: default_branch_state - active_time_seconds: active_time_seconds - default_branch_logical_size: default_branch_logical_size - default_branch_name: default_branch_name - server_port: 6 - default_branch_id: default_branch_id - compute_time_seconds: compute_time_seconds - data_storage_bytes_hour: data_storage_bytes_hour - app_id: app_id - terminated_at: 2000-01-23T04:56:07.000+00:00 - allocated_at: 2000-01-23T04:56:07.000+00:00 - status: null - properties: - id: - type: string - created_at: - format: date-time - type: string - updated_at: - format: date-time - type: string - allocated_at: - format: date-time - type: string + messages: + - messages + - messages + started_at: 2000-01-23T04:56:07.000+00:00 + status: null + - finished_at: 2000-01-23T04:56:07.000+00:00 + name: name + messages: + - messages + - messages + started_at: 2000-01-23T04:56:07.000+00:00 + status: null + status: null + retryable_failure: true + properties: + id: + format: int64 + type: integer + status: + $ref: '#/components/schemas/DeploymentProvisioningInfo.Stage.Status' + messages: + items: + type: string + type: array started_at: format: date-time type: string - succeeded_at: - format: date-time - type: string - terminated_at: + finished_at: format: date-time type: string - organization_id: - type: string - app_id: - type: string - service_id: - type: string - parent_id: - type: string - child_id: + steps: + items: + $ref: '#/components/schemas/DeploymentProvisioningInfo.Stage.BuildAttempt.BuildStep' + type: array + image_pushed: + type: boolean + internal_failure: + type: boolean + retryable_failure: + type: boolean + wait_completion: + description: "This flag is used to finalize the build, and continue the\ + \ deployment in case of success, or cancel and potentially retry the build\ + \ in case of failure." + type: boolean + type: object + DeploymentProvisioningInfo.Stage.BuildAttempt.BuildStep: + example: + finished_at: 2000-01-23T04:56:07.000+00:00 + name: name + messages: + - messages + - messages + started_at: 2000-01-23T04:56:07.000+00:00 + status: null + properties: + name: type: string status: - $ref: '#/components/schemas/Deployment.Status' - metadata: - $ref: '#/components/schemas/DeploymentMetadata' - definition: - $ref: '#/components/schemas/DeploymentDefinition' + $ref: '#/components/schemas/DeploymentProvisioningInfo.Stage.Status' messages: items: type: string type: array - provisioning_info: - $ref: '#/components/schemas/DeploymentProvisioningInfo' - database_info: - $ref: '#/components/schemas/DeploymentDatabaseInfo' - version: - format: uint64 + started_at: + format: date-time type: string - deployment_group: + finished_at: + format: date-time type: string type: object - GetDeploymentReply: + DeploymentRoute: example: - deployment: - metadata: - database: - neon_postgres: - reset_role_passwords: - - reset_role_passwords - - reset_role_passwords - git: - last_provisioned_deployment_id: last_provisioned_deployment_id - archive: - last_provisioned_deployment_id: last_provisioned_deployment_id - trigger: - actor: null - git: - sender_username: sender_username - provider: null - repository: repository - message: message - branch: branch - sha: sha - sender_avatar_url: sender_avatar_url - sender_profile_url: sender_profile_url - type: null - role: null - created_at: 2000-01-23T04:56:07.000+00:00 - skip_build: true - version: version - succeeded_at: 2000-01-23T04:56:07.000+00:00 - updated_at: 2000-01-23T04:56:07.000+00:00 - child_id: child_id - provisioning_info: - image: image - stages: - - finished_at: 2000-01-23T04:56:07.000+00:00 - build_attempts: - - internal_failure: true - finished_at: 2000-01-23T04:56:07.000+00:00 - wait_completion: true - image_pushed: true - messages: - - messages - - messages - started_at: 2000-01-23T04:56:07.000+00:00 - id: 0 - steps: - - finished_at: 2000-01-23T04:56:07.000+00:00 - name: name - messages: - - messages - - messages - started_at: 2000-01-23T04:56:07.000+00:00 - status: null - - finished_at: 2000-01-23T04:56:07.000+00:00 - name: name - messages: - - messages - - messages - started_at: 2000-01-23T04:56:07.000+00:00 - status: null - status: null - retryable_failure: true - - internal_failure: true - finished_at: 2000-01-23T04:56:07.000+00:00 - wait_completion: true - image_pushed: true - messages: - - messages - - messages - started_at: 2000-01-23T04:56:07.000+00:00 - id: 0 - steps: - - finished_at: 2000-01-23T04:56:07.000+00:00 - name: name - messages: - - messages - - messages - started_at: 2000-01-23T04:56:07.000+00:00 - status: null - - finished_at: 2000-01-23T04:56:07.000+00:00 - name: name - messages: - - messages - - messages - started_at: 2000-01-23T04:56:07.000+00:00 - status: null - status: null - retryable_failure: true - name: name - messages: - - messages - - messages - started_at: 2000-01-23T04:56:07.000+00:00 - status: null - - finished_at: 2000-01-23T04:56:07.000+00:00 - build_attempts: - - internal_failure: true - finished_at: 2000-01-23T04:56:07.000+00:00 - wait_completion: true - image_pushed: true - messages: - - messages - - messages - started_at: 2000-01-23T04:56:07.000+00:00 - id: 0 - steps: - - finished_at: 2000-01-23T04:56:07.000+00:00 - name: name - messages: - - messages - - messages - started_at: 2000-01-23T04:56:07.000+00:00 - status: null - - finished_at: 2000-01-23T04:56:07.000+00:00 - name: name - messages: - - messages - - messages - started_at: 2000-01-23T04:56:07.000+00:00 - status: null - status: null - retryable_failure: true - - internal_failure: true - finished_at: 2000-01-23T04:56:07.000+00:00 - wait_completion: true - image_pushed: true - messages: - - messages - - messages - started_at: 2000-01-23T04:56:07.000+00:00 - id: 0 - steps: - - finished_at: 2000-01-23T04:56:07.000+00:00 - name: name - messages: - - messages - - messages - started_at: 2000-01-23T04:56:07.000+00:00 - status: null - - finished_at: 2000-01-23T04:56:07.000+00:00 - name: name - messages: - - messages - - messages - started_at: 2000-01-23T04:56:07.000+00:00 - status: null - status: null - retryable_failure: true - name: name - messages: - - messages - - messages - started_at: 2000-01-23T04:56:07.000+00:00 - status: null - sha: sha - deployment_group: deployment_group - parent_id: parent_id - organization_id: organization_id - service_id: service_id - started_at: 2000-01-23T04:56:07.000+00:00 - messages: - - messages - - messages - definition: - instance_types: - - scopes: - - scopes - - scopes - type: type - - scopes: - - scopes - - scopes - type: type - regions: - - regions - - regions - volumes: - - path: path - replica_index: 1 - id: id - scopes: - - scopes - - scopes - - path: path - replica_index: 1 - id: id - scopes: - - scopes - - scopes - skip_cache: true - archive: - id: id - buildpack: - privileged: true - run_command: run_command - build_command: build_command - docker: - args: - - args - - args - privileged: true - entrypoint: - - entrypoint - - entrypoint - dockerfile: dockerfile - command: command - target: target - type: null - ports: - - protocol: protocol - port: 6 - - protocol: protocol - port: 6 - env: - - scopes: - - scopes - - scopes - secret: secret - value: value - key: key - - scopes: - - scopes - - scopes - secret: secret - value: value - key: key - config_files: - - path: path - permissions: permissions - content: content - - path: path - permissions: permissions - content: content - docker: - args: - - args - - args - privileged: true - image: image - image_registry_secret: image_registry_secret - entrypoint: - - entrypoint - - entrypoint - command: command - routes: - - path: path - port: 0 - - path: path - port: 0 - database: - neon_postgres: - databases: - - owner: owner - name: name - - owner: owner - name: name - roles: - - name: name - secret: secret - - name: name - secret: secret - region: region - instance_type: instance_type - pg_version: 4 - git: - run_command: run_command - workdir: workdir - build_command: build_command - no_deploy_on_push: true - tag: tag - repository: repository - buildpack: - privileged: true - run_command: run_command - build_command: build_command - branch: branch - sha: sha - docker: - args: - - args - - args - privileged: true - entrypoint: - - entrypoint - - entrypoint - dockerfile: dockerfile - command: command - target: target - scalings: - - min: 1 - max: 5 - scopes: - - scopes - - scopes - targets: - - average_mem: - value: 2 - requests_per_second: - value: 7 - average_cpu: - value: 5 - requests_response_time: - quantile: 2 - value: 3 - concurrent_requests: - value: 9 - sleep_idle_delay: - value: 4 - - average_mem: - value: 2 - requests_per_second: - value: 7 - average_cpu: - value: 5 - requests_response_time: - quantile: 2 - value: 3 - concurrent_requests: - value: 9 - sleep_idle_delay: - value: 4 - - min: 1 - max: 5 - scopes: - - scopes - - scopes - targets: - - average_mem: - value: 2 - requests_per_second: - value: 7 - average_cpu: - value: 5 - requests_response_time: - quantile: 2 - value: 3 - concurrent_requests: - value: 9 - sleep_idle_delay: - value: 4 - - average_mem: - value: 2 - requests_per_second: - value: 7 - average_cpu: - value: 5 - requests_response_time: - quantile: 2 - value: 3 - concurrent_requests: - value: 9 - sleep_idle_delay: - value: 4 - health_checks: - - tcp: - port: 6 - restart_limit: 1 - http: - path: path - headers: - - value: value - key: key - - value: value - key: key - method: method - port: 7 - interval: 1 - grace_period: 7 - timeout: 1 - - tcp: - port: 6 - restart_limit: 1 - http: - path: path - headers: - - value: value - key: key - - value: value - key: key - method: method - port: 7 - interval: 1 - grace_period: 7 - timeout: 1 - name: name - strategy: - type: null - id: id - database_info: - neon_postgres: - endpoint_state: endpoint_state - endpoint_last_active: 2000-01-23T04:56:07.000+00:00 - server_host: server_host - roles: - - secret_id: secret_id - name: name - - secret_id: secret_id - name: name - written_data_bytes: written_data_bytes - data_transfer_bytes: data_transfer_bytes - default_branch_state: default_branch_state - active_time_seconds: active_time_seconds - default_branch_logical_size: default_branch_logical_size - default_branch_name: default_branch_name - server_port: 6 - default_branch_id: default_branch_id - compute_time_seconds: compute_time_seconds - data_storage_bytes_hour: data_storage_bytes_hour - app_id: app_id - terminated_at: 2000-01-23T04:56:07.000+00:00 - allocated_at: 2000-01-23T04:56:07.000+00:00 - status: null + path: path + port: 0 properties: - deployment: - $ref: '#/components/schemas/Deployment' + port: + format: int64 + type: integer + path: + type: string type: object - ListDeploymentEventsReply: + DeploymentScaling: example: - offset: 6 - limit: 0 - has_next: true - events: - - metadata: "{}" - organization_id: organization_id - id: id - deployment_id: deployment_id - type: type - message: message - when: 2000-01-23T04:56:07.000+00:00 - - metadata: "{}" - organization_id: organization_id - id: id - deployment_id: deployment_id - type: type - message: message - when: 2000-01-23T04:56:07.000+00:00 - order: order + min: 1 + max: 5 + scopes: + - scopes + - scopes + targets: + - average_mem: + value: 2 + requests_per_second: + value: 7 + average_cpu: + value: 5 + requests_response_time: + quantile: 2 + value: 3 + concurrent_requests: + value: 9 + sleep_idle_delay: + value: 4 + - average_mem: + value: 2 + requests_per_second: + value: 7 + average_cpu: + value: 5 + requests_response_time: + quantile: 2 + value: 3 + concurrent_requests: + value: 9 + sleep_idle_delay: + value: 4 properties: - events: + scopes: items: - $ref: '#/components/schemas/DeploymentEvent' - title: The collection of events + type: string type: array - limit: + min: format: int64 - title: The limit in the request type: integer - offset: + max: format: int64 - title: The offset in the request type: integer - order: - title: The order in the request + targets: + items: + $ref: '#/components/schemas/DeploymentScalingTarget' + type: array + type: object + DeploymentScalingTarget: + example: + average_mem: + value: 2 + requests_per_second: + value: 7 + average_cpu: + value: 5 + requests_response_time: + quantile: 2 + value: 3 + concurrent_requests: + value: 9 + sleep_idle_delay: + value: 4 + properties: + average_cpu: + $ref: '#/components/schemas/DeploymentScalingTargetAverageCPU' + average_mem: + $ref: '#/components/schemas/DeploymentScalingTargetAverageMem' + requests_per_second: + $ref: '#/components/schemas/DeploymentScalingTargetRequestsPerSecond' + concurrent_requests: + $ref: '#/components/schemas/DeploymentScalingTargetConcurrentRequests' + requests_response_time: + $ref: '#/components/schemas/DeploymentScalingTargetRequestsResponseTime' + sleep_idle_delay: + $ref: '#/components/schemas/DeploymentScalingTargetSleepIdleDelay' + type: object + DeploymentScalingTargetAverageCPU: + example: + value: 5 + properties: + value: + format: int64 + type: integer + type: object + DeploymentScalingTargetAverageMem: + example: + value: 2 + properties: + value: + format: int64 + type: integer + type: object + DeploymentScalingTargetConcurrentRequests: + example: + value: 9 + properties: + value: + format: int64 + type: integer + type: object + DeploymentScalingTargetRequestsPerSecond: + example: + value: 7 + properties: + value: + format: int64 + type: integer + type: object + DeploymentScalingTargetRequestsResponseTime: + example: + quantile: 2 + value: 3 + properties: + value: + format: int64 + type: integer + quantile: + description: |- + The quantile to use for autoscaling. For example, set to 95 to use the 95th + percentile (p95) for autoscaling. Valid values are between 0 and 100. + format: int64 + type: integer + type: object + DeploymentScalingTargetSleepIdleDelay: + example: + value: 4 + properties: + value: + description: |- + Delay in seconds after which a service which received 0 request is scaled to 0. + This is not configurable and must be set to 300 (5 minutes). Get in touch to + tune it. + format: int64 + type: integer + type: object + DeploymentStrategy: + example: + type: null + properties: + type: + $ref: '#/components/schemas/DeploymentStrategyType' + type: object + DeploymentStrategyType: + default: DEPLOYMENT_STRATEGY_TYPE_INVALID + description: |2- + - DEPLOYMENT_STRATEGY_TYPE_INVALID: Invalid / Zero value. + - DEPLOYMENT_STRATEGY_TYPE_CANARY: Use canary strategy. + - DEPLOYMENT_STRATEGY_TYPE_ROLLING: Use rolling strategy. + - DEPLOYMENT_STRATEGY_TYPE_BLUE_GREEN: Use blue green strategy. + - DEPLOYMENT_STRATEGY_TYPE_IMMEDIATE: Use immediate strategy. + enum: + - DEPLOYMENT_STRATEGY_TYPE_INVALID + - DEPLOYMENT_STRATEGY_TYPE_CANARY + - DEPLOYMENT_STRATEGY_TYPE_ROLLING + - DEPLOYMENT_STRATEGY_TYPE_BLUE_GREEN + - DEPLOYMENT_STRATEGY_TYPE_IMMEDIATE + type: string + DeploymentVolume: + example: + path: path + replica_index: 1 + id: id + scopes: + - scopes + - scopes + properties: + id: + title: the id of the volume type: string - has_next: - title: If there is more items after in the collection + path: + title: the path where the volume is mounted to + type: string + replica_index: + format: int64 + title: "optionally, explicitly choose the replica index to mount the volume\ + \ to" + type: integer + scopes: + items: + type: string + title: scope of the associated + type: array + type: object + DockerBuilder: + example: + args: + - args + - args + privileged: true + entrypoint: + - entrypoint + - entrypoint + dockerfile: dockerfile + command: command + target: target + properties: + dockerfile: + title: A path to the Dockerfile + type: string + entrypoint: + items: + type: string + title: The docker ENTRYPOINT + type: array + command: + title: The docker CMD + type: string + args: + items: + type: string + title: The docker CMD args + type: array + target: + title: The target for multi-stage builds + type: string + privileged: + title: A flag to run the container in privileged mode type: boolean type: object - ListDeploymentsReply: + DockerSource: example: - deployments: - - metadata: - database: - neon_postgres: - reset_role_passwords: - - reset_role_passwords - - reset_role_passwords - git: - last_provisioned_deployment_id: last_provisioned_deployment_id - archive: - last_provisioned_deployment_id: last_provisioned_deployment_id - trigger: - actor: null - git: - sender_username: sender_username - provider: null - repository: repository - message: message - branch: branch - sha: sha - sender_avatar_url: sender_avatar_url - sender_profile_url: sender_profile_url - type: null + args: + - args + - args + privileged: true + image: image + image_registry_secret: image_registry_secret + entrypoint: + - entrypoint + - entrypoint + command: command + properties: + image: + type: string + command: + type: string + args: + items: + type: string + type: array + image_registry_secret: + type: string + entrypoint: + items: + type: string + type: array + privileged: + title: A flag to run the container in privileged mode + type: boolean + type: object + GetDeploymentReply: + example: + deployment: + metadata: + database: + neon_postgres: + reset_role_passwords: + - reset_role_passwords + - reset_role_passwords + git: + last_provisioned_deployment_id: last_provisioned_deployment_id + archive: + last_provisioned_deployment_id: last_provisioned_deployment_id + trigger: + actor: null + git: + sender_username: sender_username + provider: null + repository: repository + message: message + branch: branch + sha: sha + sender_avatar_url: sender_avatar_url + sender_profile_url: sender_profile_url + type: null + role: null created_at: 2000-01-23T04:56:07.000+00:00 + skip_build: true version: version succeeded_at: 2000-01-23T04:56:07.000+00:00 updated_at: 2000-01-23T04:56:07.000+00:00 @@ -16807,7 +15584,7 @@ components: - messages - messages started_at: 2000-01-23T04:56:07.000+00:00 - id: 0 + id: 5 steps: - finished_at: 2000-01-23T04:56:07.000+00:00 name: name @@ -16833,7 +15610,7 @@ components: - messages - messages started_at: 2000-01-23T04:56:07.000+00:00 - id: 0 + id: 5 steps: - finished_at: 2000-01-23T04:56:07.000+00:00 name: name @@ -16867,7 +15644,7 @@ components: - messages - messages started_at: 2000-01-23T04:56:07.000+00:00 - id: 0 + id: 5 steps: - finished_at: 2000-01-23T04:56:07.000+00:00 name: name @@ -16893,7 +15670,7 @@ components: - messages - messages started_at: 2000-01-23T04:56:07.000+00:00 - id: 0 + id: 5 steps: - finished_at: 2000-01-23T04:56:07.000+00:00 name: name @@ -17167,7 +15944,7 @@ components: active_time_seconds: active_time_seconds default_branch_logical_size: default_branch_logical_size default_branch_name: default_branch_name - server_port: 6 + server_port: 9 default_branch_id: default_branch_id compute_time_seconds: compute_time_seconds data_storage_bytes_hour: data_storage_bytes_hour @@ -17175,6 +15952,162 @@ components: terminated_at: 2000-01-23T04:56:07.000+00:00 allocated_at: 2000-01-23T04:56:07.000+00:00 status: null + properties: + deployment: + $ref: '#/components/schemas/Deployment' + type: object + GitDeploymentMetadata: + example: + last_provisioned_deployment_id: last_provisioned_deployment_id + properties: + last_provisioned_deployment_id: + type: string + type: object + GitSource: + example: + run_command: run_command + workdir: workdir + build_command: build_command + no_deploy_on_push: true + tag: tag + repository: repository + buildpack: + privileged: true + run_command: run_command + build_command: build_command + branch: branch + sha: sha + docker: + args: + - args + - args + privileged: true + entrypoint: + - entrypoint + - entrypoint + dockerfile: dockerfile + command: command + target: target + properties: + repository: + description: "A url to a git repository (contains the provider as well)\ + \ .e.g: github.com/koyeb/test." + type: string + branch: + title: A git branch that will be tracked for new commits and deployments + will be created + type: string + tag: + title: A git tag that should be built + type: string + sha: + title: "A git commit that should be built (useful for pinning to a commit,\ + \ this will always be set when a deployment is created by a code push)" + type: string + build_command: + title: "A command used to override the build command, run after all build\ + \ steps — deprecated, use buildpack.build_command instead" + type: string + run_command: + title: "A command used to override the default run command - deprecated,\ + \ use buildpack.run_command instead" + type: string + no_deploy_on_push: + title: A flag to disable a new deployment when a push event is detected + type: boolean + workdir: + title: A subdirectory to use as the build directory + type: string + buildpack: + $ref: '#/components/schemas/BuildpackBuilder' + docker: + $ref: '#/components/schemas/DockerBuilder' + type: object + HTTPHeader: + example: + value: value + key: key + properties: + key: + type: string + value: + type: string + type: object + HTTPHealthCheck: + example: + path: path + headers: + - value: value + key: key + - value: value + key: key + method: method + port: 7 + properties: + port: + format: int64 + title: "The port to use to perform the health check, must be declared in\ + \ the ports section" + type: integer + path: + title: The path to use to perform the HTTP health check + type: string + method: + title: "An optional HTTP method to use to perform the health check, default\ + \ is GET" + type: string + headers: + items: + $ref: '#/components/schemas/HTTPHeader' + title: "An optional list of HTTP headers to provide when performing the\ + \ request, default is empty" + type: array + type: object + ListDeploymentEventsReply: + example: + offset: 6 + limit: 0 + has_next: true + events: + - metadata: "{}" + organization_id: organization_id + id: id + deployment_id: deployment_id + type: type + message: message + when: 2000-01-23T04:56:07.000+00:00 + - metadata: "{}" + organization_id: organization_id + id: id + deployment_id: deployment_id + type: type + message: message + when: 2000-01-23T04:56:07.000+00:00 + order: order + properties: + events: + items: + $ref: '#/components/schemas/DeploymentEvent' + title: The collection of events + type: array + limit: + format: int64 + title: The limit in the request + type: integer + offset: + format: int64 + title: The offset in the request + type: integer + order: + title: The order in the request + type: string + has_next: + title: If there is more items after in the collection + type: boolean + type: object + ListDeploymentsReply: + example: + deployments: - metadata: database: neon_postgres: @@ -17215,7 +16148,7 @@ components: - messages - messages started_at: 2000-01-23T04:56:07.000+00:00 - id: 0 + id: 5 steps: - finished_at: 2000-01-23T04:56:07.000+00:00 name: name @@ -17241,7 +16174,7 @@ components: - messages - messages started_at: 2000-01-23T04:56:07.000+00:00 - id: 0 + id: 5 steps: - finished_at: 2000-01-23T04:56:07.000+00:00 name: name @@ -17275,7 +16208,7 @@ components: - messages - messages started_at: 2000-01-23T04:56:07.000+00:00 - id: 0 + id: 5 steps: - finished_at: 2000-01-23T04:56:07.000+00:00 name: name @@ -17301,7 +16234,7 @@ components: - messages - messages started_at: 2000-01-23T04:56:07.000+00:00 - id: 0 + id: 5 steps: - finished_at: 2000-01-23T04:56:07.000+00:00 name: name @@ -17575,7 +16508,7 @@ components: active_time_seconds: active_time_seconds default_branch_logical_size: default_branch_logical_size default_branch_name: default_branch_name - server_port: 6 + server_port: 9 default_branch_id: default_branch_id compute_time_seconds: compute_time_seconds data_storage_bytes_hour: data_storage_bytes_hour @@ -17583,129 +16516,31 @@ components: terminated_at: 2000-01-23T04:56:07.000+00:00 allocated_at: 2000-01-23T04:56:07.000+00:00 status: null - offset: 6 - limit: 0 - count: 1 - has_next: true - properties: - deployments: - items: - $ref: '#/components/schemas/DeploymentListItem' - title: The collection of deployments - type: array - limit: - format: int64 - title: The limit in the request - type: integer - offset: - format: int64 - title: The offset in the request - type: integer - count: - format: int64 - title: The total number of items - type: integer - has_next: - title: If there is more items after in the collection - type: boolean - type: object - Archive: - example: - size: size - organization_id: organization_id - upload_url: upload_url - created_at: 2000-01-23T04:56:07.000+00:00 - id: id - deleted_at: 2000-01-23T04:56:07.000+00:00 - properties: - id: - description: "The archive id, that can be referenced when creating or updating\ - \ a service." - type: string - organization_id: - description: Organization owning the archive. - type: string - upload_url: - description: |- - The URL where to upload the archive. This URL is signed and can only be - used to upload the archive until `valid_until`. - type: string - size: - description: The provisioned space for the archive. - format: uint64 - type: string - created_at: - description: Date of creation of the archive. - format: date-time - type: string - deleted_at: - description: |- - This field is automatically set by Koyeb when the - archive is garbage collected. - format: date-time - type: string - type: object - CreateArchive: - example: - size: size - properties: - size: - description: "How much space to provision for the archive, in bytes." - format: uint64 - type: string - type: object - CreateArchiveReply: - example: - archive: - size: size - organization_id: organization_id - upload_url: upload_url - created_at: 2000-01-23T04:56:07.000+00:00 - id: id - deleted_at: 2000-01-23T04:56:07.000+00:00 - properties: - archive: - $ref: '#/components/schemas/Archive' - type: object - ReviewOrganizationCapacityReply: - example: - has_capacity: true - properties: - has_capacity: - type: boolean - type: object - ReviewOrganizationCapacityRequest: - example: - plan: plan - properties: - plan: - type: string - type: object - Env: - example: - secret: secret - value: value - key: key - properties: - key: - type: string - value: - type: string - secret: - type: string - type: object - GetRegionalDeploymentReply: - example: - regional_deployment: - metadata: "{}" - role: null + - metadata: + database: + neon_postgres: + reset_role_passwords: + - reset_role_passwords + - reset_role_passwords + git: + last_provisioned_deployment_id: last_provisioned_deployment_id + archive: + last_provisioned_deployment_id: last_provisioned_deployment_id + trigger: + actor: null + git: + sender_username: sender_username + provider: null + repository: repository + message: message + branch: branch + sha: sha + sender_avatar_url: sender_avatar_url + sender_profile_url: sender_profile_url + type: null created_at: 2000-01-23T04:56:07.000+00:00 - scheduled_at: 2000-01-23T04:56:07.000+00:00 version: version succeeded_at: 2000-01-23T04:56:07.000+00:00 - datacenters: - - datacenters - - datacenters updated_at: 2000-01-23T04:56:07.000+00:00 child_id: child_id provisioning_info: @@ -17721,7 +16556,7 @@ components: - messages - messages started_at: 2000-01-23T04:56:07.000+00:00 - id: 0 + id: 5 steps: - finished_at: 2000-01-23T04:56:07.000+00:00 name: name @@ -17747,7 +16582,7 @@ components: - messages - messages started_at: 2000-01-23T04:56:07.000+00:00 - id: 0 + id: 5 steps: - finished_at: 2000-01-23T04:56:07.000+00:00 name: name @@ -17781,7 +16616,7 @@ components: - messages - messages started_at: 2000-01-23T04:56:07.000+00:00 - id: 0 + id: 5 steps: - finished_at: 2000-01-23T04:56:07.000+00:00 name: name @@ -17807,7 +16642,7 @@ components: - messages - messages started_at: 2000-01-23T04:56:07.000+00:00 - id: 0 + id: 5 steps: - finished_at: 2000-01-23T04:56:07.000+00:00 name: name @@ -17841,43 +16676,31 @@ components: - messages - messages definition: - scaling: - min: 1 - max: 5 - targets: - - average_mem: - value: 2 - requests_per_second: - value: 7 - average_cpu: - value: 5 - requests_response_time: - quantile: 2 - value: 3 - concurrent_requests: - value: 9 - sleep_idle_delay: - value: 4 - - average_mem: - value: 2 - requests_per_second: - value: 7 - average_cpu: - value: 5 - requests_response_time: - quantile: 2 - value: 3 - concurrent_requests: - value: 9 - sleep_idle_delay: - value: 4 + instance_types: + - scopes: + - scopes + - scopes + type: type + - scopes: + - scopes + - scopes + type: type + regions: + - regions + - regions volumes: - path: path - replica_index: 5 + replica_index: 1 id: id + scopes: + - scopes + - scopes - path: path - replica_index: 5 + replica_index: 1 id: id + scopes: + - scopes + - scopes skip_cache: true archive: id: id @@ -17903,10 +16726,16 @@ components: - protocol: protocol port: 6 env: - - secret: secret + - scopes: + - scopes + - scopes + secret: secret value: value key: key - - secret: secret + - scopes: + - scopes + - scopes + secret: secret value: value key: key config_files: @@ -17932,6 +16761,21 @@ components: port: 0 - path: path port: 0 + database: + neon_postgres: + databases: + - owner: owner + name: name + - owner: owner + name: name + roles: + - name: name + secret: secret + - name: name + secret: secret + region: region + instance_type: instance_type + pg_version: 4 git: run_command: run_command workdir: workdir @@ -17956,7 +16800,71 @@ components: dockerfile: dockerfile command: command target: target - deployment_group: deployment_group + scalings: + - min: 1 + max: 5 + scopes: + - scopes + - scopes + targets: + - average_mem: + value: 2 + requests_per_second: + value: 7 + average_cpu: + value: 5 + requests_response_time: + quantile: 2 + value: 3 + concurrent_requests: + value: 9 + sleep_idle_delay: + value: 4 + - average_mem: + value: 2 + requests_per_second: + value: 7 + average_cpu: + value: 5 + requests_response_time: + quantile: 2 + value: 3 + concurrent_requests: + value: 9 + sleep_idle_delay: + value: 4 + - min: 1 + max: 5 + scopes: + - scopes + - scopes + targets: + - average_mem: + value: 2 + requests_per_second: + value: 7 + average_cpu: + value: 5 + requests_response_time: + quantile: 2 + value: 3 + concurrent_requests: + value: 9 + sleep_idle_delay: + value: 4 + - average_mem: + value: 2 + requests_per_second: + value: 7 + average_cpu: + value: 5 + requests_response_time: + quantile: 2 + value: 3 + concurrent_requests: + value: 9 + sleep_idle_delay: + value: 4 health_checks: - tcp: port: 6 @@ -17991,45 +16899,40 @@ components: name: name strategy: type: null - region: region - instance_type: instance_type id: id - deployment_id: deployment_id - region: region - app_id: app_id - terminated_at: 2000-01-23T04:56:07.000+00:00 - allocated_at: 2000-01-23T04:56:07.000+00:00 - status: null - properties: - regional_deployment: - $ref: '#/components/schemas/RegionalDeployment' - type: object - ListRegionalDeploymentEventsReply: - example: - offset: 6 - limit: 0 + database_info: + neon_postgres: + endpoint_state: endpoint_state + endpoint_last_active: 2000-01-23T04:56:07.000+00:00 + server_host: server_host + roles: + - secret_id: secret_id + name: name + - secret_id: secret_id + name: name + written_data_bytes: written_data_bytes + data_transfer_bytes: data_transfer_bytes + default_branch_state: default_branch_state + active_time_seconds: active_time_seconds + default_branch_logical_size: default_branch_logical_size + default_branch_name: default_branch_name + server_port: 9 + default_branch_id: default_branch_id + compute_time_seconds: compute_time_seconds + data_storage_bytes_hour: data_storage_bytes_hour + app_id: app_id + terminated_at: 2000-01-23T04:56:07.000+00:00 + allocated_at: 2000-01-23T04:56:07.000+00:00 + status: null + offset: 6 + limit: 9 + count: 8 has_next: true - events: - - regional_deployment_id: regional_deployment_id - metadata: "{}" - organization_id: organization_id - id: id - type: type - message: message - when: 2000-01-23T04:56:07.000+00:00 - - regional_deployment_id: regional_deployment_id - metadata: "{}" - organization_id: organization_id - id: id - type: type - message: message - when: 2000-01-23T04:56:07.000+00:00 - order: order properties: - events: + deployments: items: - $ref: '#/components/schemas/RegionalDeploymentEvent' - title: The collection of events + $ref: '#/components/schemas/DeploymentListItem' + title: The collection of deployments type: array limit: format: int64 @@ -18039,2631 +16942,1742 @@ components: format: int64 title: The offset in the request type: integer - order: - title: The order in the request - type: string + count: + format: int64 + title: The total number of items + type: integer has_next: title: If there is more items after in the collection type: boolean type: object - ListRegionalDeploymentsReply: + NeonPostgresDatabase: example: - offset: 7 - regional_deployments: - - updated_at: 2000-01-23T04:56:07.000+00:00 - created_at: 2000-01-23T04:56:07.000+00:00 - messages: - - messages - - messages - definition: - scaling: - min: 1 - max: 5 - targets: - - average_mem: - value: 2 - requests_per_second: - value: 7 - average_cpu: - value: 5 - requests_response_time: - quantile: 2 - value: 3 - concurrent_requests: - value: 9 - sleep_idle_delay: - value: 4 - - average_mem: - value: 2 - requests_per_second: - value: 7 - average_cpu: - value: 5 - requests_response_time: - quantile: 2 - value: 3 - concurrent_requests: - value: 9 - sleep_idle_delay: - value: 4 - volumes: - - path: path - replica_index: 5 - id: id - - path: path - replica_index: 5 - id: id - skip_cache: true - archive: - id: id - buildpack: - privileged: true - run_command: run_command - build_command: build_command - docker: - args: - - args - - args - privileged: true - entrypoint: - - entrypoint - - entrypoint - dockerfile: dockerfile - command: command - target: target - type: null - ports: - - protocol: protocol - port: 6 - - protocol: protocol - port: 6 - env: - - secret: secret - value: value - key: key - - secret: secret - value: value - key: key - config_files: - - path: path - permissions: permissions - content: content - - path: path - permissions: permissions - content: content - docker: - args: - - args - - args - privileged: true - image: image - image_registry_secret: image_registry_secret - entrypoint: - - entrypoint - - entrypoint - command: command - routes: - - path: path - port: 0 - - path: path - port: 0 - git: - run_command: run_command - workdir: workdir - build_command: build_command - no_deploy_on_push: true - tag: tag - repository: repository - buildpack: - privileged: true - run_command: run_command - build_command: build_command - branch: branch - sha: sha - docker: - args: - - args - - args - privileged: true - entrypoint: - - entrypoint - - entrypoint - dockerfile: dockerfile - command: command - target: target - deployment_group: deployment_group - health_checks: - - tcp: - port: 6 - restart_limit: 1 - http: - path: path - headers: - - value: value - key: key - - value: value - key: key - method: method - port: 7 - interval: 1 - grace_period: 7 - timeout: 1 - - tcp: - port: 6 - restart_limit: 1 - http: - path: path - headers: - - value: value - key: key - - value: value - key: key - method: method - port: 7 - interval: 1 - grace_period: 7 - timeout: 1 - name: name - strategy: - type: null - region: region - instance_type: instance_type - id: id - region: region - status: null - - updated_at: 2000-01-23T04:56:07.000+00:00 - created_at: 2000-01-23T04:56:07.000+00:00 - messages: - - messages - - messages - definition: - scaling: - min: 1 - max: 5 - targets: - - average_mem: - value: 2 - requests_per_second: - value: 7 - average_cpu: - value: 5 - requests_response_time: - quantile: 2 - value: 3 - concurrent_requests: - value: 9 - sleep_idle_delay: - value: 4 - - average_mem: - value: 2 - requests_per_second: - value: 7 - average_cpu: - value: 5 - requests_response_time: - quantile: 2 - value: 3 - concurrent_requests: - value: 9 - sleep_idle_delay: - value: 4 - volumes: - - path: path - replica_index: 5 - id: id - - path: path - replica_index: 5 - id: id - skip_cache: true - archive: - id: id - buildpack: - privileged: true - run_command: run_command - build_command: build_command - docker: - args: - - args - - args - privileged: true - entrypoint: - - entrypoint - - entrypoint - dockerfile: dockerfile - command: command - target: target - type: null - ports: - - protocol: protocol - port: 6 - - protocol: protocol - port: 6 - env: - - secret: secret - value: value - key: key - - secret: secret - value: value - key: key - config_files: - - path: path - permissions: permissions - content: content - - path: path - permissions: permissions - content: content - docker: - args: - - args - - args - privileged: true - image: image - image_registry_secret: image_registry_secret - entrypoint: - - entrypoint - - entrypoint - command: command - routes: - - path: path - port: 0 - - path: path - port: 0 - git: - run_command: run_command - workdir: workdir - build_command: build_command - no_deploy_on_push: true - tag: tag - repository: repository - buildpack: - privileged: true - run_command: run_command - build_command: build_command - branch: branch - sha: sha - docker: - args: - - args - - args - privileged: true - entrypoint: - - entrypoint - - entrypoint - dockerfile: dockerfile - command: command - target: target - deployment_group: deployment_group - health_checks: - - tcp: - port: 6 - restart_limit: 1 - http: - path: path - headers: - - value: value - key: key - - value: value - key: key - method: method - port: 7 - interval: 1 - grace_period: 7 - timeout: 1 - - tcp: - port: 6 - restart_limit: 1 - http: - path: path - headers: - - value: value - key: key - - value: value - key: key - method: method - port: 7 - interval: 1 - grace_period: 7 - timeout: 1 - name: name - strategy: - type: null - region: region - instance_type: instance_type - id: id - region: region - status: null - limit: 2 - count: 9 - has_next: true + databases: + - owner: owner + name: name + - owner: owner + name: name + roles: + - name: name + secret: secret + - name: name + secret: secret + region: region + instance_type: instance_type + pg_version: 4 properties: - regional_deployments: - items: - $ref: '#/components/schemas/RegionalDeploymentListItem' - title: The collection of regional deployments - type: array - limit: - format: int64 - title: The limit in the request - type: integer - offset: - format: int64 - title: The offset in the request - type: integer - count: + pg_version: format: int64 - title: The total number of items type: integer - has_next: - title: If there is more items after in the collection - type: boolean + region: + type: string + instance_type: + type: string + roles: + items: + $ref: '#/components/schemas/NeonPostgresDatabase.NeonRole' + type: array + databases: + items: + $ref: '#/components/schemas/NeonPostgresDatabase.NeonDatabase' + type: array type: object - Port: + NeonPostgresDatabase.NeonDatabase: + example: + owner: owner + name: name + properties: + name: + type: string + owner: + type: string + type: object + NeonPostgresDatabase.NeonRole: + example: + name: name + secret: secret + properties: + name: + type: string + secret: + type: string + type: object + NeonPostgresDatabaseDeploymentMetadata: + example: + reset_role_passwords: + - reset_role_passwords + - reset_role_passwords + properties: + reset_role_passwords: + items: + type: string + type: array + type: object + TCPHealthCheck: example: - protocol: protocol port: 6 properties: port: format: int64 + title: "The port to use to perform the health check, must be declared in\ + \ the ports section" type: integer - protocol: - type: string type: object - RegionalDeployment: + TriggerDeploymentMetadata: example: - metadata: "{}" - role: null - created_at: 2000-01-23T04:56:07.000+00:00 - scheduled_at: 2000-01-23T04:56:07.000+00:00 - version: version - succeeded_at: 2000-01-23T04:56:07.000+00:00 - datacenters: - - datacenters - - datacenters - updated_at: 2000-01-23T04:56:07.000+00:00 - child_id: child_id - provisioning_info: - image: image - stages: - - finished_at: 2000-01-23T04:56:07.000+00:00 - build_attempts: - - internal_failure: true - finished_at: 2000-01-23T04:56:07.000+00:00 - wait_completion: true - image_pushed: true - messages: - - messages - - messages - started_at: 2000-01-23T04:56:07.000+00:00 - id: 0 - steps: - - finished_at: 2000-01-23T04:56:07.000+00:00 - name: name - messages: - - messages - - messages - started_at: 2000-01-23T04:56:07.000+00:00 - status: null - - finished_at: 2000-01-23T04:56:07.000+00:00 - name: name - messages: - - messages - - messages - started_at: 2000-01-23T04:56:07.000+00:00 - status: null - status: null - retryable_failure: true - - internal_failure: true - finished_at: 2000-01-23T04:56:07.000+00:00 - wait_completion: true - image_pushed: true - messages: - - messages - - messages - started_at: 2000-01-23T04:56:07.000+00:00 - id: 0 - steps: - - finished_at: 2000-01-23T04:56:07.000+00:00 - name: name - messages: - - messages - - messages - started_at: 2000-01-23T04:56:07.000+00:00 - status: null - - finished_at: 2000-01-23T04:56:07.000+00:00 - name: name - messages: - - messages - - messages - started_at: 2000-01-23T04:56:07.000+00:00 - status: null - status: null - retryable_failure: true - name: name - messages: - - messages - - messages - started_at: 2000-01-23T04:56:07.000+00:00 - status: null - - finished_at: 2000-01-23T04:56:07.000+00:00 - build_attempts: - - internal_failure: true - finished_at: 2000-01-23T04:56:07.000+00:00 - wait_completion: true - image_pushed: true - messages: - - messages - - messages - started_at: 2000-01-23T04:56:07.000+00:00 - id: 0 - steps: - - finished_at: 2000-01-23T04:56:07.000+00:00 - name: name - messages: - - messages - - messages - started_at: 2000-01-23T04:56:07.000+00:00 - status: null - - finished_at: 2000-01-23T04:56:07.000+00:00 - name: name - messages: - - messages - - messages - started_at: 2000-01-23T04:56:07.000+00:00 - status: null - status: null - retryable_failure: true - - internal_failure: true - finished_at: 2000-01-23T04:56:07.000+00:00 - wait_completion: true - image_pushed: true - messages: - - messages - - messages - started_at: 2000-01-23T04:56:07.000+00:00 - id: 0 - steps: - - finished_at: 2000-01-23T04:56:07.000+00:00 - name: name - messages: - - messages - - messages - started_at: 2000-01-23T04:56:07.000+00:00 - status: null - - finished_at: 2000-01-23T04:56:07.000+00:00 - name: name - messages: - - messages - - messages - started_at: 2000-01-23T04:56:07.000+00:00 - status: null - status: null - retryable_failure: true - name: name - messages: - - messages - - messages - started_at: 2000-01-23T04:56:07.000+00:00 - status: null + actor: null + git: + sender_username: sender_username + provider: null + repository: repository + message: message + branch: branch sha: sha - deployment_group: deployment_group - parent_id: parent_id - organization_id: organization_id - service_id: service_id - started_at: 2000-01-23T04:56:07.000+00:00 - messages: - - messages - - messages - definition: - scaling: - min: 1 - max: 5 - targets: - - average_mem: - value: 2 - requests_per_second: - value: 7 - average_cpu: - value: 5 - requests_response_time: - quantile: 2 - value: 3 - concurrent_requests: - value: 9 - sleep_idle_delay: - value: 4 - - average_mem: - value: 2 - requests_per_second: - value: 7 - average_cpu: - value: 5 - requests_response_time: - quantile: 2 - value: 3 - concurrent_requests: - value: 9 - sleep_idle_delay: - value: 4 - volumes: - - path: path - replica_index: 5 - id: id - - path: path - replica_index: 5 - id: id - skip_cache: true - archive: - id: id - buildpack: - privileged: true - run_command: run_command - build_command: build_command - docker: - args: - - args - - args - privileged: true - entrypoint: - - entrypoint - - entrypoint - dockerfile: dockerfile - command: command - target: target - type: null - ports: - - protocol: protocol - port: 6 - - protocol: protocol - port: 6 - env: - - secret: secret - value: value - key: key - - secret: secret - value: value - key: key - config_files: - - path: path - permissions: permissions - content: content - - path: path - permissions: permissions - content: content - docker: - args: - - args - - args - privileged: true - image: image - image_registry_secret: image_registry_secret - entrypoint: - - entrypoint - - entrypoint - command: command - routes: - - path: path - port: 0 - - path: path - port: 0 - git: - run_command: run_command - workdir: workdir - build_command: build_command - no_deploy_on_push: true - tag: tag - repository: repository - buildpack: - privileged: true - run_command: run_command - build_command: build_command - branch: branch - sha: sha - docker: - args: - - args - - args - privileged: true - entrypoint: - - entrypoint - - entrypoint - dockerfile: dockerfile - command: command - target: target - deployment_group: deployment_group - health_checks: - - tcp: - port: 6 - restart_limit: 1 - http: - path: path - headers: - - value: value - key: key - - value: value - key: key - method: method - port: 7 - interval: 1 - grace_period: 7 - timeout: 1 - - tcp: - port: 6 - restart_limit: 1 - http: - path: path - headers: - - value: value - key: key - - value: value - key: key - method: method - port: 7 - interval: 1 - grace_period: 7 - timeout: 1 - name: name - strategy: - type: null - region: region - instance_type: instance_type - id: id - deployment_id: deployment_id - region: region - app_id: app_id - terminated_at: 2000-01-23T04:56:07.000+00:00 - allocated_at: 2000-01-23T04:56:07.000+00:00 - status: null + sender_avatar_url: sender_avatar_url + sender_profile_url: sender_profile_url + type: null properties: - id: - type: string - created_at: - format: date-time + type: + $ref: '#/components/schemas/TriggerDeploymentMetadata.TriggerType' + actor: + $ref: '#/components/schemas/TriggerDeploymentMetadata.ActorType' + git: + $ref: '#/components/schemas/TriggerGitDeploymentMetadata' + type: object + TriggerDeploymentMetadata.ActorType: + default: UNKNOWN_ACTOR + enum: + - UNKNOWN_ACTOR + - USER + - SYSTEM + type: string + TriggerDeploymentMetadata.TriggerType: + default: UNKNOWN_TYPE + enum: + - UNKNOWN_TYPE + - GIT + - RESUME + - DATABASE_SYNC + type: string + TriggerGitDeploymentMetadata: + example: + sender_username: sender_username + provider: null + repository: repository + message: message + branch: branch + sha: sha + sender_avatar_url: sender_avatar_url + sender_profile_url: sender_profile_url + properties: + provider: + $ref: '#/components/schemas/TriggerGitDeploymentMetadata.Provider' + repository: type: string - updated_at: - format: date-time + branch: type: string - scheduled_at: - format: date-time + sha: type: string - allocated_at: - format: date-time + message: type: string - started_at: - format: date-time + sender_username: type: string - succeeded_at: - format: date-time + sender_avatar_url: type: string - terminated_at: - format: date-time + sender_profile_url: type: string - organization_id: + type: object + TriggerGitDeploymentMetadata.Provider: + default: UNKNOWN + enum: + - UNKNOWN + - GITHUB + type: string + VerifyDockerImageReply: + example: + reason: reason + code: null + success: true + properties: + success: + title: Whether the image is accessible or not + type: boolean + reason: + title: "(Optional) If the image is not accessible, the reason" type: string + code: + $ref: '#/components/schemas/VerifyDockerImageReply.ErrCode' + type: object + VerifyDockerImageReply.ErrCode: + default: UNKNOWN + description: |- + - UNKNOWN: Default value + - AUTH_ACCESS_DENIED: The registry denied access to an authenticated request + - ANON_ACCESS_DENIED: The registry denied access to an anonymous request + - AUTH_NOT_FOUND: The image has not been found after an authenticated request + - ANON_NOT_FOUND: The image has not been found after an anonymous request + - REGISTRY_ERROR: The registry returned an error + - TIMEOUT: The request to the registry timed out + - DNS: There was an error trying to resolve the name of the registry + - MALFORMED: The provided image name is malformed + - INVALID_OS: The operating system is not supported + - INVALID_ARCH: The architecture is not supported + enum: + - UNKNOWN + - AUTH_ACCESS_DENIED + - ANON_ACCESS_DENIED + - AUTH_NOT_FOUND + - ANON_NOT_FOUND + - REGISTRY_ERROR + - TIMEOUT + - DNS + - MALFORMED + - INVALID_OS + - INVALID_ARCH + title: The error code associated to each specific failure mode + type: string + AppUsage: + example: + app_name: app_name + services: + - regions: + key: + instances: + key: + duration_seconds: 0 + service_name: service_name + service_id: service_id + - regions: + key: + instances: + key: + duration_seconds: 0 + service_name: service_name + service_id: service_id + app_id: app_id + properties: app_id: type: string - service_id: - type: string - region: - type: string - parent_id: - type: string - child_id: + app_name: type: string - status: - $ref: '#/components/schemas/RegionalDeployment.Status' - messages: + services: items: - type: string + $ref: '#/components/schemas/ServiceUsage' type: array - definition: - $ref: '#/components/schemas/RegionalDeploymentDefinition' - datacenters: + type: object + GetOrganizationUsageDetailsReply: + example: + offset: 1 + limit: 6 + count: 5 + usage_details: + - regional_deployment_id: regional_deployment_id + duration_seconds: 0 + service_name: service_name + app_name: app_name + instance_id: instance_id + organization_id: organization_id + service_id: service_id + started_at: 2000-01-23T04:56:07.000+00:00 + deployment_id: deployment_id + region: region + app_id: app_id + instance_type: instance_type + terminated_at: 2000-01-23T04:56:07.000+00:00 + - regional_deployment_id: regional_deployment_id + duration_seconds: 0 + service_name: service_name + app_name: app_name + instance_id: instance_id + organization_id: organization_id + service_id: service_id + started_at: 2000-01-23T04:56:07.000+00:00 + deployment_id: deployment_id + region: region + app_id: app_id + instance_type: instance_type + terminated_at: 2000-01-23T04:56:07.000+00:00 + order: order + properties: + usage_details: items: - type: string + $ref: '#/components/schemas/UsageDetails' + title: The collection of usage instances type: array - metadata: - type: object - provisioning_info: - $ref: '#/components/schemas/DeploymentProvisioningInfo' - role: - $ref: '#/components/schemas/RegionalDeployment.Role' - version: - format: uint64 - type: string - deployment_group: - title: Legacy stuff - type: string - deployment_id: + limit: + format: int64 + title: The limit in the request + type: integer + offset: + format: int64 + title: The offset in the request + type: integer + count: + format: int64 + title: The total number of items + type: integer + order: + title: The order in the request type: string type: object - RegionalDeployment.Role: - default: INVALID - enum: - - INVALID - - ACTIVE - - UPCOMING - - CURRENT - type: string - RegionalDeployment.Status: - default: PENDING - enum: - - PENDING - - PROVISIONING - - SCHEDULED - - CANCELING - - CANCELED - - ALLOCATING - - STARTING - - HEALTHY - - DEGRADED - - UNHEALTHY - - STOPPING - - STOPPED - - ERRORING - - ERROR - - SLEEPING - type: string - RegionalDeploymentDefinition: + GetOrganizationUsageReply: example: - scaling: - min: 1 - max: 5 - targets: - - average_mem: - value: 2 - requests_per_second: - value: 7 - average_cpu: - value: 5 - requests_response_time: - quantile: 2 - value: 3 - concurrent_requests: - value: 9 - sleep_idle_delay: - value: 4 - - average_mem: - value: 2 - requests_per_second: - value: 7 - average_cpu: - value: 5 - requests_response_time: - quantile: 2 - value: 3 - concurrent_requests: - value: 9 - sleep_idle_delay: - value: 4 - volumes: - - path: path - replica_index: 5 - id: id - - path: path - replica_index: 5 - id: id - skip_cache: true - archive: - id: id - buildpack: - privileged: true - run_command: run_command - build_command: build_command - docker: - args: - - args - - args - privileged: true - entrypoint: - - entrypoint - - entrypoint - dockerfile: dockerfile - command: command - target: target - type: null - ports: - - protocol: protocol - port: 6 - - protocol: protocol - port: 6 - env: - - secret: secret - value: value - key: key - - secret: secret - value: value - key: key - config_files: - - path: path - permissions: permissions - content: content - - path: path - permissions: permissions - content: content - docker: - args: - - args - - args - privileged: true - image: image - image_registry_secret: image_registry_secret - entrypoint: - - entrypoint - - entrypoint - command: command - routes: - - path: path - port: 0 - - path: path - port: 0 - git: - run_command: run_command - workdir: workdir - build_command: build_command - no_deploy_on_push: true - tag: tag - repository: repository - buildpack: - privileged: true - run_command: run_command - build_command: build_command - branch: branch - sha: sha - docker: - args: - - args - - args - privileged: true - entrypoint: - - entrypoint - - entrypoint - dockerfile: dockerfile - command: command - target: target - deployment_group: deployment_group - health_checks: - - tcp: - port: 6 - restart_limit: 1 - http: - path: path - headers: - - value: value - key: key - - value: value - key: key - method: method - port: 7 - interval: 1 - grace_period: 7 - timeout: 1 - - tcp: - port: 6 - restart_limit: 1 - http: - path: path - headers: - - value: value - key: key - - value: value - key: key - method: method - port: 7 - interval: 1 - grace_period: 7 - timeout: 1 - name: name - strategy: - type: null - region: region - instance_type: instance_type + usage: + organization_id: organization_id + periods: + key: + ending_time: 2000-01-23T04:56:07.000+00:00 + starting_time: 2000-01-23T04:56:07.000+00:00 + apps: + - app_name: app_name + services: + - regions: + key: + instances: + key: + duration_seconds: 0 + service_name: service_name + service_id: service_id + - regions: + key: + instances: + key: + duration_seconds: 0 + service_name: service_name + service_id: service_id + app_id: app_id + - app_name: app_name + services: + - regions: + key: + instances: + key: + duration_seconds: 0 + service_name: service_name + service_id: service_id + - regions: + key: + instances: + key: + duration_seconds: 0 + service_name: service_name + service_id: service_id + app_id: app_id properties: - name: - type: string - type: - $ref: '#/components/schemas/RegionalDeploymentDefinition.Type' - strategy: - $ref: '#/components/schemas/DeploymentStrategy' - routes: - items: - $ref: '#/components/schemas/Route' - type: array - ports: - items: - $ref: '#/components/schemas/Port' - type: array - env: - items: - $ref: '#/components/schemas/Env' - type: array - region: - type: string - scaling: - $ref: '#/components/schemas/Scaling' - instance_type: - type: string - deployment_group: - type: string - health_checks: - items: - $ref: '#/components/schemas/DeploymentHealthCheck' - type: array - volumes: - items: - $ref: '#/components/schemas/RegionalDeploymentVolume' - type: array - config_files: - items: - $ref: '#/components/schemas/ConfigFile' - type: array - skip_cache: - type: boolean - docker: - $ref: '#/components/schemas/DockerSource' - git: - $ref: '#/components/schemas/GitSource' - archive: - $ref: '#/components/schemas/ArchiveSource' + usage: + $ref: '#/components/schemas/Usage' type: object - RegionalDeploymentDefinition.Type: - default: INVALID - enum: - - INVALID - - WEB - - WORKER - type: string - RegionalDeploymentEvent: + InstanceUsage: example: - regional_deployment_id: regional_deployment_id - metadata: "{}" - organization_id: organization_id - id: id - type: type - message: message - when: 2000-01-23T04:56:07.000+00:00 + duration_seconds: 0 properties: - id: - type: string - when: - format: date-time - type: string - organization_id: - type: string - regional_deployment_id: - type: string - type: - type: string - message: - type: string - metadata: - properties: {} - type: object + duration_seconds: + format: int64 + type: integer type: object - RegionalDeploymentListItem: + PeriodUsage: example: - updated_at: 2000-01-23T04:56:07.000+00:00 - created_at: 2000-01-23T04:56:07.000+00:00 - messages: - - messages - - messages - definition: - scaling: - min: 1 - max: 5 - targets: - - average_mem: - value: 2 - requests_per_second: - value: 7 - average_cpu: - value: 5 - requests_response_time: - quantile: 2 - value: 3 - concurrent_requests: - value: 9 - sleep_idle_delay: - value: 4 - - average_mem: - value: 2 - requests_per_second: - value: 7 - average_cpu: - value: 5 - requests_response_time: - quantile: 2 - value: 3 - concurrent_requests: - value: 9 - sleep_idle_delay: - value: 4 - volumes: - - path: path - replica_index: 5 - id: id - - path: path - replica_index: 5 - id: id - skip_cache: true - archive: - id: id - buildpack: - privileged: true - run_command: run_command - build_command: build_command - docker: - args: - - args - - args - privileged: true - entrypoint: - - entrypoint - - entrypoint - dockerfile: dockerfile - command: command - target: target - type: null - ports: - - protocol: protocol - port: 6 - - protocol: protocol - port: 6 - env: - - secret: secret - value: value - key: key - - secret: secret - value: value - key: key - config_files: - - path: path - permissions: permissions - content: content - - path: path - permissions: permissions - content: content - docker: - args: - - args - - args - privileged: true - image: image - image_registry_secret: image_registry_secret - entrypoint: - - entrypoint - - entrypoint - command: command - routes: - - path: path - port: 0 - - path: path - port: 0 - git: - run_command: run_command - workdir: workdir - build_command: build_command - no_deploy_on_push: true - tag: tag - repository: repository - buildpack: - privileged: true - run_command: run_command - build_command: build_command - branch: branch - sha: sha - docker: - args: - - args - - args - privileged: true - entrypoint: - - entrypoint - - entrypoint - dockerfile: dockerfile - command: command - target: target - deployment_group: deployment_group - health_checks: - - tcp: - port: 6 - restart_limit: 1 - http: - path: path - headers: - - value: value - key: key - - value: value - key: key - method: method - port: 7 - interval: 1 - grace_period: 7 - timeout: 1 - - tcp: - port: 6 - restart_limit: 1 - http: - path: path - headers: - - value: value - key: key - - value: value - key: key - method: method - port: 7 - interval: 1 - grace_period: 7 - timeout: 1 - name: name - strategy: - type: null - region: region - instance_type: instance_type - id: id - region: region - status: null + ending_time: 2000-01-23T04:56:07.000+00:00 + starting_time: 2000-01-23T04:56:07.000+00:00 + apps: + - app_name: app_name + services: + - regions: + key: + instances: + key: + duration_seconds: 0 + service_name: service_name + service_id: service_id + - regions: + key: + instances: + key: + duration_seconds: 0 + service_name: service_name + service_id: service_id + app_id: app_id + - app_name: app_name + services: + - regions: + key: + instances: + key: + duration_seconds: 0 + service_name: service_name + service_id: service_id + - regions: + key: + instances: + key: + duration_seconds: 0 + service_name: service_name + service_id: service_id + app_id: app_id properties: - id: - type: string - created_at: + starting_time: format: date-time type: string - updated_at: + ending_time: format: date-time type: string - region: - type: string - status: - $ref: '#/components/schemas/RegionalDeployment.Status' - messages: + apps: items: - type: string + $ref: '#/components/schemas/AppUsage' type: array - definition: - $ref: '#/components/schemas/RegionalDeploymentDefinition' type: object - RegionalDeploymentMetadata: - type: object - RegionalDeploymentVolume: + RegionUsage: example: - path: path - replica_index: 5 - id: id + instances: + key: + duration_seconds: 0 properties: - id: - title: the id of the volume - type: string - path: - title: the path where the volume is mounted to - type: string - replica_index: - format: int64 - title: the replica index to mount the volume to - type: integer + instances: + additionalProperties: + $ref: '#/components/schemas/InstanceUsage' + type: object type: object - Route: + ServiceUsage: example: - path: path - port: 0 + regions: + key: + instances: + key: + duration_seconds: 0 + service_name: service_name + service_id: service_id properties: - port: - format: int64 - type: integer - path: + service_id: type: string + service_name: + type: string + regions: + additionalProperties: + $ref: '#/components/schemas/RegionUsage' + type: object type: object - Scaling: + Usage: example: - min: 1 - max: 5 - targets: - - average_mem: - value: 2 - requests_per_second: - value: 7 - average_cpu: - value: 5 - requests_response_time: - quantile: 2 - value: 3 - concurrent_requests: - value: 9 - sleep_idle_delay: - value: 4 - - average_mem: - value: 2 - requests_per_second: - value: 7 - average_cpu: - value: 5 - requests_response_time: - quantile: 2 - value: 3 - concurrent_requests: - value: 9 - sleep_idle_delay: - value: 4 + organization_id: organization_id + periods: + key: + ending_time: 2000-01-23T04:56:07.000+00:00 + starting_time: 2000-01-23T04:56:07.000+00:00 + apps: + - app_name: app_name + services: + - regions: + key: + instances: + key: + duration_seconds: 0 + service_name: service_name + service_id: service_id + - regions: + key: + instances: + key: + duration_seconds: 0 + service_name: service_name + service_id: service_id + app_id: app_id + - app_name: app_name + services: + - regions: + key: + instances: + key: + duration_seconds: 0 + service_name: service_name + service_id: service_id + - regions: + key: + instances: + key: + duration_seconds: 0 + service_name: service_name + service_id: service_id + app_id: app_id properties: - min: - format: int64 - type: integer - max: - format: int64 - type: integer - targets: - items: - $ref: '#/components/schemas/DeploymentScalingTarget' - type: array + organization_id: + type: string + periods: + additionalProperties: + $ref: '#/components/schemas/PeriodUsage' + type: object type: object - kgitproxy.Branch: + UsageDetails: example: - provider: null + regional_deployment_id: regional_deployment_id + duration_seconds: 0 + service_name: service_name + app_name: app_name + instance_id: instance_id organization_id: organization_id - name: name - repository_id: repository_id - id: id - is_default: true - is_protected: true + service_id: service_id + started_at: 2000-01-23T04:56:07.000+00:00 + deployment_id: deployment_id + region: region + app_id: app_id + instance_type: instance_type + terminated_at: 2000-01-23T04:56:07.000+00:00 properties: - id: - type: string organization_id: type: string - repository_id: + instance_id: type: string - name: + app_id: type: string - is_default: - type: boolean - is_protected: - type: boolean - provider: - $ref: '#/components/schemas/kgitproxy.RepositoryProvider' - type: object - kgitproxy.GitHubRepository: - example: - github_id: github_id - properties: - github_id: + app_name: + type: string + service_id: + type: string + service_name: + type: string + regional_deployment_id: + type: string + region: + type: string + deployment_id: + type: string + instance_type: + type: string + duration_seconds: + format: int64 + type: integer + started_at: + format: date-time + type: string + terminated_at: + format: date-time type: string type: object - kgitproxy.ListBranchesReply: + CreateSnapshotReply: example: - offset: 6 - limit: 0 - count: 1 - branches: - - provider: null + snapshot: + size: 0 + updated_at: 2000-01-23T04:56:07.000+00:00 organization_id: organization_id name: name - repository_id: repository_id + created_at: 2000-01-23T04:56:07.000+00:00 id: id - is_default: true - is_protected: true - - provider: null + region: region + type: null + deleted_at: 2000-01-23T04:56:07.000+00:00 + parent_volume_id: parent_volume_id + status: null + properties: + snapshot: + $ref: '#/components/schemas/Snapshot' + type: object + CreateSnapshotRequest: + example: + name: name + parent_volume_id: parent_volume_id + properties: + parent_volume_id: + title: The id of the volume to snapshot + type: string + name: + title: The name of the snapshot + type: string + type: object + DeleteSnapshotReply: + example: + snapshot: + size: 0 + updated_at: 2000-01-23T04:56:07.000+00:00 organization_id: organization_id name: name - repository_id: repository_id + created_at: 2000-01-23T04:56:07.000+00:00 id: id - is_default: true - is_protected: true + region: region + type: null + deleted_at: 2000-01-23T04:56:07.000+00:00 + parent_volume_id: parent_volume_id + status: null properties: - branches: - description: The collection of branches. - items: - $ref: '#/components/schemas/kgitproxy.Branch' - type: array - limit: - description: The limit in the request. - format: int64 - type: integer - offset: - description: The offset in the request. - format: int64 - type: integer - count: - description: The total number of items. - format: int64 - type: integer + snapshot: + $ref: '#/components/schemas/Snapshot' type: object - kgitproxy.ListRepositoriesReply: + GetSnapshotReply: example: - offset: 6 - repositories: - - is_private: true - github: - github_id: github_id - last_push_date: 2000-01-23T04:56:07.000+00:00 - provider: null + snapshot: + size: 0 + updated_at: 2000-01-23T04:56:07.000+00:00 organization_id: organization_id - is_disabled: true name: name - description: description - default_branch: default_branch + created_at: 2000-01-23T04:56:07.000+00:00 id: id - url: url - - is_private: true - github: - github_id: github_id - last_push_date: 2000-01-23T04:56:07.000+00:00 - provider: null + region: region + type: null + deleted_at: 2000-01-23T04:56:07.000+00:00 + parent_volume_id: parent_volume_id + status: null + properties: + snapshot: + $ref: '#/components/schemas/Snapshot' + type: object + ListSnapshotsReply: + example: + snapshots: + - size: 0 + updated_at: 2000-01-23T04:56:07.000+00:00 organization_id: organization_id - is_disabled: true name: name - description: description - default_branch: default_branch + created_at: 2000-01-23T04:56:07.000+00:00 id: id - url: url - limit: 0 - count: 1 + region: region + type: null + deleted_at: 2000-01-23T04:56:07.000+00:00 + parent_volume_id: parent_volume_id + status: null + - size: 0 + updated_at: 2000-01-23T04:56:07.000+00:00 + organization_id: organization_id + name: name + created_at: 2000-01-23T04:56:07.000+00:00 + id: id + region: region + type: null + deleted_at: 2000-01-23T04:56:07.000+00:00 + parent_volume_id: parent_volume_id + status: null + offset: 1 + limit: 6 + has_next: true properties: - repositories: - description: The collection of repositories. + snapshots: items: - $ref: '#/components/schemas/kgitproxy.Repository' + $ref: '#/components/schemas/Snapshot' + title: The collection of snapshots type: array limit: - description: The limit in the request. format: int64 + title: The limit in the request type: integer offset: - description: The offset in the request. - format: int64 - type: integer - count: - description: The total number of items. format: int64 + title: The offset in the request type: integer + has_next: + title: If there is more items after in the collection + type: boolean type: object - kgitproxy.Repository: + Snapshot: + description: "The object that represents a snapshot. It can either be local,\ + \ on a node, or remote, in a cold storage." example: - is_private: true - github: - github_id: github_id - last_push_date: 2000-01-23T04:56:07.000+00:00 - provider: null + size: 0 + updated_at: 2000-01-23T04:56:07.000+00:00 organization_id: organization_id - is_disabled: true name: name - description: description - default_branch: default_branch + created_at: 2000-01-23T04:56:07.000+00:00 id: id - url: url + region: region + type: null + deleted_at: 2000-01-23T04:56:07.000+00:00 + parent_volume_id: parent_volume_id + status: null properties: id: - type: string - organization_id: + title: the identifier of the snapshot object type: string name: + title: the snapshot name type: string - url: - type: string - description: + size: + format: int64 + title: the original volume size + type: integer + created_at: + format: date-time + title: creation timestamp type: string - is_private: - type: boolean - is_disabled: - type: boolean - default_branch: + updated_at: + format: date-time + title: last change timestamp type: string - provider: - $ref: '#/components/schemas/kgitproxy.RepositoryProvider' - last_push_date: + deleted_at: format: date-time + title: deletion timestamp type: string - github: - $ref: '#/components/schemas/kgitproxy.GitHubRepository' + organization_id: + title: the organization to which the snapshot belongs to + type: string + parent_volume_id: + title: the volume from which the snapshot has been created + type: string + region: + title: "the region where the snapshot resides, if any" + type: string + status: + $ref: '#/components/schemas/SnapshotStatus' + type: + $ref: '#/components/schemas/SnapshotType' type: object - kgitproxy.RepositoryProvider: - default: INVALID_PROVIDER + SnapshotStatus: + default: SNAPSHOT_STATUS_INVALID enum: - - INVALID_PROVIDER - - GITHUB + - SNAPSHOT_STATUS_INVALID + - SNAPSHOT_STATUS_CREATING + - SNAPSHOT_STATUS_AVAILABLE + - SNAPSHOT_STATUS_MIGRATING + - SNAPSHOT_STATUS_DELETING + - SNAPSHOT_STATUS_DELETED + title: |- + - SNAPSHOT_STATUS_INVALID: zero value, invalid + - SNAPSHOT_STATUS_CREATING: the snapshot is being created + - SNAPSHOT_STATUS_AVAILABLE: the snapshot is complete and available + - SNAPSHOT_STATUS_MIGRATING: the snapshot is being migrated + - SNAPSHOT_STATUS_DELETING: the snapshot is being deleted + - SNAPSHOT_STATUS_DELETED: the snapshot is deleted type: string - kgitproxy.ResyncOrganizationReply: - type: object - Activity: + SnapshotType: + default: SNAPSHOT_TYPE_INVALID + enum: + - SNAPSHOT_TYPE_INVALID + - SNAPSHOT_TYPE_LOCAL + - SNAPSHOT_TYPE_REMOTE + title: |- + - SNAPSHOT_TYPE_INVALID: zero value, invalid + - SNAPSHOT_TYPE_LOCAL: the snapshot is local to the machine + - SNAPSHOT_TYPE_REMOTE: the snapshot is remote in a cold storage + type: string + UpdateSnapshotReply: example: - actor: - metadata: "{}" - deleted: true + snapshot: + size: 0 + updated_at: 2000-01-23T04:56:07.000+00:00 + organization_id: organization_id name: name + created_at: 2000-01-23T04:56:07.000+00:00 id: id + region: region + type: null + deleted_at: 2000-01-23T04:56:07.000+00:00 + parent_volume_id: parent_volume_id + status: null + properties: + snapshot: + $ref: '#/components/schemas/Snapshot' + type: object + GetInstanceReply: + example: + instance: + regional_deployment_id: regional_deployment_id + created_at: 2000-01-23T04:56:07.000+00:00 + datacenter: datacenter type: type - metadata: "{}" - verb: verb + succeeded_at: 2000-01-23T04:56:07.000+00:00 + xyz_deployment_id: xyz_deployment_id + updated_at: 2000-01-23T04:56:07.000+00:00 + organization_id: organization_id + service_id: service_id + hypervisor: hypervisor + allocation_id: allocation_id + replica_index: 0 + messages: + - messages + - messages + started_at: 2000-01-23T04:56:07.000+00:00 + id: id + region: region + app_id: app_id + terminated_at: 2000-01-23T04:56:07.000+00:00 + status: null + properties: + instance: + $ref: '#/components/schemas/Instance' + type: object + Instance: + example: + regional_deployment_id: regional_deployment_id created_at: 2000-01-23T04:56:07.000+00:00 + datacenter: datacenter + type: type + succeeded_at: 2000-01-23T04:56:07.000+00:00 + xyz_deployment_id: xyz_deployment_id + updated_at: 2000-01-23T04:56:07.000+00:00 + organization_id: organization_id + service_id: service_id + hypervisor: hypervisor + allocation_id: allocation_id + replica_index: 0 + messages: + - messages + - messages + started_at: 2000-01-23T04:56:07.000+00:00 id: id - object: - metadata: "{}" - deleted: true - name: name - id: id - type: type + region: region + app_id: app_id + terminated_at: 2000-01-23T04:56:07.000+00:00 + status: null properties: id: type: string - actor: - $ref: '#/components/schemas/Object' - object: - $ref: '#/components/schemas/Object' - verb: - type: string - metadata: - properties: {} - type: object created_at: format: date-time type: string - type: object - ActivityList: - example: - offset: 6 - activities: - - actor: - metadata: "{}" - deleted: true - name: name - id: id - type: type - metadata: "{}" - verb: verb - created_at: 2000-01-23T04:56:07.000+00:00 - id: id - object: - metadata: "{}" - deleted: true - name: name - id: id - type: type - - actor: - metadata: "{}" - deleted: true - name: name - id: id - type: type - metadata: "{}" - verb: verb - created_at: 2000-01-23T04:56:07.000+00:00 - id: id - object: - metadata: "{}" - deleted: true - name: name - id: id - type: type - limit: 0 - has_next: true - properties: - activities: - items: - $ref: '#/components/schemas/Activity' - type: array - limit: - format: int64 - type: integer - offset: + updated_at: + format: date-time + type: string + organization_id: + type: string + app_id: + type: string + service_id: + type: string + regional_deployment_id: + type: string + allocation_id: + type: string + type: + type: string + replica_index: format: int64 type: integer - has_next: - type: boolean - type: object - Notification: - example: - is_read: true - activity: - actor: - metadata: "{}" - deleted: true - name: name - id: id - type: type - metadata: "{}" - verb: verb - created_at: 2000-01-23T04:56:07.000+00:00 - id: id - object: - metadata: "{}" - deleted: true - name: name - id: id - type: type - created_at: 2000-01-23T04:56:07.000+00:00 - id: id - is_seen: true - properties: - id: + region: type: string - activity: - $ref: '#/components/schemas/Activity' - is_read: - type: boolean - is_seen: - type: boolean - created_at: - format: date-time + datacenter: type: string - type: object - NotificationList: - example: - is_read: true - offset: 6 - unread: 5 - limit: 0 - count: 1 - is_seen: true - notifications: - - is_read: true - activity: - actor: - metadata: "{}" - deleted: true - name: name - id: id - type: type - metadata: "{}" - verb: verb - created_at: 2000-01-23T04:56:07.000+00:00 - id: id - object: - metadata: "{}" - deleted: true - name: name - id: id - type: type - created_at: 2000-01-23T04:56:07.000+00:00 - id: id - is_seen: true - - is_read: true - activity: - actor: - metadata: "{}" - deleted: true - name: name - id: id - type: type - metadata: "{}" - verb: verb - created_at: 2000-01-23T04:56:07.000+00:00 - id: id - object: - metadata: "{}" - deleted: true - name: name - id: id - type: type - created_at: 2000-01-23T04:56:07.000+00:00 - id: id - is_seen: true - unseen: 5 - properties: - notifications: + hypervisor: + type: string + status: + $ref: '#/components/schemas/Instance.Status' + messages: items: - $ref: '#/components/schemas/Notification' + type: string type: array - limit: - format: int64 - type: integer - offset: - format: int64 - type: integer - count: - format: int64 - type: integer - is_read: - type: boolean - is_seen: - type: boolean - unread: - format: int64 - type: integer - unseen: - format: int64 - type: integer + started_at: + format: date-time + type: string + succeeded_at: + format: date-time + type: string + terminated_at: + format: date-time + type: string + xyz_deployment_id: + description: |- + WARNING: Please don't use the following attribute. + Koyeb doesn't guarantee backwards compatible breaking change and reserve the right to completely drop it without notice. + USE AT YOUR OWN RISK. + type: string type: object - Object: + Instance.Status: + default: ALLOCATING + enum: + - ALLOCATING + - STARTING + - HEALTHY + - UNHEALTHY + - STOPPING + - STOPPED + - ERROR + - SLEEPING + type: string + InstanceEvent: example: metadata: "{}" - deleted: true - name: name + instance_id: instance_id + organization_id: organization_id id: id type: type + message: message + when: 2000-01-23T04:56:07.000+00:00 properties: id: type: string - name: + when: + format: date-time + type: string + organization_id: + type: string + instance_id: type: string type: type: string + message: + type: string metadata: properties: {} type: object - deleted: - type: boolean type: object - ExecCommandIO: + InstanceListItem: example: - data: data - close: true + regional_deployment_id: regional_deployment_id + created_at: 2000-01-23T04:56:07.000+00:00 + datacenter: datacenter + type: type + xyz_deployment_id: xyz_deployment_id + updated_at: 2000-01-23T04:56:07.000+00:00 + organization_id: organization_id + service_id: service_id + allocation_id: allocation_id + replica_index: 0 + messages: + - messages + - messages + id: id + region: region + app_id: app_id + status: null properties: - data: - description: Data is base64 encoded - format: byte - pattern: "^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$" + id: type: string - close: - description: Indicate last data frame - type: boolean - type: object - ExecCommandReply: - example: - stdout: - data: data - close: true - exited: true - exit_code: 0 - stderr: - data: data - close: true - properties: - stdout: - $ref: '#/components/schemas/ExecCommandIO' - stderr: - $ref: '#/components/schemas/ExecCommandIO' - exited: - type: boolean - exit_code: - format: int32 + created_at: + format: date-time + type: string + updated_at: + format: date-time + type: string + organization_id: + type: string + app_id: + type: string + service_id: + type: string + regional_deployment_id: + type: string + allocation_id: + type: string + type: + type: string + replica_index: + format: int64 type: integer - type: object - ExecCommandRequest.Body: - properties: - command: - description: Command to exec. Mandatory in the first frame sent + region: + type: string + datacenter: + type: string + status: + $ref: '#/components/schemas/Instance.Status' + messages: items: type: string type: array - tty_size: - $ref: '#/components/schemas/ExecCommandRequest.TerminalSize' - stdin: - $ref: '#/components/schemas/ExecCommandIO' - disableTty: - description: Disable TTY. It's enough to specify it in the first frame - type: boolean - type: object - ExecCommandRequest.IdType: - default: INVALID - enum: - - INVALID - - INSTANCE_ID - - SERVICE_ID - type: string - ExecCommandRequest.TerminalSize: - properties: - height: - format: int32 - type: integer - width: - format: int32 - type: integer + xyz_deployment_id: + description: |- + WARNING: Please don't use the following attribute. + Koyeb doesn't guarantee backwards compatible breaking change and reserve the right to completely drop it without notice. + USE AT YOUR OWN RISK. + type: string type: object - GetMetricsReply: + ListInstanceEventsReply: example: - metrics: - - samples: - - value: 0.8008281904610115 - timestamp: timestamp - - value: 0.8008281904610115 - timestamp: timestamp - labels: - key: labels - - samples: - - value: 0.8008281904610115 - timestamp: timestamp - - value: 0.8008281904610115 - timestamp: timestamp - labels: - key: labels + offset: 6 + limit: 0 + has_next: true + events: + - metadata: "{}" + instance_id: instance_id + organization_id: organization_id + id: id + type: type + message: message + when: 2000-01-23T04:56:07.000+00:00 + - metadata: "{}" + instance_id: instance_id + organization_id: organization_id + id: id + type: type + message: message + when: 2000-01-23T04:56:07.000+00:00 + order: order properties: - metrics: + events: items: - $ref: '#/components/schemas/GetMetricsReply.Metric' + $ref: '#/components/schemas/InstanceEvent' + title: The collection of events type: array + limit: + format: int64 + title: The limit in the request + type: integer + offset: + format: int64 + title: The offset in the request + type: integer + order: + title: The order in the request + type: string + has_next: + title: If there is more items after in the collection + type: boolean type: object - GetMetricsReply.Metric: + ListInstancesReply: example: - samples: - - value: 0.8008281904610115 - timestamp: timestamp - - value: 0.8008281904610115 - timestamp: timestamp - labels: - key: labels + offset: 1 + instances: + - regional_deployment_id: regional_deployment_id + created_at: 2000-01-23T04:56:07.000+00:00 + datacenter: datacenter + type: type + xyz_deployment_id: xyz_deployment_id + updated_at: 2000-01-23T04:56:07.000+00:00 + organization_id: organization_id + service_id: service_id + allocation_id: allocation_id + replica_index: 0 + messages: + - messages + - messages + id: id + region: region + app_id: app_id + status: null + - regional_deployment_id: regional_deployment_id + created_at: 2000-01-23T04:56:07.000+00:00 + datacenter: datacenter + type: type + xyz_deployment_id: xyz_deployment_id + updated_at: 2000-01-23T04:56:07.000+00:00 + organization_id: organization_id + service_id: service_id + allocation_id: allocation_id + replica_index: 0 + messages: + - messages + - messages + id: id + region: region + app_id: app_id + status: null + limit: 6 + count: 5 + order: order properties: - labels: - additionalProperties: - type: string - type: object - samples: + instances: items: - $ref: '#/components/schemas/Sample' + $ref: '#/components/schemas/InstanceListItem' + title: The collection of instances type: array - type: object - MetricName: - default: UNKNOWN - enum: - - UNKNOWN - - CPU_TOTAL_PERCENT - - MEM_RSS - - HTTP_THROUGHPUT - - HTTP_RESPONSE_TIME_50P - - HTTP_RESPONSE_TIME_90P - - HTTP_RESPONSE_TIME_99P - - HTTP_RESPONSE_TIME_MAX - - PUBLIC_DATA_TRANSFER_IN - - PUBLIC_DATA_TRANSFER_OUT - type: string - Sample: - example: - value: 0.8008281904610115 - timestamp: timestamp - properties: - timestamp: - type: string - value: - format: double - type: number - type: object - LogEntry: - example: - msg: msg - created_at: 2000-01-23T04:56:07.000+00:00 - labels: "{}" - properties: - msg: - type: string - created_at: - format: date-time - type: string - labels: - properties: {} - type: object - type: object - CatalogGPUDetails: - example: - memory: memory - count: 1 - name: name - brand: brand - properties: + limit: + format: int64 + title: The limit in the request + type: integer + offset: + format: int64 + title: The offset in the request + type: integer count: format: int64 - title: The number of GPUs + title: The total number of items type: integer - brand: - title: The brand of GPU - type: string - memory: - title: GPU memory - type: string - name: - title: Name of GPU + order: + title: The order in the request type: string type: object - CatalogInstance: + App: example: - volumes_enabled: true - memory: memory - regions: - - regions - - regions - aliases: - - aliases - - aliases - vcpu: 0 - description: description - display_name: display_name - type: type - gpu: - memory: memory - count: 1 + created_at: 2000-01-23T04:56:07.000+00:00 + resumed_at: 2000-01-23T04:56:07.000+00:00 + domains: + - created_at: 2000-01-23T04:56:07.000+00:00 + intended_cname: intended_cname + type: null + version: version + updated_at: 2000-01-23T04:56:07.000+00:00 + deployment_group: deployment_group + verified_at: 2000-01-23T04:56:07.000+00:00 + organization_id: organization_id name: name - brand: brand - price_monthly: price_monthly - require_plan: - - require_plan - - require_plan - disk: disk - service_types: - - service_types - - service_types + messages: + - messages + - messages + id: id + app_id: app_id + status: null + - created_at: 2000-01-23T04:56:07.000+00:00 + intended_cname: intended_cname + type: null + version: version + updated_at: 2000-01-23T04:56:07.000+00:00 + deployment_group: deployment_group + verified_at: 2000-01-23T04:56:07.000+00:00 + organization_id: organization_id + name: name + messages: + - messages + - messages + id: id + app_id: app_id + status: null + version: version + succeeded_at: 2000-01-23T04:56:07.000+00:00 + paused_at: 2000-01-23T04:56:07.000+00:00 + updated_at: 2000-01-23T04:56:07.000+00:00 + organization_id: organization_id + name: name + started_at: 2000-01-23T04:56:07.000+00:00 + messages: + - messages + - messages id: id - price_per_second: price_per_second - vcpu_shares: 6.0274563 - price_hourly: price_hourly - status: status + terminated_at: 2000-01-23T04:56:07.000+00:00 + status: null properties: id: - title: The name of the instance type: string - description: - title: A short description of the instance + name: type: string - vcpu: - description: The number of cpus. Deprecated. Use vcpu_shares instead. - format: int64 - type: integer - memory: - title: The memory in bytes in a format like 5MB + organization_id: type: string - disk: - title: The size of the disk in bytes in a format like 5MB + created_at: + format: date-time type: string - price_per_second: - title: The price to pay per second + updated_at: + format: date-time type: string - price_hourly: - title: The price to pay per hour + started_at: + format: date-time type: string - price_monthly: - title: The price to pay per month + succeeded_at: + format: date-time type: string - regions: - items: - type: string - title: The regions where this instance type is available - type: array - status: - title: The status of the instance + paused_at: + format: date-time type: string - require_plan: - items: - type: string - title: The plan required to use instance - type: array - vcpu_shares: - description: The number of vcpu shares reserved for the instance. - format: float - type: number - display_name: - title: The display name of the instance + resumed_at: + format: date-time type: string - aliases: + terminated_at: + format: date-time + type: string + status: + $ref: '#/components/schemas/App.Status' + messages: items: type: string - title: Aliases type: array - type: - title: The type of the instance (e.g. "gpu") + version: + format: uint64 type: string - gpu: - $ref: '#/components/schemas/CatalogGPUDetails' - service_types: + domains: items: - type: string - title: "Allowed service types for this instance (e.g. [\"web\", \"worker\"\ - ])" + $ref: '#/components/schemas/Domain' type: array - volumes_enabled: - title: Are the volumes enabled for this instance type - type: boolean type: object - CatalogInstanceListItem: + App.Status: + default: STARTING + enum: + - STARTING + - HEALTHY + - DEGRADED + - UNHEALTHY + - DELETING + - DELETED + - PAUSING + - PAUSED + - RESUMING + type: string + AppEvent: example: - volumes_enabled: true - memory: memory - regions: - - regions - - regions - aliases: - - aliases - - aliases - vcpu: 0 - description: description - display_name: display_name - type: type - gpu: - memory: memory - count: 1 - name: name - brand: brand - price_monthly: price_monthly - require_plan: - - require_plan - - require_plan - disk: disk - service_types: - - service_types - - service_types + metadata: "{}" + organization_id: organization_id id: id - price_per_second: price_per_second - vcpu_shares: 6.0274563 - price_hourly: price_hourly - status: status + type: type + message: message + when: 2000-01-23T04:56:07.000+00:00 + app_id: app_id properties: id: - title: The name of the instance - type: string - description: - title: A short description of the instance - type: string - vcpu: - description: The number of cpus. Deprecated. Use vcpu_shares instead. - format: int64 - type: integer - memory: - title: The memory in bytes in a format like 5MB - type: string - disk: - title: The size of the disk in bytes in a format like 5MB - type: string - price_per_second: - title: The price to pay per second type: string - price_hourly: - title: The price to pay per hour - type: string - price_monthly: - title: The price to pay per month + when: + format: date-time type: string - regions: - items: - type: string - title: The regions where this instance type is available - type: array - status: - title: The status of the instance + organization_id: type: string - require_plan: - items: - type: string - title: The plan required to use instance - type: array - vcpu_shares: - description: The number of vcpu shares reserved for the instance. - format: float - type: number - display_name: - title: The display name of the instance + app_id: type: string - aliases: - items: - type: string - title: Aliases - type: array type: - title: The type of the instance (e.g. "gpu") type: string - gpu: - $ref: '#/components/schemas/CatalogGPUDetails' - service_types: - items: - type: string - title: "Allowed service types for this instance (e.g. [\"web\", \"worker\"\ - ])" - type: array - volumes_enabled: - title: Are the volumes enabled for this instance type - type: boolean + message: + type: string + metadata: + properties: {} + type: object type: object - GetCatalogInstanceReply: + AppListItem: example: - instance: - volumes_enabled: true - memory: memory - regions: - - regions - - regions - aliases: - - aliases - - aliases - vcpu: 0 - description: description - display_name: display_name - type: type - gpu: - memory: memory - count: 1 - name: name - brand: brand - price_monthly: price_monthly - require_plan: - - require_plan - - require_plan - disk: disk - service_types: - - service_types - - service_types - id: id - price_per_second: price_per_second - vcpu_shares: 6.0274563 - price_hourly: price_hourly - status: status - properties: - instance: - $ref: '#/components/schemas/CatalogInstance' - type: object - ListCatalogInstancesReply: - example: - offset: 5 - instances: - - volumes_enabled: true - memory: memory - regions: - - regions - - regions - aliases: - - aliases - - aliases - vcpu: 0 - description: description - display_name: display_name - type: type - gpu: - memory: memory - count: 1 - name: name - brand: brand - price_monthly: price_monthly - require_plan: - - require_plan - - require_plan - disk: disk - service_types: - - service_types - - service_types - id: id - price_per_second: price_per_second - vcpu_shares: 6.0274563 - price_hourly: price_hourly - status: status - - volumes_enabled: true - memory: memory - regions: - - regions - - regions - aliases: - - aliases - - aliases - vcpu: 0 - description: description - display_name: display_name - type: type - gpu: - memory: memory - count: 1 - name: name - brand: brand - price_monthly: price_monthly - require_plan: - - require_plan - - require_plan - disk: disk - service_types: - - service_types - - service_types - id: id - price_per_second: price_per_second - vcpu_shares: 6.0274563 - price_hourly: price_hourly - status: status - limit: 5 - count: 2 - properties: - instances: - items: - $ref: '#/components/schemas/CatalogInstanceListItem' - type: array - limit: - format: int64 - title: The limit in the request - type: integer - offset: - format: int64 - title: The offset in the request - type: integer - count: - format: int64 - title: The total number of items - type: integer - type: object - GetRegionReply: - example: - region: - datacenters: - - datacenters - - datacenters - volumes_enabled: true - instances: - - instances - - instances - name: name - coordinates: - - coordinates - - coordinates - id: id - status: status - properties: - region: - $ref: '#/components/schemas/Region' - type: object - ListRegionsReply: - example: - regions: - - datacenters: - - datacenters - - datacenters - volumes_enabled: true - instances: - - instances - - instances + updated_at: 2000-01-23T04:56:07.000+00:00 + organization_id: organization_id + name: name + created_at: 2000-01-23T04:56:07.000+00:00 + domains: + - created_at: 2000-01-23T04:56:07.000+00:00 + intended_cname: intended_cname + type: null + version: version + updated_at: 2000-01-23T04:56:07.000+00:00 + deployment_group: deployment_group + verified_at: 2000-01-23T04:56:07.000+00:00 + organization_id: organization_id name: name - coordinates: - - coordinates - - coordinates + messages: + - messages + - messages id: id - status: status - - datacenters: - - datacenters - - datacenters - volumes_enabled: true - instances: - - instances - - instances + app_id: app_id + status: null + - created_at: 2000-01-23T04:56:07.000+00:00 + intended_cname: intended_cname + type: null + version: version + updated_at: 2000-01-23T04:56:07.000+00:00 + deployment_group: deployment_group + verified_at: 2000-01-23T04:56:07.000+00:00 + organization_id: organization_id name: name - coordinates: - - coordinates - - coordinates + messages: + - messages + - messages id: id - status: status - offset: 6 - limit: 0 - count: 1 - properties: - regions: - items: - $ref: '#/components/schemas/RegionListItem' - type: array - limit: - format: int64 - title: The limit in the request - type: integer - offset: - format: int64 - title: The offset in the request - type: integer - count: - format: int64 - title: The total number of items - type: integer - type: object - Region: - example: - datacenters: - - datacenters - - datacenters - volumes_enabled: true - instances: - - instances - - instances - name: name - coordinates: - - coordinates - - coordinates + app_id: app_id + status: null + messages: + - messages + - messages id: id - status: status + status: null properties: id: - title: The id of the region type: string name: - title: The name of the region type: string - coordinates: - items: - type: string - title: The coordinates of the region (lat/long) - type: array - status: - title: The status of the region + organization_id: type: string - instances: + updated_at: + format: date-time + type: string + created_at: + format: date-time + type: string + domains: items: - type: string - title: A list of instances available in this region + $ref: '#/components/schemas/Domain' type: array - datacenters: + status: + $ref: '#/components/schemas/App.Status' + messages: items: type: string - title: A list of datacenters available in this region - type: array - volumes_enabled: - title: Are the volumes enabled for this instance type - type: boolean - type: object - RegionListItem: - example: - datacenters: - - datacenters - - datacenters - volumes_enabled: true - instances: - - instances - - instances - name: name - coordinates: - - coordinates - - coordinates - id: id - status: status - properties: - id: - title: The id of the region - type: string - name: - title: The name of the region - type: string - coordinates: - items: - type: string - title: The coordinates of the region (lat/long) - type: array - status: - title: The status of the region - type: string - instances: - items: - type: string - title: A list of instances available in this region - type: array - datacenters: - items: - type: string - title: A list of datacenters available in this region - type: array - volumes_enabled: - title: Are the volumes enabled for this instance type - type: boolean - type: object - DatacenterListItem: - example: - use_gpu: true - domain: domain - region_id: region_id - coordinates: - - coordinates - - coordinates - id: id - properties: - id: - title: e.g. "par1" - type: string - region_id: - title: e.g. "par" - type: string - domain: - title: e.g. "all-par1.infra.prod.koyeb.com" - type: string - coordinates: - items: - type: string - title: "e.g. \"8.856614\" ,\"2.352221\"?" - type: array - use_gpu: - title: e.g. true - type: boolean - type: object - ListDatacentersReply: - example: - datacenters: - - use_gpu: true - domain: domain - region_id: region_id - coordinates: - - coordinates - - coordinates - id: id - - use_gpu: true - domain: domain - region_id: region_id - coordinates: - - coordinates - - coordinates - id: id - properties: - datacenters: - items: - $ref: '#/components/schemas/DatacenterListItem' type: array type: object - CreateCredential: + CreateApp: example: - organization_id: organization_id name: name - description: description - type: null properties: name: - title: Credential name - type: string - description: - title: Credential description - type: string - type: - $ref: '#/components/schemas/Credential.Type' - organization_id: - title: Organization id for user credential type: string type: object - CreateCredentialReply: + CreateAppReply: example: - credential: + app: + created_at: 2000-01-23T04:56:07.000+00:00 + resumed_at: 2000-01-23T04:56:07.000+00:00 + domains: + - created_at: 2000-01-23T04:56:07.000+00:00 + intended_cname: intended_cname + type: null + version: version + updated_at: 2000-01-23T04:56:07.000+00:00 + deployment_group: deployment_group + verified_at: 2000-01-23T04:56:07.000+00:00 + organization_id: organization_id + name: name + messages: + - messages + - messages + id: id + app_id: app_id + status: null + - created_at: 2000-01-23T04:56:07.000+00:00 + intended_cname: intended_cname + type: null + version: version + updated_at: 2000-01-23T04:56:07.000+00:00 + deployment_group: deployment_group + verified_at: 2000-01-23T04:56:07.000+00:00 + organization_id: organization_id + name: name + messages: + - messages + - messages + id: id + app_id: app_id + status: null + version: version + succeeded_at: 2000-01-23T04:56:07.000+00:00 + paused_at: 2000-01-23T04:56:07.000+00:00 updated_at: 2000-01-23T04:56:07.000+00:00 - user_id: user_id organization_id: organization_id name: name - description: description - created_at: 2000-01-23T04:56:07.000+00:00 + started_at: 2000-01-23T04:56:07.000+00:00 + messages: + - messages + - messages id: id - type: null - token: token + terminated_at: 2000-01-23T04:56:07.000+00:00 + status: null properties: - credential: - $ref: '#/components/schemas/Credential' + app: + $ref: '#/components/schemas/App' type: object - Credential: + DeleteAppReply: + type: object + Domain: example: + created_at: 2000-01-23T04:56:07.000+00:00 + intended_cname: intended_cname + type: null + version: version updated_at: 2000-01-23T04:56:07.000+00:00 - user_id: user_id + deployment_group: deployment_group + verified_at: 2000-01-23T04:56:07.000+00:00 organization_id: organization_id name: name - description: description - created_at: 2000-01-23T04:56:07.000+00:00 + messages: + - messages + - messages id: id - type: null - token: token + app_id: app_id + status: null properties: id: type: string - type: - $ref: '#/components/schemas/Credential.Type' + organization_id: + type: string name: type: string - token: + created_at: + format: date-time type: string - description: + updated_at: + format: date-time type: string - user_id: + status: + $ref: '#/components/schemas/Domain.Status' + type: + $ref: '#/components/schemas/Domain.Type' + app_id: type: string - organization_id: + deployment_group: type: string - updated_at: + verified_at: format: date-time type: string - created_at: - format: date-time + intended_cname: + type: string + messages: + items: + type: string + type: array + version: + format: uint64 type: string type: object - Credential.Type: - default: INVALID + Domain.Status: + default: PENDING enum: - - INVALID - - USER - - ORGANIZATION + - PENDING + - ACTIVE + - ERROR + - DELETING + - DELETED type: string - DeleteCredentialReply: - type: object - GetCredentialReply: + Domain.Type: + default: AUTOASSIGNED + enum: + - AUTOASSIGNED + - CUSTOM + title: "- AUTOASSIGNED: Domain like -.koyeb.app" + type: string + GetAppReply: example: - credential: - updated_at: 2000-01-23T04:56:07.000+00:00 - user_id: user_id - organization_id: organization_id - name: name - description: description + app: created_at: 2000-01-23T04:56:07.000+00:00 - id: id - type: null - token: token - properties: - credential: - $ref: '#/components/schemas/Credential' - type: object - ListCredentialsReply: - example: - offset: 6 - credentials: - - updated_at: 2000-01-23T04:56:07.000+00:00 - user_id: user_id + resumed_at: 2000-01-23T04:56:07.000+00:00 + domains: + - created_at: 2000-01-23T04:56:07.000+00:00 + intended_cname: intended_cname + type: null + version: version + updated_at: 2000-01-23T04:56:07.000+00:00 + deployment_group: deployment_group + verified_at: 2000-01-23T04:56:07.000+00:00 + organization_id: organization_id + name: name + messages: + - messages + - messages + id: id + app_id: app_id + status: null + - created_at: 2000-01-23T04:56:07.000+00:00 + intended_cname: intended_cname + type: null + version: version + updated_at: 2000-01-23T04:56:07.000+00:00 + deployment_group: deployment_group + verified_at: 2000-01-23T04:56:07.000+00:00 + organization_id: organization_id + name: name + messages: + - messages + - messages + id: id + app_id: app_id + status: null + version: version + succeeded_at: 2000-01-23T04:56:07.000+00:00 + paused_at: 2000-01-23T04:56:07.000+00:00 + updated_at: 2000-01-23T04:56:07.000+00:00 + organization_id: organization_id + name: name + started_at: 2000-01-23T04:56:07.000+00:00 + messages: + - messages + - messages + id: id + terminated_at: 2000-01-23T04:56:07.000+00:00 + status: null + properties: + app: + $ref: '#/components/schemas/App' + type: object + ListAppEventsReply: + example: + offset: 6 + limit: 0 + has_next: true + events: + - metadata: "{}" + organization_id: organization_id + id: id + type: type + message: message + when: 2000-01-23T04:56:07.000+00:00 + app_id: app_id + - metadata: "{}" + organization_id: organization_id + id: id + type: type + message: message + when: 2000-01-23T04:56:07.000+00:00 + app_id: app_id + order: order + properties: + events: + items: + $ref: '#/components/schemas/AppEvent' + title: The collection of events + type: array + limit: + format: int64 + title: The limit in the request + type: integer + offset: + format: int64 + title: The offset in the request + type: integer + order: + title: The order in the request + type: string + has_next: + title: If there is more items after in the collection + type: boolean + type: object + ListAppsReply: + example: + offset: 6 + limit: 0 + count: 1 + has_next: true + apps: + - updated_at: 2000-01-23T04:56:07.000+00:00 organization_id: organization_id name: name - description: description created_at: 2000-01-23T04:56:07.000+00:00 + domains: + - created_at: 2000-01-23T04:56:07.000+00:00 + intended_cname: intended_cname + type: null + version: version + updated_at: 2000-01-23T04:56:07.000+00:00 + deployment_group: deployment_group + verified_at: 2000-01-23T04:56:07.000+00:00 + organization_id: organization_id + name: name + messages: + - messages + - messages + id: id + app_id: app_id + status: null + - created_at: 2000-01-23T04:56:07.000+00:00 + intended_cname: intended_cname + type: null + version: version + updated_at: 2000-01-23T04:56:07.000+00:00 + deployment_group: deployment_group + verified_at: 2000-01-23T04:56:07.000+00:00 + organization_id: organization_id + name: name + messages: + - messages + - messages + id: id + app_id: app_id + status: null + messages: + - messages + - messages id: id - type: null - token: token + status: null - updated_at: 2000-01-23T04:56:07.000+00:00 - user_id: user_id organization_id: organization_id name: name - description: description created_at: 2000-01-23T04:56:07.000+00:00 + domains: + - created_at: 2000-01-23T04:56:07.000+00:00 + intended_cname: intended_cname + type: null + version: version + updated_at: 2000-01-23T04:56:07.000+00:00 + deployment_group: deployment_group + verified_at: 2000-01-23T04:56:07.000+00:00 + organization_id: organization_id + name: name + messages: + - messages + - messages + id: id + app_id: app_id + status: null + - created_at: 2000-01-23T04:56:07.000+00:00 + intended_cname: intended_cname + type: null + version: version + updated_at: 2000-01-23T04:56:07.000+00:00 + deployment_group: deployment_group + verified_at: 2000-01-23T04:56:07.000+00:00 + organization_id: organization_id + name: name + messages: + - messages + - messages + id: id + app_id: app_id + status: null + messages: + - messages + - messages id: id - type: null - token: token - limit: 0 - count: 1 + status: null properties: - credentials: + apps: items: - $ref: '#/components/schemas/Credential' + $ref: '#/components/schemas/AppListItem' type: array limit: format: int64 + title: The limit in the request type: integer offset: format: int64 + title: The offset in the request type: integer count: format: int64 + title: The total number of items type: integer + has_next: + title: If there is more items after in the collection + type: boolean type: object - UpdateCredentialReply: + PauseAppReply: + type: object + ResumeAppReply: + type: object + UpdateApp: example: - credential: + name: name + properties: + name: + type: string + type: object + UpdateAppReply: + example: + app: + created_at: 2000-01-23T04:56:07.000+00:00 + resumed_at: 2000-01-23T04:56:07.000+00:00 + domains: + - created_at: 2000-01-23T04:56:07.000+00:00 + intended_cname: intended_cname + type: null + version: version + updated_at: 2000-01-23T04:56:07.000+00:00 + deployment_group: deployment_group + verified_at: 2000-01-23T04:56:07.000+00:00 + organization_id: organization_id + name: name + messages: + - messages + - messages + id: id + app_id: app_id + status: null + - created_at: 2000-01-23T04:56:07.000+00:00 + intended_cname: intended_cname + type: null + version: version + updated_at: 2000-01-23T04:56:07.000+00:00 + deployment_group: deployment_group + verified_at: 2000-01-23T04:56:07.000+00:00 + organization_id: organization_id + name: name + messages: + - messages + - messages + id: id + app_id: app_id + status: null + version: version + succeeded_at: 2000-01-23T04:56:07.000+00:00 + paused_at: 2000-01-23T04:56:07.000+00:00 updated_at: 2000-01-23T04:56:07.000+00:00 - user_id: user_id organization_id: organization_id name: name - description: description - created_at: 2000-01-23T04:56:07.000+00:00 + started_at: 2000-01-23T04:56:07.000+00:00 + messages: + - messages + - messages id: id - type: null - token: token + terminated_at: 2000-01-23T04:56:07.000+00:00 + status: null properties: - credential: - $ref: '#/components/schemas/Credential' + app: + $ref: '#/components/schemas/App' type: object - GetIntercomProfileReply: - example: - hash: hash - properties: - hash: - type: string - type: object - DeleteUserReply: + CreatePersistentVolumeReply: example: - user: - id: 78352123-a06f-4ec2-81ed-27a056725385 - email: john@snow.com - name: John Snow - avatar_url: https://www.gravatar.com/avatar/00000000000000000000000000000000 - is_admin: false - is_test: true - two_factor_authentication: false - last_login: 0001-01-01T00:00:00Z - last_login_id: 10.1.1.1 - updated_at: 0001-01-01T00:00:00Z - created_at: 0001-01-01T00:00:00Z - newsletter_subscribed: true - email_validated: true + volume: + snapshot_id: snapshot_id + cur_size: 6 + created_at: 2000-01-23T04:56:07.000+00:00 + backing_store: null + deleted_at: 2000-01-23T04:56:07.000+00:00 + max_size: 0 + updated_at: 2000-01-23T04:56:07.000+00:00 + read_only: true + organization_id: organization_id + service_id: service_id + name: name + id: id + region: region + status: null properties: - user: - $ref: '#/components/schemas/User' + volume: + $ref: '#/components/schemas/PersistentVolume' type: object - User: + CreatePersistentVolumeRequest: example: - id: 78352123-a06f-4ec2-81ed-27a056725385 - email: john@snow.com - name: John Snow - avatar_url: https://www.gravatar.com/avatar/00000000000000000000000000000000 - is_admin: false - is_test: true - two_factor_authentication: false - last_login: 0001-01-01T00:00:00Z - last_login_id: 10.1.1.1 - updated_at: 0001-01-01T00:00:00Z - created_at: 0001-01-01T00:00:00Z - newsletter_subscribed: true - email_validated: true + volume_type: null + read_only: true + snapshot_id: snapshot_id + name: name + region: region + max_size: 0 properties: - id: - type: string - email: - type: string - avatar_url: - type: string - two_factor_authentication: - type: boolean - last_login: - format: date-time - type: string - last_login_ip: - type: string - updated_at: - format: date-time + volume_type: + $ref: '#/components/schemas/PersistentVolumeBackingStore' + name: + title: the volume name type: string - created_at: - format: date-time + region: + title: the volume region type: string - newsletter_subscribed: + read_only: + title: whether the volume must be set as read only type: boolean - github_id: - type: string - github_user: - type: string - flags: - items: - $ref: '#/components/schemas/UserFlags' - type: array - name: + max_size: + format: int64 + title: the size of the volume (in Gigabyte / GB) + type: integer + snapshot_id: + title: (optional) the id of the snapshot whence the volume comes from type: string - email_validated: - type: boolean - title: Represent a User type: object - UserFlags: - default: ADMIN - enum: - - ADMIN - - TEST - - RESTRICTED - - ACTIVE - - BETA - title: |- - - ADMIN: A user is an admin user - - TEST: A user is a test user - - RESTRICTED: Whether this account as restricted access - - ACTIVE: Whether this account is active - - BETA: Account in beta program - type: string - ListOrganizationMembersReply: + DeletePersistentVolumeReply: example: - offset: 6 - members: - - joined_at: 2000-01-23T04:56:07.000+00:00 - role: null - user_id: user_id + volume: + snapshot_id: snapshot_id + cur_size: 6 + created_at: 2000-01-23T04:56:07.000+00:00 + backing_store: null + deleted_at: 2000-01-23T04:56:07.000+00:00 + max_size: 0 + updated_at: 2000-01-23T04:56:07.000+00:00 + read_only: true organization_id: organization_id - organization: - name: name - id: id - plan: null - status: null + service_id: service_id + name: name id: id - user: - github_user: github_user - avatar_url: avatar_url - name: name - github_id: github_id - id: id - email: email + region: region status: null - - joined_at: 2000-01-23T04:56:07.000+00:00 - role: null - user_id: user_id + properties: + volume: + $ref: '#/components/schemas/PersistentVolume' + type: object + GetPersistentVolumeReply: + example: + volume: + snapshot_id: snapshot_id + cur_size: 6 + created_at: 2000-01-23T04:56:07.000+00:00 + backing_store: null + deleted_at: 2000-01-23T04:56:07.000+00:00 + max_size: 0 + updated_at: 2000-01-23T04:56:07.000+00:00 + read_only: true organization_id: organization_id - organization: - name: name - id: id - plan: null - status: null + service_id: service_id + name: name id: id - user: - github_user: github_user - avatar_url: avatar_url - name: name - github_id: github_id - id: id - email: email + region: region status: null + properties: + volume: + $ref: '#/components/schemas/PersistentVolume' + type: object + ListPersistentVolumeEventsReply: + example: + offset: 6 limit: 0 - count: 1 + has_next: true + events: + - metadata: "{}" + persistent_volume_id: persistent_volume_id + organization_id: organization_id + id: id + type: type + message: message + when: 2000-01-23T04:56:07.000+00:00 + - metadata: "{}" + persistent_volume_id: persistent_volume_id + organization_id: organization_id + id: id + type: type + message: message + when: 2000-01-23T04:56:07.000+00:00 + order: order properties: - members: + events: items: - $ref: '#/components/schemas/OrganizationMember' - title: The collection of organization members + $ref: '#/components/schemas/PersistentVolumeEvent' + title: The collection of events type: array limit: format: int64 @@ -20673,1120 +18687,1132 @@ components: format: int64 title: The offset in the request type: integer - count: - format: int64 - title: The total number of items - type: integer + order: + title: The order in the request + type: string + has_next: + title: If there is more items after in the collection + type: boolean type: object - Organization.Status: - default: WARNING - enum: - - WARNING - - LOCKED - - ACTIVE - - DEACTIVATING - - DEACTIVATED - - DELETING - - DELETED - type: string - OrganizationMember: + ListPersistentVolumesReply: example: - joined_at: 2000-01-23T04:56:07.000+00:00 - role: null - user_id: user_id - organization_id: organization_id - organization: + offset: 5 + volumes: + - snapshot_id: snapshot_id + cur_size: 6 + created_at: 2000-01-23T04:56:07.000+00:00 + backing_store: null + deleted_at: 2000-01-23T04:56:07.000+00:00 + max_size: 0 + updated_at: 2000-01-23T04:56:07.000+00:00 + read_only: true + organization_id: organization_id + service_id: service_id name: name id: id - plan: null + region: region status: null - id: id - user: - github_user: github_user - avatar_url: avatar_url + - snapshot_id: snapshot_id + cur_size: 6 + created_at: 2000-01-23T04:56:07.000+00:00 + backing_store: null + deleted_at: 2000-01-23T04:56:07.000+00:00 + max_size: 0 + updated_at: 2000-01-23T04:56:07.000+00:00 + read_only: true + organization_id: organization_id + service_id: service_id name: name - github_id: github_id id: id - email: email - status: null + region: region + status: null + limit: 1 + has_next: true properties: - id: - type: string - organization_id: - type: string - user_id: - type: string - joined_at: - format: date-time - type: string - role: - $ref: '#/components/schemas/UserRole.Role' - status: - $ref: '#/components/schemas/OrganizationMember.Status' - user: - $ref: '#/components/schemas/PublicUser' - organization: - $ref: '#/components/schemas/PublicOrganization' + volumes: + items: + $ref: '#/components/schemas/PersistentVolume' + title: The collection of persistent volumes + type: array + limit: + format: int64 + title: The limit in the request + type: integer + offset: + format: int64 + title: The offset in the request + type: integer + has_next: + title: If there is more items after in the collection + type: boolean type: object - OrganizationMember.Status: - default: INVALID - enum: - - INVALID - - ACTIVE - - DELETED - type: string - Plan: - default: hobby - enum: - - hobby - - starter - - startup - - business - - enterprise - - internal - - hobby23 - - no_plan - - pro - - scale - type: string - PublicOrganization: + PersistentVolume: example: + snapshot_id: snapshot_id + cur_size: 6 + created_at: 2000-01-23T04:56:07.000+00:00 + backing_store: null + deleted_at: 2000-01-23T04:56:07.000+00:00 + max_size: 0 + updated_at: 2000-01-23T04:56:07.000+00:00 + read_only: true + organization_id: organization_id + service_id: service_id name: name id: id - plan: null + region: region status: null properties: id: + title: the identifier for the volume object type: string name: + title: the volume name type: string - plan: - $ref: '#/components/schemas/Plan' + snapshot_id: + title: (optional) the id of the snapshot whence the volume comes from + type: string + created_at: + format: date-time + title: creation timestamp + type: string + updated_at: + format: date-time + title: last change timestamp + type: string + deleted_at: + format: date-time + title: deletion timestamp + type: string + organization_id: + title: the organization to which the volume belongs to + type: string + service_id: + title: the service_id to which the volume is eventually bound to + type: string + region: + title: the region where the volume exists + type: string + read_only: + title: whether to mount the volume in read-only mode + type: boolean + max_size: + format: int64 + title: the maximum size of the volume (in Gigabyte / GB) + type: integer + cur_size: + format: int64 + title: the used amount of space as measured the last time (in Gigabyte / + GB) + type: integer status: - $ref: '#/components/schemas/Organization.Status' + $ref: '#/components/schemas/PersistentVolumeStatus' + backing_store: + $ref: '#/components/schemas/PersistentVolumeBackingStore' + title: The object that represent a volume to handle persistency for deployments type: object - PublicUser: + PersistentVolumeBackingStore: + default: PERSISTENT_VOLUME_BACKING_STORE_INVALID + enum: + - PERSISTENT_VOLUME_BACKING_STORE_INVALID + - PERSISTENT_VOLUME_BACKING_STORE_LOCAL_BLK + title: |- + - PERSISTENT_VOLUME_BACKING_STORE_INVALID: zero value, invalid + - PERSISTENT_VOLUME_BACKING_STORE_LOCAL_BLK: the backing store is a locally reachable block device + type: string + PersistentVolumeEvent: example: - github_user: github_user - avatar_url: avatar_url - name: name - github_id: github_id + metadata: "{}" + persistent_volume_id: persistent_volume_id + organization_id: organization_id id: id - email: email + type: type + message: message + when: 2000-01-23T04:56:07.000+00:00 properties: id: type: string - email: + when: + format: date-time type: string - name: + organization_id: type: string - avatar_url: + persistent_volume_id: type: string - github_id: + type: type: string - github_user: + message: type: string + metadata: + properties: {} + type: object type: object - RemoveOrganizationMemberReply: + PersistentVolumeStatus: + default: PERSISTENT_VOLUME_STATUS_INVALID + enum: + - PERSISTENT_VOLUME_STATUS_INVALID + - PERSISTENT_VOLUME_STATUS_ATTACHED + - PERSISTENT_VOLUME_STATUS_DETACHED + - PERSISTENT_VOLUME_STATUS_DELETING + - PERSISTENT_VOLUME_STATUS_DELETED + title: |- + - PERSISTENT_VOLUME_STATUS_INVALID: zero value, invalid + - PERSISTENT_VOLUME_STATUS_ATTACHED: the volume is attached to an instance + - PERSISTENT_VOLUME_STATUS_DETACHED: the volume is free to use + - PERSISTENT_VOLUME_STATUS_DELETING: the volume will be deleted + - PERSISTENT_VOLUME_STATUS_DELETED: the volume was deleted + type: string + UpdatePersistentVolumeReply: example: - member: - joined_at: 2000-01-23T04:56:07.000+00:00 - role: null - user_id: user_id + volume: + snapshot_id: snapshot_id + cur_size: 6 + created_at: 2000-01-23T04:56:07.000+00:00 + backing_store: null + deleted_at: 2000-01-23T04:56:07.000+00:00 + max_size: 0 + updated_at: 2000-01-23T04:56:07.000+00:00 + read_only: true organization_id: organization_id - organization: - name: name - id: id - plan: null - status: null + service_id: service_id + name: name id: id - user: - github_user: github_user - avatar_url: avatar_url - name: name - github_id: github_id - id: id - email: email + region: region status: null properties: - member: - $ref: '#/components/schemas/OrganizationMember' - type: object - UserRole.Role: - default: INVALID - enum: - - INVALID - - OWNER - type: string - ConfirmOrganizationActionReply: - type: object - LoginReply: - example: - token: - id: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9... - expires: 2022-09-08T14:00:00Z - user_id: 996d7822-6b58-11e9-956f-32001b70f000 - organization_id: 9f33b2c6-6b58-11e9-883c-32001b70f000 - properties: - token: - $ref: '#/components/schemas/Token' + volume: + $ref: '#/components/schemas/PersistentVolume' type: object - LoginRequest: + CreateDomain: example: - email: john@snow.com - password: '...' + name: name + type: null + app_id: app_id properties: - email: - title: User email + name: type: string - password: - title: User password + type: + $ref: '#/components/schemas/Domain.Type' + app_id: + title: to auto-attach to an app. Optional type: string - organization_id: - title: (Optional) Login into this organization - type: string - type: object - LogoutReply: type: object - Token: + CreateDomainReply: example: - id: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9... - expires: 2022-09-08T14:00:00Z - user_id: 996d7822-6b58-11e9-956f-32001b70f000 - organization_id: 9f33b2c6-6b58-11e9-883c-32001b70f000 + domain: + created_at: 2000-01-23T04:56:07.000+00:00 + intended_cname: intended_cname + type: null + version: version + updated_at: 2000-01-23T04:56:07.000+00:00 + deployment_group: deployment_group + verified_at: 2000-01-23T04:56:07.000+00:00 + organization_id: organization_id + name: name + messages: + - messages + - messages + id: id + app_id: app_id + status: null properties: - id: - type: string - user_id: - type: string - organization_id: - type: string - expires_at: - format: date-time - type: string + domain: + $ref: '#/components/schemas/Domain' type: object - GetSubscriptionReply: + DeleteDomainReply: + type: object + GetDomainReply: example: - subscription: - payment_failure: - error_message: error_message - attempt_count: attempt_count - error_reason: error_reason - error_type: error_type - stripe_sdk: - client_secret_key: client_secret_key - raw_json: raw_json - error_code: error_code - failed_at: 2000-01-23T04:56:07.000+00:00 - next_attempt: 2000-01-23T04:56:07.000+00:00 - redirect_url: redirect_url - payment_method_required: true - amount_paid: amount_paid - amount_remaining: amount_remaining - terminate_at: 2000-01-23T04:56:07.000+00:00 - stripe_pending_invoice_id: stripe_pending_invoice_id - canceled_at: 2000-01-23T04:56:07.000+00:00 + domain: created_at: 2000-01-23T04:56:07.000+00:00 - current_period_end: 2000-01-23T04:56:07.000+00:00 + intended_cname: intended_cname + type: null version: version - amount_payable: amount_payable updated_at: 2000-01-23T04:56:07.000+00:00 + deployment_group: deployment_group + verified_at: 2000-01-23T04:56:07.000+00:00 organization_id: organization_id - stripe_subscription_id: stripe_subscription_id + name: name messages: - messages - messages - currency: currency id: id - terminated_at: 2000-01-23T04:56:07.000+00:00 - current_period_start: 2000-01-23T04:56:07.000+00:00 + app_id: app_id status: null - has_pending_update: true properties: - subscription: - $ref: '#/components/schemas/Subscription' + domain: + $ref: '#/components/schemas/Domain' type: object - Subscription: + ListDomainsReply: example: - payment_failure: - error_message: error_message - attempt_count: attempt_count - error_reason: error_reason - error_type: error_type - stripe_sdk: - client_secret_key: client_secret_key - raw_json: raw_json - error_code: error_code - failed_at: 2000-01-23T04:56:07.000+00:00 - next_attempt: 2000-01-23T04:56:07.000+00:00 - redirect_url: redirect_url - payment_method_required: true - amount_paid: amount_paid - amount_remaining: amount_remaining - terminate_at: 2000-01-23T04:56:07.000+00:00 - stripe_pending_invoice_id: stripe_pending_invoice_id - canceled_at: 2000-01-23T04:56:07.000+00:00 - created_at: 2000-01-23T04:56:07.000+00:00 - current_period_end: 2000-01-23T04:56:07.000+00:00 - version: version - amount_payable: amount_payable - updated_at: 2000-01-23T04:56:07.000+00:00 - organization_id: organization_id - stripe_subscription_id: stripe_subscription_id - messages: - - messages - - messages - currency: currency - id: id - terminated_at: 2000-01-23T04:56:07.000+00:00 - current_period_start: 2000-01-23T04:56:07.000+00:00 - status: null - has_pending_update: true + offset: 6 + limit: 0 + count: 1 + domains: + - created_at: 2000-01-23T04:56:07.000+00:00 + intended_cname: intended_cname + type: null + version: version + updated_at: 2000-01-23T04:56:07.000+00:00 + deployment_group: deployment_group + verified_at: 2000-01-23T04:56:07.000+00:00 + organization_id: organization_id + name: name + messages: + - messages + - messages + id: id + app_id: app_id + status: null + - created_at: 2000-01-23T04:56:07.000+00:00 + intended_cname: intended_cname + type: null + version: version + updated_at: 2000-01-23T04:56:07.000+00:00 + deployment_group: deployment_group + verified_at: 2000-01-23T04:56:07.000+00:00 + organization_id: organization_id + name: name + messages: + - messages + - messages + id: id + app_id: app_id + status: null properties: - id: - type: string - created_at: - format: date-time - type: string - updated_at: - format: date-time - type: string - version: - format: uint64 - type: string - organization_id: - type: string - stripe_subscription_id: - type: string - status: - $ref: '#/components/schemas/Subscription.Status' - messages: + domains: items: - type: string + $ref: '#/components/schemas/Domain' type: array - has_pending_update: - type: boolean - stripe_pending_invoice_id: - type: string - terminate_at: - format: date-time - type: string - canceled_at: - format: date-time - type: string - terminated_at: - format: date-time - type: string - current_period_start: - format: date-time - type: string - current_period_end: - format: date-time - type: string - currency: - type: string - amount_payable: + limit: format: int64 - type: string - amount_paid: + title: The limit in the request + type: integer + offset: format: int64 - type: string - amount_remaining: + title: The offset in the request + type: integer + count: format: int64 - type: string - payment_failure: - $ref: '#/components/schemas/Subscription.PaymentFailure' + title: The total number of items + type: integer type: object - Subscription.PaymentFailure: + RefreshDomainStatusReply: + type: object + UpdateDomain: example: - error_message: error_message - attempt_count: attempt_count - error_reason: error_reason - error_type: error_type - stripe_sdk: - client_secret_key: client_secret_key - raw_json: raw_json - error_code: error_code - failed_at: 2000-01-23T04:56:07.000+00:00 - next_attempt: 2000-01-23T04:56:07.000+00:00 - redirect_url: redirect_url - payment_method_required: true + subdomain: subdomain + app_id: app_id properties: - failed_at: - format: date-time - type: string - next_attempt: - format: date-time - type: string - attempt_count: - format: int64 - type: string - error_code: - type: string - error_reason: - type: string - error_type: - type: string - error_message: + app_id: + description: To attach or detach from an app for custom domain. type: string - payment_method_required: - type: boolean - redirect_url: + subdomain: + description: To change subdomain for auto-assigned domain. type: string - stripe_sdk: - $ref: '#/components/schemas/Subscription.PaymentFailure.StripeSDK' type: object - Subscription.PaymentFailure.StripeSDK: + UpdateDomainReply: example: - client_secret_key: client_secret_key - raw_json: raw_json - properties: - client_secret_key: - type: string - raw_json: - type: string - type: object - Subscription.Status: - default: INVALID - enum: - - INVALID - - CREATED - - ACTIVE - - WARNING - - URGENT - - CANCELING - - CANCELED - - TERMINATING - - TERMINATED - type: string - ConfirmPaymentAuthorizationReply: - example: - payment_method: - authorization_stripe_payment_intent_id: authorization_stripe_payment_intent_id - authorization_canceled_at: 2000-01-23T04:56:07.000+00:00 - created_at: 2000-01-23T04:56:07.000+00:00 - type: type - card_last_digits: card_last_digits - version: version - card_expiration_year: 6 - card_fingerprint: card_fingerprint - updated_at: 2000-01-23T04:56:07.000+00:00 - provider: provider - card_country: card_country - organization_id: organization_id - authorization_verified_at: 2000-01-23T04:56:07.000+00:00 - card_funding: card_funding - card_brand: card_brand - card_expiration_month: 0 - messages: - - messages - - messages - id: id - stripe_payment_method_id: stripe_payment_method_id - authorization_stripe_payment_intent_client_secret: authorization_stripe_payment_intent_client_secret - status: null - properties: - payment_method: - $ref: '#/components/schemas/PaymentMethod' - type: object - CreatePaymentAuthorizationReply: - example: - payment_method: - authorization_stripe_payment_intent_id: authorization_stripe_payment_intent_id - authorization_canceled_at: 2000-01-23T04:56:07.000+00:00 - created_at: 2000-01-23T04:56:07.000+00:00 - type: type - card_last_digits: card_last_digits - version: version - card_expiration_year: 6 - card_fingerprint: card_fingerprint - updated_at: 2000-01-23T04:56:07.000+00:00 - provider: provider - card_country: card_country - organization_id: organization_id - authorization_verified_at: 2000-01-23T04:56:07.000+00:00 - card_funding: card_funding - card_brand: card_brand - card_expiration_month: 0 - messages: - - messages - - messages - id: id - stripe_payment_method_id: stripe_payment_method_id - authorization_stripe_payment_intent_client_secret: authorization_stripe_payment_intent_client_secret - status: null - properties: - payment_method: - $ref: '#/components/schemas/PaymentMethod' - type: object - CreatePaymentAuthorizationRequest: - type: object - DeletePaymentMethodReply: - type: object - GetPaymentMethodReply: - example: - payment_method: - authorization_stripe_payment_intent_id: authorization_stripe_payment_intent_id - authorization_canceled_at: 2000-01-23T04:56:07.000+00:00 + domain: created_at: 2000-01-23T04:56:07.000+00:00 - type: type - card_last_digits: card_last_digits + intended_cname: intended_cname + type: null version: version - card_expiration_year: 6 - card_fingerprint: card_fingerprint updated_at: 2000-01-23T04:56:07.000+00:00 - provider: provider - card_country: card_country + deployment_group: deployment_group + verified_at: 2000-01-23T04:56:07.000+00:00 organization_id: organization_id - authorization_verified_at: 2000-01-23T04:56:07.000+00:00 - card_funding: card_funding - card_brand: card_brand - card_expiration_month: 0 + name: name messages: - messages - messages id: id - stripe_payment_method_id: stripe_payment_method_id - authorization_stripe_payment_intent_client_secret: authorization_stripe_payment_intent_client_secret + app_id: app_id status: null properties: - payment_method: - $ref: '#/components/schemas/PaymentMethod' + domain: + $ref: '#/components/schemas/Domain' type: object - ListPaymentMethodsReply: + AutoRelease: example: - payment_methods: - - authorization_stripe_payment_intent_id: authorization_stripe_payment_intent_id - authorization_canceled_at: 2000-01-23T04:56:07.000+00:00 - created_at: 2000-01-23T04:56:07.000+00:00 - type: type - card_last_digits: card_last_digits - version: version - card_expiration_year: 6 - card_fingerprint: card_fingerprint - updated_at: 2000-01-23T04:56:07.000+00:00 - provider: provider - card_country: card_country - organization_id: organization_id - authorization_verified_at: 2000-01-23T04:56:07.000+00:00 - card_funding: card_funding - card_brand: card_brand - card_expiration_month: 0 - messages: - - messages - - messages - id: id - stripe_payment_method_id: stripe_payment_method_id - authorization_stripe_payment_intent_client_secret: authorization_stripe_payment_intent_client_secret - status: null - - authorization_stripe_payment_intent_id: authorization_stripe_payment_intent_id - authorization_canceled_at: 2000-01-23T04:56:07.000+00:00 - created_at: 2000-01-23T04:56:07.000+00:00 - type: type - card_last_digits: card_last_digits - version: version - card_expiration_year: 6 - card_fingerprint: card_fingerprint - updated_at: 2000-01-23T04:56:07.000+00:00 - provider: provider - card_country: card_country - organization_id: organization_id - authorization_verified_at: 2000-01-23T04:56:07.000+00:00 - card_funding: card_funding - card_brand: card_brand - card_expiration_month: 0 - messages: - - messages - - messages - id: id - stripe_payment_method_id: stripe_payment_method_id - authorization_stripe_payment_intent_client_secret: authorization_stripe_payment_intent_client_secret - status: null - offset: 5 - limit: 1 - count: 5 + groups: + - latest_sha: latest_sha + name: name + git_ref: git_ref + repository: repository + - latest_sha: latest_sha + name: name + git_ref: git_ref + repository: repository properties: - payment_methods: + groups: items: - $ref: '#/components/schemas/PaymentMethod' - title: The collection of payment methods + $ref: '#/components/schemas/AutoRelease.Group' type: array - limit: - format: int64 - title: The limit in the request - type: integer - offset: - format: int64 - title: The offset in the request - type: integer - count: - format: int64 - title: The total number of items - type: integer type: object - PaymentMethod: + AutoRelease.Group: example: - authorization_stripe_payment_intent_id: authorization_stripe_payment_intent_id - authorization_canceled_at: 2000-01-23T04:56:07.000+00:00 - created_at: 2000-01-23T04:56:07.000+00:00 - type: type - card_last_digits: card_last_digits - version: version - card_expiration_year: 6 - card_fingerprint: card_fingerprint - updated_at: 2000-01-23T04:56:07.000+00:00 - provider: provider - card_country: card_country - organization_id: organization_id - authorization_verified_at: 2000-01-23T04:56:07.000+00:00 - card_funding: card_funding - card_brand: card_brand - card_expiration_month: 0 - messages: - - messages - - messages - id: id - stripe_payment_method_id: stripe_payment_method_id - authorization_stripe_payment_intent_client_secret: authorization_stripe_payment_intent_client_secret - status: null + latest_sha: latest_sha + name: name + git_ref: git_ref + repository: repository properties: - id: - type: string - created_at: - format: date-time - type: string - updated_at: - format: date-time - type: string - version: - format: uint64 + name: type: string - organization_id: + repository: type: string - type: + git_ref: + title: "A git ref to track (.e.g: refs/tags/ or refs/heads/" type: string - provider: + latest_sha: + title: The last hash that was resolved (used to avoid triggering releases + when things haven't changed) type: string - status: - $ref: '#/components/schemas/PaymentMethod.Status' - messages: + title: Configuration extracted from the latest deployment in this deployment_group + type: object + AutocompleteReply: + example: + user_env: + - user_env + - user_env + system_env: + - system_env + - system_env + secrets: + - secrets + - secrets + properties: + secrets: items: type: string + title: List of available secrets + type: array + user_env: + items: + type: string + title: List of available user's environment variables + type: array + system_env: + items: + type: string + title: List of available system's environment variables type: array - stripe_payment_method_id: - type: string - authorization_verified_at: - format: date-time - type: string - authorization_canceled_at: - format: date-time - type: string - authorization_stripe_payment_intent_id: - type: string - authorization_stripe_payment_intent_client_secret: - type: string - card_brand: - type: string - card_country: - type: string - card_funding: - type: string - card_fingerprint: - type: string - card_last_digits: - type: string - card_expiration_month: - format: int64 - type: integer - card_expiration_year: - format: int64 - type: integer - type: object - PaymentMethod.Status: - default: INVALID - enum: - - INVALID - - CREATED - - AUTHORIZED - - DECLINED - - CANCELED - - EXPIRED - - UNCHECKED - type: string - AcceptOrganizationInvitationReply: - example: - invitation: - role: null - expires_at: 2000-01-23T04:56:07.000+00:00 - organization_id: organization_id - organization: - name: name - id: id - plan: null - status: null - inviter_id: inviter_id - inviter: - github_user: github_user - avatar_url: avatar_url - name: name - github_id: github_id - id: id - email: email - id: id - email: email - invitee_id: invitee_id - status: null - invitee: - github_user: github_user - avatar_url: avatar_url - name: name - github_id: github_id - id: id - email: email - properties: - invitation: - $ref: '#/components/schemas/OrganizationInvitation' - type: object - Action: - default: signin - enum: - - signin - - signup - - register - type: string - CannyAuthReply: - example: - token: token - properties: - token: - type: string - type: object - CannyAuthRequest: - type: object - CreateAccountRequest: - description: Create new account - example: - email: john@snow.com - password: '...' - properties: - email: - type: string - password: - type: string - name: - type: string - captcha: - type: string - required: - - email - - password - title: Create new account - type: object - CreateOrganizationReply: - example: - organization: - status_message: null - country: country - city: city - vat_number: vat_number - plan_updated_at: 2000-01-23T04:56:07.000+00:00 - has_payment_method: true - trialing: true - subscription_id: subscription_id - signup_qualification: "{}" - reprocess_after: 2000-01-23T04:56:07.000+00:00 - billing_email: billing_email - company: true - id: id - state: state - plan: null - current_subscription_id: current_subscription_id - qualifies_for_hobby23: true - address2: address2 - trial_starts_at: 2000-01-23T04:56:07.000+00:00 - address1: address1 - verified: true - billing_name: billing_name - deactivation_reason: null - name: name - latest_subscription_id: latest_subscription_id - trial_ends_at: 2000-01-23T04:56:07.000+00:00 - postal_code: postal_code - status: null - properties: - organization: - $ref: '#/components/schemas/Organization' - type: object - CreateOrganizationRequest: - example: - name: name - properties: - name: - type: string - type: object - DeactivateOrganizationReply: - example: - organization: - status_message: null - country: country - city: city - vat_number: vat_number - plan_updated_at: 2000-01-23T04:56:07.000+00:00 - has_payment_method: true - trialing: true - subscription_id: subscription_id - signup_qualification: "{}" - reprocess_after: 2000-01-23T04:56:07.000+00:00 - billing_email: billing_email - company: true - id: id - state: state - plan: null - current_subscription_id: current_subscription_id - qualifies_for_hobby23: true - address2: address2 - trial_starts_at: 2000-01-23T04:56:07.000+00:00 - address1: address1 - verified: true - billing_name: billing_name - deactivation_reason: null - name: name - latest_subscription_id: latest_subscription_id - trial_ends_at: 2000-01-23T04:56:07.000+00:00 - postal_code: postal_code - status: null - properties: - organization: - $ref: '#/components/schemas/Organization' type: object - DeclineOrganizationInvitationReply: + AutocompleteRequest: example: - invitation: - role: null - expires_at: 2000-01-23T04:56:07.000+00:00 - organization_id: organization_id - organization: - name: name + definition: + instance_types: + - scopes: + - scopes + - scopes + type: type + - scopes: + - scopes + - scopes + type: type + regions: + - regions + - regions + volumes: + - path: path + replica_index: 1 id: id - plan: null - status: null - inviter_id: inviter_id - inviter: - github_user: github_user - avatar_url: avatar_url - name: name - github_id: github_id + scopes: + - scopes + - scopes + - path: path + replica_index: 1 id: id - email: email - id: id - email: email - invitee_id: invitee_id - status: null - invitee: - github_user: github_user - avatar_url: avatar_url - name: name - github_id: github_id + scopes: + - scopes + - scopes + skip_cache: true + archive: id: id - email: email - properties: - invitation: - $ref: '#/components/schemas/OrganizationInvitation' - type: object - DeleteOrganizationReply: - example: - organization: - status_message: null - country: country - city: city - vat_number: vat_number - plan_updated_at: 2000-01-23T04:56:07.000+00:00 - has_payment_method: true - trialing: true - subscription_id: subscription_id - signup_qualification: "{}" - reprocess_after: 2000-01-23T04:56:07.000+00:00 - billing_email: billing_email - company: true - id: id - state: state - plan: null - current_subscription_id: current_subscription_id - qualifies_for_hobby23: true - address2: address2 - trial_starts_at: 2000-01-23T04:56:07.000+00:00 - address1: address1 - verified: true - billing_name: billing_name - deactivation_reason: null + buildpack: + privileged: true + run_command: run_command + build_command: build_command + docker: + args: + - args + - args + privileged: true + entrypoint: + - entrypoint + - entrypoint + dockerfile: dockerfile + command: command + target: target + type: null + ports: + - protocol: protocol + port: 6 + - protocol: protocol + port: 6 + env: + - scopes: + - scopes + - scopes + secret: secret + value: value + key: key + - scopes: + - scopes + - scopes + secret: secret + value: value + key: key + config_files: + - path: path + permissions: permissions + content: content + - path: path + permissions: permissions + content: content + docker: + args: + - args + - args + privileged: true + image: image + image_registry_secret: image_registry_secret + entrypoint: + - entrypoint + - entrypoint + command: command + routes: + - path: path + port: 0 + - path: path + port: 0 + database: + neon_postgres: + databases: + - owner: owner + name: name + - owner: owner + name: name + roles: + - name: name + secret: secret + - name: name + secret: secret + region: region + instance_type: instance_type + pg_version: 4 + git: + run_command: run_command + workdir: workdir + build_command: build_command + no_deploy_on_push: true + tag: tag + repository: repository + buildpack: + privileged: true + run_command: run_command + build_command: build_command + branch: branch + sha: sha + docker: + args: + - args + - args + privileged: true + entrypoint: + - entrypoint + - entrypoint + dockerfile: dockerfile + command: command + target: target + scalings: + - min: 1 + max: 5 + scopes: + - scopes + - scopes + targets: + - average_mem: + value: 2 + requests_per_second: + value: 7 + average_cpu: + value: 5 + requests_response_time: + quantile: 2 + value: 3 + concurrent_requests: + value: 9 + sleep_idle_delay: + value: 4 + - average_mem: + value: 2 + requests_per_second: + value: 7 + average_cpu: + value: 5 + requests_response_time: + quantile: 2 + value: 3 + concurrent_requests: + value: 9 + sleep_idle_delay: + value: 4 + - min: 1 + max: 5 + scopes: + - scopes + - scopes + targets: + - average_mem: + value: 2 + requests_per_second: + value: 7 + average_cpu: + value: 5 + requests_response_time: + quantile: 2 + value: 3 + concurrent_requests: + value: 9 + sleep_idle_delay: + value: 4 + - average_mem: + value: 2 + requests_per_second: + value: 7 + average_cpu: + value: 5 + requests_response_time: + quantile: 2 + value: 3 + concurrent_requests: + value: 9 + sleep_idle_delay: + value: 4 + health_checks: + - tcp: + port: 6 + restart_limit: 1 + http: + path: path + headers: + - value: value + key: key + - value: value + key: key + method: method + port: 7 + interval: 1 + grace_period: 7 + timeout: 1 + - tcp: + port: 6 + restart_limit: 1 + http: + path: path + headers: + - value: value + key: key + - value: value + key: key + method: method + port: 7 + interval: 1 + grace_period: 7 + timeout: 1 name: name - latest_subscription_id: latest_subscription_id - trial_ends_at: 2000-01-23T04:56:07.000+00:00 - postal_code: postal_code - status: null - properties: - organization: - $ref: '#/components/schemas/Organization' - type: object - DiscourseAuthReply: - example: - sig: sig - sso: sso - properties: - sso: - type: string - sig: - type: string - type: object - DiscourseAuthRequest: - example: - sig: sig - payload: payload + strategy: + type: null properties: - payload: - type: string - sig: - type: string + definition: + $ref: '#/components/schemas/DeploymentDefinition' type: object - GetGithubInstallationReply: + CreateService: example: - indexing_status: null - indexed_repositories: 0 - avatar_url: avatar_url - installation_url: installation_url - installed_at: 2000-01-23T04:56:07.000+00:00 - name: name - installation_id: installation_id - total_repositories: 6 - status: null - suspended_at: 2000-01-23T04:56:07.000+00:00 + definition: + instance_types: + - scopes: + - scopes + - scopes + type: type + - scopes: + - scopes + - scopes + type: type + regions: + - regions + - regions + volumes: + - path: path + replica_index: 1 + id: id + scopes: + - scopes + - scopes + - path: path + replica_index: 1 + id: id + scopes: + - scopes + - scopes + skip_cache: true + archive: + id: id + buildpack: + privileged: true + run_command: run_command + build_command: build_command + docker: + args: + - args + - args + privileged: true + entrypoint: + - entrypoint + - entrypoint + dockerfile: dockerfile + command: command + target: target + type: null + ports: + - protocol: protocol + port: 6 + - protocol: protocol + port: 6 + env: + - scopes: + - scopes + - scopes + secret: secret + value: value + key: key + - scopes: + - scopes + - scopes + secret: secret + value: value + key: key + config_files: + - path: path + permissions: permissions + content: content + - path: path + permissions: permissions + content: content + docker: + args: + - args + - args + privileged: true + image: image + image_registry_secret: image_registry_secret + entrypoint: + - entrypoint + - entrypoint + command: command + routes: + - path: path + port: 0 + - path: path + port: 0 + database: + neon_postgres: + databases: + - owner: owner + name: name + - owner: owner + name: name + roles: + - name: name + secret: secret + - name: name + secret: secret + region: region + instance_type: instance_type + pg_version: 4 + git: + run_command: run_command + workdir: workdir + build_command: build_command + no_deploy_on_push: true + tag: tag + repository: repository + buildpack: + privileged: true + run_command: run_command + build_command: build_command + branch: branch + sha: sha + docker: + args: + - args + - args + privileged: true + entrypoint: + - entrypoint + - entrypoint + dockerfile: dockerfile + command: command + target: target + scalings: + - min: 1 + max: 5 + scopes: + - scopes + - scopes + targets: + - average_mem: + value: 2 + requests_per_second: + value: 7 + average_cpu: + value: 5 + requests_response_time: + quantile: 2 + value: 3 + concurrent_requests: + value: 9 + sleep_idle_delay: + value: 4 + - average_mem: + value: 2 + requests_per_second: + value: 7 + average_cpu: + value: 5 + requests_response_time: + quantile: 2 + value: 3 + concurrent_requests: + value: 9 + sleep_idle_delay: + value: 4 + - min: 1 + max: 5 + scopes: + - scopes + - scopes + targets: + - average_mem: + value: 2 + requests_per_second: + value: 7 + average_cpu: + value: 5 + requests_response_time: + quantile: 2 + value: 3 + concurrent_requests: + value: 9 + sleep_idle_delay: + value: 4 + - average_mem: + value: 2 + requests_per_second: + value: 7 + average_cpu: + value: 5 + requests_response_time: + quantile: 2 + value: 3 + concurrent_requests: + value: 9 + sleep_idle_delay: + value: 4 + health_checks: + - tcp: + port: 6 + restart_limit: 1 + http: + path: path + headers: + - value: value + key: key + - value: value + key: key + method: method + port: 7 + interval: 1 + grace_period: 7 + timeout: 1 + - tcp: + port: 6 + restart_limit: 1 + http: + path: path + headers: + - value: value + key: key + - value: value + key: key + method: method + port: 7 + interval: 1 + grace_period: 7 + timeout: 1 + name: name + strategy: + type: null + app_id: app_id properties: - installation_id: - type: string - installation_url: - type: string - name: - type: string - avatar_url: - type: string - status: - $ref: '#/components/schemas/kgitproxy.GithubInstallation.Status' - installed_at: - format: date-time - type: string - suspended_at: - format: date-time + app_id: type: string - indexing_status: - $ref: '#/components/schemas/kgitproxy.IndexingStatus' - indexed_repositories: - format: int64 - type: integer - total_repositories: - format: int64 - type: integer + definition: + $ref: '#/components/schemas/DeploymentDefinition' type: object - GetOAuthOptionsReply: - description: A list of providers which you can use for single sign-on. + CreateServiceReply: example: - oauth_providers: - - id: id - state: state - url: url - - id: id - state: state - url: url + service: + created_at: 2000-01-23T04:56:07.000+00:00 + resumed_at: 2000-01-23T04:56:07.000+00:00 + type: null + version: version + last_provisioned_deployment_id: last_provisioned_deployment_id + succeeded_at: 2000-01-23T04:56:07.000+00:00 + paused_at: 2000-01-23T04:56:07.000+00:00 + updated_at: 2000-01-23T04:56:07.000+00:00 + organization_id: organization_id + name: name + started_at: 2000-01-23T04:56:07.000+00:00 + messages: + - messages + - messages + active_deployment_id: active_deployment_id + id: id + state: + desired_deployment: + groups: + - name: name + deployment_ids: + - deployment_ids + - deployment_ids + - name: name + deployment_ids: + - deployment_ids + - deployment_ids + auto_release: + groups: + - latest_sha: latest_sha + name: name + git_ref: git_ref + repository: repository + - latest_sha: latest_sha + name: name + git_ref: git_ref + repository: repository + app_id: app_id + terminated_at: 2000-01-23T04:56:07.000+00:00 + latest_deployment_id: latest_deployment_id + status: null properties: - oauth_providers: + service: + $ref: '#/components/schemas/Service' + type: object + DeleteServiceReply: + type: object + DesiredDeployment: + example: + groups: + - name: name + deployment_ids: + - deployment_ids + - deployment_ids + - name: name + deployment_ids: + - deployment_ids + - deployment_ids + properties: + groups: items: - $ref: '#/components/schemas/OAuthProvider' + $ref: '#/components/schemas/DesiredDeployment.Group' type: array type: object - GetOrganizationReply: + DesiredDeployment.Group: example: - organization: - status_message: null - country: country - city: city - vat_number: vat_number - plan_updated_at: 2000-01-23T04:56:07.000+00:00 - has_payment_method: true - trialing: true - subscription_id: subscription_id - signup_qualification: "{}" - reprocess_after: 2000-01-23T04:56:07.000+00:00 - billing_email: billing_email - company: true - id: id - state: state - plan: null - current_subscription_id: current_subscription_id - qualifies_for_hobby23: true - address2: address2 - trial_starts_at: 2000-01-23T04:56:07.000+00:00 - address1: address1 - verified: true - billing_name: billing_name - deactivation_reason: null - name: name - latest_subscription_id: latest_subscription_id - trial_ends_at: 2000-01-23T04:56:07.000+00:00 - postal_code: postal_code - status: null + name: name + deployment_ids: + - deployment_ids + - deployment_ids properties: - organization: - $ref: '#/components/schemas/Organization' + name: + type: string + deployment_ids: + items: + type: string + type: array type: object - GetUserOrganizationInvitationReply: + GetServiceReply: example: - invitation: - role: null - expires_at: 2000-01-23T04:56:07.000+00:00 + service: + created_at: 2000-01-23T04:56:07.000+00:00 + resumed_at: 2000-01-23T04:56:07.000+00:00 + type: null + version: version + last_provisioned_deployment_id: last_provisioned_deployment_id + succeeded_at: 2000-01-23T04:56:07.000+00:00 + paused_at: 2000-01-23T04:56:07.000+00:00 + updated_at: 2000-01-23T04:56:07.000+00:00 organization_id: organization_id - organization: - name: name - id: id - plan: null - status: null - inviter_id: inviter_id - inviter: - github_user: github_user - avatar_url: avatar_url - name: name - github_id: github_id - id: id - email: email + name: name + started_at: 2000-01-23T04:56:07.000+00:00 + messages: + - messages + - messages + active_deployment_id: active_deployment_id id: id - email: email - invitee_id: invitee_id + state: + desired_deployment: + groups: + - name: name + deployment_ids: + - deployment_ids + - deployment_ids + - name: name + deployment_ids: + - deployment_ids + - deployment_ids + auto_release: + groups: + - latest_sha: latest_sha + name: name + git_ref: git_ref + repository: repository + - latest_sha: latest_sha + name: name + git_ref: git_ref + repository: repository + app_id: app_id + terminated_at: 2000-01-23T04:56:07.000+00:00 + latest_deployment_id: latest_deployment_id status: null - invitee: - github_user: github_user - avatar_url: avatar_url - name: name - github_id: github_id - id: id - email: email properties: - invitation: - $ref: '#/components/schemas/OrganizationInvitation' + service: + $ref: '#/components/schemas/Service' type: object - GithubInstallationReply: + ListServiceEventsReply: example: - app_name: app_name - state: state - app_id: app_id - url: url + offset: 6 + limit: 0 + has_next: true + events: + - metadata: "{}" + organization_id: organization_id + service_id: service_id + id: id + type: type + message: message + when: 2000-01-23T04:56:07.000+00:00 + - metadata: "{}" + organization_id: organization_id + service_id: service_id + id: id + type: type + message: message + when: 2000-01-23T04:56:07.000+00:00 + order: order properties: - app_name: - title: The github app name - type: string - app_id: + events: + items: + $ref: '#/components/schemas/ServiceEvent' + title: The collection of events + type: array + limit: format: int64 - title: The github app id - type: string - url: - title: The url to start the installation flow - type: string - state: - title: "The state required by the protocol, it is only valid 10 minutes\ - \ and encodes information about the type of flow" - type: string - type: object - GithubInstallationRequest: - example: - metadata: metadata - properties: - metadata: - title: A small (limited to 400 characters) string of arbitrary metadata - which will be encoded in the state + title: The limit in the request + type: integer + offset: + format: int64 + title: The offset in the request + type: integer + order: + title: The order in the request type: string - type: object - HasUnpaidInvoicesReply: - example: - has_unpaid_invoices: true - properties: - has_unpaid_invoices: + has_next: + title: If there is more items after in the collection type: boolean type: object - InviteUserRequest: - example: - name: name - message: message - email: email - properties: - email: - type: string - name: - type: string - message: - type: string - type: object - ListUserOrganizationInvitationsReply: + ListServicesReply: example: offset: 6 - invitations: - - role: null - expires_at: 2000-01-23T04:56:07.000+00:00 + limit: 0 + count: 1 + has_next: true + services: + - created_at: 2000-01-23T04:56:07.000+00:00 + type: null + version: version + updated_at: 2000-01-23T04:56:07.000+00:00 organization_id: organization_id - organization: - name: name - id: id - plan: null - status: null - inviter_id: inviter_id - inviter: - github_user: github_user - avatar_url: avatar_url - name: name - github_id: github_id - id: id - email: email + name: name + messages: + - messages + - messages + active_deployment_id: active_deployment_id id: id - email: email - invitee_id: invitee_id + state: + desired_deployment: + groups: + - name: name + deployment_ids: + - deployment_ids + - deployment_ids + - name: name + deployment_ids: + - deployment_ids + - deployment_ids + auto_release: + groups: + - latest_sha: latest_sha + name: name + git_ref: git_ref + repository: repository + - latest_sha: latest_sha + name: name + git_ref: git_ref + repository: repository + app_id: app_id + latest_deployment_id: latest_deployment_id status: null - invitee: - github_user: github_user - avatar_url: avatar_url - name: name - github_id: github_id - id: id - email: email - - role: null - expires_at: 2000-01-23T04:56:07.000+00:00 + - created_at: 2000-01-23T04:56:07.000+00:00 + type: null + version: version + updated_at: 2000-01-23T04:56:07.000+00:00 organization_id: organization_id - organization: - name: name - id: id - plan: null - status: null - inviter_id: inviter_id - inviter: - github_user: github_user - avatar_url: avatar_url - name: name - github_id: github_id - id: id - email: email + name: name + messages: + - messages + - messages + active_deployment_id: active_deployment_id id: id - email: email - invitee_id: invitee_id + state: + desired_deployment: + groups: + - name: name + deployment_ids: + - deployment_ids + - deployment_ids + - name: name + deployment_ids: + - deployment_ids + - deployment_ids + auto_release: + groups: + - latest_sha: latest_sha + name: name + git_ref: git_ref + repository: repository + - latest_sha: latest_sha + name: name + git_ref: git_ref + repository: repository + app_id: app_id + latest_deployment_id: latest_deployment_id status: null - invitee: - github_user: github_user - avatar_url: avatar_url - name: name - github_id: github_id - id: id - email: email - limit: 0 - count: 1 properties: - invitations: + services: items: - $ref: '#/components/schemas/OrganizationInvitation' - title: The collection of organization invitations + $ref: '#/components/schemas/ServiceListItem' type: array limit: format: int64 @@ -21800,1076 +19826,3096 @@ components: format: int64 title: The total number of items type: integer + has_next: + title: If there is more items after in the collection + type: boolean type: object - ManageReply: - example: - url: url - properties: - url: - type: string - type: object - NextInvoiceReply: - example: - discounts: - - amount: amount - name: name - type: null - - amount: amount - name: name - type: null - stripe_invoice: "{}" - lines: - - period: - start: 2000-01-23T04:56:07.000+00:00 - end: 2000-01-23T04:56:07.000+00:00 - plan_nickname: plan_nickname - quantity: 1 - price: - unit_amount_decimal: 6.027456183070403 - amount_excluding_tax: 0 - - period: - start: 2000-01-23T04:56:07.000+00:00 - end: 2000-01-23T04:56:07.000+00:00 - plan_nickname: plan_nickname - quantity: 1 - price: - unit_amount_decimal: 6.027456183070403 - amount_excluding_tax: 0 - properties: - stripe_invoice: - properties: {} - type: object - lines: - items: - $ref: '#/components/schemas/NextInvoiceReply.Line' - type: array - discounts: - items: - $ref: '#/components/schemas/NextInvoiceReply.Discount' - type: array - type: object - NextInvoiceReply.Discount: - example: - amount: amount - name: name - type: null - properties: - type: - $ref: '#/components/schemas/NextInvoiceReply.Discount.Type' - name: - type: string - amount: - format: int64 - type: string - type: object - NextInvoiceReply.Discount.Type: - default: PERCENT_OFF - enum: - - PERCENT_OFF - - AMOUNT_OFF - type: string - NextInvoiceReply.Line: - example: - period: - start: 2000-01-23T04:56:07.000+00:00 - end: 2000-01-23T04:56:07.000+00:00 - plan_nickname: plan_nickname - quantity: 1 - price: - unit_amount_decimal: 6.027456183070403 - amount_excluding_tax: 0 - properties: - amount_excluding_tax: - format: int32 - type: integer - period: - $ref: '#/components/schemas/NextInvoiceReply.Line.Period' - plan_nickname: - type: string - price: - $ref: '#/components/schemas/NextInvoiceReply.Line.Price' - quantity: - format: int32 - type: integer - type: object - NextInvoiceReply.Line.Period: - example: - start: 2000-01-23T04:56:07.000+00:00 - end: 2000-01-23T04:56:07.000+00:00 - properties: - start: - format: date-time - type: string - end: - format: date-time - type: string - type: object - NextInvoiceReply.Line.Price: - example: - unit_amount_decimal: 6.027456183070403 - properties: - unit_amount_decimal: - format: double - type: number + PauseServiceReply: type: object - OAuthCallbackReply: + RedeployReply: example: - token: - id: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9... - expires: 2022-09-08T14:00:00Z - user_id: 996d7822-6b58-11e9-956f-32001b70f000 - organization_id: 9f33b2c6-6b58-11e9-883c-32001b70f000 - properties: - token: - $ref: '#/components/schemas/Token' + deployment: + metadata: + database: + neon_postgres: + reset_role_passwords: + - reset_role_passwords + - reset_role_passwords + git: + last_provisioned_deployment_id: last_provisioned_deployment_id + archive: + last_provisioned_deployment_id: last_provisioned_deployment_id + trigger: + actor: null + git: + sender_username: sender_username + provider: null + repository: repository + message: message + branch: branch + sha: sha + sender_avatar_url: sender_avatar_url + sender_profile_url: sender_profile_url + type: null + role: null + created_at: 2000-01-23T04:56:07.000+00:00 + skip_build: true + version: version + succeeded_at: 2000-01-23T04:56:07.000+00:00 + updated_at: 2000-01-23T04:56:07.000+00:00 + child_id: child_id + provisioning_info: + image: image + stages: + - finished_at: 2000-01-23T04:56:07.000+00:00 + build_attempts: + - internal_failure: true + finished_at: 2000-01-23T04:56:07.000+00:00 + wait_completion: true + image_pushed: true + messages: + - messages + - messages + started_at: 2000-01-23T04:56:07.000+00:00 + id: 5 + steps: + - finished_at: 2000-01-23T04:56:07.000+00:00 + name: name + messages: + - messages + - messages + started_at: 2000-01-23T04:56:07.000+00:00 + status: null + - finished_at: 2000-01-23T04:56:07.000+00:00 + name: name + messages: + - messages + - messages + started_at: 2000-01-23T04:56:07.000+00:00 + status: null + status: null + retryable_failure: true + - internal_failure: true + finished_at: 2000-01-23T04:56:07.000+00:00 + wait_completion: true + image_pushed: true + messages: + - messages + - messages + started_at: 2000-01-23T04:56:07.000+00:00 + id: 5 + steps: + - finished_at: 2000-01-23T04:56:07.000+00:00 + name: name + messages: + - messages + - messages + started_at: 2000-01-23T04:56:07.000+00:00 + status: null + - finished_at: 2000-01-23T04:56:07.000+00:00 + name: name + messages: + - messages + - messages + started_at: 2000-01-23T04:56:07.000+00:00 + status: null + status: null + retryable_failure: true + name: name + messages: + - messages + - messages + started_at: 2000-01-23T04:56:07.000+00:00 + status: null + - finished_at: 2000-01-23T04:56:07.000+00:00 + build_attempts: + - internal_failure: true + finished_at: 2000-01-23T04:56:07.000+00:00 + wait_completion: true + image_pushed: true + messages: + - messages + - messages + started_at: 2000-01-23T04:56:07.000+00:00 + id: 5 + steps: + - finished_at: 2000-01-23T04:56:07.000+00:00 + name: name + messages: + - messages + - messages + started_at: 2000-01-23T04:56:07.000+00:00 + status: null + - finished_at: 2000-01-23T04:56:07.000+00:00 + name: name + messages: + - messages + - messages + started_at: 2000-01-23T04:56:07.000+00:00 + status: null + status: null + retryable_failure: true + - internal_failure: true + finished_at: 2000-01-23T04:56:07.000+00:00 + wait_completion: true + image_pushed: true + messages: + - messages + - messages + started_at: 2000-01-23T04:56:07.000+00:00 + id: 5 + steps: + - finished_at: 2000-01-23T04:56:07.000+00:00 + name: name + messages: + - messages + - messages + started_at: 2000-01-23T04:56:07.000+00:00 + status: null + - finished_at: 2000-01-23T04:56:07.000+00:00 + name: name + messages: + - messages + - messages + started_at: 2000-01-23T04:56:07.000+00:00 + status: null + status: null + retryable_failure: true + name: name + messages: + - messages + - messages + started_at: 2000-01-23T04:56:07.000+00:00 + status: null + sha: sha + deployment_group: deployment_group + parent_id: parent_id + organization_id: organization_id + service_id: service_id + started_at: 2000-01-23T04:56:07.000+00:00 + messages: + - messages + - messages + definition: + instance_types: + - scopes: + - scopes + - scopes + type: type + - scopes: + - scopes + - scopes + type: type + regions: + - regions + - regions + volumes: + - path: path + replica_index: 1 + id: id + scopes: + - scopes + - scopes + - path: path + replica_index: 1 + id: id + scopes: + - scopes + - scopes + skip_cache: true + archive: + id: id + buildpack: + privileged: true + run_command: run_command + build_command: build_command + docker: + args: + - args + - args + privileged: true + entrypoint: + - entrypoint + - entrypoint + dockerfile: dockerfile + command: command + target: target + type: null + ports: + - protocol: protocol + port: 6 + - protocol: protocol + port: 6 + env: + - scopes: + - scopes + - scopes + secret: secret + value: value + key: key + - scopes: + - scopes + - scopes + secret: secret + value: value + key: key + config_files: + - path: path + permissions: permissions + content: content + - path: path + permissions: permissions + content: content + docker: + args: + - args + - args + privileged: true + image: image + image_registry_secret: image_registry_secret + entrypoint: + - entrypoint + - entrypoint + command: command + routes: + - path: path + port: 0 + - path: path + port: 0 + database: + neon_postgres: + databases: + - owner: owner + name: name + - owner: owner + name: name + roles: + - name: name + secret: secret + - name: name + secret: secret + region: region + instance_type: instance_type + pg_version: 4 + git: + run_command: run_command + workdir: workdir + build_command: build_command + no_deploy_on_push: true + tag: tag + repository: repository + buildpack: + privileged: true + run_command: run_command + build_command: build_command + branch: branch + sha: sha + docker: + args: + - args + - args + privileged: true + entrypoint: + - entrypoint + - entrypoint + dockerfile: dockerfile + command: command + target: target + scalings: + - min: 1 + max: 5 + scopes: + - scopes + - scopes + targets: + - average_mem: + value: 2 + requests_per_second: + value: 7 + average_cpu: + value: 5 + requests_response_time: + quantile: 2 + value: 3 + concurrent_requests: + value: 9 + sleep_idle_delay: + value: 4 + - average_mem: + value: 2 + requests_per_second: + value: 7 + average_cpu: + value: 5 + requests_response_time: + quantile: 2 + value: 3 + concurrent_requests: + value: 9 + sleep_idle_delay: + value: 4 + - min: 1 + max: 5 + scopes: + - scopes + - scopes + targets: + - average_mem: + value: 2 + requests_per_second: + value: 7 + average_cpu: + value: 5 + requests_response_time: + quantile: 2 + value: 3 + concurrent_requests: + value: 9 + sleep_idle_delay: + value: 4 + - average_mem: + value: 2 + requests_per_second: + value: 7 + average_cpu: + value: 5 + requests_response_time: + quantile: 2 + value: 3 + concurrent_requests: + value: 9 + sleep_idle_delay: + value: 4 + health_checks: + - tcp: + port: 6 + restart_limit: 1 + http: + path: path + headers: + - value: value + key: key + - value: value + key: key + method: method + port: 7 + interval: 1 + grace_period: 7 + timeout: 1 + - tcp: + port: 6 + restart_limit: 1 + http: + path: path + headers: + - value: value + key: key + - value: value + key: key + method: method + port: 7 + interval: 1 + grace_period: 7 + timeout: 1 + name: name + strategy: + type: null + id: id + database_info: + neon_postgres: + endpoint_state: endpoint_state + endpoint_last_active: 2000-01-23T04:56:07.000+00:00 + server_host: server_host + roles: + - secret_id: secret_id + name: name + - secret_id: secret_id + name: name + written_data_bytes: written_data_bytes + data_transfer_bytes: data_transfer_bytes + default_branch_state: default_branch_state + active_time_seconds: active_time_seconds + default_branch_logical_size: default_branch_logical_size + default_branch_name: default_branch_name + server_port: 9 + default_branch_id: default_branch_id + compute_time_seconds: compute_time_seconds + data_storage_bytes_hour: data_storage_bytes_hour + app_id: app_id + terminated_at: 2000-01-23T04:56:07.000+00:00 + allocated_at: 2000-01-23T04:56:07.000+00:00 + status: null + properties: + deployment: + $ref: '#/components/schemas/Deployment' + type: object + RedeployRequest.Info: + properties: + deployment_group: + type: string + sha: + type: string + use_cache: + type: boolean + skip_build: + description: |- + If set to true, the build stage will be skipped and the image coming from the last successful build step will be used instead. + The call fails if no previous successful builds happened. + type: boolean + type: object + ResumeServiceReply: + type: object + Service: + example: + created_at: 2000-01-23T04:56:07.000+00:00 + resumed_at: 2000-01-23T04:56:07.000+00:00 + type: null + version: version + last_provisioned_deployment_id: last_provisioned_deployment_id + succeeded_at: 2000-01-23T04:56:07.000+00:00 + paused_at: 2000-01-23T04:56:07.000+00:00 + updated_at: 2000-01-23T04:56:07.000+00:00 + organization_id: organization_id + name: name + started_at: 2000-01-23T04:56:07.000+00:00 + messages: + - messages + - messages + active_deployment_id: active_deployment_id + id: id + state: + desired_deployment: + groups: + - name: name + deployment_ids: + - deployment_ids + - deployment_ids + - name: name + deployment_ids: + - deployment_ids + - deployment_ids + auto_release: + groups: + - latest_sha: latest_sha + name: name + git_ref: git_ref + repository: repository + - latest_sha: latest_sha + name: name + git_ref: git_ref + repository: repository + app_id: app_id + terminated_at: 2000-01-23T04:56:07.000+00:00 + latest_deployment_id: latest_deployment_id + status: null + properties: + id: + type: string + created_at: + format: date-time + type: string + updated_at: + format: date-time + type: string + started_at: + format: date-time + type: string + succeeded_at: + format: date-time + type: string + paused_at: + format: date-time + type: string + resumed_at: + format: date-time + type: string + terminated_at: + format: date-time + type: string + name: + type: string + type: + $ref: '#/components/schemas/Service.Type' + organization_id: + type: string + app_id: + type: string + status: + $ref: '#/components/schemas/Service.Status' + messages: + items: + type: string + type: array + version: + format: uint64 + type: string + active_deployment_id: + type: string + latest_deployment_id: + type: string + last_provisioned_deployment_id: + type: string + state: + $ref: '#/components/schemas/ServiceState' + type: object + Service.Status: + default: STARTING + enum: + - STARTING + - HEALTHY + - DEGRADED + - UNHEALTHY + - DELETING + - DELETED + - PAUSING + - PAUSED + - RESUMING + type: string + Service.Type: + default: INVALID_TYPE + enum: + - INVALID_TYPE + - WEB + - WORKER + - DATABASE + type: string + ServiceEvent: + example: + metadata: "{}" + organization_id: organization_id + service_id: service_id + id: id + type: type + message: message + when: 2000-01-23T04:56:07.000+00:00 + properties: + id: + type: string + when: + format: date-time + type: string + organization_id: + type: string + service_id: + type: string + type: + type: string + message: + type: string + metadata: + properties: {} + type: object + type: object + ServiceListItem: + example: + created_at: 2000-01-23T04:56:07.000+00:00 + type: null + version: version + updated_at: 2000-01-23T04:56:07.000+00:00 + organization_id: organization_id + name: name + messages: + - messages + - messages + active_deployment_id: active_deployment_id + id: id + state: + desired_deployment: + groups: + - name: name + deployment_ids: + - deployment_ids + - deployment_ids + - name: name + deployment_ids: + - deployment_ids + - deployment_ids + auto_release: + groups: + - latest_sha: latest_sha + name: name + git_ref: git_ref + repository: repository + - latest_sha: latest_sha + name: name + git_ref: git_ref + repository: repository + app_id: app_id + latest_deployment_id: latest_deployment_id + status: null + properties: + id: + type: string + name: + type: string + type: + $ref: '#/components/schemas/Service.Type' + organization_id: + type: string + app_id: + type: string + updated_at: + format: date-time + type: string + created_at: + format: date-time + type: string + status: + $ref: '#/components/schemas/Service.Status' + messages: + items: + type: string + type: array + version: + format: uint64 + title: A version updated whenever this state changes (useful for caching) + type: string + state: + $ref: '#/components/schemas/ServiceState' + active_deployment_id: + type: string + latest_deployment_id: + type: string + type: object + ServiceState: + example: + desired_deployment: + groups: + - name: name + deployment_ids: + - deployment_ids + - deployment_ids + - name: name + deployment_ids: + - deployment_ids + - deployment_ids + auto_release: + groups: + - latest_sha: latest_sha + name: name + git_ref: git_ref + repository: repository + - latest_sha: latest_sha + name: name + git_ref: git_ref + repository: repository + properties: + desired_deployment: + $ref: '#/components/schemas/DesiredDeployment' + auto_release: + $ref: '#/components/schemas/AutoRelease' + type: object + UpdateService: + example: + metadata: + database: + neon_postgres: + reset_role_passwords: + - reset_role_passwords + - reset_role_passwords + git: + last_provisioned_deployment_id: last_provisioned_deployment_id + archive: + last_provisioned_deployment_id: last_provisioned_deployment_id + trigger: + actor: null + git: + sender_username: sender_username + provider: null + repository: repository + message: message + branch: branch + sha: sha + sender_avatar_url: sender_avatar_url + sender_profile_url: sender_profile_url + type: null + save_only: true + definition: + instance_types: + - scopes: + - scopes + - scopes + type: type + - scopes: + - scopes + - scopes + type: type + regions: + - regions + - regions + volumes: + - path: path + replica_index: 1 + id: id + scopes: + - scopes + - scopes + - path: path + replica_index: 1 + id: id + scopes: + - scopes + - scopes + skip_cache: true + archive: + id: id + buildpack: + privileged: true + run_command: run_command + build_command: build_command + docker: + args: + - args + - args + privileged: true + entrypoint: + - entrypoint + - entrypoint + dockerfile: dockerfile + command: command + target: target + type: null + ports: + - protocol: protocol + port: 6 + - protocol: protocol + port: 6 + env: + - scopes: + - scopes + - scopes + secret: secret + value: value + key: key + - scopes: + - scopes + - scopes + secret: secret + value: value + key: key + config_files: + - path: path + permissions: permissions + content: content + - path: path + permissions: permissions + content: content + docker: + args: + - args + - args + privileged: true + image: image + image_registry_secret: image_registry_secret + entrypoint: + - entrypoint + - entrypoint + command: command + routes: + - path: path + port: 0 + - path: path + port: 0 + database: + neon_postgres: + databases: + - owner: owner + name: name + - owner: owner + name: name + roles: + - name: name + secret: secret + - name: name + secret: secret + region: region + instance_type: instance_type + pg_version: 4 + git: + run_command: run_command + workdir: workdir + build_command: build_command + no_deploy_on_push: true + tag: tag + repository: repository + buildpack: + privileged: true + run_command: run_command + build_command: build_command + branch: branch + sha: sha + docker: + args: + - args + - args + privileged: true + entrypoint: + - entrypoint + - entrypoint + dockerfile: dockerfile + command: command + target: target + scalings: + - min: 1 + max: 5 + scopes: + - scopes + - scopes + targets: + - average_mem: + value: 2 + requests_per_second: + value: 7 + average_cpu: + value: 5 + requests_response_time: + quantile: 2 + value: 3 + concurrent_requests: + value: 9 + sleep_idle_delay: + value: 4 + - average_mem: + value: 2 + requests_per_second: + value: 7 + average_cpu: + value: 5 + requests_response_time: + quantile: 2 + value: 3 + concurrent_requests: + value: 9 + sleep_idle_delay: + value: 4 + - min: 1 + max: 5 + scopes: + - scopes + - scopes + targets: + - average_mem: + value: 2 + requests_per_second: + value: 7 + average_cpu: + value: 5 + requests_response_time: + quantile: 2 + value: 3 + concurrent_requests: + value: 9 + sleep_idle_delay: + value: 4 + - average_mem: + value: 2 + requests_per_second: + value: 7 + average_cpu: + value: 5 + requests_response_time: + quantile: 2 + value: 3 + concurrent_requests: + value: 9 + sleep_idle_delay: + value: 4 + health_checks: + - tcp: + port: 6 + restart_limit: 1 + http: + path: path + headers: + - value: value + key: key + - value: value + key: key + method: method + port: 7 + interval: 1 + grace_period: 7 + timeout: 1 + - tcp: + port: 6 + restart_limit: 1 + http: + path: path + headers: + - value: value + key: key + - value: value + key: key + method: method + port: 7 + interval: 1 + grace_period: 7 + timeout: 1 + name: name + strategy: + type: null + skip_build: true + properties: + definition: + $ref: '#/components/schemas/DeploymentDefinition' + metadata: + $ref: '#/components/schemas/DeploymentMetadata' + skip_build: + description: |- + If set to true, the build stage will be skipped and the image coming from the last successful build step will be used instead. + The call fails if no previous successful builds happened. + type: boolean + save_only: + title: "If set, do not trigger a deployment, only store the new settings" + type: boolean type: object - OAuthCallbackRequest: + UpdateServiceReply: example: - setup_action: setup_action - code: code - installation_id: installation_id - state: state + service: + created_at: 2000-01-23T04:56:07.000+00:00 + resumed_at: 2000-01-23T04:56:07.000+00:00 + type: null + version: version + last_provisioned_deployment_id: last_provisioned_deployment_id + succeeded_at: 2000-01-23T04:56:07.000+00:00 + paused_at: 2000-01-23T04:56:07.000+00:00 + updated_at: 2000-01-23T04:56:07.000+00:00 + organization_id: organization_id + name: name + started_at: 2000-01-23T04:56:07.000+00:00 + messages: + - messages + - messages + active_deployment_id: active_deployment_id + id: id + state: + desired_deployment: + groups: + - name: name + deployment_ids: + - deployment_ids + - deployment_ids + - name: name + deployment_ids: + - deployment_ids + - deployment_ids + auto_release: + groups: + - latest_sha: latest_sha + name: name + git_ref: git_ref + repository: repository + - latest_sha: latest_sha + name: name + git_ref: git_ref + repository: repository + app_id: app_id + terminated_at: 2000-01-23T04:56:07.000+00:00 + latest_deployment_id: latest_deployment_id + status: null properties: - state: - title: The state created at the origin of the OAuth flow + service: + $ref: '#/components/schemas/Service' + type: object + AzureContainerRegistryConfiguration: + example: + password: password + registry_name: registry_name + username: username + properties: + registry_name: + type: string + username: + type: string + password: + type: string + type: object + CreateSecret: + example: + gcp_container_registry: + keyfile_content: keyfile_content + url: url + github_registry: + password: password + username: username + private_registry: + password: password + url: url + username: username + gitlab_registry: + password: password + username: username + name: name + azure_container_registry: + password: password + registry_name: registry_name + username: username + type: null + value: value + docker_hub_registry: + password: password + username: username + digital_ocean_registry: + password: password + username: username + properties: + name: + type: string + type: + $ref: '#/components/schemas/SecretType' + value: + type: string + docker_hub_registry: + $ref: '#/components/schemas/DockerHubRegistryConfiguration' + private_registry: + $ref: '#/components/schemas/PrivateRegistryConfiguration' + digital_ocean_registry: + $ref: '#/components/schemas/DigitalOceanRegistryConfiguration' + github_registry: + $ref: '#/components/schemas/GitHubRegistryConfiguration' + gitlab_registry: + $ref: '#/components/schemas/GitLabRegistryConfiguration' + gcp_container_registry: + $ref: '#/components/schemas/GCPContainerRegistryConfiguration' + azure_container_registry: + $ref: '#/components/schemas/AzureContainerRegistryConfiguration' + type: object + CreateSecretReply: + example: + secret: + created_at: 2000-01-23T04:56:07.000+00:00 + azure_container_registry: + password: password + registry_name: registry_name + username: username + type: null + digital_ocean_registry: + password: password + username: username + gcp_container_registry: + keyfile_content: keyfile_content + url: url + updated_at: 2000-01-23T04:56:07.000+00:00 + github_registry: + password: password + username: username + database_role_password: + password: password + username: username + organization_id: organization_id + private_registry: + password: password + url: url + username: username + gitlab_registry: + password: password + username: username + name: name + id: id + value: value + docker_hub_registry: + password: password + username: username + properties: + secret: + $ref: '#/components/schemas/Secret' + type: object + DatabaseRolePassword: + example: + password: password + username: username + properties: + username: + type: string + password: + type: string + type: object + DeleteSecretReply: + type: object + DigitalOceanRegistryConfiguration: + example: + password: password + username: username + properties: + username: type: string - code: - title: The code returned by the OAuth provider + password: type: string - setup_action: - description: |- - setup_action is populated in the context of a GitHub app installation request. For logins and - signups, it is not set. + type: object + DockerHubRegistryConfiguration: + example: + password: password + username: username + properties: + username: type: string - installation_id: - description: |- - installation_id is populated in the context of a GitHub app installation request. For logins and - signups, it is not set. + password: type: string type: object - OAuthProvider: + GCPContainerRegistryConfiguration: example: - id: id - state: state + keyfile_content: keyfile_content url: url properties: - id: - title: "The name of the provider (.e.g github, google)" + keyfile_content: type: string url: - title: The URL to call to initiate the OAuth flow - type: string - state: - title: "The OAuth state required by the protocol, it is only valid 10 minutes\ - \ and encodes information about the type of flow" type: string type: object - Organization: + GetSecretReply: example: - status_message: null - country: country - city: city - vat_number: vat_number - plan_updated_at: 2000-01-23T04:56:07.000+00:00 - has_payment_method: true - trialing: true - subscription_id: subscription_id - signup_qualification: "{}" - reprocess_after: 2000-01-23T04:56:07.000+00:00 - billing_email: billing_email - company: true - id: id - state: state - plan: null - current_subscription_id: current_subscription_id - qualifies_for_hobby23: true - address2: address2 - trial_starts_at: 2000-01-23T04:56:07.000+00:00 - address1: address1 - verified: true - billing_name: billing_name - deactivation_reason: null - name: name - latest_subscription_id: latest_subscription_id - trial_ends_at: 2000-01-23T04:56:07.000+00:00 - postal_code: postal_code - status: null + secret: + created_at: 2000-01-23T04:56:07.000+00:00 + azure_container_registry: + password: password + registry_name: registry_name + username: username + type: null + digital_ocean_registry: + password: password + username: username + gcp_container_registry: + keyfile_content: keyfile_content + url: url + updated_at: 2000-01-23T04:56:07.000+00:00 + github_registry: + password: password + username: username + database_role_password: + password: password + username: username + organization_id: organization_id + private_registry: + password: password + url: url + username: username + gitlab_registry: + password: password + username: username + name: name + id: id + value: value + docker_hub_registry: + password: password + username: username properties: - id: - type: string - address1: - type: string - address2: + secret: + $ref: '#/components/schemas/Secret' + type: object + GitHubRegistryConfiguration: + example: + password: password + username: username + properties: + username: type: string - city: + password: type: string - postal_code: + type: object + GitLabRegistryConfiguration: + example: + password: password + username: username + properties: + username: type: string - state: + password: type: string - country: + type: object + ListSecretsReply: + example: + offset: 6 + limit: 0 + count: 1 + secrets: + - created_at: 2000-01-23T04:56:07.000+00:00 + azure_container_registry: + password: password + registry_name: registry_name + username: username + type: null + digital_ocean_registry: + password: password + username: username + gcp_container_registry: + keyfile_content: keyfile_content + url: url + updated_at: 2000-01-23T04:56:07.000+00:00 + github_registry: + password: password + username: username + database_role_password: + password: password + username: username + organization_id: organization_id + private_registry: + password: password + url: url + username: username + gitlab_registry: + password: password + username: username + name: name + id: id + value: value + docker_hub_registry: + password: password + username: username + - created_at: 2000-01-23T04:56:07.000+00:00 + azure_container_registry: + password: password + registry_name: registry_name + username: username + type: null + digital_ocean_registry: + password: password + username: username + gcp_container_registry: + keyfile_content: keyfile_content + url: url + updated_at: 2000-01-23T04:56:07.000+00:00 + github_registry: + password: password + username: username + database_role_password: + password: password + username: username + organization_id: organization_id + private_registry: + password: password + url: url + username: username + gitlab_registry: + password: password + username: username + name: name + id: id + value: value + docker_hub_registry: + password: password + username: username + properties: + secrets: + items: + $ref: '#/components/schemas/Secret' + type: array + limit: + format: int64 + type: integer + offset: + format: int64 + type: integer + count: + format: int64 + type: integer + type: object + PrivateRegistryConfiguration: + example: + password: password + url: url + username: username + properties: + username: type: string - company: - type: boolean - vat_number: + password: type: string - billing_name: + url: type: string - billing_email: + type: object + RevealSecretReply: + example: + value: "{}" + properties: + value: + type: object + type: object + Secret: + example: + created_at: 2000-01-23T04:56:07.000+00:00 + azure_container_registry: + password: password + registry_name: registry_name + username: username + type: null + digital_ocean_registry: + password: password + username: username + gcp_container_registry: + keyfile_content: keyfile_content + url: url + updated_at: 2000-01-23T04:56:07.000+00:00 + github_registry: + password: password + username: username + database_role_password: + password: password + username: username + organization_id: organization_id + private_registry: + password: password + url: url + username: username + gitlab_registry: + password: password + username: username + name: name + id: id + value: value + docker_hub_registry: + password: password + username: username + properties: + id: type: string name: type: string - plan: - $ref: '#/components/schemas/Plan' - plan_updated_at: - format: date-time - type: string - has_payment_method: - type: boolean - subscription_id: - type: string - current_subscription_id: - type: string - latest_subscription_id: + organization_id: type: string - signup_qualification: - properties: {} - type: object - status: - $ref: '#/components/schemas/Organization.Status' - status_message: - $ref: '#/components/schemas/OrganizationDetailedStatus' - deactivation_reason: - $ref: '#/components/schemas/Organization.DeactivationReason' - verified: - type: boolean - qualifies_for_hobby23: - type: boolean - reprocess_after: + type: + $ref: '#/components/schemas/SecretType' + updated_at: format: date-time type: string - trialing: - type: boolean - trial_starts_at: + created_at: format: date-time type: string - trial_ends_at: - format: date-time + value: type: string - title: Represent an Organization + docker_hub_registry: + $ref: '#/components/schemas/DockerHubRegistryConfiguration' + private_registry: + $ref: '#/components/schemas/PrivateRegistryConfiguration' + digital_ocean_registry: + $ref: '#/components/schemas/DigitalOceanRegistryConfiguration' + github_registry: + $ref: '#/components/schemas/GitHubRegistryConfiguration' + gitlab_registry: + $ref: '#/components/schemas/GitLabRegistryConfiguration' + gcp_container_registry: + $ref: '#/components/schemas/GCPContainerRegistryConfiguration' + azure_container_registry: + $ref: '#/components/schemas/AzureContainerRegistryConfiguration' + database_role_password: + $ref: '#/components/schemas/DatabaseRolePassword' type: object - Organization.DeactivationReason: - default: INVALID - enum: - - INVALID - - REQUESTED_BY_OWNER - - SUBSCRIPTION_TERMINATION - - LOCKED_BY_ADMIN - - VERIFICATION_FAILED - type: string - OrganizationDetailedStatus: - default: NEW + SecretType: + default: SIMPLE enum: - - NEW - - EMAIL_NOT_VALIDATED - - BILLING_INFO_MISSING - - LOCKED - - PAYMENT_FAILURE - - VALID - - PENDING_VERIFICATION - - VERIFICATION_FAILED - - REVIEWING_ACCOUNT - - PLAN_UPGRADE_REQUIRED + - SIMPLE + - REGISTRY + - MANAGED type: string - OrganizationInvitation: + UpdateSecretReply: example: - role: null - expires_at: 2000-01-23T04:56:07.000+00:00 - organization_id: organization_id - organization: - name: name - id: id - plan: null - status: null - inviter_id: inviter_id - inviter: - github_user: github_user - avatar_url: avatar_url + secret: + created_at: 2000-01-23T04:56:07.000+00:00 + azure_container_registry: + password: password + registry_name: registry_name + username: username + type: null + digital_ocean_registry: + password: password + username: username + gcp_container_registry: + keyfile_content: keyfile_content + url: url + updated_at: 2000-01-23T04:56:07.000+00:00 + github_registry: + password: password + username: username + database_role_password: + password: password + username: username + organization_id: organization_id + private_registry: + password: password + url: url + username: username + gitlab_registry: + password: password + username: username name: name - github_id: github_id id: id - email: email + value: value + docker_hub_registry: + password: password + username: username + properties: + secret: + $ref: '#/components/schemas/Secret' + type: object + Archive: + example: + size: size + organization_id: organization_id + upload_url: upload_url + created_at: 2000-01-23T04:56:07.000+00:00 id: id - email: email - invitee_id: invitee_id - status: null - invitee: - github_user: github_user - avatar_url: avatar_url - name: name - github_id: github_id - id: id - email: email + deleted_at: 2000-01-23T04:56:07.000+00:00 properties: id: + description: "The archive id, that can be referenced when creating or updating\ + \ a service." type: string - email: + organization_id: + description: Organization owning the archive. type: string - role: - $ref: '#/components/schemas/UserRole.Role' - status: - $ref: '#/components/schemas/OrganizationInvitation.Status' - expires_at: - format: date-time + upload_url: + description: |- + The URL where to upload the archive. This URL is signed and can only be + used to upload the archive until `valid_until`. type: string - organization_id: + size: + description: The provisioned space for the archive. + format: uint64 type: string - organization: - $ref: '#/components/schemas/PublicOrganization' - invitee_id: + created_at: + description: Date of creation of the archive. + format: date-time type: string - invitee: - $ref: '#/components/schemas/PublicUser' - inviter_id: + deleted_at: + description: |- + This field is automatically set by Koyeb when the + archive is garbage collected. + format: date-time type: string - inviter: - $ref: '#/components/schemas/PublicUser' type: object - OrganizationInvitation.Status: - default: INVALID - enum: - - INVALID - - PENDING - - ACCEPTED - - REFUSED - - EXPIRED - type: string - ReactivateOrganizationReply: + CreateArchive: example: - organization: - status_message: null - country: country - city: city - vat_number: vat_number - plan_updated_at: 2000-01-23T04:56:07.000+00:00 - has_payment_method: true - trialing: true - subscription_id: subscription_id - signup_qualification: "{}" - reprocess_after: 2000-01-23T04:56:07.000+00:00 - billing_email: billing_email - company: true + size: size + properties: + size: + description: "How much space to provision for the archive, in bytes." + format: uint64 + type: string + type: object + CreateArchiveReply: + example: + archive: + size: size + organization_id: organization_id + upload_url: upload_url + created_at: 2000-01-23T04:56:07.000+00:00 + id: id + deleted_at: 2000-01-23T04:56:07.000+00:00 + properties: + archive: + $ref: '#/components/schemas/Archive' + type: object + Env: + example: + secret: secret + value: value + key: key + properties: + key: + type: string + value: + type: string + secret: + type: string + type: object + GetRegionalDeploymentReply: + example: + regional_deployment: + metadata: "{}" + role: null + created_at: 2000-01-23T04:56:07.000+00:00 + scheduled_at: 2000-01-23T04:56:07.000+00:00 + version: version + succeeded_at: 2000-01-23T04:56:07.000+00:00 + datacenters: + - datacenters + - datacenters + updated_at: 2000-01-23T04:56:07.000+00:00 + child_id: child_id + provisioning_info: + image: image + stages: + - finished_at: 2000-01-23T04:56:07.000+00:00 + build_attempts: + - internal_failure: true + finished_at: 2000-01-23T04:56:07.000+00:00 + wait_completion: true + image_pushed: true + messages: + - messages + - messages + started_at: 2000-01-23T04:56:07.000+00:00 + id: 5 + steps: + - finished_at: 2000-01-23T04:56:07.000+00:00 + name: name + messages: + - messages + - messages + started_at: 2000-01-23T04:56:07.000+00:00 + status: null + - finished_at: 2000-01-23T04:56:07.000+00:00 + name: name + messages: + - messages + - messages + started_at: 2000-01-23T04:56:07.000+00:00 + status: null + status: null + retryable_failure: true + - internal_failure: true + finished_at: 2000-01-23T04:56:07.000+00:00 + wait_completion: true + image_pushed: true + messages: + - messages + - messages + started_at: 2000-01-23T04:56:07.000+00:00 + id: 5 + steps: + - finished_at: 2000-01-23T04:56:07.000+00:00 + name: name + messages: + - messages + - messages + started_at: 2000-01-23T04:56:07.000+00:00 + status: null + - finished_at: 2000-01-23T04:56:07.000+00:00 + name: name + messages: + - messages + - messages + started_at: 2000-01-23T04:56:07.000+00:00 + status: null + status: null + retryable_failure: true + name: name + messages: + - messages + - messages + started_at: 2000-01-23T04:56:07.000+00:00 + status: null + - finished_at: 2000-01-23T04:56:07.000+00:00 + build_attempts: + - internal_failure: true + finished_at: 2000-01-23T04:56:07.000+00:00 + wait_completion: true + image_pushed: true + messages: + - messages + - messages + started_at: 2000-01-23T04:56:07.000+00:00 + id: 5 + steps: + - finished_at: 2000-01-23T04:56:07.000+00:00 + name: name + messages: + - messages + - messages + started_at: 2000-01-23T04:56:07.000+00:00 + status: null + - finished_at: 2000-01-23T04:56:07.000+00:00 + name: name + messages: + - messages + - messages + started_at: 2000-01-23T04:56:07.000+00:00 + status: null + status: null + retryable_failure: true + - internal_failure: true + finished_at: 2000-01-23T04:56:07.000+00:00 + wait_completion: true + image_pushed: true + messages: + - messages + - messages + started_at: 2000-01-23T04:56:07.000+00:00 + id: 5 + steps: + - finished_at: 2000-01-23T04:56:07.000+00:00 + name: name + messages: + - messages + - messages + started_at: 2000-01-23T04:56:07.000+00:00 + status: null + - finished_at: 2000-01-23T04:56:07.000+00:00 + name: name + messages: + - messages + - messages + started_at: 2000-01-23T04:56:07.000+00:00 + status: null + status: null + retryable_failure: true + name: name + messages: + - messages + - messages + started_at: 2000-01-23T04:56:07.000+00:00 + status: null + sha: sha + deployment_group: deployment_group + parent_id: parent_id + organization_id: organization_id + service_id: service_id + started_at: 2000-01-23T04:56:07.000+00:00 + messages: + - messages + - messages + definition: + scaling: + min: 1 + max: 5 + targets: + - average_mem: + value: 2 + requests_per_second: + value: 7 + average_cpu: + value: 5 + requests_response_time: + quantile: 2 + value: 3 + concurrent_requests: + value: 9 + sleep_idle_delay: + value: 4 + - average_mem: + value: 2 + requests_per_second: + value: 7 + average_cpu: + value: 5 + requests_response_time: + quantile: 2 + value: 3 + concurrent_requests: + value: 9 + sleep_idle_delay: + value: 4 + volumes: + - path: path + replica_index: 5 + id: id + - path: path + replica_index: 5 + id: id + skip_cache: true + archive: + id: id + buildpack: + privileged: true + run_command: run_command + build_command: build_command + docker: + args: + - args + - args + privileged: true + entrypoint: + - entrypoint + - entrypoint + dockerfile: dockerfile + command: command + target: target + type: null + ports: + - protocol: protocol + port: 6 + - protocol: protocol + port: 6 + env: + - secret: secret + value: value + key: key + - secret: secret + value: value + key: key + config_files: + - path: path + permissions: permissions + content: content + - path: path + permissions: permissions + content: content + docker: + args: + - args + - args + privileged: true + image: image + image_registry_secret: image_registry_secret + entrypoint: + - entrypoint + - entrypoint + command: command + routes: + - path: path + port: 0 + - path: path + port: 0 + git: + run_command: run_command + workdir: workdir + build_command: build_command + no_deploy_on_push: true + tag: tag + repository: repository + buildpack: + privileged: true + run_command: run_command + build_command: build_command + branch: branch + sha: sha + docker: + args: + - args + - args + privileged: true + entrypoint: + - entrypoint + - entrypoint + dockerfile: dockerfile + command: command + target: target + deployment_group: deployment_group + health_checks: + - tcp: + port: 6 + restart_limit: 1 + http: + path: path + headers: + - value: value + key: key + - value: value + key: key + method: method + port: 7 + interval: 1 + grace_period: 7 + timeout: 1 + - tcp: + port: 6 + restart_limit: 1 + http: + path: path + headers: + - value: value + key: key + - value: value + key: key + method: method + port: 7 + interval: 1 + grace_period: 7 + timeout: 1 + name: name + strategy: + type: null + region: region + instance_type: instance_type id: id - state: state - plan: null - current_subscription_id: current_subscription_id - qualifies_for_hobby23: true - address2: address2 - trial_starts_at: 2000-01-23T04:56:07.000+00:00 - address1: address1 - verified: true - billing_name: billing_name - deactivation_reason: null - name: name - latest_subscription_id: latest_subscription_id - trial_ends_at: 2000-01-23T04:56:07.000+00:00 - postal_code: postal_code + deployment_id: deployment_id + region: region + app_id: app_id + terminated_at: 2000-01-23T04:56:07.000+00:00 + allocated_at: 2000-01-23T04:56:07.000+00:00 status: null properties: - organization: - $ref: '#/components/schemas/Organization' - type: object - ResendEmailValidationReply: - type: object - ResendEmailValidationRequest: - type: object - ResetPasswordReply: + regional_deployment: + $ref: '#/components/schemas/RegionalDeployment' type: object - ResetPasswordRequest: + ListRegionalDeploymentEventsReply: example: - email: john@snow.com + offset: 6 + limit: 0 + has_next: true + events: + - regional_deployment_id: regional_deployment_id + metadata: "{}" + organization_id: organization_id + id: id + type: type + message: message + when: 2000-01-23T04:56:07.000+00:00 + - regional_deployment_id: regional_deployment_id + metadata: "{}" + organization_id: organization_id + id: id + type: type + message: message + when: 2000-01-23T04:56:07.000+00:00 + order: order properties: - email: + events: + items: + $ref: '#/components/schemas/RegionalDeploymentEvent' + title: The collection of events + type: array + limit: + format: int64 + title: The limit in the request + type: integer + offset: + format: int64 + title: The offset in the request + type: integer + order: + title: The order in the request type: string + has_next: + title: If there is more items after in the collection + type: boolean type: object - UnscopeOrganizationTokenRequest: - type: object - UpdateOrganizationPlanReply: + ListRegionalDeploymentsReply: example: - organization: - status_message: null - country: country - city: city - vat_number: vat_number - plan_updated_at: 2000-01-23T04:56:07.000+00:00 - has_payment_method: true - trialing: true - subscription_id: subscription_id - signup_qualification: "{}" - reprocess_after: 2000-01-23T04:56:07.000+00:00 - billing_email: billing_email - company: true + offset: 7 + regional_deployments: + - updated_at: 2000-01-23T04:56:07.000+00:00 + created_at: 2000-01-23T04:56:07.000+00:00 + messages: + - messages + - messages + definition: + scaling: + min: 1 + max: 5 + targets: + - average_mem: + value: 2 + requests_per_second: + value: 7 + average_cpu: + value: 5 + requests_response_time: + quantile: 2 + value: 3 + concurrent_requests: + value: 9 + sleep_idle_delay: + value: 4 + - average_mem: + value: 2 + requests_per_second: + value: 7 + average_cpu: + value: 5 + requests_response_time: + quantile: 2 + value: 3 + concurrent_requests: + value: 9 + sleep_idle_delay: + value: 4 + volumes: + - path: path + replica_index: 5 + id: id + - path: path + replica_index: 5 + id: id + skip_cache: true + archive: + id: id + buildpack: + privileged: true + run_command: run_command + build_command: build_command + docker: + args: + - args + - args + privileged: true + entrypoint: + - entrypoint + - entrypoint + dockerfile: dockerfile + command: command + target: target + type: null + ports: + - protocol: protocol + port: 6 + - protocol: protocol + port: 6 + env: + - secret: secret + value: value + key: key + - secret: secret + value: value + key: key + config_files: + - path: path + permissions: permissions + content: content + - path: path + permissions: permissions + content: content + docker: + args: + - args + - args + privileged: true + image: image + image_registry_secret: image_registry_secret + entrypoint: + - entrypoint + - entrypoint + command: command + routes: + - path: path + port: 0 + - path: path + port: 0 + git: + run_command: run_command + workdir: workdir + build_command: build_command + no_deploy_on_push: true + tag: tag + repository: repository + buildpack: + privileged: true + run_command: run_command + build_command: build_command + branch: branch + sha: sha + docker: + args: + - args + - args + privileged: true + entrypoint: + - entrypoint + - entrypoint + dockerfile: dockerfile + command: command + target: target + deployment_group: deployment_group + health_checks: + - tcp: + port: 6 + restart_limit: 1 + http: + path: path + headers: + - value: value + key: key + - value: value + key: key + method: method + port: 7 + interval: 1 + grace_period: 7 + timeout: 1 + - tcp: + port: 6 + restart_limit: 1 + http: + path: path + headers: + - value: value + key: key + - value: value + key: key + method: method + port: 7 + interval: 1 + grace_period: 7 + timeout: 1 + name: name + strategy: + type: null + region: region + instance_type: instance_type id: id - state: state - plan: null - current_subscription_id: current_subscription_id - qualifies_for_hobby23: true - address2: address2 - trial_starts_at: 2000-01-23T04:56:07.000+00:00 - address1: address1 - verified: true - billing_name: billing_name - deactivation_reason: null - name: name - latest_subscription_id: latest_subscription_id - trial_ends_at: 2000-01-23T04:56:07.000+00:00 - postal_code: postal_code + region: region status: null - properties: - organization: - $ref: '#/components/schemas/Organization' - type: object - UpdateOrganizationReply: - example: - organization: - status_message: null - country: country - city: city - vat_number: vat_number - plan_updated_at: 2000-01-23T04:56:07.000+00:00 - has_payment_method: true - trialing: true - subscription_id: subscription_id - signup_qualification: "{}" - reprocess_after: 2000-01-23T04:56:07.000+00:00 - billing_email: billing_email - company: true + - updated_at: 2000-01-23T04:56:07.000+00:00 + created_at: 2000-01-23T04:56:07.000+00:00 + messages: + - messages + - messages + definition: + scaling: + min: 1 + max: 5 + targets: + - average_mem: + value: 2 + requests_per_second: + value: 7 + average_cpu: + value: 5 + requests_response_time: + quantile: 2 + value: 3 + concurrent_requests: + value: 9 + sleep_idle_delay: + value: 4 + - average_mem: + value: 2 + requests_per_second: + value: 7 + average_cpu: + value: 5 + requests_response_time: + quantile: 2 + value: 3 + concurrent_requests: + value: 9 + sleep_idle_delay: + value: 4 + volumes: + - path: path + replica_index: 5 + id: id + - path: path + replica_index: 5 + id: id + skip_cache: true + archive: + id: id + buildpack: + privileged: true + run_command: run_command + build_command: build_command + docker: + args: + - args + - args + privileged: true + entrypoint: + - entrypoint + - entrypoint + dockerfile: dockerfile + command: command + target: target + type: null + ports: + - protocol: protocol + port: 6 + - protocol: protocol + port: 6 + env: + - secret: secret + value: value + key: key + - secret: secret + value: value + key: key + config_files: + - path: path + permissions: permissions + content: content + - path: path + permissions: permissions + content: content + docker: + args: + - args + - args + privileged: true + image: image + image_registry_secret: image_registry_secret + entrypoint: + - entrypoint + - entrypoint + command: command + routes: + - path: path + port: 0 + - path: path + port: 0 + git: + run_command: run_command + workdir: workdir + build_command: build_command + no_deploy_on_push: true + tag: tag + repository: repository + buildpack: + privileged: true + run_command: run_command + build_command: build_command + branch: branch + sha: sha + docker: + args: + - args + - args + privileged: true + entrypoint: + - entrypoint + - entrypoint + dockerfile: dockerfile + command: command + target: target + deployment_group: deployment_group + health_checks: + - tcp: + port: 6 + restart_limit: 1 + http: + path: path + headers: + - value: value + key: key + - value: value + key: key + method: method + port: 7 + interval: 1 + grace_period: 7 + timeout: 1 + - tcp: + port: 6 + restart_limit: 1 + http: + path: path + headers: + - value: value + key: key + - value: value + key: key + method: method + port: 7 + interval: 1 + grace_period: 7 + timeout: 1 + name: name + strategy: + type: null + region: region + instance_type: instance_type id: id - state: state - plan: null - current_subscription_id: current_subscription_id - qualifies_for_hobby23: true - address2: address2 - trial_starts_at: 2000-01-23T04:56:07.000+00:00 - address1: address1 - verified: true - billing_name: billing_name - deactivation_reason: null + region: region + status: null + limit: 2 + count: 9 + has_next: true + properties: + regional_deployments: + items: + $ref: '#/components/schemas/RegionalDeploymentListItem' + title: The collection of regional deployments + type: array + limit: + format: int64 + title: The limit in the request + type: integer + offset: + format: int64 + title: The offset in the request + type: integer + count: + format: int64 + title: The total number of items + type: integer + has_next: + title: If there is more items after in the collection + type: boolean + type: object + Port: + example: + protocol: protocol + port: 6 + properties: + port: + format: int64 + type: integer + protocol: + type: string + type: object + RegionalDeployment: + example: + metadata: "{}" + role: null + created_at: 2000-01-23T04:56:07.000+00:00 + scheduled_at: 2000-01-23T04:56:07.000+00:00 + version: version + succeeded_at: 2000-01-23T04:56:07.000+00:00 + datacenters: + - datacenters + - datacenters + updated_at: 2000-01-23T04:56:07.000+00:00 + child_id: child_id + provisioning_info: + image: image + stages: + - finished_at: 2000-01-23T04:56:07.000+00:00 + build_attempts: + - internal_failure: true + finished_at: 2000-01-23T04:56:07.000+00:00 + wait_completion: true + image_pushed: true + messages: + - messages + - messages + started_at: 2000-01-23T04:56:07.000+00:00 + id: 5 + steps: + - finished_at: 2000-01-23T04:56:07.000+00:00 + name: name + messages: + - messages + - messages + started_at: 2000-01-23T04:56:07.000+00:00 + status: null + - finished_at: 2000-01-23T04:56:07.000+00:00 + name: name + messages: + - messages + - messages + started_at: 2000-01-23T04:56:07.000+00:00 + status: null + status: null + retryable_failure: true + - internal_failure: true + finished_at: 2000-01-23T04:56:07.000+00:00 + wait_completion: true + image_pushed: true + messages: + - messages + - messages + started_at: 2000-01-23T04:56:07.000+00:00 + id: 5 + steps: + - finished_at: 2000-01-23T04:56:07.000+00:00 + name: name + messages: + - messages + - messages + started_at: 2000-01-23T04:56:07.000+00:00 + status: null + - finished_at: 2000-01-23T04:56:07.000+00:00 + name: name + messages: + - messages + - messages + started_at: 2000-01-23T04:56:07.000+00:00 + status: null + status: null + retryable_failure: true + name: name + messages: + - messages + - messages + started_at: 2000-01-23T04:56:07.000+00:00 + status: null + - finished_at: 2000-01-23T04:56:07.000+00:00 + build_attempts: + - internal_failure: true + finished_at: 2000-01-23T04:56:07.000+00:00 + wait_completion: true + image_pushed: true + messages: + - messages + - messages + started_at: 2000-01-23T04:56:07.000+00:00 + id: 5 + steps: + - finished_at: 2000-01-23T04:56:07.000+00:00 + name: name + messages: + - messages + - messages + started_at: 2000-01-23T04:56:07.000+00:00 + status: null + - finished_at: 2000-01-23T04:56:07.000+00:00 + name: name + messages: + - messages + - messages + started_at: 2000-01-23T04:56:07.000+00:00 + status: null + status: null + retryable_failure: true + - internal_failure: true + finished_at: 2000-01-23T04:56:07.000+00:00 + wait_completion: true + image_pushed: true + messages: + - messages + - messages + started_at: 2000-01-23T04:56:07.000+00:00 + id: 5 + steps: + - finished_at: 2000-01-23T04:56:07.000+00:00 + name: name + messages: + - messages + - messages + started_at: 2000-01-23T04:56:07.000+00:00 + status: null + - finished_at: 2000-01-23T04:56:07.000+00:00 + name: name + messages: + - messages + - messages + started_at: 2000-01-23T04:56:07.000+00:00 + status: null + status: null + retryable_failure: true + name: name + messages: + - messages + - messages + started_at: 2000-01-23T04:56:07.000+00:00 + status: null + sha: sha + deployment_group: deployment_group + parent_id: parent_id + organization_id: organization_id + service_id: service_id + started_at: 2000-01-23T04:56:07.000+00:00 + messages: + - messages + - messages + definition: + scaling: + min: 1 + max: 5 + targets: + - average_mem: + value: 2 + requests_per_second: + value: 7 + average_cpu: + value: 5 + requests_response_time: + quantile: 2 + value: 3 + concurrent_requests: + value: 9 + sleep_idle_delay: + value: 4 + - average_mem: + value: 2 + requests_per_second: + value: 7 + average_cpu: + value: 5 + requests_response_time: + quantile: 2 + value: 3 + concurrent_requests: + value: 9 + sleep_idle_delay: + value: 4 + volumes: + - path: path + replica_index: 5 + id: id + - path: path + replica_index: 5 + id: id + skip_cache: true + archive: + id: id + buildpack: + privileged: true + run_command: run_command + build_command: build_command + docker: + args: + - args + - args + privileged: true + entrypoint: + - entrypoint + - entrypoint + dockerfile: dockerfile + command: command + target: target + type: null + ports: + - protocol: protocol + port: 6 + - protocol: protocol + port: 6 + env: + - secret: secret + value: value + key: key + - secret: secret + value: value + key: key + config_files: + - path: path + permissions: permissions + content: content + - path: path + permissions: permissions + content: content + docker: + args: + - args + - args + privileged: true + image: image + image_registry_secret: image_registry_secret + entrypoint: + - entrypoint + - entrypoint + command: command + routes: + - path: path + port: 0 + - path: path + port: 0 + git: + run_command: run_command + workdir: workdir + build_command: build_command + no_deploy_on_push: true + tag: tag + repository: repository + buildpack: + privileged: true + run_command: run_command + build_command: build_command + branch: branch + sha: sha + docker: + args: + - args + - args + privileged: true + entrypoint: + - entrypoint + - entrypoint + dockerfile: dockerfile + command: command + target: target + deployment_group: deployment_group + health_checks: + - tcp: + port: 6 + restart_limit: 1 + http: + path: path + headers: + - value: value + key: key + - value: value + key: key + method: method + port: 7 + interval: 1 + grace_period: 7 + timeout: 1 + - tcp: + port: 6 + restart_limit: 1 + http: + path: path + headers: + - value: value + key: key + - value: value + key: key + method: method + port: 7 + interval: 1 + grace_period: 7 + timeout: 1 name: name - latest_subscription_id: latest_subscription_id - trial_ends_at: 2000-01-23T04:56:07.000+00:00 - postal_code: postal_code - status: null - properties: - organization: - $ref: '#/components/schemas/Organization' - type: object - UpdatePasswordRequest: - example: - id: '...' - password: '...' + strategy: + type: null + region: region + instance_type: instance_type + id: id + deployment_id: deployment_id + region: region + app_id: app_id + terminated_at: 2000-01-23T04:56:07.000+00:00 + allocated_at: 2000-01-23T04:56:07.000+00:00 + status: null properties: id: type: string - password: + created_at: + format: date-time type: string - type: object - UpdateUserRequest.UserUpdateBody: - properties: - id: + updated_at: + format: date-time type: string - email: + scheduled_at: + format: date-time type: string - current_password: + allocated_at: + format: date-time type: string - password: + started_at: + format: date-time type: string - newsletter_subscribed: - type: boolean - name: + succeeded_at: + format: date-time type: string - type: object - UpsertSignupQualificationReply: - example: - organization: - status_message: null - country: country - city: city - vat_number: vat_number - plan_updated_at: 2000-01-23T04:56:07.000+00:00 - has_payment_method: true - trialing: true - subscription_id: subscription_id - signup_qualification: "{}" - reprocess_after: 2000-01-23T04:56:07.000+00:00 - billing_email: billing_email - company: true - id: id - state: state - plan: null - current_subscription_id: current_subscription_id - qualifies_for_hobby23: true - address2: address2 - trial_starts_at: 2000-01-23T04:56:07.000+00:00 - address1: address1 - verified: true - billing_name: billing_name - deactivation_reason: null - name: name - latest_subscription_id: latest_subscription_id - trial_ends_at: 2000-01-23T04:56:07.000+00:00 - postal_code: postal_code - status: null - properties: - organization: - $ref: '#/components/schemas/Organization' - type: object - UserReply: - example: - user: - id: 78352123-a06f-4ec2-81ed-27a056725385 - email: john@snow.com - name: John Snow - avatar_url: https://www.gravatar.com/avatar/00000000000000000000000000000000 - is_admin: false - is_test: true - two_factor_authentication: false - last_login: 0001-01-01T00:00:00Z - last_login_id: 10.1.1.1 - updated_at: 0001-01-01T00:00:00Z - created_at: 0001-01-01T00:00:00Z - newsletter_subscribed: true - email_validated: true - properties: - user: - $ref: '#/components/schemas/User' - type: object - Empty: - type: object - kgitproxy.GithubInstallation.Status: - default: INVALID - enum: - - INVALID - - INSTALLED - - SUSPENDED - - DELETED - type: string - kgitproxy.IndexingStatus: - default: INVALID_INDEXING_STATUS - enum: - - INVALID_INDEXING_STATUS - - NOT_STARTED - - IN_PROGRESS - - COMPLETED - type: string - CreateOrganizationInvitationReply: - example: - invitation: - role: null - expires_at: 2000-01-23T04:56:07.000+00:00 - organization_id: organization_id - organization: - name: name - id: id - plan: null - status: null - inviter_id: inviter_id - inviter: - github_user: github_user - avatar_url: avatar_url - name: name - github_id: github_id - id: id - email: email - id: id - email: email - invitee_id: invitee_id - status: null - invitee: - github_user: github_user - avatar_url: avatar_url - name: name - github_id: github_id - id: id - email: email - properties: - invitation: - $ref: '#/components/schemas/OrganizationInvitation' - type: object - CreateOrganizationInvitationRequest: - example: - email: email - properties: - email: - title: The email of the person to invite + terminated_at: + format: date-time + type: string + organization_id: + type: string + app_id: + type: string + service_id: + type: string + region: + type: string + parent_id: + type: string + child_id: + type: string + status: + $ref: '#/components/schemas/RegionalDeployment.Status' + messages: + items: + type: string + type: array + definition: + $ref: '#/components/schemas/RegionalDeploymentDefinition' + datacenters: + items: + type: string + type: array + metadata: + type: object + provisioning_info: + $ref: '#/components/schemas/DeploymentProvisioningInfo' + role: + $ref: '#/components/schemas/RegionalDeployment.Role' + version: + format: uint64 + type: string + deployment_group: + title: Legacy stuff + type: string + deployment_id: type: string type: object - DeleteOrganizationInvitationReply: - type: object - GetOrganizationInvitationReply: - example: - invitation: - role: null - expires_at: 2000-01-23T04:56:07.000+00:00 - organization_id: organization_id - organization: - name: name - id: id - plan: null - status: null - inviter_id: inviter_id - inviter: - github_user: github_user - avatar_url: avatar_url - name: name - github_id: github_id - id: id - email: email - id: id - email: email - invitee_id: invitee_id - status: null - invitee: - github_user: github_user - avatar_url: avatar_url - name: name - github_id: github_id - id: id - email: email - properties: - invitation: - $ref: '#/components/schemas/OrganizationInvitation' - type: object - ListOrganizationInvitationsReply: + RegionalDeployment.Role: + default: INVALID + enum: + - INVALID + - ACTIVE + - UPCOMING + - CURRENT + type: string + RegionalDeployment.Status: + default: PENDING + enum: + - PENDING + - PROVISIONING + - SCHEDULED + - CANCELING + - CANCELED + - ALLOCATING + - STARTING + - HEALTHY + - DEGRADED + - UNHEALTHY + - STOPPING + - STOPPED + - ERRORING + - ERROR + - SLEEPING + type: string + RegionalDeploymentDefinition: example: - offset: 6 - invitations: - - role: null - expires_at: 2000-01-23T04:56:07.000+00:00 - organization_id: organization_id - organization: - name: name - id: id - plan: null - status: null - inviter_id: inviter_id - inviter: - github_user: github_user - avatar_url: avatar_url - name: name - github_id: github_id - id: id - email: email + scaling: + min: 1 + max: 5 + targets: + - average_mem: + value: 2 + requests_per_second: + value: 7 + average_cpu: + value: 5 + requests_response_time: + quantile: 2 + value: 3 + concurrent_requests: + value: 9 + sleep_idle_delay: + value: 4 + - average_mem: + value: 2 + requests_per_second: + value: 7 + average_cpu: + value: 5 + requests_response_time: + quantile: 2 + value: 3 + concurrent_requests: + value: 9 + sleep_idle_delay: + value: 4 + volumes: + - path: path + replica_index: 5 id: id - email: email - invitee_id: invitee_id - status: null - invitee: - github_user: github_user - avatar_url: avatar_url - name: name - github_id: github_id - id: id - email: email - - role: null - expires_at: 2000-01-23T04:56:07.000+00:00 - organization_id: organization_id - organization: - name: name - id: id - plan: null - status: null - inviter_id: inviter_id - inviter: - github_user: github_user - avatar_url: avatar_url - name: name - github_id: github_id - id: id - email: email + - path: path + replica_index: 5 id: id - email: email - invitee_id: invitee_id - status: null - invitee: - github_user: github_user - avatar_url: avatar_url - name: name - github_id: github_id - id: id - email: email - limit: 0 - count: 1 + skip_cache: true + archive: + id: id + buildpack: + privileged: true + run_command: run_command + build_command: build_command + docker: + args: + - args + - args + privileged: true + entrypoint: + - entrypoint + - entrypoint + dockerfile: dockerfile + command: command + target: target + type: null + ports: + - protocol: protocol + port: 6 + - protocol: protocol + port: 6 + env: + - secret: secret + value: value + key: key + - secret: secret + value: value + key: key + config_files: + - path: path + permissions: permissions + content: content + - path: path + permissions: permissions + content: content + docker: + args: + - args + - args + privileged: true + image: image + image_registry_secret: image_registry_secret + entrypoint: + - entrypoint + - entrypoint + command: command + routes: + - path: path + port: 0 + - path: path + port: 0 + git: + run_command: run_command + workdir: workdir + build_command: build_command + no_deploy_on_push: true + tag: tag + repository: repository + buildpack: + privileged: true + run_command: run_command + build_command: build_command + branch: branch + sha: sha + docker: + args: + - args + - args + privileged: true + entrypoint: + - entrypoint + - entrypoint + dockerfile: dockerfile + command: command + target: target + deployment_group: deployment_group + health_checks: + - tcp: + port: 6 + restart_limit: 1 + http: + path: path + headers: + - value: value + key: key + - value: value + key: key + method: method + port: 7 + interval: 1 + grace_period: 7 + timeout: 1 + - tcp: + port: 6 + restart_limit: 1 + http: + path: path + headers: + - value: value + key: key + - value: value + key: key + method: method + port: 7 + interval: 1 + grace_period: 7 + timeout: 1 + name: name + strategy: + type: null + region: region + instance_type: instance_type properties: - invitations: + name: + type: string + type: + $ref: '#/components/schemas/RegionalDeploymentDefinition.Type' + strategy: + $ref: '#/components/schemas/DeploymentStrategy' + routes: items: - $ref: '#/components/schemas/OrganizationInvitation' - title: The collection of organization invitations + $ref: '#/components/schemas/Route' type: array - limit: - format: int64 - title: The limit in the request - type: integer - offset: - format: int64 - title: The offset in the request - type: integer - count: - format: int64 - title: The total number of items - type: integer - type: object - ResendOrganizationInvitationReply: - example: - invitation: - role: null - expires_at: 2000-01-23T04:56:07.000+00:00 - organization_id: organization_id - organization: - name: name - id: id - plan: null - status: null - inviter_id: inviter_id - inviter: - github_user: github_user - avatar_url: avatar_url - name: name - github_id: github_id - id: id - email: email - id: id - email: email - invitee_id: invitee_id - status: null - invitee: - github_user: github_user - avatar_url: avatar_url - name: name - github_id: github_id - id: id - email: email - properties: - invitation: - $ref: '#/components/schemas/OrganizationInvitation' - type: object - GetQuotasReply: - example: - quotas: - instance_types: - - instance_types - - instance_types - services_by_app: services_by_app - regions: - - regions - - regions - service_provisioning_concurrency: service_provisioning_concurrency - max_organization_members: max_organization_members - max_instances_by_type: - key: max_instances_by_type - persistent_volumes_by_region: - key: - max_volume_size: 6 - max_per_instance_size: 1 - max_total_size: 0 - domains: domains - memory_mb: memory_mb - services: services - apps: apps - properties: - quotas: - $ref: '#/components/schemas/Quotas' - type: object - PersistentVolumeQuotas: - example: - max_volume_size: 6 - max_per_instance_size: 1 - max_total_size: 0 - properties: - max_total_size: - description: MaxTotalSize for all volumes on a region (in Gigabyte / GB). - format: int64 - type: integer - max_volume_size: - description: MaxVolumeSize for one volume (in Gigabyte / GB). - format: int64 - type: integer - max_per_instance_size: - description: MaxPerInstanceSize for all volumes on an instance (in Gigabyte - / GB). - format: int64 - type: integer - type: object - Quotas: - example: - instance_types: - - instance_types - - instance_types - services_by_app: services_by_app - regions: - - regions - - regions - service_provisioning_concurrency: service_provisioning_concurrency - max_organization_members: max_organization_members - max_instances_by_type: - key: max_instances_by_type - persistent_volumes_by_region: - key: - max_volume_size: 6 - max_per_instance_size: 1 - max_total_size: 0 - domains: domains - memory_mb: memory_mb - services: services - apps: apps - properties: - apps: - format: int64 - type: string - services: - format: int64 - type: string - domains: - format: int64 - type: string - services_by_app: - format: int64 - type: string - service_provisioning_concurrency: - format: int64 - type: string - memory_mb: - format: int64 - type: string - instance_types: + ports: items: - type: string + $ref: '#/components/schemas/Port' type: array - regions: + env: items: - type: string + $ref: '#/components/schemas/Env' type: array - max_organization_members: - format: int64 + region: type: string - max_instances_by_type: - additionalProperties: - format: int64 - type: string - type: object - persistent_volumes_by_region: - additionalProperties: - $ref: '#/components/schemas/PersistentVolumeQuotas' - type: object - type: object - AppsSummary: - example: - total: total - by_status: - key: by_status - properties: - total: - format: int64 - title: Total number of apps + scaling: + $ref: '#/components/schemas/Scaling' + instance_type: type: string - by_status: - additionalProperties: - format: int64 - type: string - title: Number of apps grouped by status - type: object - type: object - DomainsSummary: - example: - total: total - by_status: - key: by_status - properties: - total: - format: int64 - title: Total number of domains + deployment_group: type: string - by_status: - additionalProperties: - format: int64 - type: string - title: Number of domains grouped by status - type: object - type: object - GetOrganizationSummaryReply: - example: - summary: - instances: - total: total - by_type: - key: by_type - organization_id: organization_id - members: - total: total - invitations_by_status: - key: invitations_by_status - domains: - total: total - by_status: - key: by_status - neon_postgres: - total: total - by_instance_type: - key: by_instance_type - services: - key: - total: total - by_status: - key: by_status - secrets: - total: total - by_type: - key: by_type - apps: - total: total - by_status: - key: by_status - properties: - summary: - $ref: '#/components/schemas/OrganizationSummary' + health_checks: + items: + $ref: '#/components/schemas/DeploymentHealthCheck' + type: array + volumes: + items: + $ref: '#/components/schemas/RegionalDeploymentVolume' + type: array + config_files: + items: + $ref: '#/components/schemas/ConfigFile' + type: array + skip_cache: + type: boolean + docker: + $ref: '#/components/schemas/DockerSource' + git: + $ref: '#/components/schemas/GitSource' + archive: + $ref: '#/components/schemas/ArchiveSource' type: object - InstancesSummary: + RegionalDeploymentDefinition.Type: + default: INVALID + enum: + - INVALID + - WEB + - WORKER + type: string + RegionalDeploymentEvent: example: - total: total - by_type: - key: by_type + regional_deployment_id: regional_deployment_id + metadata: "{}" + organization_id: organization_id + id: id + type: type + message: message + when: 2000-01-23T04:56:07.000+00:00 properties: - total: - format: int64 - title: Total number of instances + id: type: string - by_type: - additionalProperties: - format: int64 - type: string - title: Number of instances grouped by type - type: object - type: object - MembersSummary: - example: - total: total - invitations_by_status: - key: invitations_by_status - properties: - total: - format: int64 - title: Number of members + when: + format: date-time type: string - invitations_by_status: - additionalProperties: - format: int64 - type: string - title: Number of invitations grouped by status + organization_id: + type: string + regional_deployment_id: + type: string + type: + type: string + message: + type: string + metadata: + properties: {} type: object type: object - NeonPostgresSummary: + RegionalDeploymentListItem: example: - total: total - by_instance_type: - key: by_instance_type + updated_at: 2000-01-23T04:56:07.000+00:00 + created_at: 2000-01-23T04:56:07.000+00:00 + messages: + - messages + - messages + definition: + scaling: + min: 1 + max: 5 + targets: + - average_mem: + value: 2 + requests_per_second: + value: 7 + average_cpu: + value: 5 + requests_response_time: + quantile: 2 + value: 3 + concurrent_requests: + value: 9 + sleep_idle_delay: + value: 4 + - average_mem: + value: 2 + requests_per_second: + value: 7 + average_cpu: + value: 5 + requests_response_time: + quantile: 2 + value: 3 + concurrent_requests: + value: 9 + sleep_idle_delay: + value: 4 + volumes: + - path: path + replica_index: 5 + id: id + - path: path + replica_index: 5 + id: id + skip_cache: true + archive: + id: id + buildpack: + privileged: true + run_command: run_command + build_command: build_command + docker: + args: + - args + - args + privileged: true + entrypoint: + - entrypoint + - entrypoint + dockerfile: dockerfile + command: command + target: target + type: null + ports: + - protocol: protocol + port: 6 + - protocol: protocol + port: 6 + env: + - secret: secret + value: value + key: key + - secret: secret + value: value + key: key + config_files: + - path: path + permissions: permissions + content: content + - path: path + permissions: permissions + content: content + docker: + args: + - args + - args + privileged: true + image: image + image_registry_secret: image_registry_secret + entrypoint: + - entrypoint + - entrypoint + command: command + routes: + - path: path + port: 0 + - path: path + port: 0 + git: + run_command: run_command + workdir: workdir + build_command: build_command + no_deploy_on_push: true + tag: tag + repository: repository + buildpack: + privileged: true + run_command: run_command + build_command: build_command + branch: branch + sha: sha + docker: + args: + - args + - args + privileged: true + entrypoint: + - entrypoint + - entrypoint + dockerfile: dockerfile + command: command + target: target + deployment_group: deployment_group + health_checks: + - tcp: + port: 6 + restart_limit: 1 + http: + path: path + headers: + - value: value + key: key + - value: value + key: key + method: method + port: 7 + interval: 1 + grace_period: 7 + timeout: 1 + - tcp: + port: 6 + restart_limit: 1 + http: + path: path + headers: + - value: value + key: key + - value: value + key: key + method: method + port: 7 + interval: 1 + grace_period: 7 + timeout: 1 + name: name + strategy: + type: null + region: region + instance_type: instance_type + id: id + region: region + status: null properties: - total: - format: int64 - title: Total number of databases + id: type: string - by_instance_type: - additionalProperties: - format: int64 + created_at: + format: date-time + type: string + updated_at: + format: date-time + type: string + region: + type: string + status: + $ref: '#/components/schemas/RegionalDeployment.Status' + messages: + items: type: string - title: Number of databases grouped by instance type - type: object + type: array + definition: + $ref: '#/components/schemas/RegionalDeploymentDefinition' + type: object + RegionalDeploymentMetadata: type: object - OrganizationSummary: + RegionalDeploymentVolume: example: - instances: - total: total - by_type: - key: by_type - organization_id: organization_id - members: - total: total - invitations_by_status: - key: invitations_by_status - domains: - total: total - by_status: - key: by_status - neon_postgres: - total: total - by_instance_type: - key: by_instance_type - services: - key: - total: total - by_status: - key: by_status - secrets: - total: total - by_type: - key: by_type - apps: - total: total - by_status: - key: by_status + path: path + replica_index: 5 + id: id properties: - organization_id: + id: + title: the id of the volume type: string - instances: - $ref: '#/components/schemas/InstancesSummary' - apps: - $ref: '#/components/schemas/AppsSummary' - services: - additionalProperties: - $ref: '#/components/schemas/ServiceSummary' - title: Number of services grouped by type - type: object - domains: - $ref: '#/components/schemas/DomainsSummary' - secrets: - $ref: '#/components/schemas/SecretsSummary' - neon_postgres: - $ref: '#/components/schemas/NeonPostgresSummary' - members: - $ref: '#/components/schemas/MembersSummary' + path: + title: the path where the volume is mounted to + type: string + replica_index: + format: int64 + title: the replica index to mount the volume to + type: integer type: object - SecretsSummary: + Route: example: - total: total - by_type: - key: by_type + path: path + port: 0 properties: - total: + port: format: int64 - title: Total number of secrets + type: integer + path: type: string - by_type: - additionalProperties: - format: int64 - type: string - title: Number of secrets grouped by type - type: object type: object - ServiceSummary: + Scaling: example: - total: total - by_status: - key: by_status + min: 1 + max: 5 + targets: + - average_mem: + value: 2 + requests_per_second: + value: 7 + average_cpu: + value: 5 + requests_response_time: + quantile: 2 + value: 3 + concurrent_requests: + value: 9 + sleep_idle_delay: + value: 4 + - average_mem: + value: 2 + requests_per_second: + value: 7 + average_cpu: + value: 5 + requests_response_time: + quantile: 2 + value: 3 + concurrent_requests: + value: 9 + sleep_idle_delay: + value: 4 properties: - total: + min: format: int64 - title: Total number of services - type: string - by_status: - additionalProperties: - format: int64 - type: string - title: Number of services grouped by status - type: object + type: integer + max: + format: int64 + type: integer + targets: + items: + $ref: '#/components/schemas/DeploymentScalingTarget' + type: array type: object ksearch.App: example: @@ -23073,21 +23119,59 @@ components: github_user: type: string type: object - UpdatePersistentVolume_request: + UpdateOrganizationPlan_request: properties: - name: - title: (Optional) change the name of the volume - type: string - max_size: - format: int64 - title: (Optional) increase the volume size (in Gigabyte / GB) - type: integer + plan: + $ref: '#/components/schemas/Plan' type: object - UpdateSnapshot_request: + UpsertSignupQualification_request: properties: - name: - title: Change the name of the snapshot - type: string + signup_qualification: + properties: {} + type: object + type: object + Stream_result_of_ExecCommandReply: + example: + result: + stdout: + data: data + close: true + exited: true + exit_code: 0 + stderr: + data: data + close: true + error: + code: 6 + details: + - '@type': '@type' + - '@type': '@type' + message: message + properties: + result: + $ref: '#/components/schemas/ExecCommandReply' + error: + $ref: '#/components/schemas/google.rpc.Status' + title: Stream result of ExecCommandReply + type: object + Stream_result_of_LogEntry: + example: + result: + msg: msg + created_at: 2000-01-23T04:56:07.000+00:00 + labels: "{}" + error: + code: 6 + details: + - '@type': '@type' + - '@type': '@type' + message: message + properties: + result: + $ref: '#/components/schemas/LogEntry' + error: + $ref: '#/components/schemas/google.rpc.Status' + title: Stream result of LogEntry type: object CreateStageAttempt_request: properties: @@ -23144,59 +23228,21 @@ components: type: string type: array type: object - Stream_result_of_ExecCommandReply: - example: - result: - stdout: - data: data - close: true - exited: true - exit_code: 0 - stderr: - data: data - close: true - error: - code: 6 - details: - - '@type': '@type' - - '@type': '@type' - message: message - properties: - result: - $ref: '#/components/schemas/ExecCommandReply' - error: - $ref: '#/components/schemas/google.rpc.Status' - title: Stream result of ExecCommandReply - type: object - Stream_result_of_LogEntry: - example: - result: - msg: msg - created_at: 2000-01-23T04:56:07.000+00:00 - labels: "{}" - error: - code: 6 - details: - - '@type': '@type' - - '@type': '@type' - message: message - properties: - result: - $ref: '#/components/schemas/LogEntry' - error: - $ref: '#/components/schemas/google.rpc.Status' - title: Stream result of LogEntry - type: object - UpdateOrganizationPlan_request: + UpdateSnapshot_request: properties: - plan: - $ref: '#/components/schemas/Plan' + name: + title: Change the name of the snapshot + type: string type: object - UpsertSignupQualification_request: + UpdatePersistentVolume_request: properties: - signup_qualification: - properties: {} - type: object + name: + title: (Optional) change the name of the volume + type: string + max_size: + format: int64 + title: (Optional) increase the volume size (in Gigabyte / GB) + type: integer type: object securitySchemes: Bearer: diff --git a/api/v1/koyeb/docs/DatacenterListItem.md b/api/v1/koyeb/docs/DatacenterListItem.md index 3eaf530..719b6ff 100644 --- a/api/v1/koyeb/docs/DatacenterListItem.md +++ b/api/v1/koyeb/docs/DatacenterListItem.md @@ -9,6 +9,7 @@ Name | Type | Description | Notes **Domain** | Pointer to **string** | | [optional] **Coordinates** | Pointer to **[]string** | | [optional] **UseGpu** | Pointer to **bool** | | [optional] +**Regions** | Pointer to **[]string** | | [optional] ## Methods @@ -154,6 +155,31 @@ SetUseGpu sets UseGpu field to given value. HasUseGpu returns a boolean if a field has been set. +### GetRegions + +`func (o *DatacenterListItem) GetRegions() []string` + +GetRegions returns the Regions field if non-nil, zero value otherwise. + +### GetRegionsOk + +`func (o *DatacenterListItem) GetRegionsOk() (*[]string, bool)` + +GetRegionsOk returns a tuple with the Regions field if it's non-nil, zero value otherwise +and a boolean to check if the value has been set. + +### SetRegions + +`func (o *DatacenterListItem) SetRegions(v []string)` + +SetRegions sets Regions field to given value. + +### HasRegions + +`func (o *DatacenterListItem) HasRegions() bool` + +HasRegions returns a boolean if a field has been set. + [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/api/v1/koyeb/docs/Region.md b/api/v1/koyeb/docs/Region.md index 6757621..34ff447 100644 --- a/api/v1/koyeb/docs/Region.md +++ b/api/v1/koyeb/docs/Region.md @@ -11,6 +11,7 @@ Name | Type | Description | Notes **Instances** | Pointer to **[]string** | | [optional] **Datacenters** | Pointer to **[]string** | | [optional] **VolumesEnabled** | Pointer to **bool** | | [optional] +**Scope** | Pointer to **string** | The scope of the region, continent, metropolitan area, etc. | [optional] ## Methods @@ -206,6 +207,31 @@ SetVolumesEnabled sets VolumesEnabled field to given value. HasVolumesEnabled returns a boolean if a field has been set. +### GetScope + +`func (o *Region) GetScope() string` + +GetScope returns the Scope field if non-nil, zero value otherwise. + +### GetScopeOk + +`func (o *Region) GetScopeOk() (*string, bool)` + +GetScopeOk returns a tuple with the Scope field if it's non-nil, zero value otherwise +and a boolean to check if the value has been set. + +### SetScope + +`func (o *Region) SetScope(v string)` + +SetScope sets Scope field to given value. + +### HasScope + +`func (o *Region) HasScope() bool` + +HasScope returns a boolean if a field has been set. + [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/api/v1/koyeb/docs/RegionListItem.md b/api/v1/koyeb/docs/RegionListItem.md index 5b2ae28..4974b9f 100644 --- a/api/v1/koyeb/docs/RegionListItem.md +++ b/api/v1/koyeb/docs/RegionListItem.md @@ -11,6 +11,7 @@ Name | Type | Description | Notes **Instances** | Pointer to **[]string** | | [optional] **Datacenters** | Pointer to **[]string** | | [optional] **VolumesEnabled** | Pointer to **bool** | | [optional] +**Scope** | Pointer to **string** | The scope of the region, continent, metropolitan area, etc. | [optional] ## Methods @@ -206,6 +207,31 @@ SetVolumesEnabled sets VolumesEnabled field to given value. HasVolumesEnabled returns a boolean if a field has been set. +### GetScope + +`func (o *RegionListItem) GetScope() string` + +GetScope returns the Scope field if non-nil, zero value otherwise. + +### GetScopeOk + +`func (o *RegionListItem) GetScopeOk() (*string, bool)` + +GetScopeOk returns a tuple with the Scope field if it's non-nil, zero value otherwise +and a boolean to check if the value has been set. + +### SetScope + +`func (o *RegionListItem) SetScope(v string)` + +SetScope sets Scope field to given value. + +### HasScope + +`func (o *RegionListItem) HasScope() bool` + +HasScope returns a boolean if a field has been set. + [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/api/v1/koyeb/docs/Subscription.md b/api/v1/koyeb/docs/Subscription.md index 3465169..ed119eb 100644 --- a/api/v1/koyeb/docs/Subscription.md +++ b/api/v1/koyeb/docs/Subscription.md @@ -24,6 +24,10 @@ Name | Type | Description | Notes **AmountPaid** | Pointer to **string** | | [optional] **AmountRemaining** | Pointer to **string** | | [optional] **PaymentFailure** | Pointer to [**SubscriptionPaymentFailure**](SubscriptionPaymentFailure.md) | | [optional] +**Trialing** | Pointer to **bool** | | [optional] +**TrialEndsAt** | Pointer to **time.Time** | | [optional] +**TrialMaxSpend** | Pointer to **string** | | [optional] +**CurrentSpend** | Pointer to **string** | | [optional] ## Methods @@ -544,6 +548,106 @@ SetPaymentFailure sets PaymentFailure field to given value. HasPaymentFailure returns a boolean if a field has been set. +### GetTrialing + +`func (o *Subscription) GetTrialing() bool` + +GetTrialing returns the Trialing field if non-nil, zero value otherwise. + +### GetTrialingOk + +`func (o *Subscription) GetTrialingOk() (*bool, bool)` + +GetTrialingOk returns a tuple with the Trialing field if it's non-nil, zero value otherwise +and a boolean to check if the value has been set. + +### SetTrialing + +`func (o *Subscription) SetTrialing(v bool)` + +SetTrialing sets Trialing field to given value. + +### HasTrialing + +`func (o *Subscription) HasTrialing() bool` + +HasTrialing returns a boolean if a field has been set. + +### GetTrialEndsAt + +`func (o *Subscription) GetTrialEndsAt() time.Time` + +GetTrialEndsAt returns the TrialEndsAt field if non-nil, zero value otherwise. + +### GetTrialEndsAtOk + +`func (o *Subscription) GetTrialEndsAtOk() (*time.Time, bool)` + +GetTrialEndsAtOk returns a tuple with the TrialEndsAt field if it's non-nil, zero value otherwise +and a boolean to check if the value has been set. + +### SetTrialEndsAt + +`func (o *Subscription) SetTrialEndsAt(v time.Time)` + +SetTrialEndsAt sets TrialEndsAt field to given value. + +### HasTrialEndsAt + +`func (o *Subscription) HasTrialEndsAt() bool` + +HasTrialEndsAt returns a boolean if a field has been set. + +### GetTrialMaxSpend + +`func (o *Subscription) GetTrialMaxSpend() string` + +GetTrialMaxSpend returns the TrialMaxSpend field if non-nil, zero value otherwise. + +### GetTrialMaxSpendOk + +`func (o *Subscription) GetTrialMaxSpendOk() (*string, bool)` + +GetTrialMaxSpendOk returns a tuple with the TrialMaxSpend field if it's non-nil, zero value otherwise +and a boolean to check if the value has been set. + +### SetTrialMaxSpend + +`func (o *Subscription) SetTrialMaxSpend(v string)` + +SetTrialMaxSpend sets TrialMaxSpend field to given value. + +### HasTrialMaxSpend + +`func (o *Subscription) HasTrialMaxSpend() bool` + +HasTrialMaxSpend returns a boolean if a field has been set. + +### GetCurrentSpend + +`func (o *Subscription) GetCurrentSpend() string` + +GetCurrentSpend returns the CurrentSpend field if non-nil, zero value otherwise. + +### GetCurrentSpendOk + +`func (o *Subscription) GetCurrentSpendOk() (*string, bool)` + +GetCurrentSpendOk returns a tuple with the CurrentSpend field if it's non-nil, zero value otherwise +and a boolean to check if the value has been set. + +### SetCurrentSpend + +`func (o *Subscription) SetCurrentSpend(v string)` + +SetCurrentSpend sets CurrentSpend field to given value. + +### HasCurrentSpend + +`func (o *Subscription) HasCurrentSpend() bool` + +HasCurrentSpend returns a boolean if a field has been set. + [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/api/v1/koyeb/docs/User.md b/api/v1/koyeb/docs/User.md index 533fcaa..96147c0 100644 --- a/api/v1/koyeb/docs/User.md +++ b/api/v1/koyeb/docs/User.md @@ -18,6 +18,7 @@ Name | Type | Description | Notes **Flags** | Pointer to [**[]UserFlags**](UserFlags.md) | | [optional] **Name** | Pointer to **string** | | [optional] **EmailValidated** | Pointer to **bool** | | [optional] +**Trialed** | Pointer to **bool** | | [optional] ## Methods @@ -388,6 +389,31 @@ SetEmailValidated sets EmailValidated field to given value. HasEmailValidated returns a boolean if a field has been set. +### GetTrialed + +`func (o *User) GetTrialed() bool` + +GetTrialed returns the Trialed field if non-nil, zero value otherwise. + +### GetTrialedOk + +`func (o *User) GetTrialedOk() (*bool, bool)` + +GetTrialedOk returns a tuple with the Trialed field if it's non-nil, zero value otherwise +and a boolean to check if the value has been set. + +### SetTrialed + +`func (o *User) SetTrialed(v bool)` + +SetTrialed sets Trialed field to given value. + +### HasTrialed + +`func (o *User) HasTrialed() bool` + +HasTrialed returns a boolean if a field has been set. + [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/api/v1/koyeb/model_datacenter_list_item.go b/api/v1/koyeb/model_datacenter_list_item.go index 06414e5..5561956 100644 --- a/api/v1/koyeb/model_datacenter_list_item.go +++ b/api/v1/koyeb/model_datacenter_list_item.go @@ -21,6 +21,7 @@ type DatacenterListItem struct { Domain *string `json:"domain,omitempty"` Coordinates []string `json:"coordinates,omitempty"` UseGpu *bool `json:"use_gpu,omitempty"` + Regions []string `json:"regions,omitempty"` } // NewDatacenterListItem instantiates a new DatacenterListItem object @@ -200,6 +201,38 @@ func (o *DatacenterListItem) SetUseGpu(v bool) { o.UseGpu = &v } +// GetRegions returns the Regions field value if set, zero value otherwise. +func (o *DatacenterListItem) GetRegions() []string { + if o == nil || isNil(o.Regions) { + var ret []string + return ret + } + return o.Regions +} + +// GetRegionsOk returns a tuple with the Regions field value if set, nil otherwise +// and a boolean to check if the value has been set. +func (o *DatacenterListItem) GetRegionsOk() ([]string, bool) { + if o == nil || isNil(o.Regions) { + return nil, false + } + return o.Regions, true +} + +// HasRegions returns a boolean if a field has been set. +func (o *DatacenterListItem) HasRegions() bool { + if o != nil && !isNil(o.Regions) { + return true + } + + return false +} + +// SetRegions gets a reference to the given []string and assigns it to the Regions field. +func (o *DatacenterListItem) SetRegions(v []string) { + o.Regions = v +} + func (o DatacenterListItem) MarshalJSON() ([]byte, error) { toSerialize := map[string]interface{}{} if !isNil(o.Id) { @@ -217,6 +250,9 @@ func (o DatacenterListItem) MarshalJSON() ([]byte, error) { if !isNil(o.UseGpu) { toSerialize["use_gpu"] = o.UseGpu } + if !isNil(o.Regions) { + toSerialize["regions"] = o.Regions + } return json.Marshal(toSerialize) } diff --git a/api/v1/koyeb/model_region.go b/api/v1/koyeb/model_region.go index b8f653b..09c94cc 100644 --- a/api/v1/koyeb/model_region.go +++ b/api/v1/koyeb/model_region.go @@ -23,6 +23,8 @@ type Region struct { Instances []string `json:"instances,omitempty"` Datacenters []string `json:"datacenters,omitempty"` VolumesEnabled *bool `json:"volumes_enabled,omitempty"` + // The scope of the region, continent, metropolitan area, etc. + Scope *string `json:"scope,omitempty"` } // NewRegion instantiates a new Region object @@ -266,6 +268,38 @@ func (o *Region) SetVolumesEnabled(v bool) { o.VolumesEnabled = &v } +// GetScope returns the Scope field value if set, zero value otherwise. +func (o *Region) GetScope() string { + if o == nil || isNil(o.Scope) { + var ret string + return ret + } + return *o.Scope +} + +// GetScopeOk returns a tuple with the Scope field value if set, nil otherwise +// and a boolean to check if the value has been set. +func (o *Region) GetScopeOk() (*string, bool) { + if o == nil || isNil(o.Scope) { + return nil, false + } + return o.Scope, true +} + +// HasScope returns a boolean if a field has been set. +func (o *Region) HasScope() bool { + if o != nil && !isNil(o.Scope) { + return true + } + + return false +} + +// SetScope gets a reference to the given string and assigns it to the Scope field. +func (o *Region) SetScope(v string) { + o.Scope = &v +} + func (o Region) MarshalJSON() ([]byte, error) { toSerialize := map[string]interface{}{} if !isNil(o.Id) { @@ -289,6 +323,9 @@ func (o Region) MarshalJSON() ([]byte, error) { if !isNil(o.VolumesEnabled) { toSerialize["volumes_enabled"] = o.VolumesEnabled } + if !isNil(o.Scope) { + toSerialize["scope"] = o.Scope + } return json.Marshal(toSerialize) } diff --git a/api/v1/koyeb/model_region_list_item.go b/api/v1/koyeb/model_region_list_item.go index b0de11e..27101dd 100644 --- a/api/v1/koyeb/model_region_list_item.go +++ b/api/v1/koyeb/model_region_list_item.go @@ -23,6 +23,8 @@ type RegionListItem struct { Instances []string `json:"instances,omitempty"` Datacenters []string `json:"datacenters,omitempty"` VolumesEnabled *bool `json:"volumes_enabled,omitempty"` + // The scope of the region, continent, metropolitan area, etc. + Scope *string `json:"scope,omitempty"` } // NewRegionListItem instantiates a new RegionListItem object @@ -266,6 +268,38 @@ func (o *RegionListItem) SetVolumesEnabled(v bool) { o.VolumesEnabled = &v } +// GetScope returns the Scope field value if set, zero value otherwise. +func (o *RegionListItem) GetScope() string { + if o == nil || isNil(o.Scope) { + var ret string + return ret + } + return *o.Scope +} + +// GetScopeOk returns a tuple with the Scope field value if set, nil otherwise +// and a boolean to check if the value has been set. +func (o *RegionListItem) GetScopeOk() (*string, bool) { + if o == nil || isNil(o.Scope) { + return nil, false + } + return o.Scope, true +} + +// HasScope returns a boolean if a field has been set. +func (o *RegionListItem) HasScope() bool { + if o != nil && !isNil(o.Scope) { + return true + } + + return false +} + +// SetScope gets a reference to the given string and assigns it to the Scope field. +func (o *RegionListItem) SetScope(v string) { + o.Scope = &v +} + func (o RegionListItem) MarshalJSON() ([]byte, error) { toSerialize := map[string]interface{}{} if !isNil(o.Id) { @@ -289,6 +323,9 @@ func (o RegionListItem) MarshalJSON() ([]byte, error) { if !isNil(o.VolumesEnabled) { toSerialize["volumes_enabled"] = o.VolumesEnabled } + if !isNil(o.Scope) { + toSerialize["scope"] = o.Scope + } return json.Marshal(toSerialize) } diff --git a/api/v1/koyeb/model_subscription.go b/api/v1/koyeb/model_subscription.go index 7f51cfd..37f1c9d 100644 --- a/api/v1/koyeb/model_subscription.go +++ b/api/v1/koyeb/model_subscription.go @@ -37,6 +37,10 @@ type Subscription struct { AmountPaid *string `json:"amount_paid,omitempty"` AmountRemaining *string `json:"amount_remaining,omitempty"` PaymentFailure *SubscriptionPaymentFailure `json:"payment_failure,omitempty"` + Trialing *bool `json:"trialing,omitempty"` + TrialEndsAt *time.Time `json:"trial_ends_at,omitempty"` + TrialMaxSpend *string `json:"trial_max_spend,omitempty"` + CurrentSpend *string `json:"current_spend,omitempty"` } // NewSubscription instantiates a new Subscription object @@ -700,6 +704,134 @@ func (o *Subscription) SetPaymentFailure(v SubscriptionPaymentFailure) { o.PaymentFailure = &v } +// GetTrialing returns the Trialing field value if set, zero value otherwise. +func (o *Subscription) GetTrialing() bool { + if o == nil || isNil(o.Trialing) { + var ret bool + return ret + } + return *o.Trialing +} + +// GetTrialingOk returns a tuple with the Trialing field value if set, nil otherwise +// and a boolean to check if the value has been set. +func (o *Subscription) GetTrialingOk() (*bool, bool) { + if o == nil || isNil(o.Trialing) { + return nil, false + } + return o.Trialing, true +} + +// HasTrialing returns a boolean if a field has been set. +func (o *Subscription) HasTrialing() bool { + if o != nil && !isNil(o.Trialing) { + return true + } + + return false +} + +// SetTrialing gets a reference to the given bool and assigns it to the Trialing field. +func (o *Subscription) SetTrialing(v bool) { + o.Trialing = &v +} + +// GetTrialEndsAt returns the TrialEndsAt field value if set, zero value otherwise. +func (o *Subscription) GetTrialEndsAt() time.Time { + if o == nil || isNil(o.TrialEndsAt) { + var ret time.Time + return ret + } + return *o.TrialEndsAt +} + +// GetTrialEndsAtOk returns a tuple with the TrialEndsAt field value if set, nil otherwise +// and a boolean to check if the value has been set. +func (o *Subscription) GetTrialEndsAtOk() (*time.Time, bool) { + if o == nil || isNil(o.TrialEndsAt) { + return nil, false + } + return o.TrialEndsAt, true +} + +// HasTrialEndsAt returns a boolean if a field has been set. +func (o *Subscription) HasTrialEndsAt() bool { + if o != nil && !isNil(o.TrialEndsAt) { + return true + } + + return false +} + +// SetTrialEndsAt gets a reference to the given time.Time and assigns it to the TrialEndsAt field. +func (o *Subscription) SetTrialEndsAt(v time.Time) { + o.TrialEndsAt = &v +} + +// GetTrialMaxSpend returns the TrialMaxSpend field value if set, zero value otherwise. +func (o *Subscription) GetTrialMaxSpend() string { + if o == nil || isNil(o.TrialMaxSpend) { + var ret string + return ret + } + return *o.TrialMaxSpend +} + +// GetTrialMaxSpendOk returns a tuple with the TrialMaxSpend field value if set, nil otherwise +// and a boolean to check if the value has been set. +func (o *Subscription) GetTrialMaxSpendOk() (*string, bool) { + if o == nil || isNil(o.TrialMaxSpend) { + return nil, false + } + return o.TrialMaxSpend, true +} + +// HasTrialMaxSpend returns a boolean if a field has been set. +func (o *Subscription) HasTrialMaxSpend() bool { + if o != nil && !isNil(o.TrialMaxSpend) { + return true + } + + return false +} + +// SetTrialMaxSpend gets a reference to the given string and assigns it to the TrialMaxSpend field. +func (o *Subscription) SetTrialMaxSpend(v string) { + o.TrialMaxSpend = &v +} + +// GetCurrentSpend returns the CurrentSpend field value if set, zero value otherwise. +func (o *Subscription) GetCurrentSpend() string { + if o == nil || isNil(o.CurrentSpend) { + var ret string + return ret + } + return *o.CurrentSpend +} + +// GetCurrentSpendOk returns a tuple with the CurrentSpend field value if set, nil otherwise +// and a boolean to check if the value has been set. +func (o *Subscription) GetCurrentSpendOk() (*string, bool) { + if o == nil || isNil(o.CurrentSpend) { + return nil, false + } + return o.CurrentSpend, true +} + +// HasCurrentSpend returns a boolean if a field has been set. +func (o *Subscription) HasCurrentSpend() bool { + if o != nil && !isNil(o.CurrentSpend) { + return true + } + + return false +} + +// SetCurrentSpend gets a reference to the given string and assigns it to the CurrentSpend field. +func (o *Subscription) SetCurrentSpend(v string) { + o.CurrentSpend = &v +} + func (o Subscription) MarshalJSON() ([]byte, error) { toSerialize := map[string]interface{}{} if !isNil(o.Id) { @@ -762,6 +894,18 @@ func (o Subscription) MarshalJSON() ([]byte, error) { if !isNil(o.PaymentFailure) { toSerialize["payment_failure"] = o.PaymentFailure } + if !isNil(o.Trialing) { + toSerialize["trialing"] = o.Trialing + } + if !isNil(o.TrialEndsAt) { + toSerialize["trial_ends_at"] = o.TrialEndsAt + } + if !isNil(o.TrialMaxSpend) { + toSerialize["trial_max_spend"] = o.TrialMaxSpend + } + if !isNil(o.CurrentSpend) { + toSerialize["current_spend"] = o.CurrentSpend + } return json.Marshal(toSerialize) } diff --git a/api/v1/koyeb/model_user.go b/api/v1/koyeb/model_user.go index 62a8ea5..9e94de5 100644 --- a/api/v1/koyeb/model_user.go +++ b/api/v1/koyeb/model_user.go @@ -31,6 +31,7 @@ type User struct { Flags []UserFlags `json:"flags,omitempty"` Name *string `json:"name,omitempty"` EmailValidated *bool `json:"email_validated,omitempty"` + Trialed *bool `json:"trialed,omitempty"` } // NewUser instantiates a new User object @@ -498,6 +499,38 @@ func (o *User) SetEmailValidated(v bool) { o.EmailValidated = &v } +// GetTrialed returns the Trialed field value if set, zero value otherwise. +func (o *User) GetTrialed() bool { + if o == nil || isNil(o.Trialed) { + var ret bool + return ret + } + return *o.Trialed +} + +// GetTrialedOk returns a tuple with the Trialed field value if set, nil otherwise +// and a boolean to check if the value has been set. +func (o *User) GetTrialedOk() (*bool, bool) { + if o == nil || isNil(o.Trialed) { + return nil, false + } + return o.Trialed, true +} + +// HasTrialed returns a boolean if a field has been set. +func (o *User) HasTrialed() bool { + if o != nil && !isNil(o.Trialed) { + return true + } + + return false +} + +// SetTrialed gets a reference to the given bool and assigns it to the Trialed field. +func (o *User) SetTrialed(v bool) { + o.Trialed = &v +} + func (o User) MarshalJSON() ([]byte, error) { toSerialize := map[string]interface{}{} if !isNil(o.Id) { @@ -542,6 +575,9 @@ func (o User) MarshalJSON() ([]byte, error) { if !isNil(o.EmailValidated) { toSerialize["email_validated"] = o.EmailValidated } + if !isNil(o.Trialed) { + toSerialize["trialed"] = o.Trialed + } return json.Marshal(toSerialize) } diff --git a/api/v1/koyeb/openapi.json b/api/v1/koyeb/openapi.json index b24cf3b..c30e00b 100644 --- a/api/v1/koyeb/openapi.json +++ b/api/v1/koyeb/openapi.json @@ -64,51 +64,116 @@ } ], "paths": { - "/v1/app_events": { + "/v1/catalog/datacenters": { "get": { - "summary": "List App events", - "operationId": "ListAppEvents", + "summary": "List datacenters", + "operationId": "ListDatacenters", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/ListAppEventsReply" + "$ref": "#/definitions/ListDatacentersReply" } }, - "400": { - "description": "Validation error", + "default": { + "description": "An unexpected error response.", "schema": { - "$ref": "#/definitions/ErrorWithFields" + "$ref": "#/definitions/google.rpc.Status" } - }, - "401": { - "description": "Returned when the token is not valid.", + } + }, + "tags": [ + "CatalogDatacenters" + ] + } + }, + "/v1/catalog/instances": { + "get": { + "summary": "List Instance", + "operationId": "ListCatalogInstances", + "responses": { + "200": { + "description": "A successful response.", "schema": { - "$ref": "#/definitions/Error" + "$ref": "#/definitions/ListCatalogInstancesReply" } }, - "403": { - "description": "Returned when the user does not have permission to access the resource.", + "default": { + "description": "An unexpected error response.", "schema": { - "$ref": "#/definitions/Error" + "$ref": "#/definitions/google.rpc.Status" } + } + }, + "parameters": [ + { + "name": "limit", + "description": "(Optional) The number of items to return", + "in": "query", + "required": false, + "type": "string" }, - "404": { - "description": "Returned when the resource does not exist.", + { + "name": "offset", + "description": "(Optional) The offset in the list of item to return", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "id", + "description": "(Optional) A filter for instances", + "in": "query", + "required": false, + "type": "string" + } + ], + "tags": [ + "CatalogInstances" + ] + } + }, + "/v1/catalog/instances/{id}": { + "get": { + "summary": "Get Instance", + "operationId": "GetCatalogInstance", + "responses": { + "200": { + "description": "A successful response.", "schema": { - "$ref": "#/definitions/Error" + "$ref": "#/definitions/GetCatalogInstanceReply" } }, - "500": { - "description": "Returned in case of server error.", + "default": { + "description": "An unexpected error response.", "schema": { - "$ref": "#/definitions/Error" + "$ref": "#/definitions/google.rpc.Status" } - }, - "503": { - "description": "Service is unavailable.", + } + }, + "parameters": [ + { + "name": "id", + "description": "The name of the instance", + "in": "path", + "required": true, + "type": "string" + } + ], + "tags": [ + "CatalogInstances" + ] + } + }, + "/v1/catalog/regions": { + "get": { + "summary": "List Region", + "operationId": "ListRegions", + "responses": { + "200": { + "description": "A successful response.", "schema": { - "$ref": "#/definitions/Error" + "$ref": "#/definitions/ListRegionsReply" } }, "default": { @@ -119,24 +184,6 @@ } }, "parameters": [ - { - "name": "app_id", - "description": "(Optional) Filter on app id", - "in": "query", - "required": false, - "type": "string" - }, - { - "name": "types", - "description": "(Optional) Filter on app event types", - "in": "query", - "required": false, - "type": "array", - "items": { - "type": "string" - }, - "collectionFormat": "multi" - }, { "name": "limit", "description": "(Optional) The number of items to return", @@ -152,27 +199,58 @@ "type": "string" }, { - "name": "order", - "description": "(Optional) Sorts the list in the ascending or the descending order", + "name": "id", + "description": "(Optional) A filter for regions", "in": "query", "required": false, "type": "string" } ], "tags": [ - "Apps" + "CatalogRegions" ] } }, - "/v1/apps": { + "/v1/catalog/regions/{id}": { "get": { - "summary": "List App", - "operationId": "ListApps", + "summary": "Get Region", + "operationId": "GetRegion", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/ListAppsReply" + "$ref": "#/definitions/GetRegionReply" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/google.rpc.Status" + } + } + }, + "parameters": [ + { + "name": "id", + "description": "The name of the region", + "in": "path", + "required": true, + "type": "string" + } + ], + "tags": [ + "CatalogRegions" + ] + } + }, + "/v1/git/branches": { + "get": { + "operationId": "ListBranches", + "responses": { + "200": { + "description": "A successful response.", + "schema": { + "$ref": "#/definitions/kgitproxy.ListBranchesReply" } }, "400": { @@ -220,39 +298,47 @@ }, "parameters": [ { - "name": "limit", - "description": "(Optional) The number of items to return", + "name": "repository_id", + "description": "(Optional) Filter on one repository.", "in": "query", "required": false, "type": "string" }, { - "name": "offset", - "description": "(Optional) The offset in the list of item to return", + "name": "name", + "description": "(Optional) Filter on branch name using a fuzzy search.\nRepository filter is required to enable this filter.", "in": "query", "required": false, "type": "string" }, { - "name": "name", - "description": "(Optional) A filter for name", + "name": "limit", + "description": "(Optional) The number of items to return.", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "offset", + "description": "(Optional) The offset in the list of item to return.", "in": "query", "required": false, "type": "string" } ], "tags": [ - "Apps" + "Repositories" ] - }, - "post": { - "summary": "Create App", - "operationId": "CreateApp", + } + }, + "/v1/git/repositories": { + "get": { + "operationId": "ListRepositories", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/CreateAppReply" + "$ref": "#/definitions/kgitproxy.ListRepositoriesReply" } }, "400": { @@ -300,28 +386,47 @@ }, "parameters": [ { - "name": "app", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/CreateApp" - } + "name": "name", + "description": "(Optional) Filter on repository name using a fuzzy search.", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "name_search_op", + "description": "(Optional) Define search operation for repository name. Accept either \"fuzzy\" or \"equality\", use \"fuzzy\" by default.", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "limit", + "description": "(Optional) The number of items to return.", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "offset", + "description": "(Optional) The offset in the list of item to return.", + "in": "query", + "required": false, + "type": "string" } ], "tags": [ - "Apps" + "Repositories" ] } }, - "/v1/apps/{id}": { - "get": { - "summary": "Get App", - "operationId": "GetApp", + "/v1/git/sync/organization/{organization_id}": { + "post": { + "operationId": "ResyncOrganization", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/GetAppReply" + "$ref": "#/definitions/kgitproxy.ResyncOrganizationReply" } }, "400": { @@ -369,26 +474,25 @@ }, "parameters": [ { - "name": "id", - "description": "The id of the App", + "name": "organization_id", "in": "path", "required": true, "type": "string" } ], "tags": [ - "Apps" + "Repositories" ] - }, - "delete": { - "summary": "Delete App", - "description": "App deletion is allowed for all status.", - "operationId": "DeleteApp", + } + }, + "/v1/organizations/{organization_id}/quotas": { + "get": { + "operationId": "GetQuotas", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/DeleteAppReply" + "$ref": "#/definitions/GetQuotasReply" } }, "400": { @@ -436,25 +540,26 @@ }, "parameters": [ { - "name": "id", - "description": "The id of the App to delete", + "name": "organization_id", "in": "path", "required": true, "type": "string" } ], "tags": [ - "Apps" + "OrganizationQuotas" ] - }, - "put": { - "summary": "Update App", - "operationId": "UpdateApp", + } + }, + "/v1/account/login": { + "post": { + "summary": "Login user", + "operationId": "Login", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/UpdateAppReply" + "$ref": "#/definitions/LoginReply" } }, "400": { @@ -502,39 +607,35 @@ }, "parameters": [ { - "name": "id", - "description": "The id of the app to update.", - "in": "path", - "required": true, - "type": "string" - }, - { - "name": "app", + "name": "body", "in": "body", "required": true, "schema": { - "$ref": "#/definitions/UpdateApp" + "$ref": "#/definitions/LoginRequest" } }, { - "name": "update_mask", - "in": "query", + "name": "seon-fp", + "description": "Seon Fingerprint", + "in": "header", "required": false, "type": "string" } ], "tags": [ - "Apps" + "Sessions" ] - }, - "patch": { - "summary": "Update App", - "operationId": "UpdateApp2", + } + }, + "/v1/account/logout": { + "delete": { + "summary": "Logout user", + "operationId": "Logout", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/UpdateAppReply" + "$ref": "#/definitions/LogoutReply" } }, "400": { @@ -580,44 +681,80 @@ } } }, - "parameters": [ - { - "name": "id", - "description": "The id of the app to update.", - "in": "path", - "required": true, - "type": "string" + "tags": [ + "Sessions" + ] + } + }, + "/v1/account/refresh": { + "put": { + "summary": "Refresh token", + "operationId": "RefreshToken", + "responses": { + "200": { + "description": "A successful response.", + "schema": { + "$ref": "#/definitions/LoginReply" + } }, - { - "name": "app", - "in": "body", - "required": true, + "400": { + "description": "Validation error", "schema": { - "$ref": "#/definitions/UpdateApp" + "$ref": "#/definitions/ErrorWithFields" } }, - { - "name": "update_mask", - "in": "query", - "required": false, - "type": "string" + "401": { + "description": "Returned when the token is not valid.", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "403": { + "description": "Returned when the user does not have permission to access the resource.", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "404": { + "description": "Returned when the resource does not exist.", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "500": { + "description": "Returned in case of server error.", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "503": { + "description": "Service is unavailable.", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/google.rpc.Status" + } } - ], + }, "tags": [ - "Apps" + "Sessions" ] } }, - "/v1/apps/{id}/pause": { + "/v1/account/session": { "post": { - "summary": "Pause App", - "description": "App pause action is allowed for the following status:\n - starting\n - healthy\n - degraded\n - unhealthy\n - resuming", - "operationId": "PauseApp", + "summary": "New session", + "description": "Creates a new session without an organization for current user.\nNOTE: If you want a session linked to another organization, please use \"Switch organization\".", + "operationId": "NewSession", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/PauseAppReply" + "$ref": "#/definitions/LoginReply" } }, "400": { @@ -663,30 +800,20 @@ } } }, - "parameters": [ - { - "name": "id", - "description": "The id of the app to pause.", - "in": "path", - "required": true, - "type": "string" - } - ], "tags": [ - "Apps" + "Sessions" ] } }, - "/v1/apps/{id}/resume": { + "/v1/organization_confirmations/{id}": { "post": { - "summary": "Resume App", - "description": "App resume action is allowed for the following status:\n - paused", - "operationId": "ResumeApp", + "summary": "Confirm organization action", + "operationId": "ConfirmOrganizationAction", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/ResumeAppReply" + "$ref": "#/definitions/ConfirmOrganizationActionReply" } }, "400": { @@ -735,26 +862,25 @@ "parameters": [ { "name": "id", - "description": "The id of the app to resume.", "in": "path", "required": true, "type": "string" } ], "tags": [ - "Apps" + "OrganizationConfirmations" ] } }, - "/v1/instance_events": { + "/v1/credentials": { "get": { - "summary": "List Instance events", - "operationId": "ListInstanceEvents", + "summary": "List credentials", + "operationId": "ListCredentials", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/ListInstanceEventsReply" + "$ref": "#/definitions/ListCredentialsReply" } }, "400": { @@ -802,63 +928,66 @@ }, "parameters": [ { - "name": "instance_ids", - "description": "(Optional) Filter on list of instance id", + "name": "type", + "description": "(Optional) A filter for type", "in": "query", "required": false, - "type": "array", - "items": { - "type": "string" - }, - "collectionFormat": "multi" + "type": "string", + "enum": [ + "INVALID", + "USER", + "ORGANIZATION" + ], + "default": "INVALID" }, { - "name": "types", - "description": "(Optional) Filter on instance event types", + "name": "name", + "description": "(Optional) A filter for name", "in": "query", "required": false, - "type": "array", - "items": { - "type": "string" - }, - "collectionFormat": "multi" + "type": "string" }, { - "name": "limit", - "description": "(Optional) The number of items to return", + "name": "organization_id", + "description": "(Optional) Filter for an organization", "in": "query", "required": false, "type": "string" }, { - "name": "offset", - "description": "(Optional) The offset in the list of item to return", + "name": "user_id", + "description": "(Optional) Filter for an user", "in": "query", "required": false, "type": "string" }, { - "name": "order", - "description": "(Optional) Sorts the list in the ascending or the descending order", + "name": "limit", + "description": "(Optional) The number of items to return", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "offset", + "description": "(Optional) The offset in the list of item to return", "in": "query", "required": false, "type": "string" } ], "tags": [ - "Instances" + "Credentials" ] - } - }, - "/v1/instances": { - "get": { - "summary": "List Instances", - "operationId": "ListInstances", + }, + "post": { + "summary": "Create credential", + "operationId": "CreateCredential", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/ListInstancesReply" + "$ref": "#/definitions/CreateCredentialReply" } }, "400": { @@ -906,120 +1035,28 @@ }, "parameters": [ { - "name": "app_id", - "description": "(Optional) Filter on application id", - "in": "query", - "required": false, - "type": "string" - }, - { - "name": "service_id", - "description": "(Optional) Filter on service id", - "in": "query", - "required": false, - "type": "string" - }, - { - "name": "deployment_id", - "description": "(Optional) Filter on deployment id", - "in": "query", - "required": false, - "type": "string" - }, - { - "name": "regional_deployment_id", - "description": "(Optional) Filter on regional deployment id", - "in": "query", - "required": false, - "type": "string" - }, - { - "name": "allocation_id", - "description": "(Optional) Filter on allocation id", - "in": "query", - "required": false, - "type": "string" - }, - { - "name": "replica_index", - "description": "(Optional) Filter on replica index", - "in": "query", - "required": false, - "type": "string" - }, - { - "name": "statuses", - "description": "(Optional) Filter on instance statuses", - "in": "query", - "required": false, - "type": "array", - "items": { - "type": "string", - "enum": [ - "ALLOCATING", - "STARTING", - "HEALTHY", - "UNHEALTHY", - "STOPPING", - "STOPPED", - "ERROR", - "SLEEPING" - ] - }, - "collectionFormat": "multi" - }, - { - "name": "limit", - "description": "(Optional) The number of items to return", - "in": "query", - "required": false, - "type": "string" - }, - { - "name": "offset", - "description": "(Optional) The offset in the list of item to return", - "in": "query", - "required": false, - "type": "string" - }, - { - "name": "order", - "description": "(Optional) Sorts the list in the ascending or the descending order", - "in": "query", - "required": false, - "type": "string" - }, - { - "name": "starting_time", - "description": "(Optional) The starting time of the period of running instance", - "in": "query", - "required": false, - "type": "string", - "format": "date-time" - }, - { - "name": "ending_time", - "description": "(Optional) The ending time of the period of running instance", - "in": "query", - "required": false, - "type": "string", - "format": "date-time" + "name": "credential", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/CreateCredential" + } } ], "tags": [ - "Instances" + "Credentials" ] } }, - "/v1/instances/{id}": { + "/v1/credentials/{id}": { "get": { - "summary": "Get Instance", - "operationId": "GetInstance", + "summary": "Get credential", + "operationId": "GetCredential", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/GetInstanceReply" + "$ref": "#/definitions/GetCredentialReply" } }, "400": { @@ -1068,25 +1105,23 @@ "parameters": [ { "name": "id", - "description": "The id of the instance", "in": "path", "required": true, "type": "string" } ], "tags": [ - "Instances" + "Credentials" ] - } - }, - "/v1/secrets": { - "get": { - "operationId": "ListSecrets", + }, + "delete": { + "summary": "Delete credential", + "operationId": "DeleteCredential", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/ListSecretsReply" + "$ref": "#/definitions/DeleteCredentialReply" } }, "400": { @@ -1134,51 +1169,24 @@ }, "parameters": [ { - "name": "name", - "in": "query", - "required": false, - "type": "string" - }, - { - "name": "limit", - "in": "query", - "required": false, - "type": "string" - }, - { - "name": "offset", - "in": "query", - "required": false, + "name": "id", + "in": "path", + "required": true, "type": "string" - }, - { - "name": "types", - "description": "Filter by secret types", - "in": "query", - "required": false, - "type": "array", - "items": { - "type": "string", - "enum": [ - "SIMPLE", - "REGISTRY", - "MANAGED" - ] - }, - "collectionFormat": "multi" } ], "tags": [ - "Secrets" + "Credentials" ] }, - "post": { - "operationId": "CreateSecret", + "put": { + "summary": "Update credential", + "operationId": "UpdateCredential", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/CreateSecretReply" + "$ref": "#/definitions/UpdateCredentialReply" } }, "400": { @@ -1226,27 +1234,38 @@ }, "parameters": [ { - "name": "secret", + "name": "id", + "in": "path", + "required": true, + "type": "string" + }, + { + "name": "credential", "in": "body", "required": true, "schema": { - "$ref": "#/definitions/CreateSecret" + "$ref": "#/definitions/Credential" } + }, + { + "name": "update_mask", + "in": "query", + "required": false, + "type": "string" } ], "tags": [ - "Secrets" + "Credentials" ] - } - }, - "/v1/secrets/{id}": { - "get": { - "operationId": "GetSecret", + }, + "patch": { + "summary": "Update credential", + "operationId": "UpdateCredential2", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/GetSecretReply" + "$ref": "#/definitions/UpdateCredentialReply" } }, "400": { @@ -1298,19 +1317,36 @@ "in": "path", "required": true, "type": "string" + }, + { + "name": "credential", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/Credential" + } + }, + { + "name": "update_mask", + "in": "query", + "required": false, + "type": "string" } ], "tags": [ - "Secrets" + "Credentials" ] - }, + } + }, + "/v1/users/{id}": { "delete": { - "operationId": "DeleteSecret", + "summary": "Delete user", + "operationId": "DeleteUser", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/DeleteSecretReply" + "$ref": "#/definitions/DeleteUserReply" } }, "400": { @@ -1359,22 +1395,26 @@ "parameters": [ { "name": "id", + "description": "The id of the user", "in": "path", "required": true, "type": "string" } ], "tags": [ - "Secrets" + "Users" ] - }, - "put": { - "operationId": "UpdateSecret", + } + }, + "/v1/intercom/profile": { + "get": { + "summary": "Get intercom profile", + "operationId": "GetIntercomProfile", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/UpdateSecretReply" + "$ref": "#/definitions/GetIntercomProfileReply" } }, "400": { @@ -1420,39 +1460,20 @@ } } }, - "parameters": [ - { - "name": "id", - "in": "path", - "required": true, - "type": "string" - }, - { - "name": "secret", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/Secret" - } - }, - { - "name": "update_mask", - "in": "query", - "required": false, - "type": "string" - } - ], "tags": [ - "Secrets" + "Intercom" ] - }, - "patch": { - "operationId": "UpdateSecret2", + } + }, + "/v1/organization_members": { + "get": { + "summary": "List organization members", + "operationId": "ListOrganizationMembers", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/UpdateSecretReply" + "$ref": "#/definitions/ListOrganizationMembersReply" } }, "400": { @@ -1500,39 +1521,48 @@ }, "parameters": [ { - "name": "id", - "in": "path", - "required": true, - "type": "string" - }, + "name": "limit", + "description": "(Optional) The number of items to return", + "in": "query", + "required": false, + "type": "string" + }, { - "name": "secret", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/Secret" - } + "name": "offset", + "description": "(Optional) The offset in the list of item to return", + "in": "query", + "required": false, + "type": "string" }, { - "name": "update_mask", + "name": "organization_id", + "description": "(Optional) Filter for an organization", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "user_id", + "description": "(Optional) Filter for an user", "in": "query", "required": false, "type": "string" } ], "tags": [ - "Secrets" + "OrganizationMembers" ] } }, - "/v1/secrets/{id}/reveal": { - "post": { - "operationId": "RevealSecret", + "/v1/organization_members/{id}": { + "delete": { + "summary": "Remove an organization member", + "operationId": "RemoveOrganizationMember", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/RevealSecretReply" + "$ref": "#/definitions/RemoveOrganizationMemberReply" } }, "400": { @@ -1584,30 +1614,21 @@ "in": "path", "required": true, "type": "string" - }, - { - "name": "body", - "in": "body", - "required": true, - "schema": { - "type": "object" - } } ], "tags": [ - "Secrets" + "OrganizationMembers" ] } }, - "/v1/docker-helper/verify": { + "/v1/organization_invitations": { "get": { - "summary": "Verify if a docker image is reachable", - "operationId": "VerifyDockerImage", + "operationId": "ListOrganizationInvitations", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/VerifyDockerImageReply" + "$ref": "#/definitions/ListOrganizationInvitationsReply" } }, "400": { @@ -1655,34 +1676,56 @@ }, "parameters": [ { - "name": "image", - "description": "The full image uri to be verified", + "name": "limit", + "description": "(Optional) The number of items to return", "in": "query", "required": false, "type": "string" }, { - "name": "secret_id", - "description": "(Optional) the id of the secret to use to authenticate to the registry", + "name": "offset", + "description": "(Optional) The offset in the list of item to return", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "statuses", + "description": "(Optional) Filter on organization invitation statuses", + "in": "query", + "required": false, + "type": "array", + "items": { + "type": "string", + "enum": [ + "INVALID", + "PENDING", + "ACCEPTED", + "REFUSED", + "EXPIRED" + ] + }, + "collectionFormat": "multi" + }, + { + "name": "user_id", + "description": "(Optional) Filter on invitee ID. Will match both invitations sent to\nthat user_id and invitations sent to the email of that user_id.\nThe only valid value is the requester's user_id", "in": "query", "required": false, "type": "string" } ], "tags": [ - "DockerHelper" + "OrganizationInvitations" ] - } - }, - "/v1/volume_events": { - "get": { - "summary": "List Persistent Volume events", - "operationId": "ListPersistentVolumeEvents", + }, + "post": { + "operationId": "CreateOrganizationInvitation", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/ListPersistentVolumeEventsReply" + "$ref": "#/definitions/CreateOrganizationInvitationReply" } }, "400": { @@ -1730,59 +1773,27 @@ }, "parameters": [ { - "name": "persistent_volume_id", - "description": "(Optional) Filter on persistent volume id", - "in": "query", - "required": false, - "type": "string" - }, - { - "name": "types", - "description": "(Optional) Filter on persistent volume event types", - "in": "query", - "required": false, - "type": "array", - "items": { - "type": "string" - }, - "collectionFormat": "multi" - }, - { - "name": "limit", - "description": "(Optional) The number of items to return", - "in": "query", - "required": false, - "type": "string" - }, - { - "name": "offset", - "description": "(Optional) The offset in the list of item to return", - "in": "query", - "required": false, - "type": "string" - }, - { - "name": "order", - "description": "(Optional) Sorts the list in the ascending or the descending order", - "in": "query", - "required": false, - "type": "string" + "name": "body", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/CreateOrganizationInvitationRequest" + } } ], "tags": [ - "PersistentVolumes" + "OrganizationInvitations" ] } }, - "/v1/volumes": { + "/v1/organization_invitations/{id}": { "get": { - "summary": "List all PersistentVolumes", - "operationId": "ListPersistentVolumes", + "operationId": "GetOrganizationInvitation", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/ListPersistentVolumesReply" + "$ref": "#/definitions/GetOrganizationInvitationReply" } }, "400": { @@ -1830,53 +1841,24 @@ }, "parameters": [ { - "name": "limit", - "description": "(Optional) The number of items to return", - "in": "query", - "required": false, - "type": "string" - }, - { - "name": "offset", - "description": "(Optional) The offset in the list of item to return", - "in": "query", - "required": false, - "type": "string" - }, - { - "name": "service_id", - "description": "(Optional) A filter for the service id", - "in": "query", - "required": false, - "type": "string" - }, - { - "name": "region", - "description": "(Optional) A filter for the region", - "in": "query", - "required": false, - "type": "string" - }, - { - "name": "name", - "description": "(Optional) A filter for the name", - "in": "query", - "required": false, + "name": "id", + "description": "The id of the invitation to get", + "in": "path", + "required": true, "type": "string" } ], "tags": [ - "PersistentVolumes" + "OrganizationInvitations" ] }, - "post": { - "summary": "Create a PersistentVolume", - "operationId": "CreatePersistentVolume", + "delete": { + "operationId": "DeleteOrganizationInvitation", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/CreatePersistentVolumeReply" + "$ref": "#/definitions/DeleteOrganizationInvitationReply" } }, "400": { @@ -1924,28 +1906,26 @@ }, "parameters": [ { - "name": "body", - "in": "body", + "name": "id", + "description": "The id of the organization invitation to delete", + "in": "path", "required": true, - "schema": { - "$ref": "#/definitions/CreatePersistentVolumeRequest" - } + "type": "string" } ], "tags": [ - "PersistentVolumes" + "OrganizationInvitations" ] } }, - "/v1/volumes/{id}": { - "get": { - "summary": "Get a PersistentVolume", - "operationId": "GetPersistentVolume", + "/v1/organization_invitations/{id}/resend": { + "post": { + "operationId": "ResendOrganizationInvitation", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/GetPersistentVolumeReply" + "$ref": "#/definitions/ResendOrganizationInvitationReply" } }, "400": { @@ -1994,23 +1974,33 @@ "parameters": [ { "name": "id", + "description": "The id of the organization invitation to resend", "in": "path", "required": true, "type": "string" + }, + { + "name": "body", + "in": "body", + "required": true, + "schema": { + "type": "object" + } } ], "tags": [ - "PersistentVolumes" + "OrganizationInvitations" ] - }, - "delete": { - "summary": "Delete a PersistentVolume", - "operationId": "DeletePersistentVolume", + } + }, + "/v1/account/activities": { + "get": { + "operationId": "GetAccountActivities", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/DeletePersistentVolumeReply" + "$ref": "#/definitions/ActivityList" } }, "400": { @@ -2058,24 +2048,31 @@ }, "parameters": [ { - "name": "id", - "in": "path", - "required": true, + "name": "limit", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "offset", + "in": "query", + "required": false, "type": "string" } ], "tags": [ - "PersistentVolumes" + "activity" ] - }, - "post": { - "summary": "Update a PersistentVolume", - "operationId": "UpdatePersistentVolume", + } + }, + "/v1/account/invite": { + "post": { + "operationId": "CreateInvite", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/UpdatePersistentVolumeReply" + "$ref": "#/definitions/Empty" } }, "400": { @@ -2122,46 +2119,29 @@ } }, "parameters": [ - { - "name": "id", - "in": "path", - "required": true, - "type": "string" - }, { "name": "body", "in": "body", "required": true, "schema": { - "type": "object", - "properties": { - "name": { - "type": "string", - "title": "(Optional) change the name of the volume" - }, - "max_size": { - "type": "integer", - "format": "int64", - "title": "(Optional) increase the volume size (in Gigabyte / GB)" - } - } + "$ref": "#/definitions/InviteUserRequest" } } ], "tags": [ - "PersistentVolumes" + "invite" ] } }, - "/v1/snapshots": { + "/v1/account/oauth": { "get": { - "summary": "List all Snapshots", - "operationId": "ListSnapshots", + "summary": "Get OAuth Providers", + "operationId": "GetOAuthOptions", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/ListSnapshotsReply" + "$ref": "#/definitions/GetOAuthOptionsReply" } }, "400": { @@ -2209,65 +2189,38 @@ }, "parameters": [ { - "name": "limit", - "description": "(Optional) The number of items to return", - "in": "query", - "required": false, - "type": "string" - }, - { - "name": "offset", - "description": "(Optional) The offset in the list of item to return", - "in": "query", - "required": false, - "type": "string" - }, - { - "name": "organization_id", - "description": "(Optional) Filter by organization_id", - "in": "query", - "required": false, - "type": "string" - }, - { - "name": "statuses", - "description": "(Optional) Filter by status\n\n - SNAPSHOT_STATUS_INVALID: zero value, invalid\n - SNAPSHOT_STATUS_CREATING: the snapshot is being created\n - SNAPSHOT_STATUS_AVAILABLE: the snapshot is complete and available\n - SNAPSHOT_STATUS_MIGRATING: the snapshot is being migrated\n - SNAPSHOT_STATUS_DELETING: the snapshot is being deleted\n - SNAPSHOT_STATUS_DELETED: the snapshot is deleted", + "name": "action", + "description": "Which authentication flow is being initiated", "in": "query", "required": false, - "type": "array", - "items": { - "type": "string", - "enum": [ - "SNAPSHOT_STATUS_INVALID", - "SNAPSHOT_STATUS_CREATING", - "SNAPSHOT_STATUS_AVAILABLE", - "SNAPSHOT_STATUS_MIGRATING", - "SNAPSHOT_STATUS_DELETING", - "SNAPSHOT_STATUS_DELETED" - ] - }, - "collectionFormat": "multi" + "type": "string", + "enum": [ + "signin", + "signup", + "register" + ], + "default": "signin" }, { - "name": "region", - "description": "(Optional) A filter for the region", + "name": "metadata", + "description": "A small (limited to 400 characters) string of arbitrary metadata which will be encoded in the state", "in": "query", "required": false, "type": "string" } ], "tags": [ - "Snapshots" + "profile" ] }, "post": { - "summary": "Create a Snapshot", - "operationId": "CreateSnapshot", + "summary": "Authenticate using OAuth", + "operationId": "OAuthCallback", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/CreateSnapshotReply" + "$ref": "#/definitions/OAuthCallbackReply" } }, "400": { @@ -2319,24 +2272,88 @@ "in": "body", "required": true, "schema": { - "$ref": "#/definitions/CreateSnapshotRequest" + "$ref": "#/definitions/OAuthCallbackRequest" } + }, + { + "name": "seon-fp", + "description": "Seon Fingerprint", + "in": "header", + "required": false, + "type": "string" } ], "tags": [ - "Snapshots" + "profile" ] } }, - "/v1/snapshots/{id}": { + "/v1/account/organization": { "get": { - "summary": "Get a Snapshot", - "operationId": "GetSnapshot", + "operationId": "GetCurrentOrganization", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/GetSnapshotReply" + "$ref": "#/definitions/GetOrganizationReply" + } + }, + "400": { + "description": "Validation error", + "schema": { + "$ref": "#/definitions/ErrorWithFields" + } + }, + "401": { + "description": "Returned when the token is not valid.", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "403": { + "description": "Returned when the user does not have permission to access the resource.", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "404": { + "description": "Returned when the resource does not exist.", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "500": { + "description": "Returned in case of server error.", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "503": { + "description": "Service is unavailable.", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/google.rpc.Status" + } + } + }, + "tags": [ + "profile" + ] + } + }, + "/v1/account/organization_invitations": { + "get": { + "operationId": "ListUserOrganizationInvitations", + "responses": { + "200": { + "description": "A successful response.", + "schema": { + "$ref": "#/definitions/ListUserOrganizationInvitationsReply" } }, "400": { @@ -2384,24 +2401,51 @@ }, "parameters": [ { - "name": "id", - "in": "path", - "required": true, + "name": "limit", + "description": "(Optional) The number of items to return", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "offset", + "description": "(Optional) The offset in the list of item to return", + "in": "query", + "required": false, "type": "string" + }, + { + "name": "statuses", + "description": "(Optional) Filter on organization invitation statuses", + "in": "query", + "required": false, + "type": "array", + "items": { + "type": "string", + "enum": [ + "INVALID", + "PENDING", + "ACCEPTED", + "REFUSED", + "EXPIRED" + ] + }, + "collectionFormat": "multi" } ], "tags": [ - "Snapshots" + "profile" ] - }, - "delete": { - "summary": "Delete a Snapshot", - "operationId": "DeleteSnapshot", + } + }, + "/v1/account/organization_invitations/{id}": { + "get": { + "operationId": "GetUserOrganizationInvitation", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/DeleteSnapshotReply" + "$ref": "#/definitions/GetUserOrganizationInvitationReply" } }, "400": { @@ -2450,23 +2494,25 @@ "parameters": [ { "name": "id", + "description": "The id of the organization invitation to get", "in": "path", "required": true, "type": "string" } ], "tags": [ - "Snapshots" + "profile" ] - }, + } + }, + "/v1/account/organization_invitations/{id}/accept": { "post": { - "summary": "Update a Snapshot", - "operationId": "UpdateSnapshot", + "operationId": "AcceptOrganizationInvitation", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/UpdateSnapshotReply" + "$ref": "#/definitions/AcceptOrganizationInvitationReply" } }, "400": { @@ -2515,7 +2561,7 @@ "parameters": [ { "name": "id", - "description": "The id of the snapshot", + "description": "The id of the organization invitation to accept", "in": "path", "required": true, "type": "string" @@ -2525,30 +2571,23 @@ "in": "body", "required": true, "schema": { - "type": "object", - "properties": { - "name": { - "type": "string", - "title": "Change the name of the snapshot" - } - } + "type": "object" } } ], "tags": [ - "Snapshots" + "profile" ] } }, - "/v1/provisioning/{deployment_id}/status/{stage}/{attempt}": { + "/v1/account/organization_invitations/{id}/decline": { "post": { - "summary": "Create an attempt for a stage", - "operationId": "CreateStageAttempt", + "operationId": "DeclineOrganizationInvitation", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/CreateStageAttemptReply" + "$ref": "#/definitions/DeclineOrganizationInvitationReply" } }, "400": { @@ -2596,68 +2635,34 @@ }, "parameters": [ { - "name": "deployment_id", + "name": "id", + "description": "The id of the organization invitation to decline", "in": "path", "required": true, "type": "string" }, { - "name": "stage", - "in": "path", - "required": true, - "type": "string" - }, - { - "name": "attempt", - "in": "path", - "required": true, - "type": "string" - }, - { - "name": "body", - "in": "body", + "name": "body", + "in": "body", "required": true, "schema": { - "type": "object", - "properties": { - "secret": { - "type": "string" - }, - "status": { - "$ref": "#/definitions/DeploymentProvisioningInfo.Stage.Status" - }, - "started_at": { - "type": "string", - "format": "date-time" - }, - "messages": { - "type": "array", - "items": { - "type": "string" - } - }, - "steps": { - "type": "array", - "items": { - "type": "string" - } - } - } + "type": "object" } } ], "tags": [ - "Provisioning" + "profile" ] - }, - "patch": { - "summary": "Declare stage progress", - "operationId": "DeclareStageProgress", + } + }, + "/v1/account/profile": { + "get": { + "operationId": "GetCurrentUser", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/DeclareStageProgressReply" + "$ref": "#/definitions/UserReply" } }, "400": { @@ -2703,75 +2708,17 @@ } } }, - "parameters": [ - { - "name": "deployment_id", - "in": "path", - "required": true, - "type": "string" - }, - { - "name": "stage", - "in": "path", - "required": true, - "type": "string" - }, - { - "name": "attempt", - "in": "path", - "required": true, - "type": "string" - }, - { - "name": "body", - "in": "body", - "required": true, - "schema": { - "type": "object", - "properties": { - "secret": { - "type": "string" - }, - "status": { - "$ref": "#/definitions/DeploymentProvisioningInfo.Stage.Status" - }, - "finished_at": { - "type": "string", - "format": "date-time" - }, - "messages": { - "type": "array", - "items": { - "type": "string" - } - }, - "image_pushed": { - "type": "boolean" - }, - "internal_failure": { - "type": "boolean" - }, - "retryable_failure": { - "type": "boolean" - } - } - } - } - ], "tags": [ - "Provisioning" + "profile" ] - } - }, - "/v1/provisioning/{deployment_id}/status/{stage}/{attempt}/{step}": { - "patch": { - "summary": "Declare step progress", - "operationId": "DeclareStepProgress", + }, + "put": { + "operationId": "UpdateUser", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/DeclareStepProgressReply" + "$ref": "#/definitions/UserReply" } }, "400": { @@ -2819,74 +2766,67 @@ }, "parameters": [ { - "name": "deployment_id", - "in": "path", - "required": true, - "type": "string" - }, - { - "name": "stage", - "in": "path", - "required": true, - "type": "string" - }, - { - "name": "attempt", - "in": "path", - "required": true, - "type": "string" - }, - { - "name": "step", - "in": "path", - "required": true, - "type": "string" - }, - { - "name": "body", + "name": "user", "in": "body", "required": true, "schema": { - "type": "object", - "properties": { - "secret": { - "type": "string" - }, - "status": { - "$ref": "#/definitions/DeploymentProvisioningInfo.Stage.Status" - }, - "started_at": { - "type": "string", - "format": "date-time" - }, - "finished_at": { - "type": "string", - "format": "date-time" - }, - "messages": { - "type": "array", - "items": { - "type": "string" - } - } - } + "$ref": "#/definitions/UpdateUserRequest.UserUpdateBody" } + }, + { + "name": "update_mask", + "in": "query", + "required": false, + "type": "string" } ], "tags": [ - "Provisioning" + "profile" ] - } - }, - "/v1/usages": { - "get": { - "summary": "Get organization usage", - "operationId": "GetOrganizationUsage", + }, + "patch": { + "operationId": "UpdateUser2", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/GetOrganizationUsageReply" + "$ref": "#/definitions/UserReply" + } + }, + "400": { + "description": "Validation error", + "schema": { + "$ref": "#/definitions/ErrorWithFields" + } + }, + "401": { + "description": "Returned when the token is not valid.", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "403": { + "description": "Returned when the user does not have permission to access the resource.", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "404": { + "description": "Returned when the resource does not exist.", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "500": { + "description": "Returned in case of server error.", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "503": { + "description": "Service is unavailable.", + "schema": { + "$ref": "#/definitions/Error" } }, "default": { @@ -2898,108 +2838,37 @@ }, "parameters": [ { - "name": "starting_time", - "description": "The starting time of the period to get data from", - "in": "query", - "required": false, - "type": "string", - "format": "date-time" + "name": "user", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/UpdateUserRequest.UserUpdateBody" + } }, { - "name": "ending_time", - "description": "The ending time of the period to get data from", + "name": "update_mask", "in": "query", "required": false, - "type": "string", - "format": "date-time" + "type": "string" } ], "tags": [ - "Usages" + "profile" ] } }, - "/v1/usages/details": { - "get": { - "summary": "Get organization usage details", - "operationId": "GetOrganizationUsageDetails", + "/v1/account/resend_validation": { + "post": { + "operationId": "ResendEmailValidation", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/GetOrganizationUsageDetailsReply" + "$ref": "#/definitions/ResendEmailValidationReply" } }, - "default": { - "description": "An unexpected error response.", - "schema": { - "$ref": "#/definitions/google.rpc.Status" - } - } - }, - "parameters": [ - { - "name": "starting_time", - "description": "The starting time of the period to get data from", - "in": "query", - "required": false, - "type": "string", - "format": "date-time" - }, - { - "name": "ending_time", - "description": "The ending time of the period to get data from", - "in": "query", - "required": false, - "type": "string", - "format": "date-time" - }, - { - "name": "limit", - "description": "(Optional) The number of items to return", - "in": "query", - "required": false, - "type": "string" - }, - { - "name": "offset", - "description": "(Optional) The offset in the list of item to return", - "in": "query", - "required": false, - "type": "string" - }, - { - "name": "order", - "description": "(Optional) Sorts the list in the ascending or the descending order", - "in": "query", - "required": false, - "type": "string" - }, - { - "name": "Accept", - "description": "If defined with the value 'text/csv', a csv file is returned", - "in": "header", - "required": false, - "type": "string" - } - ], - "tags": [ - "Usages" - ] - } - }, - "/v1/domains": { - "get": { - "operationId": "ListDomains", - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "$ref": "#/definitions/ListDomainsReply" - } - }, - "400": { - "description": "Validation error", + "400": { + "description": "Validation error", "schema": { "$ref": "#/definitions/ErrorWithFields" } @@ -3043,82 +2912,27 @@ }, "parameters": [ { - "name": "limit", - "description": "(Optional) The number of items to return", - "in": "query", - "required": false, - "type": "string" - }, - { - "name": "offset", - "description": "(Optional) The offset in the list of item to return", - "in": "query", - "required": false, - "type": "string" - }, - { - "name": "types", - "description": "(Optional) A filter for types\n\n - AUTOASSIGNED: Domain like -.koyeb.app", - "in": "query", - "required": false, - "type": "array", - "items": { - "type": "string", - "enum": [ - "AUTOASSIGNED", - "CUSTOM" - ] - }, - "collectionFormat": "multi" - }, - { - "name": "statuses", - "description": "(Optional) A filter for statuses", - "in": "query", - "required": false, - "type": "array", - "items": { - "type": "string", - "enum": [ - "PENDING", - "ACTIVE", - "ERROR", - "DELETING", - "DELETED" - ] - }, - "collectionFormat": "multi" - }, - { - "name": "app_ids", - "description": "(Optional) A filter for apps", - "in": "query", - "required": false, - "type": "array", - "items": { - "type": "string" - }, - "collectionFormat": "multi" - }, - { - "name": "name", - "description": "(Optional) A filter for name", - "in": "query", - "required": false, - "type": "string" + "name": "body", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/ResendEmailValidationRequest" + } } ], "tags": [ - "Domains" + "profile" ] - }, + } + }, + "/v1/account/reset_password": { "post": { - "operationId": "CreateDomain", + "operationId": "ResetPassword", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/CreateDomainReply" + "$ref": "#/definitions/ResetPasswordReply" } }, "400": { @@ -3166,27 +2980,27 @@ }, "parameters": [ { - "name": "domain", + "name": "body", "in": "body", "required": true, "schema": { - "$ref": "#/definitions/CreateDomain" + "$ref": "#/definitions/ResetPasswordRequest" } } ], "tags": [ - "Domains" + "profile" ] } }, - "/v1/domains/{id}": { - "get": { - "operationId": "GetDomain", + "/v1/account/signup": { + "post": { + "operationId": "Signup", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/GetDomainReply" + "$ref": "#/definitions/LoginReply" } }, "400": { @@ -3234,23 +3048,35 @@ }, "parameters": [ { - "name": "id", - "in": "path", + "name": "body", + "description": "Create new account", + "in": "body", "required": true, + "schema": { + "$ref": "#/definitions/CreateAccountRequest" + } + }, + { + "name": "seon-fp", + "description": "Seon Fingerprint", + "in": "header", + "required": false, "type": "string" } ], "tags": [ - "Domains" + "profile" ] - }, - "delete": { - "operationId": "DeleteDomain", + } + }, + "/v1/account/update_password": { + "post": { + "operationId": "UpdatePassword", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/DeleteDomainReply" + "$ref": "#/definitions/LoginReply" } }, "400": { @@ -3298,23 +3124,34 @@ }, "parameters": [ { - "name": "id", - "in": "path", + "name": "body", + "in": "body", "required": true, + "schema": { + "$ref": "#/definitions/UpdatePasswordRequest" + } + }, + { + "name": "seon-fp", + "description": "Seon Fingerprint", + "in": "header", + "required": false, "type": "string" } ], "tags": [ - "Domains" + "profile" ] - }, - "patch": { - "operationId": "UpdateDomain", + } + }, + "/v1/account/validate/{id}": { + "post": { + "operationId": "Validate", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/UpdateDomainReply" + "$ref": "#/definitions/LoginReply" } }, "400": { @@ -3368,40 +3205,28 @@ "type": "string" }, { - "name": "domain", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/UpdateDomain" - } - }, - { - "name": "update_mask", - "in": "query", + "name": "seon-fp", + "description": "Seon Fingerprint", + "in": "header", "required": false, "type": "string" - }, - { - "name": "dry_run", - "description": "If set, run validation and check that the domain is available.", - "in": "query", - "required": false, - "type": "boolean" } ], "tags": [ - "Domains" + "profile" ] } }, - "/v1/domains/{id}/refresh": { - "post": { - "operationId": "RefreshDomainStatus", + "/v1/billing/has_unpaid_invoices": { + "get": { + "summary": "Experimental: Has unpaid invoices", + "description": "WARNING: Please don't use the following method.\nKoyeb doesn't guarantee backwards compatible breaking change and reserve the right to completely drop it without notice.\nUSE AT YOUR OWN RISK.", + "operationId": "HasUnpaidInvoices", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/RefreshDomainStatusReply" + "$ref": "#/definitions/HasUnpaidInvoicesReply" } }, "400": { @@ -3447,28 +3272,19 @@ } } }, - "parameters": [ - { - "name": "id", - "in": "path", - "required": true, - "type": "string" - } - ], "tags": [ - "Domains" + "billing" ] } }, - "/v1/service_events": { + "/v1/billing/manage": { "get": { - "summary": "List Service events", - "operationId": "ListServiceEvents", + "operationId": "Manage", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/ListServiceEventsReply" + "$ref": "#/definitions/ManageReply" } }, "400": { @@ -3514,61 +3330,21 @@ } } }, - "parameters": [ - { - "name": "service_id", - "description": "(Optional) Filter on service id", - "in": "query", - "required": false, - "type": "string" - }, - { - "name": "types", - "description": "(Optional) Filter on service event types", - "in": "query", - "required": false, - "type": "array", - "items": { - "type": "string" - }, - "collectionFormat": "multi" - }, - { - "name": "limit", - "description": "(Optional) The number of items to return", - "in": "query", - "required": false, - "type": "string" - }, - { - "name": "offset", - "description": "(Optional) The offset in the list of item to return", - "in": "query", - "required": false, - "type": "string" - }, - { - "name": "order", - "description": "(Optional) Sorts the list in the ascending or the descending order", - "in": "query", - "required": false, - "type": "string" - } - ], "tags": [ - "Services" + "billing" ] } }, - "/v1/services": { + "/v1/billing/next_invoice": { "get": { - "summary": "List Services", - "operationId": "ListServices", + "summary": "Experimental: Fetch next invoice", + "description": "WARNING: Please don't use the following method.\nKoyeb doesn't guarantee backwards compatible breaking change and reserve the right to completely drop it without notice.\nUSE AT YOUR OWN RISK.", + "operationId": "NextInvoice", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/ListServicesReply" + "$ref": "#/definitions/NextInvoiceReply" } }, "400": { @@ -3614,65 +3390,77 @@ } } }, - "parameters": [ - { - "name": "app_id", - "description": "(Optional) The id of the app", - "in": "query", - "required": false, - "type": "string" + "tags": [ + "billing" + ] + } + }, + "/v1/github/installation": { + "get": { + "summary": "Fetch github installation configuration", + "operationId": "GetGithubInstallation", + "responses": { + "200": { + "description": "A successful response.", + "schema": { + "$ref": "#/definitions/GetGithubInstallationReply" + } }, - { - "name": "limit", - "description": "(Optional) The number of items to return", - "in": "query", - "required": false, - "type": "string" + "400": { + "description": "Validation error", + "schema": { + "$ref": "#/definitions/ErrorWithFields" + } }, - { - "name": "offset", - "description": "(Optional) The offset in the list of item to return", - "in": "query", - "required": false, - "type": "string" + "401": { + "description": "Returned when the token is not valid.", + "schema": { + "$ref": "#/definitions/Error" + } }, - { - "name": "name", - "description": "(Optional) A filter for name", - "in": "query", - "required": false, - "type": "string" + "403": { + "description": "Returned when the user does not have permission to access the resource.", + "schema": { + "$ref": "#/definitions/Error" + } }, - { - "name": "types", - "description": "(Optional) Filter on service types", - "in": "query", - "required": false, - "type": "array", - "items": { - "type": "string", - "enum": [ - "INVALID_TYPE", - "WEB", - "WORKER", - "DATABASE" - ] - }, - "collectionFormat": "multi" + "404": { + "description": "Returned when the resource does not exist.", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "500": { + "description": "Returned in case of server error.", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "503": { + "description": "Service is unavailable.", + "schema": { + "$ref": "#/definitions/Error" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/google.rpc.Status" + } } - ], + }, "tags": [ - "Services" + "organization" ] }, "post": { - "summary": "Create Service", - "operationId": "CreateService", + "summary": "Start github installation", + "operationId": "GithubInstallation", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/CreateServiceReply" + "$ref": "#/definitions/GithubInstallationReply" } }, "400": { @@ -3720,35 +3508,28 @@ }, "parameters": [ { - "name": "service", + "name": "body", "in": "body", "required": true, "schema": { - "$ref": "#/definitions/CreateService" + "$ref": "#/definitions/GithubInstallationRequest" } - }, - { - "name": "dry_run", - "description": "If set only run validation", - "in": "query", - "required": false, - "type": "boolean" } ], "tags": [ - "Services" + "organization" ] } }, - "/v1/services-autocomplete": { + "/v1/organizations": { "post": { - "summary": "Generate autocomplete definition for a service", - "operationId": "Autocomplete", + "summary": "Create organization", + "operationId": "CreateOrganization", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/AutocompleteReply" + "$ref": "#/definitions/CreateOrganizationReply" } }, "400": { @@ -3800,24 +3581,24 @@ "in": "body", "required": true, "schema": { - "$ref": "#/definitions/AutocompleteRequest" + "$ref": "#/definitions/CreateOrganizationRequest" } } ], "tags": [ - "Services" + "organization" ] } }, - "/v1/services/{id}": { + "/v1/organizations/{id}": { "get": { - "summary": "Get Service", - "operationId": "GetService", + "summary": "Get organization", + "operationId": "GetOrganization", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/GetServiceReply" + "$ref": "#/definitions/GetOrganizationReply" } }, "400": { @@ -3866,25 +3647,23 @@ "parameters": [ { "name": "id", - "description": "The id of the Service", "in": "path", "required": true, "type": "string" } ], "tags": [ - "Services" + "organization" ] }, "delete": { - "summary": "Delete Service", - "description": "Service deletion is allowed for all status.", - "operationId": "DeleteService", + "summary": "Delete an organization", + "operationId": "DeleteOrganization", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/DeleteServiceReply" + "$ref": "#/definitions/DeleteOrganizationReply" } }, "400": { @@ -3933,24 +3712,23 @@ "parameters": [ { "name": "id", - "description": "The id of the entity to delete", "in": "path", "required": true, "type": "string" } ], "tags": [ - "Services" + "organization" ] }, "put": { - "summary": "Update Service", - "operationId": "UpdateService", + "summary": "Update organization", + "operationId": "UpdateOrganization", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/UpdateServiceReply" + "$ref": "#/definitions/UpdateOrganizationReply" } }, "400": { @@ -3999,39 +3777,37 @@ "parameters": [ { "name": "id", - "description": "The id of the entity to update", "in": "path", "required": true, "type": "string" }, { - "name": "service", + "name": "organization", "in": "body", "required": true, "schema": { - "$ref": "#/definitions/UpdateService" + "$ref": "#/definitions/Organization" } }, { - "name": "dry_run", - "description": "If set, run validation and check that the service exists", + "name": "update_mask", "in": "query", "required": false, - "type": "boolean" + "type": "string" } ], "tags": [ - "Services" + "organization" ] }, "patch": { - "summary": "Update Service", - "operationId": "UpdateService2", + "summary": "Update organization", + "operationId": "UpdateOrganization2", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/UpdateServiceReply" + "$ref": "#/definitions/UpdateOrganizationReply" } }, "400": { @@ -4080,42 +3856,39 @@ "parameters": [ { "name": "id", - "description": "The id of the entity to update", "in": "path", "required": true, "type": "string" }, { - "name": "service", + "name": "organization", "in": "body", "required": true, "schema": { - "$ref": "#/definitions/UpdateService" + "$ref": "#/definitions/Organization" } }, { - "name": "dry_run", - "description": "If set, run validation and check that the service exists", + "name": "update_mask", "in": "query", "required": false, - "type": "boolean" + "type": "string" } ], "tags": [ - "Services" + "organization" ] } }, - "/v1/services/{id}/pause": { + "/v1/organizations/{id}/deactivate": { "post": { - "summary": "Pause Service", - "description": "Service pause action is allowed for the following status:\n - starting\n - healthy\n - degraded\n - unhealthy\n - resuming", - "operationId": "PauseService", + "summary": "Deactivate an organization", + "operationId": "DeactivateOrganization", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/PauseServiceReply" + "$ref": "#/definitions/DeactivateOrganizationReply" } }, "400": { @@ -4164,26 +3937,33 @@ "parameters": [ { "name": "id", - "description": "The id of the service to pause.", "in": "path", "required": true, "type": "string" - } - ], - "tags": [ - "Services" + }, + { + "name": "body", + "in": "body", + "required": true, + "schema": { + "type": "object" + } + } + ], + "tags": [ + "organization" ] } }, - "/v1/services/{id}/redeploy": { + "/v1/organizations/{id}/plan": { "post": { - "summary": "ReDeploy Service", - "operationId": "ReDeploy", + "summary": "Update organization plan", + "operationId": "UpdateOrganizationPlan", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/RedeployReply" + "$ref": "#/definitions/UpdateOrganizationPlanReply" } }, "400": { @@ -4237,29 +4017,33 @@ "type": "string" }, { - "name": "info", + "name": "body", "in": "body", "required": true, "schema": { - "$ref": "#/definitions/RedeployRequest.Info" + "type": "object", + "properties": { + "plan": { + "$ref": "#/definitions/Plan" + } + } } } ], "tags": [ - "Services" + "organization" ] } }, - "/v1/services/{id}/resume": { + "/v1/organizations/{id}/reactivate": { "post": { - "summary": "Resume Service", - "description": "Service resume action is allowed for the following status:\n - paused", - "operationId": "ResumeService", + "summary": "Reactivate an organization", + "operationId": "ReactivateOrganization", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/ResumeServiceReply" + "$ref": "#/definitions/ReactivateOrganizationReply" } }, "400": { @@ -4308,26 +4092,33 @@ "parameters": [ { "name": "id", - "description": "The id of the service to pause.", "in": "path", "required": true, "type": "string" + }, + { + "name": "body", + "in": "body", + "required": true, + "schema": { + "type": "object" + } } ], "tags": [ - "Services" + "organization" ] } }, - "/v1/deployment_events": { - "get": { - "summary": "List Deployment events", - "operationId": "ListDeploymentEvents", + "/v1/organizations/{id}/signup_qualification": { + "post": { + "summary": "Upsert organization's signup qualification", + "operationId": "UpsertSignupQualification", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/ListDeploymentEventsReply" + "$ref": "#/definitions/UpsertSignupQualificationReply" } }, "400": { @@ -4375,59 +4166,39 @@ }, "parameters": [ { - "name": "deployment_id", - "description": "(Optional) Filter on deployment id", - "in": "query", - "required": false, - "type": "string" - }, - { - "name": "types", - "description": "(Optional) Filter on deployment event types", - "in": "query", - "required": false, - "type": "array", - "items": { - "type": "string" - }, - "collectionFormat": "multi" - }, - { - "name": "limit", - "description": "(Optional) The number of items to return", - "in": "query", - "required": false, - "type": "string" - }, - { - "name": "offset", - "description": "(Optional) The offset in the list of item to return", - "in": "query", - "required": false, + "name": "id", + "in": "path", + "required": true, "type": "string" }, { - "name": "order", - "description": "(Optional) Sorts the list in the ascending or the descending order", - "in": "query", - "required": false, - "type": "string" + "name": "body", + "in": "body", + "required": true, + "schema": { + "type": "object", + "properties": { + "signup_qualification": { + "type": "object" + } + } + } } ], "tags": [ - "Deployments" + "organization" ] } }, - "/v1/deployments": { - "get": { - "summary": "List Deployments", - "operationId": "ListDeployments", + "/v1/organizations/{id}/switch": { + "post": { + "summary": "Switch organization context", + "operationId": "SwitchOrganization", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/ListDeploymentsReply" + "$ref": "#/definitions/LoginReply" } }, "400": { @@ -4475,77 +4246,40 @@ }, "parameters": [ { - "name": "app_id", - "description": "(Optional) Filter on application id", - "in": "query", - "required": false, - "type": "string" - }, - { - "name": "service_id", - "description": "(Optional) Filter on service id", - "in": "query", - "required": false, + "name": "id", + "in": "path", + "required": true, "type": "string" }, { - "name": "limit", - "description": "(Optional) The number of items to return", - "in": "query", - "required": false, - "type": "string" + "name": "body", + "in": "body", + "required": true, + "schema": { + "type": "object" + } }, { - "name": "offset", - "description": "(Optional) The offset in the list of item to return", - "in": "query", + "name": "seon-fp", + "description": "Seon Fingerprint", + "in": "header", "required": false, "type": "string" - }, - { - "name": "statuses", - "description": "(Optional) Filter on statuses", - "in": "query", - "required": false, - "type": "array", - "items": { - "type": "string", - "enum": [ - "PENDING", - "PROVISIONING", - "SCHEDULED", - "CANCELING", - "CANCELED", - "ALLOCATING", - "STARTING", - "HEALTHY", - "DEGRADED", - "UNHEALTHY", - "STOPPING", - "STOPPED", - "ERRORING", - "ERROR", - "STASHED", - "SLEEPING" - ] - }, - "collectionFormat": "multi" } ], "tags": [ - "Deployments" + "organization" ] } }, - "/v1/deployments/{id}": { - "get": { - "summary": "Get Deployment", - "operationId": "GetDeployment", + "/v1/sso/canny": { + "post": { + "operationId": "CannyAuth", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/GetDeploymentReply" + "$ref": "#/definitions/CannyAuthReply" } }, "400": { @@ -4593,28 +4327,27 @@ }, "parameters": [ { - "name": "id", - "description": "The id of the deployment", - "in": "path", + "name": "body", + "in": "body", "required": true, - "type": "string" + "schema": { + "$ref": "#/definitions/CannyAuthRequest" + } } ], "tags": [ - "Deployments" + "sso" ] } }, - "/v1/deployments/{id}/cancel": { + "/v1/sso/discourse": { "post": { - "summary": "Cancel Deployment", - "description": "Deployment cancellation is allowed for the following status:\n - pending\n - provisioning\n - scheduled", - "operationId": "CancelDeployment", + "operationId": "DiscourseAuth", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/CancelDeploymentReply" + "$ref": "#/definitions/DiscourseAuthReply" } }, "400": { @@ -4662,27 +4395,28 @@ }, "parameters": [ { - "name": "id", - "description": "The id of the deployment to cancel.", - "in": "path", + "name": "body", + "in": "body", "required": true, - "type": "string" + "schema": { + "$ref": "#/definitions/DiscourseAuthRequest" + } } ], "tags": [ - "Deployments" + "sso" ] } }, - "/v1/archives": { + "/v1/unscope_organization_token": { "post": { - "summary": "Create a signed URL to upload an archive.", - "operationId": "CreateArchive", + "summary": "UnscopeOrganizationToken removes the organization scope from a token. This\nendpoint is useful when a user wants to remove an organization: by\nunscoping the token first, the user can then delete the organization\nwithout invalidating his token.", + "operationId": "UnscopeOrganizationToken", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/CreateArchiveReply" + "$ref": "#/definitions/LoginReply" } }, "400": { @@ -4730,28 +4464,35 @@ }, "parameters": [ { - "name": "archive", + "name": "body", "in": "body", "required": true, "schema": { - "$ref": "#/definitions/CreateArchive" + "$ref": "#/definitions/UnscopeOrganizationTokenRequest" } + }, + { + "name": "seon-fp", + "description": "Seon Fingerprint", + "in": "header", + "required": false, + "type": "string" } ], "tags": [ - "Archives" + "organization" ] } }, - "/v1/quotas/capacity": { - "post": { - "summary": "Review Organization Capacity", - "operationId": "ReviewOrganizationCapacity", + "/v1/payment_methods": { + "get": { + "summary": "List payment methods", + "operationId": "ListPaymentMethods", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/ReviewOrganizationCapacityReply" + "$ref": "#/definitions/ListPaymentMethodsReply" } }, "400": { @@ -4799,28 +4540,52 @@ }, "parameters": [ { - "name": "body", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/ReviewOrganizationCapacityRequest" - } + "name": "limit", + "description": "(Optional) The number of items to return", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "offset", + "description": "(Optional) The offset in the list of item to return", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "statuses", + "description": "(Optional) Filter on payment method statuses", + "in": "query", + "required": false, + "type": "array", + "items": { + "type": "string", + "enum": [ + "INVALID", + "CREATED", + "AUTHORIZED", + "DECLINED", + "CANCELED", + "EXPIRED", + "UNCHECKED" + ] + }, + "collectionFormat": "multi" } ], "tags": [ - "Quotas" + "PaymentMethods" ] - } - }, - "/v1/regional_deployment_events": { - "get": { - "summary": "List Regional Deployment events", - "operationId": "ListRegionalDeploymentEvents", + }, + "post": { + "summary": "Create payment authorization", + "operationId": "CreatePaymentAuthorization", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/ListRegionalDeploymentEventsReply" + "$ref": "#/definitions/CreatePaymentAuthorizationReply" } }, "400": { @@ -4868,59 +4633,28 @@ }, "parameters": [ { - "name": "regional_deployment_id", - "description": "(Optional) Filter on regional deployment id", - "in": "query", - "required": false, - "type": "string" - }, - { - "name": "types", - "description": "(Optional) Filter on regional deployment event types", - "in": "query", - "required": false, - "type": "array", - "items": { - "type": "string" - }, - "collectionFormat": "multi" - }, - { - "name": "limit", - "description": "(Optional) The number of items to return", - "in": "query", - "required": false, - "type": "string" - }, - { - "name": "offset", - "description": "(Optional) The offset in the list of item to return", - "in": "query", - "required": false, - "type": "string" - }, - { - "name": "order", - "description": "(Optional) Sorts the list in the ascending or the descending order", - "in": "query", - "required": false, - "type": "string" + "name": "body", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/CreatePaymentAuthorizationRequest" + } } ], "tags": [ - "RegionalDeployments" + "PaymentMethods" ] } }, - "/v1/regional_deployments": { + "/v1/payment_methods/{id}": { "get": { - "summary": "Experimental: List regional deployments\nUse at your own risk", - "operationId": "ListRegionalDeployments", + "summary": "Get payment method", + "operationId": "GetPaymentMethod", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/ListRegionalDeploymentsReply" + "$ref": "#/definitions/GetPaymentMethodReply" } }, "400": { @@ -4968,41 +4702,24 @@ }, "parameters": [ { - "name": "deployment_id", - "description": "(Optional) Filter on deployment id", - "in": "query", - "required": false, - "type": "string" - }, - { - "name": "limit", - "description": "(Optional) The number of items to return", - "in": "query", - "required": false, - "type": "string" - }, - { - "name": "offset", - "description": "(Optional) The offset in the list of item to return", - "in": "query", - "required": false, + "name": "id", + "in": "path", + "required": true, "type": "string" } ], "tags": [ - "RegionalDeployments" + "PaymentMethods" ] - } - }, - "/v1/regional_deployments/{id}": { - "get": { - "summary": "Experimental: Get regional deployment\nUse at your own risk", - "operationId": "GetRegionalDeployment", + }, + "delete": { + "summary": "Delete payment method", + "operationId": "DeletePaymentMethod", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/GetRegionalDeploymentReply" + "$ref": "#/definitions/DeletePaymentMethodReply" } }, "400": { @@ -5051,25 +4768,25 @@ "parameters": [ { "name": "id", - "description": "The id of the regional deployment", "in": "path", "required": true, "type": "string" } ], "tags": [ - "RegionalDeployments" + "PaymentMethods" ] } }, - "/v1/git/branches": { - "get": { - "operationId": "ListBranches", + "/v1/payment_methods/{id}/confirm": { + "post": { + "summary": "Confirm payment authorization", + "operationId": "ConfirmPaymentAuthorization", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/kgitproxy.ListBranchesReply" + "$ref": "#/definitions/ConfirmPaymentAuthorizationReply" } }, "400": { @@ -5117,47 +4834,34 @@ }, "parameters": [ { - "name": "repository_id", - "description": "(Optional) Filter on one repository.", - "in": "query", - "required": false, - "type": "string" - }, - { - "name": "name", - "description": "(Optional) Filter on branch name using a fuzzy search.\nRepository filter is required to enable this filter.", - "in": "query", - "required": false, - "type": "string" - }, - { - "name": "limit", - "description": "(Optional) The number of items to return.", - "in": "query", - "required": false, + "name": "id", + "in": "path", + "required": true, "type": "string" }, { - "name": "offset", - "description": "(Optional) The offset in the list of item to return.", - "in": "query", - "required": false, - "type": "string" + "name": "body", + "in": "body", + "required": true, + "schema": { + "type": "object" + } } ], "tags": [ - "Repositories" + "PaymentMethods" ] } }, - "/v1/git/repositories": { + "/v1/organizations/{organization_id}/summary": { "get": { - "operationId": "ListRepositories", + "summary": "Get organization usage summary", + "operationId": "GetOrganizationSummary", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/kgitproxy.ListRepositoriesReply" + "$ref": "#/definitions/GetOrganizationSummaryReply" } }, "400": { @@ -5205,47 +4909,27 @@ }, "parameters": [ { - "name": "name", - "description": "(Optional) Filter on repository name using a fuzzy search.", - "in": "query", - "required": false, - "type": "string" - }, - { - "name": "name_search_op", - "description": "(Optional) Define search operation for repository name. Accept either \"fuzzy\" or \"equality\", use \"fuzzy\" by default.", - "in": "query", - "required": false, - "type": "string" - }, - { - "name": "limit", - "description": "(Optional) The number of items to return.", - "in": "query", - "required": false, - "type": "string" - }, - { - "name": "offset", - "description": "(Optional) The offset in the list of item to return.", - "in": "query", - "required": false, + "name": "organization_id", + "description": "Organization ID", + "in": "path", + "required": true, "type": "string" } ], "tags": [ - "Repositories" + "Summary" ] } }, - "/v1/git/sync/organization/{organization_id}": { - "post": { - "operationId": "ResyncOrganization", + "/v1/subscriptions/{id}": { + "get": { + "summary": "Get Subscription", + "operationId": "GetSubscription", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/kgitproxy.ResyncOrganizationReply" + "$ref": "#/definitions/GetSubscriptionReply" } }, "400": { @@ -5293,14 +4977,15 @@ }, "parameters": [ { - "name": "organization_id", + "name": "id", + "description": "The id of the instance", "in": "path", "required": true, "type": "string" } ], "tags": [ - "Repositories" + "Subscriptions" ] } }, @@ -5621,14 +5306,24 @@ ] } }, - "/v1/streams/metrics": { + "/v1/streams/logs/tail": { "get": { - "operationId": "GetMetrics", + "summary": "Tails logs", + "operationId": "TailLogs", "responses": { "200": { - "description": "A successful response.", + "description": "A successful response.(streaming responses)", "schema": { - "$ref": "#/definitions/GetMetricsReply" + "type": "object", + "properties": { + "result": { + "$ref": "#/definitions/LogEntry" + }, + "error": { + "$ref": "#/definitions/google.rpc.Status" + } + }, + "title": "Stream result of LogEntry" } }, "400": { @@ -5676,86 +5371,74 @@ }, "parameters": [ { - "name": "service_id", - "description": "ID of the service to query instances metrics for. Ignored if instance_id is set.", + "name": "type", "in": "query", "required": false, "type": "string" }, { - "name": "instance_id", - "description": "ID of the instance to query metrics for.", + "name": "app_id", "in": "query", "required": false, "type": "string" }, { - "name": "name", - "description": "Metric to query.", + "name": "service_id", "in": "query", "required": false, - "type": "string", - "enum": [ - "UNKNOWN", - "CPU_TOTAL_PERCENT", - "MEM_RSS", - "HTTP_THROUGHPUT", - "HTTP_RESPONSE_TIME_50P", - "HTTP_RESPONSE_TIME_90P", - "HTTP_RESPONSE_TIME_99P", - "HTTP_RESPONSE_TIME_MAX", - "PUBLIC_DATA_TRANSFER_IN", - "PUBLIC_DATA_TRANSFER_OUT" - ], - "default": "UNKNOWN" + "type": "string" }, { - "name": "start", - "description": "(Optional) Defaults to an hour prior to end.", + "name": "deployment_id", "in": "query", "required": false, - "type": "string", - "format": "date-time" + "type": "string" }, { - "name": "end", - "description": "(Optional) Defaults to now.", + "name": "regional_deployment_id", "in": "query", "required": false, - "type": "string", - "format": "date-time" + "type": "string" }, { - "name": "step", - "description": "(Optional) Must be a valid duration in hours (h) or minutes (m). Defaulst to 5m.", + "name": "instance_id", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "stream", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "start", "in": "query", "required": false, "type": "string" + }, + { + "name": "limit", + "in": "query", + "required": false, + "type": "string", + "format": "int64" } ], "tags": [ - "Metrics" + "Logs" ] } }, - "/v1/streams/logs/tail": { + "/v1/streams/metrics": { "get": { - "summary": "Tails logs", - "operationId": "TailLogs", + "operationId": "GetMetrics", "responses": { "200": { - "description": "A successful response.(streaming responses)", + "description": "A successful response.", "schema": { - "type": "object", - "properties": { - "result": { - "$ref": "#/definitions/LogEntry" - }, - "error": { - "$ref": "#/definitions/google.rpc.Status" - } - }, - "title": "Stream result of LogEntry" + "$ref": "#/definitions/GetMetricsReply" } }, "400": { @@ -5802,154 +5485,114 @@ } }, "parameters": [ - { - "name": "type", - "in": "query", - "required": false, - "type": "string" - }, - { - "name": "app_id", - "in": "query", - "required": false, - "type": "string" - }, { "name": "service_id", + "description": "ID of the service to query instances metrics for. Ignored if instance_id is set.", "in": "query", "required": false, "type": "string" }, { - "name": "deployment_id", + "name": "instance_id", + "description": "ID of the instance to query metrics for.", "in": "query", "required": false, "type": "string" }, { - "name": "regional_deployment_id", + "name": "name", + "description": "Metric to query.", "in": "query", "required": false, - "type": "string" + "type": "string", + "enum": [ + "UNKNOWN", + "CPU_TOTAL_PERCENT", + "MEM_RSS", + "HTTP_THROUGHPUT", + "HTTP_RESPONSE_TIME_50P", + "HTTP_RESPONSE_TIME_90P", + "HTTP_RESPONSE_TIME_99P", + "HTTP_RESPONSE_TIME_MAX", + "PUBLIC_DATA_TRANSFER_IN", + "PUBLIC_DATA_TRANSFER_OUT" + ], + "default": "UNKNOWN" }, { - "name": "instance_id", + "name": "start", + "description": "(Optional) Defaults to an hour prior to end.", "in": "query", "required": false, - "type": "string" + "type": "string", + "format": "date-time" }, { - "name": "stream", + "name": "end", + "description": "(Optional) Defaults to now.", "in": "query", "required": false, - "type": "string" + "type": "string", + "format": "date-time" }, { - "name": "start", + "name": "step", + "description": "(Optional) Must be a valid duration in hours (h) or minutes (m). Defaulst to 5m.", "in": "query", "required": false, "type": "string" - }, - { - "name": "limit", - "in": "query", - "required": false, - "type": "string", - "format": "int64" } ], "tags": [ - "Logs" + "Metrics" ] } }, - "/v1/catalog/instances": { - "get": { - "summary": "List Instance", - "operationId": "ListCatalogInstances", + "/v1/provisioning/{deployment_id}/status/{stage}/{attempt}": { + "post": { + "summary": "Create an attempt for a stage", + "operationId": "CreateStageAttempt", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/ListCatalogInstancesReply" + "$ref": "#/definitions/CreateStageAttemptReply" } }, - "default": { - "description": "An unexpected error response.", + "400": { + "description": "Validation error", "schema": { - "$ref": "#/definitions/google.rpc.Status" + "$ref": "#/definitions/ErrorWithFields" } - } - }, - "parameters": [ - { - "name": "limit", - "description": "(Optional) The number of items to return", - "in": "query", - "required": false, - "type": "string" }, - { - "name": "offset", - "description": "(Optional) The offset in the list of item to return", - "in": "query", - "required": false, - "type": "string" + "401": { + "description": "Returned when the token is not valid.", + "schema": { + "$ref": "#/definitions/Error" + } }, - { - "name": "id", - "description": "(Optional) A filter for instances", - "in": "query", - "required": false, - "type": "string" - } - ], - "tags": [ - "CatalogInstances" - ] - } - }, - "/v1/catalog/instances/{id}": { - "get": { - "summary": "Get Instance", - "operationId": "GetCatalogInstance", - "responses": { - "200": { - "description": "A successful response.", + "403": { + "description": "Returned when the user does not have permission to access the resource.", "schema": { - "$ref": "#/definitions/GetCatalogInstanceReply" + "$ref": "#/definitions/Error" } }, - "default": { - "description": "An unexpected error response.", + "404": { + "description": "Returned when the resource does not exist.", "schema": { - "$ref": "#/definitions/google.rpc.Status" + "$ref": "#/definitions/Error" } - } - }, - "parameters": [ - { - "name": "id", - "description": "The name of the instance", - "in": "path", - "required": true, - "type": "string" - } - ], - "tags": [ - "CatalogInstances" - ] - } - }, - "/v1/catalog/regions": { - "get": { - "summary": "List Region", - "operationId": "ListRegions", - "responses": { - "200": { - "description": "A successful response.", + }, + "500": { + "description": "Returned in case of server error.", "schema": { - "$ref": "#/definitions/ListRegionsReply" + "$ref": "#/definitions/Error" + } + }, + "503": { + "description": "Service is unavailable.", + "schema": { + "$ref": "#/definitions/Error" } }, "default": { @@ -5961,96 +5604,68 @@ }, "parameters": [ { - "name": "limit", - "description": "(Optional) The number of items to return", - "in": "query", - "required": false, + "name": "deployment_id", + "in": "path", + "required": true, "type": "string" }, { - "name": "offset", - "description": "(Optional) The offset in the list of item to return", - "in": "query", - "required": false, + "name": "stage", + "in": "path", + "required": true, "type": "string" }, { - "name": "id", - "description": "(Optional) A filter for regions", - "in": "query", - "required": false, + "name": "attempt", + "in": "path", + "required": true, "type": "string" - } - ], - "tags": [ - "CatalogRegions" - ] - } - }, - "/v1/catalog/regions/{id}": { - "get": { - "summary": "Get Region", - "operationId": "GetRegion", - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "$ref": "#/definitions/GetRegionReply" - } }, - "default": { - "description": "An unexpected error response.", - "schema": { - "$ref": "#/definitions/google.rpc.Status" - } - } - }, - "parameters": [ { - "name": "id", - "description": "The name of the region", - "in": "path", + "name": "body", + "in": "body", "required": true, - "type": "string" - } - ], - "tags": [ - "CatalogRegions" - ] - } - }, - "/v1/catalog/datacenters": { - "get": { - "summary": "List datacenters", - "operationId": "ListDatacenters", - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "$ref": "#/definitions/ListDatacentersReply" - } - }, - "default": { - "description": "An unexpected error response.", "schema": { - "$ref": "#/definitions/google.rpc.Status" + "type": "object", + "properties": { + "secret": { + "type": "string" + }, + "status": { + "$ref": "#/definitions/DeploymentProvisioningInfo.Stage.Status" + }, + "started_at": { + "type": "string", + "format": "date-time" + }, + "messages": { + "type": "array", + "items": { + "type": "string" + } + }, + "steps": { + "type": "array", + "items": { + "type": "string" + } + } + } } } - }, + ], "tags": [ - "CatalogDatacenters" + "Provisioning" ] - } - }, - "/v1/credentials": { - "get": { - "summary": "List credentials", - "operationId": "ListCredentials", + }, + "patch": { + "summary": "Declare stage progress", + "operationId": "DeclareStageProgress", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/ListCredentialsReply" + "$ref": "#/definitions/DeclareStageProgressReply" } }, "400": { @@ -6098,66 +5713,73 @@ }, "parameters": [ { - "name": "type", - "description": "(Optional) A filter for type", - "in": "query", - "required": false, - "type": "string", - "enum": [ - "INVALID", - "USER", - "ORGANIZATION" - ], - "default": "INVALID" - }, - { - "name": "name", - "description": "(Optional) A filter for name", - "in": "query", - "required": false, - "type": "string" - }, - { - "name": "organization_id", - "description": "(Optional) Filter for an organization", - "in": "query", - "required": false, + "name": "deployment_id", + "in": "path", + "required": true, "type": "string" }, { - "name": "user_id", - "description": "(Optional) Filter for an user", - "in": "query", - "required": false, + "name": "stage", + "in": "path", + "required": true, "type": "string" }, { - "name": "limit", - "description": "(Optional) The number of items to return", - "in": "query", - "required": false, + "name": "attempt", + "in": "path", + "required": true, "type": "string" }, { - "name": "offset", - "description": "(Optional) The offset in the list of item to return", - "in": "query", - "required": false, - "type": "string" + "name": "body", + "in": "body", + "required": true, + "schema": { + "type": "object", + "properties": { + "secret": { + "type": "string" + }, + "status": { + "$ref": "#/definitions/DeploymentProvisioningInfo.Stage.Status" + }, + "finished_at": { + "type": "string", + "format": "date-time" + }, + "messages": { + "type": "array", + "items": { + "type": "string" + } + }, + "image_pushed": { + "type": "boolean" + }, + "internal_failure": { + "type": "boolean" + }, + "retryable_failure": { + "type": "boolean" + } + } + } } ], "tags": [ - "Credentials" + "Provisioning" ] - }, - "post": { - "summary": "Create credential", - "operationId": "CreateCredential", + } + }, + "/v1/provisioning/{deployment_id}/status/{stage}/{attempt}/{step}": { + "patch": { + "summary": "Declare step progress", + "operationId": "DeclareStepProgress", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/CreateCredentialReply" + "$ref": "#/definitions/DeclareStepProgressReply" } }, "400": { @@ -6205,28 +5827,74 @@ }, "parameters": [ { - "name": "credential", + "name": "deployment_id", + "in": "path", + "required": true, + "type": "string" + }, + { + "name": "stage", + "in": "path", + "required": true, + "type": "string" + }, + { + "name": "attempt", + "in": "path", + "required": true, + "type": "string" + }, + { + "name": "step", + "in": "path", + "required": true, + "type": "string" + }, + { + "name": "body", "in": "body", "required": true, "schema": { - "$ref": "#/definitions/CreateCredential" + "type": "object", + "properties": { + "secret": { + "type": "string" + }, + "status": { + "$ref": "#/definitions/DeploymentProvisioningInfo.Stage.Status" + }, + "started_at": { + "type": "string", + "format": "date-time" + }, + "finished_at": { + "type": "string", + "format": "date-time" + }, + "messages": { + "type": "array", + "items": { + "type": "string" + } + } + } } } ], "tags": [ - "Credentials" + "Provisioning" ] } }, - "/v1/credentials/{id}": { - "get": { - "summary": "Get credential", - "operationId": "GetCredential", + "/v1/quotas/capacity": { + "post": { + "summary": "Review Organization Capacity", + "operationId": "ReviewOrganizationCapacity", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/GetCredentialReply" + "$ref": "#/definitions/ReviewOrganizationCapacityReply" } }, "400": { @@ -6274,24 +5942,28 @@ }, "parameters": [ { - "name": "id", - "in": "path", + "name": "body", + "in": "body", "required": true, - "type": "string" + "schema": { + "$ref": "#/definitions/ReviewOrganizationCapacityRequest" + } } ], "tags": [ - "Credentials" + "Quotas" ] - }, - "delete": { - "summary": "Delete credential", - "operationId": "DeleteCredential", + } + }, + "/v1/deployment_events": { + "get": { + "summary": "List Deployment events", + "operationId": "ListDeploymentEvents", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/DeleteCredentialReply" + "$ref": "#/definitions/ListDeploymentEventsReply" } }, "400": { @@ -6339,103 +6011,59 @@ }, "parameters": [ { - "name": "id", - "in": "path", - "required": true, + "name": "deployment_id", + "description": "(Optional) Filter on deployment id", + "in": "query", + "required": false, "type": "string" - } - ], - "tags": [ - "Credentials" - ] - }, - "put": { - "summary": "Update credential", - "operationId": "UpdateCredential", - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "$ref": "#/definitions/UpdateCredentialReply" - } - }, - "400": { - "description": "Validation error", - "schema": { - "$ref": "#/definitions/ErrorWithFields" - } - }, - "401": { - "description": "Returned when the token is not valid.", - "schema": { - "$ref": "#/definitions/Error" - } - }, - "403": { - "description": "Returned when the user does not have permission to access the resource.", - "schema": { - "$ref": "#/definitions/Error" - } - }, - "404": { - "description": "Returned when the resource does not exist.", - "schema": { - "$ref": "#/definitions/Error" - } - }, - "500": { - "description": "Returned in case of server error.", - "schema": { - "$ref": "#/definitions/Error" - } }, - "503": { - "description": "Service is unavailable.", - "schema": { - "$ref": "#/definitions/Error" - } + { + "name": "types", + "description": "(Optional) Filter on deployment event types", + "in": "query", + "required": false, + "type": "array", + "items": { + "type": "string" + }, + "collectionFormat": "multi" }, - "default": { - "description": "An unexpected error response.", - "schema": { - "$ref": "#/definitions/google.rpc.Status" - } - } - }, - "parameters": [ { - "name": "id", - "in": "path", - "required": true, + "name": "limit", + "description": "(Optional) The number of items to return", + "in": "query", + "required": false, "type": "string" }, { - "name": "credential", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/Credential" - } + "name": "offset", + "description": "(Optional) The offset in the list of item to return", + "in": "query", + "required": false, + "type": "string" }, { - "name": "update_mask", + "name": "order", + "description": "(Optional) Sorts the list in the ascending or the descending order", "in": "query", "required": false, "type": "string" } ], "tags": [ - "Credentials" + "Deployments" ] - }, - "patch": { - "summary": "Update credential", - "operationId": "UpdateCredential2", + } + }, + "/v1/deployments": { + "get": { + "summary": "List Deployments", + "operationId": "ListDeployments", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/UpdateCredentialReply" + "$ref": "#/definitions/ListDeploymentsReply" } }, "400": { @@ -6483,40 +6111,77 @@ }, "parameters": [ { - "name": "id", - "in": "path", - "required": true, + "name": "app_id", + "description": "(Optional) Filter on application id", + "in": "query", + "required": false, "type": "string" }, { - "name": "credential", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/Credential" - } + "name": "service_id", + "description": "(Optional) Filter on service id", + "in": "query", + "required": false, + "type": "string" }, { - "name": "update_mask", + "name": "limit", + "description": "(Optional) The number of items to return", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "offset", + "description": "(Optional) The offset in the list of item to return", "in": "query", "required": false, "type": "string" + }, + { + "name": "statuses", + "description": "(Optional) Filter on statuses", + "in": "query", + "required": false, + "type": "array", + "items": { + "type": "string", + "enum": [ + "PENDING", + "PROVISIONING", + "SCHEDULED", + "CANCELING", + "CANCELED", + "ALLOCATING", + "STARTING", + "HEALTHY", + "DEGRADED", + "UNHEALTHY", + "STOPPING", + "STOPPED", + "ERRORING", + "ERROR", + "STASHED", + "SLEEPING" + ] + }, + "collectionFormat": "multi" } ], "tags": [ - "Credentials" + "Deployments" ] } }, - "/v1/intercom/profile": { + "/v1/deployments/{id}": { "get": { - "summary": "Get intercom profile", - "operationId": "GetIntercomProfile", + "summary": "Get Deployment", + "operationId": "GetDeployment", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/GetIntercomProfileReply" + "$ref": "#/definitions/GetDeploymentReply" } }, "400": { @@ -6562,20 +6227,30 @@ } } }, + "parameters": [ + { + "name": "id", + "description": "The id of the deployment", + "in": "path", + "required": true, + "type": "string" + } + ], "tags": [ - "Intercom" + "Deployments" ] } }, - "/v1/users/{id}": { - "delete": { - "summary": "Delete user", - "operationId": "DeleteUser", + "/v1/deployments/{id}/cancel": { + "post": { + "summary": "Cancel Deployment", + "description": "Deployment cancellation is allowed for the following status:\n - pending\n - provisioning\n - scheduled", + "operationId": "CancelDeployment", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/DeleteUserReply" + "$ref": "#/definitions/CancelDeploymentReply" } }, "400": { @@ -6624,26 +6299,26 @@ "parameters": [ { "name": "id", - "description": "The id of the user", + "description": "The id of the deployment to cancel.", "in": "path", "required": true, "type": "string" } ], "tags": [ - "Users" + "Deployments" ] } }, - "/v1/organization_members": { + "/v1/docker-helper/verify": { "get": { - "summary": "List organization members", - "operationId": "ListOrganizationMembers", + "summary": "Verify if a docker image is reachable", + "operationId": "VerifyDockerImage", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/ListOrganizationMembersReply" + "$ref": "#/definitions/VerifyDockerImageReply" } }, "400": { @@ -6691,84 +6366,75 @@ }, "parameters": [ { - "name": "limit", - "description": "(Optional) The number of items to return", - "in": "query", - "required": false, - "type": "string" - }, - { - "name": "offset", - "description": "(Optional) The offset in the list of item to return", - "in": "query", - "required": false, - "type": "string" - }, - { - "name": "organization_id", - "description": "(Optional) Filter for an organization", + "name": "image", + "description": "The full image uri to be verified", "in": "query", "required": false, "type": "string" }, { - "name": "user_id", - "description": "(Optional) Filter for an user", + "name": "secret_id", + "description": "(Optional) the id of the secret to use to authenticate to the registry", "in": "query", "required": false, "type": "string" } ], "tags": [ - "OrganizationMembers" + "DockerHelper" ] } }, - "/v1/organization_members/{id}": { - "delete": { - "summary": "Remove an organization member", - "operationId": "RemoveOrganizationMember", + "/v1/usages": { + "get": { + "summary": "Get organization usage", + "operationId": "GetOrganizationUsage", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/RemoveOrganizationMemberReply" - } - }, - "400": { - "description": "Validation error", - "schema": { - "$ref": "#/definitions/ErrorWithFields" - } - }, - "401": { - "description": "Returned when the token is not valid.", - "schema": { - "$ref": "#/definitions/Error" - } - }, - "403": { - "description": "Returned when the user does not have permission to access the resource.", - "schema": { - "$ref": "#/definitions/Error" - } - }, - "404": { - "description": "Returned when the resource does not exist.", - "schema": { - "$ref": "#/definitions/Error" + "$ref": "#/definitions/GetOrganizationUsageReply" } }, - "500": { - "description": "Returned in case of server error.", + "default": { + "description": "An unexpected error response.", "schema": { - "$ref": "#/definitions/Error" + "$ref": "#/definitions/google.rpc.Status" } + } + }, + "parameters": [ + { + "name": "starting_time", + "description": "The starting time of the period to get data from", + "in": "query", + "required": false, + "type": "string", + "format": "date-time" }, - "503": { - "description": "Service is unavailable.", + { + "name": "ending_time", + "description": "The ending time of the period to get data from", + "in": "query", + "required": false, + "type": "string", + "format": "date-time" + } + ], + "tags": [ + "Usages" + ] + } + }, + "/v1/usages/details": { + "get": { + "summary": "Get organization usage details", + "operationId": "GetOrganizationUsageDetails", + "responses": { + "200": { + "description": "A successful response.", "schema": { - "$ref": "#/definitions/Error" + "$ref": "#/definitions/GetOrganizationUsageDetailsReply" } }, "default": { @@ -6780,26 +6446,64 @@ }, "parameters": [ { - "name": "id", - "in": "path", - "required": true, + "name": "starting_time", + "description": "The starting time of the period to get data from", + "in": "query", + "required": false, + "type": "string", + "format": "date-time" + }, + { + "name": "ending_time", + "description": "The ending time of the period to get data from", + "in": "query", + "required": false, + "type": "string", + "format": "date-time" + }, + { + "name": "limit", + "description": "(Optional) The number of items to return", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "offset", + "description": "(Optional) The offset in the list of item to return", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "order", + "description": "(Optional) Sorts the list in the ascending or the descending order", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "Accept", + "description": "If defined with the value 'text/csv', a csv file is returned", + "in": "header", + "required": false, "type": "string" } ], "tags": [ - "OrganizationMembers" + "Usages" ] } }, - "/v1/organization_confirmations/{id}": { - "post": { - "summary": "Confirm organization action", - "operationId": "ConfirmOrganizationAction", + "/v1/snapshots": { + "get": { + "summary": "List all Snapshots", + "operationId": "ListSnapshots", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/ConfirmOrganizationActionReply" + "$ref": "#/definitions/ListSnapshotsReply" } }, "400": { @@ -6847,26 +6551,65 @@ }, "parameters": [ { - "name": "id", - "in": "path", - "required": true, + "name": "limit", + "description": "(Optional) The number of items to return", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "offset", + "description": "(Optional) The offset in the list of item to return", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "organization_id", + "description": "(Optional) Filter by organization_id", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "statuses", + "description": "(Optional) Filter by status\n\n - SNAPSHOT_STATUS_INVALID: zero value, invalid\n - SNAPSHOT_STATUS_CREATING: the snapshot is being created\n - SNAPSHOT_STATUS_AVAILABLE: the snapshot is complete and available\n - SNAPSHOT_STATUS_MIGRATING: the snapshot is being migrated\n - SNAPSHOT_STATUS_DELETING: the snapshot is being deleted\n - SNAPSHOT_STATUS_DELETED: the snapshot is deleted", + "in": "query", + "required": false, + "type": "array", + "items": { + "type": "string", + "enum": [ + "SNAPSHOT_STATUS_INVALID", + "SNAPSHOT_STATUS_CREATING", + "SNAPSHOT_STATUS_AVAILABLE", + "SNAPSHOT_STATUS_MIGRATING", + "SNAPSHOT_STATUS_DELETING", + "SNAPSHOT_STATUS_DELETED" + ] + }, + "collectionFormat": "multi" + }, + { + "name": "region", + "description": "(Optional) A filter for the region", + "in": "query", + "required": false, "type": "string" } ], "tags": [ - "OrganizationConfirmations" + "Snapshots" ] - } - }, - "/v1/account/login": { + }, "post": { - "summary": "Login user", - "operationId": "Login", + "summary": "Create a Snapshot", + "operationId": "CreateSnapshot", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/LoginReply" + "$ref": "#/definitions/CreateSnapshotReply" } }, "400": { @@ -6918,31 +6661,24 @@ "in": "body", "required": true, "schema": { - "$ref": "#/definitions/LoginRequest" + "$ref": "#/definitions/CreateSnapshotRequest" } - }, - { - "name": "seon-fp", - "description": "Seon Fingerprint", - "in": "header", - "required": false, - "type": "string" } ], "tags": [ - "Sessions" + "Snapshots" ] } }, - "/v1/account/logout": { - "delete": { - "summary": "Logout user", - "operationId": "Logout", + "/v1/snapshots/{id}": { + "get": { + "summary": "Get a Snapshot", + "operationId": "GetSnapshot", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/LogoutReply" + "$ref": "#/definitions/GetSnapshotReply" } }, "400": { @@ -6988,20 +6724,26 @@ } } }, + "parameters": [ + { + "name": "id", + "in": "path", + "required": true, + "type": "string" + } + ], "tags": [ - "Sessions" + "Snapshots" ] - } - }, - "/v1/account/refresh": { - "put": { - "summary": "Refresh token", - "operationId": "RefreshToken", + }, + "delete": { + "summary": "Delete a Snapshot", + "operationId": "DeleteSnapshot", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/LoginReply" + "$ref": "#/definitions/DeleteSnapshotReply" } }, "400": { @@ -7047,21 +6789,26 @@ } } }, + "parameters": [ + { + "name": "id", + "in": "path", + "required": true, + "type": "string" + } + ], "tags": [ - "Sessions" + "Snapshots" ] - } - }, - "/v1/account/session": { + }, "post": { - "summary": "New session", - "description": "Creates a new session without an organization for current user.\nNOTE: If you want a session linked to another organization, please use \"Switch organization\".", - "operationId": "NewSession", + "summary": "Update a Snapshot", + "operationId": "UpdateSnapshot", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/LoginReply" + "$ref": "#/definitions/UpdateSnapshotReply" } }, "400": { @@ -7107,20 +6854,43 @@ } } }, - "tags": [ - "Sessions" - ] - } - }, - "/v1/subscriptions/{id}": { - "get": { - "summary": "Get Subscription", - "operationId": "GetSubscription", - "responses": { - "200": { + "parameters": [ + { + "name": "id", + "description": "The id of the snapshot", + "in": "path", + "required": true, + "type": "string" + }, + { + "name": "body", + "in": "body", + "required": true, + "schema": { + "type": "object", + "properties": { + "name": { + "type": "string", + "title": "Change the name of the snapshot" + } + } + } + } + ], + "tags": [ + "Snapshots" + ] + } + }, + "/v1/instance_events": { + "get": { + "summary": "List Instance events", + "operationId": "ListInstanceEvents", + "responses": { + "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/GetSubscriptionReply" + "$ref": "#/definitions/ListInstanceEventsReply" } }, "400": { @@ -7168,27 +6938,63 @@ }, "parameters": [ { - "name": "id", - "description": "The id of the instance", - "in": "path", - "required": true, + "name": "instance_ids", + "description": "(Optional) Filter on list of instance id", + "in": "query", + "required": false, + "type": "array", + "items": { + "type": "string" + }, + "collectionFormat": "multi" + }, + { + "name": "types", + "description": "(Optional) Filter on instance event types", + "in": "query", + "required": false, + "type": "array", + "items": { + "type": "string" + }, + "collectionFormat": "multi" + }, + { + "name": "limit", + "description": "(Optional) The number of items to return", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "offset", + "description": "(Optional) The offset in the list of item to return", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "order", + "description": "(Optional) Sorts the list in the ascending or the descending order", + "in": "query", + "required": false, "type": "string" } ], "tags": [ - "Subscriptions" + "Instances" ] } }, - "/v1/payment_methods": { + "/v1/instances": { "get": { - "summary": "List payment methods", - "operationId": "ListPaymentMethods", + "summary": "List Instances", + "operationId": "ListInstances", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/ListPaymentMethodsReply" + "$ref": "#/definitions/ListInstancesReply" } }, "400": { @@ -7236,52 +7042,120 @@ }, "parameters": [ { - "name": "limit", - "description": "(Optional) The number of items to return", + "name": "app_id", + "description": "(Optional) Filter on application id", "in": "query", "required": false, "type": "string" }, { - "name": "offset", - "description": "(Optional) The offset in the list of item to return", + "name": "service_id", + "description": "(Optional) Filter on service id", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "deployment_id", + "description": "(Optional) Filter on deployment id", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "regional_deployment_id", + "description": "(Optional) Filter on regional deployment id", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "allocation_id", + "description": "(Optional) Filter on allocation id", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "replica_index", + "description": "(Optional) Filter on replica index", "in": "query", "required": false, "type": "string" }, { "name": "statuses", - "description": "(Optional) Filter on payment method statuses", + "description": "(Optional) Filter on instance statuses", "in": "query", "required": false, "type": "array", "items": { "type": "string", "enum": [ - "INVALID", - "CREATED", - "AUTHORIZED", - "DECLINED", - "CANCELED", - "EXPIRED", - "UNCHECKED" + "ALLOCATING", + "STARTING", + "HEALTHY", + "UNHEALTHY", + "STOPPING", + "STOPPED", + "ERROR", + "SLEEPING" ] }, "collectionFormat": "multi" + }, + { + "name": "limit", + "description": "(Optional) The number of items to return", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "offset", + "description": "(Optional) The offset in the list of item to return", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "order", + "description": "(Optional) Sorts the list in the ascending or the descending order", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "starting_time", + "description": "(Optional) The starting time of the period of running instance", + "in": "query", + "required": false, + "type": "string", + "format": "date-time" + }, + { + "name": "ending_time", + "description": "(Optional) The ending time of the period of running instance", + "in": "query", + "required": false, + "type": "string", + "format": "date-time" } ], "tags": [ - "PaymentMethods" + "Instances" ] - }, - "post": { - "summary": "Create payment authorization", - "operationId": "CreatePaymentAuthorization", + } + }, + "/v1/instances/{id}": { + "get": { + "summary": "Get Instance", + "operationId": "GetInstance", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/CreatePaymentAuthorizationReply" + "$ref": "#/definitions/GetInstanceReply" } }, "400": { @@ -7329,28 +7203,27 @@ }, "parameters": [ { - "name": "body", - "in": "body", + "name": "id", + "description": "The id of the instance", + "in": "path", "required": true, - "schema": { - "$ref": "#/definitions/CreatePaymentAuthorizationRequest" - } + "type": "string" } ], "tags": [ - "PaymentMethods" + "Instances" ] } }, - "/v1/payment_methods/{id}": { + "/v1/app_events": { "get": { - "summary": "Get payment method", - "operationId": "GetPaymentMethod", + "summary": "List App events", + "operationId": "ListAppEvents", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/GetPaymentMethodReply" + "$ref": "#/definitions/ListAppEventsReply" } }, "400": { @@ -7398,24 +7271,59 @@ }, "parameters": [ { - "name": "id", - "in": "path", - "required": true, + "name": "app_id", + "description": "(Optional) Filter on app id", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "types", + "description": "(Optional) Filter on app event types", + "in": "query", + "required": false, + "type": "array", + "items": { + "type": "string" + }, + "collectionFormat": "multi" + }, + { + "name": "limit", + "description": "(Optional) The number of items to return", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "offset", + "description": "(Optional) The offset in the list of item to return", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "order", + "description": "(Optional) Sorts the list in the ascending or the descending order", + "in": "query", + "required": false, "type": "string" } ], "tags": [ - "PaymentMethods" + "Apps" ] - }, - "delete": { - "summary": "Delete payment method", - "operationId": "DeletePaymentMethod", + } + }, + "/v1/apps": { + "get": { + "summary": "List App", + "operationId": "ListApps", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/DeletePaymentMethodReply" + "$ref": "#/definitions/ListAppsReply" } }, "400": { @@ -7463,26 +7371,39 @@ }, "parameters": [ { - "name": "id", - "in": "path", - "required": true, + "name": "limit", + "description": "(Optional) The number of items to return", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "offset", + "description": "(Optional) The offset in the list of item to return", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "name", + "description": "(Optional) A filter for name", + "in": "query", + "required": false, "type": "string" } ], "tags": [ - "PaymentMethods" + "Apps" ] - } - }, - "/v1/payment_methods/{id}/confirm": { + }, "post": { - "summary": "Confirm payment authorization", - "operationId": "ConfirmPaymentAuthorization", + "summary": "Create App", + "operationId": "CreateApp", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/ConfirmPaymentAuthorizationReply" + "$ref": "#/definitions/CreateAppReply" } }, "400": { @@ -7530,33 +7451,28 @@ }, "parameters": [ { - "name": "id", - "in": "path", - "required": true, - "type": "string" - }, - { - "name": "body", + "name": "app", "in": "body", "required": true, "schema": { - "type": "object" + "$ref": "#/definitions/CreateApp" } } ], "tags": [ - "PaymentMethods" + "Apps" ] } }, - "/v1/account/activities": { + "/v1/apps/{id}": { "get": { - "operationId": "GetAccountActivities", + "summary": "Get App", + "operationId": "GetApp", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/ActivityList" + "$ref": "#/definitions/GetAppReply" } }, "400": { @@ -7604,31 +7520,26 @@ }, "parameters": [ { - "name": "limit", - "in": "query", - "required": false, - "type": "string" - }, - { - "name": "offset", - "in": "query", - "required": false, + "name": "id", + "description": "The id of the App", + "in": "path", + "required": true, "type": "string" } ], "tags": [ - "activity" + "Apps" ] - } - }, - "/v1/account/invite": { - "post": { - "operationId": "CreateInvite", + }, + "delete": { + "summary": "Delete App", + "description": "App deletion is allowed for all status.", + "operationId": "DeleteApp", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/Empty" + "$ref": "#/definitions/DeleteAppReply" } }, "400": { @@ -7676,28 +7587,25 @@ }, "parameters": [ { - "name": "body", - "in": "body", + "name": "id", + "description": "The id of the App to delete", + "in": "path", "required": true, - "schema": { - "$ref": "#/definitions/InviteUserRequest" - } + "type": "string" } ], "tags": [ - "invite" + "Apps" ] - } - }, - "/v1/account/oauth": { - "get": { - "summary": "Get OAuth Providers", - "operationId": "GetOAuthOptions", + }, + "put": { + "summary": "Update App", + "operationId": "UpdateApp", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/GetOAuthOptionsReply" + "$ref": "#/definitions/UpdateAppReply" } }, "400": { @@ -7745,38 +7653,39 @@ }, "parameters": [ { - "name": "action", - "description": "Which authentication flow is being initiated", - "in": "query", - "required": false, - "type": "string", - "enum": [ - "signin", - "signup", - "register" - ], - "default": "signin" + "name": "id", + "description": "The id of the app to update.", + "in": "path", + "required": true, + "type": "string" }, { - "name": "metadata", - "description": "A small (limited to 400 characters) string of arbitrary metadata which will be encoded in the state", + "name": "app", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/UpdateApp" + } + }, + { + "name": "update_mask", "in": "query", "required": false, "type": "string" } ], "tags": [ - "profile" + "Apps" ] }, - "post": { - "summary": "Authenticate using OAuth", - "operationId": "OAuthCallback", + "patch": { + "summary": "Update App", + "operationId": "UpdateApp2", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/OAuthCallbackReply" + "$ref": "#/definitions/UpdateAppReply" } }, "400": { @@ -7824,34 +7733,42 @@ }, "parameters": [ { - "name": "body", + "name": "id", + "description": "The id of the app to update.", + "in": "path", + "required": true, + "type": "string" + }, + { + "name": "app", "in": "body", "required": true, "schema": { - "$ref": "#/definitions/OAuthCallbackRequest" + "$ref": "#/definitions/UpdateApp" } }, { - "name": "seon-fp", - "description": "Seon Fingerprint", - "in": "header", + "name": "update_mask", + "in": "query", "required": false, "type": "string" } ], "tags": [ - "profile" + "Apps" ] } }, - "/v1/account/organization": { - "get": { - "operationId": "GetCurrentOrganization", + "/v1/apps/{id}/pause": { + "post": { + "summary": "Pause App", + "description": "App pause action is allowed for the following status:\n - starting\n - healthy\n - degraded\n - unhealthy\n - resuming", + "operationId": "PauseApp", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/GetOrganizationReply" + "$ref": "#/definitions/PauseAppReply" } }, "400": { @@ -7897,19 +7814,30 @@ } } }, + "parameters": [ + { + "name": "id", + "description": "The id of the app to pause.", + "in": "path", + "required": true, + "type": "string" + } + ], "tags": [ - "profile" + "Apps" ] } }, - "/v1/account/organization_invitations": { - "get": { - "operationId": "ListUserOrganizationInvitations", + "/v1/apps/{id}/resume": { + "post": { + "summary": "Resume App", + "description": "App resume action is allowed for the following status:\n - paused", + "operationId": "ResumeApp", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/ListUserOrganizationInvitationsReply" + "$ref": "#/definitions/ResumeAppReply" } }, "400": { @@ -7957,51 +7885,27 @@ }, "parameters": [ { - "name": "limit", - "description": "(Optional) The number of items to return", - "in": "query", - "required": false, - "type": "string" - }, - { - "name": "offset", - "description": "(Optional) The offset in the list of item to return", - "in": "query", - "required": false, + "name": "id", + "description": "The id of the app to resume.", + "in": "path", + "required": true, "type": "string" - }, - { - "name": "statuses", - "description": "(Optional) Filter on organization invitation statuses", - "in": "query", - "required": false, - "type": "array", - "items": { - "type": "string", - "enum": [ - "INVALID", - "PENDING", - "ACCEPTED", - "REFUSED", - "EXPIRED" - ] - }, - "collectionFormat": "multi" } ], "tags": [ - "profile" + "Apps" ] } }, - "/v1/account/organization_invitations/{id}": { + "/v1/volume_events": { "get": { - "operationId": "GetUserOrganizationInvitation", + "summary": "List Persistent Volume events", + "operationId": "ListPersistentVolumeEvents", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/GetUserOrganizationInvitationReply" + "$ref": "#/definitions/ListPersistentVolumeEventsReply" } }, "400": { @@ -8049,101 +7953,59 @@ }, "parameters": [ { - "name": "id", - "description": "The id of the organization invitation to get", - "in": "path", - "required": true, + "name": "persistent_volume_id", + "description": "(Optional) Filter on persistent volume id", + "in": "query", + "required": false, "type": "string" - } - ], - "tags": [ - "profile" - ] - } - }, - "/v1/account/organization_invitations/{id}/accept": { - "post": { - "operationId": "AcceptOrganizationInvitation", - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "$ref": "#/definitions/AcceptOrganizationInvitationReply" - } - }, - "400": { - "description": "Validation error", - "schema": { - "$ref": "#/definitions/ErrorWithFields" - } - }, - "401": { - "description": "Returned when the token is not valid.", - "schema": { - "$ref": "#/definitions/Error" - } - }, - "403": { - "description": "Returned when the user does not have permission to access the resource.", - "schema": { - "$ref": "#/definitions/Error" - } - }, - "404": { - "description": "Returned when the resource does not exist.", - "schema": { - "$ref": "#/definitions/Error" - } }, - "500": { - "description": "Returned in case of server error.", - "schema": { - "$ref": "#/definitions/Error" - } + { + "name": "types", + "description": "(Optional) Filter on persistent volume event types", + "in": "query", + "required": false, + "type": "array", + "items": { + "type": "string" + }, + "collectionFormat": "multi" }, - "503": { - "description": "Service is unavailable.", - "schema": { - "$ref": "#/definitions/Error" - } + { + "name": "limit", + "description": "(Optional) The number of items to return", + "in": "query", + "required": false, + "type": "string" }, - "default": { - "description": "An unexpected error response.", - "schema": { - "$ref": "#/definitions/google.rpc.Status" - } - } - }, - "parameters": [ { - "name": "id", - "description": "The id of the organization invitation to accept", - "in": "path", - "required": true, + "name": "offset", + "description": "(Optional) The offset in the list of item to return", + "in": "query", + "required": false, "type": "string" }, { - "name": "body", - "in": "body", - "required": true, - "schema": { - "type": "object" - } + "name": "order", + "description": "(Optional) Sorts the list in the ascending or the descending order", + "in": "query", + "required": false, + "type": "string" } ], "tags": [ - "profile" + "PersistentVolumes" ] } }, - "/v1/account/organization_invitations/{id}/decline": { - "post": { - "operationId": "DeclineOrganizationInvitation", + "/v1/volumes": { + "get": { + "summary": "List all PersistentVolumes", + "operationId": "ListPersistentVolumes", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/DeclineOrganizationInvitationReply" + "$ref": "#/definitions/ListPersistentVolumesReply" } }, "400": { @@ -8191,34 +8053,53 @@ }, "parameters": [ { - "name": "id", - "description": "The id of the organization invitation to decline", - "in": "path", - "required": true, + "name": "limit", + "description": "(Optional) The number of items to return", + "in": "query", + "required": false, "type": "string" }, { - "name": "body", - "in": "body", - "required": true, - "schema": { - "type": "object" - } + "name": "offset", + "description": "(Optional) The offset in the list of item to return", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "service_id", + "description": "(Optional) A filter for the service id", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "region", + "description": "(Optional) A filter for the region", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "name", + "description": "(Optional) A filter for the name", + "in": "query", + "required": false, + "type": "string" } ], "tags": [ - "profile" + "PersistentVolumes" ] - } - }, - "/v1/account/profile": { - "get": { - "operationId": "GetCurrentUser", + }, + "post": { + "summary": "Create a PersistentVolume", + "operationId": "CreatePersistentVolume", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/UserReply" + "$ref": "#/definitions/CreatePersistentVolumeReply" } }, "400": { @@ -8264,17 +8145,30 @@ } } }, + "parameters": [ + { + "name": "body", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/CreatePersistentVolumeRequest" + } + } + ], "tags": [ - "profile" + "PersistentVolumes" ] - }, - "put": { - "operationId": "UpdateUser", + } + }, + "/v1/volumes/{id}": { + "get": { + "summary": "Get a PersistentVolume", + "operationId": "GetPersistentVolume", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/UserReply" + "$ref": "#/definitions/GetPersistentVolumeReply" } }, "400": { @@ -8322,31 +8216,24 @@ }, "parameters": [ { - "name": "user", - "in": "body", + "name": "id", + "in": "path", "required": true, - "schema": { - "$ref": "#/definitions/UpdateUserRequest.UserUpdateBody" - } - }, - { - "name": "update_mask", - "in": "query", - "required": false, "type": "string" } ], "tags": [ - "profile" + "PersistentVolumes" ] }, - "patch": { - "operationId": "UpdateUser2", + "delete": { + "summary": "Delete a PersistentVolume", + "operationId": "DeletePersistentVolume", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/UserReply" + "$ref": "#/definitions/DeletePersistentVolumeReply" } }, "400": { @@ -8394,33 +8281,24 @@ }, "parameters": [ { - "name": "user", - "in": "body", + "name": "id", + "in": "path", "required": true, - "schema": { - "$ref": "#/definitions/UpdateUserRequest.UserUpdateBody" - } - }, - { - "name": "update_mask", - "in": "query", - "required": false, "type": "string" } ], "tags": [ - "profile" + "PersistentVolumes" ] - } - }, - "/v1/account/resend_validation": { + }, "post": { - "operationId": "ResendEmailValidation", + "summary": "Update a PersistentVolume", + "operationId": "UpdatePersistentVolume", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/ResendEmailValidationReply" + "$ref": "#/definitions/UpdatePersistentVolumeReply" } }, "400": { @@ -8467,28 +8345,45 @@ } }, "parameters": [ + { + "name": "id", + "in": "path", + "required": true, + "type": "string" + }, { "name": "body", "in": "body", "required": true, "schema": { - "$ref": "#/definitions/ResendEmailValidationRequest" + "type": "object", + "properties": { + "name": { + "type": "string", + "title": "(Optional) change the name of the volume" + }, + "max_size": { + "type": "integer", + "format": "int64", + "title": "(Optional) increase the volume size (in Gigabyte / GB)" + } + } } } ], "tags": [ - "profile" + "PersistentVolumes" ] } }, - "/v1/account/reset_password": { - "post": { - "operationId": "ResetPassword", + "/v1/domains": { + "get": { + "operationId": "ListDomains", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/ResetPasswordReply" + "$ref": "#/definitions/ListDomainsReply" } }, "400": { @@ -8536,27 +8431,82 @@ }, "parameters": [ { - "name": "body", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/ResetPasswordRequest" - } - } - ], - "tags": [ - "profile" - ] - } - }, - "/v1/account/signup": { + "name": "limit", + "description": "(Optional) The number of items to return", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "offset", + "description": "(Optional) The offset in the list of item to return", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "types", + "description": "(Optional) A filter for types\n\n - AUTOASSIGNED: Domain like -.koyeb.app", + "in": "query", + "required": false, + "type": "array", + "items": { + "type": "string", + "enum": [ + "AUTOASSIGNED", + "CUSTOM" + ] + }, + "collectionFormat": "multi" + }, + { + "name": "statuses", + "description": "(Optional) A filter for statuses", + "in": "query", + "required": false, + "type": "array", + "items": { + "type": "string", + "enum": [ + "PENDING", + "ACTIVE", + "ERROR", + "DELETING", + "DELETED" + ] + }, + "collectionFormat": "multi" + }, + { + "name": "app_ids", + "description": "(Optional) A filter for apps", + "in": "query", + "required": false, + "type": "array", + "items": { + "type": "string" + }, + "collectionFormat": "multi" + }, + { + "name": "name", + "description": "(Optional) A filter for name", + "in": "query", + "required": false, + "type": "string" + } + ], + "tags": [ + "Domains" + ] + }, "post": { - "operationId": "Signup", + "operationId": "CreateDomain", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/LoginReply" + "$ref": "#/definitions/CreateDomainReply" } }, "400": { @@ -8604,35 +8554,27 @@ }, "parameters": [ { - "name": "body", - "description": "Create new account", + "name": "domain", "in": "body", "required": true, "schema": { - "$ref": "#/definitions/CreateAccountRequest" + "$ref": "#/definitions/CreateDomain" } - }, - { - "name": "seon-fp", - "description": "Seon Fingerprint", - "in": "header", - "required": false, - "type": "string" } ], "tags": [ - "profile" + "Domains" ] } }, - "/v1/account/update_password": { - "post": { - "operationId": "UpdatePassword", + "/v1/domains/{id}": { + "get": { + "operationId": "GetDomain", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/LoginReply" + "$ref": "#/definitions/GetDomainReply" } }, "400": { @@ -8680,34 +8622,23 @@ }, "parameters": [ { - "name": "body", - "in": "body", + "name": "id", + "in": "path", "required": true, - "schema": { - "$ref": "#/definitions/UpdatePasswordRequest" - } - }, - { - "name": "seon-fp", - "description": "Seon Fingerprint", - "in": "header", - "required": false, "type": "string" } ], "tags": [ - "profile" + "Domains" ] - } - }, - "/v1/account/validate/{id}": { - "post": { - "operationId": "Validate", + }, + "delete": { + "operationId": "DeleteDomain", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/LoginReply" + "$ref": "#/definitions/DeleteDomainReply" } }, "400": { @@ -8759,30 +8690,19 @@ "in": "path", "required": true, "type": "string" - }, - { - "name": "seon-fp", - "description": "Seon Fingerprint", - "in": "header", - "required": false, - "type": "string" } ], "tags": [ - "profile" + "Domains" ] - } - }, - "/v1/billing/has_unpaid_invoices": { - "get": { - "summary": "Experimental: Has unpaid invoices", - "description": "WARNING: Please don't use the following method.\nKoyeb doesn't guarantee backwards compatible breaking change and reserve the right to completely drop it without notice.\nUSE AT YOUR OWN RISK.", - "operationId": "HasUnpaidInvoices", + }, + "patch": { + "operationId": "UpdateDomain", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/HasUnpaidInvoicesReply" + "$ref": "#/definitions/UpdateDomainReply" } }, "400": { @@ -8828,19 +8748,48 @@ } } }, + "parameters": [ + { + "name": "id", + "in": "path", + "required": true, + "type": "string" + }, + { + "name": "domain", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/UpdateDomain" + } + }, + { + "name": "update_mask", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "dry_run", + "description": "If set, run validation and check that the domain is available.", + "in": "query", + "required": false, + "type": "boolean" + } + ], "tags": [ - "billing" + "Domains" ] } }, - "/v1/billing/manage": { - "get": { - "operationId": "Manage", + "/v1/domains/{id}/refresh": { + "post": { + "operationId": "RefreshDomainStatus", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/ManageReply" + "$ref": "#/definitions/RefreshDomainStatusReply" } }, "400": { @@ -8886,21 +8835,28 @@ } } }, + "parameters": [ + { + "name": "id", + "in": "path", + "required": true, + "type": "string" + } + ], "tags": [ - "billing" + "Domains" ] } }, - "/v1/billing/next_invoice": { + "/v1/service_events": { "get": { - "summary": "Experimental: Fetch next invoice", - "description": "WARNING: Please don't use the following method.\nKoyeb doesn't guarantee backwards compatible breaking change and reserve the right to completely drop it without notice.\nUSE AT YOUR OWN RISK.", - "operationId": "NextInvoice", + "summary": "List Service events", + "operationId": "ListServiceEvents", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/NextInvoiceReply" + "$ref": "#/definitions/ListServiceEventsReply" } }, "400": { @@ -8946,20 +8902,61 @@ } } }, + "parameters": [ + { + "name": "service_id", + "description": "(Optional) Filter on service id", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "types", + "description": "(Optional) Filter on service event types", + "in": "query", + "required": false, + "type": "array", + "items": { + "type": "string" + }, + "collectionFormat": "multi" + }, + { + "name": "limit", + "description": "(Optional) The number of items to return", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "offset", + "description": "(Optional) The offset in the list of item to return", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "order", + "description": "(Optional) Sorts the list in the ascending or the descending order", + "in": "query", + "required": false, + "type": "string" + } + ], "tags": [ - "billing" + "Services" ] } }, - "/v1/github/installation": { + "/v1/services": { "get": { - "summary": "Fetch github installation configuration", - "operationId": "GetGithubInstallation", + "summary": "List Services", + "operationId": "ListServices", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/GetGithubInstallationReply" + "$ref": "#/definitions/ListServicesReply" } }, "400": { @@ -9005,18 +9002,65 @@ } } }, - "tags": [ - "organization" - ] + "parameters": [ + { + "name": "app_id", + "description": "(Optional) The id of the app", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "limit", + "description": "(Optional) The number of items to return", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "offset", + "description": "(Optional) The offset in the list of item to return", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "name", + "description": "(Optional) A filter for name", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "types", + "description": "(Optional) Filter on service types", + "in": "query", + "required": false, + "type": "array", + "items": { + "type": "string", + "enum": [ + "INVALID_TYPE", + "WEB", + "WORKER", + "DATABASE" + ] + }, + "collectionFormat": "multi" + } + ], + "tags": [ + "Services" + ] }, "post": { - "summary": "Start github installation", - "operationId": "GithubInstallation", + "summary": "Create Service", + "operationId": "CreateService", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/GithubInstallationReply" + "$ref": "#/definitions/CreateServiceReply" } }, "400": { @@ -9064,28 +9108,35 @@ }, "parameters": [ { - "name": "body", + "name": "service", "in": "body", "required": true, "schema": { - "$ref": "#/definitions/GithubInstallationRequest" + "$ref": "#/definitions/CreateService" } + }, + { + "name": "dry_run", + "description": "If set only run validation", + "in": "query", + "required": false, + "type": "boolean" } ], "tags": [ - "organization" + "Services" ] } }, - "/v1/organizations": { + "/v1/services-autocomplete": { "post": { - "summary": "Create organization", - "operationId": "CreateOrganization", + "summary": "Generate autocomplete definition for a service", + "operationId": "Autocomplete", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/CreateOrganizationReply" + "$ref": "#/definitions/AutocompleteReply" } }, "400": { @@ -9137,24 +9188,24 @@ "in": "body", "required": true, "schema": { - "$ref": "#/definitions/CreateOrganizationRequest" + "$ref": "#/definitions/AutocompleteRequest" } } ], "tags": [ - "organization" + "Services" ] } }, - "/v1/organizations/{id}": { + "/v1/services/{id}": { "get": { - "summary": "Get organization", - "operationId": "GetOrganization", + "summary": "Get Service", + "operationId": "GetService", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/GetOrganizationReply" + "$ref": "#/definitions/GetServiceReply" } }, "400": { @@ -9203,23 +9254,25 @@ "parameters": [ { "name": "id", + "description": "The id of the Service", "in": "path", "required": true, "type": "string" } ], "tags": [ - "organization" + "Services" ] }, "delete": { - "summary": "Delete an organization", - "operationId": "DeleteOrganization", + "summary": "Delete Service", + "description": "Service deletion is allowed for all status.", + "operationId": "DeleteService", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/DeleteOrganizationReply" + "$ref": "#/definitions/DeleteServiceReply" } }, "400": { @@ -9268,23 +9321,24 @@ "parameters": [ { "name": "id", + "description": "The id of the entity to delete", "in": "path", "required": true, "type": "string" } ], "tags": [ - "organization" + "Services" ] }, "put": { - "summary": "Update organization", - "operationId": "UpdateOrganization", + "summary": "Update Service", + "operationId": "UpdateService", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/UpdateOrganizationReply" + "$ref": "#/definitions/UpdateServiceReply" } }, "400": { @@ -9333,37 +9387,39 @@ "parameters": [ { "name": "id", + "description": "The id of the entity to update", "in": "path", "required": true, "type": "string" }, { - "name": "organization", + "name": "service", "in": "body", "required": true, "schema": { - "$ref": "#/definitions/Organization" + "$ref": "#/definitions/UpdateService" } }, { - "name": "update_mask", + "name": "dry_run", + "description": "If set, run validation and check that the service exists", "in": "query", "required": false, - "type": "string" + "type": "boolean" } ], "tags": [ - "organization" + "Services" ] }, "patch": { - "summary": "Update organization", - "operationId": "UpdateOrganization2", + "summary": "Update Service", + "operationId": "UpdateService2", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/UpdateOrganizationReply" + "$ref": "#/definitions/UpdateServiceReply" } }, "400": { @@ -9412,39 +9468,42 @@ "parameters": [ { "name": "id", + "description": "The id of the entity to update", "in": "path", "required": true, "type": "string" }, { - "name": "organization", + "name": "service", "in": "body", "required": true, "schema": { - "$ref": "#/definitions/Organization" + "$ref": "#/definitions/UpdateService" } }, { - "name": "update_mask", + "name": "dry_run", + "description": "If set, run validation and check that the service exists", "in": "query", "required": false, - "type": "string" + "type": "boolean" } ], "tags": [ - "organization" + "Services" ] } }, - "/v1/organizations/{id}/deactivate": { + "/v1/services/{id}/pause": { "post": { - "summary": "Deactivate an organization", - "operationId": "DeactivateOrganization", + "summary": "Pause Service", + "description": "Service pause action is allowed for the following status:\n - starting\n - healthy\n - degraded\n - unhealthy\n - resuming", + "operationId": "PauseService", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/DeactivateOrganizationReply" + "$ref": "#/definitions/PauseServiceReply" } }, "400": { @@ -9493,33 +9552,26 @@ "parameters": [ { "name": "id", + "description": "The id of the service to pause.", "in": "path", "required": true, "type": "string" - }, - { - "name": "body", - "in": "body", - "required": true, - "schema": { - "type": "object" - } } ], "tags": [ - "organization" + "Services" ] } }, - "/v1/organizations/{id}/plan": { + "/v1/services/{id}/redeploy": { "post": { - "summary": "Update organization plan", - "operationId": "UpdateOrganizationPlan", + "summary": "ReDeploy Service", + "operationId": "ReDeploy", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/UpdateOrganizationPlanReply" + "$ref": "#/definitions/RedeployReply" } }, "400": { @@ -9573,33 +9625,29 @@ "type": "string" }, { - "name": "body", + "name": "info", "in": "body", "required": true, "schema": { - "type": "object", - "properties": { - "plan": { - "$ref": "#/definitions/Plan" - } - } + "$ref": "#/definitions/RedeployRequest.Info" } } ], "tags": [ - "organization" + "Services" ] } }, - "/v1/organizations/{id}/reactivate": { + "/v1/services/{id}/resume": { "post": { - "summary": "Reactivate an organization", - "operationId": "ReactivateOrganization", + "summary": "Resume Service", + "description": "Service resume action is allowed for the following status:\n - paused", + "operationId": "ResumeService", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/ReactivateOrganizationReply" + "$ref": "#/definitions/ResumeServiceReply" } }, "400": { @@ -9648,33 +9696,25 @@ "parameters": [ { "name": "id", + "description": "The id of the service to pause.", "in": "path", "required": true, "type": "string" - }, - { - "name": "body", - "in": "body", - "required": true, - "schema": { - "type": "object" - } } ], "tags": [ - "organization" + "Services" ] } }, - "/v1/organizations/{id}/signup_qualification": { - "post": { - "summary": "Upsert organization's signup qualification", - "operationId": "UpsertSignupQualification", + "/v1/secrets": { + "get": { + "operationId": "ListSecrets", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/UpsertSignupQualificationReply" + "$ref": "#/definitions/ListSecretsReply" } }, "400": { @@ -9722,39 +9762,51 @@ }, "parameters": [ { - "name": "id", - "in": "path", - "required": true, + "name": "name", + "in": "query", + "required": false, "type": "string" }, { - "name": "body", - "in": "body", - "required": true, - "schema": { - "type": "object", - "properties": { - "signup_qualification": { - "type": "object" - } - } - } + "name": "limit", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "offset", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "types", + "description": "Filter by secret types", + "in": "query", + "required": false, + "type": "array", + "items": { + "type": "string", + "enum": [ + "SIMPLE", + "REGISTRY", + "MANAGED" + ] + }, + "collectionFormat": "multi" } ], "tags": [ - "organization" + "Secrets" ] - } - }, - "/v1/organizations/{id}/switch": { + }, "post": { - "summary": "Switch organization context", - "operationId": "SwitchOrganization", + "operationId": "CreateSecret", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/LoginReply" + "$ref": "#/definitions/CreateSecretReply" } }, "400": { @@ -9802,40 +9854,27 @@ }, "parameters": [ { - "name": "id", - "in": "path", - "required": true, - "type": "string" - }, - { - "name": "body", + "name": "secret", "in": "body", "required": true, "schema": { - "type": "object" + "$ref": "#/definitions/CreateSecret" } - }, - { - "name": "seon-fp", - "description": "Seon Fingerprint", - "in": "header", - "required": false, - "type": "string" } ], "tags": [ - "organization" + "Secrets" ] } }, - "/v1/sso/canny": { - "post": { - "operationId": "CannyAuth", + "/v1/secrets/{id}": { + "get": { + "operationId": "GetSecret", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/CannyAuthReply" + "$ref": "#/definitions/GetSecretReply" } }, "400": { @@ -9883,27 +9922,23 @@ }, "parameters": [ { - "name": "body", - "in": "body", + "name": "id", + "in": "path", "required": true, - "schema": { - "$ref": "#/definitions/CannyAuthRequest" - } + "type": "string" } ], "tags": [ - "sso" + "Secrets" ] - } - }, - "/v1/sso/discourse": { - "post": { - "operationId": "DiscourseAuth", + }, + "delete": { + "operationId": "DeleteSecret", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/DiscourseAuthReply" + "$ref": "#/definitions/DeleteSecretReply" } }, "400": { @@ -9951,28 +9986,23 @@ }, "parameters": [ { - "name": "body", - "in": "body", + "name": "id", + "in": "path", "required": true, - "schema": { - "$ref": "#/definitions/DiscourseAuthRequest" - } + "type": "string" } ], "tags": [ - "sso" + "Secrets" ] - } - }, - "/v1/unscope_organization_token": { - "post": { - "summary": "UnscopeOrganizationToken removes the organization scope from a token. This\nendpoint is useful when a user wants to remove an organization: by\nunscoping the token first, the user can then delete the organization\nwithout invalidating his token.", - "operationId": "UnscopeOrganizationToken", + }, + "put": { + "operationId": "UpdateSecret", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/LoginReply" + "$ref": "#/definitions/UpdateSecretReply" } }, "400": { @@ -10020,34 +10050,37 @@ }, "parameters": [ { - "name": "body", + "name": "id", + "in": "path", + "required": true, + "type": "string" + }, + { + "name": "secret", "in": "body", "required": true, "schema": { - "$ref": "#/definitions/UnscopeOrganizationTokenRequest" + "$ref": "#/definitions/Secret" } }, { - "name": "seon-fp", - "description": "Seon Fingerprint", - "in": "header", + "name": "update_mask", + "in": "query", "required": false, "type": "string" } ], "tags": [ - "organization" + "Secrets" ] - } - }, - "/v1/organization_invitations": { - "get": { - "operationId": "ListOrganizationInvitations", + }, + "patch": { + "operationId": "UpdateSecret2", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/ListOrganizationInvitationsReply" + "$ref": "#/definitions/UpdateSecretReply" } }, "400": { @@ -10095,56 +10128,39 @@ }, "parameters": [ { - "name": "limit", - "description": "(Optional) The number of items to return", - "in": "query", - "required": false, - "type": "string" - }, - { - "name": "offset", - "description": "(Optional) The offset in the list of item to return", - "in": "query", - "required": false, + "name": "id", + "in": "path", + "required": true, "type": "string" }, { - "name": "statuses", - "description": "(Optional) Filter on organization invitation statuses", - "in": "query", - "required": false, - "type": "array", - "items": { - "type": "string", - "enum": [ - "INVALID", - "PENDING", - "ACCEPTED", - "REFUSED", - "EXPIRED" - ] - }, - "collectionFormat": "multi" + "name": "secret", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/Secret" + } }, { - "name": "user_id", - "description": "(Optional) Filter on invitee ID. Will match both invitations sent to\nthat user_id and invitations sent to the email of that user_id.\nThe only valid value is the requester's user_id", + "name": "update_mask", "in": "query", "required": false, "type": "string" } ], "tags": [ - "OrganizationInvitations" + "Secrets" ] - }, + } + }, + "/v1/secrets/{id}/reveal": { "post": { - "operationId": "CreateOrganizationInvitation", + "operationId": "RevealSecret", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/CreateOrganizationInvitationReply" + "$ref": "#/definitions/RevealSecretReply" } }, "400": { @@ -10191,28 +10207,35 @@ } }, "parameters": [ + { + "name": "id", + "in": "path", + "required": true, + "type": "string" + }, { "name": "body", "in": "body", "required": true, "schema": { - "$ref": "#/definitions/CreateOrganizationInvitationRequest" + "type": "object" } } ], "tags": [ - "OrganizationInvitations" + "Secrets" ] } }, - "/v1/organization_invitations/{id}": { - "get": { - "operationId": "GetOrganizationInvitation", + "/v1/archives": { + "post": { + "summary": "Create a signed URL to upload an archive.", + "operationId": "CreateArchive", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/GetOrganizationInvitationReply" + "$ref": "#/definitions/CreateArchiveReply" } }, "400": { @@ -10260,24 +10283,28 @@ }, "parameters": [ { - "name": "id", - "description": "The id of the invitation to get", - "in": "path", + "name": "archive", + "in": "body", "required": true, - "type": "string" + "schema": { + "$ref": "#/definitions/CreateArchive" + } } ], "tags": [ - "OrganizationInvitations" + "Archives" ] - }, - "delete": { - "operationId": "DeleteOrganizationInvitation", + } + }, + "/v1/regional_deployment_events": { + "get": { + "summary": "List Regional Deployment events", + "operationId": "ListRegionalDeploymentEvents", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/DeleteOrganizationInvitationReply" + "$ref": "#/definitions/ListRegionalDeploymentEventsReply" } }, "400": { @@ -10325,26 +10352,59 @@ }, "parameters": [ { - "name": "id", - "description": "The id of the organization invitation to delete", - "in": "path", - "required": true, + "name": "regional_deployment_id", + "description": "(Optional) Filter on regional deployment id", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "types", + "description": "(Optional) Filter on regional deployment event types", + "in": "query", + "required": false, + "type": "array", + "items": { + "type": "string" + }, + "collectionFormat": "multi" + }, + { + "name": "limit", + "description": "(Optional) The number of items to return", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "offset", + "description": "(Optional) The offset in the list of item to return", + "in": "query", + "required": false, + "type": "string" + }, + { + "name": "order", + "description": "(Optional) Sorts the list in the ascending or the descending order", + "in": "query", + "required": false, "type": "string" } ], "tags": [ - "OrganizationInvitations" + "RegionalDeployments" ] } }, - "/v1/organization_invitations/{id}/resend": { - "post": { - "operationId": "ResendOrganizationInvitation", + "/v1/regional_deployments": { + "get": { + "summary": "Experimental: List regional deployments\nUse at your own risk", + "operationId": "ListRegionalDeployments", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/ResendOrganizationInvitationReply" + "$ref": "#/definitions/ListRegionalDeploymentsReply" } }, "400": { @@ -10392,101 +10452,41 @@ }, "parameters": [ { - "name": "id", - "description": "The id of the organization invitation to resend", - "in": "path", - "required": true, + "name": "deployment_id", + "description": "(Optional) Filter on deployment id", + "in": "query", + "required": false, "type": "string" }, { - "name": "body", - "in": "body", - "required": true, - "schema": { - "type": "object" - } - } - ], - "tags": [ - "OrganizationInvitations" - ] - } - }, - "/v1/organizations/{organization_id}/quotas": { - "get": { - "operationId": "GetQuotas", - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "$ref": "#/definitions/GetQuotasReply" - } - }, - "400": { - "description": "Validation error", - "schema": { - "$ref": "#/definitions/ErrorWithFields" - } - }, - "401": { - "description": "Returned when the token is not valid.", - "schema": { - "$ref": "#/definitions/Error" - } - }, - "403": { - "description": "Returned when the user does not have permission to access the resource.", - "schema": { - "$ref": "#/definitions/Error" - } - }, - "404": { - "description": "Returned when the resource does not exist.", - "schema": { - "$ref": "#/definitions/Error" - } - }, - "500": { - "description": "Returned in case of server error.", - "schema": { - "$ref": "#/definitions/Error" - } - }, - "503": { - "description": "Service is unavailable.", - "schema": { - "$ref": "#/definitions/Error" - } + "name": "limit", + "description": "(Optional) The number of items to return", + "in": "query", + "required": false, + "type": "string" }, - "default": { - "description": "An unexpected error response.", - "schema": { - "$ref": "#/definitions/google.rpc.Status" - } - } - }, - "parameters": [ { - "name": "organization_id", - "in": "path", - "required": true, + "name": "offset", + "description": "(Optional) The offset in the list of item to return", + "in": "query", + "required": false, "type": "string" } ], "tags": [ - "OrganizationQuotas" + "RegionalDeployments" ] } }, - "/v1/organizations/{organization_id}/summary": { + "/v1/regional_deployments/{id}": { "get": { - "summary": "Get organization usage summary", - "operationId": "GetOrganizationSummary", + "summary": "Experimental: Get regional deployment\nUse at your own risk", + "operationId": "GetRegionalDeployment", "responses": { "200": { "description": "A successful response.", "schema": { - "$ref": "#/definitions/GetOrganizationSummaryReply" + "$ref": "#/definitions/GetRegionalDeploymentReply" } }, "400": { @@ -10534,15 +10534,15 @@ }, "parameters": [ { - "name": "organization_id", - "description": "Organization ID", + "name": "id", + "description": "The id of the regional deployment", "in": "path", "required": true, "type": "string" } ], "tags": [ - "Summary" + "RegionalDeployments" ] } }, @@ -10625,14 +10625,6 @@ }, "additionalProperties": {} }, - "google.protobuf.NullValue": { - "type": "string", - "enum": [ - "NULL_VALUE" - ], - "default": "NULL_VALUE", - "description": "`NullValue` is a singleton enumeration to represent the null value for the\n`Value` type union.\n\n The JSON representation for `NullValue` is JSON `null`.\n\n - NULL_VALUE: Null value." - }, "google.rpc.Status": { "type": "object", "properties": { @@ -10651,302 +10643,273 @@ } } }, - "Error": { + "DatacenterListItem": { "type": "object", "properties": { - "status": { - "type": "integer", - "format": "int32" + "id": { + "type": "string", + "title": "e.g. \"par1\"" }, - "code": { - "type": "string" + "region_id": { + "type": "string", + "title": "e.g. \"par\"" }, - "message": { - "type": "string" + "domain": { + "type": "string", + "title": "e.g. \"all-par1.infra.prod.koyeb.com\"" + }, + "coordinates": { + "type": "array", + "items": { + "type": "string" + }, + "title": "e.g. \"8.856614\" ,\"2.352221\"?" + }, + "use_gpu": { + "type": "boolean", + "title": "e.g. true" + }, + "regions": { + "type": "array", + "items": { + "type": "string" + }, + "title": "e.g. \"par\", \"fra\"" } } }, - "ErrorField": { + "ListDatacentersReply": { "type": "object", "properties": { - "field": { - "type": "string" - }, - "description": { - "type": "string" + "datacenters": { + "type": "array", + "items": { + "$ref": "#/definitions/DatacenterListItem" + } } } }, - "ErrorWithFields": { + "CatalogGPUDetails": { "type": "object", "properties": { - "status": { + "count": { "type": "integer", - "format": "int32" + "format": "int64", + "title": "The number of GPUs" }, - "code": { - "type": "string" + "brand": { + "type": "string", + "title": "The brand of GPU" }, - "message": { - "type": "string" + "memory": { + "type": "string", + "title": "GPU memory" }, - "fields": { - "type": "array", - "items": { - "$ref": "#/definitions/ErrorField" - } + "name": { + "type": "string", + "title": "Name of GPU" } } }, - "App": { + "CatalogInstance": { "type": "object", "properties": { "id": { - "type": "string" + "type": "string", + "title": "The name of the instance" }, - "name": { - "type": "string" + "description": { + "type": "string", + "title": "A short description of the instance" }, - "organization_id": { - "type": "string" + "vcpu": { + "type": "integer", + "format": "int64", + "description": "The number of cpus. Deprecated. Use vcpu_shares instead." }, - "created_at": { + "memory": { "type": "string", - "format": "date-time" + "title": "The memory in bytes in a format like 5MB" }, - "updated_at": { + "disk": { "type": "string", - "format": "date-time" + "title": "The size of the disk in bytes in a format like 5MB" }, - "started_at": { + "price_per_second": { "type": "string", - "format": "date-time" + "title": "The price to pay per second" }, - "succeeded_at": { + "price_hourly": { "type": "string", - "format": "date-time" + "title": "The price to pay per hour" }, - "paused_at": { + "price_monthly": { "type": "string", - "format": "date-time" + "title": "The price to pay per month" }, - "resumed_at": { - "type": "string", - "format": "date-time" + "regions": { + "type": "array", + "items": { + "type": "string" + }, + "title": "The regions where this instance type is available" }, - "terminated_at": { + "status": { "type": "string", - "format": "date-time" + "title": "The status of the instance" }, - "status": { - "$ref": "#/definitions/App.Status" + "require_plan": { + "type": "array", + "items": { + "type": "string" + }, + "title": "The plan required to use instance" }, - "messages": { + "vcpu_shares": { + "type": "number", + "format": "float", + "description": "The number of vcpu shares reserved for the instance." + }, + "display_name": { + "type": "string", + "title": "The display name of the instance" + }, + "aliases": { "type": "array", "items": { "type": "string" - } + }, + "title": "Aliases" }, - "version": { + "type": { "type": "string", - "format": "uint64" + "title": "The type of the instance (e.g. \"gpu\")" }, - "domains": { + "gpu": { + "$ref": "#/definitions/CatalogGPUDetails", + "title": "GPU details" + }, + "service_types": { "type": "array", "items": { - "$ref": "#/definitions/Domain" - } + "type": "string" + }, + "title": "Allowed service types for this instance (e.g. [\"web\", \"worker\"])" + }, + "volumes_enabled": { + "type": "boolean", + "title": "Are the volumes enabled for this instance type" } } }, - "App.Status": { - "type": "string", - "enum": [ - "STARTING", - "HEALTHY", - "DEGRADED", - "UNHEALTHY", - "DELETING", - "DELETED", - "PAUSING", - "PAUSED", - "RESUMING" - ], - "default": "STARTING" - }, - "AppEvent": { + "CatalogInstanceListItem": { "type": "object", "properties": { "id": { - "type": "string" - }, - "when": { "type": "string", - "format": "date-time" - }, - "organization_id": { - "type": "string" - }, - "app_id": { - "type": "string" + "title": "The name of the instance" }, - "type": { - "type": "string" + "description": { + "type": "string", + "title": "A short description of the instance" }, - "message": { - "type": "string" + "vcpu": { + "type": "integer", + "format": "int64", + "description": "The number of cpus. Deprecated. Use vcpu_shares instead." }, - "metadata": { - "type": "object" - } - } - }, - "AppListItem": { - "type": "object", - "properties": { - "id": { - "type": "string" + "memory": { + "type": "string", + "title": "The memory in bytes in a format like 5MB" }, - "name": { - "type": "string" + "disk": { + "type": "string", + "title": "The size of the disk in bytes in a format like 5MB" }, - "organization_id": { - "type": "string" + "price_per_second": { + "type": "string", + "title": "The price to pay per second" }, - "updated_at": { + "price_hourly": { "type": "string", - "format": "date-time" + "title": "The price to pay per hour" }, - "created_at": { + "price_monthly": { "type": "string", - "format": "date-time" + "title": "The price to pay per month" }, - "domains": { + "regions": { "type": "array", "items": { - "$ref": "#/definitions/Domain" - } + "type": "string" + }, + "title": "The regions where this instance type is available" }, "status": { - "$ref": "#/definitions/App.Status" + "type": "string", + "title": "The status of the instance" }, - "messages": { + "require_plan": { "type": "array", "items": { "type": "string" - } - } - } - }, - "CreateApp": { - "type": "object", - "properties": { - "name": { - "type": "string" - } - } - }, - "CreateAppReply": { - "type": "object", - "properties": { - "app": { - "$ref": "#/definitions/App", - "title": "The entity created" - } - } - }, - "DeleteAppReply": { - "type": "object" - }, - "Domain": { - "type": "object", - "properties": { - "id": { - "type": "string" - }, - "organization_id": { - "type": "string" - }, - "name": { - "type": "string" + }, + "title": "The plan required to use instance" }, - "created_at": { - "type": "string", - "format": "date-time" + "vcpu_shares": { + "type": "number", + "format": "float", + "description": "The number of vcpu shares reserved for the instance." }, - "updated_at": { + "display_name": { "type": "string", - "format": "date-time" + "title": "The display name of the instance" }, - "status": { - "$ref": "#/definitions/Domain.Status" + "aliases": { + "type": "array", + "items": { + "type": "string" + }, + "title": "Aliases" }, "type": { - "$ref": "#/definitions/Domain.Type" - }, - "app_id": { - "type": "string" - }, - "deployment_group": { - "type": "string" - }, - "verified_at": { "type": "string", - "format": "date-time" + "title": "The type of the instance (e.g. \"gpu\")" }, - "intended_cname": { - "type": "string" + "gpu": { + "$ref": "#/definitions/CatalogGPUDetails", + "title": "GPU details" }, - "messages": { + "service_types": { "type": "array", "items": { "type": "string" - } + }, + "title": "Allowed service types for this instance (e.g. [\"web\", \"worker\"])" }, - "version": { - "type": "string", - "format": "uint64" + "volumes_enabled": { + "type": "boolean", + "title": "Are the volumes enabled for this instance type" } } }, - "Domain.Status": { - "type": "string", - "enum": [ - "PENDING", - "ACTIVE", - "ERROR", - "DELETING", - "DELETED" - ], - "default": "PENDING" - }, - "Domain.Type": { - "type": "string", - "enum": [ - "AUTOASSIGNED", - "CUSTOM" - ], - "default": "AUTOASSIGNED", - "title": "- AUTOASSIGNED: Domain like -.koyeb.app" - }, - "GetAppReply": { + "GetCatalogInstanceReply": { "type": "object", "properties": { - "app": { - "$ref": "#/definitions/App", - "title": "The App retrieved" + "instance": { + "$ref": "#/definitions/CatalogInstance", + "title": "The instance retrieved" } } }, - "ListAppEventsReply": { + "ListCatalogInstancesReply": { "type": "object", "properties": { - "events": { + "instances": { "type": "array", "items": { - "$ref": "#/definitions/AppEvent" - }, - "title": "The collection of events" + "$ref": "#/definitions/CatalogInstanceListItem" + } }, "limit": { "type": "integer", @@ -10958,23 +10921,29 @@ "format": "int64", "title": "The offset in the request" }, - "order": { - "type": "string", - "title": "The order in the request" - }, - "has_next": { - "type": "boolean", - "title": "If there is more items after in the collection" + "count": { + "type": "integer", + "format": "int64", + "title": "The total number of items" } } }, - "ListAppsReply": { + "GetRegionReply": { "type": "object", "properties": { - "apps": { + "region": { + "$ref": "#/definitions/Region", + "title": "The Region retrieved" + } + } + }, + "ListRegionsReply": { + "type": "object", + "properties": { + "regions": { "type": "array", "items": { - "$ref": "#/definitions/AppListItem" + "$ref": "#/definitions/RegionListItem" } }, "limit": { @@ -10991,836 +10960,834 @@ "type": "integer", "format": "int64", "title": "The total number of items" - }, - "has_next": { - "type": "boolean", - "title": "If there is more items after in the collection" } } }, - "PauseAppReply": { - "type": "object" - }, - "ResumeAppReply": { - "type": "object" - }, - "UpdateApp": { + "Region": { "type": "object", "properties": { + "id": { + "type": "string", + "title": "The id of the region" + }, "name": { - "type": "string" - } - } - }, - "UpdateAppReply": { - "type": "object", - "properties": { - "app": { - "$ref": "#/definitions/App", - "title": "The entity updated" - } - } - }, - "GetInstanceReply": { - "type": "object", - "properties": { - "instance": { - "$ref": "#/definitions/Instance" + "type": "string", + "title": "The name of the region" + }, + "coordinates": { + "type": "array", + "items": { + "type": "string" + }, + "title": "The coordinates of the region (lat/long)" + }, + "status": { + "type": "string", + "title": "The status of the region" + }, + "instances": { + "type": "array", + "items": { + "type": "string" + }, + "title": "A list of instances available in this region" + }, + "datacenters": { + "type": "array", + "items": { + "type": "string" + }, + "title": "A list of datacenters available in this region" + }, + "volumes_enabled": { + "type": "boolean", + "title": "Are the volumes enabled for this instance type" + }, + "scope": { + "type": "string", + "description": "The scope of the region, continent, metropolitan area, etc." } } }, - "Instance": { + "RegionListItem": { "type": "object", "properties": { "id": { - "type": "string" - }, - "created_at": { "type": "string", - "format": "date-time" + "title": "The id of the region" }, - "updated_at": { + "name": { "type": "string", - "format": "date-time" - }, - "organization_id": { - "type": "string" - }, - "app_id": { - "type": "string" - }, - "service_id": { - "type": "string" - }, - "regional_deployment_id": { - "type": "string" - }, - "allocation_id": { - "type": "string" - }, - "type": { - "type": "string" - }, - "replica_index": { - "type": "integer", - "format": "int64" - }, - "region": { - "type": "string" - }, - "datacenter": { - "type": "string" + "title": "The name of the region" }, - "hypervisor": { - "type": "string" + "coordinates": { + "type": "array", + "items": { + "type": "string" + }, + "title": "The coordinates of the region (lat/long)" }, "status": { - "$ref": "#/definitions/Instance.Status" + "type": "string", + "title": "The status of the region" }, - "messages": { + "instances": { "type": "array", "items": { "type": "string" - } - }, - "started_at": { - "type": "string", - "format": "date-time" + }, + "title": "A list of instances available in this region" }, - "succeeded_at": { - "type": "string", - "format": "date-time" + "datacenters": { + "type": "array", + "items": { + "type": "string" + }, + "title": "A list of datacenters available in this region" }, - "terminated_at": { - "type": "string", - "format": "date-time" + "volumes_enabled": { + "type": "boolean", + "title": "Are the volumes enabled for this instance type" }, - "xyz_deployment_id": { + "scope": { "type": "string", - "description": "WARNING: Please don't use the following attribute.\nKoyeb doesn't guarantee backwards compatible breaking change and reserve the right to completely drop it without notice.\nUSE AT YOUR OWN RISK." + "description": "The scope of the region, continent, metropolitan area, etc." } } }, - "Instance.Status": { - "type": "string", - "enum": [ - "ALLOCATING", - "STARTING", - "HEALTHY", - "UNHEALTHY", - "STOPPING", - "STOPPED", - "ERROR", - "SLEEPING" - ], - "default": "ALLOCATING" - }, - "InstanceEvent": { + "Error": { "type": "object", "properties": { - "id": { - "type": "string" + "status": { + "type": "integer", + "format": "int32" }, - "when": { - "type": "string", - "format": "date-time" + "code": { + "type": "string" }, - "organization_id": { + "message": { + "type": "string" + } + } + }, + "ErrorField": { + "type": "object", + "properties": { + "field": { "type": "string" }, - "instance_id": { + "description": { "type": "string" + } + } + }, + "ErrorWithFields": { + "type": "object", + "properties": { + "status": { + "type": "integer", + "format": "int32" }, - "type": { + "code": { "type": "string" }, "message": { "type": "string" }, - "metadata": { - "type": "object" + "fields": { + "type": "array", + "items": { + "$ref": "#/definitions/ErrorField" + } } } }, - "InstanceListItem": { + "kgitproxy.Branch": { "type": "object", "properties": { "id": { "type": "string" }, - "created_at": { - "type": "string", - "format": "date-time" - }, - "updated_at": { - "type": "string", - "format": "date-time" - }, "organization_id": { "type": "string" }, - "app_id": { - "type": "string" - }, - "service_id": { - "type": "string" - }, - "regional_deployment_id": { - "type": "string" - }, - "allocation_id": { + "repository_id": { "type": "string" }, - "type": { + "name": { "type": "string" }, - "replica_index": { - "type": "integer", - "format": "int64" + "is_default": { + "type": "boolean" }, - "region": { - "type": "string" + "is_protected": { + "type": "boolean" }, - "datacenter": { + "provider": { + "$ref": "#/definitions/kgitproxy.RepositoryProvider" + } + } + }, + "kgitproxy.GitHubRepository": { + "type": "object", + "properties": { + "github_id": { "type": "string" - }, - "status": { - "$ref": "#/definitions/Instance.Status" - }, - "messages": { - "type": "array", - "items": { - "type": "string" - } - }, - "xyz_deployment_id": { - "type": "string", - "description": "WARNING: Please don't use the following attribute.\nKoyeb doesn't guarantee backwards compatible breaking change and reserve the right to completely drop it without notice.\nUSE AT YOUR OWN RISK." } } }, - "ListInstanceEventsReply": { + "kgitproxy.ListBranchesReply": { "type": "object", "properties": { - "events": { + "branches": { "type": "array", "items": { - "$ref": "#/definitions/InstanceEvent" + "$ref": "#/definitions/kgitproxy.Branch" }, - "title": "The collection of events" + "description": "The collection of branches." }, "limit": { "type": "integer", "format": "int64", - "title": "The limit in the request" + "description": "The limit in the request." }, "offset": { "type": "integer", "format": "int64", - "title": "The offset in the request" - }, - "order": { - "type": "string", - "title": "The order in the request" + "description": "The offset in the request." }, - "has_next": { - "type": "boolean", - "title": "If there is more items after in the collection" + "count": { + "type": "integer", + "format": "int64", + "description": "The total number of items." } } }, - "ListInstancesReply": { + "kgitproxy.ListRepositoriesReply": { "type": "object", "properties": { - "instances": { + "repositories": { "type": "array", "items": { - "$ref": "#/definitions/InstanceListItem" + "$ref": "#/definitions/kgitproxy.Repository" }, - "title": "The collection of instances" + "description": "The collection of repositories." }, "limit": { "type": "integer", "format": "int64", - "title": "The limit in the request" + "description": "The limit in the request." }, "offset": { "type": "integer", "format": "int64", - "title": "The offset in the request" + "description": "The offset in the request." }, "count": { "type": "integer", "format": "int64", - "title": "The total number of items" - }, - "order": { - "type": "string", - "title": "The order in the request" + "description": "The total number of items." } } }, - "AzureContainerRegistryConfiguration": { + "kgitproxy.Repository": { "type": "object", "properties": { - "registry_name": { + "id": { "type": "string" }, - "username": { + "organization_id": { "type": "string" }, - "password": { - "type": "string" - } - } - }, - "CreateSecret": { - "type": "object", - "properties": { "name": { "type": "string" }, - "type": { - "$ref": "#/definitions/SecretType" - }, - "value": { + "url": { "type": "string" }, - "docker_hub_registry": { - "$ref": "#/definitions/DockerHubRegistryConfiguration" + "description": { + "type": "string" }, - "private_registry": { - "$ref": "#/definitions/PrivateRegistryConfiguration" + "is_private": { + "type": "boolean" }, - "digital_ocean_registry": { - "$ref": "#/definitions/DigitalOceanRegistryConfiguration" + "is_disabled": { + "type": "boolean" }, - "github_registry": { - "$ref": "#/definitions/GitHubRegistryConfiguration" + "default_branch": { + "type": "string" }, - "gitlab_registry": { - "$ref": "#/definitions/GitLabRegistryConfiguration" + "provider": { + "$ref": "#/definitions/kgitproxy.RepositoryProvider" }, - "gcp_container_registry": { - "$ref": "#/definitions/GCPContainerRegistryConfiguration" + "last_push_date": { + "type": "string", + "format": "date-time" }, - "azure_container_registry": { - "$ref": "#/definitions/AzureContainerRegistryConfiguration" - } - } - }, - "CreateSecretReply": { - "type": "object", - "properties": { - "secret": { - "$ref": "#/definitions/Secret" + "github": { + "$ref": "#/definitions/kgitproxy.GitHubRepository" } } }, - "DatabaseRolePassword": { - "type": "object", - "properties": { - "username": { - "type": "string" - }, - "password": { - "type": "string" - } - } + "kgitproxy.RepositoryProvider": { + "type": "string", + "enum": [ + "INVALID_PROVIDER", + "GITHUB" + ], + "default": "INVALID_PROVIDER" }, - "DeleteSecretReply": { + "kgitproxy.ResyncOrganizationReply": { "type": "object" }, - "DigitalOceanRegistryConfiguration": { + "GetQuotasReply": { "type": "object", "properties": { - "username": { - "type": "string" - }, - "password": { - "type": "string" + "quotas": { + "$ref": "#/definitions/Quotas" } } }, - "DockerHubRegistryConfiguration": { + "PersistentVolumeQuotas": { "type": "object", "properties": { - "username": { - "type": "string" + "max_total_size": { + "type": "integer", + "format": "int64", + "description": "MaxTotalSize for all volumes on a region (in Gigabyte / GB)." }, - "password": { - "type": "string" - } - } - }, - "GCPContainerRegistryConfiguration": { - "type": "object", - "properties": { - "keyfile_content": { - "type": "string" + "max_volume_size": { + "type": "integer", + "format": "int64", + "description": "MaxVolumeSize for one volume (in Gigabyte / GB)." }, - "url": { - "type": "string" - } - } - }, - "GetSecretReply": { - "type": "object", - "properties": { - "secret": { - "$ref": "#/definitions/Secret" + "max_per_instance_size": { + "type": "integer", + "format": "int64", + "description": "MaxPerInstanceSize for all volumes on an instance (in Gigabyte / GB)." } } }, - "GitHubRegistryConfiguration": { + "Quotas": { "type": "object", "properties": { - "username": { - "type": "string" + "apps": { + "type": "string", + "format": "int64" }, - "password": { - "type": "string" - } - } - }, - "GitLabRegistryConfiguration": { - "type": "object", - "properties": { - "username": { - "type": "string" + "services": { + "type": "string", + "format": "int64" }, - "password": { - "type": "string" - } - } - }, - "ListSecretsReply": { - "type": "object", - "properties": { - "secrets": { + "domains": { + "type": "string", + "format": "int64" + }, + "services_by_app": { + "type": "string", + "format": "int64" + }, + "service_provisioning_concurrency": { + "type": "string", + "format": "int64" + }, + "memory_mb": { + "type": "string", + "format": "int64" + }, + "instance_types": { "type": "array", "items": { - "$ref": "#/definitions/Secret" + "type": "string" } }, - "limit": { - "type": "integer", - "format": "int64" + "regions": { + "type": "array", + "items": { + "type": "string" + } }, - "offset": { - "type": "integer", + "max_organization_members": { + "type": "string", "format": "int64" }, - "count": { - "type": "integer", - "format": "int64" + "max_instances_by_type": { + "type": "object", + "additionalProperties": { + "type": "string", + "format": "int64" + } + }, + "persistent_volumes_by_region": { + "type": "object", + "additionalProperties": { + "$ref": "#/definitions/PersistentVolumeQuotas" + } } } }, - "PrivateRegistryConfiguration": { + "LoginReply": { "type": "object", "properties": { - "username": { - "type": "string" - }, - "password": { - "type": "string" - }, - "url": { - "type": "string" + "token": { + "$ref": "#/definitions/Token" } } }, - "RevealSecretReply": { + "LoginRequest": { "type": "object", + "example": { + "email": "john@snow.com", + "password": "..." + }, "properties": { - "value": {} + "email": { + "type": "string", + "title": "User email" + }, + "password": { + "type": "string", + "title": "User password" + }, + "organization_id": { + "type": "string", + "title": "(Optional) Login into this organization" + } } }, - "Secret": { + "LogoutReply": { + "type": "object" + }, + "Token": { "type": "object", + "example": { + "id": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...", + "expires": "2022-09-08T14:00:00Z", + "user_id": "996d7822-6b58-11e9-956f-32001b70f000", + "organization_id": "9f33b2c6-6b58-11e9-883c-32001b70f000" + }, "properties": { "id": { "type": "string" }, - "name": { + "user_id": { "type": "string" }, "organization_id": { "type": "string" }, - "type": { - "$ref": "#/definitions/SecretType" - }, - "updated_at": { + "expires_at": { "type": "string", "format": "date-time" - }, - "created_at": { - "type": "string", - "format": "date-time" - }, - "value": { - "type": "string" - }, - "docker_hub_registry": { - "$ref": "#/definitions/DockerHubRegistryConfiguration" - }, - "private_registry": { - "$ref": "#/definitions/PrivateRegistryConfiguration" - }, - "digital_ocean_registry": { - "$ref": "#/definitions/DigitalOceanRegistryConfiguration" - }, - "github_registry": { - "$ref": "#/definitions/GitHubRegistryConfiguration" - }, - "gitlab_registry": { - "$ref": "#/definitions/GitLabRegistryConfiguration" - }, - "gcp_container_registry": { - "$ref": "#/definitions/GCPContainerRegistryConfiguration" - }, - "azure_container_registry": { - "$ref": "#/definitions/AzureContainerRegistryConfiguration" - }, - "database_role_password": { - "$ref": "#/definitions/DatabaseRolePassword" } } }, - "SecretType": { - "type": "string", - "enum": [ - "SIMPLE", - "REGISTRY", - "MANAGED" - ], - "default": "SIMPLE" - }, - "UpdateSecretReply": { - "type": "object", - "properties": { - "secret": { - "$ref": "#/definitions/Secret" - } - } + "ConfirmOrganizationActionReply": { + "type": "object" }, - "VerifyDockerImageReply": { + "CreateCredential": { "type": "object", "properties": { - "success": { - "type": "boolean", - "title": "Whether the image is accessible or not" + "name": { + "type": "string", + "title": "Credential name" }, - "reason": { + "description": { "type": "string", - "title": "(Optional) If the image is not accessible, the reason" + "title": "Credential description" }, - "code": { - "$ref": "#/definitions/VerifyDockerImageReply.ErrCode", - "title": "(Optional) If the image is not accessible, return an error code" + "type": { + "$ref": "#/definitions/Credential.Type", + "title": "Credential type" + }, + "organization_id": { + "type": "string", + "title": "Organization id for user credential" } } }, - "VerifyDockerImageReply.ErrCode": { - "type": "string", - "enum": [ - "UNKNOWN", - "AUTH_ACCESS_DENIED", - "ANON_ACCESS_DENIED", - "AUTH_NOT_FOUND", - "ANON_NOT_FOUND", - "REGISTRY_ERROR", - "TIMEOUT", - "DNS", - "MALFORMED", - "INVALID_OS", - "INVALID_ARCH" - ], - "default": "UNKNOWN", - "description": "- UNKNOWN: Default value\n - AUTH_ACCESS_DENIED: The registry denied access to an authenticated request\n - ANON_ACCESS_DENIED: The registry denied access to an anonymous request\n - AUTH_NOT_FOUND: The image has not been found after an authenticated request\n - ANON_NOT_FOUND: The image has not been found after an anonymous request\n - REGISTRY_ERROR: The registry returned an error\n - TIMEOUT: The request to the registry timed out\n - DNS: There was an error trying to resolve the name of the registry\n - MALFORMED: The provided image name is malformed\n - INVALID_OS: The operating system is not supported\n - INVALID_ARCH: The architecture is not supported", - "title": "The error code associated to each specific failure mode" - }, - "CreatePersistentVolumeReply": { + "CreateCredentialReply": { "type": "object", "properties": { - "volume": { - "$ref": "#/definitions/PersistentVolume" + "credential": { + "$ref": "#/definitions/Credential" } } }, - "CreatePersistentVolumeRequest": { + "Credential": { "type": "object", "properties": { - "volume_type": { - "$ref": "#/definitions/PersistentVolumeBackingStore", - "title": "the volume backing store type" + "id": { + "type": "string" + }, + "type": { + "$ref": "#/definitions/Credential.Type" }, "name": { - "type": "string", - "title": "the volume name" + "type": "string" }, - "region": { - "type": "string", - "title": "the volume region" + "token": { + "type": "string" }, - "read_only": { - "type": "boolean", - "title": "whether the volume must be set as read only" + "description": { + "type": "string" }, - "max_size": { - "type": "integer", - "format": "int64", - "title": "the size of the volume (in Gigabyte / GB)" + "user_id": { + "type": "string" }, - "snapshot_id": { + "organization_id": { + "type": "string" + }, + "updated_at": { "type": "string", - "title": "(optional) the id of the snapshot whence the volume comes from" + "format": "date-time" + }, + "created_at": { + "type": "string", + "format": "date-time" } } }, - "DeletePersistentVolumeReply": { - "type": "object", - "properties": { - "volume": { - "$ref": "#/definitions/PersistentVolume" - } - } + "Credential.Type": { + "type": "string", + "enum": [ + "INVALID", + "USER", + "ORGANIZATION" + ], + "default": "INVALID" }, - "GetPersistentVolumeReply": { + "DeleteCredentialReply": { + "type": "object" + }, + "GetCredentialReply": { "type": "object", "properties": { - "volume": { - "$ref": "#/definitions/PersistentVolume" + "credential": { + "$ref": "#/definitions/Credential" } } }, - "ListPersistentVolumeEventsReply": { + "ListCredentialsReply": { "type": "object", "properties": { - "events": { + "credentials": { "type": "array", "items": { - "$ref": "#/definitions/PersistentVolumeEvent" - }, - "title": "The collection of events" + "$ref": "#/definitions/Credential" + } }, "limit": { "type": "integer", - "format": "int64", - "title": "The limit in the request" + "format": "int64" }, "offset": { "type": "integer", - "format": "int64", - "title": "The offset in the request" - }, - "order": { - "type": "string", - "title": "The order in the request" + "format": "int64" }, - "has_next": { - "type": "boolean", - "title": "If there is more items after in the collection" + "count": { + "type": "integer", + "format": "int64" } } }, - "ListPersistentVolumesReply": { + "UpdateCredentialReply": { "type": "object", "properties": { - "volumes": { - "type": "array", - "items": { - "$ref": "#/definitions/PersistentVolume" - }, - "title": "The collection of persistent volumes" - }, - "limit": { - "type": "integer", - "format": "int64", - "title": "The limit in the request" - }, - "offset": { - "type": "integer", - "format": "int64", - "title": "The offset in the request" - }, - "has_next": { - "type": "boolean", - "title": "If there is more items after in the collection" + "credential": { + "$ref": "#/definitions/Credential" } } }, - "PersistentVolume": { + "DeleteUserReply": { + "type": "object", + "properties": { + "user": { + "$ref": "#/definitions/User" + } + } + }, + "User": { "type": "object", + "example": { + "id": "78352123-a06f-4ec2-81ed-27a056725385", + "email": "john@snow.com", + "name": "John Snow", + "avatar_url": "https://www.gravatar.com/avatar/00000000000000000000000000000000", + "is_admin": false, + "is_test": true, + "two_factor_authentication": false, + "last_login": "0001-01-01T00:00:00Z", + "last_login_id": "10.1.1.1", + "updated_at": "0001-01-01T00:00:00Z", + "created_at": "0001-01-01T00:00:00Z", + "newsletter_subscribed": true, + "email_validated": true + }, "properties": { "id": { - "type": "string", - "title": "the identifier for the volume object" + "type": "string" }, - "name": { + "email": { + "type": "string" + }, + "avatar_url": { + "type": "string" + }, + "two_factor_authentication": { + "type": "boolean" + }, + "last_login": { "type": "string", - "title": "the volume name" + "format": "date-time" }, - "snapshot_id": { + "last_login_ip": { + "type": "string" + }, + "updated_at": { "type": "string", - "title": "(optional) the id of the snapshot whence the volume comes from" + "format": "date-time" }, "created_at": { "type": "string", - "format": "date-time", - "title": "creation timestamp" + "format": "date-time" }, - "updated_at": { - "type": "string", - "format": "date-time", - "title": "last change timestamp" + "newsletter_subscribed": { + "type": "boolean" }, - "deleted_at": { - "type": "string", - "format": "date-time", - "title": "deletion timestamp" + "github_id": { + "type": "string" }, - "organization_id": { - "type": "string", - "title": "the organization to which the volume belongs to" + "github_user": { + "type": "string" }, - "service_id": { - "type": "string", - "title": "the service_id to which the volume is eventually bound to" + "flags": { + "type": "array", + "items": { + "$ref": "#/definitions/UserFlags" + } }, - "region": { - "type": "string", - "title": "the region where the volume exists" + "name": { + "type": "string" }, - "read_only": { - "type": "boolean", - "title": "whether to mount the volume in read-only mode" + "email_validated": { + "type": "boolean" }, - "max_size": { + "trialed": { + "type": "boolean" + } + }, + "title": "Represent a User" + }, + "UserFlags": { + "type": "string", + "enum": [ + "ADMIN", + "TEST", + "RESTRICTED", + "ACTIVE", + "BETA" + ], + "default": "ADMIN", + "title": "- ADMIN: A user is an admin user\n - TEST: A user is a test user\n - RESTRICTED: Whether this account as restricted access\n - ACTIVE: Whether this account is active\n - BETA: Account in beta program" + }, + "GetIntercomProfileReply": { + "type": "object", + "properties": { + "hash": { + "type": "string" + } + } + }, + "ListOrganizationMembersReply": { + "type": "object", + "properties": { + "members": { + "type": "array", + "items": { + "$ref": "#/definitions/OrganizationMember" + }, + "title": "The collection of organization members" + }, + "limit": { "type": "integer", "format": "int64", - "title": "the maximum size of the volume (in Gigabyte / GB)" + "title": "The limit in the request" }, - "cur_size": { + "offset": { "type": "integer", "format": "int64", - "title": "the used amount of space as measured the last time (in Gigabyte / GB)" - }, - "status": { - "$ref": "#/definitions/PersistentVolumeStatus", - "title": "the status of the volume" + "title": "The offset in the request" }, - "backing_store": { - "$ref": "#/definitions/PersistentVolumeBackingStore", - "title": "the backing store type" + "count": { + "type": "integer", + "format": "int64", + "title": "The total number of items" } - }, - "title": "The object that represent a volume to handle persistency for deployments" + } }, - "PersistentVolumeBackingStore": { + "Organization.Status": { "type": "string", "enum": [ - "PERSISTENT_VOLUME_BACKING_STORE_INVALID", - "PERSISTENT_VOLUME_BACKING_STORE_LOCAL_BLK" + "WARNING", + "LOCKED", + "ACTIVE", + "DEACTIVATING", + "DEACTIVATED", + "DELETING", + "DELETED" ], - "default": "PERSISTENT_VOLUME_BACKING_STORE_INVALID", - "title": "- PERSISTENT_VOLUME_BACKING_STORE_INVALID: zero value, invalid\n - PERSISTENT_VOLUME_BACKING_STORE_LOCAL_BLK: the backing store is a locally reachable block device" + "default": "WARNING" }, - "PersistentVolumeEvent": { + "OrganizationMember": { "type": "object", "properties": { "id": { "type": "string" }, - "when": { - "type": "string", - "format": "date-time" - }, "organization_id": { "type": "string" }, - "persistent_volume_id": { + "user_id": { "type": "string" }, - "type": { - "type": "string" + "joined_at": { + "type": "string", + "format": "date-time" }, - "message": { - "type": "string" + "role": { + "$ref": "#/definitions/UserRole.Role" }, - "metadata": { - "type": "object" + "status": { + "$ref": "#/definitions/OrganizationMember.Status" + }, + "user": { + "$ref": "#/definitions/PublicUser" + }, + "organization": { + "$ref": "#/definitions/PublicOrganization" } } }, - "PersistentVolumeStatus": { + "OrganizationMember.Status": { "type": "string", "enum": [ - "PERSISTENT_VOLUME_STATUS_INVALID", - "PERSISTENT_VOLUME_STATUS_ATTACHED", - "PERSISTENT_VOLUME_STATUS_DETACHED", - "PERSISTENT_VOLUME_STATUS_DELETING", - "PERSISTENT_VOLUME_STATUS_DELETED" + "INVALID", + "ACTIVE", + "DELETED" ], - "default": "PERSISTENT_VOLUME_STATUS_INVALID", - "title": "- PERSISTENT_VOLUME_STATUS_INVALID: zero value, invalid\n - PERSISTENT_VOLUME_STATUS_ATTACHED: the volume is attached to an instance\n - PERSISTENT_VOLUME_STATUS_DETACHED: the volume is free to use\n - PERSISTENT_VOLUME_STATUS_DELETING: the volume will be deleted\n - PERSISTENT_VOLUME_STATUS_DELETED: the volume was deleted" + "default": "INVALID" }, - "UpdatePersistentVolumeReply": { + "Plan": { + "type": "string", + "enum": [ + "hobby", + "starter", + "startup", + "business", + "enterprise", + "internal", + "hobby23", + "no_plan", + "pro", + "scale" + ], + "default": "hobby" + }, + "PublicOrganization": { "type": "object", "properties": { - "volume": { - "$ref": "#/definitions/PersistentVolume" + "id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "plan": { + "$ref": "#/definitions/Plan" + }, + "status": { + "$ref": "#/definitions/Organization.Status" } } }, - "CreateSnapshotReply": { + "PublicUser": { "type": "object", "properties": { - "snapshot": { - "$ref": "#/definitions/Snapshot" + "id": { + "type": "string" + }, + "email": { + "type": "string" + }, + "name": { + "type": "string" + }, + "avatar_url": { + "type": "string" + }, + "github_id": { + "type": "string" + }, + "github_user": { + "type": "string" } } }, - "CreateSnapshotRequest": { + "RemoveOrganizationMemberReply": { "type": "object", "properties": { - "parent_volume_id": { - "type": "string", - "title": "The id of the volume to snapshot" - }, - "name": { - "type": "string", - "title": "The name of the snapshot" + "member": { + "$ref": "#/definitions/OrganizationMember" } } }, - "DeleteSnapshotReply": { + "UserRole.Role": { + "type": "string", + "enum": [ + "INVALID", + "OWNER" + ], + "default": "INVALID" + }, + "CreateOrganizationInvitationReply": { "type": "object", "properties": { - "snapshot": { - "$ref": "#/definitions/Snapshot" + "invitation": { + "$ref": "#/definitions/OrganizationInvitation", + "title": "The organization invitation sent" } } }, - "GetSnapshotReply": { + "CreateOrganizationInvitationRequest": { "type": "object", "properties": { - "snapshot": { - "$ref": "#/definitions/Snapshot" + "email": { + "type": "string", + "title": "The email of the person to invite" } } }, - "ListSnapshotsReply": { + "DeleteOrganizationInvitationReply": { + "type": "object" + }, + "GetOrganizationInvitationReply": { "type": "object", "properties": { - "snapshots": { + "invitation": { + "$ref": "#/definitions/OrganizationInvitation" + } + } + }, + "ListOrganizationInvitationsReply": { + "type": "object", + "properties": { + "invitations": { "type": "array", "items": { - "$ref": "#/definitions/Snapshot" + "$ref": "#/definitions/OrganizationInvitation" }, - "title": "The collection of snapshots" + "title": "The collection of organization invitations" }, "limit": { "type": "integer", @@ -11832,334 +11799,328 @@ "format": "int64", "title": "The offset in the request" }, - "has_next": { - "type": "boolean", - "title": "If there is more items after in the collection" + "count": { + "type": "integer", + "format": "int64", + "title": "The total number of items" } } }, - "Snapshot": { + "OrganizationInvitation": { "type": "object", "properties": { "id": { - "type": "string", - "title": "the identifier of the snapshot object" - }, - "name": { - "type": "string", - "title": "the snapshot name" + "type": "string" }, - "size": { - "type": "integer", - "format": "int64", - "title": "the original volume size" + "email": { + "type": "string" }, - "created_at": { - "type": "string", - "format": "date-time", - "title": "creation timestamp" + "role": { + "$ref": "#/definitions/UserRole.Role" }, - "updated_at": { - "type": "string", - "format": "date-time", - "title": "last change timestamp" + "status": { + "$ref": "#/definitions/OrganizationInvitation.Status" }, - "deleted_at": { + "expires_at": { "type": "string", - "format": "date-time", - "title": "deletion timestamp" + "format": "date-time" }, "organization_id": { - "type": "string", - "title": "the organization to which the snapshot belongs to" + "type": "string" }, - "parent_volume_id": { - "type": "string", - "title": "the volume from which the snapshot has been created" + "organization": { + "$ref": "#/definitions/PublicOrganization" }, - "region": { - "type": "string", - "title": "the region where the snapshot resides, if any" + "invitee_id": { + "type": "string" }, - "status": { - "$ref": "#/definitions/SnapshotStatus", - "title": "the status of the snapshot" + "invitee": { + "$ref": "#/definitions/PublicUser" }, - "type": { - "$ref": "#/definitions/SnapshotType", - "title": "the type of snapshot (can be local or remote)" + "inviter_id": { + "type": "string" + }, + "inviter": { + "$ref": "#/definitions/PublicUser" } - }, - "description": "The object that represents a snapshot. It can either be local, on a node, or remote, in a cold storage." + } }, - "SnapshotStatus": { + "OrganizationInvitation.Status": { "type": "string", "enum": [ - "SNAPSHOT_STATUS_INVALID", - "SNAPSHOT_STATUS_CREATING", - "SNAPSHOT_STATUS_AVAILABLE", - "SNAPSHOT_STATUS_MIGRATING", - "SNAPSHOT_STATUS_DELETING", - "SNAPSHOT_STATUS_DELETED" + "INVALID", + "PENDING", + "ACCEPTED", + "REFUSED", + "EXPIRED" ], - "default": "SNAPSHOT_STATUS_INVALID", - "title": "- SNAPSHOT_STATUS_INVALID: zero value, invalid\n - SNAPSHOT_STATUS_CREATING: the snapshot is being created\n - SNAPSHOT_STATUS_AVAILABLE: the snapshot is complete and available\n - SNAPSHOT_STATUS_MIGRATING: the snapshot is being migrated\n - SNAPSHOT_STATUS_DELETING: the snapshot is being deleted\n - SNAPSHOT_STATUS_DELETED: the snapshot is deleted" + "default": "INVALID" }, - "SnapshotType": { + "ResendOrganizationInvitationReply": { + "type": "object", + "properties": { + "invitation": { + "$ref": "#/definitions/OrganizationInvitation", + "title": "The organization invitation resent" + } + } + }, + "google.protobuf.NullValue": { "type": "string", "enum": [ - "SNAPSHOT_TYPE_INVALID", - "SNAPSHOT_TYPE_LOCAL", - "SNAPSHOT_TYPE_REMOTE" + "NULL_VALUE" ], - "default": "SNAPSHOT_TYPE_INVALID", - "title": "- SNAPSHOT_TYPE_INVALID: zero value, invalid\n - SNAPSHOT_TYPE_LOCAL: the snapshot is local to the machine\n - SNAPSHOT_TYPE_REMOTE: the snapshot is remote in a cold storage" + "default": "NULL_VALUE", + "description": "`NullValue` is a singleton enumeration to represent the null value for the\n`Value` type union.\n\n The JSON representation for `NullValue` is JSON `null`.\n\n - NULL_VALUE: Null value." }, - "UpdateSnapshotReply": { + "AcceptOrganizationInvitationReply": { "type": "object", "properties": { - "snapshot": { - "$ref": "#/definitions/Snapshot" + "invitation": { + "$ref": "#/definitions/OrganizationInvitation", + "title": "The organization invitation accepted" } } }, - "CreateStageAttemptReply": { - "type": "object" - }, - "DeclareStageProgressReply": { - "type": "object" - }, - "DeclareStepProgressReply": { - "type": "object" - }, - "DeploymentProvisioningInfo.Stage.Status": { + "Action": { "type": "string", "enum": [ - "UNKNOWN", - "PENDING", - "RUNNING", - "FAILED", - "COMPLETED", - "ABORTED" + "signin", + "signup", + "register" ], - "default": "UNKNOWN" + "default": "signin" }, - "AppUsage": { + "CannyAuthReply": { "type": "object", "properties": { - "app_id": { - "type": "string" - }, - "app_name": { + "token": { "type": "string" - }, - "services": { - "type": "array", - "items": { - "$ref": "#/definitions/ServiceUsage" - } } } }, - "GetOrganizationUsageDetailsReply": { + "CannyAuthRequest": { + "type": "object" + }, + "CreateAccountRequest": { "type": "object", + "example": { + "email": "john@snow.com", + "password": "..." + }, "properties": { - "usage_details": { - "type": "array", - "items": { - "$ref": "#/definitions/UsageDetails" - }, - "title": "The collection of usage instances" - }, - "limit": { - "type": "integer", - "format": "int64", - "title": "The limit in the request" + "email": { + "type": "string" }, - "offset": { - "type": "integer", - "format": "int64", - "title": "The offset in the request" + "password": { + "type": "string" }, - "count": { - "type": "integer", - "format": "int64", - "title": "The total number of items" + "name": { + "type": "string" }, - "order": { - "type": "string", - "title": "The order in the request" + "captcha": { + "type": "string" + } + }, + "description": "Create new account", + "title": "Create new account", + "required": [ + "email", + "password" + ] + }, + "CreateOrganizationReply": { + "type": "object", + "properties": { + "organization": { + "$ref": "#/definitions/Organization" } } }, - "GetOrganizationUsageReply": { + "CreateOrganizationRequest": { "type": "object", "properties": { - "usage": { - "$ref": "#/definitions/Usage", - "title": "The computed usage of instances per month" + "name": { + "type": "string" } } }, - "InstanceUsage": { + "DeactivateOrganizationReply": { "type": "object", "properties": { - "duration_seconds": { - "type": "integer", - "format": "int64" + "organization": { + "$ref": "#/definitions/Organization" } } }, - "PeriodUsage": { + "DeclineOrganizationInvitationReply": { "type": "object", "properties": { - "starting_time": { - "type": "string", - "format": "date-time" - }, - "ending_time": { - "type": "string", - "format": "date-time" - }, - "apps": { - "type": "array", - "items": { - "$ref": "#/definitions/AppUsage" - } + "invitation": { + "$ref": "#/definitions/OrganizationInvitation", + "title": "The organization invitation declined" } } }, - "RegionUsage": { + "DeleteOrganizationReply": { "type": "object", "properties": { - "instances": { - "type": "object", - "additionalProperties": { - "$ref": "#/definitions/InstanceUsage" - } + "organization": { + "$ref": "#/definitions/Organization" } } }, - "ServiceUsage": { + "DiscourseAuthReply": { "type": "object", "properties": { - "service_id": { + "sso": { "type": "string" }, - "service_name": { + "sig": { "type": "string" - }, - "regions": { - "type": "object", - "additionalProperties": { - "$ref": "#/definitions/RegionUsage" - } } } }, - "Usage": { + "DiscourseAuthRequest": { "type": "object", "properties": { - "organization_id": { + "payload": { "type": "string" }, - "periods": { - "type": "object", - "additionalProperties": { - "$ref": "#/definitions/PeriodUsage" - } + "sig": { + "type": "string" } } }, - "UsageDetails": { + "GetGithubInstallationReply": { "type": "object", "properties": { - "organization_id": { - "type": "string" - }, - "instance_id": { + "installation_id": { "type": "string" }, - "app_id": { + "installation_url": { "type": "string" }, - "app_name": { + "name": { "type": "string" }, - "service_id": { + "avatar_url": { "type": "string" }, - "service_name": { - "type": "string" + "status": { + "$ref": "#/definitions/kgitproxy.GithubInstallation.Status" }, - "regional_deployment_id": { - "type": "string" + "installed_at": { + "type": "string", + "format": "date-time" }, - "region": { - "type": "string" + "suspended_at": { + "type": "string", + "format": "date-time" }, - "deployment_id": { - "type": "string" + "indexing_status": { + "$ref": "#/definitions/kgitproxy.IndexingStatus" }, - "instance_type": { - "type": "string" + "indexed_repositories": { + "type": "integer", + "format": "int64" }, - "duration_seconds": { + "total_repositories": { "type": "integer", "format": "int64" + } + } + }, + "GetOAuthOptionsReply": { + "type": "object", + "properties": { + "oauth_providers": { + "type": "array", + "items": { + "$ref": "#/definitions/OAuthProvider" + } + } + }, + "description": "A list of providers which you can use for single sign-on." + }, + "GetOrganizationReply": { + "type": "object", + "properties": { + "organization": { + "$ref": "#/definitions/Organization" + } + } + }, + "GetUserOrganizationInvitationReply": { + "type": "object", + "properties": { + "invitation": { + "$ref": "#/definitions/OrganizationInvitation" + } + } + }, + "GithubInstallationReply": { + "type": "object", + "properties": { + "app_name": { + "type": "string", + "title": "The github app name" }, - "started_at": { + "app_id": { "type": "string", - "format": "date-time" + "format": "int64", + "title": "The github app id" }, - "terminated_at": { + "url": { "type": "string", - "format": "date-time" + "title": "The url to start the installation flow" + }, + "state": { + "type": "string", + "title": "The state required by the protocol, it is only valid 10 minutes and encodes information about the type of flow" } } }, - "CreateDomain": { + "GithubInstallationRequest": { "type": "object", "properties": { - "name": { - "type": "string" - }, - "type": { - "$ref": "#/definitions/Domain.Type" - }, - "app_id": { + "metadata": { "type": "string", - "title": "to auto-attach to an app. Optional" + "title": "A small (limited to 400 characters) string of arbitrary metadata which will be encoded in the state" } } }, - "CreateDomainReply": { + "HasUnpaidInvoicesReply": { "type": "object", "properties": { - "domain": { - "$ref": "#/definitions/Domain" + "has_unpaid_invoices": { + "type": "boolean" } } }, - "DeleteDomainReply": { - "type": "object" - }, - "GetDomainReply": { + "InviteUserRequest": { "type": "object", "properties": { - "domain": { - "$ref": "#/definitions/Domain" + "email": { + "type": "string" + }, + "name": { + "type": "string" + }, + "message": { + "type": "string" } } }, - "ListDomainsReply": { + "ListUserOrganizationInvitationsReply": { "type": "object", "properties": { - "domains": { + "invitations": { "type": "array", "items": { - "$ref": "#/definitions/Domain" - } + "$ref": "#/definitions/OrganizationInvitation" + }, + "title": "The collection of organization invitations" }, "limit": { "type": "integer", @@ -12178,1235 +12139,1288 @@ } } }, - "RefreshDomainStatusReply": { - "type": "object" + "ManageReply": { + "type": "object", + "properties": { + "url": { + "type": "string" + } + } }, - "UpdateDomain": { + "NextInvoiceReply": { "type": "object", "properties": { - "app_id": { - "type": "string", - "description": "To attach or detach from an app for custom domain." + "stripe_invoice": { + "type": "object" }, - "subdomain": { - "type": "string", - "description": "To change subdomain for auto-assigned domain." + "lines": { + "type": "array", + "items": { + "$ref": "#/definitions/NextInvoiceReply.Line" + } + }, + "discounts": { + "type": "array", + "items": { + "$ref": "#/definitions/NextInvoiceReply.Discount" + } } } }, - "UpdateDomainReply": { + "NextInvoiceReply.Discount": { "type": "object", "properties": { - "domain": { - "$ref": "#/definitions/Domain" + "type": { + "$ref": "#/definitions/NextInvoiceReply.Discount.Type" + }, + "name": { + "type": "string" + }, + "amount": { + "type": "string", + "format": "int64" } } }, - "ArchiveDeploymentMetadata": { + "NextInvoiceReply.Discount.Type": { + "type": "string", + "enum": [ + "PERCENT_OFF", + "AMOUNT_OFF" + ], + "default": "PERCENT_OFF" + }, + "NextInvoiceReply.Line": { "type": "object", "properties": { - "last_provisioned_deployment_id": { + "amount_excluding_tax": { + "type": "integer", + "format": "int32" + }, + "period": { + "$ref": "#/definitions/NextInvoiceReply.Line.Period" + }, + "plan_nickname": { "type": "string" + }, + "price": { + "$ref": "#/definitions/NextInvoiceReply.Line.Price" + }, + "quantity": { + "type": "integer", + "format": "int32" } } }, - "ArchiveSource": { + "NextInvoiceReply.Line.Period": { "type": "object", "properties": { - "id": { + "start": { "type": "string", - "title": "The ID of the archive to deploy" - }, - "buildpack": { - "$ref": "#/definitions/BuildpackBuilder" + "format": "date-time" }, - "docker": { - "$ref": "#/definitions/DockerBuilder" + "end": { + "type": "string", + "format": "date-time" } } }, - "AutoRelease": { + "NextInvoiceReply.Line.Price": { "type": "object", "properties": { - "groups": { - "type": "array", - "items": { - "$ref": "#/definitions/AutoRelease.Group" - } + "unit_amount_decimal": { + "type": "number", + "format": "double" } } }, - "AutoRelease.Group": { + "OAuthCallbackReply": { "type": "object", "properties": { - "name": { - "type": "string" + "token": { + "$ref": "#/definitions/Token", + "title": "A jwt token to be used for session" + } + } + }, + "OAuthCallbackRequest": { + "type": "object", + "properties": { + "state": { + "type": "string", + "title": "The state created at the origin of the OAuth flow" }, - "repository": { - "type": "string" + "code": { + "type": "string", + "title": "The code returned by the OAuth provider" }, - "git_ref": { + "setup_action": { "type": "string", - "title": "A git ref to track (.e.g: refs/tags/ or refs/heads/" + "description": "setup_action is populated in the context of a GitHub app installation request. For logins and\nsignups, it is not set." }, - "latest_sha": { + "installation_id": { "type": "string", - "title": "The last hash that was resolved (used to avoid triggering releases when things haven't changed)" - } - }, - "title": "Configuration extracted from the latest deployment in this deployment_group" - }, - "AutocompleteReply": { - "type": "object", - "properties": { - "secrets": { - "type": "array", - "items": { - "type": "string" - }, - "title": "List of available secrets" - }, - "user_env": { - "type": "array", - "items": { - "type": "string" - }, - "title": "List of available user's environment variables" - }, - "system_env": { - "type": "array", - "items": { - "type": "string" - }, - "title": "List of available system's environment variables" - } - } - }, - "AutocompleteRequest": { - "type": "object", - "properties": { - "definition": { - "$ref": "#/definitions/DeploymentDefinition", - "title": "Deployment definition" + "description": "installation_id is populated in the context of a GitHub app installation request. For logins and\nsignups, it is not set." } } }, - "BuildpackBuilder": { + "OAuthProvider": { "type": "object", "properties": { - "build_command": { + "id": { "type": "string", - "title": "A command used to override the build command, run after all build steps" + "title": "The name of the provider (.e.g github, google)" }, - "run_command": { + "url": { "type": "string", - "title": "A command used to override the default run command" + "title": "The URL to call to initiate the OAuth flow" }, - "privileged": { - "type": "boolean", - "title": "A flag to run the container in privileged mode" + "state": { + "type": "string", + "title": "The OAuth state required by the protocol, it is only valid 10 minutes and encodes information about the type of flow" } } }, - "ConfigFile": { + "Organization": { "type": "object", "properties": { - "path": { - "type": "string", - "title": "the path where the file is mounted to" + "id": { + "type": "string" }, - "permissions": { - "type": "string", - "title": "the permissions of the file in format 0644" + "address1": { + "type": "string" }, - "content": { - "type": "string", - "title": "the content of the file" - } - } - }, - "CreateService": { - "type": "object", - "properties": { - "app_id": { + "address2": { "type": "string" }, - "definition": { - "$ref": "#/definitions/DeploymentDefinition" - } - } - }, - "CreateServiceReply": { - "type": "object", - "properties": { - "service": { - "$ref": "#/definitions/Service", - "title": "The entity created" - } - } - }, - "DatabaseDeploymentMetadata": { - "type": "object", - "properties": { - "neon_postgres": { - "$ref": "#/definitions/NeonPostgresDatabaseDeploymentMetadata" - } - } - }, - "DatabaseSource": { - "type": "object", - "properties": { - "neon_postgres": { - "$ref": "#/definitions/NeonPostgresDatabase" - } - } - }, - "DeleteServiceReply": { - "type": "object" - }, - "Deployment": { - "type": "object", - "properties": { - "id": { + "city": { "type": "string" }, - "created_at": { - "type": "string", - "format": "date-time" + "postal_code": { + "type": "string" }, - "updated_at": { - "type": "string", - "format": "date-time" + "state": { + "type": "string" }, - "allocated_at": { - "type": "string", - "format": "date-time" + "country": { + "type": "string" }, - "started_at": { - "type": "string", - "format": "date-time" + "company": { + "type": "boolean" }, - "succeeded_at": { - "type": "string", - "format": "date-time" + "vat_number": { + "type": "string" }, - "terminated_at": { - "type": "string", - "format": "date-time" + "billing_name": { + "type": "string" }, - "organization_id": { + "billing_email": { "type": "string" }, - "app_id": { + "name": { "type": "string" }, - "service_id": { + "plan": { + "$ref": "#/definitions/Plan" + }, + "plan_updated_at": { + "type": "string", + "format": "date-time" + }, + "has_payment_method": { + "type": "boolean" + }, + "subscription_id": { "type": "string" }, - "parent_id": { + "current_subscription_id": { "type": "string" }, - "child_id": { + "latest_subscription_id": { "type": "string" }, + "signup_qualification": { + "type": "object" + }, "status": { - "$ref": "#/definitions/Deployment.Status" + "$ref": "#/definitions/Organization.Status" }, - "metadata": { - "$ref": "#/definitions/DeploymentMetadata" + "status_message": { + "$ref": "#/definitions/OrganizationDetailedStatus" }, - "definition": { - "$ref": "#/definitions/DeploymentDefinition" + "deactivation_reason": { + "$ref": "#/definitions/Organization.DeactivationReason" }, - "messages": { - "type": "array", - "items": { - "type": "string" - } + "verified": { + "type": "boolean" }, - "provisioning_info": { - "$ref": "#/definitions/DeploymentProvisioningInfo" + "qualifies_for_hobby23": { + "type": "boolean" }, - "database_info": { - "$ref": "#/definitions/DeploymentDatabaseInfo" + "reprocess_after": { + "type": "string", + "format": "date-time" }, - "skip_build": { + "trialing": { "type": "boolean" }, - "role": { - "$ref": "#/definitions/Deployment.Role" - }, - "version": { + "trial_starts_at": { "type": "string", - "format": "uint64" + "format": "date-time" }, - "deployment_group": { - "type": "string" + "trial_ends_at": { + "type": "string", + "format": "date-time" } - } + }, + "title": "Represent an Organization" }, - "Deployment.Role": { + "Organization.DeactivationReason": { "type": "string", "enum": [ "INVALID", - "ACTIVE", - "UPCOMING", - "CURRENT" + "REQUESTED_BY_OWNER", + "SUBSCRIPTION_TERMINATION", + "LOCKED_BY_ADMIN", + "VERIFICATION_FAILED" ], "default": "INVALID" }, - "Deployment.Status": { + "OrganizationDetailedStatus": { "type": "string", "enum": [ - "PENDING", - "PROVISIONING", - "SCHEDULED", - "CANCELING", - "CANCELED", - "ALLOCATING", - "STARTING", - "HEALTHY", - "DEGRADED", - "UNHEALTHY", - "STOPPING", - "STOPPED", - "ERRORING", - "ERROR", - "STASHED", - "SLEEPING" + "NEW", + "EMAIL_NOT_VALIDATED", + "BILLING_INFO_MISSING", + "LOCKED", + "PAYMENT_FAILURE", + "VALID", + "PENDING_VERIFICATION", + "VERIFICATION_FAILED", + "REVIEWING_ACCOUNT", + "PLAN_UPGRADE_REQUIRED" ], - "default": "PENDING" + "default": "NEW" }, - "DeploymentDatabaseInfo": { + "ReactivateOrganizationReply": { "type": "object", "properties": { - "neon_postgres": { - "$ref": "#/definitions/DeploymentNeonPostgresDatabaseInfo" + "organization": { + "$ref": "#/definitions/Organization" } } }, - "DeploymentDefinition": { - "type": "object", - "properties": { - "name": { - "type": "string" - }, - "type": { - "$ref": "#/definitions/DeploymentDefinition.Type" - }, - "strategy": { - "$ref": "#/definitions/DeploymentStrategy" - }, - "routes": { - "type": "array", - "items": { - "$ref": "#/definitions/DeploymentRoute" - } - }, - "ports": { - "type": "array", - "items": { - "$ref": "#/definitions/DeploymentPort" - } - }, - "env": { - "type": "array", - "items": { - "$ref": "#/definitions/DeploymentEnv" - } - }, - "regions": { - "type": "array", - "items": { - "type": "string" - } - }, - "scalings": { - "type": "array", - "items": { - "$ref": "#/definitions/DeploymentScaling" - } - }, - "instance_types": { - "type": "array", - "items": { - "$ref": "#/definitions/DeploymentInstanceType" - } - }, - "health_checks": { - "type": "array", - "items": { - "$ref": "#/definitions/DeploymentHealthCheck" - } - }, - "volumes": { - "type": "array", - "items": { - "$ref": "#/definitions/DeploymentVolume" - } - }, - "config_files": { - "type": "array", - "items": { - "$ref": "#/definitions/ConfigFile" - } - }, - "skip_cache": { - "type": "boolean" - }, - "docker": { - "$ref": "#/definitions/DockerSource" - }, - "git": { - "$ref": "#/definitions/GitSource" - }, - "database": { - "$ref": "#/definitions/DatabaseSource" - }, - "archive": { - "$ref": "#/definitions/ArchiveSource" - } - } + "ResendEmailValidationReply": { + "type": "object" }, - "DeploymentDefinition.Type": { - "type": "string", - "enum": [ - "INVALID", - "WEB", - "WORKER", - "DATABASE" - ], - "default": "INVALID" + "ResendEmailValidationRequest": { + "type": "object" }, - "DeploymentEnv": { + "ResetPasswordReply": { + "type": "object" + }, + "ResetPasswordRequest": { "type": "object", + "example": { + "email": "john@snow.com" + }, "properties": { - "scopes": { - "type": "array", - "items": { - "type": "string" - } - }, - "key": { - "type": "string" - }, - "value": { - "type": "string" - }, - "secret": { + "email": { "type": "string" } } }, - "DeploymentHealthCheck": { + "UnscopeOrganizationTokenRequest": { + "type": "object" + }, + "UpdateOrganizationPlanReply": { "type": "object", "properties": { - "grace_period": { - "type": "integer", - "format": "int64", - "title": "An optional initial period in seconds to wait for the instance to become healthy, default is 5s" - }, - "interval": { - "type": "integer", - "format": "int64", - "title": "An optional period in seconds between two health checks, default is 60s" - }, - "restart_limit": { - "type": "integer", - "format": "int64", - "title": "An optional number of consecutive failures before attempting to restart the service, default is 3" - }, - "timeout": { - "type": "integer", - "format": "int64", - "title": "An optional maximum time to wait in seconds before considering the check as a failure, default is 5s" - }, - "tcp": { - "$ref": "#/definitions/TCPHealthCheck" - }, - "http": { - "$ref": "#/definitions/HTTPHealthCheck" + "organization": { + "$ref": "#/definitions/Organization" } } }, - "DeploymentInstanceType": { + "UpdateOrganizationReply": { "type": "object", "properties": { - "scopes": { - "type": "array", - "items": { - "type": "string" - } - }, - "type": { - "type": "string" + "organization": { + "$ref": "#/definitions/Organization" } } }, - "DeploymentMetadata": { + "UpdatePasswordRequest": { "type": "object", + "example": { + "id": "...", + "password": "..." + }, "properties": { - "trigger": { - "$ref": "#/definitions/TriggerDeploymentMetadata" - }, - "database": { - "$ref": "#/definitions/DatabaseDeploymentMetadata" - }, - "git": { - "$ref": "#/definitions/GitDeploymentMetadata" + "id": { + "type": "string" }, - "archive": { - "$ref": "#/definitions/ArchiveDeploymentMetadata" + "password": { + "type": "string" } } }, - "DeploymentNeonPostgresDatabaseInfo": { + "UpdateUserRequest.UserUpdateBody": { "type": "object", "properties": { - "active_time_seconds": { - "type": "string", - "format": "int64" - }, - "compute_time_seconds": { - "type": "string", - "format": "int64" - }, - "written_data_bytes": { - "type": "string", - "format": "int64" - }, - "data_transfer_bytes": { - "type": "string", - "format": "int64" - }, - "data_storage_bytes_hour": { - "type": "string", - "format": "int64" - }, - "server_host": { - "type": "string" - }, - "server_port": { - "type": "integer", - "format": "int64" - }, - "endpoint_state": { + "id": { "type": "string" }, - "endpoint_last_active": { - "type": "string", - "format": "date-time" - }, - "default_branch_id": { + "email": { "type": "string" }, - "default_branch_name": { + "current_password": { "type": "string" }, - "default_branch_state": { + "password": { "type": "string" }, - "default_branch_logical_size": { - "type": "string", - "format": "int64" + "newsletter_subscribed": { + "type": "boolean" }, - "roles": { - "type": "array", - "items": { - "$ref": "#/definitions/DeploymentNeonPostgresDatabaseInfoRole" - } + "name": { + "type": "string" } } }, - "DeploymentNeonPostgresDatabaseInfoRole": { + "UpsertSignupQualificationReply": { "type": "object", "properties": { - "name": { - "type": "string" - }, - "secret_id": { - "type": "string" + "organization": { + "$ref": "#/definitions/Organization" } } }, - "DeploymentPort": { + "UserReply": { "type": "object", "properties": { - "port": { - "type": "integer", - "format": "int64" - }, - "protocol": { - "type": "string", - "title": "One of http, http2, tcp" + "user": { + "$ref": "#/definitions/User" } } }, - "DeploymentProvisioningInfo": { - "type": "object", - "properties": { - "sha": { - "type": "string", - "description": "The git sha for this build (we resolve the reference at the start of the build)." - }, - "image": { - "type": "string", - "description": "The docker image built as a result of this build." - }, - "stages": { - "type": "array", - "items": { - "$ref": "#/definitions/DeploymentProvisioningInfo.Stage" - }, - "description": "Some info about the build." - } - } - }, - "DeploymentProvisioningInfo.Stage": { - "type": "object", - "properties": { - "name": { - "type": "string" - }, - "status": { - "$ref": "#/definitions/DeploymentProvisioningInfo.Stage.Status" - }, - "messages": { - "type": "array", - "items": { - "type": "string" - } - }, - "started_at": { - "type": "string", - "format": "date-time" - }, - "finished_at": { - "type": "string", - "format": "date-time" - }, - "build_attempts": { - "type": "array", - "items": { - "$ref": "#/definitions/DeploymentProvisioningInfo.Stage.BuildAttempt" - } - } - } - }, - "DeploymentProvisioningInfo.Stage.BuildAttempt": { + "Activity": { "type": "object", "properties": { "id": { - "type": "integer", - "format": "int64" - }, - "status": { - "$ref": "#/definitions/DeploymentProvisioningInfo.Stage.Status" - }, - "messages": { - "type": "array", - "items": { - "type": "string" - } - }, - "started_at": { - "type": "string", - "format": "date-time" - }, - "finished_at": { - "type": "string", - "format": "date-time" - }, - "steps": { - "type": "array", - "items": { - "$ref": "#/definitions/DeploymentProvisioningInfo.Stage.BuildAttempt.BuildStep" - } - }, - "image_pushed": { - "type": "boolean" + "type": "string" }, - "internal_failure": { - "type": "boolean" + "actor": { + "$ref": "#/definitions/Object" }, - "retryable_failure": { - "type": "boolean" + "object": { + "$ref": "#/definitions/Object" }, - "wait_completion": { - "type": "boolean", - "description": "This flag is used to finalize the build, and continue the deployment in case of success, or cancel and potentially retry the build in case of failure." - } - } - }, - "DeploymentProvisioningInfo.Stage.BuildAttempt.BuildStep": { - "type": "object", - "properties": { - "name": { + "verb": { "type": "string" }, - "status": { - "$ref": "#/definitions/DeploymentProvisioningInfo.Stage.Status" - }, - "messages": { - "type": "array", - "items": { - "type": "string" - } - }, - "started_at": { - "type": "string", - "format": "date-time" + "metadata": { + "type": "object" }, - "finished_at": { + "created_at": { "type": "string", "format": "date-time" } } }, - "DeploymentRoute": { - "type": "object", - "properties": { - "port": { - "type": "integer", - "format": "int64" - }, - "path": { - "type": "string" - } - } - }, - "DeploymentScaling": { + "ActivityList": { "type": "object", "properties": { - "scopes": { + "activities": { "type": "array", "items": { - "type": "string" + "$ref": "#/definitions/Activity" } }, - "min": { + "limit": { "type": "integer", "format": "int64" }, - "max": { + "offset": { "type": "integer", "format": "int64" }, - "targets": { - "type": "array", - "items": { - "$ref": "#/definitions/DeploymentScalingTarget" - } + "has_next": { + "type": "boolean" } } }, - "DeploymentScalingTarget": { + "Object": { "type": "object", "properties": { - "average_cpu": { - "$ref": "#/definitions/DeploymentScalingTargetAverageCPU" - }, - "average_mem": { - "$ref": "#/definitions/DeploymentScalingTargetAverageMem" + "id": { + "type": "string" }, - "requests_per_second": { - "$ref": "#/definitions/DeploymentScalingTargetRequestsPerSecond" + "name": { + "type": "string" }, - "concurrent_requests": { - "$ref": "#/definitions/DeploymentScalingTargetConcurrentRequests" + "type": { + "type": "string" }, - "requests_response_time": { - "$ref": "#/definitions/DeploymentScalingTargetRequestsResponseTime" + "metadata": { + "type": "object" }, - "sleep_idle_delay": { - "$ref": "#/definitions/DeploymentScalingTargetSleepIdleDelay" + "deleted": { + "type": "boolean" } } }, - "DeploymentScalingTargetAverageCPU": { - "type": "object", - "properties": { - "value": { - "type": "integer", - "format": "int64" - } - } + "Empty": { + "type": "object" }, - "DeploymentScalingTargetAverageMem": { + "kgitproxy.GithubInstallation.Status": { + "type": "string", + "enum": [ + "INVALID", + "INSTALLED", + "SUSPENDED", + "DELETED" + ], + "default": "INVALID" + }, + "kgitproxy.IndexingStatus": { + "type": "string", + "enum": [ + "INVALID_INDEXING_STATUS", + "NOT_STARTED", + "IN_PROGRESS", + "COMPLETED" + ], + "default": "INVALID_INDEXING_STATUS" + }, + "ConfirmPaymentAuthorizationReply": { "type": "object", "properties": { - "value": { - "type": "integer", - "format": "int64" + "payment_method": { + "$ref": "#/definitions/PaymentMethod" } } }, - "DeploymentScalingTargetConcurrentRequests": { + "CreatePaymentAuthorizationReply": { "type": "object", "properties": { - "value": { - "type": "integer", - "format": "int64" + "payment_method": { + "$ref": "#/definitions/PaymentMethod" } } }, - "DeploymentScalingTargetRequestsPerSecond": { + "CreatePaymentAuthorizationRequest": { + "type": "object" + }, + "DeletePaymentMethodReply": { + "type": "object" + }, + "GetPaymentMethodReply": { "type": "object", "properties": { - "value": { - "type": "integer", - "format": "int64" + "payment_method": { + "$ref": "#/definitions/PaymentMethod" } } }, - "DeploymentScalingTargetRequestsResponseTime": { + "ListPaymentMethodsReply": { "type": "object", "properties": { - "value": { + "payment_methods": { + "type": "array", + "items": { + "$ref": "#/definitions/PaymentMethod" + }, + "title": "The collection of payment methods" + }, + "limit": { "type": "integer", - "format": "int64" + "format": "int64", + "title": "The limit in the request" }, - "quantile": { + "offset": { "type": "integer", "format": "int64", - "description": "The quantile to use for autoscaling. For example, set to 95 to use the 95th\npercentile (p95) for autoscaling. Valid values are between 0 and 100." - } - } - }, - "DeploymentScalingTargetSleepIdleDelay": { - "type": "object", - "properties": { - "value": { + "title": "The offset in the request" + }, + "count": { "type": "integer", "format": "int64", - "description": "Delay in seconds after which a service which received 0 request is scaled to 0.\nThis is not configurable and must be set to 300 (5 minutes). Get in touch to\ntune it." + "title": "The total number of items" } } }, - "DeploymentStrategy": { + "PaymentMethod": { "type": "object", "properties": { - "type": { - "$ref": "#/definitions/DeploymentStrategyType", - "title": "Strategy type" + "id": { + "type": "string" + }, + "created_at": { + "type": "string", + "format": "date-time" + }, + "updated_at": { + "type": "string", + "format": "date-time" + }, + "version": { + "type": "string", + "format": "uint64" + }, + "organization_id": { + "type": "string" + }, + "type": { + "type": "string" + }, + "provider": { + "type": "string" + }, + "status": { + "$ref": "#/definitions/PaymentMethod.Status" + }, + "messages": { + "type": "array", + "items": { + "type": "string" + } + }, + "stripe_payment_method_id": { + "type": "string" + }, + "authorization_verified_at": { + "type": "string", + "format": "date-time" + }, + "authorization_canceled_at": { + "type": "string", + "format": "date-time" + }, + "authorization_stripe_payment_intent_id": { + "type": "string" + }, + "authorization_stripe_payment_intent_client_secret": { + "type": "string" + }, + "card_brand": { + "type": "string" + }, + "card_country": { + "type": "string" + }, + "card_funding": { + "type": "string" + }, + "card_fingerprint": { + "type": "string" + }, + "card_last_digits": { + "type": "string" + }, + "card_expiration_month": { + "type": "integer", + "format": "int64" + }, + "card_expiration_year": { + "type": "integer", + "format": "int64" } } }, - "DeploymentStrategyType": { + "PaymentMethod.Status": { "type": "string", "enum": [ - "DEPLOYMENT_STRATEGY_TYPE_INVALID", - "DEPLOYMENT_STRATEGY_TYPE_CANARY", - "DEPLOYMENT_STRATEGY_TYPE_ROLLING", - "DEPLOYMENT_STRATEGY_TYPE_BLUE_GREEN", - "DEPLOYMENT_STRATEGY_TYPE_IMMEDIATE" + "INVALID", + "CREATED", + "AUTHORIZED", + "DECLINED", + "CANCELED", + "EXPIRED", + "UNCHECKED" ], - "default": "DEPLOYMENT_STRATEGY_TYPE_INVALID", - "description": " - DEPLOYMENT_STRATEGY_TYPE_INVALID: Invalid / Zero value.\n - DEPLOYMENT_STRATEGY_TYPE_CANARY: Use canary strategy.\n - DEPLOYMENT_STRATEGY_TYPE_ROLLING: Use rolling strategy.\n - DEPLOYMENT_STRATEGY_TYPE_BLUE_GREEN: Use blue green strategy.\n - DEPLOYMENT_STRATEGY_TYPE_IMMEDIATE: Use immediate strategy." + "default": "INVALID" }, - "DeploymentVolume": { + "AppsSummary": { "type": "object", "properties": { - "id": { + "total": { "type": "string", - "title": "the id of the volume" + "format": "int64", + "title": "Total number of apps" }, - "path": { + "by_status": { + "type": "object", + "additionalProperties": { + "type": "string", + "format": "int64" + }, + "title": "Number of apps grouped by status" + } + } + }, + "DomainsSummary": { + "type": "object", + "properties": { + "total": { "type": "string", - "title": "the path where the volume is mounted to" - }, - "replica_index": { - "type": "integer", "format": "int64", - "title": "optionally, explicitly choose the replica index to mount the volume to" + "title": "Total number of domains" }, - "scopes": { - "type": "array", - "items": { - "type": "string" + "by_status": { + "type": "object", + "additionalProperties": { + "type": "string", + "format": "int64" }, - "title": "scope of the associated" + "title": "Number of domains grouped by status" } } }, - "DesiredDeployment": { + "GetOrganizationSummaryReply": { "type": "object", "properties": { - "groups": { - "type": "array", - "items": { - "$ref": "#/definitions/DesiredDeployment.Group" - } + "summary": { + "$ref": "#/definitions/OrganizationSummary", + "title": "Organization usage summary" } } }, - "DesiredDeployment.Group": { + "InstancesSummary": { "type": "object", "properties": { - "name": { - "type": "string" + "total": { + "type": "string", + "format": "int64", + "title": "Total number of instances" }, - "deployment_ids": { - "type": "array", - "items": { - "type": "string" - } + "by_type": { + "type": "object", + "additionalProperties": { + "type": "string", + "format": "int64" + }, + "title": "Number of instances grouped by type" } } }, - "DockerBuilder": { + "MembersSummary": { "type": "object", "properties": { - "dockerfile": { + "total": { "type": "string", - "title": "A path to the Dockerfile" + "format": "int64", + "title": "Number of members" }, - "entrypoint": { - "type": "array", - "items": { - "type": "string" + "invitations_by_status": { + "type": "object", + "additionalProperties": { + "type": "string", + "format": "int64" }, - "title": "The docker ENTRYPOINT" - }, - "command": { + "title": "Number of invitations grouped by status" + } + } + }, + "NeonPostgresSummary": { + "type": "object", + "properties": { + "total": { "type": "string", - "title": "The docker CMD" + "format": "int64", + "title": "Total number of databases" }, - "args": { - "type": "array", - "items": { - "type": "string" + "by_instance_type": { + "type": "object", + "additionalProperties": { + "type": "string", + "format": "int64" }, - "title": "The docker CMD args" - }, - "target": { - "type": "string", - "title": "The target for multi-stage builds" - }, - "privileged": { - "type": "boolean", - "title": "A flag to run the container in privileged mode" + "title": "Number of databases grouped by instance type" } } }, - "DockerSource": { + "OrganizationSummary": { "type": "object", "properties": { - "image": { + "organization_id": { "type": "string" }, - "command": { - "type": "string" + "instances": { + "$ref": "#/definitions/InstancesSummary" }, - "args": { - "type": "array", - "items": { - "type": "string" - } + "apps": { + "$ref": "#/definitions/AppsSummary" }, - "image_registry_secret": { - "type": "string" + "services": { + "type": "object", + "additionalProperties": { + "$ref": "#/definitions/ServiceSummary" + }, + "title": "Number of services grouped by type" }, - "entrypoint": { - "type": "array", - "items": { - "type": "string" - } + "domains": { + "$ref": "#/definitions/DomainsSummary" }, - "privileged": { - "type": "boolean", - "title": "A flag to run the container in privileged mode" + "secrets": { + "$ref": "#/definitions/SecretsSummary" + }, + "neon_postgres": { + "$ref": "#/definitions/NeonPostgresSummary" + }, + "members": { + "$ref": "#/definitions/MembersSummary" } } }, - "GetServiceReply": { + "SecretsSummary": { "type": "object", "properties": { - "service": { - "$ref": "#/definitions/Service", - "title": "The Service retrieved" - } - } - }, - "GitDeploymentMetadata": { + "total": { + "type": "string", + "format": "int64", + "title": "Total number of secrets" + }, + "by_type": { + "type": "object", + "additionalProperties": { + "type": "string", + "format": "int64" + }, + "title": "Number of secrets grouped by type" + } + } + }, + "ServiceSummary": { "type": "object", "properties": { - "last_provisioned_deployment_id": { - "type": "string" + "total": { + "type": "string", + "format": "int64", + "title": "Total number of services" + }, + "by_status": { + "type": "object", + "additionalProperties": { + "type": "string", + "format": "int64" + }, + "title": "Number of services grouped by status" } } }, - "GitSource": { + "GetSubscriptionReply": { "type": "object", "properties": { - "repository": { + "subscription": { + "$ref": "#/definitions/Subscription" + } + } + }, + "Subscription": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "created_at": { "type": "string", - "description": "A url to a git repository (contains the provider as well) .e.g: github.com/koyeb/test." + "format": "date-time" }, - "branch": { + "updated_at": { "type": "string", - "title": "A git branch that will be tracked for new commits and deployments will be created" + "format": "date-time" }, - "tag": { + "version": { "type": "string", - "title": "A git tag that should be built" + "format": "uint64" }, - "sha": { + "organization_id": { + "type": "string" + }, + "stripe_subscription_id": { + "type": "string" + }, + "status": { + "$ref": "#/definitions/Subscription.Status" + }, + "messages": { + "type": "array", + "items": { + "type": "string" + } + }, + "has_pending_update": { + "type": "boolean" + }, + "stripe_pending_invoice_id": { + "type": "string" + }, + "terminate_at": { "type": "string", - "title": "A git commit that should be built (useful for pinning to a commit, this will always be set when a deployment is created by a code push)" + "format": "date-time" }, - "build_command": { + "canceled_at": { "type": "string", - "title": "A command used to override the build command, run after all build steps \u2014 deprecated, use buildpack.build_command instead" + "format": "date-time" }, - "run_command": { + "terminated_at": { "type": "string", - "title": "A command used to override the default run command - deprecated, use buildpack.run_command instead" + "format": "date-time" }, - "no_deploy_on_push": { - "type": "boolean", - "title": "A flag to disable a new deployment when a push event is detected" + "current_period_start": { + "type": "string", + "format": "date-time" }, - "workdir": { + "current_period_end": { "type": "string", - "title": "A subdirectory to use as the build directory" + "format": "date-time" }, - "buildpack": { - "$ref": "#/definitions/BuildpackBuilder" + "currency": { + "type": "string" }, - "docker": { - "$ref": "#/definitions/DockerBuilder" + "amount_payable": { + "type": "string", + "format": "int64" + }, + "amount_paid": { + "type": "string", + "format": "int64" + }, + "amount_remaining": { + "type": "string", + "format": "int64" + }, + "payment_failure": { + "$ref": "#/definitions/Subscription.PaymentFailure" + }, + "trialing": { + "type": "boolean" + }, + "trial_ends_at": { + "type": "string", + "format": "date-time" + }, + "trial_max_spend": { + "type": "string", + "format": "int64" + }, + "current_spend": { + "type": "string", + "format": "int64" } } }, - "HTTPHeader": { + "Subscription.PaymentFailure": { "type": "object", "properties": { - "key": { + "failed_at": { + "type": "string", + "format": "date-time" + }, + "next_attempt": { + "type": "string", + "format": "date-time" + }, + "attempt_count": { + "type": "string", + "format": "int64" + }, + "error_code": { "type": "string" }, - "value": { + "error_reason": { + "type": "string" + }, + "error_type": { + "type": "string" + }, + "error_message": { + "type": "string" + }, + "payment_method_required": { + "type": "boolean" + }, + "redirect_url": { "type": "string" + }, + "stripe_sdk": { + "$ref": "#/definitions/Subscription.PaymentFailure.StripeSDK" } } }, - "HTTPHealthCheck": { + "Subscription.PaymentFailure.StripeSDK": { "type": "object", "properties": { - "port": { - "type": "integer", - "format": "int64", - "title": "The port to use to perform the health check, must be declared in the ports section" - }, - "path": { - "type": "string", - "title": "The path to use to perform the HTTP health check" - }, - "method": { - "type": "string", - "title": "An optional HTTP method to use to perform the health check, default is GET" + "client_secret_key": { + "type": "string" }, - "headers": { - "type": "array", - "items": { - "$ref": "#/definitions/HTTPHeader" - }, - "title": "An optional list of HTTP headers to provide when performing the request, default is empty" + "raw_json": { + "type": "string" } } }, - "ListServiceEventsReply": { + "Subscription.Status": { + "type": "string", + "enum": [ + "INVALID", + "CREATED", + "ACTIVE", + "WARNING", + "URGENT", + "CANCELING", + "CANCELED", + "TERMINATING", + "TERMINATED" + ], + "default": "INVALID" + }, + "Notification": { "type": "object", "properties": { - "events": { - "type": "array", - "items": { - "$ref": "#/definitions/ServiceEvent" - }, - "title": "The collection of events" + "id": { + "type": "string" }, - "limit": { - "type": "integer", - "format": "int64", - "title": "The limit in the request" + "activity": { + "$ref": "#/definitions/Activity" }, - "offset": { - "type": "integer", - "format": "int64", - "title": "The offset in the request" + "is_read": { + "type": "boolean" }, - "order": { - "type": "string", - "title": "The order in the request" + "is_seen": { + "type": "boolean" }, - "has_next": { - "type": "boolean", - "title": "If there is more items after in the collection" + "created_at": { + "type": "string", + "format": "date-time" } } }, - "ListServicesReply": { + "NotificationList": { "type": "object", "properties": { - "services": { + "notifications": { "type": "array", "items": { - "$ref": "#/definitions/ServiceListItem" + "$ref": "#/definitions/Notification" } }, "limit": { "type": "integer", - "format": "int64", - "title": "The limit in the request" + "format": "int64" }, "offset": { "type": "integer", - "format": "int64", - "title": "The offset in the request" + "format": "int64" }, "count": { "type": "integer", - "format": "int64", - "title": "The total number of items" + "format": "int64" }, - "has_next": { - "type": "boolean", - "title": "If there is more items after in the collection" - } + "is_read": { + "type": "boolean" + }, + "is_seen": { + "type": "boolean" + }, + "unread": { + "type": "integer", + "format": "int64" + }, + "unseen": { + "type": "integer", + "format": "int64" + } } }, - "NeonPostgresDatabase": { + "ExecCommandIO": { "type": "object", "properties": { - "pg_version": { - "type": "integer", - "format": "int64" + "data": { + "type": "string", + "format": "byte", + "description": "Data is base64 encoded" }, - "region": { - "type": "string" + "close": { + "type": "boolean", + "description": "Indicate last data frame" + } + } + }, + "ExecCommandReply": { + "type": "object", + "properties": { + "stdout": { + "$ref": "#/definitions/ExecCommandIO" }, - "instance_type": { - "type": "string" + "stderr": { + "$ref": "#/definitions/ExecCommandIO" }, - "roles": { - "type": "array", - "items": { - "$ref": "#/definitions/NeonPostgresDatabase.NeonRole" - } + "exited": { + "type": "boolean" }, - "databases": { + "exit_code": { + "type": "integer", + "format": "int32" + } + } + }, + "ExecCommandRequest.Body": { + "type": "object", + "properties": { + "command": { "type": "array", "items": { - "$ref": "#/definitions/NeonPostgresDatabase.NeonDatabase" - } + "type": "string" + }, + "description": "Command to exec. Mandatory in the first frame sent" + }, + "tty_size": { + "$ref": "#/definitions/ExecCommandRequest.TerminalSize" + }, + "stdin": { + "$ref": "#/definitions/ExecCommandIO" + }, + "disableTty": { + "type": "boolean", + "description": "Disable TTY. It's enough to specify it in the first frame" } } }, - "NeonPostgresDatabase.NeonDatabase": { + "ExecCommandRequest.IdType": { + "type": "string", + "enum": [ + "INVALID", + "INSTANCE_ID", + "SERVICE_ID" + ], + "default": "INVALID" + }, + "ExecCommandRequest.TerminalSize": { "type": "object", "properties": { - "name": { - "type": "string" + "height": { + "type": "integer", + "format": "int32" }, - "owner": { - "type": "string" + "width": { + "type": "integer", + "format": "int32" } } }, - "NeonPostgresDatabase.NeonRole": { + "LogEntry": { "type": "object", "properties": { - "name": { + "msg": { "type": "string" }, - "secret": { - "type": "string" + "created_at": { + "type": "string", + "format": "date-time" + }, + "labels": { + "type": "object" } } }, - "NeonPostgresDatabaseDeploymentMetadata": { + "GetMetricsReply": { "type": "object", "properties": { - "reset_role_passwords": { + "metrics": { "type": "array", "items": { + "$ref": "#/definitions/GetMetricsReply.Metric" + } + } + } + }, + "GetMetricsReply.Metric": { + "type": "object", + "properties": { + "labels": { + "type": "object", + "additionalProperties": { "type": "string" } + }, + "samples": { + "type": "array", + "items": { + "$ref": "#/definitions/Sample" + } } } }, - "PauseServiceReply": { + "MetricName": { + "type": "string", + "enum": [ + "UNKNOWN", + "CPU_TOTAL_PERCENT", + "MEM_RSS", + "HTTP_THROUGHPUT", + "HTTP_RESPONSE_TIME_50P", + "HTTP_RESPONSE_TIME_90P", + "HTTP_RESPONSE_TIME_99P", + "HTTP_RESPONSE_TIME_MAX", + "PUBLIC_DATA_TRANSFER_IN", + "PUBLIC_DATA_TRANSFER_OUT" + ], + "default": "UNKNOWN" + }, + "Sample": { + "type": "object", + "properties": { + "timestamp": { + "type": "string" + }, + "value": { + "type": "number", + "format": "double" + } + } + }, + "CreateStageAttemptReply": { "type": "object" }, - "RedeployReply": { + "DeclareStageProgressReply": { + "type": "object" + }, + "DeclareStepProgressReply": { + "type": "object" + }, + "DeploymentProvisioningInfo.Stage.Status": { + "type": "string", + "enum": [ + "UNKNOWN", + "PENDING", + "RUNNING", + "FAILED", + "COMPLETED", + "ABORTED" + ], + "default": "UNKNOWN" + }, + "ReviewOrganizationCapacityReply": { "type": "object", "properties": { - "deployment": { - "$ref": "#/definitions/Deployment", - "title": "The entity updated" + "has_capacity": { + "type": "boolean" } } }, - "RedeployRequest.Info": { + "ReviewOrganizationCapacityRequest": { "type": "object", "properties": { - "deployment_group": { - "type": "string" - }, - "sha": { + "plan": { "type": "string" - }, - "use_cache": { - "type": "boolean" - }, - "skip_build": { - "type": "boolean", - "description": "If set to true, the build stage will be skipped and the image coming from the last successful build step will be used instead.\nThe call fails if no previous successful builds happened." } } }, - "ResumeServiceReply": { - "type": "object" + "ArchiveDeploymentMetadata": { + "type": "object", + "properties": { + "last_provisioned_deployment_id": { + "type": "string" + } + } }, - "Service": { + "ArchiveSource": { "type": "object", "properties": { "id": { - "type": "string" - }, - "created_at": { "type": "string", - "format": "date-time" + "title": "The ID of the archive to deploy" }, - "updated_at": { - "type": "string", - "format": "date-time" + "buildpack": { + "$ref": "#/definitions/BuildpackBuilder" }, - "started_at": { + "docker": { + "$ref": "#/definitions/DockerBuilder" + } + } + }, + "BuildpackBuilder": { + "type": "object", + "properties": { + "build_command": { "type": "string", - "format": "date-time" + "title": "A command used to override the build command, run after all build steps" }, - "succeeded_at": { + "run_command": { "type": "string", - "format": "date-time" + "title": "A command used to override the default run command" }, - "paused_at": { + "privileged": { + "type": "boolean", + "title": "A flag to run the container in privileged mode" + } + } + }, + "CancelDeploymentReply": { + "type": "object" + }, + "ConfigFile": { + "type": "object", + "properties": { + "path": { "type": "string", - "format": "date-time" + "title": "the path where the file is copied" }, - "resumed_at": { + "permissions": { "type": "string", - "format": "date-time" + "title": "the permissions of the file in format 0644" }, - "terminated_at": { + "content": { "type": "string", - "format": "date-time" - }, - "name": { + "title": "the content of the file" + } + } + }, + "DatabaseDeploymentMetadata": { + "type": "object", + "properties": { + "neon_postgres": { + "$ref": "#/definitions/NeonPostgresDatabaseDeploymentMetadata" + } + } + }, + "DatabaseSource": { + "type": "object", + "properties": { + "neon_postgres": { + "$ref": "#/definitions/NeonPostgresDatabase" + } + } + }, + "Deployment": { + "type": "object", + "properties": { + "id": { "type": "string" }, - "type": { - "$ref": "#/definitions/Service.Type" + "created_at": { + "type": "string", + "format": "date-time" + }, + "updated_at": { + "type": "string", + "format": "date-time" + }, + "allocated_at": { + "type": "string", + "format": "date-time" + }, + "started_at": { + "type": "string", + "format": "date-time" + }, + "succeeded_at": { + "type": "string", + "format": "date-time" + }, + "terminated_at": { + "type": "string", + "format": "date-time" }, "organization_id": { "type": "string" @@ -13414,8 +13428,23 @@ "app_id": { "type": "string" }, + "service_id": { + "type": "string" + }, + "parent_id": { + "type": "string" + }, + "child_id": { + "type": "string" + }, "status": { - "$ref": "#/definitions/Service.Status" + "$ref": "#/definitions/Deployment.Status" + }, + "metadata": { + "$ref": "#/definitions/DeploymentMetadata" + }, + "definition": { + "$ref": "#/definitions/DeploymentDefinition" }, "messages": { "type": "array", @@ -13423,51 +13452,181 @@ "type": "string" } }, + "provisioning_info": { + "$ref": "#/definitions/DeploymentProvisioningInfo" + }, + "database_info": { + "$ref": "#/definitions/DeploymentDatabaseInfo" + }, + "skip_build": { + "type": "boolean" + }, + "role": { + "$ref": "#/definitions/Deployment.Role" + }, "version": { "type": "string", "format": "uint64" }, - "active_deployment_id": { - "type": "string" - }, - "latest_deployment_id": { - "type": "string" - }, - "last_provisioned_deployment_id": { + "deployment_group": { "type": "string" - }, - "state": { - "$ref": "#/definitions/ServiceState", - "title": "Legacy stuff" } } }, - "Service.Status": { + "Deployment.Role": { + "type": "string", + "enum": [ + "INVALID", + "ACTIVE", + "UPCOMING", + "CURRENT" + ], + "default": "INVALID" + }, + "Deployment.Status": { "type": "string", "enum": [ + "PENDING", + "PROVISIONING", + "SCHEDULED", + "CANCELING", + "CANCELED", + "ALLOCATING", "STARTING", "HEALTHY", "DEGRADED", "UNHEALTHY", - "DELETING", - "DELETED", - "PAUSING", - "PAUSED", - "RESUMING" + "STOPPING", + "STOPPED", + "ERRORING", + "ERROR", + "STASHED", + "SLEEPING" ], - "default": "STARTING" + "default": "PENDING" }, - "Service.Type": { + "DeploymentDatabaseInfo": { + "type": "object", + "properties": { + "neon_postgres": { + "$ref": "#/definitions/DeploymentNeonPostgresDatabaseInfo" + } + } + }, + "DeploymentDefinition": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "type": { + "$ref": "#/definitions/DeploymentDefinition.Type" + }, + "strategy": { + "$ref": "#/definitions/DeploymentStrategy" + }, + "routes": { + "type": "array", + "items": { + "$ref": "#/definitions/DeploymentRoute" + } + }, + "ports": { + "type": "array", + "items": { + "$ref": "#/definitions/DeploymentPort" + } + }, + "env": { + "type": "array", + "items": { + "$ref": "#/definitions/DeploymentEnv" + } + }, + "regions": { + "type": "array", + "items": { + "type": "string" + } + }, + "scalings": { + "type": "array", + "items": { + "$ref": "#/definitions/DeploymentScaling" + } + }, + "instance_types": { + "type": "array", + "items": { + "$ref": "#/definitions/DeploymentInstanceType" + } + }, + "health_checks": { + "type": "array", + "items": { + "$ref": "#/definitions/DeploymentHealthCheck" + } + }, + "volumes": { + "type": "array", + "items": { + "$ref": "#/definitions/DeploymentVolume" + } + }, + "config_files": { + "type": "array", + "items": { + "$ref": "#/definitions/ConfigFile" + } + }, + "skip_cache": { + "type": "boolean" + }, + "docker": { + "$ref": "#/definitions/DockerSource" + }, + "git": { + "$ref": "#/definitions/GitSource" + }, + "database": { + "$ref": "#/definitions/DatabaseSource" + }, + "archive": { + "$ref": "#/definitions/ArchiveSource" + } + } + }, + "DeploymentDefinition.Type": { "type": "string", "enum": [ - "INVALID_TYPE", + "INVALID", "WEB", "WORKER", "DATABASE" ], - "default": "INVALID_TYPE" + "default": "INVALID" }, - "ServiceEvent": { + "DeploymentEnv": { + "type": "object", + "properties": { + "scopes": { + "type": "array", + "items": { + "type": "string" + } + }, + "key": { + "type": "string" + }, + "value": { + "type": "string" + }, + "secret": { + "type": "string" + } + } + }, + "DeploymentEvent": { "type": "object", "properties": { "id": { @@ -13480,7 +13639,7 @@ "organization_id": { "type": "string" }, - "service_id": { + "deployment_id": { "type": "string" }, "type": { @@ -13494,203 +13653,48 @@ } } }, - "ServiceListItem": { + "DeploymentHealthCheck": { "type": "object", "properties": { - "id": { - "type": "string" - }, - "name": { - "type": "string" + "grace_period": { + "type": "integer", + "format": "int64", + "title": "An optional initial period in seconds to wait for the instance to become healthy, default is 5s" }, - "type": { - "$ref": "#/definitions/Service.Type" - }, - "organization_id": { - "type": "string" - }, - "app_id": { - "type": "string" - }, - "updated_at": { - "type": "string", - "format": "date-time" - }, - "created_at": { - "type": "string", - "format": "date-time" - }, - "status": { - "$ref": "#/definitions/Service.Status" - }, - "messages": { - "type": "array", - "items": { - "type": "string" - } - }, - "version": { - "type": "string", - "format": "uint64", - "title": "A version updated whenever this state changes (useful for caching)" - }, - "state": { - "$ref": "#/definitions/ServiceState" - }, - "active_deployment_id": { - "type": "string" - }, - "latest_deployment_id": { - "type": "string" - } - } - }, - "ServiceState": { - "type": "object", - "properties": { - "desired_deployment": { - "$ref": "#/definitions/DesiredDeployment" - }, - "auto_release": { - "$ref": "#/definitions/AutoRelease" - } - } - }, - "TCPHealthCheck": { - "type": "object", - "properties": { - "port": { + "interval": { "type": "integer", "format": "int64", - "title": "The port to use to perform the health check, must be declared in the ports section" - } - } - }, - "TriggerDeploymentMetadata": { - "type": "object", - "properties": { - "type": { - "$ref": "#/definitions/TriggerDeploymentMetadata.TriggerType" - }, - "actor": { - "$ref": "#/definitions/TriggerDeploymentMetadata.ActorType" - }, - "git": { - "$ref": "#/definitions/TriggerGitDeploymentMetadata" - } - } - }, - "TriggerDeploymentMetadata.ActorType": { - "type": "string", - "enum": [ - "UNKNOWN_ACTOR", - "USER", - "SYSTEM" - ], - "default": "UNKNOWN_ACTOR" - }, - "TriggerDeploymentMetadata.TriggerType": { - "type": "string", - "enum": [ - "UNKNOWN_TYPE", - "GIT", - "RESUME", - "DATABASE_SYNC" - ], - "default": "UNKNOWN_TYPE" - }, - "TriggerGitDeploymentMetadata": { - "type": "object", - "properties": { - "provider": { - "$ref": "#/definitions/TriggerGitDeploymentMetadata.Provider" - }, - "repository": { - "type": "string" - }, - "branch": { - "type": "string" - }, - "sha": { - "type": "string" - }, - "message": { - "type": "string" - }, - "sender_username": { - "type": "string" - }, - "sender_avatar_url": { - "type": "string" + "title": "An optional period in seconds between two health checks, default is 60s" }, - "sender_profile_url": { - "type": "string" - } - } - }, - "TriggerGitDeploymentMetadata.Provider": { - "type": "string", - "enum": [ - "UNKNOWN", - "GITHUB" - ], - "default": "UNKNOWN" - }, - "UpdateService": { - "type": "object", - "properties": { - "definition": { - "$ref": "#/definitions/DeploymentDefinition" + "restart_limit": { + "type": "integer", + "format": "int64", + "title": "An optional number of consecutive failures before attempting to restart the service, default is 3" }, - "metadata": { - "$ref": "#/definitions/DeploymentMetadata" + "timeout": { + "type": "integer", + "format": "int64", + "title": "An optional maximum time to wait in seconds before considering the check as a failure, default is 5s" }, - "skip_build": { - "type": "boolean", - "description": "If set to true, the build stage will be skipped and the image coming from the last successful build step will be used instead.\nThe call fails if no previous successful builds happened." + "tcp": { + "$ref": "#/definitions/TCPHealthCheck" }, - "save_only": { - "type": "boolean", - "title": "If set, do not trigger a deployment, only store the new settings" - } - } - }, - "UpdateServiceReply": { - "type": "object", - "properties": { - "service": { - "$ref": "#/definitions/Service", - "title": "The entity updated" + "http": { + "$ref": "#/definitions/HTTPHealthCheck" } } }, - "CancelDeploymentReply": { - "type": "object" - }, - "DeploymentEvent": { + "DeploymentInstanceType": { "type": "object", "properties": { - "id": { - "type": "string" - }, - "when": { - "type": "string", - "format": "date-time" - }, - "organization_id": { - "type": "string" - }, - "deployment_id": { - "type": "string" + "scopes": { + "type": "array", + "items": { + "type": "string" + } }, "type": { "type": "string" - }, - "message": { - "type": "string" - }, - "metadata": { - "type": "object" } } }, @@ -13769,1182 +13773,815 @@ } } }, - "GetDeploymentReply": { - "type": "object", - "properties": { - "deployment": { - "$ref": "#/definitions/Deployment" - } - } - }, - "ListDeploymentEventsReply": { + "DeploymentMetadata": { "type": "object", "properties": { - "events": { - "type": "array", - "items": { - "$ref": "#/definitions/DeploymentEvent" - }, - "title": "The collection of events" - }, - "limit": { - "type": "integer", - "format": "int64", - "title": "The limit in the request" + "trigger": { + "$ref": "#/definitions/TriggerDeploymentMetadata" }, - "offset": { - "type": "integer", - "format": "int64", - "title": "The offset in the request" + "database": { + "$ref": "#/definitions/DatabaseDeploymentMetadata" }, - "order": { - "type": "string", - "title": "The order in the request" + "git": { + "$ref": "#/definitions/GitDeploymentMetadata" }, - "has_next": { - "type": "boolean", - "title": "If there is more items after in the collection" + "archive": { + "$ref": "#/definitions/ArchiveDeploymentMetadata" } } }, - "ListDeploymentsReply": { + "DeploymentNeonPostgresDatabaseInfo": { "type": "object", "properties": { - "deployments": { - "type": "array", - "items": { - "$ref": "#/definitions/DeploymentListItem" - }, - "title": "The collection of deployments" + "active_time_seconds": { + "type": "string", + "format": "int64" }, - "limit": { - "type": "integer", - "format": "int64", - "title": "The limit in the request" + "compute_time_seconds": { + "type": "string", + "format": "int64" }, - "offset": { - "type": "integer", - "format": "int64", - "title": "The offset in the request" + "written_data_bytes": { + "type": "string", + "format": "int64" }, - "count": { - "type": "integer", - "format": "int64", - "title": "The total number of items" - }, - "has_next": { - "type": "boolean", - "title": "If there is more items after in the collection" - } - } - }, - "Archive": { - "type": "object", - "properties": { - "id": { + "data_transfer_bytes": { "type": "string", - "description": "The archive id, that can be referenced when creating or updating a service." + "format": "int64" }, - "organization_id": { + "data_storage_bytes_hour": { "type": "string", - "description": "Organization owning the archive." + "format": "int64" }, - "upload_url": { - "type": "string", - "description": "The URL where to upload the archive. This URL is signed and can only be\nused to upload the archive until `valid_until`." + "server_host": { + "type": "string" }, - "size": { - "type": "string", - "format": "uint64", - "description": "The provisioned space for the archive." + "server_port": { + "type": "integer", + "format": "int64" }, - "created_at": { - "type": "string", - "format": "date-time", - "description": "Date of creation of the archive." + "endpoint_state": { + "type": "string" }, - "deleted_at": { + "endpoint_last_active": { "type": "string", - "format": "date-time", - "description": "This field is automatically set by Koyeb when the\narchive is garbage collected." - } - } - }, - "CreateArchive": { - "type": "object", - "properties": { - "size": { + "format": "date-time" + }, + "default_branch_id": { + "type": "string" + }, + "default_branch_name": { + "type": "string" + }, + "default_branch_state": { + "type": "string" + }, + "default_branch_logical_size": { "type": "string", - "format": "uint64", - "description": "How much space to provision for the archive, in bytes." + "format": "int64" + }, + "roles": { + "type": "array", + "items": { + "$ref": "#/definitions/DeploymentNeonPostgresDatabaseInfoRole" + } } } }, - "CreateArchiveReply": { + "DeploymentNeonPostgresDatabaseInfoRole": { "type": "object", "properties": { - "archive": { - "$ref": "#/definitions/Archive" + "name": { + "type": "string" + }, + "secret_id": { + "type": "string" } } }, - "ReviewOrganizationCapacityReply": { + "DeploymentPort": { "type": "object", "properties": { - "has_capacity": { - "type": "boolean" + "port": { + "type": "integer", + "format": "int64" + }, + "protocol": { + "type": "string", + "title": "One of http, http2, tcp" } } }, - "ReviewOrganizationCapacityRequest": { + "DeploymentProvisioningInfo": { "type": "object", "properties": { - "plan": { - "type": "string" + "sha": { + "type": "string", + "description": "The git sha for this build (we resolve the reference at the start of the build)." + }, + "image": { + "type": "string", + "description": "The docker image built as a result of this build." + }, + "stages": { + "type": "array", + "items": { + "$ref": "#/definitions/DeploymentProvisioningInfo.Stage" + }, + "description": "Some info about the build." } } }, - "Env": { + "DeploymentProvisioningInfo.Stage": { "type": "object", "properties": { - "key": { + "name": { "type": "string" }, - "value": { - "type": "string" + "status": { + "$ref": "#/definitions/DeploymentProvisioningInfo.Stage.Status" }, - "secret": { - "type": "string" - } - } - }, - "GetRegionalDeploymentReply": { - "type": "object", - "properties": { - "regional_deployment": { - "$ref": "#/definitions/RegionalDeployment" + "messages": { + "type": "array", + "items": { + "type": "string" + } + }, + "started_at": { + "type": "string", + "format": "date-time" + }, + "finished_at": { + "type": "string", + "format": "date-time" + }, + "build_attempts": { + "type": "array", + "items": { + "$ref": "#/definitions/DeploymentProvisioningInfo.Stage.BuildAttempt" + } } } }, - "ListRegionalDeploymentEventsReply": { + "DeploymentProvisioningInfo.Stage.BuildAttempt": { "type": "object", "properties": { - "events": { + "id": { + "type": "integer", + "format": "int64" + }, + "status": { + "$ref": "#/definitions/DeploymentProvisioningInfo.Stage.Status" + }, + "messages": { "type": "array", "items": { - "$ref": "#/definitions/RegionalDeploymentEvent" - }, - "title": "The collection of events" - }, - "limit": { - "type": "integer", - "format": "int64", - "title": "The limit in the request" + "type": "string" + } }, - "offset": { - "type": "integer", - "format": "int64", - "title": "The offset in the request" + "started_at": { + "type": "string", + "format": "date-time" }, - "order": { + "finished_at": { "type": "string", - "title": "The order in the request" + "format": "date-time" }, - "has_next": { + "steps": { + "type": "array", + "items": { + "$ref": "#/definitions/DeploymentProvisioningInfo.Stage.BuildAttempt.BuildStep" + } + }, + "image_pushed": { + "type": "boolean" + }, + "internal_failure": { + "type": "boolean" + }, + "retryable_failure": { + "type": "boolean" + }, + "wait_completion": { "type": "boolean", - "title": "If there is more items after in the collection" + "description": "This flag is used to finalize the build, and continue the deployment in case of success, or cancel and potentially retry the build in case of failure." } } }, - "ListRegionalDeploymentsReply": { + "DeploymentProvisioningInfo.Stage.BuildAttempt.BuildStep": { "type": "object", "properties": { - "regional_deployments": { - "type": "array", - "items": { - "$ref": "#/definitions/RegionalDeploymentListItem" - }, - "title": "The collection of regional deployments" + "name": { + "type": "string" }, - "limit": { - "type": "integer", - "format": "int64", - "title": "The limit in the request" + "status": { + "$ref": "#/definitions/DeploymentProvisioningInfo.Stage.Status" }, - "offset": { - "type": "integer", - "format": "int64", - "title": "The offset in the request" + "messages": { + "type": "array", + "items": { + "type": "string" + } }, - "count": { - "type": "integer", - "format": "int64", - "title": "The total number of items" + "started_at": { + "type": "string", + "format": "date-time" }, - "has_next": { - "type": "boolean", - "title": "If there is more items after in the collection" + "finished_at": { + "type": "string", + "format": "date-time" } } }, - "Port": { + "DeploymentRoute": { "type": "object", "properties": { "port": { "type": "integer", "format": "int64" }, - "protocol": { + "path": { "type": "string" } } }, - "RegionalDeployment": { + "DeploymentScaling": { "type": "object", "properties": { - "id": { - "type": "string" + "scopes": { + "type": "array", + "items": { + "type": "string" + } }, - "created_at": { - "type": "string", - "format": "date-time" + "min": { + "type": "integer", + "format": "int64" }, - "updated_at": { - "type": "string", - "format": "date-time" - }, - "scheduled_at": { - "type": "string", - "format": "date-time" - }, - "allocated_at": { - "type": "string", - "format": "date-time" - }, - "started_at": { - "type": "string", - "format": "date-time" - }, - "succeeded_at": { - "type": "string", - "format": "date-time" - }, - "terminated_at": { - "type": "string", - "format": "date-time" - }, - "organization_id": { - "type": "string" - }, - "app_id": { - "type": "string" - }, - "service_id": { - "type": "string" - }, - "region": { - "type": "string" - }, - "parent_id": { - "type": "string" - }, - "child_id": { - "type": "string" - }, - "status": { - "$ref": "#/definitions/RegionalDeployment.Status" - }, - "messages": { - "type": "array", - "items": { - "type": "string" - } - }, - "definition": { - "$ref": "#/definitions/RegionalDeploymentDefinition" - }, - "datacenters": { - "type": "array", - "items": { - "type": "string" - } - }, - "metadata": { - "$ref": "#/definitions/RegionalDeploymentMetadata" - }, - "provisioning_info": { - "$ref": "#/definitions/DeploymentProvisioningInfo" - }, - "role": { - "$ref": "#/definitions/RegionalDeployment.Role" - }, - "version": { - "type": "string", - "format": "uint64" - }, - "deployment_group": { - "type": "string", - "title": "Legacy stuff" - }, - "deployment_id": { - "type": "string" - } - } - }, - "RegionalDeployment.Role": { - "type": "string", - "enum": [ - "INVALID", - "ACTIVE", - "UPCOMING", - "CURRENT" - ], - "default": "INVALID" - }, - "RegionalDeployment.Status": { - "type": "string", - "enum": [ - "PENDING", - "PROVISIONING", - "SCHEDULED", - "CANCELING", - "CANCELED", - "ALLOCATING", - "STARTING", - "HEALTHY", - "DEGRADED", - "UNHEALTHY", - "STOPPING", - "STOPPED", - "ERRORING", - "ERROR", - "SLEEPING" - ], - "default": "PENDING" - }, - "RegionalDeploymentDefinition": { - "type": "object", - "properties": { - "name": { - "type": "string" - }, - "type": { - "$ref": "#/definitions/RegionalDeploymentDefinition.Type" - }, - "strategy": { - "$ref": "#/definitions/DeploymentStrategy" - }, - "routes": { - "type": "array", - "items": { - "$ref": "#/definitions/Route" - } - }, - "ports": { - "type": "array", - "items": { - "$ref": "#/definitions/Port" - } - }, - "env": { - "type": "array", - "items": { - "$ref": "#/definitions/Env" - } - }, - "region": { - "type": "string" - }, - "scaling": { - "$ref": "#/definitions/Scaling" - }, - "instance_type": { - "type": "string" - }, - "deployment_group": { - "type": "string" - }, - "health_checks": { - "type": "array", - "items": { - "$ref": "#/definitions/DeploymentHealthCheck" - } - }, - "volumes": { - "type": "array", - "items": { - "$ref": "#/definitions/RegionalDeploymentVolume" - } - }, - "config_files": { - "type": "array", - "items": { - "$ref": "#/definitions/ConfigFile" - } - }, - "skip_cache": { - "type": "boolean" - }, - "docker": { - "$ref": "#/definitions/DockerSource" - }, - "git": { - "$ref": "#/definitions/GitSource" - }, - "archive": { - "$ref": "#/definitions/ArchiveSource" - } - } - }, - "RegionalDeploymentDefinition.Type": { - "type": "string", - "enum": [ - "INVALID", - "WEB", - "WORKER" - ], - "default": "INVALID" - }, - "RegionalDeploymentEvent": { - "type": "object", - "properties": { - "id": { - "type": "string" - }, - "when": { - "type": "string", - "format": "date-time" - }, - "organization_id": { - "type": "string" - }, - "regional_deployment_id": { - "type": "string" - }, - "type": { - "type": "string" - }, - "message": { - "type": "string" - }, - "metadata": { - "type": "object" - } - } - }, - "RegionalDeploymentListItem": { - "type": "object", - "properties": { - "id": { - "type": "string" - }, - "created_at": { - "type": "string", - "format": "date-time" - }, - "updated_at": { - "type": "string", - "format": "date-time" - }, - "region": { - "type": "string" - }, - "status": { - "$ref": "#/definitions/RegionalDeployment.Status" - }, - "messages": { - "type": "array", - "items": { - "type": "string" - } - }, - "definition": { - "$ref": "#/definitions/RegionalDeploymentDefinition" - } - } - }, - "RegionalDeploymentMetadata": { - "type": "object" - }, - "RegionalDeploymentVolume": { - "type": "object", - "properties": { - "id": { - "type": "string", - "title": "the id of the volume" - }, - "path": { - "type": "string", - "title": "the path where the volume is mounted to" - }, - "replica_index": { - "type": "integer", - "format": "int64", - "title": "the replica index to mount the volume to" - } - } - }, - "Route": { - "type": "object", - "properties": { - "port": { - "type": "integer", - "format": "int64" - }, - "path": { - "type": "string" - } - } - }, - "Scaling": { - "type": "object", - "properties": { - "min": { - "type": "integer", - "format": "int64" - }, - "max": { - "type": "integer", - "format": "int64" - }, - "targets": { - "type": "array", - "items": { - "$ref": "#/definitions/DeploymentScalingTarget" - } - } - } - }, - "kgitproxy.Branch": { - "type": "object", - "properties": { - "id": { - "type": "string" - }, - "organization_id": { - "type": "string" - }, - "repository_id": { - "type": "string" - }, - "name": { - "type": "string" - }, - "is_default": { - "type": "boolean" - }, - "is_protected": { - "type": "boolean" - }, - "provider": { - "$ref": "#/definitions/kgitproxy.RepositoryProvider" - } - } - }, - "kgitproxy.GitHubRepository": { - "type": "object", - "properties": { - "github_id": { - "type": "string" - } - } - }, - "kgitproxy.ListBranchesReply": { - "type": "object", - "properties": { - "branches": { - "type": "array", - "items": { - "$ref": "#/definitions/kgitproxy.Branch" - }, - "description": "The collection of branches." - }, - "limit": { - "type": "integer", - "format": "int64", - "description": "The limit in the request." - }, - "offset": { + "max": { "type": "integer", - "format": "int64", - "description": "The offset in the request." + "format": "int64" }, - "count": { - "type": "integer", - "format": "int64", - "description": "The total number of items." - } - } - }, - "kgitproxy.ListRepositoriesReply": { - "type": "object", - "properties": { - "repositories": { + "targets": { "type": "array", "items": { - "$ref": "#/definitions/kgitproxy.Repository" - }, - "description": "The collection of repositories." - }, - "limit": { - "type": "integer", - "format": "int64", - "description": "The limit in the request." - }, - "offset": { - "type": "integer", - "format": "int64", - "description": "The offset in the request." - }, - "count": { - "type": "integer", - "format": "int64", - "description": "The total number of items." + "$ref": "#/definitions/DeploymentScalingTarget" + } } } }, - "kgitproxy.Repository": { + "DeploymentScalingTarget": { "type": "object", "properties": { - "id": { - "type": "string" - }, - "organization_id": { - "type": "string" - }, - "name": { - "type": "string" - }, - "url": { - "type": "string" - }, - "description": { - "type": "string" - }, - "is_private": { - "type": "boolean" + "average_cpu": { + "$ref": "#/definitions/DeploymentScalingTargetAverageCPU" }, - "is_disabled": { - "type": "boolean" + "average_mem": { + "$ref": "#/definitions/DeploymentScalingTargetAverageMem" }, - "default_branch": { - "type": "string" + "requests_per_second": { + "$ref": "#/definitions/DeploymentScalingTargetRequestsPerSecond" }, - "provider": { - "$ref": "#/definitions/kgitproxy.RepositoryProvider" + "concurrent_requests": { + "$ref": "#/definitions/DeploymentScalingTargetConcurrentRequests" }, - "last_push_date": { - "type": "string", - "format": "date-time" + "requests_response_time": { + "$ref": "#/definitions/DeploymentScalingTargetRequestsResponseTime" }, - "github": { - "$ref": "#/definitions/kgitproxy.GitHubRepository" + "sleep_idle_delay": { + "$ref": "#/definitions/DeploymentScalingTargetSleepIdleDelay" } } }, - "kgitproxy.RepositoryProvider": { - "type": "string", - "enum": [ - "INVALID_PROVIDER", - "GITHUB" - ], - "default": "INVALID_PROVIDER" - }, - "kgitproxy.ResyncOrganizationReply": { - "type": "object" - }, - "Activity": { + "DeploymentScalingTargetAverageCPU": { "type": "object", "properties": { - "id": { - "type": "string" - }, - "actor": { - "$ref": "#/definitions/Object" - }, - "object": { - "$ref": "#/definitions/Object" - }, - "verb": { - "type": "string" - }, - "metadata": { - "type": "object" - }, - "created_at": { - "type": "string", - "format": "date-time" + "value": { + "type": "integer", + "format": "int64" } } }, - "ActivityList": { + "DeploymentScalingTargetAverageMem": { "type": "object", "properties": { - "activities": { - "type": "array", - "items": { - "$ref": "#/definitions/Activity" - } - }, - "limit": { - "type": "integer", - "format": "int64" - }, - "offset": { + "value": { "type": "integer", "format": "int64" - }, - "has_next": { - "type": "boolean" } } }, - "Notification": { + "DeploymentScalingTargetConcurrentRequests": { "type": "object", "properties": { - "id": { - "type": "string" - }, - "activity": { - "$ref": "#/definitions/Activity" - }, - "is_read": { - "type": "boolean" - }, - "is_seen": { - "type": "boolean" - }, - "created_at": { - "type": "string", - "format": "date-time" + "value": { + "type": "integer", + "format": "int64" } } }, - "NotificationList": { + "DeploymentScalingTargetRequestsPerSecond": { "type": "object", "properties": { - "notifications": { - "type": "array", - "items": { - "$ref": "#/definitions/Notification" - } - }, - "limit": { - "type": "integer", - "format": "int64" - }, - "offset": { - "type": "integer", - "format": "int64" - }, - "count": { + "value": { "type": "integer", "format": "int64" - }, - "is_read": { - "type": "boolean" - }, - "is_seen": { - "type": "boolean" - }, - "unread": { + } + } + }, + "DeploymentScalingTargetRequestsResponseTime": { + "type": "object", + "properties": { + "value": { "type": "integer", "format": "int64" }, - "unseen": { + "quantile": { "type": "integer", - "format": "int64" + "format": "int64", + "description": "The quantile to use for autoscaling. For example, set to 95 to use the 95th\npercentile (p95) for autoscaling. Valid values are between 0 and 100." } } }, - "Object": { + "DeploymentScalingTargetSleepIdleDelay": { "type": "object", "properties": { - "id": { - "type": "string" - }, - "name": { - "type": "string" - }, - "type": { - "type": "string" - }, - "metadata": { - "type": "object" - }, - "deleted": { - "type": "boolean" + "value": { + "type": "integer", + "format": "int64", + "description": "Delay in seconds after which a service which received 0 request is scaled to 0.\nThis is not configurable and must be set to 300 (5 minutes). Get in touch to\ntune it." } } }, - "ExecCommandIO": { + "DeploymentStrategy": { "type": "object", "properties": { - "data": { - "type": "string", - "format": "byte", - "description": "Data is base64 encoded" - }, - "close": { - "type": "boolean", - "description": "Indicate last data frame" + "type": { + "$ref": "#/definitions/DeploymentStrategyType", + "title": "Strategy type" } } }, - "ExecCommandReply": { + "DeploymentStrategyType": { + "type": "string", + "enum": [ + "DEPLOYMENT_STRATEGY_TYPE_INVALID", + "DEPLOYMENT_STRATEGY_TYPE_CANARY", + "DEPLOYMENT_STRATEGY_TYPE_ROLLING", + "DEPLOYMENT_STRATEGY_TYPE_BLUE_GREEN", + "DEPLOYMENT_STRATEGY_TYPE_IMMEDIATE" + ], + "default": "DEPLOYMENT_STRATEGY_TYPE_INVALID", + "description": " - DEPLOYMENT_STRATEGY_TYPE_INVALID: Invalid / Zero value.\n - DEPLOYMENT_STRATEGY_TYPE_CANARY: Use canary strategy.\n - DEPLOYMENT_STRATEGY_TYPE_ROLLING: Use rolling strategy.\n - DEPLOYMENT_STRATEGY_TYPE_BLUE_GREEN: Use blue green strategy.\n - DEPLOYMENT_STRATEGY_TYPE_IMMEDIATE: Use immediate strategy." + }, + "DeploymentVolume": { "type": "object", "properties": { - "stdout": { - "$ref": "#/definitions/ExecCommandIO" - }, - "stderr": { - "$ref": "#/definitions/ExecCommandIO" + "id": { + "type": "string", + "title": "the id of the volume" }, - "exited": { - "type": "boolean" + "path": { + "type": "string", + "title": "the path where the volume is mounted to" }, - "exit_code": { + "replica_index": { "type": "integer", - "format": "int32" + "format": "int64", + "title": "optionally, explicitly choose the replica index to mount the volume to" + }, + "scopes": { + "type": "array", + "items": { + "type": "string" + }, + "title": "scope of the associated" } } }, - "ExecCommandRequest.Body": { + "DockerBuilder": { "type": "object", "properties": { - "command": { + "dockerfile": { + "type": "string", + "title": "A path to the Dockerfile" + }, + "entrypoint": { "type": "array", "items": { "type": "string" }, - "description": "Command to exec. Mandatory in the first frame sent" + "title": "The docker ENTRYPOINT" }, - "tty_size": { - "$ref": "#/definitions/ExecCommandRequest.TerminalSize" + "command": { + "type": "string", + "title": "The docker CMD" }, - "stdin": { - "$ref": "#/definitions/ExecCommandIO" + "args": { + "type": "array", + "items": { + "type": "string" + }, + "title": "The docker CMD args" }, - "disableTty": { + "target": { + "type": "string", + "title": "The target for multi-stage builds" + }, + "privileged": { "type": "boolean", - "description": "Disable TTY. It's enough to specify it in the first frame" + "title": "A flag to run the container in privileged mode" } } }, - "ExecCommandRequest.IdType": { - "type": "string", - "enum": [ - "INVALID", - "INSTANCE_ID", - "SERVICE_ID" - ], - "default": "INVALID" - }, - "ExecCommandRequest.TerminalSize": { + "DockerSource": { "type": "object", "properties": { - "height": { - "type": "integer", - "format": "int32" + "image": { + "type": "string" }, - "width": { - "type": "integer", - "format": "int32" - } - } - }, - "GetMetricsReply": { - "type": "object", - "properties": { - "metrics": { + "command": { + "type": "string" + }, + "args": { "type": "array", "items": { - "$ref": "#/definitions/GetMetricsReply.Metric" - } - } - } - }, - "GetMetricsReply.Metric": { - "type": "object", - "properties": { - "labels": { - "type": "object", - "additionalProperties": { "type": "string" } }, - "samples": { + "image_registry_secret": { + "type": "string" + }, + "entrypoint": { "type": "array", "items": { - "$ref": "#/definitions/Sample" + "type": "string" } + }, + "privileged": { + "type": "boolean", + "title": "A flag to run the container in privileged mode" } } }, - "MetricName": { - "type": "string", - "enum": [ - "UNKNOWN", - "CPU_TOTAL_PERCENT", - "MEM_RSS", - "HTTP_THROUGHPUT", - "HTTP_RESPONSE_TIME_50P", - "HTTP_RESPONSE_TIME_90P", - "HTTP_RESPONSE_TIME_99P", - "HTTP_RESPONSE_TIME_MAX", - "PUBLIC_DATA_TRANSFER_IN", - "PUBLIC_DATA_TRANSFER_OUT" - ], - "default": "UNKNOWN" - }, - "Sample": { + "GetDeploymentReply": { "type": "object", "properties": { - "timestamp": { - "type": "string" - }, - "value": { - "type": "number", - "format": "double" + "deployment": { + "$ref": "#/definitions/Deployment" } } }, - "LogEntry": { + "GitDeploymentMetadata": { "type": "object", "properties": { - "msg": { + "last_provisioned_deployment_id": { "type": "string" - }, - "created_at": { - "type": "string", - "format": "date-time" - }, - "labels": { - "type": "object" } } }, - "CatalogGPUDetails": { + "GitSource": { "type": "object", "properties": { - "count": { - "type": "integer", - "format": "int64", - "title": "The number of GPUs" - }, - "brand": { - "type": "string", - "title": "The brand of GPU" - }, - "memory": { + "repository": { "type": "string", - "title": "GPU memory" + "description": "A url to a git repository (contains the provider as well) .e.g: github.com/koyeb/test." }, - "name": { - "type": "string", - "title": "Name of GPU" - } - } - }, - "CatalogInstance": { - "type": "object", - "properties": { - "id": { + "branch": { "type": "string", - "title": "The name of the instance" + "title": "A git branch that will be tracked for new commits and deployments will be created" }, - "description": { + "tag": { "type": "string", - "title": "A short description of the instance" - }, - "vcpu": { - "type": "integer", - "format": "int64", - "description": "The number of cpus. Deprecated. Use vcpu_shares instead." + "title": "A git tag that should be built" }, - "memory": { + "sha": { "type": "string", - "title": "The memory in bytes in a format like 5MB" + "title": "A git commit that should be built (useful for pinning to a commit, this will always be set when a deployment is created by a code push)" }, - "disk": { + "build_command": { "type": "string", - "title": "The size of the disk in bytes in a format like 5MB" + "title": "A command used to override the build command, run after all build steps \u2014 deprecated, use buildpack.build_command instead" }, - "price_per_second": { + "run_command": { "type": "string", - "title": "The price to pay per second" + "title": "A command used to override the default run command - deprecated, use buildpack.run_command instead" }, - "price_hourly": { - "type": "string", - "title": "The price to pay per hour" + "no_deploy_on_push": { + "type": "boolean", + "title": "A flag to disable a new deployment when a push event is detected" }, - "price_monthly": { + "workdir": { "type": "string", - "title": "The price to pay per month" + "title": "A subdirectory to use as the build directory" }, - "regions": { - "type": "array", - "items": { - "type": "string" - }, - "title": "The regions where this instance type is available" + "buildpack": { + "$ref": "#/definitions/BuildpackBuilder" }, - "status": { - "type": "string", - "title": "The status of the instance" + "docker": { + "$ref": "#/definitions/DockerBuilder" + } + } + }, + "HTTPHeader": { + "type": "object", + "properties": { + "key": { + "type": "string" }, - "require_plan": { - "type": "array", - "items": { - "type": "string" - }, - "title": "The plan required to use instance" + "value": { + "type": "string" + } + } + }, + "HTTPHealthCheck": { + "type": "object", + "properties": { + "port": { + "type": "integer", + "format": "int64", + "title": "The port to use to perform the health check, must be declared in the ports section" }, - "vcpu_shares": { - "type": "number", - "format": "float", - "description": "The number of vcpu shares reserved for the instance." + "path": { + "type": "string", + "title": "The path to use to perform the HTTP health check" }, - "display_name": { + "method": { "type": "string", - "title": "The display name of the instance" + "title": "An optional HTTP method to use to perform the health check, default is GET" }, - "aliases": { + "headers": { "type": "array", "items": { - "type": "string" + "$ref": "#/definitions/HTTPHeader" }, - "title": "Aliases" - }, - "type": { - "type": "string", - "title": "The type of the instance (e.g. \"gpu\")" - }, - "gpu": { - "$ref": "#/definitions/CatalogGPUDetails", - "title": "GPU details" - }, - "service_types": { + "title": "An optional list of HTTP headers to provide when performing the request, default is empty" + } + } + }, + "ListDeploymentEventsReply": { + "type": "object", + "properties": { + "events": { "type": "array", "items": { - "type": "string" + "$ref": "#/definitions/DeploymentEvent" }, - "title": "Allowed service types for this instance (e.g. [\"web\", \"worker\"])" + "title": "The collection of events" }, - "volumes_enabled": { + "limit": { + "type": "integer", + "format": "int64", + "title": "The limit in the request" + }, + "offset": { + "type": "integer", + "format": "int64", + "title": "The offset in the request" + }, + "order": { + "type": "string", + "title": "The order in the request" + }, + "has_next": { "type": "boolean", - "title": "Are the volumes enabled for this instance type" + "title": "If there is more items after in the collection" } } }, - "CatalogInstanceListItem": { + "ListDeploymentsReply": { "type": "object", "properties": { - "id": { - "type": "string", - "title": "The name of the instance" + "deployments": { + "type": "array", + "items": { + "$ref": "#/definitions/DeploymentListItem" + }, + "title": "The collection of deployments" }, - "description": { - "type": "string", - "title": "A short description of the instance" + "limit": { + "type": "integer", + "format": "int64", + "title": "The limit in the request" }, - "vcpu": { + "offset": { "type": "integer", "format": "int64", - "description": "The number of cpus. Deprecated. Use vcpu_shares instead." + "title": "The offset in the request" }, - "memory": { - "type": "string", - "title": "The memory in bytes in a format like 5MB" + "count": { + "type": "integer", + "format": "int64", + "title": "The total number of items" }, - "disk": { - "type": "string", - "title": "The size of the disk in bytes in a format like 5MB" + "has_next": { + "type": "boolean", + "title": "If there is more items after in the collection" + } + } + }, + "NeonPostgresDatabase": { + "type": "object", + "properties": { + "pg_version": { + "type": "integer", + "format": "int64" }, - "price_per_second": { - "type": "string", - "title": "The price to pay per second" + "region": { + "type": "string" }, - "price_hourly": { - "type": "string", - "title": "The price to pay per hour" + "instance_type": { + "type": "string" }, - "price_monthly": { - "type": "string", - "title": "The price to pay per month" + "roles": { + "type": "array", + "items": { + "$ref": "#/definitions/NeonPostgresDatabase.NeonRole" + } }, - "regions": { + "databases": { "type": "array", "items": { - "type": "string" - }, - "title": "The regions where this instance type is available" + "$ref": "#/definitions/NeonPostgresDatabase.NeonDatabase" + } + } + } + }, + "NeonPostgresDatabase.NeonDatabase": { + "type": "object", + "properties": { + "name": { + "type": "string" }, - "status": { - "type": "string", - "title": "The status of the instance" + "owner": { + "type": "string" + } + } + }, + "NeonPostgresDatabase.NeonRole": { + "type": "object", + "properties": { + "name": { + "type": "string" }, - "require_plan": { + "secret": { + "type": "string" + } + } + }, + "NeonPostgresDatabaseDeploymentMetadata": { + "type": "object", + "properties": { + "reset_role_passwords": { "type": "array", "items": { "type": "string" - }, - "title": "The plan required to use instance" + } + } + } + }, + "TCPHealthCheck": { + "type": "object", + "properties": { + "port": { + "type": "integer", + "format": "int64", + "title": "The port to use to perform the health check, must be declared in the ports section" + } + } + }, + "TriggerDeploymentMetadata": { + "type": "object", + "properties": { + "type": { + "$ref": "#/definitions/TriggerDeploymentMetadata.TriggerType" }, - "vcpu_shares": { - "type": "number", - "format": "float", - "description": "The number of vcpu shares reserved for the instance." + "actor": { + "$ref": "#/definitions/TriggerDeploymentMetadata.ActorType" }, - "display_name": { - "type": "string", - "title": "The display name of the instance" + "git": { + "$ref": "#/definitions/TriggerGitDeploymentMetadata" + } + } + }, + "TriggerDeploymentMetadata.ActorType": { + "type": "string", + "enum": [ + "UNKNOWN_ACTOR", + "USER", + "SYSTEM" + ], + "default": "UNKNOWN_ACTOR" + }, + "TriggerDeploymentMetadata.TriggerType": { + "type": "string", + "enum": [ + "UNKNOWN_TYPE", + "GIT", + "RESUME", + "DATABASE_SYNC" + ], + "default": "UNKNOWN_TYPE" + }, + "TriggerGitDeploymentMetadata": { + "type": "object", + "properties": { + "provider": { + "$ref": "#/definitions/TriggerGitDeploymentMetadata.Provider" }, - "aliases": { - "type": "array", - "items": { - "type": "string" - }, - "title": "Aliases" + "repository": { + "type": "string" }, - "type": { - "type": "string", - "title": "The type of the instance (e.g. \"gpu\")" + "branch": { + "type": "string" }, - "gpu": { - "$ref": "#/definitions/CatalogGPUDetails", - "title": "GPU details" + "sha": { + "type": "string" }, - "service_types": { - "type": "array", - "items": { - "type": "string" - }, - "title": "Allowed service types for this instance (e.g. [\"web\", \"worker\"])" + "message": { + "type": "string" }, - "volumes_enabled": { + "sender_username": { + "type": "string" + }, + "sender_avatar_url": { + "type": "string" + }, + "sender_profile_url": { + "type": "string" + } + } + }, + "TriggerGitDeploymentMetadata.Provider": { + "type": "string", + "enum": [ + "UNKNOWN", + "GITHUB" + ], + "default": "UNKNOWN" + }, + "VerifyDockerImageReply": { + "type": "object", + "properties": { + "success": { "type": "boolean", - "title": "Are the volumes enabled for this instance type" + "title": "Whether the image is accessible or not" + }, + "reason": { + "type": "string", + "title": "(Optional) If the image is not accessible, the reason" + }, + "code": { + "$ref": "#/definitions/VerifyDockerImageReply.ErrCode", + "title": "(Optional) If the image is not accessible, return an error code" } } }, - "GetCatalogInstanceReply": { + "VerifyDockerImageReply.ErrCode": { + "type": "string", + "enum": [ + "UNKNOWN", + "AUTH_ACCESS_DENIED", + "ANON_ACCESS_DENIED", + "AUTH_NOT_FOUND", + "ANON_NOT_FOUND", + "REGISTRY_ERROR", + "TIMEOUT", + "DNS", + "MALFORMED", + "INVALID_OS", + "INVALID_ARCH" + ], + "default": "UNKNOWN", + "description": "- UNKNOWN: Default value\n - AUTH_ACCESS_DENIED: The registry denied access to an authenticated request\n - ANON_ACCESS_DENIED: The registry denied access to an anonymous request\n - AUTH_NOT_FOUND: The image has not been found after an authenticated request\n - ANON_NOT_FOUND: The image has not been found after an anonymous request\n - REGISTRY_ERROR: The registry returned an error\n - TIMEOUT: The request to the registry timed out\n - DNS: There was an error trying to resolve the name of the registry\n - MALFORMED: The provided image name is malformed\n - INVALID_OS: The operating system is not supported\n - INVALID_ARCH: The architecture is not supported", + "title": "The error code associated to each specific failure mode" + }, + "AppUsage": { "type": "object", "properties": { - "instance": { - "$ref": "#/definitions/CatalogInstance", - "title": "The instance retrieved" + "app_id": { + "type": "string" + }, + "app_name": { + "type": "string" + }, + "services": { + "type": "array", + "items": { + "$ref": "#/definitions/ServiceUsage" + } } } }, - "ListCatalogInstancesReply": { + "GetOrganizationUsageDetailsReply": { "type": "object", "properties": { - "instances": { + "usage_details": { "type": "array", "items": { - "$ref": "#/definitions/CatalogInstanceListItem" - } + "$ref": "#/definitions/UsageDetails" + }, + "title": "The collection of usage instances" }, "limit": { "type": "integer", @@ -14960,387 +14597,504 @@ "type": "integer", "format": "int64", "title": "The total number of items" + }, + "order": { + "type": "string", + "title": "The order in the request" } } }, - "GetRegionReply": { + "GetOrganizationUsageReply": { "type": "object", "properties": { - "region": { - "$ref": "#/definitions/Region", - "title": "The Region retrieved" + "usage": { + "$ref": "#/definitions/Usage", + "title": "The computed usage of instances per month" } } }, - "ListRegionsReply": { + "InstanceUsage": { "type": "object", "properties": { - "regions": { + "duration_seconds": { + "type": "integer", + "format": "int64" + } + } + }, + "PeriodUsage": { + "type": "object", + "properties": { + "starting_time": { + "type": "string", + "format": "date-time" + }, + "ending_time": { + "type": "string", + "format": "date-time" + }, + "apps": { "type": "array", "items": { - "$ref": "#/definitions/RegionListItem" + "$ref": "#/definitions/AppUsage" + } + } + } + }, + "RegionUsage": { + "type": "object", + "properties": { + "instances": { + "type": "object", + "additionalProperties": { + "$ref": "#/definitions/InstanceUsage" } + } + } + }, + "ServiceUsage": { + "type": "object", + "properties": { + "service_id": { + "type": "string" }, - "limit": { - "type": "integer", - "format": "int64", - "title": "The limit in the request" + "service_name": { + "type": "string" }, - "offset": { - "type": "integer", - "format": "int64", - "title": "The offset in the request" + "regions": { + "type": "object", + "additionalProperties": { + "$ref": "#/definitions/RegionUsage" + } + } + } + }, + "Usage": { + "type": "object", + "properties": { + "organization_id": { + "type": "string" }, - "count": { + "periods": { + "type": "object", + "additionalProperties": { + "$ref": "#/definitions/PeriodUsage" + } + } + } + }, + "UsageDetails": { + "type": "object", + "properties": { + "organization_id": { + "type": "string" + }, + "instance_id": { + "type": "string" + }, + "app_id": { + "type": "string" + }, + "app_name": { + "type": "string" + }, + "service_id": { + "type": "string" + }, + "service_name": { + "type": "string" + }, + "regional_deployment_id": { + "type": "string" + }, + "region": { + "type": "string" + }, + "deployment_id": { + "type": "string" + }, + "instance_type": { + "type": "string" + }, + "duration_seconds": { "type": "integer", - "format": "int64", - "title": "The total number of items" + "format": "int64" + }, + "started_at": { + "type": "string", + "format": "date-time" + }, + "terminated_at": { + "type": "string", + "format": "date-time" } } }, - "Region": { + "CreateSnapshotReply": { "type": "object", "properties": { - "id": { + "snapshot": { + "$ref": "#/definitions/Snapshot" + } + } + }, + "CreateSnapshotRequest": { + "type": "object", + "properties": { + "parent_volume_id": { "type": "string", - "title": "The id of the region" + "title": "The id of the volume to snapshot" }, "name": { "type": "string", - "title": "The name of the region" - }, - "coordinates": { + "title": "The name of the snapshot" + } + } + }, + "DeleteSnapshotReply": { + "type": "object", + "properties": { + "snapshot": { + "$ref": "#/definitions/Snapshot" + } + } + }, + "GetSnapshotReply": { + "type": "object", + "properties": { + "snapshot": { + "$ref": "#/definitions/Snapshot" + } + } + }, + "ListSnapshotsReply": { + "type": "object", + "properties": { + "snapshots": { "type": "array", "items": { - "type": "string" + "$ref": "#/definitions/Snapshot" }, - "title": "The coordinates of the region (lat/long)" - }, - "status": { - "type": "string", - "title": "The status of the region" + "title": "The collection of snapshots" }, - "instances": { - "type": "array", - "items": { - "type": "string" - }, - "title": "A list of instances available in this region" + "limit": { + "type": "integer", + "format": "int64", + "title": "The limit in the request" }, - "datacenters": { - "type": "array", - "items": { - "type": "string" - }, - "title": "A list of datacenters available in this region" + "offset": { + "type": "integer", + "format": "int64", + "title": "The offset in the request" }, - "volumes_enabled": { + "has_next": { "type": "boolean", - "title": "Are the volumes enabled for this instance type" + "title": "If there is more items after in the collection" } } }, - "RegionListItem": { + "Snapshot": { "type": "object", "properties": { "id": { "type": "string", - "title": "The id of the region" + "title": "the identifier of the snapshot object" }, "name": { "type": "string", - "title": "The name of the region" + "title": "the snapshot name" }, - "coordinates": { - "type": "array", - "items": { - "type": "string" - }, - "title": "The coordinates of the region (lat/long)" + "size": { + "type": "integer", + "format": "int64", + "title": "the original volume size" }, - "status": { + "created_at": { "type": "string", - "title": "The status of the region" + "format": "date-time", + "title": "creation timestamp" }, - "instances": { - "type": "array", - "items": { - "type": "string" - }, - "title": "A list of instances available in this region" + "updated_at": { + "type": "string", + "format": "date-time", + "title": "last change timestamp" }, - "datacenters": { - "type": "array", - "items": { - "type": "string" - }, - "title": "A list of datacenters available in this region" + "deleted_at": { + "type": "string", + "format": "date-time", + "title": "deletion timestamp" }, - "volumes_enabled": { - "type": "boolean", - "title": "Are the volumes enabled for this instance type" - } - } - }, - "DatacenterListItem": { - "type": "object", - "properties": { - "id": { + "organization_id": { "type": "string", - "title": "e.g. \"par1\"" + "title": "the organization to which the snapshot belongs to" }, - "region_id": { + "parent_volume_id": { "type": "string", - "title": "e.g. \"par\"" + "title": "the volume from which the snapshot has been created" }, - "domain": { + "region": { "type": "string", - "title": "e.g. \"all-par1.infra.prod.koyeb.com\"" + "title": "the region where the snapshot resides, if any" }, - "coordinates": { - "type": "array", - "items": { - "type": "string" - }, - "title": "e.g. \"8.856614\" ,\"2.352221\"?" + "status": { + "$ref": "#/definitions/SnapshotStatus", + "title": "the status of the snapshot" }, - "use_gpu": { - "type": "boolean", - "title": "e.g. true" + "type": { + "$ref": "#/definitions/SnapshotType", + "title": "the type of snapshot (can be local or remote)" } - } + }, + "description": "The object that represents a snapshot. It can either be local, on a node, or remote, in a cold storage." }, - "ListDatacentersReply": { - "type": "object", - "properties": { - "datacenters": { - "type": "array", - "items": { - "$ref": "#/definitions/DatacenterListItem" - } - } - } + "SnapshotStatus": { + "type": "string", + "enum": [ + "SNAPSHOT_STATUS_INVALID", + "SNAPSHOT_STATUS_CREATING", + "SNAPSHOT_STATUS_AVAILABLE", + "SNAPSHOT_STATUS_MIGRATING", + "SNAPSHOT_STATUS_DELETING", + "SNAPSHOT_STATUS_DELETED" + ], + "default": "SNAPSHOT_STATUS_INVALID", + "title": "- SNAPSHOT_STATUS_INVALID: zero value, invalid\n - SNAPSHOT_STATUS_CREATING: the snapshot is being created\n - SNAPSHOT_STATUS_AVAILABLE: the snapshot is complete and available\n - SNAPSHOT_STATUS_MIGRATING: the snapshot is being migrated\n - SNAPSHOT_STATUS_DELETING: the snapshot is being deleted\n - SNAPSHOT_STATUS_DELETED: the snapshot is deleted" }, - "CreateCredential": { + "SnapshotType": { + "type": "string", + "enum": [ + "SNAPSHOT_TYPE_INVALID", + "SNAPSHOT_TYPE_LOCAL", + "SNAPSHOT_TYPE_REMOTE" + ], + "default": "SNAPSHOT_TYPE_INVALID", + "title": "- SNAPSHOT_TYPE_INVALID: zero value, invalid\n - SNAPSHOT_TYPE_LOCAL: the snapshot is local to the machine\n - SNAPSHOT_TYPE_REMOTE: the snapshot is remote in a cold storage" + }, + "UpdateSnapshotReply": { "type": "object", "properties": { - "name": { - "type": "string", - "title": "Credential name" - }, - "description": { - "type": "string", - "title": "Credential description" - }, - "type": { - "$ref": "#/definitions/Credential.Type", - "title": "Credential type" - }, - "organization_id": { - "type": "string", - "title": "Organization id for user credential" + "snapshot": { + "$ref": "#/definitions/Snapshot" } } }, - "CreateCredentialReply": { + "GetInstanceReply": { "type": "object", "properties": { - "credential": { - "$ref": "#/definitions/Credential" + "instance": { + "$ref": "#/definitions/Instance" } } }, - "Credential": { + "Instance": { "type": "object", "properties": { "id": { "type": "string" }, - "type": { - "$ref": "#/definitions/Credential.Type" + "created_at": { + "type": "string", + "format": "date-time" }, - "name": { + "updated_at": { + "type": "string", + "format": "date-time" + }, + "organization_id": { "type": "string" }, - "token": { + "app_id": { "type": "string" }, - "description": { + "service_id": { "type": "string" }, - "user_id": { + "regional_deployment_id": { "type": "string" }, - "organization_id": { + "allocation_id": { "type": "string" }, - "updated_at": { - "type": "string", - "format": "date-time" + "type": { + "type": "string" }, - "created_at": { - "type": "string", - "format": "date-time" - } - } - }, - "Credential.Type": { - "type": "string", - "enum": [ - "INVALID", - "USER", - "ORGANIZATION" - ], - "default": "INVALID" - }, - "DeleteCredentialReply": { - "type": "object" - }, - "GetCredentialReply": { - "type": "object", - "properties": { - "credential": { - "$ref": "#/definitions/Credential" - } - } - }, - "ListCredentialsReply": { - "type": "object", - "properties": { - "credentials": { + "replica_index": { + "type": "integer", + "format": "int64" + }, + "region": { + "type": "string" + }, + "datacenter": { + "type": "string" + }, + "hypervisor": { + "type": "string" + }, + "status": { + "$ref": "#/definitions/Instance.Status" + }, + "messages": { "type": "array", "items": { - "$ref": "#/definitions/Credential" + "type": "string" } }, - "limit": { - "type": "integer", - "format": "int64" + "started_at": { + "type": "string", + "format": "date-time" }, - "offset": { - "type": "integer", - "format": "int64" + "succeeded_at": { + "type": "string", + "format": "date-time" }, - "count": { - "type": "integer", - "format": "int64" - } - } - }, - "UpdateCredentialReply": { - "type": "object", - "properties": { - "credential": { - "$ref": "#/definitions/Credential" - } - } - }, - "GetIntercomProfileReply": { - "type": "object", - "properties": { - "hash": { - "type": "string" - } - } - }, - "DeleteUserReply": { - "type": "object", - "properties": { - "user": { - "$ref": "#/definitions/User" + "terminated_at": { + "type": "string", + "format": "date-time" + }, + "xyz_deployment_id": { + "type": "string", + "description": "WARNING: Please don't use the following attribute.\nKoyeb doesn't guarantee backwards compatible breaking change and reserve the right to completely drop it without notice.\nUSE AT YOUR OWN RISK." } } }, - "User": { + "Instance.Status": { + "type": "string", + "enum": [ + "ALLOCATING", + "STARTING", + "HEALTHY", + "UNHEALTHY", + "STOPPING", + "STOPPED", + "ERROR", + "SLEEPING" + ], + "default": "ALLOCATING" + }, + "InstanceEvent": { "type": "object", - "example": { - "id": "78352123-a06f-4ec2-81ed-27a056725385", - "email": "john@snow.com", - "name": "John Snow", - "avatar_url": "https://www.gravatar.com/avatar/00000000000000000000000000000000", - "is_admin": false, - "is_test": true, - "two_factor_authentication": false, - "last_login": "0001-01-01T00:00:00Z", - "last_login_id": "10.1.1.1", - "updated_at": "0001-01-01T00:00:00Z", - "created_at": "0001-01-01T00:00:00Z", - "newsletter_subscribed": true, - "email_validated": true - }, "properties": { "id": { "type": "string" }, - "email": { + "when": { + "type": "string", + "format": "date-time" + }, + "organization_id": { "type": "string" }, - "avatar_url": { + "instance_id": { "type": "string" }, - "two_factor_authentication": { - "type": "boolean" + "type": { + "type": "string" }, - "last_login": { - "type": "string", - "format": "date-time" + "message": { + "type": "string" }, - "last_login_ip": { + "metadata": { + "type": "object" + } + } + }, + "InstanceListItem": { + "type": "object", + "properties": { + "id": { "type": "string" }, - "updated_at": { + "created_at": { "type": "string", "format": "date-time" }, - "created_at": { + "updated_at": { "type": "string", "format": "date-time" }, - "newsletter_subscribed": { - "type": "boolean" + "organization_id": { + "type": "string" }, - "github_id": { + "app_id": { "type": "string" }, - "github_user": { + "service_id": { "type": "string" }, - "flags": { + "regional_deployment_id": { + "type": "string" + }, + "allocation_id": { + "type": "string" + }, + "type": { + "type": "string" + }, + "replica_index": { + "type": "integer", + "format": "int64" + }, + "region": { + "type": "string" + }, + "datacenter": { + "type": "string" + }, + "status": { + "$ref": "#/definitions/Instance.Status" + }, + "messages": { "type": "array", "items": { - "$ref": "#/definitions/UserFlags" + "type": "string" } }, - "name": { - "type": "string" - }, - "email_validated": { - "type": "boolean" + "xyz_deployment_id": { + "type": "string", + "description": "WARNING: Please don't use the following attribute.\nKoyeb doesn't guarantee backwards compatible breaking change and reserve the right to completely drop it without notice.\nUSE AT YOUR OWN RISK." } - }, - "title": "Represent a User" + } }, - "UserFlags": { - "type": "string", - "enum": [ - "ADMIN", - "TEST", - "RESTRICTED", - "ACTIVE", - "BETA" - ], - "default": "ADMIN", - "title": "- ADMIN: A user is an admin user\n - TEST: A user is a test user\n - RESTRICTED: Whether this account as restricted access\n - ACTIVE: Whether this account is active\n - BETA: Account in beta program" + "ListInstanceEventsReply": { + "type": "object", + "properties": { + "events": { + "type": "array", + "items": { + "$ref": "#/definitions/InstanceEvent" + }, + "title": "The collection of events" + }, + "limit": { + "type": "integer", + "format": "int64", + "title": "The limit in the request" + }, + "offset": { + "type": "integer", + "format": "int64", + "title": "The offset in the request" + }, + "order": { + "type": "string", + "title": "The order in the request" + }, + "has_next": { + "type": "boolean", + "title": "If there is more items after in the collection" + } + } }, - "ListOrganizationMembersReply": { + "ListInstancesReply": { "type": "object", "properties": { - "members": { + "instances": { "type": "array", "items": { - "$ref": "#/definitions/OrganizationMember" + "$ref": "#/definitions/InstanceListItem" }, - "title": "The collection of organization members" + "title": "The collection of instances" }, "limit": { "type": "integer", @@ -15356,204 +15110,183 @@ "type": "integer", "format": "int64", "title": "The total number of items" + }, + "order": { + "type": "string", + "title": "The order in the request" } } }, - "Organization.Status": { - "type": "string", - "enum": [ - "WARNING", - "LOCKED", - "ACTIVE", - "DEACTIVATING", - "DEACTIVATED", - "DELETING", - "DELETED" - ], - "default": "WARNING" - }, - "OrganizationMember": { + "App": { "type": "object", "properties": { "id": { "type": "string" }, - "organization_id": { + "name": { "type": "string" }, - "user_id": { + "organization_id": { "type": "string" }, - "joined_at": { + "created_at": { "type": "string", "format": "date-time" }, - "role": { - "$ref": "#/definitions/UserRole.Role" + "updated_at": { + "type": "string", + "format": "date-time" + }, + "started_at": { + "type": "string", + "format": "date-time" + }, + "succeeded_at": { + "type": "string", + "format": "date-time" + }, + "paused_at": { + "type": "string", + "format": "date-time" + }, + "resumed_at": { + "type": "string", + "format": "date-time" + }, + "terminated_at": { + "type": "string", + "format": "date-time" }, "status": { - "$ref": "#/definitions/OrganizationMember.Status" + "$ref": "#/definitions/App.Status" }, - "user": { - "$ref": "#/definitions/PublicUser" + "messages": { + "type": "array", + "items": { + "type": "string" + } }, - "organization": { - "$ref": "#/definitions/PublicOrganization" + "version": { + "type": "string", + "format": "uint64" + }, + "domains": { + "type": "array", + "items": { + "$ref": "#/definitions/Domain" + } } } }, - "OrganizationMember.Status": { - "type": "string", - "enum": [ - "INVALID", - "ACTIVE", - "DELETED" - ], - "default": "INVALID" - }, - "Plan": { + "App.Status": { "type": "string", "enum": [ - "hobby", - "starter", - "startup", - "business", - "enterprise", - "internal", - "hobby23", - "no_plan", - "pro", - "scale" + "STARTING", + "HEALTHY", + "DEGRADED", + "UNHEALTHY", + "DELETING", + "DELETED", + "PAUSING", + "PAUSED", + "RESUMING" ], - "default": "hobby" + "default": "STARTING" }, - "PublicOrganization": { + "AppEvent": { "type": "object", "properties": { "id": { "type": "string" }, - "name": { + "when": { + "type": "string", + "format": "date-time" + }, + "organization_id": { "type": "string" }, - "plan": { - "$ref": "#/definitions/Plan" + "app_id": { + "type": "string" }, - "status": { - "$ref": "#/definitions/Organization.Status" + "type": { + "type": "string" + }, + "message": { + "type": "string" + }, + "metadata": { + "type": "object" } } }, - "PublicUser": { + "AppListItem": { "type": "object", "properties": { "id": { "type": "string" }, - "email": { - "type": "string" - }, "name": { "type": "string" }, - "avatar_url": { + "organization_id": { "type": "string" }, - "github_id": { - "type": "string" + "updated_at": { + "type": "string", + "format": "date-time" }, - "github_user": { - "type": "string" - } - } - }, - "RemoveOrganizationMemberReply": { - "type": "object", - "properties": { - "member": { - "$ref": "#/definitions/OrganizationMember" + "created_at": { + "type": "string", + "format": "date-time" + }, + "domains": { + "type": "array", + "items": { + "$ref": "#/definitions/Domain" + } + }, + "status": { + "$ref": "#/definitions/App.Status" + }, + "messages": { + "type": "array", + "items": { + "type": "string" + } } } }, - "UserRole.Role": { - "type": "string", - "enum": [ - "INVALID", - "OWNER" - ], - "default": "INVALID" - }, - "ConfirmOrganizationActionReply": { - "type": "object" - }, - "LoginReply": { + "CreateApp": { "type": "object", "properties": { - "token": { - "$ref": "#/definitions/Token" + "name": { + "type": "string" } } }, - "LoginRequest": { + "CreateAppReply": { "type": "object", - "example": { - "email": "john@snow.com", - "password": "..." - }, "properties": { - "email": { - "type": "string", - "title": "User email" - }, - "password": { - "type": "string", - "title": "User password" - }, - "organization_id": { - "type": "string", - "title": "(Optional) Login into this organization" + "app": { + "$ref": "#/definitions/App", + "title": "The entity created" } } }, - "LogoutReply": { + "DeleteAppReply": { "type": "object" }, - "Token": { + "Domain": { "type": "object", - "example": { - "id": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...", - "expires": "2022-09-08T14:00:00Z", - "user_id": "996d7822-6b58-11e9-956f-32001b70f000", - "organization_id": "9f33b2c6-6b58-11e9-883c-32001b70f000" - }, "properties": { "id": { "type": "string" }, - "user_id": { - "type": "string" - }, "organization_id": { "type": "string" }, - "expires_at": { - "type": "string", - "format": "date-time" - } - } - }, - "GetSubscriptionReply": { - "type": "object", - "properties": { - "subscription": { - "$ref": "#/definitions/Subscription" - } - } - }, - "Subscription": { - "type": "object", - "properties": { - "id": { + "name": { "type": "string" }, "created_at": { @@ -15564,174 +15297,212 @@ "type": "string", "format": "date-time" }, - "version": { - "type": "string", - "format": "uint64" - }, - "organization_id": { - "type": "string" - }, - "stripe_subscription_id": { - "type": "string" - }, "status": { - "$ref": "#/definitions/Subscription.Status" - }, - "messages": { - "type": "array", - "items": { - "type": "string" - } + "$ref": "#/definitions/Domain.Status" }, - "has_pending_update": { - "type": "boolean" + "type": { + "$ref": "#/definitions/Domain.Type" }, - "stripe_pending_invoice_id": { + "app_id": { "type": "string" }, - "terminate_at": { - "type": "string", - "format": "date-time" - }, - "canceled_at": { - "type": "string", - "format": "date-time" - }, - "terminated_at": { - "type": "string", - "format": "date-time" - }, - "current_period_start": { - "type": "string", - "format": "date-time" + "deployment_group": { + "type": "string" }, - "current_period_end": { + "verified_at": { "type": "string", "format": "date-time" }, - "currency": { + "intended_cname": { "type": "string" }, - "amount_payable": { - "type": "string", - "format": "int64" - }, - "amount_paid": { - "type": "string", - "format": "int64" + "messages": { + "type": "array", + "items": { + "type": "string" + } }, - "amount_remaining": { + "version": { "type": "string", - "format": "int64" - }, - "payment_failure": { - "$ref": "#/definitions/Subscription.PaymentFailure" + "format": "uint64" } } }, - "Subscription.PaymentFailure": { + "Domain.Status": { + "type": "string", + "enum": [ + "PENDING", + "ACTIVE", + "ERROR", + "DELETING", + "DELETED" + ], + "default": "PENDING" + }, + "Domain.Type": { + "type": "string", + "enum": [ + "AUTOASSIGNED", + "CUSTOM" + ], + "default": "AUTOASSIGNED", + "title": "- AUTOASSIGNED: Domain like -.koyeb.app" + }, + "GetAppReply": { "type": "object", "properties": { - "failed_at": { - "type": "string", - "format": "date-time" - }, - "next_attempt": { - "type": "string", - "format": "date-time" + "app": { + "$ref": "#/definitions/App", + "title": "The App retrieved" + } + } + }, + "ListAppEventsReply": { + "type": "object", + "properties": { + "events": { + "type": "array", + "items": { + "$ref": "#/definitions/AppEvent" + }, + "title": "The collection of events" }, - "attempt_count": { - "type": "string", - "format": "int64" + "limit": { + "type": "integer", + "format": "int64", + "title": "The limit in the request" }, - "error_code": { - "type": "string" + "offset": { + "type": "integer", + "format": "int64", + "title": "The offset in the request" }, - "error_reason": { - "type": "string" + "order": { + "type": "string", + "title": "The order in the request" }, - "error_type": { - "type": "string" + "has_next": { + "type": "boolean", + "title": "If there is more items after in the collection" + } + } + }, + "ListAppsReply": { + "type": "object", + "properties": { + "apps": { + "type": "array", + "items": { + "$ref": "#/definitions/AppListItem" + } }, - "error_message": { - "type": "string" + "limit": { + "type": "integer", + "format": "int64", + "title": "The limit in the request" }, - "payment_method_required": { - "type": "boolean" + "offset": { + "type": "integer", + "format": "int64", + "title": "The offset in the request" }, - "redirect_url": { - "type": "string" + "count": { + "type": "integer", + "format": "int64", + "title": "The total number of items" }, - "stripe_sdk": { - "$ref": "#/definitions/Subscription.PaymentFailure.StripeSDK" + "has_next": { + "type": "boolean", + "title": "If there is more items after in the collection" } } }, - "Subscription.PaymentFailure.StripeSDK": { + "PauseAppReply": { + "type": "object" + }, + "ResumeAppReply": { + "type": "object" + }, + "UpdateApp": { "type": "object", "properties": { - "client_secret_key": { - "type": "string" - }, - "raw_json": { + "name": { "type": "string" } } }, - "Subscription.Status": { - "type": "string", - "enum": [ - "INVALID", - "CREATED", - "ACTIVE", - "WARNING", - "URGENT", - "CANCELING", - "CANCELED", - "TERMINATING", - "TERMINATED" - ], - "default": "INVALID" - }, - "ConfirmPaymentAuthorizationReply": { + "UpdateAppReply": { "type": "object", "properties": { - "payment_method": { - "$ref": "#/definitions/PaymentMethod" + "app": { + "$ref": "#/definitions/App", + "title": "The entity updated" } } }, - "CreatePaymentAuthorizationReply": { + "CreatePersistentVolumeReply": { "type": "object", "properties": { - "payment_method": { - "$ref": "#/definitions/PaymentMethod" + "volume": { + "$ref": "#/definitions/PersistentVolume" } } }, - "CreatePaymentAuthorizationRequest": { - "type": "object" + "CreatePersistentVolumeRequest": { + "type": "object", + "properties": { + "volume_type": { + "$ref": "#/definitions/PersistentVolumeBackingStore", + "title": "the volume backing store type" + }, + "name": { + "type": "string", + "title": "the volume name" + }, + "region": { + "type": "string", + "title": "the volume region" + }, + "read_only": { + "type": "boolean", + "title": "whether the volume must be set as read only" + }, + "max_size": { + "type": "integer", + "format": "int64", + "title": "the size of the volume (in Gigabyte / GB)" + }, + "snapshot_id": { + "type": "string", + "title": "(optional) the id of the snapshot whence the volume comes from" + } + } }, - "DeletePaymentMethodReply": { - "type": "object" + "DeletePersistentVolumeReply": { + "type": "object", + "properties": { + "volume": { + "$ref": "#/definitions/PersistentVolume" + } + } }, - "GetPaymentMethodReply": { + "GetPersistentVolumeReply": { "type": "object", "properties": { - "payment_method": { - "$ref": "#/definitions/PaymentMethod" + "volume": { + "$ref": "#/definitions/PersistentVolume" } } }, - "ListPaymentMethodsReply": { + "ListPersistentVolumeEventsReply": { "type": "object", "properties": { - "payment_methods": { + "events": { "type": "array", "items": { - "$ref": "#/definitions/PaymentMethod" + "$ref": "#/definitions/PersistentVolumeEvent" }, - "title": "The collection of payment methods" + "title": "The collection of events" }, "limit": { "type": "integer", @@ -15743,352 +15514,410 @@ "format": "int64", "title": "The offset in the request" }, - "count": { + "order": { + "type": "string", + "title": "The order in the request" + }, + "has_next": { + "type": "boolean", + "title": "If there is more items after in the collection" + } + } + }, + "ListPersistentVolumesReply": { + "type": "object", + "properties": { + "volumes": { + "type": "array", + "items": { + "$ref": "#/definitions/PersistentVolume" + }, + "title": "The collection of persistent volumes" + }, + "limit": { "type": "integer", "format": "int64", - "title": "The total number of items" + "title": "The limit in the request" + }, + "offset": { + "type": "integer", + "format": "int64", + "title": "The offset in the request" + }, + "has_next": { + "type": "boolean", + "title": "If there is more items after in the collection" } } }, - "PaymentMethod": { + "PersistentVolume": { "type": "object", "properties": { "id": { - "type": "string" + "type": "string", + "title": "the identifier for the volume object" + }, + "name": { + "type": "string", + "title": "the volume name" + }, + "snapshot_id": { + "type": "string", + "title": "(optional) the id of the snapshot whence the volume comes from" }, "created_at": { "type": "string", - "format": "date-time" + "format": "date-time", + "title": "creation timestamp" }, "updated_at": { "type": "string", - "format": "date-time" + "format": "date-time", + "title": "last change timestamp" }, - "version": { + "deleted_at": { "type": "string", - "format": "uint64" + "format": "date-time", + "title": "deletion timestamp" }, "organization_id": { - "type": "string" + "type": "string", + "title": "the organization to which the volume belongs to" }, - "type": { - "type": "string" + "service_id": { + "type": "string", + "title": "the service_id to which the volume is eventually bound to" }, - "provider": { - "type": "string" + "region": { + "type": "string", + "title": "the region where the volume exists" }, - "status": { - "$ref": "#/definitions/PaymentMethod.Status" + "read_only": { + "type": "boolean", + "title": "whether to mount the volume in read-only mode" }, - "messages": { - "type": "array", - "items": { - "type": "string" - } + "max_size": { + "type": "integer", + "format": "int64", + "title": "the maximum size of the volume (in Gigabyte / GB)" }, - "stripe_payment_method_id": { - "type": "string" + "cur_size": { + "type": "integer", + "format": "int64", + "title": "the used amount of space as measured the last time (in Gigabyte / GB)" }, - "authorization_verified_at": { - "type": "string", - "format": "date-time" + "status": { + "$ref": "#/definitions/PersistentVolumeStatus", + "title": "the status of the volume" + }, + "backing_store": { + "$ref": "#/definitions/PersistentVolumeBackingStore", + "title": "the backing store type" + } + }, + "title": "The object that represent a volume to handle persistency for deployments" + }, + "PersistentVolumeBackingStore": { + "type": "string", + "enum": [ + "PERSISTENT_VOLUME_BACKING_STORE_INVALID", + "PERSISTENT_VOLUME_BACKING_STORE_LOCAL_BLK" + ], + "default": "PERSISTENT_VOLUME_BACKING_STORE_INVALID", + "title": "- PERSISTENT_VOLUME_BACKING_STORE_INVALID: zero value, invalid\n - PERSISTENT_VOLUME_BACKING_STORE_LOCAL_BLK: the backing store is a locally reachable block device" + }, + "PersistentVolumeEvent": { + "type": "object", + "properties": { + "id": { + "type": "string" }, - "authorization_canceled_at": { + "when": { "type": "string", "format": "date-time" }, - "authorization_stripe_payment_intent_id": { - "type": "string" - }, - "authorization_stripe_payment_intent_client_secret": { - "type": "string" - }, - "card_brand": { - "type": "string" - }, - "card_country": { + "organization_id": { "type": "string" }, - "card_funding": { + "persistent_volume_id": { "type": "string" }, - "card_fingerprint": { + "type": { "type": "string" }, - "card_last_digits": { + "message": { "type": "string" }, - "card_expiration_month": { - "type": "integer", - "format": "int64" - }, - "card_expiration_year": { - "type": "integer", - "format": "int64" - } - } - }, - "PaymentMethod.Status": { - "type": "string", - "enum": [ - "INVALID", - "CREATED", - "AUTHORIZED", - "DECLINED", - "CANCELED", - "EXPIRED", - "UNCHECKED" - ], - "default": "INVALID" - }, - "AcceptOrganizationInvitationReply": { - "type": "object", - "properties": { - "invitation": { - "$ref": "#/definitions/OrganizationInvitation", - "title": "The organization invitation accepted" + "metadata": { + "type": "object" } } }, - "Action": { + "PersistentVolumeStatus": { "type": "string", "enum": [ - "signin", - "signup", - "register" + "PERSISTENT_VOLUME_STATUS_INVALID", + "PERSISTENT_VOLUME_STATUS_ATTACHED", + "PERSISTENT_VOLUME_STATUS_DETACHED", + "PERSISTENT_VOLUME_STATUS_DELETING", + "PERSISTENT_VOLUME_STATUS_DELETED" ], - "default": "signin" + "default": "PERSISTENT_VOLUME_STATUS_INVALID", + "title": "- PERSISTENT_VOLUME_STATUS_INVALID: zero value, invalid\n - PERSISTENT_VOLUME_STATUS_ATTACHED: the volume is attached to an instance\n - PERSISTENT_VOLUME_STATUS_DETACHED: the volume is free to use\n - PERSISTENT_VOLUME_STATUS_DELETING: the volume will be deleted\n - PERSISTENT_VOLUME_STATUS_DELETED: the volume was deleted" }, - "CannyAuthReply": { + "UpdatePersistentVolumeReply": { "type": "object", "properties": { - "token": { - "type": "string" + "volume": { + "$ref": "#/definitions/PersistentVolume" } } }, - "CannyAuthRequest": { - "type": "object" - }, - "CreateAccountRequest": { + "CreateDomain": { "type": "object", - "example": { - "email": "john@snow.com", - "password": "..." - }, "properties": { - "email": { - "type": "string" - }, - "password": { - "type": "string" - }, "name": { "type": "string" }, - "captcha": { - "type": "string" - } - }, - "description": "Create new account", - "title": "Create new account", - "required": [ - "email", - "password" - ] - }, - "CreateOrganizationReply": { - "type": "object", - "properties": { - "organization": { - "$ref": "#/definitions/Organization" + "type": { + "$ref": "#/definitions/Domain.Type" + }, + "app_id": { + "type": "string", + "title": "to auto-attach to an app. Optional" } } }, - "CreateOrganizationRequest": { + "CreateDomainReply": { "type": "object", "properties": { - "name": { - "type": "string" + "domain": { + "$ref": "#/definitions/Domain" } } }, - "DeactivateOrganizationReply": { + "DeleteDomainReply": { + "type": "object" + }, + "GetDomainReply": { "type": "object", "properties": { - "organization": { - "$ref": "#/definitions/Organization" + "domain": { + "$ref": "#/definitions/Domain" } } }, - "DeclineOrganizationInvitationReply": { + "ListDomainsReply": { "type": "object", "properties": { - "invitation": { - "$ref": "#/definitions/OrganizationInvitation", - "title": "The organization invitation declined" + "domains": { + "type": "array", + "items": { + "$ref": "#/definitions/Domain" + } + }, + "limit": { + "type": "integer", + "format": "int64", + "title": "The limit in the request" + }, + "offset": { + "type": "integer", + "format": "int64", + "title": "The offset in the request" + }, + "count": { + "type": "integer", + "format": "int64", + "title": "The total number of items" } } }, - "DeleteOrganizationReply": { + "RefreshDomainStatusReply": { + "type": "object" + }, + "UpdateDomain": { "type": "object", "properties": { - "organization": { - "$ref": "#/definitions/Organization" + "app_id": { + "type": "string", + "description": "To attach or detach from an app for custom domain." + }, + "subdomain": { + "type": "string", + "description": "To change subdomain for auto-assigned domain." } } }, - "DiscourseAuthReply": { + "UpdateDomainReply": { "type": "object", "properties": { - "sso": { - "type": "string" - }, - "sig": { - "type": "string" + "domain": { + "$ref": "#/definitions/Domain" } } }, - "DiscourseAuthRequest": { + "AutoRelease": { "type": "object", "properties": { - "payload": { - "type": "string" - }, - "sig": { - "type": "string" + "groups": { + "type": "array", + "items": { + "$ref": "#/definitions/AutoRelease.Group" + } } } }, - "GetGithubInstallationReply": { + "AutoRelease.Group": { "type": "object", "properties": { - "installation_id": { - "type": "string" - }, - "installation_url": { - "type": "string" - }, "name": { "type": "string" }, - "avatar_url": { + "repository": { "type": "string" }, - "status": { - "$ref": "#/definitions/kgitproxy.GithubInstallation.Status" - }, - "installed_at": { + "git_ref": { "type": "string", - "format": "date-time" + "title": "A git ref to track (.e.g: refs/tags/ or refs/heads/" }, - "suspended_at": { + "latest_sha": { "type": "string", - "format": "date-time" - }, - "indexing_status": { - "$ref": "#/definitions/kgitproxy.IndexingStatus" + "title": "The last hash that was resolved (used to avoid triggering releases when things haven't changed)" + } + }, + "title": "Configuration extracted from the latest deployment in this deployment_group" + }, + "AutocompleteReply": { + "type": "object", + "properties": { + "secrets": { + "type": "array", + "items": { + "type": "string" + }, + "title": "List of available secrets" }, - "indexed_repositories": { - "type": "integer", - "format": "int64" + "user_env": { + "type": "array", + "items": { + "type": "string" + }, + "title": "List of available user's environment variables" }, - "total_repositories": { - "type": "integer", - "format": "int64" + "system_env": { + "type": "array", + "items": { + "type": "string" + }, + "title": "List of available system's environment variables" } } }, - "GetOAuthOptionsReply": { + "AutocompleteRequest": { "type": "object", "properties": { - "oauth_providers": { - "type": "array", - "items": { - "$ref": "#/definitions/OAuthProvider" - } + "definition": { + "$ref": "#/definitions/DeploymentDefinition", + "title": "Deployment definition" } - }, - "description": "A list of providers which you can use for single sign-on." + } }, - "GetOrganizationReply": { + "CreateService": { "type": "object", "properties": { - "organization": { - "$ref": "#/definitions/Organization" + "app_id": { + "type": "string" + }, + "definition": { + "$ref": "#/definitions/DeploymentDefinition" } } }, - "GetUserOrganizationInvitationReply": { + "CreateServiceReply": { "type": "object", "properties": { - "invitation": { - "$ref": "#/definitions/OrganizationInvitation" + "service": { + "$ref": "#/definitions/Service", + "title": "The entity created" } } }, - "GithubInstallationReply": { + "DeleteServiceReply": { + "type": "object" + }, + "DesiredDeployment": { "type": "object", "properties": { - "app_name": { - "type": "string", - "title": "The github app name" - }, - "app_id": { - "type": "string", - "format": "int64", - "title": "The github app id" - }, - "url": { - "type": "string", - "title": "The url to start the installation flow" - }, - "state": { - "type": "string", - "title": "The state required by the protocol, it is only valid 10 minutes and encodes information about the type of flow" + "groups": { + "type": "array", + "items": { + "$ref": "#/definitions/DesiredDeployment.Group" + } } } }, - "GithubInstallationRequest": { + "DesiredDeployment.Group": { "type": "object", "properties": { - "metadata": { - "type": "string", - "title": "A small (limited to 400 characters) string of arbitrary metadata which will be encoded in the state" + "name": { + "type": "string" + }, + "deployment_ids": { + "type": "array", + "items": { + "type": "string" + } } } }, - "HasUnpaidInvoicesReply": { + "GetServiceReply": { "type": "object", "properties": { - "has_unpaid_invoices": { - "type": "boolean" + "service": { + "$ref": "#/definitions/Service", + "title": "The Service retrieved" } } }, - "InviteUserRequest": { + "ListServiceEventsReply": { "type": "object", "properties": { - "email": { - "type": "string" + "events": { + "type": "array", + "items": { + "$ref": "#/definitions/ServiceEvent" + }, + "title": "The collection of events" }, - "name": { - "type": "string" + "limit": { + "type": "integer", + "format": "int64", + "title": "The limit in the request" }, - "message": { - "type": "string" + "offset": { + "type": "integer", + "format": "int64", + "title": "The offset in the request" + }, + "order": { + "type": "string", + "title": "The order in the request" + }, + "has_next": { + "type": "boolean", + "title": "If there is more items after in the collection" } } }, - "ListUserOrganizationInvitationsReply": { + "ListServicesReply": { "type": "object", "properties": { - "invitations": { + "services": { "type": "array", "items": { - "$ref": "#/definitions/OrganizationInvitation" - }, - "title": "The collection of organization invitations" + "$ref": "#/definitions/ServiceListItem" + } }, "limit": { "type": "integer", @@ -16104,484 +15933,619 @@ "type": "integer", "format": "int64", "title": "The total number of items" + }, + "has_next": { + "type": "boolean", + "title": "If there is more items after in the collection" } } }, - "ManageReply": { + "PauseServiceReply": { + "type": "object" + }, + "RedeployReply": { "type": "object", "properties": { - "url": { - "type": "string" + "deployment": { + "$ref": "#/definitions/Deployment", + "title": "The entity updated" } } }, - "NextInvoiceReply": { + "RedeployRequest.Info": { "type": "object", "properties": { - "stripe_invoice": { - "type": "object" + "deployment_group": { + "type": "string" }, - "lines": { - "type": "array", - "items": { - "$ref": "#/definitions/NextInvoiceReply.Line" - } + "sha": { + "type": "string" }, - "discounts": { - "type": "array", - "items": { - "$ref": "#/definitions/NextInvoiceReply.Discount" - } + "use_cache": { + "type": "boolean" + }, + "skip_build": { + "type": "boolean", + "description": "If set to true, the build stage will be skipped and the image coming from the last successful build step will be used instead.\nThe call fails if no previous successful builds happened." } } }, - "NextInvoiceReply.Discount": { + "ResumeServiceReply": { + "type": "object" + }, + "Service": { "type": "object", "properties": { - "type": { - "$ref": "#/definitions/NextInvoiceReply.Discount.Type" + "id": { + "type": "string" + }, + "created_at": { + "type": "string", + "format": "date-time" + }, + "updated_at": { + "type": "string", + "format": "date-time" + }, + "started_at": { + "type": "string", + "format": "date-time" + }, + "succeeded_at": { + "type": "string", + "format": "date-time" + }, + "paused_at": { + "type": "string", + "format": "date-time" + }, + "resumed_at": { + "type": "string", + "format": "date-time" + }, + "terminated_at": { + "type": "string", + "format": "date-time" }, "name": { "type": "string" }, - "amount": { + "type": { + "$ref": "#/definitions/Service.Type" + }, + "organization_id": { + "type": "string" + }, + "app_id": { + "type": "string" + }, + "status": { + "$ref": "#/definitions/Service.Status" + }, + "messages": { + "type": "array", + "items": { + "type": "string" + } + }, + "version": { "type": "string", - "format": "int64" + "format": "uint64" + }, + "active_deployment_id": { + "type": "string" + }, + "latest_deployment_id": { + "type": "string" + }, + "last_provisioned_deployment_id": { + "type": "string" + }, + "state": { + "$ref": "#/definitions/ServiceState", + "title": "Legacy stuff" } } }, - "NextInvoiceReply.Discount.Type": { + "Service.Status": { "type": "string", "enum": [ - "PERCENT_OFF", - "AMOUNT_OFF" + "STARTING", + "HEALTHY", + "DEGRADED", + "UNHEALTHY", + "DELETING", + "DELETED", + "PAUSING", + "PAUSED", + "RESUMING" ], - "default": "PERCENT_OFF" + "default": "STARTING" }, - "NextInvoiceReply.Line": { + "Service.Type": { + "type": "string", + "enum": [ + "INVALID_TYPE", + "WEB", + "WORKER", + "DATABASE" + ], + "default": "INVALID_TYPE" + }, + "ServiceEvent": { "type": "object", "properties": { - "amount_excluding_tax": { - "type": "integer", - "format": "int32" + "id": { + "type": "string" }, - "period": { - "$ref": "#/definitions/NextInvoiceReply.Line.Period" + "when": { + "type": "string", + "format": "date-time" }, - "plan_nickname": { + "organization_id": { "type": "string" }, - "price": { - "$ref": "#/definitions/NextInvoiceReply.Line.Price" + "service_id": { + "type": "string" }, - "quantity": { - "type": "integer", - "format": "int32" + "type": { + "type": "string" + }, + "message": { + "type": "string" + }, + "metadata": { + "type": "object" } } }, - "NextInvoiceReply.Line.Period": { + "ServiceListItem": { "type": "object", "properties": { - "start": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "type": { + "$ref": "#/definitions/Service.Type" + }, + "organization_id": { + "type": "string" + }, + "app_id": { + "type": "string" + }, + "updated_at": { "type": "string", "format": "date-time" }, - "end": { + "created_at": { "type": "string", "format": "date-time" + }, + "status": { + "$ref": "#/definitions/Service.Status" + }, + "messages": { + "type": "array", + "items": { + "type": "string" + } + }, + "version": { + "type": "string", + "format": "uint64", + "title": "A version updated whenever this state changes (useful for caching)" + }, + "state": { + "$ref": "#/definitions/ServiceState" + }, + "active_deployment_id": { + "type": "string" + }, + "latest_deployment_id": { + "type": "string" } } }, - "NextInvoiceReply.Line.Price": { - "type": "object", - "properties": { - "unit_amount_decimal": { - "type": "number", - "format": "double" - } - } - }, - "OAuthCallbackReply": { + "ServiceState": { "type": "object", "properties": { - "token": { - "$ref": "#/definitions/Token", - "title": "A jwt token to be used for session" + "desired_deployment": { + "$ref": "#/definitions/DesiredDeployment" + }, + "auto_release": { + "$ref": "#/definitions/AutoRelease" } } }, - "OAuthCallbackRequest": { + "UpdateService": { "type": "object", "properties": { - "state": { - "type": "string", - "title": "The state created at the origin of the OAuth flow" + "definition": { + "$ref": "#/definitions/DeploymentDefinition" }, - "code": { - "type": "string", - "title": "The code returned by the OAuth provider" + "metadata": { + "$ref": "#/definitions/DeploymentMetadata" }, - "setup_action": { - "type": "string", - "description": "setup_action is populated in the context of a GitHub app installation request. For logins and\nsignups, it is not set." + "skip_build": { + "type": "boolean", + "description": "If set to true, the build stage will be skipped and the image coming from the last successful build step will be used instead.\nThe call fails if no previous successful builds happened." }, - "installation_id": { - "type": "string", - "description": "installation_id is populated in the context of a GitHub app installation request. For logins and\nsignups, it is not set." + "save_only": { + "type": "boolean", + "title": "If set, do not trigger a deployment, only store the new settings" } } }, - "OAuthProvider": { + "UpdateServiceReply": { "type": "object", "properties": { - "id": { - "type": "string", - "title": "The name of the provider (.e.g github, google)" - }, - "url": { - "type": "string", - "title": "The URL to call to initiate the OAuth flow" - }, - "state": { - "type": "string", - "title": "The OAuth state required by the protocol, it is only valid 10 minutes and encodes information about the type of flow" + "service": { + "$ref": "#/definitions/Service", + "title": "The entity updated" } } }, - "Organization": { + "AzureContainerRegistryConfiguration": { "type": "object", "properties": { - "id": { - "type": "string" - }, - "address1": { - "type": "string" - }, - "address2": { - "type": "string" - }, - "city": { + "registry_name": { "type": "string" }, - "postal_code": { + "username": { "type": "string" }, - "state": { + "password": { "type": "string" - }, - "country": { + } + } + }, + "CreateSecret": { + "type": "object", + "properties": { + "name": { "type": "string" }, - "company": { - "type": "boolean" - }, - "vat_number": { - "type": "string" + "type": { + "$ref": "#/definitions/SecretType" }, - "billing_name": { + "value": { "type": "string" }, - "billing_email": { - "type": "string" + "docker_hub_registry": { + "$ref": "#/definitions/DockerHubRegistryConfiguration" }, - "name": { - "type": "string" + "private_registry": { + "$ref": "#/definitions/PrivateRegistryConfiguration" }, - "plan": { - "$ref": "#/definitions/Plan" + "digital_ocean_registry": { + "$ref": "#/definitions/DigitalOceanRegistryConfiguration" }, - "plan_updated_at": { - "type": "string", - "format": "date-time" + "github_registry": { + "$ref": "#/definitions/GitHubRegistryConfiguration" }, - "has_payment_method": { - "type": "boolean" + "gitlab_registry": { + "$ref": "#/definitions/GitLabRegistryConfiguration" }, - "subscription_id": { - "type": "string" + "gcp_container_registry": { + "$ref": "#/definitions/GCPContainerRegistryConfiguration" }, - "current_subscription_id": { + "azure_container_registry": { + "$ref": "#/definitions/AzureContainerRegistryConfiguration" + } + } + }, + "CreateSecretReply": { + "type": "object", + "properties": { + "secret": { + "$ref": "#/definitions/Secret" + } + } + }, + "DatabaseRolePassword": { + "type": "object", + "properties": { + "username": { "type": "string" }, - "latest_subscription_id": { + "password": { "type": "string" - }, - "signup_qualification": { - "type": "object" - }, - "status": { - "$ref": "#/definitions/Organization.Status" - }, - "status_message": { - "$ref": "#/definitions/OrganizationDetailedStatus" - }, - "deactivation_reason": { - "$ref": "#/definitions/Organization.DeactivationReason" - }, - "verified": { - "type": "boolean" - }, - "qualifies_for_hobby23": { - "type": "boolean" - }, - "reprocess_after": { - "type": "string", - "format": "date-time" - }, - "trialing": { - "type": "boolean" - }, - "trial_starts_at": { - "type": "string", - "format": "date-time" - }, - "trial_ends_at": { - "type": "string", - "format": "date-time" } - }, - "title": "Represent an Organization" + } }, - "Organization.DeactivationReason": { - "type": "string", - "enum": [ - "INVALID", - "REQUESTED_BY_OWNER", - "SUBSCRIPTION_TERMINATION", - "LOCKED_BY_ADMIN", - "VERIFICATION_FAILED" - ], - "default": "INVALID" + "DeleteSecretReply": { + "type": "object" }, - "OrganizationDetailedStatus": { - "type": "string", - "enum": [ - "NEW", - "EMAIL_NOT_VALIDATED", - "BILLING_INFO_MISSING", - "LOCKED", - "PAYMENT_FAILURE", - "VALID", - "PENDING_VERIFICATION", - "VERIFICATION_FAILED", - "REVIEWING_ACCOUNT", - "PLAN_UPGRADE_REQUIRED" - ], - "default": "NEW" + "DigitalOceanRegistryConfiguration": { + "type": "object", + "properties": { + "username": { + "type": "string" + }, + "password": { + "type": "string" + } + } }, - "OrganizationInvitation": { + "DockerHubRegistryConfiguration": { "type": "object", "properties": { - "id": { - "type": "string" - }, - "email": { + "username": { "type": "string" }, - "role": { - "$ref": "#/definitions/UserRole.Role" - }, - "status": { - "$ref": "#/definitions/OrganizationInvitation.Status" - }, - "expires_at": { - "type": "string", - "format": "date-time" - }, - "organization_id": { + "password": { "type": "string" - }, - "organization": { - "$ref": "#/definitions/PublicOrganization" - }, - "invitee_id": { + } + } + }, + "GCPContainerRegistryConfiguration": { + "type": "object", + "properties": { + "keyfile_content": { "type": "string" }, - "invitee": { - "$ref": "#/definitions/PublicUser" - }, - "inviter_id": { + "url": { "type": "string" - }, - "inviter": { - "$ref": "#/definitions/PublicUser" } } }, - "OrganizationInvitation.Status": { - "type": "string", - "enum": [ - "INVALID", - "PENDING", - "ACCEPTED", - "REFUSED", - "EXPIRED" - ], - "default": "INVALID" - }, - "ReactivateOrganizationReply": { + "GetSecretReply": { "type": "object", "properties": { - "organization": { - "$ref": "#/definitions/Organization" + "secret": { + "$ref": "#/definitions/Secret" } } }, - "ResendEmailValidationReply": { - "type": "object" - }, - "ResendEmailValidationRequest": { - "type": "object" - }, - "ResetPasswordReply": { - "type": "object" - }, - "ResetPasswordRequest": { + "GitHubRegistryConfiguration": { "type": "object", - "example": { - "email": "john@snow.com" - }, "properties": { - "email": { + "username": { + "type": "string" + }, + "password": { "type": "string" } } }, - "UnscopeOrganizationTokenRequest": { - "type": "object" - }, - "UpdateOrganizationPlanReply": { + "GitLabRegistryConfiguration": { "type": "object", "properties": { - "organization": { - "$ref": "#/definitions/Organization" + "username": { + "type": "string" + }, + "password": { + "type": "string" } } }, - "UpdateOrganizationReply": { + "ListSecretsReply": { "type": "object", "properties": { - "organization": { - "$ref": "#/definitions/Organization" + "secrets": { + "type": "array", + "items": { + "$ref": "#/definitions/Secret" + } + }, + "limit": { + "type": "integer", + "format": "int64" + }, + "offset": { + "type": "integer", + "format": "int64" + }, + "count": { + "type": "integer", + "format": "int64" } } }, - "UpdatePasswordRequest": { + "PrivateRegistryConfiguration": { "type": "object", - "example": { - "id": "...", - "password": "..." - }, "properties": { - "id": { + "username": { "type": "string" }, "password": { "type": "string" + }, + "url": { + "type": "string" } } }, - "UpdateUserRequest.UserUpdateBody": { + "RevealSecretReply": { + "type": "object", + "properties": { + "value": {} + } + }, + "Secret": { "type": "object", "properties": { "id": { "type": "string" }, - "email": { + "name": { "type": "string" }, - "current_password": { + "organization_id": { "type": "string" }, - "password": { - "type": "string" + "type": { + "$ref": "#/definitions/SecretType" }, - "newsletter_subscribed": { - "type": "boolean" + "updated_at": { + "type": "string", + "format": "date-time" }, - "name": { + "created_at": { + "type": "string", + "format": "date-time" + }, + "value": { "type": "string" + }, + "docker_hub_registry": { + "$ref": "#/definitions/DockerHubRegistryConfiguration" + }, + "private_registry": { + "$ref": "#/definitions/PrivateRegistryConfiguration" + }, + "digital_ocean_registry": { + "$ref": "#/definitions/DigitalOceanRegistryConfiguration" + }, + "github_registry": { + "$ref": "#/definitions/GitHubRegistryConfiguration" + }, + "gitlab_registry": { + "$ref": "#/definitions/GitLabRegistryConfiguration" + }, + "gcp_container_registry": { + "$ref": "#/definitions/GCPContainerRegistryConfiguration" + }, + "azure_container_registry": { + "$ref": "#/definitions/AzureContainerRegistryConfiguration" + }, + "database_role_password": { + "$ref": "#/definitions/DatabaseRolePassword" } } }, - "UpsertSignupQualificationReply": { + "SecretType": { + "type": "string", + "enum": [ + "SIMPLE", + "REGISTRY", + "MANAGED" + ], + "default": "SIMPLE" + }, + "UpdateSecretReply": { "type": "object", "properties": { - "organization": { - "$ref": "#/definitions/Organization" + "secret": { + "$ref": "#/definitions/Secret" } } }, - "UserReply": { + "Archive": { "type": "object", "properties": { - "user": { - "$ref": "#/definitions/User" + "id": { + "type": "string", + "description": "The archive id, that can be referenced when creating or updating a service." + }, + "organization_id": { + "type": "string", + "description": "Organization owning the archive." + }, + "upload_url": { + "type": "string", + "description": "The URL where to upload the archive. This URL is signed and can only be\nused to upload the archive until `valid_until`." + }, + "size": { + "type": "string", + "format": "uint64", + "description": "The provisioned space for the archive." + }, + "created_at": { + "type": "string", + "format": "date-time", + "description": "Date of creation of the archive." + }, + "deleted_at": { + "type": "string", + "format": "date-time", + "description": "This field is automatically set by Koyeb when the\narchive is garbage collected." } } }, - "Empty": { - "type": "object" - }, - "kgitproxy.GithubInstallation.Status": { - "type": "string", - "enum": [ - "INVALID", - "INSTALLED", - "SUSPENDED", - "DELETED" - ], - "default": "INVALID" + "CreateArchive": { + "type": "object", + "properties": { + "size": { + "type": "string", + "format": "uint64", + "description": "How much space to provision for the archive, in bytes." + } + } }, - "kgitproxy.IndexingStatus": { - "type": "string", - "enum": [ - "INVALID_INDEXING_STATUS", - "NOT_STARTED", - "IN_PROGRESS", - "COMPLETED" - ], - "default": "INVALID_INDEXING_STATUS" + "CreateArchiveReply": { + "type": "object", + "properties": { + "archive": { + "$ref": "#/definitions/Archive" + } + } }, - "CreateOrganizationInvitationReply": { + "Env": { "type": "object", "properties": { - "invitation": { - "$ref": "#/definitions/OrganizationInvitation", - "title": "The organization invitation sent" + "key": { + "type": "string" + }, + "value": { + "type": "string" + }, + "secret": { + "type": "string" } } }, - "CreateOrganizationInvitationRequest": { + "GetRegionalDeploymentReply": { "type": "object", "properties": { - "email": { - "type": "string", - "title": "The email of the person to invite" + "regional_deployment": { + "$ref": "#/definitions/RegionalDeployment" } } }, - "DeleteOrganizationInvitationReply": { - "type": "object" - }, - "GetOrganizationInvitationReply": { + "ListRegionalDeploymentEventsReply": { "type": "object", "properties": { - "invitation": { - "$ref": "#/definitions/OrganizationInvitation" + "events": { + "type": "array", + "items": { + "$ref": "#/definitions/RegionalDeploymentEvent" + }, + "title": "The collection of events" + }, + "limit": { + "type": "integer", + "format": "int64", + "title": "The limit in the request" + }, + "offset": { + "type": "integer", + "format": "int64", + "title": "The offset in the request" + }, + "order": { + "type": "string", + "title": "The order in the request" + }, + "has_next": { + "type": "boolean", + "title": "If there is more items after in the collection" } } }, - "ListOrganizationInvitationsReply": { + "ListRegionalDeploymentsReply": { "type": "object", "properties": { - "invitations": { + "regional_deployments": { "type": "array", "items": { - "$ref": "#/definitions/OrganizationInvitation" + "$ref": "#/definitions/RegionalDeploymentListItem" }, - "title": "The collection of organization invitations" + "title": "The collection of regional deployments" }, "limit": { "type": "integer", @@ -16597,269 +16561,338 @@ "type": "integer", "format": "int64", "title": "The total number of items" + }, + "has_next": { + "type": "boolean", + "title": "If there is more items after in the collection" } } }, - "ResendOrganizationInvitationReply": { - "type": "object", - "properties": { - "invitation": { - "$ref": "#/definitions/OrganizationInvitation", - "title": "The organization invitation resent" - } - } - }, - "GetQuotasReply": { + "Port": { "type": "object", "properties": { - "quotas": { - "$ref": "#/definitions/Quotas" + "port": { + "type": "integer", + "format": "int64" + }, + "protocol": { + "type": "string" } } }, - "PersistentVolumeQuotas": { + "RegionalDeployment": { "type": "object", "properties": { - "max_total_size": { - "type": "integer", - "format": "int64", - "description": "MaxTotalSize for all volumes on a region (in Gigabyte / GB)." + "id": { + "type": "string" }, - "max_volume_size": { - "type": "integer", - "format": "int64", - "description": "MaxVolumeSize for one volume (in Gigabyte / GB)." + "created_at": { + "type": "string", + "format": "date-time" }, - "max_per_instance_size": { - "type": "integer", - "format": "int64", - "description": "MaxPerInstanceSize for all volumes on an instance (in Gigabyte / GB)." + "updated_at": { + "type": "string", + "format": "date-time" + }, + "scheduled_at": { + "type": "string", + "format": "date-time" + }, + "allocated_at": { + "type": "string", + "format": "date-time" + }, + "started_at": { + "type": "string", + "format": "date-time" + }, + "succeeded_at": { + "type": "string", + "format": "date-time" + }, + "terminated_at": { + "type": "string", + "format": "date-time" + }, + "organization_id": { + "type": "string" + }, + "app_id": { + "type": "string" + }, + "service_id": { + "type": "string" + }, + "region": { + "type": "string" + }, + "parent_id": { + "type": "string" + }, + "child_id": { + "type": "string" + }, + "status": { + "$ref": "#/definitions/RegionalDeployment.Status" + }, + "messages": { + "type": "array", + "items": { + "type": "string" + } + }, + "definition": { + "$ref": "#/definitions/RegionalDeploymentDefinition" + }, + "datacenters": { + "type": "array", + "items": { + "type": "string" + } + }, + "metadata": { + "$ref": "#/definitions/RegionalDeploymentMetadata" + }, + "provisioning_info": { + "$ref": "#/definitions/DeploymentProvisioningInfo" + }, + "role": { + "$ref": "#/definitions/RegionalDeployment.Role" + }, + "version": { + "type": "string", + "format": "uint64" + }, + "deployment_group": { + "type": "string", + "title": "Legacy stuff" + }, + "deployment_id": { + "type": "string" } } }, - "Quotas": { + "RegionalDeployment.Role": { + "type": "string", + "enum": [ + "INVALID", + "ACTIVE", + "UPCOMING", + "CURRENT" + ], + "default": "INVALID" + }, + "RegionalDeployment.Status": { + "type": "string", + "enum": [ + "PENDING", + "PROVISIONING", + "SCHEDULED", + "CANCELING", + "CANCELED", + "ALLOCATING", + "STARTING", + "HEALTHY", + "DEGRADED", + "UNHEALTHY", + "STOPPING", + "STOPPED", + "ERRORING", + "ERROR", + "SLEEPING" + ], + "default": "PENDING" + }, + "RegionalDeploymentDefinition": { "type": "object", "properties": { - "apps": { - "type": "string", - "format": "int64" + "name": { + "type": "string" }, - "services": { - "type": "string", - "format": "int64" + "type": { + "$ref": "#/definitions/RegionalDeploymentDefinition.Type" }, - "domains": { - "type": "string", - "format": "int64" + "strategy": { + "$ref": "#/definitions/DeploymentStrategy" }, - "services_by_app": { - "type": "string", - "format": "int64" + "routes": { + "type": "array", + "items": { + "$ref": "#/definitions/Route" + } + }, + "ports": { + "type": "array", + "items": { + "$ref": "#/definitions/Port" + } + }, + "env": { + "type": "array", + "items": { + "$ref": "#/definitions/Env" + } + }, + "region": { + "type": "string" + }, + "scaling": { + "$ref": "#/definitions/Scaling" + }, + "instance_type": { + "type": "string" }, - "service_provisioning_concurrency": { - "type": "string", - "format": "int64" + "deployment_group": { + "type": "string" }, - "memory_mb": { - "type": "string", - "format": "int64" + "health_checks": { + "type": "array", + "items": { + "$ref": "#/definitions/DeploymentHealthCheck" + } }, - "instance_types": { + "volumes": { "type": "array", "items": { - "type": "string" + "$ref": "#/definitions/RegionalDeploymentVolume" } }, - "regions": { + "config_files": { "type": "array", "items": { - "type": "string" + "$ref": "#/definitions/ConfigFile" } }, - "max_organization_members": { - "type": "string", - "format": "int64" + "skip_cache": { + "type": "boolean" }, - "max_instances_by_type": { - "type": "object", - "additionalProperties": { - "type": "string", - "format": "int64" - } + "docker": { + "$ref": "#/definitions/DockerSource" }, - "persistent_volumes_by_region": { - "type": "object", - "additionalProperties": { - "$ref": "#/definitions/PersistentVolumeQuotas" - } + "git": { + "$ref": "#/definitions/GitSource" + }, + "archive": { + "$ref": "#/definitions/ArchiveSource" } } }, - "AppsSummary": { + "RegionalDeploymentDefinition.Type": { + "type": "string", + "enum": [ + "INVALID", + "WEB", + "WORKER" + ], + "default": "INVALID" + }, + "RegionalDeploymentEvent": { "type": "object", "properties": { - "total": { + "id": { + "type": "string" + }, + "when": { "type": "string", - "format": "int64", - "title": "Total number of apps" + "format": "date-time" }, - "by_status": { - "type": "object", - "additionalProperties": { - "type": "string", - "format": "int64" - }, - "title": "Number of apps grouped by status" + "organization_id": { + "type": "string" + }, + "regional_deployment_id": { + "type": "string" + }, + "type": { + "type": "string" + }, + "message": { + "type": "string" + }, + "metadata": { + "type": "object" } } }, - "DomainsSummary": { + "RegionalDeploymentListItem": { "type": "object", "properties": { - "total": { + "id": { + "type": "string" + }, + "created_at": { "type": "string", - "format": "int64", - "title": "Total number of domains" + "format": "date-time" }, - "by_status": { - "type": "object", - "additionalProperties": { - "type": "string", - "format": "int64" - }, - "title": "Number of domains grouped by status" - } - } - }, - "GetOrganizationSummaryReply": { - "type": "object", - "properties": { - "summary": { - "$ref": "#/definitions/OrganizationSummary", - "title": "Organization usage summary" - } - } - }, - "InstancesSummary": { - "type": "object", - "properties": { - "total": { + "updated_at": { "type": "string", - "format": "int64", - "title": "Total number of instances" + "format": "date-time" }, - "by_type": { - "type": "object", - "additionalProperties": { - "type": "string", - "format": "int64" - }, - "title": "Number of instances grouped by type" + "region": { + "type": "string" + }, + "status": { + "$ref": "#/definitions/RegionalDeployment.Status" + }, + "messages": { + "type": "array", + "items": { + "type": "string" + } + }, + "definition": { + "$ref": "#/definitions/RegionalDeploymentDefinition" } } }, - "MembersSummary": { + "RegionalDeploymentMetadata": { + "type": "object" + }, + "RegionalDeploymentVolume": { "type": "object", "properties": { - "total": { + "id": { "type": "string", - "format": "int64", - "title": "Number of members" + "title": "the id of the volume" }, - "invitations_by_status": { - "type": "object", - "additionalProperties": { - "type": "string", - "format": "int64" - }, - "title": "Number of invitations grouped by status" - } - } - }, - "NeonPostgresSummary": { - "type": "object", - "properties": { - "total": { + "path": { "type": "string", - "format": "int64", - "title": "Total number of databases" + "title": "the path where the volume is mounted to" }, - "by_instance_type": { - "type": "object", - "additionalProperties": { - "type": "string", - "format": "int64" - }, - "title": "Number of databases grouped by instance type" + "replica_index": { + "type": "integer", + "format": "int64", + "title": "the replica index to mount the volume to" } } }, - "OrganizationSummary": { + "Route": { "type": "object", "properties": { - "organization_id": { - "type": "string" - }, - "instances": { - "$ref": "#/definitions/InstancesSummary" - }, - "apps": { - "$ref": "#/definitions/AppsSummary" - }, - "services": { - "type": "object", - "additionalProperties": { - "$ref": "#/definitions/ServiceSummary" - }, - "title": "Number of services grouped by type" - }, - "domains": { - "$ref": "#/definitions/DomainsSummary" - }, - "secrets": { - "$ref": "#/definitions/SecretsSummary" - }, - "neon_postgres": { - "$ref": "#/definitions/NeonPostgresSummary" + "port": { + "type": "integer", + "format": "int64" }, - "members": { - "$ref": "#/definitions/MembersSummary" + "path": { + "type": "string" } } }, - "SecretsSummary": { + "Scaling": { "type": "object", "properties": { - "total": { - "type": "string", - "format": "int64", - "title": "Total number of secrets" + "min": { + "type": "integer", + "format": "int64" }, - "by_type": { - "type": "object", - "additionalProperties": { - "type": "string", - "format": "int64" - }, - "title": "Number of secrets grouped by type" - } - } - }, - "ServiceSummary": { - "type": "object", - "properties": { - "total": { - "type": "string", - "format": "int64", - "title": "Total number of services" + "max": { + "type": "integer", + "format": "int64" }, - "by_status": { - "type": "object", - "additionalProperties": { - "type": "string", - "format": "int64" - }, - "title": "Number of services grouped by status" + "targets": { + "type": "array", + "items": { + "$ref": "#/definitions/DeploymentScalingTarget" + } } } },