DIVOC
DIVOC 3.5
Search
K
Comment on page

How to Manage Schemas?

Purpose

The purpose of this document is to demonstrate how to manage a schema.

Update context

  • Request method: PUT
  • Request URL: {{baseUrl}}/vc-management/v1/context/osid
  • Sample URL: {{baseUrl}}/vc-management/v1/context/603a895d-3f0f-468c-943a-e09e5ed5cbcc
  • Request body
  • Key: Files
  • Value: ContextFile.json( should be in json format)

Response Json

{
"message": {
"id": "sunbird-rc.registry.update",
"ver": "1.0",
"ets": 1674746574685,
"params": {
"resmsgid": "",
"msgid": "d56c646d-8705-48fe-9b89-13d64007697a",
"err": "",
"status": "SUCCESSFUL",
"errmsg": ""
},
"responseCode": "OK"
},
"response": "Context is Updated successfully"
}

Update Template

  • Request method: PUT
  • RequestURL:{{baseUrl}}/vc-management/v1/schema/:schemaId/updateTemplate?templateKey=html2
  • Request body
  • Key: Files
  • Parameters: Query parameters
  • Key: Value
  • Template key: html2 path parameters
  • Key: Value
  • Schema Id:804de269-c542-4707-9817-5780d2e8c9eb
  • Value: vcTempHealthcareUpdateds_HN.html( should be in html format)

Response Json

{"message":"Successfully updated Schema",
"templateUpdateResponse":{
"id":"sunbird-rc.registry.update",
"ver":"1.0","ets":1674823685025,
"params":{
"resmsgid":"",
"msgid":"3fab58a0-84f4-4c9a-ad3e-3fe1c15f30e8",
"err":"",
"status":"SUCCESSFUL",
"errmsg":""
},
"responseCode":"OK"
}
}

Update Template URL

  • Request method: PUT
  • Request URL: {{baseUrl}}/vc-management/v1/schema/:schemaId/updateTemplateUrl
  • Request body
  • Key: Files
  • Parameters: query parameters
  • Key: Value
  • Template Key: html2 path parameters
  • Key: Value
  • Schema ID: 804de269-c542-4707-9817-5780d2e8c9eb

Request Body

{
"html4": "minio://Tenant/f28d95e7-17ea-4f93-b457-195d133fbc27/templates/documents/443cc5d0-b2ee-4928-b77b-ccb2c72a7908-vcTempHealthcareUpdated.html"
}

Response Json

{
"message":"Successfully updated Schema with template URLs",
"templateUpdateResponse":{
"id":"sunbird-rc.registry.update",
"ver":"1.0","ets":1674824286711,
"params":{
"resmsgid":"",
"msgid":"4f0ae513-d950-48c0-a020-d31fb984916c",
"err":"",
"status":"SUCCESSFUL",
"errmsg":""
},
"responseCode":"OK"
}
}

Get Context

Specifications

  • Request method: GET
  • Request URL: {{baseUrl}}/vc-management/v1/context/osid
  • SampleUrl:{{baseUrl}}/vc-management/v1/context/1-a6bd2f3b-43d4-406e-a265-917ff6d5199f
  • Headers: Content-Type: application/json Accept application/json
  • Authorisation: Bearer <access-token>

Response Json

{
"@context": {
"@version": 1.1,
"@protected": true,
"id": "@id",
"type": "@type",
"schema": "https://schema.org/",
"hp": "https://council.gov.in/credentials/healthProfessional/v1",
"ProofOfHealthProfessionalCredential": {
"@id": "schema:ProofOfHealthProfessionalCredential",
"@context": {
"@version": 1.1,
"@protected": true,
"nonTransferable": "vac:nonTransferable"
}
},
"Person": {
"@id": "schema:Person",
"@context": {
"@version": 1.1,
"@protected": true,
"registrationId": "schema:id",
"name": "schema:name",
"dob": "schema:date",
"gender": "schema:gender"
}
},
"HealthProfessional_1": {
"@id": "hp:HealthProfessional",
"@context": {
"@version": 1.1,
"@protected": true,
"certificateId": "schema:id",
"registrationCouncil": "schema:Text",
"latestQualification": "schema:Text",
"university": "schema:Text",
"registrationDate": "schema:date",
"systemOfMedicine": "schema:Text",
"registrationExpiry": "schema:date",
"degreeYear": "schema:Text"
}
}
} }

Get All Schema’s

  • Request method: GET
  • Request URL: {{baseUrl}}/vc-management/v1/schema/
  • Authorisation needed

Response Json

{
"schemas": [
{
"schema": "{\"$schema\":\"http://json-schema.org/draft-07/schema\",\"type\":\"object\",\"properties\":{\"HealthCertificate\":{\"$ref\":\"#/definitions/HealthCertificate\"}},\"required\":[\"HealthCertificate\"],\"title\":\"HealthCertificate\",\"definitions\":{\"HealthCertificate\":{\"type\":\"object\",\"title\":\"\",\"required\":[\"name\",\"adfj\",\"issuanceDate\",\"issuer\",\"certificateId\"],\"properties\":{\"name\":{\"type\":\"string\",\"description\":\"NA\"},\"adfj\":{\"type\":\"integer\",\"description\":\"sjn\"},\"issuanceDate\":{\"type\":\"string\",\"description\":\"Date certificate issued on\"},\"issuer\":{\"type\":\"string\",\"description\":\"Name of the issuing authority\"},\"certificateId\":{\"type\":\"string\",\"description\":\"The unique Certificate ID\"},\"validFrom\":{\"type\":\"string\",\"description\":\"The date from which the credential is valid from\"},\"validTill\":{\"type\":\"string\",\"description\":\"The date until which the credential is valid to\"},\"degree\":{\"type\":\"string\",\"description\":\"NA\"}}}},\"_osConfig\":{\"uniqueIndexFields\":[\"certificateId\",\"degree\"],\"indexFields\":[\"name\",\"certificateId\"],\"ownershipAttributes\":[],\"roles\":[],\"inviteRoles\":[],\"credentialTemplate\":{\"@context\":[\"https://www.w3.org/2018/credentials/v1\",\"http://vc-management-service:7655/vc-management/v1/context/40c2078c-bc19-494a-8ce2-977804aa32c0\",\"https://www.w3.org/2018/credentials/v1\"],\"type\":[\"VerifiableCredential\",\"ProofOfHealthCertificateCredential\"],\"credentialSubject\":{\"type\":\"Person\"},\"issuer\":\"{{issuer}}\",\"issuanceDate\":\"{{issuanceDate}}\",\"evidence\":{\"type\":\"HealthCertificate\",\"name\":\"{{name}}\",\"adfj\":\"{{adfj}}\",\"issuanceDate\":\"{{issuanceDate}}\",\"issuer\":\"{{issuer}}\",\"certificateId\":\"{{certificateId}}\",\"validFrom\":\"{{validFrom}}\",\"validTill\":\"{{validTill}}\",\"degree\":\"{{degree}}\"},\"nonTransferable\":\"true\"},\"certificateTemplates\":{\"default\":\"https://gist.githubusercontent.com/saiprakash-v/c5aa3d97de95806669b4ea26ec54bd55/raw/9f38b9c6d3e458e7facb658dbb3cb661af9664fb/templateWithOnlyQR.html\",\"html\":\"minio://Tenant/f28d95e7-17ea-4f93-b457-195d133fbc27/templates/documents/1c7060c8-e69f-4c93-a486-e865929db133-template (2).html\"}}}",
"osUpdatedAt": "2023-01-26T14:55:19.662Z",
"osCreatedAt": "2023-01-05T11:16:41.815Z",
"osUpdatedBy": "5a4e0234-c5fe-497d-a980-8c41664eff82",
"name": "HealthCertificate",
"osCreatedBy": "5a4e0234-c5fe-497d-a980-8c41664eff82",
"osid": "1-7597a289-548a-4f27-9602-5840a1401413",
"osOwner": [
"5a4e0234-c5fe-497d-a980-8c41664eff82"
],
"status": "DRAFT"
},
{
"schema": "{\"$schema\":\"http://json-schema.org/draft-07/schema\",\"type\":\"object\",\"properties\":{\"testing\":{\"$ref\":\"#/definitions/testing\"}},\"required\":[\"testing\"],\"title\":\"testing\",\"definitions\":{\"testing\":{\"type\":\"object\",\"title\":\"testing\",\"required\":[\"issuanceDate\",\"issuer\",\"certificateId\",\"name\",\"degree\"],\"properties\":{\"issuanceDate\":{\"type\":\"string\",\"description\":\"Date certificate issued on\"},\"issuer\":{\"type\":\"string\",\"description\":\"Name of the issuing authority\"},\"certificateId\":{\"type\":\"string\",\"description\":\"The unique Certificate ID\"},\"validFrom\":{\"type\":\"string\",\"description\":\"The date from which the credential is valid from\"},\"validTill\":{\"type\":\"string\",\"description\":\"The date until which the credential is valid to\"},\"name\":{\"type\":\"string\",\"description\":\"\"},\"degree\":{\"type\":\"string\",\"description\":\"\"}}}},\"_osConfig\":{\"uniqueIndexFields\":[\"certificateId\"],\"indexFields\":[\"certificateId\"],\"ownershipAttributes\":[],\"roles\":[],\"inviteRoles\":[],\"credentialTemplate\":{\"@context\":[\"https://www.w3.org/2018/credentials/v1\",\"http://vc-management-service:7655/vc-management/v1/context/54d2dea8-a51d-4d82-9c57-9ad860d262a2\",\"https://www.w3.org/2018/credentials/v1\"],\"type\":[\"VerifiableCredential\",\"ProofOftestingCredential\"],\"credentialSubject\":{\"type\":\"Person\",\"name\":\"{{name}}\"},\"issuer\":\"{{issuer}}\",\"issuanceDate\":\"{{issuanceDate}}\",\"evidence\":{\"type\":\"testing\",\"issuanceDate\":\"{{issuanceDate}}\",\"issuer\":\"{{issuer}}\",\"certificateId\":\"{{certificateId}}\",\"validFrom\":\"{{validFrom}}\",\"validTill\":\"{{validTill}}\",\"degree\":\"{{degree}}\"},\"nonTransferable\":\"true\"},\"certificateTemplates\":{\"default\":\"https://gist.githubusercontent.com/saiprakash-v/c5aa3d97de95806669b4ea26ec54bd55/raw/9f38b9c6d3e458e7facb658dbb3cb661af9664fb/templateWithOnlyQR.html\"}}}",
"osUpdatedAt": "2023-01-05T10:03:30.394Z",
"osCreatedAt": "2023-01-05T10:03:12.032Z",
"osUpdatedBy": "5a4e0234-c5fe-497d-a980-8c41664eff82",
"name": "testing",
"osCreatedBy": "5a4e0234-c5fe-497d-a980-8c41664eff82",
"osid": "1-d5a650af-92e9-47d5-a92f-637e79eaf3b0",
"osOwner": [
"5a4e0234-c5fe-497d-a980-8c41664eff82"
],
"status": "PUBLISHED"
}
]
}

Delete Context

  • Request method: Delete
  • Request URL: {{baseUrl}}/vc-management/v1/context/osId
  • SampleURL:{{baseUrl}}/vc-management/v1/context/09b4e155-cf13-4082-b0ec-b4128e21e2c5
  • Authorisation needed

Response Json

{
"message": "Deleted Context",
"Response": {
"id": "sunbird-rc.registry.delete",
"ver": "1.0",
"ets": 1674747157283,
"params": {
"resmsgid": "",
"msgid": "7fff708a-26dc-4b7b-afe4-4082f5b5c207",
"err": "",
"status": "SUCCESSFUL",
"errmsg": ""
},
"responseCode": "OK"
}
}
Creative Commons License
All content on this page by eGov Foundation is licensed under a Creative Commons Attribution 4.0 International License.