Every API here is available over the APIs.io API and to AI agents over MCP.
MCP server
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
Tools for apis
7 MCP tools reach this
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.
All 92 tools →
Call it yourself
curl for this page
This API
curl "https://apis.io/api/v1/apis/gryz-ai:gryz-ai-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"
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.
A second provider on the same verified email joins the account you already have.
openapi: 3.1.0
info:
title: Gryz API
version: '2026-11-11'
description: 'GENERATED FROM DOCUMENTATION by API Evangelist on 2026-11-11: 17 operation(s) read from 8 public documentation page(s) (each operation
names its page in x-source). This is not the provider''s published contract; Gryz has published no machine-readable contract that the pipeline
could find. Engine: local.'
x-evidence-tiers:
code-example: 5
documentation: 12
pages-with-code: 5
pages-read: 8
x-generated-from: documentation
x-provenance: generated
x-authored-by: API Evangelist
x-generated: '2026-11-11'
x-generator: generate-contract-from-docs.py
x-engine: local
x-sources:
- https://www.gryz.ai/docs/api/memory
- https://www.gryz.ai/docs/api/documents
- https://www.gryz.ai/docs/mcp/tools
- https://www.gryz.ai/docs/agent-memory/overview
- https://www.gryz.ai/explore/?sort=most_liked&offset=48
- https://www.gryz.ai/explore/?type=markdown&offset=24
- https://www.gryz.ai/explore/?sort=most_liked&feed=latest&offset=48
- https://www.gryz.ai/explore/?type=markdown&feed=latest&offset=24
paths:
/api/documents:
get:
operationId: get_api_documents
tags:
- Api
summary: REST API for creating, reading, updating, and deleting documents with API key authentication.
x-source: https://www.gryz.ai/docs/api/documents
responses:
'200':
description: Success (status as documented)
x-evidence:
kind: documentation
post:
operationId: post_api_documents
tags:
- Api
summary: REST API for creating, reading, updating, and deleting documents with API key authentication.
x-source: https://www.gryz.ai/docs/api/documents
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/PostApiDocumentsRequest'
responses:
'201':
description: Success (status as documented)
content:
application/json:
schema:
$ref: '#/components/schemas/PostApiDocumentsResponse'
x-evidence:
kind: documentation
/api/documents/[slug]/:
delete:
operationId: delete_api_documents_slug
tags:
- Api
summary: REST API for creating, reading, updating, and deleting documents with API key authentication.
x-source: https://www.gryz.ai/docs/api/documents
responses:
'200':
description: Success (status as documented)
x-evidence:
kind: documentation
patch:
operationId: patch_api_documents_slug
tags:
- Api
summary: REST API for creating, reading, updating, and deleting documents with API key authentication.
x-source: https://www.gryz.ai/docs/api/documents
requestBody:
required: false
content:
application/json:
schema:
$ref: '#/components/schemas/PatchApiDocumentsSlugRequest'
responses:
'200':
description: Success (status as documented)
x-evidence:
kind: documentation
/api/documents/[slug]/append/:
post:
operationId: post_api_documents_slug_append
tags:
- Api
summary: REST API for creating, reading, updating, and deleting documents with API key authentication.
x-source: https://www.gryz.ai/docs/api/documents
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/PostApiDocumentsSlugAppendRequest'
responses:
'201':
description: Success (status as documented)
content:
application/json:
schema:
$ref: '#/components/schemas/PostApiDocumentsSlugAppendResponse'
x-evidence:
kind: documentation
/api/documents/[slug]/edit/:
post:
operationId: post_api_documents_slug_edit
tags:
- Api
summary: REST API for creating, reading, updating, and deleting documents with API key authentication.
x-source: https://www.gryz.ai/docs/api/documents
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/PostApiDocumentsSlugEditRequest'
responses:
'201':
description: Success (status as documented)
content:
application/json:
schema:
$ref: '#/components/schemas/PostApiDocumentsSlugEditResponse'
x-evidence:
kind: documentation
/api/documents/[slug]/revisions/:
get:
operationId: get_api_documents_slug_revisions
tags:
- Api
summary: REST API for creating, reading, updating, and deleting documents with API key authentication.
x-source: https://www.gryz.ai/docs/api/documents
parameters:
- name: limit
in: query
required: false
schema:
type: integer
description: 1–50
- name: before
in: query
required: false
schema:
type: string
description: a revision, to page back
responses:
'200':
description: Success (status as documented)
content:
application/json:
schema:
$ref: '#/components/schemas/GetApiDocumentsSlugRevisionsResponse'
x-evidence:
kind: documentation
/api/documents/[slug]/revisions/[rev]/restore/:
post:
operationId: post_api_documents_slug_revisions_rev_restore
tags:
- Api
summary: REST API for creating, reading, updating, and deleting documents with API key authentication.
x-source: https://www.gryz.ai/docs/api/documents
requestBody:
required: false
content:
application/json:
schema:
$ref: '#/components/schemas/PostApiDocumentsSlugRevisionsRevRestoreRequest'
responses:
'201':
description: Success (status as documented)
content:
application/json:
schema:
$ref: '#/components/schemas/PostApiDocumentsSlugRevisionsRevRestoreResponse'
x-evidence:
kind: documentation
/api/documents/my-log/append:
post:
operationId: post_api_documents_my_log_append
tags:
- Api
summary: POST /api/documents/my-log/append
x-source: https://www.gryz.ai/docs/api/documents
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/PostApiDocumentsMyLogAppendRequest'
responses:
'201':
description: Success (status as documented)
x-evidence:
kind: code-example
language: curl
snippet: "curl -X POST https://www.gryz.ai/api/documents/my-log/append/ -H \"Authorization: Bearer gryz_YOUR_KEY_HERE\" -H \"Content-Type:\
\ application/json\" -d '{\"content\": \"## 2026-10-07\\n\\nShipped the thing.\", \"if_match\": \"r12\"}' \n Body: content (required),\
\ position ( end or start ), if_match , on_conflict ( fail or merge ), idempotency_key . \n 200 : { \"slug\", \"url\", \"revision\"\
, \"changed\", \"replayed\", \"by"
/api/documents/my-plan/edit:
post:
operationId: post_api_documents_my_plan_edit
tags:
- Api
summary: POST /api/documents/my-plan/edit
x-source: https://www.gryz.ai/docs/api/documents
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/PostApiDocumentsMyPlanEditRequest'
responses:
'201':
description: Success (shape read from the example response on the page)
content:
application/json:
schema:
$ref: '#/components/schemas/PostApiDocumentsMyPlanEditResponse'
x-evidence:
kind: code-example
language: curl
snippet: "curl -X POST https://www.gryz.ai/api/documents/my-plan/edit/ -H \"Authorization: Bearer gryz_YOUR_KEY_HERE\" -H \"Content-Type:\
\ application/json\" -d '{\"operations\": [{\"op\": \"set_checkbox\", \"text\": \"write docs\", \"checked\": true}], \"dry_run\": true}'\
\ \n Body: operations (required; replace_text , insert_before_heading , insert_after_heading , replace_section , delete_section , append_table_row\
\ , set_ch"
/api/documents/my-plan/revisions:
get:
operationId: get_api_documents_my_plan_revisions
tags:
- Api
summary: GET /api/documents/my-plan/revisions
x-source: https://www.gryz.ai/docs/api/documents
parameters:
- name: limit
in: query
required: false
schema:
type: string
responses:
'200':
description: Success (shape read from the example response on the page)
content:
application/json:
schema:
$ref: '#/components/schemas/GetApiDocumentsMyPlanRevisionsResponse'
x-evidence:
kind: code-example
language: curl
snippet: "curl \"https://www.gryz.ai/api/documents/my-plan/revisions/?limit=10\" -H \"Authorization: Bearer gryz_YOUR_KEY_HERE\" \n 200\
\ : { \"current_revision\", \"revisions\": [{ \"revision\", \"actor\", \"tool\", \"summary\", \"bytes_delta\", \"created_at\" }], \"\
next_before\", \"history_trimmed\" } \n GET /api/documents/[slug]/revisions/[rev]/ \n What one version changed compared with the one\
\ before it, as a compact diff. [rev] i"
/api/documents/my-plan/revisions/r9/restore:
post:
operationId: post_api_documents_my_plan_revisions_r9_restore
tags:
- Api
summary: POST /api/documents/my-plan/revisions/r9/restore
x-source: https://www.gryz.ai/docs/api/documents
responses:
'201':
description: Success (shape read from the example response on the page)
content:
application/json:
schema:
$ref: '#/components/schemas/PostApiDocumentsMyPlanRevisionsR9RestoreResponse'
x-evidence:
kind: code-example
language: curl
snippet: "curl -X POST https://www.gryz.ai/api/documents/my-plan/revisions/r9/restore/ -H \"Authorization: Bearer gryz_YOUR_KEY_HERE\"\
\ \n 200 : { \"revision\", \"restored_from\", \"changed\" } \n 410 : that version is no longer kept \n 413 : the version is larger than\
\ your plan allows today \n Suggestions and assistant permissions (web only) \n POST /api/documents/[slug]/suggestions/[id]/ (body {\
\ \"action\": \"accept\" } o"
/api/memory:
get:
operationId: get_api_memory
tags:
- Api
summary: List the authenticated user's memories with provenance summary and scope.
x-source: https://www.gryz.ai/docs/api/memory
parameters:
- name: limit
in: query
required: false
schema:
type: integer
- name: offset
in: query
required: false
schema:
type: integer
- name: scope
in: query
required: false
schema:
type: string
- name: project_key
in: query
required: false
schema:
type: string
responses:
'200':
description: Success (status as documented)
content:
application/json:
schema:
$ref: '#/components/schemas/GetApiMemoryResponse'
x-evidence:
kind: documentation
post:
operationId: post_api_memory
tags:
- Api
summary: Create a single memory.
x-source: https://www.gryz.ai/docs/api/memory
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/PostApiMemoryRequest'
responses:
'201':
description: Success (status as documented)
content:
application/json:
schema:
$ref: '#/components/schemas/PostApiMemoryResponse'
x-evidence:
kind: documentation
/api/skills/export:
get:
operationId: get_api_skills_export
tags:
- Api
summary: Bulk export ( GET /api/skills/export ) and bulk import ( POST /api/skills/import ) are same-origin REST routes behind your dashboard
session
x-source: https://www.gryz.ai/docs/mcp/tools
responses:
'200':
description: Success (status as documented)
x-evidence:
kind: documentation
/api/skills/import:
post:
operationId: post_api_skills_import
tags:
- Api
summary: Bulk export ( GET /api/skills/export ) and bulk import ( POST /api/skills/import ) are same-origin REST routes behind your dashboard
session
x-source: https://www.gryz.ai/docs/mcp/tools
responses:
'201':
description: Success (status as documented)
x-evidence:
kind: documentation
/dr:
get:
operationId: get_dr
tags:
- Dr
summary: GET /dr
x-source: https://www.gryz.ai/explore/?sort=most_liked&offset=48
responses:
'200':
description: Success (status as documented)
x-evidence:
kind: code-example
language: curl
snippet: "curl -sL URL | grep -i 'name=\"robots\"' returns noindex . Nothing will index it until removed. \n noindex in the X-Robots-Tag\
\ header. Test: curl -sI URL shows the header. Same verdict as #2, invisible in HTML. \n Blocked by robots.txt. Test: the path matches\
\ a Disallow rule. The crawler never reads the content or your link. \n 1 view 10 reasons backlink pages stay out of Google's index\
\ lindabjorkvin ·"
components:
schemas:
PostApiDocumentsRequest:
type: object
properties:
content:
type: string
content_type:
type: string
title:
type: string
visibility:
type: string
required:
- content
PostApiDocumentsResponse:
type: object
properties:
slug:
type: string
url:
type: string
PatchApiDocumentsSlugRequest:
type: object
properties:
content:
type: string
title:
type: string
visibility:
type: string
expiry:
type: string
if_match:
type: string
PostApiDocumentsSlugAppendRequest:
type: object
properties:
content:
type: string
position:
type: string
description: end or start
if_match:
type: string
on_conflict:
type: string
description: fail or merge
idempotency_key:
type: string
required:
- content
PostApiDocumentsSlugAppendResponse:
type: object
properties:
slug:
type: string
url:
type: string
revision:
type: string
changed:
type: boolean
replayed:
type: boolean
bytes_delta:
type: integer
history_trimmed:
type: boolean
PostApiDocumentsSlugEditRequest:
type: object
properties:
operations:
type: array
description: replace_text, insert_before_heading, insert_after_heading, replace_section, delete_section, append_table_row, set_checkbox
if_match:
type: string
on_conflict:
type: string
dry_run:
type: boolean
idempotency_key:
type: string
required:
- operations
PostApiDocumentsSlugEditResponse:
type: object
properties:
slug:
type: string
url:
type: string
revision:
type: string
changed:
type: boolean
replayed:
type: boolean
bytes_delta:
type: integer
history_trimmed:
type: boolean
operations:
type: array
diff:
type: string
merged:
type: boolean
merged_over:
type: boolean
dry_run:
type: boolean
GetApiDocumentsSlugRevisionsResponse:
type: object
properties:
current_revision:
type: string
revisions:
type: array
description: objects with revision, actor, tool, summary, bytes_delta, created_at
next_before:
type: string
history_trimmed:
type: boolean
PostApiDocumentsSlugRevisionsRevRestoreRequest:
type: object
properties:
if_match:
type: string
idempotency_key:
type: string
PostApiDocumentsSlugRevisionsRevRestoreResponse:
type: object
properties:
revision:
type: string
restored_from:
type: string
changed:
type: boolean
PostApiDocumentsMyLogAppendRequest:
type: object
properties:
content:
type: string
if_match:
type: string
PostApiDocumentsMyPlanEditRequest:
type: object
properties:
operations:
type: array
items:
type: object
properties:
op:
type: string
text:
type: string
checked:
type: boolean
dry_run:
type: boolean
PostApiDocumentsMyPlanEditResponse:
type: object
properties:
error:
type: string
code:
type: string
GetApiDocumentsMyPlanRevisionsResponse:
type: object
properties:
error:
type: string
code:
type: string
PostApiDocumentsMyPlanRevisionsR9RestoreResponse:
type: object
properties:
error:
type: string
code:
type: string
GetApiMemoryResponse:
type: object
properties:
memories:
type: array
description: list of memory records with provenance summary
PostApiMemoryRequest:
type: object
properties:
scope:
type: string
description: '"personal" or "project"'
project_key:
type: string
description: required when scope is "project", must be omitted for "personal"
body:
type: string
description: the atomic fact, 1–4000 characters
valid_from:
type: string
description: ISO timestamp the fact became true (optional, defaults to now)
salience:
type: integer
description: importance weight 0 – 10 (optional, defaults to 1)
required:
- scope
- body
PostApiMemoryResponse:
type: object
properties:
memory:
type: object
description: the stored record and its provenance chain
securitySchemes:
bearer:
type: http
scheme: bearer
security:
- bearer: []
tags:
- name: Api
- name: Dr