Vai al contenuto
NotHolyDocs

Riferimenti

Riferimento API

Tutte le route di https://api.notholy.com/v1, generate dal file OpenAPI. Puoi scaricarlo come openapi.json.

openapi.json · Autenticazione: token Bearer o header x-api-key.

Inference

POST/chat/completions

Chat completion (OpenAI format)

Parametri

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.

Corpo della richiesta: 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."}]}'

Risposte

200 · default

POST/responses

Response (OpenAI Responses format, stateless)

previous_response_id returns 400. Send the full conversation in input.

Parametri

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.

Corpo della richiesta: 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."}'

Risposte

200 · default

POST/completions

Text completion (legacy OpenAI format)

Parametri

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.

Corpo della richiesta: 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}'

Risposte

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.

Parametri

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.

Corpo della richiesta: 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?"}]}'

Risposte

200 · default

POST/messages/count_tokens

Count input tokens (Anthropic format)

Corpo della richiesta: 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?"}]}'

Risposte

200 · default

POST/embeddings

Embeddings (no model available yet)

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

Corpo della richiesta: 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"}'

Risposte

404

Models

GET/models

List models

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

Risposte

200 · default

GET/models/{id}

Get one model

Parametri

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

Risposte

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"

Risposte

200 · default

Research

GET/cve/{id}

One CVE with NVD, CISA KEV and FIRST EPSS data

Parametri

idpath, obbligatoriostring
curl
curl https://api.notholy.com/v1/cve/CVE-2021-44228 \
  -H "Authorization: Bearer $NOTHOLY_API_KEY"

Risposte

200 · default

GET/cve/search

Search the CVE mirror

Parametri

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

Risposte

200 · default

GET/kb/search

Search the curated security knowledge base

Parametri

qquery, obbligatoriostring
domainquerystring
sourcequerystring
toolquerystring
limitqueryinteger
curl
curl https://api.notholy.com/v1/kb/search \
  -H "Authorization: Bearer $NOTHOLY_API_KEY"

Risposte

200 · default

GET/kb/{id}

Read one knowledge-base document, paginated by section

Parametri

idpath, obbligatoriostring
fromqueryinteger
limitqueryinteger
curl
curl https://api.notholy.com/v1/kb/{id} \
  -H "Authorization: Bearer $NOTHOLY_API_KEY"

Risposte

200 · default

POST/advisories/query

Advisories for a package and version

Corpo della richiesta: 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"}'

Risposte

200 · default

POST/web/search

Web search

Corpo della richiesta: 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}'

Risposte

200 · default

POST/web/read

Read a public page through the protected egress

Corpo della richiesta: 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"}'

Risposte

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.

Parametri

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

Corpo della richiesta: application/octet-stream

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

Risposte

200 · 202 · default

GET/files/{id}

File status

Parametri

idpath, obbligatoriostring
curl
curl https://api.notholy.com/v1/files/{id} \
  -H "Authorization: Bearer $NOTHOLY_API_KEY"

Risposte

200 · default

GET/files/{id}/content

Extracted text of a file

Parametri

idpath, obbligatoriostring
curl
curl https://api.notholy.com/v1/files/{id}/content \
  -H "Authorization: Bearer $NOTHOLY_API_KEY"

Risposte

200 · default