{"action":"created","comment":{"url":"https://api.github.com/repos/hyperledger/indy-hipe/pulls/comments/212146968","pull_request_review_id":148716553,"id":212146968,"node_id":"MDI0OlB1bGxSZXF1ZXN0UmV2aWV3Q29tbWVudDIxMjE0Njk2OA==","diff_hunk":"@@ -0,0 +1,208 @@\n+- Name: diddoc-conventions\n+- Author: Stephen Curran (swcurran@gmail.com)\n+- Start Date: 2018-08-14\n+- PR: \n+- Jira Issue: \n+\n+# Summary\n+[summary]: #summary\n+\n+This is one of a series of HIPEs that together enable interoperability across implementations of Hyperledger Indy Agents, and ideally in the future, Agents rooted in other self-sovereign identity ecosystems. In this HIPE the use of the DID Doc is considered and conventions defined that if followed will aid in the interoperability goal.\n+\n+In order to send a message from one Identity to another, the sending Identity must something about the Receiver's domain - the Receiver's configuration of Agents. This HIPE outlines how a domain should populate a DIDDoc it shares with other entities either on a Public Ledger or via a microledger. In both cases, the other identity resolving and viewing the DIDDoc must be able to use the information in the DIDDoc to communicate with the owning Identity.\n+\n+The goal of these related HIPEs is to define the rules that domains must adhere to enable the delivery of Agent messages from a Sending Agent to a Receiver Agent in a secure and privacy-preserving manner.\n+\n+# Motivation\n+[motivation]: #motivation\n+\n+The purpose of this HIPE and it's related HIPEs is to define a layered Messaging protocol such that we can ignore the transport of messages as we discuss the much richer Agent Messaging types and interactions. That is, we can assume that there is no need to include in an Agent message anything about how to route the message to the Receiver - it just magically happens. Alice (via her Agent) sends a message to Bob, and (because of implementations based on this series of HIPEs) we can ignore how the actual message got to Bob's Agent.\n+\n+Put another way - these HIPEs are about envelopes. They define a way to put a message - any message - into an envelope, put it into an outbound mailbox and have it magically appear in the Receiver's inbound mailbox in a secure and privacy-preserving manner. Once we have that, we can focus on letters and not how letters are sent.\n+\n+In particular, this HIPE is about addresses - information in the DIDDoc that lets a sending Identity communicate with another Identity.\n+\n+# Tutorial\n+[tutorial]: #tutorial\n+\n+## Core Messaging Goals\n+\n+These are vital design goals for this HIPE:\n+\n+1. **Sender Encapsulation**: We must minimize what the Receiver has to know about the domain (routing tree or agent infrastructure) of the Sender in order for them to communicate.\n+2. **Receiver Encapsulation**: We must minimize what the Sender has to know about the domain (routing tree or agent infrastructure) of the Receiver in order for them to communicate.\n+3. **Independent Keys**: Private signing keys should not be shared between agents; each agent should be separately identifiable for accounting and authorization/revocation purposes.\n+4. ***Prevent correlation based on DIDDoc Contents**: The information in the set of DIDDocs owned by an Identity should not be so precise as to represent a fingerprint for that Identity suitable for correlation.\n+\n+## Assumptions\n+\n+The following are assumptions upon which this HIPE is predicated.\n+\n+### Terminology\n+\n+The following terms are used in this HIPE with the following meanings:\n+\n+- Domain - a set of Agents collaborating on behalf of an Identity\n+  - It's assumed that the Agents of a Domain were developed by a single vendor and so may have implementation-specific mechanisms for tracking extra information one another.\n+  - An example of two Domains is provided in the image below.\n+- Domain Endpoint - a shared physical endpoint for messages into domains\n+  - Shared by many identities (e.g. https://endpoint.agentsRus.com)\n+  - Agency - the handler for messages sent to the Domain Endpoint.\n+- Routing Agent - the single identity-controlled entry point for a Domain per relationship\n+  - A message delivered to a Domain Endpoint is **always** passed directly to the Routing Agent for a Domain\n+- Sender Agent - an Agent that creates an Agent Message for a Receiver in another Domain.\n+- Receiver Agent - an Agent that receives and processes an Agent Message from a Sender.\n+- DID - reference to the literal Decentralized ID text\n+  - e.g. did:sov:1234abcd\n+- DID#key - reference to the DID appended with \"#\" and a specific key from the DIDDoc\n+  - e.g. did:sov:1234abcd#1 references key \"1\" of the \"did:sov:1234abcd\" DIDDoc.\n+  - **Note**: The #key is NOT the actual Public Key - it's a reference to an entry in the DIDDoc that contains the Public Key.\n+\n+#### DIDDoc\n+\n+The term \"DIDDoc\" is used in this HIPE as it is defined in the [DID Specification](https://w3c-ccg.github.io/did-spec/):\n+\n+- a collection of public keys and endpoints,\n+- controlled by an identity,\n+- associated with a DID, and\n+- used for a relationship.\n+\n+A DID can be resolved to get its corresponding DIDDoc by any Agent that needs access to the DIDDoc. This is true whether talking about a DID on the Public Ledger, or a DID persisted to a microledger. In the case of a microledger, it's the (implementation specific) domain's responsibility to ensure such resolution is available to all Agents requiring it.\n+\n+## Example: Domain and DIDDoc\n+\n+The following is an example of an arbitrary pair of domains that will be helpful in defining the requirements in this HIPE.\n+\n+![Example Domains: Alice and Bob](domains.jpg)\n+\n+In the diagram above:\n+\n+- Alice has\n+  - 1 App Agent - \"1\"\n+  - 1 Routing Agent - \"2\"\n+  - 1 Domain Endpoint - \"8\"\n+- Bob has\n+  - 3 App Agents - \"4\", \"5\" and \"6\"\n+    - \"6\" is an App Agent in the cloud, \"4\" and \"5\" are physical devices.\n+  - 1 Routing Agent - \"3\"\n+  - 1 Domain Endpoint - \"9\"\n+\n+### Bob's DIDDoc for his Relationship with Alice\n+\n+Bob’s domain has 3 devices he uses for processing messages - two phones (4 and 5) and a cloud-based agent (6). However, in Bob's relationship with Alice, he ONLY uses one phone (4) and the cloud-based agent (6). Thus the key for device 5 is left out of the DIDDoc (see below).\n+\n+Note that the key for the Routing Agent (3) is called \"routing\". This is an example of the kind of convention needed to allow the Sender's agents to know the keys for Agents with a designated role in the receiving domain.\n+\n+```json\n+{\n+  \"@context\": \"https://w3id.org/did/v1\",\n+  \"id\": \"did:sov:1234abcd\",\n+  \"publicKey\": [\n+    {\"id\": \"did:sov:1234abcd#routing\", \"type\": \"RsaVerificationKey2018\",  \"owner\": \"did:sov:1234abcd\",\"publicKeyPem\": \"-----BEGIN PUBLIC X…”}\",\n+    {\"id\": \"did:sov:1234abcd#4\", \"type\": \"RsaVerificationKey2018\",  \"owner\": \"did:sov:1234abcd\",\"publicKeyPem\": \"-----BEGIN PUBLIC 9…”}\",\n+    {\"id\": \"did:sov:1234abcd#6\", \"type\": \"RsaVerificationKey2018\",  \"owner\": \"did:sov:1234abcd\",\"publicKeyPem\": \"-----BEGIN PUBLIC A…”}\n+  ],\n+  \"authentication\": [\n+    {\"type\": \"RsaSignatureAuthentication2018\", \"publicKey\": \"did:sov:1234abcd#4\"}\n+  ],\n+  \"service\": [\n+    {\"type\": \"Agency\", \"serviceEndpoint\": \"did:sov:fghi8377464\" }\n+    // or \"serviceEndpoint\": \"https://example.com/endpoint/8377464\" and add the #domain key (above)\n+  ]\n+}\n+```\n+\n+## Cross Domain Messaging Interoperability\n+\n+A key goal for interoperability is that we want other domains to know just enough about the configuration of a domain to which they are delivering a message, but no more. The Cross Domain Messaging HIPE (*reference to be added*), outlines the details of sending the message. Briefly:\n+\n+- The Sender creates the message (M1) to be sent to the Receiver.\n+- The Sender encrypts M1 into a `Forward` message (F1) for the Receiver, providing in the `to` the DID+key of the Receiver (e.g. did#1)\n+- The Sender encrypts F1 into a `Forward` message (F2) for the Receiver's Routing Agent, providing in the `to` the DID of the Receiver (e.g. did).\n+- An Agent of the Sender sends F2 as a Wire Message to the share Domain Endpoint of the Receiver.\n+\n+## Necessary DIDDoc Information\n+\n+To accomplish the Cross Domain Messaging sequence listed in the previous section, the Sending Agent must elicit from the DIDDoc:\n+\n+- the public key and endpoint of the shared Domain Endpoint for the Receiver\n+- the public key of the Receiver's Routing Agent\n+- the public key and the \"address\" (e.g. #key fragment) of the Receiver.","path":"text/diddoc-conventions/README.md","position":130,"original_position":130,"commit_id":"650ae9effeed74e98269697ae671ec81a8f92bbd","original_commit_id":"650ae9effeed74e98269697ae671ec81a8f92bbd","user":{"login":"swcurran","id":1018050,"node_id":"MDQ6VXNlcjEwMTgwNTA=","avatar_url":"https://avatars2.githubusercontent.com/u/1018050?v=4","gravatar_id":"","url":"https://api.github.com/users/swcurran","html_url":"https://github.com/swcurran","followers_url":"https://api.github.com/users/swcurran/followers","following_url":"https://api.github.com/users/swcurran/following{/other_user}","gists_url":"https://api.github.com/users/swcurran/gists{/gist_id}","starred_url":"https://api.github.com/users/swcurran/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/swcurran/subscriptions","organizations_url":"https://api.github.com/users/swcurran/orgs","repos_url":"https://api.github.com/users/swcurran/repos","events_url":"https://api.github.com/users/swcurran/events{/privacy}","received_events_url":"https://api.github.com/users/swcurran/received_events","type":"User","site_admin":false},"body":"Updated","created_at":"2018-08-22T23:59:05Z","updated_at":"2018-08-22T23:59:05Z","html_url":"https://github.com/hyperledger/indy-hipe/pull/37#discussion_r212146968","pull_request_url":"https://api.github.com/repos/hyperledger/indy-hipe/pulls/37","author_association":"NONE","_links":{"self":{"href":"https://api.github.com/repos/hyperledger/indy-hipe/pulls/comments/212146968"},"html":{"href":"https://github.com/hyperledger/indy-hipe/pull/37#discussion_r212146968"},"pull_request":{"href":"https://api.github.com/repos/hyperledger/indy-hipe/pulls/37"}},"in_reply_to_id":212022721},"pull_request":{"url":"https://api.github.com/repos/hyperledger/indy-hipe/pulls/37","id":209271503,"node_id":"MDExOlB1bGxSZXF1ZXN0MjA5MjcxNTAz","html_url":"https://github.com/hyperledger/indy-hipe/pull/37","diff_url":"https://github.com/hyperledger/indy-hipe/pull/37.diff","patch_url":"https://github.com/hyperledger/indy-hipe/pull/37.patch","issue_url":"https://api.github.com/repos/hyperledger/indy-hipe/issues/37","number":37,"state":"open","locked":false,"title":"propose HIPE: DID Doc Conventions","user":{"login":"swcurran","id":1018050,"node_id":"MDQ6VXNlcjEwMTgwNTA=","avatar_url":"https://avatars2.githubusercontent.com/u/1018050?v=4","gravatar_id":"","url":"https://api.github.com/users/swcurran","html_url":"https://github.com/swcurran","followers_url":"https://api.github.com/users/swcurran/followers","following_url":"https://api.github.com/users/swcurran/following{/other_user}","gists_url":"https://api.github.com/users/swcurran/gists{/gist_id}","starred_url":"https://api.github.com/users/swcurran/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/swcurran/subscriptions","organizations_url":"https://api.github.com/users/swcurran/orgs","repos_url":"https://api.github.com/users/swcurran/repos","events_url":"https://api.github.com/users/swcurran/events{/privacy}","received_events_url":"https://api.github.com/users/swcurran/received_events","type":"User","site_admin":false},"body":"Cancelled the previous PR (#21) and this is the third of three HIPEs. This one covers conventions to be used in DIDDocs.","created_at":"2018-08-17T22:27:43Z","updated_at":"2018-08-22T23:59:05Z","closed_at":null,"merged_at":null,"merge_commit_sha":"b9dd0ed3bb7845bf0c90f6ab73527a3966476409","assignee":null,"assignees":[],"requested_reviewers":[],"requested_teams":[],"labels":[],"milestone":null,"commits_url":"https://api.github.com/repos/hyperledger/indy-hipe/pulls/37/commits","review_comments_url":"https://api.github.com/repos/hyperledger/indy-hipe/pulls/37/comments","review_comment_url":"https://api.github.com/repos/hyperledger/indy-hipe/pulls/comments{/number}","comments_url":"https://api.github.com/repos/hyperledger/indy-hipe/issues/37/comments","statuses_url":"https://api.github.com/repos/hyperledger/indy-hipe/statuses/650ae9effeed74e98269697ae671ec81a8f92bbd","head":{"label":"swcurran:diddoc","ref":"diddoc","sha":"650ae9effeed74e98269697ae671ec81a8f92bbd","user":{"login":"swcurran","id":1018050,"node_id":"MDQ6VXNlcjEwMTgwNTA=","avatar_url":"https://avatars2.githubusercontent.com/u/1018050?v=4","gravatar_id":"","url":"https://api.github.com/users/swcurran","html_url":"https://github.com/swcurran","followers_url":"https://api.github.com/users/swcurran/followers","following_url":"https://api.github.com/users/swcurran/following{/other_user}","gists_url":"https://api.github.com/users/swcurran/gists{/gist_id}","starred_url":"https://api.github.com/users/swcurran/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/swcurran/subscriptions","organizations_url":"https://api.github.com/users/swcurran/orgs","repos_url":"https://api.github.com/users/swcurran/repos","events_url":"https://api.github.com/users/swcurran/events{/privacy}","received_events_url":"https://api.github.com/users/swcurran/received_events","type":"User","site_admin":false},"repo":{"id":139770007,"node_id":"MDEwOlJlcG9zaXRvcnkxMzk3NzAwMDc=","name":"indy-hipe","full_name":"swcurran/indy-hipe","owner":{"login":"swcurran","id":1018050,"node_id":"MDQ6VXNlcjEwMTgwNTA=","avatar_url":"https://avatars2.githubusercontent.com/u/1018050?v=4","gravatar_id":"","url":"https://api.github.com/users/swcurran","html_url":"https://github.com/swcurran","followers_url":"https://api.github.com/users/swcurran/followers","following_url":"https://api.github.com/users/swcurran/following{/other_user}","gists_url":"https://api.github.com/users/swcurran/gists{/gist_id}","starred_url":"https://api.github.com/users/swcurran/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/swcurran/subscriptions","organizations_url":"https://api.github.com/users/swcurran/orgs","repos_url":"https://api.github.com/users/swcurran/repos","events_url":"https://api.github.com/users/swcurran/events{/privacy}","received_events_url":"https://api.github.com/users/swcurran/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/swcurran/indy-hipe","description":"Hyperledger Indy Project Enhancements","fork":true,"url":"https://api.github.com/repos/swcurran/indy-hipe","forks_url":"https://api.github.com/repos/swcurran/indy-hipe/forks","keys_url":"https://api.github.com/repos/swcurran/indy-hipe/keys{/key_id}","collaborators_url":"https://api.github.com/repos/swcurran/indy-hipe/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/swcurran/indy-hipe/teams","hooks_url":"https://api.github.com/repos/swcurran/indy-hipe/hooks","issue_events_url":"https://api.github.com/repos/swcurran/indy-hipe/issues/events{/number}","events_url":"https://api.github.com/repos/swcurran/indy-hipe/events","assignees_url":"https://api.github.com/repos/swcurran/indy-hipe/assignees{/user}","branches_url":"https://api.github.com/repos/swcurran/indy-hipe/branches{/branch}","tags_url":"https://api.github.com/repos/swcurran/indy-hipe/tags","blobs_url":"https://api.github.com/repos/swcurran/indy-hipe/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/swcurran/indy-hipe/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/swcurran/indy-hipe/git/refs{/sha}","trees_url":"https://api.github.com/repos/swcurran/indy-hipe/git/trees{/sha}","statuses_url":"https://api.github.com/repos/swcurran/indy-hipe/statuses/{sha}","languages_url":"https://api.github.com/repos/swcurran/indy-hipe/languages","stargazers_url":"https://api.github.com/repos/swcurran/indy-hipe/stargazers","contributors_url":"https://api.github.com/repos/swcurran/indy-hipe/contributors","subscribers_url":"https://api.github.com/repos/swcurran/indy-hipe/subscribers","subscription_url":"https://api.github.com/repos/swcurran/indy-hipe/subscription","commits_url":"https://api.github.com/repos/swcurran/indy-hipe/commits{/sha}","git_commits_url":"https://api.github.com/repos/swcurran/indy-hipe/git/commits{/sha}","comments_url":"https://api.github.com/repos/swcurran/indy-hipe/comments{/number}","issue_comment_url":"https://api.github.com/repos/swcurran/indy-hipe/issues/comments{/number}","contents_url":"https://api.github.com/repos/swcurran/indy-hipe/contents/{+path}","compare_url":"https://api.github.com/repos/swcurran/indy-hipe/compare/{base}...{head}","merges_url":"https://api.github.com/repos/swcurran/indy-hipe/merges","archive_url":"https://api.github.com/repos/swcurran/indy-hipe/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/swcurran/indy-hipe/downloads","issues_url":"https://api.github.com/repos/swcurran/indy-hipe/issues{/number}","pulls_url":"https://api.github.com/repos/swcurran/indy-hipe/pulls{/number}","milestones_url":"https://api.github.com/repos/swcurran/indy-hipe/milestones{/number}","notifications_url":"https://api.github.com/repos/swcurran/indy-hipe/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/swcurran/indy-hipe/labels{/name}","releases_url":"https://api.github.com/repos/swcurran/indy-hipe/releases{/id}","deployments_url":"https://api.github.com/repos/swcurran/indy-hipe/deployments","created_at":"2018-07-04T22:15:12Z","updated_at":"2018-08-20T19:37:33Z","pushed_at":"2018-08-20T19:37:32Z","git_url":"git://github.com/swcurran/indy-hipe.git","ssh_url":"git@github.com:swcurran/indy-hipe.git","clone_url":"https://github.com/swcurran/indy-hipe.git","svn_url":"https://github.com/swcurran/indy-hipe","homepage":"","size":2209,"stargazers_count":0,"watchers_count":0,"language":null,"has_issues":false,"has_projects":true,"has_downloads":true,"has_wiki":false,"has_pages":false,"forks_count":0,"mirror_url":null,"archived":false,"open_issues_count":0,"license":{"key":"apache-2.0","name":"Apache License 2.0","spdx_id":"Apache-2.0","url":"https://api.github.com/licenses/apache-2.0","node_id":"MDc6TGljZW5zZTI="},"forks":0,"open_issues":0,"watchers":0,"default_branch":"master"}},"base":{"label":"hyperledger:master","ref":"master","sha":"0a760f3be0502f8e7a9b8be56e06b34cb7fff883","user":{"login":"hyperledger","id":7657900,"node_id":"MDEyOk9yZ2FuaXphdGlvbjc2NTc5MDA=","avatar_url":"https://avatars2.githubusercontent.com/u/7657900?v=4","gravatar_id":"","url":"https://api.github.com/users/hyperledger","html_url":"https://github.com/hyperledger","followers_url":"https://api.github.com/users/hyperledger/followers","following_url":"https://api.github.com/users/hyperledger/following{/other_user}","gists_url":"https://api.github.com/users/hyperledger/gists{/gist_id}","starred_url":"https://api.github.com/users/hyperledger/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/hyperledger/subscriptions","organizations_url":"https://api.github.com/users/hyperledger/orgs","repos_url":"https://api.github.com/users/hyperledger/repos","events_url":"https://api.github.com/users/hyperledger/events{/privacy}","received_events_url":"https://api.github.com/users/hyperledger/received_events","type":"Organization","site_admin":false},"repo":{"id":121789977,"node_id":"MDEwOlJlcG9zaXRvcnkxMjE3ODk5Nzc=","name":"indy-hipe","full_name":"hyperledger/indy-hipe","owner":{"login":"hyperledger","id":7657900,"node_id":"MDEyOk9yZ2FuaXphdGlvbjc2NTc5MDA=","avatar_url":"https://avatars2.githubusercontent.com/u/7657900?v=4","gravatar_id":"","url":"https://api.github.com/users/hyperledger","html_url":"https://github.com/hyperledger","followers_url":"https://api.github.com/users/hyperledger/followers","following_url":"https://api.github.com/users/hyperledger/following{/other_user}","gists_url":"https://api.github.com/users/hyperledger/gists{/gist_id}","starred_url":"https://api.github.com/users/hyperledger/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/hyperledger/subscriptions","organizations_url":"https://api.github.com/users/hyperledger/orgs","repos_url":"https://api.github.com/users/hyperledger/repos","events_url":"https://api.github.com/users/hyperledger/events{/privacy}","received_events_url":"https://api.github.com/users/hyperledger/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/hyperledger/indy-hipe","description":"Hyperledger Indy Project Enhancements","fork":false,"url":"https://api.github.com/repos/hyperledger/indy-hipe","forks_url":"https://api.github.com/repos/hyperledger/indy-hipe/forks","keys_url":"https://api.github.com/repos/hyperledger/indy-hipe/keys{/key_id}","collaborators_url":"https://api.github.com/repos/hyperledger/indy-hipe/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/hyperledger/indy-hipe/teams","hooks_url":"https://api.github.com/repos/hyperledger/indy-hipe/hooks","issue_events_url":"https://api.github.com/repos/hyperledger/indy-hipe/issues/events{/number}","events_url":"https://api.github.com/repos/hyperledger/indy-hipe/events","assignees_url":"https://api.github.com/repos/hyperledger/indy-hipe/assignees{/user}","branches_url":"https://api.github.com/repos/hyperledger/indy-hipe/branches{/branch}","tags_url":"https://api.github.com/repos/hyperledger/indy-hipe/tags","blobs_url":"https://api.github.com/repos/hyperledger/indy-hipe/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/hyperledger/indy-hipe/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/hyperledger/indy-hipe/git/refs{/sha}","trees_url":"https://api.github.com/repos/hyperledger/indy-hipe/git/trees{/sha}","statuses_url":"https://api.github.com/repos/hyperledger/indy-hipe/statuses/{sha}","languages_url":"https://api.github.com/repos/hyperledger/indy-hipe/languages","stargazers_url":"https://api.github.com/repos/hyperledger/indy-hipe/stargazers","contributors_url":"https://api.github.com/repos/hyperledger/indy-hipe/contributors","subscribers_url":"https://api.github.com/repos/hyperledger/indy-hipe/subscribers","subscription_url":"https://api.github.com/repos/hyperledger/indy-hipe/subscription","commits_url":"https://api.github.com/repos/hyperledger/indy-hipe/commits{/sha}","git_commits_url":"https://api.github.com/repos/hyperledger/indy-hipe/git/commits{/sha}","comments_url":"https://api.github.com/repos/hyperledger/indy-hipe/comments{/number}","issue_comment_url":"https://api.github.com/repos/hyperledger/indy-hipe/issues/comments{/number}","contents_url":"https://api.github.com/repos/hyperledger/indy-hipe/contents/{+path}","compare_url":"https://api.github.com/repos/hyperledger/indy-hipe/compare/{base}...{head}","merges_url":"https://api.github.com/repos/hyperledger/indy-hipe/merges","archive_url":"https://api.github.com/repos/hyperledger/indy-hipe/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/hyperledger/indy-hipe/downloads","issues_url":"https://api.github.com/repos/hyperledger/indy-hipe/issues{/number}","pulls_url":"https://api.github.com/repos/hyperledger/indy-hipe/pulls{/number}","milestones_url":"https://api.github.com/repos/hyperledger/indy-hipe/milestones{/number}","notifications_url":"https://api.github.com/repos/hyperledger/indy-hipe/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/hyperledger/indy-hipe/labels{/name}","releases_url":"https://api.github.com/repos/hyperledger/indy-hipe/releases{/id}","deployments_url":"https://api.github.com/repos/hyperledger/indy-hipe/deployments","created_at":"2018-02-16T19:11:11Z","updated_at":"2018-08-20T15:08:54Z","pushed_at":"2018-08-20T17:47:11Z","git_url":"git://github.com/hyperledger/indy-hipe.git","ssh_url":"git@github.com:hyperledger/indy-hipe.git","clone_url":"https://github.com/hyperledger/indy-hipe.git","svn_url":"https://github.com/hyperledger/indy-hipe","homepage":"","size":1942,"stargazers_count":8,"watchers_count":8,"language":null,"has_issues":false,"has_projects":false,"has_downloads":true,"has_wiki":false,"has_pages":false,"forks_count":27,"mirror_url":null,"archived":false,"open_issues_count":16,"license":{"key":"apache-2.0","name":"Apache License 2.0","spdx_id":"Apache-2.0","url":"https://api.github.com/licenses/apache-2.0","node_id":"MDc6TGljZW5zZTI="},"forks":27,"open_issues":16,"watchers":8,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/hyperledger/indy-hipe/pulls/37"},"html":{"href":"https://github.com/hyperledger/indy-hipe/pull/37"},"issue":{"href":"https://api.github.com/repos/hyperledger/indy-hipe/issues/37"},"comments":{"href":"https://api.github.com/repos/hyperledger/indy-hipe/issues/37/comments"},"review_comments":{"href":"https://api.github.com/repos/hyperledger/indy-hipe/pulls/37/comments"},"review_comment":{"href":"https://api.github.com/repos/hyperledger/indy-hipe/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/hyperledger/indy-hipe/pulls/37/commits"},"statuses":{"href":"https://api.github.com/repos/hyperledger/indy-hipe/statuses/650ae9effeed74e98269697ae671ec81a8f92bbd"}},"author_association":"NONE"}}
{"actor":{"display_login":"swcurran"}}