Link to a contract's files
curl --request POST \
--url https://api.verify.privue.ai/verifications/{verification_id}/contracts/{contract_id}/download \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.verify.privue.ai/verifications/{verification_id}/contracts/{contract_id}/download"
headers = {"Authorization": "Bearer <token>"}
response = requests.post(url, headers=headers)
print(response.text)const options = {method: 'POST', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.verify.privue.ai/verifications/{verification_id}/contracts/{contract_id}/download', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));{
"sent_document": {
"url": "https://files.verify.privue.ai/sent-document",
"expires_in_seconds": 300,
"sha256": "0ca1d2c5c03e9bed744a4c3d18b6e2f71a9c05d4e83b27f6a1d9c4e05b72f3a8"
},
"stamp_paper": null,
"signed_document": {
"url": "https://files.verify.privue.ai/signed-document",
"expires_in_seconds": 300,
"sha256": "9f2c4e81b7d03a65c1e8f4a27b90d5c3e6a1f8b2d4c7e09a3b5f61d8c2e4a7b0"
},
"audit_certificate": {
"url": "https://files.verify.privue.ai/audit-certificate",
"expires_in_seconds": 300,
"sha256": "4b7e1a93c2d8f05e6a3c9b17d4e2f80a5c6b3d91e7f2a4c08b5d3e6f1a9c2b74"
}
}{
"code": "unauthenticated",
"detail": "Missing or malformed Authorization header"
}{
"code": "environment-mismatch",
"detail": "workflow 'merchant-onboarding' is production and this request is for uat"
}{
"code": "verification-not-found",
"detail": "no contract 5e0c9a41-7b2d-4f68-a3c1-9d8e2f60b7a4 was sent on this verification"
}{
"code": "contract-files-not-kept",
"detail": "nothing of the contract is kept yet; it is read from Signzy within a few minutes of the send"
}{
"code": "request-invalid",
"detail": "verification_id: Input should be a valid UUID, invalid character: found `n` at 1"
}{
"code": "rate-limited",
"detail": "Unauthorized: RATE_LIMITED"
}{
"code": "auth-unavailable",
"detail": "Auth provider unavailable"
}Contracts
Link to a contract's files
Link to the contract as it went to its signers, the stamp paper it went with, and once signed, what it left.
The document as sent is held from the first read of the contract, which follows the send within moments. Once every signer has signed, the signed document and Signzy’s audit certificate are held too. Each link comes with the SHA-256 of its file, the same as on the contract, to check what you download against.
Each link works for a few minutes, so ask for them when you are about to read the files. Every file is held until the verification expires, and goes with it.
POST
/
verifications
/
{verification_id}
/
contracts
/
{contract_id}
/
download
Link to a contract's files
curl --request POST \
--url https://api.verify.privue.ai/verifications/{verification_id}/contracts/{contract_id}/download \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.verify.privue.ai/verifications/{verification_id}/contracts/{contract_id}/download"
headers = {"Authorization": "Bearer <token>"}
response = requests.post(url, headers=headers)
print(response.text)const options = {method: 'POST', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.verify.privue.ai/verifications/{verification_id}/contracts/{contract_id}/download', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));{
"sent_document": {
"url": "https://files.verify.privue.ai/sent-document",
"expires_in_seconds": 300,
"sha256": "0ca1d2c5c03e9bed744a4c3d18b6e2f71a9c05d4e83b27f6a1d9c4e05b72f3a8"
},
"stamp_paper": null,
"signed_document": {
"url": "https://files.verify.privue.ai/signed-document",
"expires_in_seconds": 300,
"sha256": "9f2c4e81b7d03a65c1e8f4a27b90d5c3e6a1f8b2d4c7e09a3b5f61d8c2e4a7b0"
},
"audit_certificate": {
"url": "https://files.verify.privue.ai/audit-certificate",
"expires_in_seconds": 300,
"sha256": "4b7e1a93c2d8f05e6a3c9b17d4e2f80a5c6b3d91e7f2a4c08b5d3e6f1a9c2b74"
}
}{
"code": "unauthenticated",
"detail": "Missing or malformed Authorization header"
}{
"code": "environment-mismatch",
"detail": "workflow 'merchant-onboarding' is production and this request is for uat"
}{
"code": "verification-not-found",
"detail": "no contract 5e0c9a41-7b2d-4f68-a3c1-9d8e2f60b7a4 was sent on this verification"
}{
"code": "contract-files-not-kept",
"detail": "nothing of the contract is kept yet; it is read from Signzy within a few minutes of the send"
}{
"code": "request-invalid",
"detail": "verification_id: Input should be a valid UUID, invalid character: found `n` at 1"
}{
"code": "rate-limited",
"detail": "Unauthorized: RATE_LIMITED"
}{
"code": "auth-unavailable",
"detail": "Auth provider unavailable"
}Authorizations
Response
Short-lived links to every file of the contract held, each with its hash.
Links to every file of a contract held for you.
