Перейти к содержимому
NotHolyДокументация

Справка

Справочник API

Все маршруты https://api.notholy.com/v1, собранные из файла OpenAPI. Его можно скачать как openapi.json.

openapi.json · Аутентификация: Bearer-токен или заголовок x-api-key.

Inference

POST/chat/completions

Chat completion (OpenAI format)

Параметры

Idempotency-KeyheaderstringNon-streaming requests with the same key within 24 hours return the first successful response, with x-notholy-idempotent-replay true, and are not charged again. The response is held in the memory of the server that answered, so a retry after a restart or on another server runs again.

Тело запроса: application/json

curl
curl -X POST https://api.notholy.com/v1/chat/completions \
  -H "Authorization: Bearer $NOTHOLY_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"model":"notholy-specter","messages":[{"role":"user","content":"Explain IDOR in two sentences."}]}'

Ответы

200 · default

POST/responses

Response (OpenAI Responses format, stateless)

previous_response_id returns 400. Send the full conversation in input.

Параметры

Idempotency-KeyheaderstringNon-streaming requests with the same key within 24 hours return the first successful response, with x-notholy-idempotent-replay true, and are not charged again. The response is held in the memory of the server that answered, so a retry after a restart or on another server runs again.

Тело запроса: application/json

curl
curl -X POST https://api.notholy.com/v1/responses \
  -H "Authorization: Bearer $NOTHOLY_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"model":"notholy-specter","input":"Summarize what CVSS 3.1 AV:N means."}'

Ответы

200 · default

POST/completions

Text completion (legacy OpenAI format)

Параметры

Idempotency-KeyheaderstringNon-streaming requests with the same key within 24 hours return the first successful response, with x-notholy-idempotent-replay true, and are not charged again. The response is held in the memory of the server that answered, so a retry after a restart or on another server runs again.

Тело запроса: application/json

curl
curl -X POST https://api.notholy.com/v1/completions \
  -H "Authorization: Bearer $NOTHOLY_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"model":"notholy-specter","prompt":"The OWASP category for SSRF is","max_tokens":30}'

Ответы

200 · default

POST/messages

Message (Anthropic Messages format)

The Anthropic SDK base URL is https://api.notholy.com. max_tokens is required. cache_control is ignored; PDF document sources return 400.

Параметры

Idempotency-KeyheaderstringNon-streaming requests with the same key within 24 hours return the first successful response, with x-notholy-idempotent-replay true, and are not charged again. The response is held in the memory of the server that answered, so a retry after a restart or on another server runs again.

Тело запроса: application/json

curl
curl -X POST https://api.notholy.com/v1/messages \
  -H "Authorization: Bearer $NOTHOLY_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"model":"notholy-specter","max_tokens":512,"messages":[{"role":"user","content":"What is a Sigma rule?"}]}'

Ответы

200 · default

POST/messages/count_tokens

Count input tokens (Anthropic format)

Тело запроса: application/json

curl
curl -X POST https://api.notholy.com/v1/messages/count_tokens \
  -H "Authorization: Bearer $NOTHOLY_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"model":"notholy-specter","messages":[{"role":"user","content":"What is a Sigma rule?"}]}'

Ответы

200 · default

POST/embeddings

Embeddings (no model available yet)

Always returns 404 model_not_found until an embedding model is added. Not charged.

Тело запроса: application/json

curl
curl -X POST https://api.notholy.com/v1/embeddings \
  -H "Authorization: Bearer $NOTHOLY_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"model":"notholy-specter","input":"text"}'

Ответы

404

Models

GET/models

List models

curl
curl https://api.notholy.com/v1/models \
  -H "Authorization: Bearer $NOTHOLY_API_KEY"

Ответы

200 · default

GET/models/{id}

Get one model

Параметры

idpath, обязательныйstring
curl
curl https://api.notholy.com/v1/models/notholy-specter \
  -H "Authorization: Bearer $NOTHOLY_API_KEY"

Ответы

200 · default

Account

GET/credits

Balance of the organization and spend of the key

curl
curl https://api.notholy.com/v1/credits \
  -H "Authorization: Bearer $NOTHOLY_API_KEY"

Ответы

200 · default

Research

GET/cve/{id}

One CVE with NVD, CISA KEV and FIRST EPSS data

Параметры

idpath, обязательныйstring
curl
curl https://api.notholy.com/v1/cve/CVE-2021-44228 \
  -H "Authorization: Bearer $NOTHOLY_API_KEY"

Ответы

200 · default

GET/cve/search

Search the CVE mirror

Параметры

qquerystring
vendorquerystring
cwequerystring
kevqueryboolean
min_cvssquerynumber
min_epssquerynumber
limitqueryinteger
curl
curl https://api.notholy.com/v1/cve/search \
  -H "Authorization: Bearer $NOTHOLY_API_KEY"

Ответы

200 · default

GET/kb/search

Search the curated security knowledge base

Параметры

qquery, обязательныйstring
domainquerystring
sourcequerystring
toolquerystring
limitqueryinteger
curl
curl https://api.notholy.com/v1/kb/search \
  -H "Authorization: Bearer $NOTHOLY_API_KEY"

Ответы

200 · default

GET/kb/{id}

Read one knowledge-base document, paginated by section

Параметры

idpath, обязательныйstring
fromqueryinteger
limitqueryinteger
curl
curl https://api.notholy.com/v1/kb/{id} \
  -H "Authorization: Bearer $NOTHOLY_API_KEY"

Ответы

200 · default

POST/advisories/query

Advisories for a package and version

Тело запроса: application/json

curl
curl -X POST https://api.notholy.com/v1/advisories/query \
  -H "Authorization: Bearer $NOTHOLY_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"ecosystem":"npm","name":"lodash","version":"4.17.15"}'

Ответы

200 · default

POST/web/search

Web search

Тело запроса: application/json

curl
curl -X POST https://api.notholy.com/v1/web/search \
  -H "Authorization: Bearer $NOTHOLY_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"query":"CVE-2024-3094 xz backdoor analysis","count":5}'

Ответы

200 · default

POST/web/read

Read a public page through the protected egress

Тело запроса: application/json

curl
curl -X POST https://api.notholy.com/v1/web/read \
  -H "Authorization: Bearer $NOTHOLY_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"url":"https://nvd.nist.gov/vuln/detail/CVE-2021-44228"}'

Ответы

200 · default

POST/files

Upload a file for static analysis, up to 32 MB

Stored encrypted with a one-hour expiry. The expiry is recorded, but automatic deletion is not active yet.

Параметры

x-file-nameheaderstringURL-encoded when it has non-ASCII characters. Defaults to file.
waitquerystringWait for the analysis to finish

Тело запроса: application/octet-stream

curl
curl -X POST https://api.notholy.com/v1/files \
  -H "Authorization: Bearer $NOTHOLY_API_KEY"

Ответы

200 · 202 · default

GET/files/{id}

File status

Параметры

idpath, обязательныйstring
curl
curl https://api.notholy.com/v1/files/{id} \
  -H "Authorization: Bearer $NOTHOLY_API_KEY"

Ответы

200 · default

GET/files/{id}/content

Extracted text of a file

Параметры

idpath, обязательныйstring
curl
curl https://api.notholy.com/v1/files/{id}/content \
  -H "Authorization: Bearer $NOTHOLY_API_KEY"

Ответы

200 · default