{"info":{"_postman_id":"3c851dd5-e7b7-46aa-82af-50c48cbdec65","name":"Acreditta","schema":"https://schema.getpostman.com/json/collection/v2.0.0/collection.json","toc":[],"description":"<html><head></head><body></body></html>","owner":"7298513","collectionId":"3c851dd5-e7b7-46aa-82af-50c48cbdec65","publishedId":"2s93RKzwAG","public":true,"customColor":{"top-bar":"FFFFFF","right-sidebar":"303030","highlight":"EF5B25"},"publishDate":"2023-03-22T00:10:14.000Z"},"item":[{"name":"Lacnet Issuer API","item":[{"name":"Did","item":[{"name":"Create DID","id":"6f449a14-ba86-43e7-bde7-845ed385d341","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\r\n    \"blockchain\": \"lacchain\"\r\n}","options":{"raw":{"language":"json"}}},"url":"http://localhost:3000/api/v1/did","description":"<p>This endpoint only creates DIDs using the lacchain method for testing purposes</p>\n","urlObject":{"protocol":"http","port":"3000","path":["api","v1","did"],"host":["localhost"],"query":[],"variable":[]}},"response":[],"_postman_id":"6f449a14-ba86-43e7-bde7-845ed385d341"}],"id":"89c6ab09-4a2f-416f-99de-d5722367591a","description":"<p>This module does not store any DID on database. It just creates a DID and sends it as response.</p>\n","_postman_id":"89c6ab09-4a2f-416f-99de-d5722367591a"},{"name":"Issuer","item":[{"name":"Index Issuer","id":"530cb935-452e-42e4-987c-5a168c399c22","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"url":"http://localhost:3000/api/v1/issuers?id=1","description":"<p>You can index all DIDs getting issuer info, or filter by the provided issuer numeric id.</p>\n","urlObject":{"protocol":"http","port":"3000","path":["api","v1","issuers"],"host":["localhost"],"query":[{"key":"id","value":"1"}],"variable":[]}},"response":[],"_postman_id":"530cb935-452e-42e4-987c-5a168c399c22"},{"name":"Find Issuer","id":"4d0238b3-2ee9-4981-bfc3-1dfe47126b53","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"url":"http://localhost:3000/api/v1/issuers/1/did%3Alac%3Atestnet%3A0x596beb68ed780fd13559722e30207916c9347509","description":"<p>To get the info of a specific issuer did, both, provided numeric id and DID are required in the url. This is a javascript string representation of the url schema:</p>\n<p>`${lissuerApiHost}/api/vi/issuers/${id}/${did}`</p>\n","urlObject":{"protocol":"http","port":"3000","path":["api","v1","issuers","1","did%3Alac%3Atestnet%3A0x596beb68ed780fd13559722e30207916c9347509"],"host":["localhost"],"query":[],"variable":[]}},"response":[],"_postman_id":"4d0238b3-2ee9-4981-bfc3-1dfe47126b53"},{"name":"Create Issuer","id":"89f1f98d-c245-4247-8848-3513ab4402e3","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\r\n    \"name\": \"testing-crypto-2\",\r\n    \"blockchain\": \"lacchain\",\r\n    \"id\": 1,\r\n    \"webhooks\": [\"https://acreditta.com\"]\r\n}","options":{"raw":{"language":"json"}}},"url":"http://localhost:3000/api/v1/issuers","description":"<p>This endpoint creates a did for a issuer and stores it on dynamodb.</p>\n<p>Required params:</p>\n<ul>\n<li>\"name\": The name of the issuer.</li>\n<li>\"blockchain\": The blockchain that will be used to manage issuer credentials. Currently only lacchain is supported.</li>\n<li>\"id\": The numeric id of the issuer.</li>\n<li>\"webhooks\": An array of urls where the distribution of credentials will be notified. Example: [\"<a href=\"https://example.com\">https://example.com</a>\"]</li>\n</ul>\n<p>Optional params:</p>\n<ul>\n<li>did, publicKey, privateKey: If you already have a did and you want to store it on this API, you must provide this 3 params together. ¡WARNING!: these params could change according to the requirement of a verification method.</li>\n</ul>\n","urlObject":{"protocol":"http","port":"3000","path":["api","v1","issuers"],"host":["localhost"],"query":[],"variable":[]}},"response":[],"_postman_id":"89f1f98d-c245-4247-8848-3513ab4402e3"},{"name":"Update Issuer","id":"3ed9e55e-038e-4cf1-b649-6b357aec459c","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"PUT","header":[],"body":{"mode":"raw","raw":"{\r\n    \"name\": \"testing change\",\r\n    \"webhooks\": [\"https://vc-issuer.acreditta.com\"]\r\n}","options":{"raw":{"language":"json"}}},"url":"http://localhost:3000/api/v1/issuers/1/TODO%3A1.677.773.601.758","description":"<p>Method to update the name and webhooks of a issuer DID. Take into account that you must change this for all issuer DIDs.</p>\n<p>StartFragment</p>\n<p>This is a javascript string representation of the url schema:</p>\n<p>`${lissuerApiHost}/api/vi/issuers/${id}/${did}`</p>\n","urlObject":{"protocol":"http","port":"3000","path":["api","v1","issuers","1","TODO%3A1.677.773.601.758"],"host":["localhost"],"query":[],"variable":[]}},"response":[],"_postman_id":"3ed9e55e-038e-4cf1-b649-6b357aec459c"},{"name":"Delete Issuer","id":"2be932dc-f7dd-4afe-9cb7-d2e044347889","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"DELETE","header":[],"url":"http://localhost:3000/api/v1/issuers/1/TODO%3A1.677.732.214.261","description":"<p>Deeletes a DID of a Issuer. This is a javascript string representation of the url schema:</p>\n<p>`${lissuerApiHost}/api/vi/issuers/${id}/${did}`</p>\n","urlObject":{"protocol":"http","port":"3000","path":["api","v1","issuers","1","TODO%3A1.677.732.214.261"],"host":["localhost"],"query":[],"variable":[]}},"response":[],"_postman_id":"2be932dc-f7dd-4afe-9cb7-d2e044347889"}],"id":"98474956-a697-4d79-bfc0-6e55f256a007","description":"<p>This module is a CRUD to manage issuers DIDs. PrivateKeys created won't be returned, and will be stored crypted on dynamo.</p>\n<p>The issuer element in this API is a DID related to a issuer with a numeric id provided to the create method. It is important to know that a issuer id can have multiple DIDs, and for this API, each elemend corresponds to a did of a issuer.</p>\n","_postman_id":"98474956-a697-4d79-bfc0-6e55f256a007"},{"name":"Vc","item":[{"name":"Issue Vc","id":"82446867-6695-4748-9e0e-0e04013bb606","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\r\n    \"issuerId\": 1,\r\n    \"issuerDid\": \"did:lac:testnet:0xfc1fcd69c632a78183ef3ee1112c97c3dc033373\",\r\n    \"distribute\": true,\r\n    \"credential\": {\r\n        \"@context\": [\r\n            \"https://www.w3.org/2018/credentials/v1\",\r\n            \"https://www.w3.org/2018/credentials/examples/v1\"\r\n        ],\r\n        \"id\": \"http://example.edu/credentials/1872\",\r\n        \"type\": [\r\n            \"VerifiableCredential\",\r\n            \"AlumniCredential\"\r\n        ],\r\n        \"issuer\": \"https://example.edu/issuers/565049\",\r\n        \"issuanceDate\": \"2010-01-01T19:23:24Z\",\r\n        \"expirationDate\": \"2030-01-01T19:23:24Z\",\r\n        \"credentialSubject\": {\r\n            \"id\": \"did:lac:testnet:0xa0a08399dbc04aa9ef4794b6ee8468c6ea349882\",\r\n            \"alumniOf\": {\r\n                \"id\": \"did:lac:testnet:0xfc1fcd69c632a78183ef3ee1112c97c3dc033373\",\r\n                \"name\": [\r\n                    {\r\n                        \"value\": \"Example University\",\r\n                        \"lang\": \"en\"\r\n                    },\r\n                    {\r\n                        \"value\": \"Exemple d'Université\",\r\n                        \"lang\": \"fr\"\r\n                    }\r\n                ]\r\n            }\r\n        }\r\n    }\r\n}","options":{"raw":{"language":"json"}}},"url":"http://localhost:3000/api/v1/vc","description":"<p>Endpoint to issue VC. Required params are:</p>\n<ul>\n<li>\"issuerId\": The provided numeric issuer id (see Create Issuer)</li>\n<li>\"issuerDid\": The issuer did that gonna be used to sing the credential. If you don´t have the issuer DID but you already created it with the Create Issuer endpoint, use the index method to get the DIDs of the issuer.</li>\n<li>\"distribute\": Boolean value that indicates if a credential will be stored or not in the blockchain.</li>\n<li>\"credential\": Open Badge 3.0 standard of the credentials. It must contain at least this params:<ul>\n<li>\"@context\"</li>\n<li>\"id\"</li>\n<li>\"type\"</li>\n<li>\"issuer\": The issuer did</li>\n<li>\"issuanceDate\"</li>\n<li>\"credentialSubject\"</li>\n</ul>\n</li>\n</ul>\n<p>This endpoint responses a json with a message and data that contains some metadata and the credential:</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n    \"message\": \"\",\n    \"data\": {\n        \"credential\": {...},\n        \"status\": \"\",\n        ...\n    }\n}\n\n</code></pre>\n<p>When it throws any error on issuing the credential, response will give a 500 error. In this case please review the logs of custom ssi-api.</p>\n","urlObject":{"protocol":"http","port":"3000","path":["api","v1","vc"],"host":["localhost"],"query":[],"variable":[]}},"response":[],"_postman_id":"82446867-6695-4748-9e0e-0e04013bb606"},{"name":"Index Vc","id":"c18c7c6f-593f-485a-8b99-7702411eefe3","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"url":"http://localhost:3000/api/v1/vc","description":"<p>Index all the issued VCs</p>\n","urlObject":{"protocol":"http","port":"3000","path":["api","v1","vc"],"host":["localhost"],"query":[],"variable":[]}},"response":[],"_postman_id":"c18c7c6f-593f-485a-8b99-7702411eefe3"},{"name":"Find Vc","id":"6d10f4fc-797e-454e-a271-47874242aa06","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"url":"http://localhost:3000/api/v1/vc/1/did%3Alac%3Atestnet%3A0xe26e4ce417c8a91152b23cf06da64a2326be9b68/0x5d7dbec7264c5761e0d2e7f63f4d5074a79af8480fb4017773cb1909627d7c76","description":"<p>Find a specific vc by its hash, the url must include the issuer numeric id, the did used to sing the credential, and the credential hash. This is a javascript string representation of the url schema:</p>\n<p>`${lissuerApiHost}/api/v1/vc/${issuerId}/${issuerDid}/${hash}`</p>\n","urlObject":{"protocol":"http","port":"3000","path":["api","v1","vc","1","did%3Alac%3Atestnet%3A0xe26e4ce417c8a91152b23cf06da64a2326be9b68","0x5d7dbec7264c5761e0d2e7f63f4d5074a79af8480fb4017773cb1909627d7c76"],"host":["localhost"],"query":[],"variable":[]}},"response":[],"_postman_id":"6d10f4fc-797e-454e-a271-47874242aa06"},{"name":"Revoke Vc","id":"cb937f6c-11e6-44e6-a8de-ae6d3c7a82db","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"DELETE","header":[],"body":{"mode":"raw","raw":"{\r\n    \"revocationReason\": \"Testing revocation\"\r\n}","options":{"raw":{"language":"json"}}},"url":"http://localhost:3000/api/v1/vc/1/did%3Alac%3Atestnet%3A0xfc1fcd69c632a78183ef3ee1112c97c3dc033373/0xd300c6eab38239530941a5c1f4d480038b60b14527a1c80ba9157df815b0b012","description":"<p>Revoke a distributed credential. Only distributed credentials can be revoked (see Create Vc distribute param)</p>\n<p>The url must include the issuer numeric id, the did used to sing the credential, and the credential hash. This is a javascript string representation of the url schema:</p>\n<p>`${lissuerApiHost}/api/v1/vc/${issuerId}/${issuerDid}/${hash}`</p>\n","urlObject":{"protocol":"http","port":"3000","path":["api","v1","vc","1","did%3Alac%3Atestnet%3A0xfc1fcd69c632a78183ef3ee1112c97c3dc033373","0xd300c6eab38239530941a5c1f4d480038b60b14527a1c80ba9157df815b0b012"],"host":["localhost"],"query":[],"variable":[]}},"response":[],"_postman_id":"cb937f6c-11e6-44e6-a8de-ae6d3c7a82db"}],"id":"345c5dc3-eafd-4084-b082-2e3c3aa39bc2","description":"<p>This module allows user to get, issue, and revoke credentials. The blockchain used for issue credentials will be the stored when created the did (see Create Issuer)</p>\n","_postman_id":"345c5dc3-eafd-4084-b082-2e3c3aa39bc2"},{"name":"Check API Health","id":"9f7bd4f4-703d-4bba-9705-e5dfe426e910","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"url":"http://localhost:3000/healthy","description":"<p>Endpoint to check healt of the deployed API. Gives a 200 status with the following response:</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n    \"message\": \"Healthy\"\n}\n\n</code></pre>\n","urlObject":{"protocol":"http","port":"3000","path":["healthy"],"host":["localhost"],"query":[],"variable":[]}},"response":[],"_postman_id":"9f7bd4f4-703d-4bba-9705-e5dfe426e910"},{"name":"Check API can connect to ssi_api","id":"198ebe6f-e8da-44f9-8ff1-14439db5b616","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"url":"http://localhost:3000/healthy/ssiapi","description":"<p>Endpoint to check healt of the deployed API. Gives a 200 status with the following response:</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n    \"message\": \"Healthy\"\n}\n\n</code></pre>\n","urlObject":{"protocol":"http","port":"3000","path":["healthy","ssiapi"],"host":["localhost"],"query":[],"variable":[]}},"response":[],"_postman_id":"198ebe6f-e8da-44f9-8ff1-14439db5b616"}],"id":"73f0ec1a-8770-41ec-ac9c-4529d184de6d","description":"<p>API Containing endpoints to manage the creation of issuer dids and manage credentials</p>\n","_postman_id":"73f0ec1a-8770-41ec-ac9c-4529d184de6d"}]}