# Checking a timestamp's status
Status Changes
Because of the timestamping interval and blockchain network times, we cannot exactly predict when a timestamp is going to be tamper-proof. Instead of polling the API for seed or timestamp status updates, you should rather subscribe to status change notifications when submitting the timestamp.
# Check the seed status
For querying the status of hashes for a certain blockchain it is best to use the provided seed_id
field
that is part of the submission response. This approach is recommended when polling for a status change
and should be preferred to an individual query for a hash status. Even more so when multiple
hashes were transmitted in a certain time frame since these are assigned to the same seed
depending on the timing.
Saving load using Seed Polling
Querying a timestamp's status based on its seed_id
instead of its hash reduces the HTTP connection overhead and allows you to query the status of multiple hashes at once.
This is especially handy when you perform a high volume of timestamp submissions.
# Request
GET /v4/timestamp/status/seed/{seed_id}
curl -X GET "http://api.originstamp.com/v4/timestamp/status/seed/f98a61e8-22bd-4ea5-ab9e-02723ff78c40"\
-H "Authorization: YOUR_API_KEY"
# Response
The default timestamp object is returned that contains all necessary timestamp information.
{
"data": {
{
"seed_id": "string",
"currency_id": 0,
"private_key": "string",
"submit_status": 0,
"timestamp": 0,
"transaction": "string"
}
},
"error_code": 0,
"error_message": "string"
}
# seed_id
The seed ID you queried. Redudant with the {seed_id}
route parameter.
# currency_id
0
: Bitcoin1
: Ethereum100
: Südkurier
# private_key
The private key represents the top hash in the Merkle Tree. Synonyms: root hash, private key, top hash, seed hash.
# submit_status
0
: Hashes contained in this seed were only submitted to OriginStamp and added to the timestamping queue. They will be timestamped with the next timestamp submission.1
: Hashes contained in this seed were submitted to the blockchain network, but are not yet included.2
: Hashes contained in this seed are included in the latest block.3
: Hashes contained in this seed have a tamper-proof timestamp.
# timestamp
The tamper-proof timestamp of all hashes contained in this seed. It is formatted as follows:
[ms] since 1.1.1970 (unix epoch), timezone: UTC
# transaction
The transaction ID of the timestamp, e.g., a transaction hash in Bitcoin. Only available if seed has a submit_status >= 2
.
# Check the hash status
This interface returns status information of a certain hash.
WARNING
If the status of several hashes is to be checked, it is preferable to use the before mentioned seed status interface as it reduces the required requests for multiple hashes and can be tailored to a selected blockchain.
# Request
GET /v4/timestamp/{hash_string}
curl -X GET "http://api.originstamp.com/v4/timestamp/2c5d36be542f8f0e7345d77753a5d7ea61a443ba6a9a86bb060332ad56dba38e"\
-H "Authorization: YOUR_API_KEY"
# Response
The default timestamp object is returned that contains all necessary timestamp information. OriginStamp submits the hash to more than one blockchain, which is the reason why there is a timestamp data array for each active currency.
{
"data": {
"comment": "string",
"created": false,
"date_created": 0,
"hash_string": "string",
"timestamps": [
{
"seed_id": "string",
"currency_id": 0,
"private_key": "string",
"submit_status": 0,
"timestamp": 0,
"transaction": "string"
}
]
},
"error_code": 0,
"error_message": "string"
}
# comment
The timestamp's comment, if any.
# created
Field is true
if it is a novel hash. If the flag is false
, the hash was already submitted before.
# date_created
The time when your hash was submitted to OriginStamp. The date is returned in milliseconds since 1.1.1970 (unix epoch), timezone: UTC. This is not considered as a tamper-proof timestamp.
# hash_string
The hash string that you check for. Redundant with the {hash_string}
route parameter.
# timestamps
Timestamps that exist for this hash, no matter whether they are tamper-proof yet. Can contain zero (no timestamp yet) to an arbitrary number of items.
# seed_id
ID of associated seed which can be used to request separate seed information and check the verification status of the hash.
# currency_id
0
: Bitcoin1
: Ethereum100
: Südkurier
# private_key
The private key represents the top hash in the Merkle Tree. Synonyms: root hash, private key, top hash, seed hash.
# submit_status
0
: Hash is only submitted to OriginStamp and added to the timestamping queue. It will be timestamped with the next timestamp submission.1
: Hash is submitted to the blockchain network, but not included.2
: Hash is included into the latest block.3
: Hash has a tamper-proof timestamp.
# timestamp
The tamper-proof timestamp. It is formatted as follows:
[ms] since 1.1.1970 (unix epoch), timezone: UTC
# transaction
The transaction ID of the timestamp, e.g., a transaction hash in Bitcoin. Only available if hash has a submit_status >= 2
.