List timeline

Returns every retained version of one entry, in append order.

GET /v1/patent/timeline

Addresshttps://api.hanzo.ai/v1/patent/timeline
MethodGET
Operationget_patent_timeline
AuthAuthorization: Bearer $HANZO_API_KEY

Returns every retained version of one entry, in append order. ?id= names it and ?kind= says which log; a retraction is shown as the withdrawal it is rather than hidden.

Request

3 fields.

FieldInTypeRequiredDescription
idquerystring—ID is the entry's stable id.
kindquerystring—Kind is idea, implementation or disclosure — which log to read.
projectquerystring—Project narrows inside the org; empty is the caller's own scope.

Response

StatusBodyMeaning
200patent.PatentTimelineok
defaultproblem-detailsrefused

200 body — 13 fields.

FieldInTypeAlwaysDescription
foundbodyboolean—Found is false when no version of that id exists in this org.
idbodystring—ID is the entry named.
kindbodystring—Kind is which log was read.
projectbodystring—Project is the scope it is filed under.
retainedbodyinteger (int64)—Retained is len(versions).
versionsbodypatent.PatentTimelineEntry[]—Versions are every retained version, oldest append first.
versions[].authored_bybodystring—AuthoredBy is the validated subject who appended it.
versions[].canonicalbodyboolean—Canonical marks the version a listing would return: the latest non-retracted one.
versions[].content_hashbodystring—ContentHash is this version's identity.
versions[].recorded_atbodystring—RecordedAt is the server clock at the append.
versions[].revisionbodystring—Revision is original, corrected or retracted.
versions[].seqbodyinteger (int64)—Seq is the append clock value this version was stamped with.
versions[].supersededbodyboolean—Superseded marks a retained version that a later one replaced.

Failure carries the platform error shape — see Errors.

Examples

hanzo patent timeline
import { Configuration, PatentApi } from 'hanzoai';

const api = new PatentApi(new Configuration({ accessToken: process.env.HANZO_API_KEY }));
const { data } = await api.getPatentTimeline();
from hanzoai.cloud import ApiClient, Configuration
from hanzoai.cloud.api import PatentApi

client = ApiClient(Configuration(access_token=os.environ["HANZO_API_KEY"]))
result = PatentApi(client).get_patent_timeline()
cfg := hanzoai.NewConfiguration()
cfg.AddDefaultHeader("Authorization", "Bearer "+os.Getenv("HANZO_API_KEY"))
client := hanzoai.NewAPIClient(cfg)

resp, _, err := client.PatentAPI.GetPatentTimeline(context.Background()).Execute()
if err != nil {
	return err
}
use hanzo_client::apis::{configuration::Configuration, patent_api};

let mut cfg = Configuration::new();
cfg.bearer_access_token = std::env::var("HANZO_API_KEY").ok();

let result = patent_api::get_patent_timeline(&cfg, Default::default()).await?;
import ai.hanzo.cloud.ApiClient;
import ai.hanzo.cloud.api.PatentApi;

ApiClient client = new ApiClient();
client.setBearerToken(System.getenv("HANZO_API_KEY"));

var result = new PatentApi(client).getPatentTimeline();

The method above is the one at the current release of the document. [email protected] (npm) and [email protected] (PyPI) were generated from an earlier release, where this operation carried a different id, so it spells the method differently — regenerating the clients is what makes the two agree. SDKs →

curl https://api.hanzo.ai/v1/patent/timeline \
  -H "Authorization: Bearer $HANZO_API_KEY"

Tool patent, op get_patent_timeline — POST the JSON-RPC envelope to https://api.hanzo.ai/v1/mcp.

curl -X POST https://api.hanzo.ai/v1/mcp \
  -H "Authorization: Bearer $HANZO_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
       "jsonrpc": "2.0",
       "id": 1,
       "method": "tools/call",
       "params": {
         "name": "patent",
         "arguments": {
           "op": "get_patent_timeline",
           "input": {}
         }
       }
     }'

Patent API · All Hanzo APIs · Interactive reference

Was this page useful?
Broken link or missing step? Drop it in #docs on Discord or open a PR.