hunta-ai Facts API

The Facts API from hunta-ai — 5 operation(s) for facts.

Operations 6

GET /v1/facts Fact listing with reconciliation metadata (memory:read). #
POST /v1/facts/{fid}/supersede Surgically correct ONE fact (memory:curate|write): bi-temporal closure +… #
POST /v1/facts/{fid}/invalidate Retract ONE fact without successor (memory:curate|write) — bi-temporal closure… #
POST /v1/facts/{fid}/reopen Undo a Reckon nearfacts closure (memory:curate|write): the fact is current… #
GET /v1/facts/{fid} One enriched fact by id (memory:read) — list_facts fields plus created_at… #
DELETE /v1/facts/{fid} GDPR-granular single-fact erasure (memory:write ONLY — not grantable via… #

Work with this as data

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/hunta-ai:hunta-ai-facts-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

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 Specification

hunta-ai-facts-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: hunta.ai Memory Facts API
  version: 0.17.0
  description: 'Attestable per-tenant agent memory. Tenant = the Bearer JWT''s `tid`; no endpoint takes a tenant argument. Scopes: memory:read|write|capture|curate|admin (legacy `memory` = read+write+capture+curate, not admin). Staging: capture → candidates (never recalled) → promote = the curated write into canon; promote/reject are provenance-stamped server-side (curated_by = token sub, lane = auto|human). Reconciliation (R0): facts listing + surgical supersede/invalidate (bi-temporal, curate-scope) + fact-granular forget (write-scope only).'
servers:
- url: https://mcp.hunta.ai
security:
- bearer: []
tags:
- name: Facts
paths:
  /v1/facts:
    get:
      summary: Fact listing with reconciliation metadata (memory:read).
      parameters:
      - name: source_memory_id
        in: query
        schema:
          type: string
      - name: superseded_by
        in: query
        schema:
          type: string
      - name: include_superseded
        in: query
        schema:
          type: boolean
      - name: limit
        in: query
        schema:
          type: integer
      responses:
        '200':
          description: decrypted facts with slot/created_at/valid_from/valid_to/superseded_by/retraction_reason
      tags:
      - Facts
      operationId: getV1Facts
      x-operation-id-source: derived
  /v1/facts/{fid}/supersede:
    post:
      summary: 'Surgically correct ONE fact (memory:curate|write): bi-temporal closure +…'
      parameters:
      - name: fid
        in: path
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              type: object
              required:
              - statement
              properties:
                statement:
                  type: string
                agent:
                  type: string
                valid_from:
                  type: string
                  format: date-time
                  description: Successor's effective date — when the correction became true (ISO-8601, not future). Defaults to now().
      responses:
        '201':
          description: superseded — new_fact_id (or deduped onto an existing fact)
        '404':
          description: not_found
        '409':
          description: not_current
      tags:
      - Facts
      operationId: postV1FactsByFidSupersede
      x-operation-id-source: derived
  /v1/facts/{fid}/invalidate:
    post:
      summary: Retract ONE fact without successor (memory:curate|write) — bi-temporal closure…
      parameters:
      - name: fid
        in: path
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                reason:
                  type: string
      responses:
        '200':
          description: invalidated
        '404':
          description: not_found
        '409':
          description: not_current
      tags:
      - Facts
      operationId: postV1FactsByFidInvalidate
      x-operation-id-source: derived
  /v1/facts/{fid}/reopen:
    post:
      summary: 'Undo a Reckon nearfacts closure (memory:curate|write): the fact is current…'
      parameters:
      - name: fid
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: reopened | cancelled
        '404':
          description: not_found
        '409':
          description: not_closed | not_closed_by_nearfacts
      tags:
      - Facts
      operationId: postV1FactsByFidReopen
      x-operation-id-source: derived
  /v1/facts/{fid}:
    get:
      summary: One enriched fact by id (memory:read) — list_facts fields plus created_at…
      parameters:
      - name: fid
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: enriched fact
        '404':
          description: not_found
      tags:
      - Facts
      operationId: getV1FactsByFid
      x-operation-id-source: derived
    delete:
      summary: GDPR-granular single-fact erasure (memory:write ONLY — not grantable via…
      parameters:
      - name: fid
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: delete counts
      tags:
      - Facts
      operationId: deleteV1FactsByFid
      x-operation-id-source: derived
components:
  securitySchemes:
    bearer:
      type: http
      scheme: bearer
      bearerFormat: JWT