Amika Hosts API
The Hosts API from Amika — 3 operation(s) for hosts.
The Hosts API from Amika — 3 operation(s) for hosts.
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
find_apisBrowse and filter every API in the catalog.get_api_artifactsOne API's artifacts, grouped by type.get_openapiThe primary OpenAPI for this API.find_similar_apisAPIs that look like this one.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.curl "https://apis.io/api/v1/apis/amika:amika-hosts-api"
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.
openapi: 3.2.0
info:
title: Amika Hosts API
version: 0beta
description: HTTP API for Amika coding agents. Versioned per Google AIP-185.
tags:
- name: Hosts
paths:
/api/v0beta1/hosts:
get:
tags:
- Hosts
summary: List the organization's hosts
security:
- bearerAuth: []
- cookieAuth: []
responses:
'200':
description: Hosts in the caller's organization.
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/Host'
'401':
description: Error
headers:
x-trace-id:
description: Per-request trace id for correlating responses with logs.
schema:
type: string
content:
application/json:
schema:
type: object
properties:
type:
type: string
enum:
- error
error_code:
type: string
message:
type: string
details:
type: array
items:
nullable: true
trace_id:
type: string
required:
- type
- error_code
- message
'403':
description: Error
headers:
x-trace-id:
description: Per-request trace id for correlating responses with logs.
schema:
type: string
content:
application/json:
schema:
type: object
properties:
type:
type: string
enum:
- error
error_code:
type: string
message:
type: string
details:
type: array
items:
nullable: true
trace_id:
type: string
required:
- type
- error_code
- message
'404':
description: Error
headers:
x-trace-id:
description: Per-request trace id for correlating responses with logs.
schema:
type: string
content:
application/json:
schema:
type: object
properties:
type:
type: string
enum:
- error
error_code:
type: string
message:
type: string
details:
type: array
items:
nullable: true
trace_id:
type: string
required:
- type
- error_code
- message
operationId: getApiV0beta1Hosts
x-operation-id-source: derived
post:
tags:
- Hosts
summary: Register an organization host
description: 'Idempotent by hostname: registering a hostname the organization already has returns that host with 200 and leaves its stored secret and sizes unchanged. Use PUT to rotate the secret or replace the sizes.'
security:
- bearerAuth: []
- cookieAuth: []
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/CreateHostRequest'
responses:
'200':
description: Host already registered. The secret value is never returned.
content:
application/json:
schema:
$ref: '#/components/schemas/Host'
'201':
description: Created host. The secret value is never returned.
content:
application/json:
schema:
$ref: '#/components/schemas/Host'
'400':
description: Error
headers:
x-trace-id:
description: Per-request trace id for correlating responses with logs.
schema:
type: string
content:
application/json:
schema:
type: object
properties:
type:
type: string
enum:
- error
error_code:
type: string
message:
type: string
details:
type: array
items:
nullable: true
trace_id:
type: string
required:
- type
- error_code
- message
'401':
description: Error
headers:
x-trace-id:
description: Per-request trace id for correlating responses with logs.
schema:
type: string
content:
application/json:
schema:
type: object
properties:
type:
type: string
enum:
- error
error_code:
type: string
message:
type: string
details:
type: array
items:
nullable: true
trace_id:
type: string
required:
- type
- error_code
- message
'403':
description: Error
headers:
x-trace-id:
description: Per-request trace id for correlating responses with logs.
schema:
type: string
content:
application/json:
schema:
type: object
properties:
type:
type: string
enum:
- error
error_code:
type: string
message:
type: string
details:
type: array
items:
nullable: true
trace_id:
type: string
required:
- type
- error_code
- message
'404':
description: Error
headers:
x-trace-id:
description: Per-request trace id for correlating responses with logs.
schema:
type: string
content:
application/json:
schema:
type: object
properties:
type:
type: string
enum:
- error
error_code:
type: string
message:
type: string
details:
type: array
items:
nullable: true
trace_id:
type: string
required:
- type
- error_code
- message
operationId: postApiV0beta1Hosts
x-operation-id-source: derived
/api/v0beta1/hosts/{id}:
get:
tags:
- Hosts
summary: Get an organization host
security:
- bearerAuth: []
- cookieAuth: []
parameters:
- schema:
type: string
pattern: ^host_[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$
required: true
name: id
in: path
responses:
'200':
description: Host metadata.
content:
application/json:
schema:
$ref: '#/components/schemas/Host'
'400':
description: Error
headers:
x-trace-id:
description: Per-request trace id for correlating responses with logs.
schema:
type: string
content:
application/json:
schema:
type: object
properties:
type:
type: string
enum:
- error
error_code:
type: string
message:
type: string
details:
type: array
items:
nullable: true
trace_id:
type: string
required:
- type
- error_code
- message
'401':
description: Error
headers:
x-trace-id:
description: Per-request trace id for correlating responses with logs.
schema:
type: string
content:
application/json:
schema:
type: object
properties:
type:
type: string
enum:
- error
error_code:
type: string
message:
type: string
details:
type: array
items:
nullable: true
trace_id:
type: string
required:
- type
- error_code
- message
'403':
description: Error
headers:
x-trace-id:
description: Per-request trace id for correlating responses with logs.
schema:
type: string
content:
application/json:
schema:
type: object
properties:
type:
type: string
enum:
- error
error_code:
type: string
message:
type: string
details:
type: array
items:
nullable: true
trace_id:
type: string
required:
- type
- error_code
- message
'404':
description: Error
headers:
x-trace-id:
description: Per-request trace id for correlating responses with logs.
schema:
type: string
content:
application/json:
schema:
type: object
properties:
type:
type: string
enum:
- error
error_code:
type: string
message:
type: string
details:
type: array
items:
nullable: true
trace_id:
type: string
required:
- type
- error_code
- message
operationId: getApiV0beta1HostsById
x-operation-id-source: derived
put:
tags:
- Hosts
summary: Replace an organization host
description: hostname is required. Omit secret to keep the stored credential; omit url to keep the stored URL, or send it as null to clear it; omit sizes to keep the stored sizes, or send {} to clear them.
security:
- bearerAuth: []
- cookieAuth: []
parameters:
- schema:
type: string
pattern: ^host_[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$
required: true
name: id
in: path
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/ReplaceHostRequest'
responses:
'200':
description: Updated host. The secret value is never returned.
content:
application/json:
schema:
$ref: '#/components/schemas/Host'
'400':
description: Error
headers:
x-trace-id:
description: Per-request trace id for correlating responses with logs.
schema:
type: string
content:
application/json:
schema:
type: object
properties:
type:
type: string
enum:
- error
error_code:
type: string
message:
type: string
details:
type: array
items:
nullable: true
trace_id:
type: string
required:
- type
- error_code
- message
'401':
description: Error
headers:
x-trace-id:
description: Per-request trace id for correlating responses with logs.
schema:
type: string
content:
application/json:
schema:
type: object
properties:
type:
type: string
enum:
- error
error_code:
type: string
message:
type: string
details:
type: array
items:
nullable: true
trace_id:
type: string
required:
- type
- error_code
- message
'403':
description: Error
headers:
x-trace-id:
description: Per-request trace id for correlating responses with logs.
schema:
type: string
content:
application/json:
schema:
type: object
properties:
type:
type: string
enum:
- error
error_code:
type: string
message:
type: string
details:
type: array
items:
nullable: true
trace_id:
type: string
required:
- type
- error_code
- message
'404':
description: Error
headers:
x-trace-id:
description: Per-request trace id for correlating responses with logs.
schema:
type: string
content:
application/json:
schema:
type: object
properties:
type:
type: string
enum:
- error
error_code:
type: string
message:
type: string
details:
type: array
items:
nullable: true
trace_id:
type: string
required:
- type
- error_code
- message
'409':
description: Error
headers:
x-trace-id:
description: Per-request trace id for correlating responses with logs.
schema:
type: string
content:
application/json:
schema:
type: object
properties:
type:
type: string
enum:
- error
error_code:
type: string
message:
type: string
details:
type: array
items:
nullable: true
trace_id:
type: string
required:
- type
- error_code
- message
operationId: putApiV0beta1HostsById
x-operation-id-source: derived
delete:
tags:
- Hosts
summary: Delete an organization host and its stored secret
description: Refused with 409 while any rig still runs on the host.
security:
- bearerAuth: []
- cookieAuth: []
parameters:
- schema:
type: string
pattern: ^host_[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$
required: true
name: id
in: path
responses:
'204':
description: Host deleted.
'400':
description: Error
headers:
x-trace-id:
description: Per-request trace id for correlating responses with logs.
schema:
type: string
content:
application/json:
schema:
type: object
properties:
type:
type: string
enum:
- error
error_code:
type: string
message:
type: string
details:
type: array
items:
nullable: true
trace_id:
type: string
required:
- type
- error_code
- message
'401':
description: Error
headers:
x-trace-id:
description: Per-request trace id for correlating responses with logs.
schema:
type: string
content:
application/json:
schema:
type: object
properties:
type:
type: string
enum:
- error
error_code:
type: string
message:
type: string
details:
type: array
items:
nullable: true
trace_id:
type: string
required:
- type
- error_code
- message
'403':
description: Error
headers:
x-trace-id:
description: Per-request trace id for correlating responses with logs.
schema:
type: string
content:
application/json:
schema:
type: object
properties:
type:
type: string
enum:
- error
error_code:
type: string
message:
type: string
details:
type: array
items:
nullable: true
trace_id:
type: string
required:
- type
- error_code
- message
'404':
description: Error
headers:
x-trace-id:
description: Per-request trace id for correlating responses with logs.
schema:
type: string
content:
application/json:
schema:
type: object
properties:
type:
type: string
enum:
- error
error_code:
type: string
message:
type: string
details:
type: array
items:
nullable: true
trace_id:
type: string
required:
- type
- error_code
- message
'409':
description: Error
headers:
x-trace-id:
description: Per-request trace id for correlating responses with logs.
schema:
type: string
content:
application/json:
schema:
type: object
properties:
type:
type: string
enum:
- error
error_code:
type: string
message:
type: string
details:
type: array
items:
nullable: true
trace_id:
type: string
required:
- type
- error_code
- message
operationId: deleteApiV0beta1HostsById
x-operation-id-source: derived
/api/v0beta1/hosts/{id}/reveal:
post:
tags:
- Hosts
summary: Reveal an organization host's secret
description: Only a signed-in user can reveal a host's secret; an API key or other service identity is refused with 403. A POST rather than a GET so the value is never cached or prefetched.
security:
- bearerAuth: []
- cookieAuth: []
parameters:
- schema:
type: string
pattern: ^host_[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$
required: true
name: id
in: path
responses:
'200':
description: The host's secret.
content:
application/json:
schema:
$ref: '#/components/schemas/RevealHostSecretResponse'
'400':
description: Error
headers:
x-trace-id:
description: Per-request trace id for correlating responses with logs.
schema:
type: string
content:
application/json:
schema:
type: object
properties:
type:
type: string
enum:
- error
error_code:
type: string
message:
type: string
details:
type: array
items:
nullable: true
trace_id:
type: string
required:
- type
- error_code
- message
'401':
description: Error
headers:
x-trace-id:
description: Per-request trace id for correlating responses with logs.
schema:
type: string
content:
application/json:
schema:
type: object
properties:
type:
type: string
enum:
- error
error_code:
type: string
message:
type: string
details:
type: array
items:
nullable: true
trace_id:
type: string
required:
- type
- error_code
- message
'403':
description: Error
headers:
x-trace-id:
description: Per-request trace id for correlating responses with logs.
schema:
type: string
content:
application/json:
schema:
type: object
properties:
type:
type: string
enum:
- error
error_code:
type: string
message:
type: string
details:
type: array
items:
nullable: true
trace_id:
type: string
required:
- type
- error_code
- message
'404':
description: Error
headers:
x-trace-id:
description: Per-request trace id for correlating responses with logs.
schema:
type: string
content:
application/json:
schema:
type: object
properties:
type:
type: string
enum:
- error
error_code:
type: string
message:
type: string
details:
type: array
items:
nullable: true
trace_id:
type: string
required:
- type
- error_code
- message
operationId: postApiV0beta1HostsByIdReveal
x-operation-id-source: derived
components:
schemas:
RevealHostSecretResponse:
type: object
properties:
value:
type: string
required:
- value
ReplaceHostRequest:
type: object
properties:
hostname:
type: string
url:
type: string
nullable: true
format: uri
secret:
type: string
pattern: ^[\x21-\x7e]{32,}$
sizes:
type: object
additionalProperties:
type: object
properties:
vcpus:
type: integer
minimum: 1
memoryGib:
type: number
minimum: 0
exclusiveMinimum: true
diskGib:
type: integer
minimum: 1
diskGrowOnly:
type: boolean
required:
- vcpus
- memoryGib
- diskGib
- diskGrowOnly
additionalProperties: false
required:
- hostname
Host:
type: object
properties:
id:
type: string
pattern: ^host_[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$
hostname:
type: string
url:
type: string
nullable: true
org_id:
type: string
sizes:
type: object
additionalProperties:
type: object
properties:
vcpus:
type: integer
minimum: 1
memoryGib:
type: number
minimum: 0
exclusiveMinimum: true
diskGib:
type: integer
minimum: 1
diskGrowOnly:
type: boolean
required:
- vcpus
- memoryGib
- diskGib
- diskGrowOnly
additionalProperties: false
created_at:
anyOf:
- type: string
- type: string
format: date-time
updated_at:
anyOf:
- type: string
- type: string
format: date-time
required:
- id
- hostname
- url
- org_id
- sizes
- created_at
- updated_at
CreateHostRequest:
type: object
properties:
hostname:
type: string
url:
type: string
nullable: true
format: uri
secret:
type: string
pattern: ^[\x21-\x7e]{32,}$
sizes:
type: object
additionalProperties:
type: object
properties:
vcpus:
type: integer
minimum: 1
memoryGib:
type: number
minimum: 0
exclusiveMinimum: true
diskGib:
type: integer
minimum: 1
diskGrowOnly:
type: boolean
required:
- vcpus
- memoryGib
- diskGib
- diskGrowOnly
additionalProperties: false
required:
- hostname
- secret
securitySchemes:
bearerAuth:
type: http
scheme: bearer
description: 'Bearer token: an Amika CLI session token or an Amika API key.'
cookieAuth:
type: apiKey
in: cookie
name: wos-session
description: Browser session cookie set after sign-in.
x-provenance:
method: harvested
publisher: Amika
source: https://app.amika.dev/api/openapi.json
note: split by refine-openapis from the provider's own published document, verified by fetch (openapi/_original/*.fetch.json);
stamped by stamp-openapi-provenance.py (roadmap#793)