Negotiate SDK connection
Preferred API authentication. Use a JWT with the api audience.
In: header
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Information supplied by an SDK while negotiating a connection.
A version of SoulFire's stable SDK protocol contract.
A version of SoulFire's stable SDK protocol contract.
Response Body
application/json
application/json
application/json
application/json
curl -X POST "https://example.com/v1/sdk:handshake" \ -H "Content-Type: application/json" \ -d '{ "sdkName": "", "sdkVersion": "", "requiredCapabilities": [], "requiredPlugins": [] }'{ "serverId": "string", "soulfireVersion": "string", "commitHash": "string", "branchName": "string", "apiVersion": { "major": 0, "minor": 0, "patch": 0 }, "nativeMinecraftVersion": "string", "supportedMinecraftVersions": [ "string" ], "transports": [ "SDK_TRANSPORT_UNSPECIFIED" ], "capabilities": [ { "id": "string", "revision": 0 } ], "plugins": [ { "pluginId": "string", "pluginVersion": "string", "description": "string", "author": "string", "license": "string", "websiteUrl": "http://example.com", "requiredSoulfireVersion": "string", "apiMajorVersion": 0, "descriptorSha256": "string", "services": [ { "name": "string", "fullName": "string", "methods": [ { "name": "string", "fullName": "string", "inputTypeUrl": "string", "outputTypeUrl": "string", "clientStreaming": true, "serverStreaming": true, "permissions": [ "string" ], "displayName": "string", "description": "string", "exposedToMcp": true, "mcpRequiresConfirmation": true } ] } ], "permissions": [ { "id": "string", "pluginId": "string", "scope": "PLUGIN_PERMISSION_SCOPE_UNSPECIFIED", "risk": "PLUGIN_PERMISSION_RISK_UNSPECIFIED", "displayName": "string", "description": "string", "defaultGrant": "PLUGIN_PERMISSION_DEFAULT_UNSPECIFIED" } ], "eventTypeUrls": [ "string" ], "taskTypeUrls": [ "string" ], "stability": "PLUGIN_API_STABILITY_UNSPECIFIED", "sdkPackages": { "typescriptPackage": "string", "pythonPackage": "string", "mavenArtifact": "string" }, "documentationUrl": "string", "sourceUrl": "string", "eventTypes": [ { "typeUrl": "string", "permissions": [ "string" ] } ], "taskTypes": [ { "inputTypeUrl": "string", "resultTypeUrl": "string", "progressTypeUrl": "string", "permissions": [ "string" ] } ] } ], "limits": [ { "id": "string", "value": "string" } ], "identity": { "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08", "username": "string", "email": "user@example.com", "role": "ADMIN", "grantedGlobalPermissions": [ "string" ] }}How is this page?
Validate script POST
Validates a script graph without saving it. Returns all diagnostics (errors and warnings) for the given nodes and edges. Useful for live validation in the editor without requiring a save.
Get server info GET
Retrieves comprehensive server information including current configuration, all available settings definitions, settings page layouts, and registered plugins. This method is typically called when initializing a settings UI to obtain: 1. Current configuration values to populate form fields 2. Settings definitions describing each setting's type, constraints, and metadata 3. Page definitions for organizing settings into logical groups 4. Plugin information for displaying registered plugins
