Qryptal Validation Codes Web Service API 2.0
1 Introduction
The API is based on industry standard REST principles and uses secure tokens based on RFC 7519 for representing claims securely between two parties.
Note regarding this Document
This API and documentation for developers to start working on applications. Do check back regularly on this document for updates.
Please note the tokens illustrated here are for demo purposes and subject to expiry. Please use the tokens provided by Qryptal for your development. Sign up for a trial account at Qryptal or contact support@qryptal.com to request for test tokens, if you have not already received it.
2 Getting Started
- The API Server hostname is : api2test.qryptal.com :
- The API End point is https://api2test.qryptal.com/v2/Vqodes
- To call an API, you’ll need a token which is available when you sign up for Qryptal , one token for testing and another for production use.
- The token is to be specified in the Authorization Request Header. The format is: “Authorization: Token <token>
- e.g: Authorization: Token [PDC]eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJrc3AiOjAsInR0IjoiRTEiLCJvcmdfaWQiOjExLCJrMSI6IkRXaWI1WDhJVjNJNGV6SDA1VzF2TGsiLCJha2lkIjoxLCJleHAiOjIyODMxNzAzNDQsInZxdHlwZSI6IlBEQyJ9.-6EPuBRQTBdbsJlAJnixSgupSdbPUn661t2OHWhet6Q
3 Types of Qryptal Codes
- There are 2 types of Qryptal Codes that can be generated. Each requires a different token to generate them. The two types are known as PDC - Primary Data Code and EDC - Extended Data Code
- Suitable for storing Textual Data
- The token provided to generate this is prefixed with [PDC] to distinguish it.
- All data is stored within the QR Code that is generated. The data cannot be updated or to revoke the code.
- With Qryptal’s Multi Pipeline Compression (QMPC). Data up to about 1.5KB can be stored for a typical printable QR code size of about 3 cm by 3 cm
- It is suitable for Textual data and small images
- Suitable for storing attachments (images/pdf) or more data and/or Codes that need to be updated/revoked
- The token provided to generate this is prefixed with [EDC] to distinguish it.
- Only minimal data is stored in the QR. All additional data is stored encrypted in an Additional Data Repository (ADR)
- The amount of data that can be stored is practically limited to 25 MB/code.
- The QR Code size is small and consistent. Typically 1.6 cm x 1.6 cm
- The documentation below will indicate if certain features are available only for EDC such as revocation and attaching files (pdf, images etc). Otherwise all other information is to both code types and token used can be replaced with either ones.
4 Listing of Codes
https://api2test.qryptal.com/v2/Vqodes?token=[PDC]eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJrc3AiOjAsInR0IjoiRTEiLCJvcmdfaWQiOjExLCJrMSI6IkRXaWI1WDhJVjNJNGV6SDA1VzF2TGsiLCJha2lkIjoxLCJleHAiOjIyODMxNzAzNDQsInZxdHlwZSI6IlBEQyJ9.-6EPuBRQTBdbsJlAJnixSgupSdbPUn661t2OHWhet6Q
5 Creating a Qryptal Secure QR Code
The figure below shows a detailed illustration of the API Payload structure

To create a Qryptal Code::
- Make a POST API call to https://api2test.qryptal.com/v2/Vqodes/ with the token specified in the Request Header in this format: Authorization: Token <token >
- With the parameter payload containing JSON data and the display format to be encoded e.g :
payload = {"data":{"Name":"Jack Smith", "Maths":"99"}, "format":{"fields":[{"Name":{"type":"t2"}}, {"Maths":{"type":"t2"}}],"version":"1"}}
- The pretty JSON data looks like this:
{
- "Name":"Jack Smith",
- "Maths":"99"
},
}
The data and its corresponding format must be supplied for each data. Please note that all values in the data object must be formatted as strings. The format object is used to indicate how the data is to be displayed on the mobile device when the QR is scanned. In the above example. “t2” format indicates a basic key- value pair display.

:
- Scheme: They are 2 supported schemes for this API version.
- “CO2” as shown above is the most commonly used. This generates a secure code that can be verified using your phone’s camera on the verification website or using Qryptal’s Validation app. For an example , visit verify.demo-university.com
- “CO2U” this will return a URL based QR that can be scanned with most modern phone’s camera without the need for an app. It is more convenient, though slightly less secure due to it being a URL. The digital signature of the content is verified just as before to verify that it is not tampered before the result is presented.
- The API returns a JSON payload such as this:
{
"id": 60167,
"ct": "2020-04-24T06:36:18.935949Z",
"status": "C",
"msg": "success",
"vqtype": "PDC",
"uid": "1097580178100010000601672116",
"code_token": "C02:rFKsq1dyUmJZZFNze1JrUmJolWaVYmppY5RibmdpnW6ampRinHFplGiUkpWRZWFqZ5eZa5SSYmZlkm5ua2xnZ5qcaWGSlJNkk2JmaJRknGtUXVOlo5eYoJlaamJoZFOblamQmZRSamdhrg==",
"qrurl": "https://api2test.qryptal.com/v2/Vqodes/1097580178100010000601672116/qr1097580178100010000601672116.png?code_token=C02:rFKsq1dyUmJZZFNze1JrUmJolWaVYmppY5RibmdpnW6ampRinHFplGiUkpWRZWFqZ5eZa5SSYmZlkm5ua2xnZ5qcaWGSlJNkk2JmaJRknGtUXVOlo5eYoJlaamJoZFOblamQmZRSamdhrg==",
"apitype": "G",
"scheme": "C02",
"qr_text": "C02::1097580178100010000601672116:1.4MBT$NE$QV7.SP351NAJAJIM9 IEX6%ZBF0.J9KEMYXYRN-11-11-:HDP4Z5N5JX$XV+H./.AMBU**.XH6OE3 %*.HG59W6.1XU6Y-A9OQ%U/XUWEILY*4B3VAOCJ%Q$T2M5WLM6G.N5FHXUJ*3KZ:QGMCU79CF5DH /A9A Q /HE.JAE3A*NJBB5//P+Y%KPAJYL4*N2QDN1CGXLC3U4869B8A/RM.IBT4BNMJV.WP.*7XJ0$9VVN8C4II/3NW6OTHG911YG6TAFFY7I6E06K4KCB"
}
At the bottom of the page, enter the payload string to try. You’ll get the JSON response.
Code Creation Status:
- The JSON payload returns the status as follows:
- P: Processing: The request is being processed
- C: Created : The Code has been created successfully
- E: Error: There was an error in creating the code
- Checking Status of Code Creation Request
- With the “id” returned from the above request, an API is provided to return the status of a creation request of the format: https://api2test.qryptal.com/v2/Vqodes</id>/?token=<token>
- The return is in JSON as above.
- Typically the generation is nearly synchronous and the information to get to the QR Code is returned immediately.
6. Downloading the QR Image
- Once the status of the Code Creation Request is “C” i.e created, the JSON response parameter “qrurl” will contain the URL to fetch the image.
- E.g
{
"id": 60167,
"ct": "2020-04-24T06:36:18.935949Z",
"status": "C",
"msg": "success",
"vqtype": "PDC",
"uid": "1097580178100010000601672116",
"code_token": "C02:rFKsq1dyUmJZZFNze1JrUmJolWaVYmppY5RibmdpnW6ampRinHFplGiUkpWRZWFqZ5eZa5SSYmZlkm5ua2xnZ5qcaWGSlJNkk2JmaJRknGtUXVOlo5eYoJlaamJoZFOblamQmZRSamdhrg==",
"qrurl": "https://api2test.qryptal.com/v2/Vqodes/1097580178100010000601672116/qr1097580178100010000601672116.png?code_token=C02:rFKsq1dyUmJZZFNze1JrUmJolWaVYmppY5RibmdpnW6ampRinHFplGiUkpWRZWFqZ5eZa5SSYmZlkm5ua2xnZ5qcaWGSlJNkk2JmaJRknGtUXVOlo5eYoJlaamJoZFOblamQmZRSamdhrg==",
"apitype": "G",
"scheme": "C02",
"qr_text": "C02::1097580178100010000601672116:1.4MBT$NE$QV7.SP351NAJAJIM9 IEX6%ZBF0.J9KEMYXYRN-11-11-:HDP4Z5N5JX$XV+H./.AMBU**.XH6OE3 %*.HG59W6.1XU6Y-A9OQ%U/XUWEILY*4B3VAOCJ%Q$T2M5WLM6G.N5FHXUJ*3KZ:QGMCU79CF5DH /A9A Q /HE.JAE3A*NJBB5//P+Y%KPAJYL4*N2QDN1CGXLC3U4869B8A/RM.IBT4BNMJV.WP.*7XJ0$9VVN8C4II/3NW6OTHG911YG6TAFFY7I6E06K4KCB"
}
- Do a GET request with the qrurl to get the QR Image along with the token and code_tonken as parameters i.e. The URL to get the image is then https://api2test.qryptal.com/v2/Vqodes/1004698934100010000000131849/qr1004698934100010000000131849.png?token=<token>&code_token=<code_token> e.g: :
https://api2test.qryptal.com/v2/Vqodes/1018345252100010000031878642/qr1018345252100010000031878642.png?code_token=C02%3ArFKkrFVuV2NXXlNze1JrUpFhZGlpZnGZmm2XlWhnZG6WaZtibZNmlGiSYmJmZWCSaGhwZ21nZ2VqaZdslG1ok2yTYWRik2hkaGFklmxocG9aYlaho5eQoZdWb2NmXlOblamQmZRSamFkrg%3D%3D&token=[PDC]eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJrc3AiOjAsInR0IjoiRTEiLCJvcmdfaWQiOjExLCJrMSI6IkRXaWI1WDhJVjNJNGV6SDA1VzF2TGsiLCJha2lkIjoxLCJleHAiOjIyODMxNzAzNDQsInZxdHlwZSI6IlBEQyJ9.-6EPuBRQTBdbsJlAJnixSgupSdbPUn661t2OHWhet6Q
- Transparent Background: By default the image is a white background. To get a image with transparent image , add the paramenter bg=0 to the URL i.e https://api2test.qryptal.com/v2/Vqodes/1004698934100010000000131849/qr1004698934100010000000131849.png?token=<token>&code_token=<code_token>&bg=0
https://api2test.qryptal.com/v2/Vqodes/1018345252100010000031878642/qr1018345252100010000031878642.png?code_token=C02%3ArFKkrFVuV2NXXlNze1JrUpFhZGlpZnGZmm2XlWhnZG6WaZtibZNmlGiSYmJmZWCSaGhwZ21nZ2VqaZdslG1ok2yTYWRik2hkaGFklmxocG9aYlaho5eQoZdWb2NmXlOblamQmZRSamFkrg%3D%3D&token=[PDC]eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJrc3AiOjAsInR0IjoiRTEiLCJvcmdfaWQiOjExLCJrMSI6IkRXaWI1WDhJVjNJNGV6SDA1VzF2TGsiLCJha2lkIjoxLCJleHAiOjIyODMxNzAzNDQsInZxdHlwZSI6IlBEQyJ9.-6EPuBRQTBdbsJlAJnixSgupSdbPUn661t2OHWhet6Q&bg=0
- Image Size:: Twelve (12) Image sizes are available for download to test which size works best for your needs. To specify the size, add the paramenter s=<size> to the URL i.e https://api2test.qryptal.com/v2/Vqodes/1004698934100010000000131849/qr1004698934100010000000131849.png?token=<token>&code_token=<code_token>&bg=0&s=4 e.g.
https://api2test.qryptal.com/v2/Vqodes/1018345252100010000031878642/qr1018345252100010000031878642.png?code_token=C02%3ArFKkrFVuV2NXXlNze1JrUpFhZGlpZnGZmm2XlWhnZG6WaZtibZNmlGiSYmJmZWCSaGhwZ21nZ2VqaZdslG1ok2yTYWRik2hkaGFklmxocG9aYlaho5eQoZdWb2NmXlOblamQmZRSamFkrg%3D%3D&token=[PDC]eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJrc3AiOjAsInR0IjoiRTEiLCJvcmdfaWQiOjExLCJrMSI6IkRXaWI1WDhJVjNJNGV6SDA1VzF2TGsiLCJha2lkIjoxLCJleHAiOjIyODMxNzAzNDQsInZxdHlwZSI6IlBEQyJ9.-6EPuBRQTBdbsJlAJnixSgupSdbPUn661t2OHWhet6Q&s=4
By default ,the image size returned is equal to s=5. The recommended minimum size is s=3
7. Test/Verify the QR code created
Test the QR Code image created. Scanned using your mobile phone verify.demo-university.com or download the QR Validator app available on the same page. E.g on the IOS App:

8. EDC Codes
The following sections work with EDC Tokens Only. Please contact support@qryptal.com to request for test tokens if you have not received them.
Secure EDC QR Codes provide the ability to store a lot of data including attachments (See “Types of Qryptal Codes” ). They also provide for the ability to revoke a code.
Currently, there are two versions of the JSON payload that can be sent when generating
- Version 1 : with code attachments i.e PDF, images etc
- Version 2: For larger Text only with separation of display format and data
8.1. Version 1: With Code Attachments (available only for EDC codes):
- Code Attachments are files such as images and documents added to the secure codes.
- To add these attachments, send the POST API request as a ‘multipart/form-data’ content type with the payload field along with the files attached.
- Attachments are to be indicated in the JSON payload as fields in the format section of the payload. For Example : Profile.jpg is specified in the highlighted section in the payload below. This will display as “Profile.jpg” and expects the POST data to have the image data in the field “img1”. Similarly for “Amazon-CaseStudy.pdf” the file data is sent in the field “file1” etc
- Below is a sample test data for your reference,
{
- "Position":"Founder Amazon"
- "type":"f1",
- "file_type":"jpg",
- "file_field":"img1"
- "type":"f1",
- "file_type":"pdf",
- "file_field":"file1"
- "type":"f1",
- "file_type":"pdf",
- "file_field":"file2"
}
- The POST API call to https://api2test.qryptal.com/v2/Vqodes/ with the EDC token is specified in the Request Header in this format: Authorization: Token <token>
- To try out this API use the Postman App or on Linux/Mac curl can also be used. A sample zip file containing the JSON payload as well the attachments can be downloaded here: QryptalDemoCodeAttachments.zip
- To try this out, import the postman collection provided in the zip file.
- Click on “Headers” and enter the EDC token provided in the Value as shown in Appendix B-2 for the “Authorization” key.
- Click on “Body”. Then click on Browse to choose the files as provided in the zip file. The screenshot below shows how it should look like once the files are selected:

- Click on “Send” to try out the API, the result is as shown in the screenshot:

- Unzip the file and try the following curl command in the same directory where all the files are located. Replace <token> with the EDC token provided
$ curl -H "Authorization: Token <token>" -H "Content-type: multipart/form-data" -F "payload=`cat QDemoJSONpayload.json`" -F 'img1=@Profile.jpg' -F 'file1=@Amazon-CaseStudy.pdf' -F 'file2=@Amazon10K.pdf' -X POST https://api2test.qryptal.com/v2/Vqodes
- This returns a JSON result as follows:
{"id":3192,"ct":"2017-10-20T09:51:29.371913Z","status":"C","msg":"success","vqtype":"EDC","uid":"1018363089100010000031924078","code_token":"C02:rFKkrFVwVWJaZVNze1JrUmhpkWRjl5qVmGlnbmJiYmtsbGRhbJ1iY5JplmBnZmFlaWVulGWRbZmSkpduZZtkZJubkmBlaGdhlWWTaWNqbGJWXFmno5eQoZdYbWFpZVOblamQmZRSamFkrg==","qrurl":"https://api2test.qryptal.com/v2/Vqodes/1018363089100010000031924078/qr1018363089100010000031924078.png?code_token=C02:rFKkrFVwVWJaZVNze1JrUmhpkWRjl5qVmGlnbmJiYmtsbGRhbJ1iY5JplmBnZmFlaWVulGWRbZmSkpduZZtkZJubkmBlaGdhlWWTaWNqbGJWXFmno5eQoZdYbWFpZVOblamQmZRSamFkrg==","apitype":"G"}

8.2. Larger Text, Separation of Display Format and Data with EDC
- EDC codes without code attachments is similar to the PDC data format, however, the key differences to note are:
- Display Format and data separation. In the below example, the QR will display the label “Full Name” with the data obtained from the data.Name field
- This provides more flexibility in how the data fields are defined and how it is being displayed when using the app.
- Below is the sample test data for your reference,
{
- "Maths":"99",
- "Name":"Jack Smith"
}

8.3 Code revocation (available only for EDC codes)
To revoke a code, use the following GET API:
https://api2test.qryptal.com/v2/Vqodes/<uid>/revoke?token=<token>&code_token=<code_token>
This returns success in JSON format as follows:
{
- status: "success",
- acode_uid: "8004706888100010000000213916",
- code_uid: "1004706691100010000000203846"
}
Appendix A:
Data Types:
Here’s an example to illustrate data types available:
JSON Payload used to generate QR:
{
"data":{
"Name":"Jack Smith",
"Account":"9939399",
"Transactions":"",
"Transaction_Log":[
[["18-Mar", "CR", "500.00"], ["Cash Deposit"]],
[["25-Mar", "CR", "12800.00"], ["Salary J.P. Morgan Chase"]]
],
"PhotoCard":[ ["Jack Smith","22-Mar-1980","Melbourne",""],["/9j/4AAQSkZJRgABAQAASABIAAD/4QCMRXhpZgAATU0AKgAAAAgABQESAAMAAAABAAEAAAEaAAUAAAABAAAASgEbAAUAAAABAAAAUgEoAAMAAAABAAIAAIdpAAQAAAABAAAAWgAAAAAAAABIAAAAAQAAAEgAAAABAAOgAQADAAAAAQABAACgAgAEAAAAAQAAABygAwAEAAAAAQAAACMAAAAA/+0AOFBob3Rvc2hvcCAzLjAAOEJJTQQEAAAAAAAAOEJJTQQlAAAAAAAQ1B2M2Y8AsgTpgAmY7PhCfv/AABEIACMAHAMBIgACEQEDEQH/xAAfAAABBQEBAQEBAQAAAAAAAAAAAQIDBAUGBwgJCgv/xAC1EAACAQMDAgQDBQUEBAAAAX0BAgMABBEFEiExQQYTUWEHInEUMoGRoQgjQrHBFVLR8CQzYnKCCQoWFxgZGiUmJygpKjQ1Njc4OTpDREVGR0hJSlNUVVZXWFlaY2RlZmdoaWpzdHV2d3h5eoOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3uLm6wsPExcbHyMnK0tPU1dbX2Nna4eLj5OXm5+jp6vHy8/T19vf4+fr/xAAfAQADAQEBAQEBAQEBAAAAAAAAAQIDBAUGBwgJCgv/xAC1EQACAQIEBAMEBwUEBAABAncAAQIDEQQFITEGEkFRB2FxEyIygQgUQpGhscEJIzNS8BVictEKFiQ04SXxFxgZGiYnKCkqNTY3ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqCg4SFhoeIiYqSk5SVlpeYmZqio6Slpqeoqaqys7S1tre4ubrCw8TFxsfIycrS09TV1tfY2dri4+Tl5ufo6ery8/T19vf4+fr/2wBDAAcHBwcHBwwHBwwRDAwMERgRERERGB4YGBgYGB4kHh4eHh4eJCQkJCQkJCQrKysrKysyMjIyMjg4ODg4ODg4ODj/2wBDAQkJCQ4NDhkNDRk7KCEoOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozv/3QAEAAL/2gAMAwEAAhEDEQA/APafFfia38L6a146ebKQxjjzgHaMkscHCjucV5X/AG9eG5ebXtR3XgUP5EQlaCJTzhFi2h2xjO5ifTGcV2HjWyN74l8O20vzQTzTRyKehATfg+x24r0OJLSMC2iCLsGAi44H0oA8Y8OeMIkv/M/tC9voZFxteEpAhPTLuNynjaMtgk98ivaLW5hvLeO6gOUkUMpIxwfaq17DplzA+mXojaO4Uq0TY+YH2rM8JMz6DBIzbg5cqf8AZ3HH5jmgD//Q9zuYFbWIZp13qnMf+y2CC2evQkfjT49MsbK+N2rlHkAUD6HP/wCutO4h81QwALoQy/Uf41my20lxH5trId2NrhsZOOgJwSCKAGLp9tc3P2yRj5sTENg8euCOhGOnpT9IgZbMbSUQsSi+i9se3pTI7acRxxTMS7EsVGAF4x2/Hr3rcAAGBwBQB//R+karvGgYygYY8EjjP1qxUUnSgBIUVV3Dq3Unk1NUcf3BUlAH/9k="]]
},
"format":{
"header":"Use Document Validator App",
"fields":[
{"Name":{"type":"t2"}},
{"Account":{"type":"t2"}},
{"Transactions":{"type":"t2", "m":"b"}},
{"Transaction_Log":{"type":"1l3-2l1"}},
{"PhotoCard":{"type":"4T1P"}}
],
"version":"1"
},
"scheme":"C02"
}
This generates a QR with the display as follows:

The data format types used above are overlaid in red and explained below
1) "t2" - 2 column key: value display
e./g: Name: Jack Smith
2) “t2” with bold
{"type":"t2", "m":"b"}},
E.g: Transactions (here only key field is given and the value field left blank), “m”: “b” indicates bold
3) 1l3-2l1 ("l" is the small letter L)
- 3 columns with a line of text below in small font. All text left aligned
4) "4T1P" - Photocard
- Row with 2 columns
- 1st column up to 4 lines of text on the left (left aligned),
- 2nd column with a photo on the right column
Note: Photo image has to be sent in base64 as part of the payload with type stripped off e.g “data:image/png;base64,” removed
Appendix B:
B-1. Using ModHeader Extension with Chrome Browser
This provides a way to try out the API directly on the Chrome Browser. To try out the API please use the API Browser by following these steps:
1. Open Google Chrome browser and install the "Mod Header" extension:
2. In Mod Header import this profile:

{"title":"Vqode2 APITest","hideComment":true,"headers":[{"enabled":true,"name":"Authorization","value":"Token [PDC]eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJrc3AiOjAsInR0IjoiRTEiLCJvcmdfaWQiOjExLCJrMSI6IkRXaWI1WDhJVjNJNGV6SDA1VzF2TGsiLCJha2lkIjoxLCJleHAiOjIyODMxNzAzNDQsInZxdHlwZSI6IlBEQyJ9.-6EPuBRQTBdbsJlAJnixSgupSdbPUn661t2OHWhet6Q","comment":""}],"respHeaders":[{"enabled":true,"name":"","value":"","comment":""}],"filters":[{"enabled":true,"type":"urls","urlPattern":"https://api2test.qryptal.com/*"}],"appendMode":true}
- This PHP App uses exactly the same API as detailed in this documentation and will guide developers. The page will show all the codes created and if you scroll down, you can create the codes by clicking on the POST button below:

Each POST will generate the code which can be viewed by downloading the image url as in Section 4
This extension is suitable to try out creating codes that do not have attachments. For attachments please use the Postman app.
B.2 Using Postman App
The Postman app. Is a versatile app that lets you easily try out the APIs especially when creating codes with Code Attachments.
- Once Postman App is setup, create a new request and choose POST and enter the request URL https://api2test.qryptal.com/v2/Vqodes.
- Click on “Headers” and create a new key called “Authorization” and enter the token provided in the Value. The screenshot shows the result at this stage

- Choose “form-data”
- Create a new key called “payload” and in the Value enter the JSON payload
- The screenshot below shows the result:

- Click on Send to send the POST request, the result appears in the Response window as shown below:

Appendix C:
For Developers:
Sending Authentication Token via Header
For ease of development the token here are a couple of suggested tools to send the Authorization Request Header:
1) With the help of browser tools such as ModHeader (Chrome) and ModifyHeaders (Firefox) , this header can be sent with every request.
2) Using the command line utility curl:
#Get list
curl -H "Authorization: Token [PDC]eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJrc3AiOjAsInR0IjoiRTEiLCJvcmdfaWQiOjExLCJrMSI6IkRXaWI1WDhJVjNJNGV6SDA1VzF2TGsiLCJha2lkIjoxLCJleHAiOjIyODMxNzAzNDQsInZxdHlwZSI6IlBEQyJ9.-6EPuBRQTBdbsJlAJnixSgupSdbPUn661t2OHWhet6Q" -H "Content-type: application/json" https://api2test.qryptal.com/v2/Vqodes
#Make Vqode
curl -H "Authorization: Token [PDC]eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJrc3AiOjAsInR0IjoiRTEiLCJvcmdfaWQiOjExLCJrMSI6IkRXaWI1WDhJVjNJNGV6SDA1VzF2TGsiLCJha2lkIjoxLCJleHAiOjIyODMxNzAzNDQsInZxdHlwZSI6IlBEQyJ9.-6EPuBRQTBdbsJlAJnixSgupSdbPUn661t2OHWhet6Q" -H "Content-type: multipart/form-data" -F 'payload={"data":{"Name":"Jack Smith", "Maths":"99"}, "format":{"version":"1", "fields":[{"Name":{"type":"t2"}}, {"Maths":{"type":"t2"}}]}}' -X POST https://api2test.qryptal.com/v2/Vqodes
3) Use Postman app to assist in testing and development. See Appendix B-2 on how to use the Postman app for API testing and development
Appendix D:
If you have received a postman collection, please follow the below steps to try and get to know more about our APIs.
- Save the Postman collection into a folder or any location according to your preference.
- Open the Postman app and import the postman collection as shown below,

- In the next dialog box, click the “Choose Files” button,

- You can see your imported collection at the left pane of the postman app.

- Open the collection and update the tokens generated for your organization, as displayed in the below screenshot,

- To run the collection, expand the json collection that was imported earlier and try the requests as per the steps below,
- To Generate the QR image (EDC/PDC),
- Click on any one of the “Generate” post requests (Generate-Demo-BillQR-EDC/ GenerateHospBillSampleQR-PDC / Generate-HospBillSampleQR-EDC) and send the request.
- When a successful response is received, click the “Get QR image “ request and click on “Send” to view the QR image generated.
- Scan the generated QR with the validator app to verify data.
- To Update the data for a generated QR (EDC)
- Click on any either one of the EDC Generate (Generate-Demo-BillQR-EDC / Generate-HospBillSampleQR-EDC) requests.
- When a successful response is received, click to open the “Update QR-EDC -Add ReportPDF” request, go to the body parameter of the request and upload a sample file for stamping.
- Click “Send” to update the QR.
- You can verify the update request by sending the “Get QR image“ and scanning the QR code generated, the uploaded file will be displayed in the validator app.
- To Revoke a QR,
- Revoking a QR code is only applicable for EDC codes and not for PDC.
- Click on any either one of the EDC Generate (Generate-Demo-BillQR-EDC / Generate-HospBillSampleQR-EDC) requests.
- When a successful response is received, execute the “Revoke API Test” request.
- Upon receiving a success response, execute the “Get QR image”, scan this QR with the validator app, you will see a “Code Revoked” alert on the screen.
Qryptal Verify Codes API 2, Document ver 2.3.0420 of