Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
119 changes: 119 additions & 0 deletions .speakeasy/in.openapi.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -15039,8 +15039,10 @@ components:
example:
attached_vault_id: null
created_at: '2026-09-16T08:30:00.000Z'
created_by_you: true
description: 'Researches customer questions'
hostname: 'research-assistant.openrouter.ai'
icon_sha256: null
id: '7c9e6679-7425-40de-944b-e07fc1f90ae7'
instructions: null
last_failure_message: null
Expand All @@ -15060,6 +15062,9 @@ components:
created_at:
description: 'ISO 8601 creation time.'
type: 'string'
created_by_you:
description: 'Whether the user behind the key created the intern. Present on list and retrieve; absent for organization keys, which act for no user.'
type: 'boolean'
description:
description: 'Free-form description.'
type:
Expand All @@ -15070,6 +15075,11 @@ components:
type:
- 'string'
- 'null'
icon_sha256:
description: 'SHA-256 of the intern icon, or null when it has none. Present on list and retrieve; fetch the bytes from `GET /api/v1/interns/{intern_id}/icon`.'
type:
- 'string'
- 'null'
id:
description: 'Intern id.'
type: 'string'
Expand Down Expand Up @@ -15814,8 +15824,10 @@ components:
data:
- attached_vault_id: null
created_at: '2026-09-16T08:30:00.000Z'
created_by_you: true
description: 'Researches customer questions'
hostname: 'research-assistant.openrouter.ai'
icon_sha256: null
id: '7c9e6679-7425-40de-944b-e07fc1f90ae7'
instructions: null
last_failure_message: null
Expand Down Expand Up @@ -41956,8 +41968,10 @@ paths:
data:
- attached_vault_id: null
created_at: '2026-09-16T08:30:00.000Z'
created_by_you: true
description: 'Researches customer questions'
hostname: 'research-assistant.openrouter.ai'
icon_sha256: null
id: '7c9e6679-7425-40de-944b-e07fc1f90ae7'
instructions: null
last_failure_message: null
Expand Down Expand Up @@ -42080,8 +42094,10 @@ paths:
example:
attached_vault_id: null
created_at: '2026-09-16T08:30:00.000Z'
created_by_you: true
description: 'Researches customer questions'
hostname: 'research-assistant.openrouter.ai'
icon_sha256: null
id: '7c9e6679-7425-40de-944b-e07fc1f90ae7'
instructions: null
last_failure_message: null
Expand All @@ -42101,8 +42117,10 @@ paths:
example:
attached_vault_id: null
created_at: '2026-09-16T08:30:00.000Z'
created_by_you: true
description: 'Researches customer questions'
hostname: 'research-assistant.openrouter.ai'
icon_sha256: null
id: '7c9e6679-7425-40de-944b-e07fc1f90ae7'
instructions: null
last_failure_message: null
Expand Down Expand Up @@ -42448,8 +42466,10 @@ paths:
example:
attached_vault_id: null
created_at: '2026-09-16T08:30:00.000Z'
created_by_you: true
description: 'Researches customer questions'
hostname: 'research-assistant.openrouter.ai'
icon_sha256: null
id: '7c9e6679-7425-40de-944b-e07fc1f90ae7'
instructions: null
last_failure_message: null
Expand Down Expand Up @@ -42556,8 +42576,10 @@ paths:
example:
attached_vault_id: null
created_at: '2026-09-16T08:30:00.000Z'
created_by_you: true
description: 'Researches customer questions'
hostname: 'research-assistant.openrouter.ai'
icon_sha256: null
id: '7c9e6679-7425-40de-944b-e07fc1f90ae7'
instructions: null
last_failure_message: null
Expand Down Expand Up @@ -43430,6 +43452,103 @@ paths:
summary: 'Sign a daemon request with the caller''s identity'
tags:
- 'Interns'
/interns/{internId}/icon:
get:
description: 'Returns the icon image of one visible intern. Pass the intern''s `icon_sha256` as `v` to receive a response that can be cached indefinitely. The API key selects the caller, workspace and visible interns. An intern''s own API key sees only that intern: the collection and every other intern answer 404 to it. There is no default workspace fallback. Requests on regional hostnames such as `eu.openrouter.ai` are refused. [API key](/docs/api-reference/authentication) required.'
operationId: 'getInternIcon'
parameters:
- description: 'ID of an intern visible to the authenticated API key.'
in: 'path'
name: 'internId'
required: true
schema:
description: 'ID of an intern visible to the authenticated API key.'
example: '7c9e6679-7425-40de-944b-e07fc1f90ae7'
minLength: 1
type: 'string'
- description: 'The `icon_sha256` the caller expects.'
in: 'query'
name: 'v'
required: false
schema:
description: 'The `icon_sha256` the caller expects.'
type: 'string'
responses:
'200':
content:
image/jpeg:
schema:
format: 'binary'
type: 'string'
image/png:
schema:
format: 'binary'
type: 'string'
description: 'Icon image bytes.'
'401':
content:
application/json:
example:
error:
code: 401
message: 'Invalid or missing API key'
schema:
$ref: '#/components/schemas/InternLifecycleError'
description: 'Missing, unknown or provisioning API key.'
'403':
content:
application/json:
example:
error:
code: 403
message: 'Forbidden'
schema:
$ref: '#/components/schemas/InternLifecycleError'
description: 'The key owner no longer has access, or the request used a regional hostname.'
'404':
content:
application/json:
example:
error:
code: 404
message: 'Intern not found'
metadata:
reason: 'not_found'
retryable: false
schema:
$ref: '#/components/schemas/InternLifecycleError'
description: 'The caller is outside the Intern API programme, the intern is hidden, or lifecycle writes are disabled.'
'408':
content:
application/json:
example:
error:
code: 408
message: 'Operation timed out after 10s. Please try again later.'
metadata:
reason: 'timeout'
retryable: true
schema:
$ref: '#/components/schemas/InternLifecycleError'
description: 'The request exceeded its route deadline. The deadline quoted in the message is the route''s own, so it differs between operations.'
'500':
content:
application/json:
example:
error:
code: 500
message: 'The request could not be completed'
metadata:
reason: 'internal_error'
retryable: true
schema:
$ref: '#/components/schemas/InternLifecycleError'
description: 'The request could not be completed. `metadata.reason` says whether to try again: `internal_error` is a transient failure and carries `metadata.retryable: true`, so the same request may be sent again, while `configuration_error` carries `retryable: false` because the next attempt reads the same missing binding or unusable stored credential.'
security:
- apiKey: []
summary: 'Get an intern''s icon'
tags:
- 'Interns'
/interns/{internId}/invoke:
post:
description: "Starts a run on one of your interns and answers `202` with the `session_id` as soon as the intern accepts it. The run keeps going on the intern after the response. Nothing about its progress comes back on this request; the intern reports through its own tools, such as Slack.\n\nSend the same `session_id` later to continue the conversation, for example to hand the intern a decision on work it started. If that session already has a run going, the prompt is delivered into it and the status is `steered`. A `session_id` is accepted only from the caller it was issued to, on the same intern; any other, including sessions started from Slack or the chat endpoint, is refused with `404`.\n\nRuns started here self-drive: the intern consents to its own tool approvals, and a question it asks is answered by its own fallback. A run ends when the intern finishes it or after its execution deadline (1 hour by default).\n\nAvailable to interns programme members. Callers outside the programme receive `404` for every path under `/api/v1/interns`."
Expand Down
Loading