{ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/api-evangelist/snyk/main/json-schema/snyk-app-bot-schema.json", "title": "AppBot", "x-generated": "2026-10-04", "x-method": "derived", "x-generator": "derive-json-schema.py", "x-source": "openapi/snyk-apps-api-openapi.yml#/components/schemas/AppBot", "additionalProperties": false, "properties": { "attributes": { "type": "object" }, "id": { "$ref": "#/$defs/Id" }, "links": { "$ref": "#/$defs/Links" }, "relationships": { "properties": { "app": { "properties": { "data": { "$ref": "#/$defs/PublicApp" } }, "type": "object" } }, "required": [ "app" ], "type": "object" }, "type": { "$ref": "#/$defs/Type" } }, "required": [ "type", "id", "relationships" ], "type": "object", "$defs": { "AppName": { "description": "New name of the app to display to users during authorization flow.", "minLength": 1, "type": "string" }, "ClientId__0": { "description": "The oauth2 client id for the app.", "format": "uuid", "type": "string" }, "Context": { "description": "Allow installing the app to a org/group or to a user, default tenant.", "enum": [ "tenant", "user" ], "type": "string" }, "Id": { "format": "uuid", "type": "string" }, "LinkProperty": { "oneOf": [ { "description": "A string containing the link’s URL.", "type": "string" }, { "additionalProperties": false, "properties": { "href": { "description": "A string containing the link’s URL.", "type": "string" }, "meta": { "additionalProperties": true, "description": "Free-form object that may contain non-standard information.", "type": "object" } }, "required": [ "href" ], "type": "object" } ] }, "Links": { "additionalProperties": false, "properties": { "first": { "$ref": "#/$defs/LinkProperty" }, "last": { "$ref": "#/$defs/LinkProperty" }, "next": { "$ref": "#/$defs/LinkProperty" }, "prev": { "$ref": "#/$defs/LinkProperty" }, "related": { "$ref": "#/$defs/LinkProperty" }, "self": { "$ref": "#/$defs/LinkProperty" } }, "type": "object" }, "PublicApp": { "additionalProperties": false, "properties": { "attributes": { "$ref": "#/$defs/PublicAppAttributes__0" }, "id": { "$ref": "#/$defs/Id" }, "links": { "$ref": "#/$defs/Links" }, "type": { "$ref": "#/$defs/Type" } }, "required": [ "type", "id" ], "type": "object" }, "PublicAppAttributes__0": { "properties": { "client_id": { "$ref": "#/$defs/ClientId__0" }, "context": { "$ref": "#/$defs/Context" }, "name": { "$ref": "#/$defs/AppName" }, "scopes": { "$ref": "#/$defs/Scopes" } }, "required": [ "name", "client_id" ], "type": "object" }, "Scopes": { "description": "The scopes this app is allowed to request during authorization.", "items": { "minLength": 1, "type": "string" }, "minItems": 1, "type": "array" }, "Type": { "type": "string" } } }