chore: update openapi.json with platform-linking endpoints

This commit is contained in:
Bentlybro
2026-03-31 12:41:49 +00:00
parent be6501f10e
commit 015a626379

View File

@@ -5457,6 +5457,218 @@
"security": [{ "HTTPBearerJWT": [] }]
}
},
"/api/platform-linking/links": {
"get": {
"tags": ["platform-linking"],
"summary": "List all platform links for the authenticated user",
"description": "Returns all platform identities linked to the current user's account.",
"operationId": "getPlatform-linkingList all platform links for the authenticated user",
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"items": { "$ref": "#/components/schemas/PlatformLinkInfo" },
"type": "array",
"title": "Response Getplatform-Linkinglist All Platform Links For The Authenticated User"
}
}
}
},
"401": {
"$ref": "#/components/responses/HTTP401NotAuthenticatedError"
}
},
"security": [{ "HTTPBearerJWT": [] }]
}
},
"/api/platform-linking/links/{link_id}": {
"delete": {
"tags": ["platform-linking"],
"summary": "Unlink a platform identity",
"description": "Removes a platform link. The user will need to re-link if they\nwant to use the bot on that platform again.",
"operationId": "deletePlatform-linkingUnlink a platform identity",
"security": [{ "HTTPBearerJWT": [] }],
"parameters": [
{
"name": "link_id",
"in": "path",
"required": true,
"schema": { "type": "string", "title": "Link Id" }
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"type": "object",
"additionalProperties": true,
"title": "Response Deleteplatform-Linkingunlink A Platform Identity"
}
}
}
},
"401": {
"$ref": "#/components/responses/HTTP401NotAuthenticatedError"
},
"422": {
"description": "Validation Error",
"content": {
"application/json": {
"schema": { "$ref": "#/components/schemas/HTTPValidationError" }
}
}
}
}
}
},
"/api/platform-linking/resolve": {
"post": {
"tags": ["platform-linking"],
"summary": "Resolve a platform identity to an AutoGPT user",
"description": "Called by the bot service on every incoming message to check if\nthe platform user has a linked AutoGPT account.",
"operationId": "postPlatform-linkingResolve a platform identity to an autogpt user",
"requestBody": {
"content": {
"application/json": {
"schema": { "$ref": "#/components/schemas/ResolveRequest" }
}
},
"required": true
},
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": { "$ref": "#/components/schemas/ResolveResponse" }
}
}
},
"422": {
"description": "Validation Error",
"content": {
"application/json": {
"schema": { "$ref": "#/components/schemas/HTTPValidationError" }
}
}
}
}
}
},
"/api/platform-linking/tokens": {
"post": {
"tags": ["platform-linking"],
"summary": "Create a link token for an unlinked platform user",
"description": "Called by the bot service when it encounters an unlinked user.\nGenerates a one-time token the user can use to link their account.\n\nTODO: Add API key auth for bot service (for now, open for development).",
"operationId": "postPlatform-linkingCreate a link token for an unlinked platform user",
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CreateLinkTokenRequest"
}
}
},
"required": true
},
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": { "$ref": "#/components/schemas/LinkTokenResponse" }
}
}
},
"422": {
"description": "Validation Error",
"content": {
"application/json": {
"schema": { "$ref": "#/components/schemas/HTTPValidationError" }
}
}
}
}
}
},
"/api/platform-linking/tokens/{token}/confirm": {
"post": {
"tags": ["platform-linking"],
"summary": "Confirm a link token (user must be authenticated)",
"description": "Called by the frontend when the user clicks the link and is logged in.\nConsumes the token and creates the platform link.",
"operationId": "postPlatform-linkingConfirm a link token (user must be authenticated)",
"security": [{ "HTTPBearerJWT": [] }],
"parameters": [
{
"name": "token",
"in": "path",
"required": true,
"schema": { "type": "string", "title": "Token" }
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": { "$ref": "#/components/schemas/ConfirmLinkResponse" }
}
}
},
"401": {
"$ref": "#/components/responses/HTTP401NotAuthenticatedError"
},
"422": {
"description": "Validation Error",
"content": {
"application/json": {
"schema": { "$ref": "#/components/schemas/HTTPValidationError" }
}
}
}
}
}
},
"/api/platform-linking/tokens/{token}/status": {
"get": {
"tags": ["platform-linking"],
"summary": "Check if a link token has been consumed",
"description": "Called by the bot service to check if a user has completed linking.",
"operationId": "getPlatform-linkingCheck if a link token has been consumed",
"parameters": [
{
"name": "token",
"in": "path",
"required": true,
"schema": { "type": "string", "title": "Token" }
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/LinkTokenStatusResponse"
}
}
}
},
"422": {
"description": "Validation Error",
"content": {
"application/json": {
"schema": { "$ref": "#/components/schemas/HTTPValidationError" }
}
}
}
}
}
},
"/api/public/shared/{share_token}": {
"get": {
"tags": ["v1"],
@@ -8427,6 +8639,25 @@
"title": "CoPilotUsageStatus",
"description": "Current usage status for a user across all windows."
},
"ConfirmLinkResponse": {
"properties": {
"success": { "type": "boolean", "title": "Success" },
"platform": { "type": "string", "title": "Platform" },
"platform_user_id": { "type": "string", "title": "Platform User Id" },
"platform_username": {
"anyOf": [{ "type": "string" }, { "type": "null" }],
"title": "Platform Username"
}
},
"type": "object",
"required": [
"success",
"platform",
"platform_user_id",
"platform_username"
],
"title": "ConfirmLinkResponse"
},
"ContentType": {
"type": "string",
"enum": [
@@ -8504,6 +8735,34 @@
"required": ["graph"],
"title": "CreateGraph"
},
"CreateLinkTokenRequest": {
"properties": {
"platform": {
"type": "string",
"title": "Platform",
"description": "Platform name: DISCORD, TELEGRAM, SLACK, TEAMS, WHATSAPP, GITHUB, LINEAR"
},
"platform_user_id": {
"type": "string",
"title": "Platform User Id",
"description": "The user's ID on the platform"
},
"platform_username": {
"anyOf": [{ "type": "string" }, { "type": "null" }],
"title": "Platform Username",
"description": "Display name (best effort)"
},
"channel_id": {
"anyOf": [{ "type": "string" }, { "type": "null" }],
"title": "Channel Id",
"description": "Channel ID for sending confirmation back"
}
},
"type": "object",
"required": ["platform", "platform_user_id"],
"title": "CreateLinkTokenRequest",
"description": "Request from the bot service to create a linking token."
},
"CreateSessionResponse": {
"properties": {
"id": { "type": "string", "title": "Id" },
@@ -10457,6 +10716,32 @@
"required": ["source_id", "sink_id", "source_name", "sink_name"],
"title": "Link"
},
"LinkTokenResponse": {
"properties": {
"token": { "type": "string", "title": "Token" },
"expires_at": {
"type": "string",
"format": "date-time",
"title": "Expires At"
},
"link_url": { "type": "string", "title": "Link Url" }
},
"type": "object",
"required": ["token", "expires_at", "link_url"],
"title": "LinkTokenResponse"
},
"LinkTokenStatusResponse": {
"properties": {
"status": { "type": "string", "title": "Status" },
"user_id": {
"anyOf": [{ "type": "string" }, { "type": "null" }],
"title": "User Id"
}
},
"type": "object",
"required": ["status"],
"title": "LinkTokenStatusResponse"
},
"ListSessionsResponse": {
"properties": {
"sessions": {
@@ -11296,6 +11581,31 @@
"title": "PendingHumanReviewModel",
"description": "Response model for pending human review data.\n\nRepresents a human review request that is awaiting user action.\nContains all necessary information for a user to review and approve\nor reject data from a Human-in-the-Loop block execution.\n\nAttributes:\n id: Unique identifier for the review record\n user_id: ID of the user who must perform the review\n node_exec_id: ID of the node execution that created this review\n node_id: ID of the node definition (for grouping reviews from same node)\n graph_exec_id: ID of the graph execution containing the node\n graph_id: ID of the graph template being executed\n graph_version: Version number of the graph template\n payload: The actual data payload awaiting review\n instructions: Instructions or message for the reviewer\n editable: Whether the reviewer can edit the data\n status: Current review status (WAITING, APPROVED, or REJECTED)\n review_message: Optional message from the reviewer\n created_at: Timestamp when review was created\n updated_at: Timestamp when review was last modified\n reviewed_at: Timestamp when review was completed (if applicable)"
},
"PlatformLinkInfo": {
"properties": {
"id": { "type": "string", "title": "Id" },
"platform": { "type": "string", "title": "Platform" },
"platform_user_id": { "type": "string", "title": "Platform User Id" },
"platform_username": {
"anyOf": [{ "type": "string" }, { "type": "null" }],
"title": "Platform Username"
},
"linked_at": {
"type": "string",
"format": "date-time",
"title": "Linked At"
}
},
"type": "object",
"required": [
"id",
"platform",
"platform_user_id",
"platform_username",
"linked_at"
],
"title": "PlatformLinkInfo"
},
"PostmarkBounceEnum": {
"type": "integer",
"enum": [
@@ -11818,6 +12128,32 @@
"required": ["credit_amount"],
"title": "RequestTopUp"
},
"ResolveRequest": {
"properties": {
"platform": { "type": "string", "title": "Platform" },
"platform_user_id": { "type": "string", "title": "Platform User Id" }
},
"type": "object",
"required": ["platform", "platform_user_id"],
"title": "ResolveRequest",
"description": "Resolve a platform identity to an AutoGPT user."
},
"ResolveResponse": {
"properties": {
"linked": { "type": "boolean", "title": "Linked" },
"user_id": {
"anyOf": [{ "type": "string" }, { "type": "null" }],
"title": "User Id"
},
"platform_username": {
"anyOf": [{ "type": "string" }, { "type": "null" }],
"title": "Platform Username"
}
},
"type": "object",
"required": ["linked"],
"title": "ResolveResponse"
},
"ResponseType": {
"type": "string",
"enum": [