Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.
Get an API key
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.
openapi: 3.2.0
info:
title: Hacker Bob public records Service API
version: 1.0.0
summary: Read-only access to cleared public Hacker Bob CVE records and capability metadata.
description: 'This API exposes only cleared public records. It cannot start assessments, interact with targets, access private workspaces, or spend credits. Assessment execution remains in the separately installed local Hacker Bob runtime. The major version is encoded in the URL. Breaking changes use a new major version. Deprecated versions publish Deprecation and Sunset headers with at least 90 days notice. Lifecycle policy: https://hackerbob.ai/api-policy.md.'
license:
name: Apache-2.0
identifier: Apache-2.0
url: https://www.apache.org/licenses/LICENSE-2.0
contact:
name: Hacker Bob security
email: security@hackerbob.ai
url: https://hackerbob.ai/contact
x-versioning-policy:
strategy: URL major version
current: v1
deprecated: []
policy: https://hackerbob.ai/api-policy.md
minimumSunsetNoticeDays: 90
servers:
- url: https://hackerbob.ai
description: Public production records service
security: []
tags:
- name: Service
description: Service metadata and capability discovery.
paths:
/api/v1/health:
get:
operationId: getAgentApiHealth
summary: Check public records API health
description: Return the service version and its read-only execution boundary.
tags:
- Service
responses:
'200':
description: The public records API is available.
content:
application/json:
schema:
$ref: '#/components/schemas/Health'
headers:
Link:
$ref: '#/components/headers/Link'
Deprecation:
$ref: '#/components/headers/Deprecation'
Sunset:
$ref: '#/components/headers/Sunset'
'429':
description: The edge request limit is exhausted. Retry after the advertised reset.
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
'500':
description: The public records service could not complete the request.
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
deprecated: false
x-lifecycle:
status: active
deprecationPolicy: https://hackerbob.ai/api-policy.md
minimumSunsetNoticeDays: 90
/api/v1/capabilities:
get:
operationId: getHackerBobCapabilities
summary: Get public interface capabilities
description: Return callable capabilities and the boundary separating public records from assessment execution.
tags:
- Service
responses:
'200':
description: Public capabilities and boundary metadata.
content:
application/json:
schema:
$ref: '#/components/schemas/Capabilities'
headers:
Link:
$ref: '#/components/headers/Link'
Deprecation:
$ref: '#/components/headers/Deprecation'
Sunset:
$ref: '#/components/headers/Sunset'
'429':
description: The edge request limit is exhausted. Retry after the advertised reset.
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
'500':
description: The public records service could not complete the request.
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
deprecated: false
x-lifecycle:
status: active
deprecationPolicy: https://hackerbob.ai/api-policy.md
minimumSunsetNoticeDays: 90
/api/v1/sandbox:
get:
operationId: getPublicApiSandbox
summary: Inspect the public API contract sandbox
description: Return deterministic, non-persistent sandbox metadata and example requests. The sandbox does not execute assessments or expose production workspace data.
tags:
- Service
responses:
'200':
description: Sandbox boundaries, supported contract checks, and example requests.
content:
application/json:
schema:
$ref: '#/components/schemas/Sandbox'
headers:
Link:
$ref: '#/components/headers/Link'
Deprecation:
$ref: '#/components/headers/Deprecation'
Sunset:
$ref: '#/components/headers/Sunset'
'429':
description: The edge request limit is exhausted. Retry after the advertised reset.
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
'500':
description: The public records service could not complete the request.
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
deprecated: false
x-lifecycle:
status: active
deprecationPolicy: https://hackerbob.ai/api-policy.md
minimumSunsetNoticeDays: 90
components:
headers:
Deprecation:
description: Present only after this API version receives a formal deprecation date. RFC 9745 structured date such as @1788134400.
schema:
type: string
pattern: ^@[0-9]+$
Sunset:
description: Present only for a deprecated version with a scheduled shutdown. RFC 8594 HTTP-date value.
schema:
type: string
Link:
description: Links to the public API lifecycle policy with rel=deprecation.
schema:
type: string
schemas:
ErrorResponse:
type: object
additionalProperties: false
required:
- error
- requestId
properties:
error:
type: object
additionalProperties: false
required:
- code
- message
properties:
code:
type: string
message:
type: string
details: {}
requestId:
type: string
Capabilities:
type: object
additionalProperties: true
required:
- name
- version
- access
- authentication
- readOnly
- capabilities
- boundaries
- links
properties:
name:
type: string
version:
type: string
access:
type: string
const: public
authentication:
type: string
const: none
readOnly:
type: boolean
const: true
capabilities:
type: array
items:
type: string
boundaries:
type: object
additionalProperties: true
links:
type: object
additionalProperties:
type: string
format: uri
Health:
type: object
additionalProperties: false
required:
- status
- version
- readOnly
- assessmentExecution
properties:
status:
type: string
const: ok
version:
type: string
readOnly:
type: boolean
const: true
assessmentExecution:
type: boolean
const: false
Sandbox:
type: object
additionalProperties: false
required:
- schemaVersion
- mode
- persistent
- productionData
- authentication
- readOnly
- capabilities
- boundaries
- links
- exampleRequests
properties:
schemaVersion:
type: string
const: '1.0'
mode:
type: string
const: sandbox
persistent:
type: boolean
const: false
productionData:
type: boolean
const: false
authentication:
type: string
const: none
readOnly:
type: boolean
const: true
capabilities:
type: array
items:
type: string
boundaries:
type: object
additionalProperties: true
links:
type: object
additionalProperties:
type: string
format: uri
exampleRequests:
type: array
items:
type: string
externalDocs:
description: Hacker Bob public API reference
url: https://hackerbob.ai/api-reference