Origin check
Check whether content was generated here
For marketplaces: check whether files uploaded to you were generated by ResourcePack AI. No API key.
Send up to 256 hashes per call. Each returns a result in the order you sent it, so you can pair answers to files without matching on the hash yourself.
generated is definitive. `no_record` is not a negative — it means only that the content is not in our registry, never that a human made it.
The Origin check guide has how to compute the hash, which you must follow exactly or every lookup misses silently.
Rate limited to 60 requests a minute per address, since there is no key to count instead.
/origin/lookupBody
hashesarray of stringrequired1–256 entriesCanonical content hashes, 64 hexadecimal characters each. Case is ignored and duplicates are collapsed.
Response · 200
One result per hash asked about.
resultsarray of objectrequiredIn the order the hashes were sent.
hashstringrequiredThe hash you asked about, lowercased.
verdictstringrequiredgenerated if we produced this content, no_record if it is not in the registry.
Options: generated, no_record
formstringWhich canonicalisation produced the hash. Absent on no_record.
Options: png, json, bytes
kindstringWhat sort of asset it was. Absent on no_record.
Options: texture, model, font, sound
firstSeenstringISO 8601 — when this content first left our systems. Absent on no_record.
matchedintegerrequiredHow many of them we generated.
Error codes
Branch on error.code, never on the message.
invalid_json400The request body wasn't a JSON object.
invalid_request400Something in the body or query is wrong. message says what.
rate_limited429Too many requests. message says how long to wait; see Rate limits.