{"openapi":"3.0.3","info":{"title":"Jules PlatPhormNews API","version":"0.5.1","description":"Canonical AI coding-session workspace, repo-assistance, issue triage, onboarding-to-code handoff, prompt-to-task, MCP/API tool execution, and developer workflow assistant for the PlatPhormNews web mesh."},"servers":[{"url":"https://jules.platphormnews.com","description":"Production"}],"tags":[{"name":"Sessions","description":"Coding-session workspace APIs"},{"name":"Onboard","description":"Onboard-to-implementation handoff APIs"},{"name":"Integrations","description":"Cross-site coding workflow integrations"},{"name":"MCP","description":"MCP JSON-RPC and discovery"},{"name":"Discovery","description":"Public discovery files"}],"paths":{"/api/v1/operator/session":{"get":{"operationId":"getApiV1OperatorSession","summary":"Read public-safe operator-session status.","description":"Read public-safe operator-session status. Responses use the standard Jules success or error envelope and preserve trace identifiers.","security":[],"responses":{"200":{"description":"Successful response.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"description":"Invalid request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}},"post":{"operationId":"postApiV1OperatorSession","summary":"Exchange PLATPHORM_API_KEY for an expiring signed HttpOnly operator session.","description":"Exchange PLATPHORM_API_KEY for an expiring signed HttpOnly operator session. Responses use the standard Jules success or error envelope and preserve trace identifiers.","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"security":[],"responses":{"200":{"description":"Successful response.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"description":"Invalid request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}},"delete":{"operationId":"deleteApiV1OperatorSession","summary":"Clear the current HttpOnly operator session.","description":"Clear the current HttpOnly operator session. Responses use the standard Jules success or error envelope and preserve trace identifiers.","security":[],"responses":{"200":{"description":"Successful response.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"description":"Invalid request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/api/health":{"get":{"operationId":"getApiHealth","summary":"Platform health payload.","description":"Platform health payload. Responses use the standard Jules success or error envelope and preserve trace identifiers.","security":[],"responses":{"200":{"description":"Successful response.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"description":"Invalid request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/api/v1/health":{"get":{"operationId":"getApiV1Health","summary":"Versioned platform health payload.","description":"Versioned platform health payload. Responses use the standard Jules success or error envelope and preserve trace identifiers.","security":[],"responses":{"200":{"description":"Successful response.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"description":"Invalid request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/api/version":{"get":{"operationId":"getApiVersion","summary":"Exact Jules release identity.","description":"Exact Jules release identity. Responses use the standard Jules success or error envelope and preserve trace identifiers.","security":[],"responses":{"200":{"description":"Successful response.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"description":"Invalid request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/api/docs":{"get":{"operationId":"getApiDocs","summary":"OpenAPI JSON specification.","description":"OpenAPI JSON specification. Responses use the standard Jules success or error envelope and preserve trace identifiers.","security":[],"responses":{"200":{"description":"Successful response.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"description":"Invalid request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/openapi.yaml":{"get":{"operationId":"getOpenapiYaml","summary":"OpenAPI YAML specification.","description":"OpenAPI YAML specification. Responses use the standard Jules success or error envelope and preserve trace identifiers.","security":[],"responses":{"200":{"description":"Successful response.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"description":"Invalid request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/.well-known/mcp.json":{"get":{"operationId":"getWellKnownMcpJson","summary":"MCP discovery manifest.","description":"MCP discovery manifest. Responses use the standard Jules success or error envelope and preserve trace identifiers.","security":[],"responses":{"200":{"description":"Successful response.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"description":"Invalid request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/.well-known/agents.json":{"get":{"operationId":"getWellKnownAgentsJson","summary":"Agent discovery manifest.","description":"Agent discovery manifest. Responses use the standard Jules success or error envelope and preserve trace identifiers.","security":[],"responses":{"200":{"description":"Successful response.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"description":"Invalid request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/.well-known/api-catalog":{"get":{"operationId":"getWellKnownApiCatalog","summary":"RFC 9727 API catalog in Linkset JSON.","description":"RFC 9727 API catalog in Linkset JSON. Responses use the standard Jules success or error envelope and preserve trace identifiers.","security":[],"responses":{"200":{"description":"Successful response.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"description":"Invalid request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/.well-known/ai-plugin.json":{"get":{"operationId":"getWellKnownAiPluginJson","summary":"AI plugin manifest.","description":"AI plugin manifest. Responses use the standard Jules success or error envelope and preserve trace identifiers.","security":[],"responses":{"200":{"description":"Successful response.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"description":"Invalid request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/.well-known/security.txt":{"get":{"operationId":"getWellKnownSecurityTxt","summary":"Security contact.","description":"Security contact. Responses use the standard Jules success or error envelope and preserve trace identifiers.","security":[],"responses":{"200":{"description":"Successful response.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"description":"Invalid request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/.well-known/trust.json":{"get":{"operationId":"getWellKnownTrustJson","summary":"Trust policy.","description":"Trust policy. Responses use the standard Jules success or error envelope and preserve trace identifiers.","security":[],"responses":{"200":{"description":"Successful response.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"description":"Invalid request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/api/mcp":{"get":{"operationId":"getApiMcp","summary":"MCP metadata and usage.","description":"MCP metadata and usage. Responses use the standard Jules success or error envelope and preserve trace identifiers.","security":[],"responses":{"200":{"description":"Successful response.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"description":"Invalid request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}},"post":{"operationId":"postApiMcp","summary":"Bounded JSON-RPC MCP endpoint; mutating tools enforce PLATPHORM_API_KEY.","description":"Bounded JSON-RPC MCP endpoint; mutating tools enforce PLATPHORM_API_KEY. Responses use the standard Jules success or error envelope and preserve trace identifiers.","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"security":[],"responses":{"200":{"description":"Successful response.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"description":"Invalid request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/api/v1alpha/auth-status":{"get":{"operationId":"getApiV1alphaAuthStatus","summary":"Public Google Jules provider status; does not expose JULES_API_KEY.","description":"Public Google Jules provider status; does not expose JULES_API_KEY. Responses use the standard Jules success or error envelope and preserve trace identifiers.","security":[],"responses":{"200":{"description":"Successful response.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"description":"Invalid request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/api/v1alpha/sources":{"get":{"operationId":"getApiV1alphaSources","summary":"Protected wrapper for connected Google Jules repository sources.","description":"Protected wrapper for connected Google Jules repository sources. Responses use the standard Jules success or error envelope and preserve trace identifiers.","security":[{"PlatPhormApiKey":[]},{"PlatPhormBearer":[]}],"responses":{"200":{"description":"Successful response.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"description":"Invalid request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"PLATPHORM_API_KEY required.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"PLATPHORM_API_KEY rejected.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/api/v1alpha/sessions":{"get":{"operationId":"getApiV1alphaSessions","summary":"Protected wrapper for Google Jules session list.","description":"Protected wrapper for Google Jules session list. Responses use the standard Jules success or error envelope and preserve trace identifiers.","security":[{"PlatPhormApiKey":[]},{"PlatPhormBearer":[]}],"responses":{"200":{"description":"Successful response.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"description":"Invalid request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"PLATPHORM_API_KEY required.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"PLATPHORM_API_KEY rejected.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}},"post":{"operationId":"postApiV1alphaSessions","summary":"Protected wrapper to create a Google Jules coding session.","description":"Protected wrapper to create a Google Jules coding session. Responses use the standard Jules success or error envelope and preserve trace identifiers.","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"security":[{"PlatPhormApiKey":[]},{"PlatPhormBearer":[]}],"responses":{"200":{"description":"Successful response.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"description":"Invalid request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"PLATPHORM_API_KEY required.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"PLATPHORM_API_KEY rejected.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/api/v1alpha/sessions/{id}":{"get":{"operationId":"getApiV1alphaSessionsId","summary":"Protected wrapper for Google Jules session detail.","description":"Protected wrapper for Google Jules session detail. Responses use the standard Jules success or error envelope and preserve trace identifiers.","parameters":[{"name":"id","in":"path","required":true,"description":"Canonical Jules resource identifier.","schema":{"type":"string","minLength":1,"maxLength":256}}],"security":[{"PlatPhormApiKey":[]},{"PlatPhormBearer":[]}],"responses":{"200":{"description":"Successful response.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"description":"Invalid request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"PLATPHORM_API_KEY required.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"PLATPHORM_API_KEY rejected.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}},"delete":{"operationId":"deleteApiV1alphaSessionsId","summary":"Protected wrapper for Google Jules session deletion.","description":"Protected wrapper for Google Jules session deletion. Responses use the standard Jules success or error envelope and preserve trace identifiers.","parameters":[{"name":"id","in":"path","required":true,"description":"Canonical Jules resource identifier.","schema":{"type":"string","minLength":1,"maxLength":256}}],"security":[{"PlatPhormApiKey":[]},{"PlatPhormBearer":[]}],"responses":{"200":{"description":"Successful response.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"description":"Invalid request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"PLATPHORM_API_KEY required.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"PLATPHORM_API_KEY rejected.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/api/v1alpha/sessions/{id}/activities":{"get":{"operationId":"getApiV1alphaSessionsIdActivities","summary":"Protected wrapper for Google Jules activity feed.","description":"Protected wrapper for Google Jules activity feed. Responses use the standard Jules success or error envelope and preserve trace identifiers.","parameters":[{"name":"id","in":"path","required":true,"description":"Canonical Jules resource identifier.","schema":{"type":"string","minLength":1,"maxLength":256}}],"security":[{"PlatPhormApiKey":[]},{"PlatPhormBearer":[]}],"responses":{"200":{"description":"Successful response.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"description":"Invalid request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"PLATPHORM_API_KEY required.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"PLATPHORM_API_KEY rejected.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/api/v1alpha/sessions/{id}:sendMessage":{"post":{"operationId":"postApiV1alphaSessionsIdSendMessage","summary":"Protected wrapper to send feedback to a Google Jules session.","description":"Protected wrapper to send feedback to a Google Jules session. Responses use the standard Jules success or error envelope and preserve trace identifiers.","parameters":[{"name":"id","in":"path","required":true,"description":"Canonical Jules resource identifier.","schema":{"type":"string","minLength":1,"maxLength":256}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"security":[{"PlatPhormApiKey":[]},{"PlatPhormBearer":[]}],"responses":{"200":{"description":"Successful response.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"description":"Invalid request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"PLATPHORM_API_KEY required.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"PLATPHORM_API_KEY rejected.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/api/v1alpha/sessions/{id}:approvePlan":{"post":{"operationId":"postApiV1alphaSessionsIdApprovePlan","summary":"Protected wrapper to approve a Google Jules plan.","description":"Protected wrapper to approve a Google Jules plan. Responses use the standard Jules success or error envelope and preserve trace identifiers.","parameters":[{"name":"id","in":"path","required":true,"description":"Canonical Jules resource identifier.","schema":{"type":"string","minLength":1,"maxLength":256}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"security":[{"PlatPhormApiKey":[]},{"PlatPhormBearer":[]}],"responses":{"200":{"description":"Successful response.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"description":"Invalid request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"PLATPHORM_API_KEY required.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"PLATPHORM_API_KEY rejected.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/api/github/auth-status":{"get":{"operationId":"getApiGithubAuthStatus","summary":"Public server-side GitHub credential status.","description":"Public server-side GitHub credential status. Responses use the standard Jules success or error envelope and preserve trace identifiers.","security":[],"responses":{"200":{"description":"Successful response.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"description":"Invalid request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/api/github/repositories":{"get":{"operationId":"getApiGithubRepositories","summary":"Protected repository list from the configured server-side GitHub account.","description":"Protected repository list from the configured server-side GitHub account. Responses use the standard Jules success or error envelope and preserve trace identifiers.","security":[{"PlatPhormApiKey":[]},{"PlatPhormBearer":[]}],"responses":{"200":{"description":"Successful response.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"description":"Invalid request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"PLATPHORM_API_KEY required.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"PLATPHORM_API_KEY rejected.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}},"post":{"operationId":"postApiGithubRepositories","summary":"Protected repository list with optional owner filter.","description":"Protected repository list with optional owner filter. Responses use the standard Jules success or error envelope and preserve trace identifiers.","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"security":[{"PlatPhormApiKey":[]},{"PlatPhormBearer":[]}],"responses":{"200":{"description":"Successful response.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"description":"Invalid request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"PLATPHORM_API_KEY required.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"PLATPHORM_API_KEY rejected.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/api/github/repositories/{owner}/{repo}/branches":{"get":{"operationId":"getApiGithubRepositoriesOwnerRepoBranches","summary":"Protected branch list for an in-scope platphorm-* repository.","description":"Protected branch list for an in-scope platphorm-* repository. Responses use the standard Jules success or error envelope and preserve trace identifiers.","security":[{"PlatPhormApiKey":[]},{"PlatPhormBearer":[]}],"responses":{"200":{"description":"Successful response.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"description":"Invalid request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"PLATPHORM_API_KEY required.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"PLATPHORM_API_KEY rejected.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/api/github/repositories/create":{"post":{"operationId":"postApiGithubRepositoriesCreate","summary":"Protected repository creation through the configured server-side GitHub account.","description":"Protected repository creation through the configured server-side GitHub account. Responses use the standard Jules success or error envelope and preserve trace identifiers.","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"security":[{"PlatPhormApiKey":[]},{"PlatPhormBearer":[]}],"responses":{"200":{"description":"Successful response.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"description":"Invalid request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"PLATPHORM_API_KEY required.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"PLATPHORM_API_KEY rejected.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/api/v1/sessions":{"get":{"operationId":"getApiV1Sessions","summary":"List public-safe sessions; protected callers see private server sessions.","description":"List public-safe sessions; protected callers see private server sessions. Responses use the standard Jules success or error envelope and preserve trace identifiers.","security":[],"responses":{"200":{"description":"Successful response.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"description":"Invalid request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}},"post":{"operationId":"postApiV1Sessions","summary":"Create protected server-side Jules session.","description":"Create protected server-side Jules session. Responses use the standard Jules success or error envelope and preserve trace identifiers.","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"security":[{"PlatPhormApiKey":[]},{"PlatPhormBearer":[]}],"responses":{"200":{"description":"Successful response.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"description":"Invalid request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"PLATPHORM_API_KEY required.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"PLATPHORM_API_KEY rejected.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/api/v1/repositories":{"get":{"operationId":"getApiV1Repositories","summary":"List public non-private platphorm-* repository choices; protected callers may see configured private repositories.","description":"List public non-private platphorm-* repository choices; protected callers may see configured private repositories. Responses use the standard Jules success or error envelope and preserve trace identifiers.","security":[],"responses":{"200":{"description":"Successful response.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"description":"Invalid request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/api/v1/sessions/{id}":{"get":{"operationId":"getApiV1SessionsId","summary":"Get public-safe or protected session details.","description":"Get public-safe or protected session details. Responses use the standard Jules success or error envelope and preserve trace identifiers.","parameters":[{"name":"id","in":"path","required":true,"description":"Canonical Jules resource identifier.","schema":{"type":"string","minLength":1,"maxLength":256}}],"security":[],"responses":{"200":{"description":"Successful response.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"description":"Invalid request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}},"put":{"operationId":"putApiV1SessionsId","summary":"Update protected server-side session.","description":"Update protected server-side session. Responses use the standard Jules success or error envelope and preserve trace identifiers.","parameters":[{"name":"id","in":"path","required":true,"description":"Canonical Jules resource identifier.","schema":{"type":"string","minLength":1,"maxLength":256}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"security":[{"PlatPhormApiKey":[]},{"PlatPhormBearer":[]}],"responses":{"200":{"description":"Successful response.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"description":"Invalid request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"PLATPHORM_API_KEY required.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"PLATPHORM_API_KEY rejected.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}},"delete":{"operationId":"deleteApiV1SessionsId","summary":"Delete protected server-side session.","description":"Delete protected server-side session. Responses use the standard Jules success or error envelope and preserve trace identifiers.","parameters":[{"name":"id","in":"path","required":true,"description":"Canonical Jules resource identifier.","schema":{"type":"string","minLength":1,"maxLength":256}}],"security":[{"PlatPhormApiKey":[]},{"PlatPhormBearer":[]}],"responses":{"200":{"description":"Successful response.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"description":"Invalid request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"PLATPHORM_API_KEY required.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"PLATPHORM_API_KEY rejected.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/api/v1/sessions/{id}/execute":{"post":{"operationId":"postApiV1SessionsIdExecute","summary":"Start a provider execution from the canonical session WorkIntent.","description":"Start a provider execution from the canonical session WorkIntent. Responses use the standard Jules success or error envelope and preserve trace identifiers.","parameters":[{"name":"id","in":"path","required":true,"description":"Canonical Jules resource identifier.","schema":{"type":"string","minLength":1,"maxLength":256}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"security":[{"PlatPhormApiKey":[]},{"PlatPhormBearer":[]}],"responses":{"200":{"description":"Successful response.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"description":"Invalid request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"PLATPHORM_API_KEY required.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"PLATPHORM_API_KEY rejected.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/api/v1/sessions/{id}/sync":{"post":{"operationId":"postApiV1SessionsIdSync","summary":"Synchronize a stored session from its Google Jules provider reference.","description":"Synchronize a stored session from its Google Jules provider reference. Responses use the standard Jules success or error envelope and preserve trace identifiers.","parameters":[{"name":"id","in":"path","required":true,"description":"Canonical Jules resource identifier.","schema":{"type":"string","minLength":1,"maxLength":256}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"security":[{"PlatPhormApiKey":[]},{"PlatPhormBearer":[]}],"responses":{"200":{"description":"Successful response.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"description":"Invalid request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"PLATPHORM_API_KEY required.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"PLATPHORM_API_KEY rejected.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/api/v1/sessions/{id}/sync/async":{"post":{"operationId":"postApiV1SessionsIdSyncAsync","summary":"Queue server-side provider synchronization without blocking the browser request.","description":"Queue server-side provider synchronization without blocking the browser request. Responses use the standard Jules success or error envelope and preserve trace identifiers.","parameters":[{"name":"id","in":"path","required":true,"description":"Canonical Jules resource identifier.","schema":{"type":"string","minLength":1,"maxLength":256}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"security":[{"PlatPhormApiKey":[]},{"PlatPhormBearer":[]}],"responses":{"200":{"description":"Successful response.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"description":"Invalid request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"PLATPHORM_API_KEY required.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"PLATPHORM_API_KEY rejected.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/api/v1/sessions/{id}/pull-request":{"get":{"operationId":"getApiV1SessionsIdPullRequest","summary":"Read live GitHub state for a real in-scope Jules pull request output.","description":"Read live GitHub state for a real in-scope Jules pull request output. Responses use the standard Jules success or error envelope and preserve trace identifiers.","parameters":[{"name":"id","in":"path","required":true,"description":"Canonical Jules resource identifier.","schema":{"type":"string","minLength":1,"maxLength":256}}],"security":[],"responses":{"200":{"description":"Successful response.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"description":"Invalid request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}},"post":{"operationId":"postApiV1SessionsIdPullRequest","summary":"Approve or SHA-pinned squash-merge a real in-scope Jules pull request.","description":"Approve or SHA-pinned squash-merge a real in-scope Jules pull request. Responses use the standard Jules success or error envelope and preserve trace identifiers.","parameters":[{"name":"id","in":"path","required":true,"description":"Canonical Jules resource identifier.","schema":{"type":"string","minLength":1,"maxLength":256}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"security":[{"PlatPhormApiKey":[]},{"PlatPhormBearer":[]}],"responses":{"200":{"description":"Successful response.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"description":"Invalid request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"PLATPHORM_API_KEY required.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"PLATPHORM_API_KEY rejected.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/api/v1/sessions/reconcile":{"post":{"operationId":"postApiV1SessionsReconcile","summary":"Reconcile all paginated platphorm-* Google Jules sessions into canonical Cloudflare D1 records.","description":"Reconcile all paginated platphorm-* Google Jules sessions into canonical Cloudflare D1 records. Responses use the standard Jules success or error envelope and preserve trace identifiers.","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"security":[{"PlatPhormApiKey":[]},{"PlatPhormBearer":[]}],"responses":{"200":{"description":"Successful response.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"description":"Invalid request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"PLATPHORM_API_KEY required.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"PLATPHORM_API_KEY rejected.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/api/v1/schedules":{"get":{"operationId":"getApiV1Schedules","summary":"List public-safe recurring Jules schedule state; protected callers also receive instructions.","description":"List public-safe recurring Jules schedule state; protected callers also receive instructions. Responses use the standard Jules success or error envelope and preserve trace identifiers.","security":[],"responses":{"200":{"description":"Successful response.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"description":"Invalid request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}},"post":{"operationId":"postApiV1Schedules","summary":"Create a durable recurring Jules schedule.","description":"Create a durable recurring Jules schedule. Responses use the standard Jules success or error envelope and preserve trace identifiers.","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"security":[{"PlatPhormApiKey":[]},{"PlatPhormBearer":[]}],"responses":{"200":{"description":"Successful response.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"description":"Invalid request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"PLATPHORM_API_KEY required.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"PLATPHORM_API_KEY rejected.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/api/v1/schedules/{id}":{"get":{"operationId":"getApiV1SchedulesId","summary":"Get public-safe or protected schedule detail.","description":"Get public-safe or protected schedule detail. Responses use the standard Jules success or error envelope and preserve trace identifiers.","parameters":[{"name":"id","in":"path","required":true,"description":"Canonical Jules resource identifier.","schema":{"type":"string","minLength":1,"maxLength":256}}],"security":[],"responses":{"200":{"description":"Successful response.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"description":"Invalid request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}},"put":{"operationId":"putApiV1SchedulesId","summary":"Edit, enable, or pause a durable Jules schedule.","description":"Edit, enable, or pause a durable Jules schedule. Responses use the standard Jules success or error envelope and preserve trace identifiers.","parameters":[{"name":"id","in":"path","required":true,"description":"Canonical Jules resource identifier.","schema":{"type":"string","minLength":1,"maxLength":256}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"security":[{"PlatPhormApiKey":[]},{"PlatPhormBearer":[]}],"responses":{"200":{"description":"Successful response.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"description":"Invalid request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"PLATPHORM_API_KEY required.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"PLATPHORM_API_KEY rejected.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}},"delete":{"operationId":"deleteApiV1SchedulesId","summary":"Delete a durable Jules schedule.","description":"Delete a durable Jules schedule. Responses use the standard Jules success or error envelope and preserve trace identifiers.","parameters":[{"name":"id","in":"path","required":true,"description":"Canonical Jules resource identifier.","schema":{"type":"string","minLength":1,"maxLength":256}}],"security":[{"PlatPhormApiKey":[]},{"PlatPhormBearer":[]}],"responses":{"200":{"description":"Successful response.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"description":"Invalid request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"PLATPHORM_API_KEY required.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"PLATPHORM_API_KEY rejected.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/api/v1/schedules/{id}/run":{"post":{"operationId":"postApiV1SchedulesIdRun","summary":"Run a durable Jules schedule immediately.","description":"Run a durable Jules schedule immediately. Responses use the standard Jules success or error envelope and preserve trace identifiers.","parameters":[{"name":"id","in":"path","required":true,"description":"Canonical Jules resource identifier.","schema":{"type":"string","minLength":1,"maxLength":256}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"security":[{"PlatPhormApiKey":[]},{"PlatPhormBearer":[]}],"responses":{"200":{"description":"Successful response.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"description":"Invalid request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"PLATPHORM_API_KEY required.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"PLATPHORM_API_KEY rejected.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/api/v1/schedules/{id}/execute":{"post":{"operationId":"postApiV1SchedulesIdExecute","summary":"Cloudflare queue callback that executes one durable Jules schedule run.","description":"Cloudflare queue callback that executes one durable Jules schedule run. Responses use the standard Jules success or error envelope and preserve trace identifiers.","parameters":[{"name":"id","in":"path","required":true,"description":"Canonical Jules resource identifier.","schema":{"type":"string","minLength":1,"maxLength":256}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"security":[{"PlatPhormApiKey":[]},{"PlatPhormBearer":[]}],"responses":{"200":{"description":"Successful response.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"description":"Invalid request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"PLATPHORM_API_KEY required.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"PLATPHORM_API_KEY rejected.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/api/v1/sessions/{id}/export":{"post":{"operationId":"postApiV1SessionsIdExport","summary":"Export a session as JSON or Markdown.","description":"Export a session as JSON or Markdown. Responses use the standard Jules success or error envelope and preserve trace identifiers.","parameters":[{"name":"id","in":"path","required":true,"description":"Canonical Jules resource identifier.","schema":{"type":"string","minLength":1,"maxLength":256}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"security":[{"PlatPhormApiKey":[]},{"PlatPhormBearer":[]}],"responses":{"200":{"description":"Successful response.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"description":"Invalid request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"PLATPHORM_API_KEY required.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"PLATPHORM_API_KEY rejected.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/api/v1/sessions/import":{"post":{"operationId":"postApiV1SessionsImport","summary":"Import session JSON.","description":"Import session JSON. Responses use the standard Jules success or error envelope and preserve trace identifiers.","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"security":[{"PlatPhormApiKey":[]},{"PlatPhormBearer":[]}],"responses":{"200":{"description":"Successful response.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"description":"Invalid request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"PLATPHORM_API_KEY required.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"PLATPHORM_API_KEY rejected.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/api/v1/context/resolve":{"post":{"operationId":"postApiV1ContextResolve","summary":"Resolve a work description into a normalized intent and trusted context references.","description":"Resolve a work description into a normalized intent and trusted context references. Responses use the standard Jules success or error envelope and preserve trace identifiers.","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"security":[],"responses":{"200":{"description":"Successful response.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"description":"Invalid request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/api/v1/sessions/{id}/messages":{"get":{"operationId":"getApiV1SessionsIdMessages","summary":"List public-safe messages or protected session messages.","description":"List public-safe messages or protected session messages. Responses use the standard Jules success or error envelope and preserve trace identifiers.","parameters":[{"name":"id","in":"path","required":true,"description":"Canonical Jules resource identifier.","schema":{"type":"string","minLength":1,"maxLength":256}}],"security":[],"responses":{"200":{"description":"Successful response.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"description":"Invalid request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}},"post":{"operationId":"postApiV1SessionsIdMessages","summary":"Add protected session message.","description":"Add protected session message. Responses use the standard Jules success or error envelope and preserve trace identifiers.","parameters":[{"name":"id","in":"path","required":true,"description":"Canonical Jules resource identifier.","schema":{"type":"string","minLength":1,"maxLength":256}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"security":[{"PlatPhormApiKey":[]},{"PlatPhormBearer":[]}],"responses":{"200":{"description":"Successful response.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"description":"Invalid request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"PLATPHORM_API_KEY required.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"PLATPHORM_API_KEY rejected.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/api/v1/sessions/{id}/plans":{"get":{"operationId":"getApiV1SessionsIdPlans","summary":"List public-safe plans or protected session plans.","description":"List public-safe plans or protected session plans. Responses use the standard Jules success or error envelope and preserve trace identifiers.","parameters":[{"name":"id","in":"path","required":true,"description":"Canonical Jules resource identifier.","schema":{"type":"string","minLength":1,"maxLength":256}}],"security":[],"responses":{"200":{"description":"Successful response.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"description":"Invalid request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}},"post":{"operationId":"postApiV1SessionsIdPlans","summary":"Generate implementation plan and task breakdown.","description":"Generate implementation plan and task breakdown. Responses use the standard Jules success or error envelope and preserve trace identifiers.","parameters":[{"name":"id","in":"path","required":true,"description":"Canonical Jules resource identifier.","schema":{"type":"string","minLength":1,"maxLength":256}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"security":[{"PlatPhormApiKey":[]},{"PlatPhormBearer":[]}],"responses":{"200":{"description":"Successful response.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"description":"Invalid request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"PLATPHORM_API_KEY required.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"PLATPHORM_API_KEY rejected.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/api/v1/plans/{id}":{"get":{"operationId":"getApiV1PlansId","summary":"Get plan details.","description":"Get plan details. Responses use the standard Jules success or error envelope and preserve trace identifiers.","parameters":[{"name":"id","in":"path","required":true,"description":"Canonical Jules resource identifier.","schema":{"type":"string","minLength":1,"maxLength":256}}],"security":[],"responses":{"200":{"description":"Successful response.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"description":"Invalid request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/api/v1/onboard/applications":{"get":{"operationId":"getApiV1OnboardApplications","summary":"Public-safe Onboard capability status; imported records are shown only to protected callers.","description":"Public-safe Onboard capability status; imported records are shown only to protected callers. Responses use the standard Jules success or error envelope and preserve trace identifiers.","security":[],"responses":{"200":{"description":"Successful response.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"description":"Invalid request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/api/v1/onboard/applications/{id}":{"get":{"operationId":"getApiV1OnboardApplicationsId","summary":"Get a protected local Onboard import.","description":"Get a protected local Onboard import. Responses use the standard Jules success or error envelope and preserve trace identifiers.","parameters":[{"name":"id","in":"path","required":true,"description":"Canonical Jules resource identifier.","schema":{"type":"string","minLength":1,"maxLength":256}}],"security":[{"PlatPhormApiKey":[]},{"PlatPhormBearer":[]}],"responses":{"200":{"description":"Successful response.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"description":"Invalid request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"PLATPHORM_API_KEY required.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"PLATPHORM_API_KEY rejected.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/api/v1/onboard/import":{"post":{"operationId":"postApiV1OnboardImport","summary":"Import a protected public-safe Onboard summary.","description":"Import a protected public-safe Onboard summary. Responses use the standard Jules success or error envelope and preserve trace identifiers.","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"security":[{"PlatPhormApiKey":[]},{"PlatPhormBearer":[]}],"responses":{"200":{"description":"Successful response.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"description":"Invalid request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"PLATPHORM_API_KEY required.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"PLATPHORM_API_KEY rejected.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/api/v1/onboard/import/{id}/create-session":{"post":{"operationId":"postApiV1OnboardImportIdCreateSession","summary":"Create a protected Jules session from an Onboard import.","description":"Create a protected Jules session from an Onboard import. Responses use the standard Jules success or error envelope and preserve trace identifiers.","parameters":[{"name":"id","in":"path","required":true,"description":"Canonical Jules resource identifier.","schema":{"type":"string","minLength":1,"maxLength":256}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"security":[{"PlatPhormApiKey":[]},{"PlatPhormBearer":[]}],"responses":{"200":{"description":"Successful response.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"description":"Invalid request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"PLATPHORM_API_KEY required.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"PLATPHORM_API_KEY rejected.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/api/v1/onboard/import/{id}/generate-plan":{"post":{"operationId":"postApiV1OnboardImportIdGeneratePlan","summary":"Generate a protected plan from an Onboard import.","description":"Generate a protected plan from an Onboard import. Responses use the standard Jules success or error envelope and preserve trace identifiers.","parameters":[{"name":"id","in":"path","required":true,"description":"Canonical Jules resource identifier.","schema":{"type":"string","minLength":1,"maxLength":256}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"security":[{"PlatPhormApiKey":[]},{"PlatPhormBearer":[]}],"responses":{"200":{"description":"Successful response.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"description":"Invalid request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"PLATPHORM_API_KEY required.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"PLATPHORM_API_KEY rejected.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/api/v1/onboard/import/{id}/create-kanban-tasks":{"post":{"operationId":"postApiV1OnboardImportIdCreateKanbanTasks","summary":"Reports unsupported until a Kanban execution adapter is configured; creates nothing.","description":"Reports unsupported until a Kanban execution adapter is configured; creates nothing. Responses use the standard Jules success or error envelope and preserve trace identifiers.","parameters":[{"name":"id","in":"path","required":true,"description":"Canonical Jules resource identifier.","schema":{"type":"string","minLength":1,"maxLength":256}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"security":[{"PlatPhormApiKey":[]},{"PlatPhormBearer":[]}],"responses":{"200":{"description":"Successful response.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"description":"Invalid request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"PLATPHORM_API_KEY required.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"PLATPHORM_API_KEY rejected.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/api/v1/onboard/import/{id}/generate-docs":{"post":{"operationId":"postApiV1OnboardImportIdGenerateDocs","summary":"Reports unsupported until a Docs execution adapter is configured; creates nothing.","description":"Reports unsupported until a Docs execution adapter is configured; creates nothing. Responses use the standard Jules success or error envelope and preserve trace identifiers.","parameters":[{"name":"id","in":"path","required":true,"description":"Canonical Jules resource identifier.","schema":{"type":"string","minLength":1,"maxLength":256}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"security":[{"PlatPhormApiKey":[]},{"PlatPhormBearer":[]}],"responses":{"200":{"description":"Successful response.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"description":"Invalid request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"PLATPHORM_API_KEY required.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"PLATPHORM_API_KEY rejected.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/api/v1/integrations":{"get":{"operationId":"getApiV1Integrations","summary":"List Jules integration catalog.","description":"List Jules integration catalog. Responses use the standard Jules success or error envelope and preserve trace identifiers.","security":[],"responses":{"200":{"description":"Successful response.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"description":"Invalid request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/api/v1/integrations/status":{"get":{"operationId":"getApiV1IntegrationsStatus","summary":"Integration status, with optional live checks.","description":"Integration status, with optional live checks. Responses use the standard Jules success or error envelope and preserve trace identifiers.","security":[],"responses":{"200":{"description":"Successful response.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"description":"Invalid request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/api/v1/integrations/mcp/sync":{"post":{"operationId":"postApiV1IntegrationsMcpSync","summary":"Reports unsupported until an MCP sync adapter is configured; syncs nothing.","description":"Reports unsupported until an MCP sync adapter is configured; syncs nothing. Responses use the standard Jules success or error envelope and preserve trace identifiers.","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"security":[{"PlatPhormApiKey":[]},{"PlatPhormBearer":[]}],"responses":{"200":{"description":"Successful response.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"description":"Invalid request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"PLATPHORM_API_KEY required.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"PLATPHORM_API_KEY rejected.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/api/v1/integrations/kanban/create-tasks":{"post":{"operationId":"postApiV1IntegrationsKanbanCreateTasks","summary":"Reports unsupported until a Kanban execution adapter is configured; creates nothing.","description":"Reports unsupported until a Kanban execution adapter is configured; creates nothing. Responses use the standard Jules success or error envelope and preserve trace identifiers.","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"security":[{"PlatPhormApiKey":[]},{"PlatPhormBearer":[]}],"responses":{"200":{"description":"Successful response.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"description":"Invalid request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"PLATPHORM_API_KEY required.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"PLATPHORM_API_KEY rejected.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/api/v1/integrations/docs/report":{"post":{"operationId":"postApiV1IntegrationsDocsReport","summary":"Reports unsupported until a Docs execution adapter is configured; creates nothing.","description":"Reports unsupported until a Docs execution adapter is configured; creates nothing. Responses use the standard Jules success or error envelope and preserve trace identifiers.","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"security":[{"PlatPhormApiKey":[]},{"PlatPhormBearer":[]}],"responses":{"200":{"description":"Successful response.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"description":"Invalid request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"PLATPHORM_API_KEY required.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"PLATPHORM_API_KEY rejected.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/api/v1/integrations/sandbox/dry-run":{"post":{"operationId":"postApiV1IntegrationsSandboxDryRun","summary":"Reports unsupported until a Sandbox execution adapter is configured; executes nothing.","description":"Reports unsupported until a Sandbox execution adapter is configured; executes nothing. Responses use the standard Jules success or error envelope and preserve trace identifiers.","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"security":[{"PlatPhormApiKey":[]},{"PlatPhormBearer":[]}],"responses":{"200":{"description":"Successful response.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"description":"Invalid request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"PLATPHORM_API_KEY required.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"PLATPHORM_API_KEY rejected.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/api/v1/integrations/browserops/run":{"post":{"operationId":"postApiV1IntegrationsBrowseropsRun","summary":"Runs a selected BrowserOps journey through the protected server-side adapter and returns the confirmed downstream run.","description":"Runs a selected BrowserOps journey through the protected server-side adapter and returns the confirmed downstream run. Responses use the standard Jules success or error envelope and preserve trace identifiers.","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"security":[{"PlatPhormApiKey":[]},{"PlatPhormBearer":[]}],"responses":{"200":{"description":"Successful response.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"description":"Invalid request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"PLATPHORM_API_KEY required.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"PLATPHORM_API_KEY rejected.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/api/v1/integrations/evals/run":{"post":{"operationId":"postApiV1IntegrationsEvalsRun","summary":"Reports unsupported until an Evals execution adapter is configured; triggers nothing.","description":"Reports unsupported until an Evals execution adapter is configured; triggers nothing. Responses use the standard Jules success or error envelope and preserve trace identifiers.","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"security":[{"PlatPhormApiKey":[]},{"PlatPhormBearer":[]}],"responses":{"200":{"description":"Successful response.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"description":"Invalid request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"PLATPHORM_API_KEY required.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"PLATPHORM_API_KEY rejected.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/api/v1/network/graph":{"get":{"operationId":"getApiV1NetworkGraph","summary":"Read root network graph with degraded status.","description":"Read root network graph with degraded status. Responses use the standard Jules success or error envelope and preserve trace identifiers.","security":[],"responses":{"200":{"description":"Successful response.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"description":"Invalid request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/api/v1/network/graph/sync":{"post":{"operationId":"postApiV1NetworkGraphSync","summary":"Protected graph sync.","description":"Protected graph sync. Responses use the standard Jules success or error envelope and preserve trace identifiers.","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"security":[{"PlatPhormApiKey":[]},{"PlatPhormBearer":[]}],"responses":{"200":{"description":"Successful response.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"description":"Invalid request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"PLATPHORM_API_KEY required.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"PLATPHORM_API_KEY rejected.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/api/v1/network/sites":{"get":{"operationId":"getApiV1NetworkSites","summary":"Discovered site list.","description":"Discovered site list. Responses use the standard Jules success or error envelope and preserve trace identifiers.","security":[],"responses":{"200":{"description":"Successful response.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"description":"Invalid request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/api/v1/network/trusted-domains":{"get":{"operationId":"getApiV1NetworkTrustedDomains","summary":"Trusted domain policy.","description":"Trusted domain policy. Responses use the standard Jules success or error envelope and preserve trace identifiers.","security":[],"responses":{"200":{"description":"Successful response.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"description":"Invalid request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/api/v1/network/route-compliance":{"get":{"operationId":"getApiV1NetworkRouteCompliance","summary":"Route compliance summary.","description":"Route compliance summary. Responses use the standard Jules success or error envelope and preserve trace identifiers.","security":[],"responses":{"200":{"description":"Successful response.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"description":"Invalid request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/api/v1/network/discovery-compliance":{"get":{"operationId":"getApiV1NetworkDiscoveryCompliance","summary":"Discovery compliance summary.","description":"Discovery compliance summary. Responses use the standard Jules success or error envelope and preserve trace identifiers.","security":[],"responses":{"200":{"description":"Successful response.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"description":"Invalid request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/api/register":{"post":{"operationId":"postApiRegister","summary":"Register Jules product identity against fixed trusted PlatPhormNews endpoints.","description":"Register Jules product identity against fixed trusted PlatPhormNews endpoints. Responses use the standard Jules success or error envelope and preserve trace identifiers.","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"security":[{"PlatPhormApiKey":[]},{"PlatPhormBearer":[]}],"responses":{"200":{"description":"Successful response.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse"}}}},"400":{"description":"Invalid request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"PLATPHORM_API_KEY required.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"PLATPHORM_API_KEY rejected.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}}},"components":{"schemas":{"SuccessResponse":{"type":"object","required":["ok","data"],"properties":{"ok":{"type":"boolean","enum":[true]},"data":{"type":"object","additionalProperties":true}}},"ErrorResponse":{"type":"object","required":["ok","error"],"properties":{"ok":{"type":"boolean","enum":[false]},"error":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string"},"message":{"type":"string"},"details":{"type":"object","additionalProperties":true}}}}}},"securitySchemes":{"PlatPhormApiKey":{"type":"apiKey","in":"header","name":"X-PlatPhorm-API-Key","description":"Set to PLATPHORM_API_KEY for protected Jules actions."},"PlatPhormBearer":{"type":"http","scheme":"bearer","description":"Authorization: Bearer $PLATPHORM_API_KEY"}}}}