{ "openapi": "3.0.4", "info": { "title": "Develop API", "version": "v1" }, "paths": { "/api/developers/{pubName}/projects/{projectId}/bots": { "get": { "tags": [ "BotAccount" ], "parameters": [ { "name": "pubName", "in": "path", "required": true, "schema": { "type": "string" } }, { "name": "projectId", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "responses": { "200": { "description": "OK" } } }, "post": { "tags": [ "BotAccount" ], "parameters": [ { "name": "pubName", "in": "path", "required": true, "schema": { "type": "string" } }, { "name": "projectId", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/BotRequest" } }, "text/json": { "schema": { "$ref": "#/components/schemas/BotRequest" } }, "application/*+json": { "schema": { "$ref": "#/components/schemas/BotRequest" } } } }, "responses": { "200": { "description": "OK" } } } }, "/api/developers/{pubName}/projects/{projectId}/bots/{botId}": { "get": { "tags": [ "BotAccount" ], "parameters": [ { "name": "pubName", "in": "path", "required": true, "schema": { "type": "string" } }, { "name": "projectId", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "botId", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "responses": { "200": { "description": "OK" } } }, "put": { "tags": [ "BotAccount" ], "parameters": [ { "name": "pubName", "in": "path", "required": true, "schema": { "type": "string" } }, { "name": "projectId", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "botId", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UpdateBotRequest" } }, "text/json": { "schema": { "$ref": "#/components/schemas/UpdateBotRequest" } }, "application/*+json": { "schema": { "$ref": "#/components/schemas/UpdateBotRequest" } } } }, "responses": { "200": { "description": "OK" } } }, "delete": { "tags": [ "BotAccount" ], "parameters": [ { "name": "pubName", "in": "path", "required": true, "schema": { "type": "string" } }, { "name": "projectId", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "botId", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "responses": { "200": { "description": "OK" } } } }, "/api/developers/{pubName}/projects/{projectId}/apps": { "get": { "tags": [ "CustomApp" ], "parameters": [ { "name": "pubName", "in": "path", "required": true, "schema": { "type": "string" } }, { "name": "projectId", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "responses": { "200": { "description": "OK" } } }, "post": { "tags": [ "CustomApp" ], "parameters": [ { "name": "pubName", "in": "path", "required": true, "schema": { "type": "string" } }, { "name": "projectId", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CustomAppRequest" } }, "text/json": { "schema": { "$ref": "#/components/schemas/CustomAppRequest" } }, "application/*+json": { "schema": { "$ref": "#/components/schemas/CustomAppRequest" } } } }, "responses": { "200": { "description": "OK" } } } }, "/api/developers/{pubName}/projects/{projectId}/apps/{appId}": { "get": { "tags": [ "CustomApp" ], "parameters": [ { "name": "pubName", "in": "path", "required": true, "schema": { "type": "string" } }, { "name": "projectId", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "appId", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "responses": { "200": { "description": "OK" } } }, "patch": { "tags": [ "CustomApp" ], "parameters": [ { "name": "pubName", "in": "path", "required": true, "schema": { "type": "string" } }, { "name": "projectId", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "appId", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CustomAppRequest" } }, "text/json": { "schema": { "$ref": "#/components/schemas/CustomAppRequest" } }, "application/*+json": { "schema": { "$ref": "#/components/schemas/CustomAppRequest" } } } }, "responses": { "200": { "description": "OK" } } }, "delete": { "tags": [ "CustomApp" ], "parameters": [ { "name": "pubName", "in": "path", "required": true, "schema": { "type": "string" } }, { "name": "projectId", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } }, { "name": "appId", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "responses": { "200": { "description": "OK" } } } }, "/api/developers/{name}": { "get": { "tags": [ "Developer" ], "parameters": [ { "name": "name", "in": "path", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "OK", "content": { "text/plain": { "schema": { "$ref": "#/components/schemas/Developer" } }, "application/json": { "schema": { "$ref": "#/components/schemas/Developer" } }, "text/json": { "schema": { "$ref": "#/components/schemas/Developer" } } } } } } }, "/api/developers/{name}/stats": { "get": { "tags": [ "Developer" ], "parameters": [ { "name": "name", "in": "path", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "OK", "content": { "text/plain": { "schema": { "$ref": "#/components/schemas/DeveloperStats" } }, "application/json": { "schema": { "$ref": "#/components/schemas/DeveloperStats" } }, "text/json": { "schema": { "$ref": "#/components/schemas/DeveloperStats" } } } } } } }, "/api/developers": { "get": { "tags": [ "Developer" ], "responses": { "200": { "description": "OK", "content": { "text/plain": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/Developer" } } }, "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/Developer" } } }, "text/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/Developer" } } } } } } } }, "/api/developers/{name}/enroll": { "post": { "tags": [ "Developer" ], "parameters": [ { "name": "name", "in": "path", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "OK", "content": { "text/plain": { "schema": { "$ref": "#/components/schemas/Developer" } }, "application/json": { "schema": { "$ref": "#/components/schemas/Developer" } }, "text/json": { "schema": { "$ref": "#/components/schemas/Developer" } } } } } } }, "/api/developers/{pubName}/projects": { "get": { "tags": [ "DevProject" ], "parameters": [ { "name": "pubName", "in": "path", "required": true, "schema": { "type": "string" } } ], "responses": { "200": { "description": "OK" } } }, "post": { "tags": [ "DevProject" ], "parameters": [ { "name": "pubName", "in": "path", "required": true, "schema": { "type": "string" } } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/DevProjectRequest" } }, "text/json": { "schema": { "$ref": "#/components/schemas/DevProjectRequest" } }, "application/*+json": { "schema": { "$ref": "#/components/schemas/DevProjectRequest" } } } }, "responses": { "200": { "description": "OK" } } } }, "/api/developers/{pubName}/projects/{id}": { "get": { "tags": [ "DevProject" ], "parameters": [ { "name": "pubName", "in": "path", "required": true, "schema": { "type": "string" } }, { "name": "id", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "responses": { "200": { "description": "OK" } } }, "put": { "tags": [ "DevProject" ], "parameters": [ { "name": "pubName", "in": "path", "required": true, "schema": { "type": "string" } }, { "name": "id", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/DevProjectRequest" } }, "text/json": { "schema": { "$ref": "#/components/schemas/DevProjectRequest" } }, "application/*+json": { "schema": { "$ref": "#/components/schemas/DevProjectRequest" } } } }, "responses": { "200": { "description": "OK" } } }, "delete": { "tags": [ "DevProject" ], "parameters": [ { "name": "pubName", "in": "path", "required": true, "schema": { "type": "string" } }, { "name": "id", "in": "path", "required": true, "schema": { "type": "string", "format": "uuid" } } ], "responses": { "200": { "description": "OK" } } } } }, "components": { "schemas": { "BotRequest": { "type": "object", "properties": { "slug": { "type": "string", "nullable": true } }, "additionalProperties": false }, "CloudFileReferenceObject": { "type": "object", "properties": { "created_at": { "$ref": "#/components/schemas/Instant" }, "updated_at": { "$ref": "#/components/schemas/Instant" }, "deleted_at": { "$ref": "#/components/schemas/Instant" }, "id": { "type": "string", "nullable": true }, "name": { "type": "string", "nullable": true }, "file_meta": { "type": "object", "additionalProperties": { "nullable": true }, "nullable": true }, "user_meta": { "type": "object", "additionalProperties": { "nullable": true }, "nullable": true }, "sensitive_marks": { "type": "array", "items": { "$ref": "#/components/schemas/ContentSensitiveMark" }, "nullable": true }, "mime_type": { "type": "string", "nullable": true }, "hash": { "type": "string", "nullable": true }, "size": { "type": "integer", "format": "int64" }, "has_compression": { "type": "boolean" } }, "additionalProperties": false }, "ContentSensitiveMark": { "enum": [ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12 ], "type": "integer", "format": "int32" }, "CustomAppLinks": { "type": "object", "properties": { "home_page": { "maxLength": 8192, "type": "string", "nullable": true }, "privacy_policy": { "maxLength": 8192, "type": "string", "nullable": true }, "terms_of_service": { "maxLength": 8192, "type": "string", "nullable": true } }, "additionalProperties": false }, "CustomAppOauthConfig": { "type": "object", "properties": { "client_uri": { "maxLength": 1024, "type": "string", "nullable": true }, "redirect_uris": { "maxItems": 4096, "type": "array", "items": { "type": "string" }, "nullable": true }, "post_logout_redirect_uris": { "maxItems": 4096, "type": "array", "items": { "type": "string" }, "nullable": true }, "allowed_scopes": { "maxItems": 256, "type": "array", "items": { "type": "string" }, "nullable": true }, "allowed_grant_types": { "maxItems": 256, "type": "array", "items": { "type": "string" }, "nullable": true }, "require_pkce": { "type": "boolean" }, "allow_offline_access": { "type": "boolean" } }, "additionalProperties": false }, "CustomAppRequest": { "type": "object", "properties": { "slug": { "type": "string", "nullable": true }, "name": { "type": "string", "nullable": true }, "description": { "type": "string", "nullable": true }, "picture_id": { "type": "string", "nullable": true }, "background_id": { "type": "string", "nullable": true }, "status": { "$ref": "#/components/schemas/CustomAppStatus" }, "links": { "$ref": "#/components/schemas/CustomAppLinks" }, "oauth_config": { "$ref": "#/components/schemas/CustomAppOauthConfig" } }, "additionalProperties": false }, "CustomAppStatus": { "enum": [ 0, 1, 2, 3 ], "type": "integer", "format": "int32" }, "DevProject": { "type": "object", "properties": { "created_at": { "$ref": "#/components/schemas/Instant" }, "updated_at": { "$ref": "#/components/schemas/Instant" }, "deleted_at": { "$ref": "#/components/schemas/Instant" }, "id": { "type": "string", "format": "uuid" }, "slug": { "maxLength": 1024, "type": "string", "nullable": true }, "name": { "maxLength": 1024, "type": "string", "nullable": true }, "description": { "maxLength": 4096, "type": "string", "nullable": true }, "developer": { "$ref": "#/components/schemas/Developer" }, "developer_id": { "type": "string", "format": "uuid" } }, "additionalProperties": false }, "DevProjectRequest": { "type": "object", "properties": { "slug": { "type": "string", "nullable": true }, "name": { "type": "string", "nullable": true }, "description": { "type": "string", "nullable": true } }, "additionalProperties": false }, "Developer": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "publisher_id": { "type": "string", "format": "uuid" }, "projects": { "type": "array", "items": { "$ref": "#/components/schemas/DevProject" }, "nullable": true }, "publisher": { "$ref": "#/components/schemas/PublisherInfo" } }, "additionalProperties": false }, "DeveloperStats": { "type": "object", "properties": { "total_custom_apps": { "type": "integer", "format": "int32" } }, "additionalProperties": false }, "Instant": { "type": "object", "additionalProperties": false }, "PublisherInfo": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "type": { "$ref": "#/components/schemas/PublisherType" }, "name": { "type": "string", "nullable": true }, "nick": { "type": "string", "nullable": true }, "bio": { "type": "string", "nullable": true }, "picture": { "$ref": "#/components/schemas/CloudFileReferenceObject" }, "background": { "$ref": "#/components/schemas/CloudFileReferenceObject" }, "verification": { "$ref": "#/components/schemas/VerificationMark" }, "account_id": { "type": "string", "format": "uuid", "nullable": true }, "realm_id": { "type": "string", "format": "uuid", "nullable": true } }, "additionalProperties": false }, "PublisherType": { "enum": [ 0, 1, 2 ], "type": "integer", "format": "int32" }, "UpdateBotRequest": { "type": "object", "properties": { "slug": { "type": "string", "nullable": true }, "is_active": { "type": "boolean", "nullable": true } }, "additionalProperties": false }, "VerificationMark": { "type": "object", "properties": { "type": { "$ref": "#/components/schemas/VerificationMarkType" }, "title": { "maxLength": 1024, "type": "string", "nullable": true }, "description": { "maxLength": 8192, "type": "string", "nullable": true }, "verified_by": { "maxLength": 1024, "type": "string", "nullable": true } }, "additionalProperties": false }, "VerificationMarkType": { "enum": [ 0, 1, 2, 3, 4, 5, 6 ], "type": "integer", "format": "int32" } } } }