Fermyon apps API
The apps API from Fermyon — 6 operation(s) for apps.
The apps API from Fermyon — 6 operation(s) for apps.
openapi: 3.1.0
info:
title: Fermyon Cloud accounts apps API
version: '1.0'
description: OpenAPI 3.1 specification for the Fermyon Cloud REST API, derived from the public swagger.json published in the fermyon/cloud-openapi repository on GitHub.
servers:
- url: https://cloud.fermyon.com
description: Fermyon Cloud production API
security:
- Bearer: []
tags:
- name: apps
paths:
/api/apps:
get:
tags:
- apps
parameters:
- name: searchText
in: query
schema:
type: string
default: ''
- name: pageIndex
in: query
schema:
type: integer
format: int32
default: 0
- name: pageSize
in: query
schema:
type: integer
format: int32
default: 50
- name: sortBy
in: query
schema:
type: string
default: Name
- name: IsSortedAscending
in: query
schema:
type: boolean
default: true
- name: exactMatch
in: query
schema:
type: boolean
default: false
- name: Api-Version
in: header
description: The requested API version
schema:
type: string
default: '1.0'
responses:
'200':
description: Success
content:
text/plain:
schema:
$ref: '#/components/schemas/AppItemPage'
application/json:
schema:
$ref: '#/components/schemas/AppItemPage'
text/json:
schema:
$ref: '#/components/schemas/AppItemPage'
post:
tags:
- apps
parameters:
- name: Api-Version
in: header
description: The requested API version
schema:
type: string
default: '1.0'
requestBody:
content:
application/json-patch+json:
schema:
$ref: '#/components/schemas/CreateAppCommand'
application/json:
schema:
$ref: '#/components/schemas/CreateAppCommand'
text/json:
schema:
$ref: '#/components/schemas/CreateAppCommand'
application/*+json:
schema:
$ref: '#/components/schemas/CreateAppCommand'
required: true
responses:
'200':
description: Success
content:
text/plain:
schema:
type: string
format: uuid
application/json:
schema:
type: string
format: uuid
text/json:
schema:
type: string
format: uuid
/api/apps/{id}:
get:
tags:
- apps
parameters:
- name: id
in: path
required: true
schema:
type: string
format: uuid
- name: Api-Version
in: header
description: The requested API version
schema:
type: string
default: '1.0'
responses:
'200':
description: Success
content:
text/plain:
schema:
$ref: '#/components/schemas/AppItem'
application/json:
schema:
$ref: '#/components/schemas/AppItem'
text/json:
schema:
$ref: '#/components/schemas/AppItem'
put:
tags:
- apps
parameters:
- name: id
in: path
required: true
schema:
type: string
format: uuid
- name: Api-Version
in: header
description: The requested API version
schema:
type: string
default: '1.0'
requestBody:
content:
application/json-patch+json:
schema:
$ref: '#/components/schemas/UpdateAppCommand'
application/json:
schema:
$ref: '#/components/schemas/UpdateAppCommand'
text/json:
schema:
$ref: '#/components/schemas/UpdateAppCommand'
application/*+json:
schema:
$ref: '#/components/schemas/UpdateAppCommand'
required: true
responses:
'200':
description: Success
patch:
tags:
- apps
parameters:
- name: id
in: path
required: true
schema:
type: string
format: uuid
- name: Api-Version
in: header
description: The requested API version
schema:
type: string
default: '1.0'
requestBody:
content:
application/json-patch+json:
schema:
$ref: '#/components/schemas/PatchAppCommand'
application/json:
schema:
$ref: '#/components/schemas/PatchAppCommand'
text/json:
schema:
$ref: '#/components/schemas/PatchAppCommand'
application/*+json:
schema:
$ref: '#/components/schemas/PatchAppCommand'
required: true
responses:
'200':
description: Success
delete:
tags:
- apps
parameters:
- name: id
in: path
required: true
schema:
type: string
format: uuid
- name: Api-Version
in: header
description: The requested API version
schema:
type: string
default: '1.0'
responses:
'200':
description: Success
/api/apps/{id}/request-count:
get:
tags:
- apps
parameters:
- name: id
in: path
required: true
schema:
type: string
format: uuid
- name: from
in: query
schema:
type: string
format: date-time
- name: to
in: query
schema:
type: string
format: date-time
- name: Api-Version
in: header
description: The requested API version
schema:
type: string
default: '1.0'
responses:
'200':
description: Success
content:
text/plain:
schema:
$ref: '#/components/schemas/AppRequestCountItem'
application/json:
schema:
$ref: '#/components/schemas/AppRequestCountItem'
text/json:
schema:
$ref: '#/components/schemas/AppRequestCountItem'
/api/apps/{id}/logs:
get:
tags:
- apps
parameters:
- name: id
in: path
required: true
schema:
type: string
format: uuid
- name: max
in: query
schema:
type: integer
format: int32
- name: since
in: query
schema:
type: string
- name: Api-Version
in: header
description: The requested API version
schema:
type: string
default: '1.0'
responses:
'200':
description: Success
content:
text/plain:
schema:
$ref: '#/components/schemas/GetAppLogsVm'
application/json:
schema:
$ref: '#/components/schemas/GetAppLogsVm'
text/json:
schema:
$ref: '#/components/schemas/GetAppLogsVm'
/api/apps/{id}/logs/raw:
get:
tags:
- apps
parameters:
- name: id
in: path
required: true
schema:
type: string
format: uuid
- name: max
in: query
schema:
type: integer
format: int32
- name: since
in: query
schema:
type: string
- name: Api-Version
in: header
description: The requested API version
schema:
type: string
default: '1.0'
responses:
'200':
description: Success
content:
text/plain:
schema:
$ref: '#/components/schemas/GetAppRawLogsVm'
application/json:
schema:
$ref: '#/components/schemas/GetAppRawLogsVm'
text/json:
schema:
$ref: '#/components/schemas/GetAppRawLogsVm'
/api/apps/{id}/events:
get:
tags:
- apps
parameters:
- name: id
in: path
required: true
schema:
type: string
format: uuid
- name: from
in: query
schema:
type: string
format: date-time
- name: to
in: query
schema:
type: string
format: date-time
- name: Api-Version
in: header
description: The requested API version
schema:
type: string
default: '1.0'
responses:
'200':
description: Success
content:
text/plain:
schema:
type: array
items:
$ref: '#/components/schemas/AppEventItem'
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/AppEventItem'
text/json:
schema:
type: array
items:
$ref: '#/components/schemas/AppEventItem'
components:
schemas:
AppItemPage:
required:
- isLastPage
- items
- pageIndex
- pageSize
- totalItems
type: object
properties:
items:
type: array
items:
$ref: '#/components/schemas/AppItem'
totalItems:
type: integer
format: int32
pageIndex:
type: integer
format: int32
pageSize:
type: integer
format: int32
isLastPage:
type: boolean
readOnly: true
additionalProperties: false
Meta:
type: object
properties:
appId:
type: string
channelId:
type: string
deploymentId:
type: string
requestId:
type: string
triggerId:
type: string
componentId:
type: string
additionalProperties: false
Entry:
type: object
properties:
meta:
$ref: '#/components/schemas/Meta'
logLines:
type: array
items:
$ref: '#/components/schemas/LogLine'
additionalProperties: false
GetAppLogsVm:
required:
- logs
type: object
properties:
logs:
type: array
items:
type: string
additionalProperties: false
ApiHealthStatus:
enum:
- Healthy
- Unhealthy
- Degraded
type: string
AppEventType:
enum:
- Unknown
- Create
- Update
- Delete
type: string
AppChannelListItem:
required:
- created
- id
- name
type: object
properties:
id:
type: string
format: uuid
name:
minLength: 1
type: string
activeRevisionNumber:
type: string
domain:
type: string
created:
type: string
format: date-time
healthStatus:
$ref: '#/components/schemas/ApiHealthStatus'
lastModified:
type: string
format: date-time
additionalProperties: false
AppItem:
required:
- channels
- created
- id
- lastModified
- name
- storageId
- subdomain
type: object
properties:
id:
type: string
format: uuid
name:
minLength: 1
type: string
storageId:
minLength: 1
type: string
description:
type: string
subdomain:
minLength: 1
type: string
healthStatus:
$ref: '#/components/schemas/ApiHealthStatus'
channels:
type: array
items:
$ref: '#/components/schemas/AppChannelListItem'
domain:
$ref: '#/components/schemas/AppDomainItem'
lastModified:
type: string
format: date-time
lastDeployed:
type: string
format: date-time
nullable: true
created:
type: string
format: date-time
latestRevision:
type: string
nullable: true
additionalProperties: false
AppEventItem:
type: object
properties:
date:
type: string
format: date-time
type:
$ref: '#/components/schemas/AppEventType'
name:
type: string
metadata:
type: object
additionalProperties:
type: string
nullable: true
additionalProperties: false
GetAppRawLogsVm:
required:
- entries
type: object
properties:
entries:
type: array
items:
$ref: '#/components/schemas/Entry'
additionalProperties: false
CreateAppCommand:
required:
- name
- storageId
type: object
properties:
name:
minLength: 1
type: string
storageId:
minLength: 1
type: string
createDefaultDatabase:
type: boolean
additionalProperties: false
AppDomainItem:
required:
- name
- validationStatus
type: object
properties:
name:
minLength: 1
type: string
validationStatus:
$ref: '#/components/schemas/ValidationStatus'
lastModified:
type: string
format: date-time
additionalProperties: false
AppRequestCountItem:
required:
- averagePerSecond
- end
- interval
- points
- start
- total
type: object
properties:
start:
type: integer
format: int64
end:
type: integer
format: int64
interval:
type: integer
format: int32
total:
type: integer
format: int64
averagePerSecond:
type: number
format: double
points:
type: array
items:
$ref: '#/components/schemas/AppRequestPointItem'
additionalProperties: false
UpdateAppCommand:
required:
- id
- name
type: object
properties:
id:
type: string
format: uuid
name:
minLength: 1
type: string
additionalProperties: false
LogLine:
type: object
properties:
time:
type: string
source:
type: string
line:
type: string
additionalProperties: false
AppRequestPointItem:
required:
- timestamp
- value
type: object
properties:
timestamp:
type: integer
format: int64
value:
type: integer
format: int64
additionalProperties: false
ValidationStatus:
enum:
- InProgress
- Error
- Ready
- Provisioning
type: string
PatchAppCommand:
required:
- id
type: object
properties:
id:
type: string
format: uuid
domain:
$ref: '#/components/schemas/StringField'
hostname:
$ref: '#/components/schemas/StringField'
additionalProperties: false
StringField:
type: string
properties:
value:
type: string
additionalProperties: false
securitySchemes:
Bearer:
type: apiKey
description: 'JWT Authorization header using the Bearer scheme. Example: "Authorization: Bearer {token}"'
name: Authorization
in: header