API Docs
This documentation provides a detailed overview of the Integritas API, which enables both uploading and verification of data hashes against the blockchain. It supports optional NFT traceability and returns structured results that include on-chain validation details. Use this guide to understand endpoints, request formats, and how to interpret the verification responses.
Base URL
All API requests are made to the following base URL:
Referenced as:
{{BASE_URL}}
Authentication
Authentication is required and done through the use of API-keys. Get yours at https://integritas.minima.global/.
Endpoints
There are five available endpoints.
Three endpoints are used for stamping data. First, preparing data to be stamped by hashing it. Second, stamping data by uploading the hashed data. Third, retrieving proof of stamped data.
One endpoint is used for for verifying data.
Stamping data
-
Use the first endpoint to send the file. You will receive the SHA3-256 hash of the data in the response.
-
Use the second endpoint to send the hash. You will receive a UID in the response.
-
Use the third endpoint to send the UID from the response to retrieve the proof of the time stamping.
Endpoint 1 - Send file and get hash
Attribute | Details |
---|---|
Method | POST |
Description | This endpoint is used to submit a file. Send the file as formdata in the body. |
Endpoint | {{BASE_URL}}/v1/file/hash |
Request Headers
Header | Value | Description |
---|---|---|
Content-Type | multipart/form-data | Specifies the content type as JSON |
x-api-key | your-api-key | Add your API-key from your profile at https://integritas.minima.global/ |
x-request-id | your-choice | Add a request id to trace every step of the process |
Request Body
Request Type | Content-Type | Body Type | Keys | Description |
---|---|---|---|---|
File upload | multipart/form-data | form-data | file | Send file |
cURL example:
API Response
The response from the API contains the hash of the file.
Example response:
Endpoint 2 - Send hash and get UID
Attribute | Details |
---|---|
Method | POST |
Description | This endpoint is used to submit hashed data. Send the hash as raw JSON data in the body. |
Endpoint | {{BASE_URL}}/v1/timestamp/post |
Request Headers
Header | Value | Description |
---|---|---|
Content-Type | application/json | Specifies the content type as JSON |
x-api-key | your-api-key | Add your API-key from your profile at https://integritas.minima.global/ |
x-request-id | your-choice | Add a request id to trace every step of the process |
Request Body
Request Type | Content-Type | Body Type | Keys | Description |
---|---|---|---|---|
Raw data | application/json | JSON | hash | Input hash of data |
Example:
API Response
The response from the API contains a UID which you will need to retrieve proof of the blockchain transaction that is being done by the stamp server:
Example response:
Endpoint 3 - Send UID and get proof
Attribute | Details |
---|---|
Method | POST |
Description | This endpoint is used to collect the proof from one or multiple blockchain transactions. |
Endpoint | {{BASE_URL}}/v1/timestamp/status |
Request Headers
Header | Value | Description |
---|---|---|
Content-Type | application/json | Specifies the content type as JSON |
x-api-key | your-api-key | Add your API-key from your profile at https://integritas.minima.global/ |
x-request-id | your-choice | Add a request id to trace every step of the process |
Request Body
Request Type | Content-Type | Body Type | Keys | Description |
---|---|---|---|---|
Raw data | application/json | JSON | uids | Input array of uids. |
Example:
API Response
If the blockchain transaction was not yet completed you will get a response that "onchain": false
and you need to wait a moment and try again, maximum wait time for a blockchain transaction to be completed is 3 minutes.
The response from the API contains everything needed to verify that the data was sent to the blockchain. These fields are used in the verification process: "data", "root", "proof", "address". Save them in a json file, see example below the response example.
Example response:
Fields and format to be saved for verification in a json file:
Verification endpoint
Verify data by sending the the source file and the proof file to this endpoint.
NFT Proof Trace (Optional Feature)
The NFT Proof Trace is an optional feature in the API that allows you to request an NFT trace of the verification process.
When enabled:
- It provides an immutable, on-chain record of the validation.
- The verification is linked to a unique NFT, ensuring transparency and traceability.
Endpoint 4 - Verify data (Using source data)
Attribute | Details |
---|---|
Method | POST |
Description | This endpoint is used to submit one or two files for data verification against the blockchain. It processes the provided data and proof (if provided) and returns the verification results. |
Endpoint | {{BASE_URL}}/v1/verify/post |
Request Headers
Header | Value | Description |
---|---|---|
Content-Type | application/json | Specifies the content type as JSON |
x-api-key | your-api-key | Add your API-key from your profile at https://integritas.minima.global/ |
x-report-required | "true" / "false" | Request NFT trace from the verification process |
x-request-id | your-choice | Add a request id to trace every step of the process |
Request Body (Choose one)
Request Type | Content-Type | Body Type | Keys | Description |
---|---|---|---|---|
File upload | file | form-data | file | Validate a source file. |
File upload | file | form-data | file | Validate a .tar file. The .tar file should contain the source file and a JSON proof file. |
File upload | file + file | form-data | file , jsonproof | Validate a source file with a JSON proof file. |
API Response
The response from the API contains information about a file and its results from on-chain verification.
Example response:
Endpoint 5 - Verify hashed data (Using only proof file)
Attribute | Details |
---|---|
Method | POST |
Description | This endpoint is used to submit one proof file for data verification against the blockchain. It processes the proof (if provided) and returns the verification results. |
Endpoint | {{BASE_URL}}/v1/verify/post-lite |
Request Headers
Header | Value | Description |
---|---|---|
Content-Type | application/json | Specifies the content type as JSON |
x-api-key | your-api-key | Add your API-key from your profile at https://integritas.minima.global/ |
x-report-required | "true" | Request NFT trace from the verification process is required. |
x-request-id | your-choice | Add a request id to trace every step of the process |
Request Body (Choose one)
Request Type | Content-Type | Body Type | Keys | Description |
---|---|---|---|---|
File upload | file | form-data | jsonproof | Validate a JSON proof file. |
API Response
The response from the API contains information about a file and its results from on-chain verification.
Example response:
Below is an explanation of the key fields in the response:
Field | Type | Description |
---|---|---|
fileHash | string | The unique hash value of the file that was submitted for verification. Used to identify it on-chain. |
result | string | The result of the verification process. Possible values: exact match , partial match , or no match . |
nftcoinid | string | Unique id of the NFT on the blockchain. |
nfttxnid | string | Unique TxPoW id of the transaction that made the NFT. |
method | string | The method used to verify the file. |
hash_instances_onchain | number | Number of times this file’s hash appears on the blockchain. |
unique_hashes | number | Number of unique hashes related to this file found on the blockchain. |
blockchain_data | array | Array of found blocks related to the file. See Breakdown of blockchain_data for details. |
fileSegments | array | Array of matched segments in the file. See Breakdown of fileSegments for details. |
Breakdown of blockchain_data
Field | Type | Description |
---|---|---|
block_number | string | Block number where the hash was found. |
block_date | string | Timestamp in YYYY-MM-DD HH:mm:ss format when the hash was recorded. |
txpow_id | string | Transaction ID of the Proof-of-Work where the hash was included. |
transactionid | string | Unique ID of the blockchain transaction that contains the matched hash. |
matched_hash | string | The matched hash value found in the block. |
Breakdown of fileSegments
Field | Type | Description |
---|---|---|
matched_hash | string | Hash value of a specific segment of the file (chunk). |
index | number | Index of the chunk within the file. |
offset | number | Offset of the chunk in the file (position in original file). |
packetsize | number | Length in bytes of the matching chunk. |
Blockchain Integration
The Integritas system uses a variety of techniques to compare and validate data using cryptographic hashing methods. These methods ensure integrity and allow for flexible validation approaches.
Report Generation
After validation, a NFT proof and a detailed report is generated and made accessible to the user in the MiniDapp, it can be downloaded as a PDF.