{"action":"created","comment":{"url":"https://api.github.com/repos/bigchaindb/bigchaindb/pulls/comments/120829366","pull_request_review_id":42824200,"id":120829366,"diff_hunk":"@@ -0,0 +1,437 @@\n+# Improvement proposals for HTTP API\n+\n+\n+Currently, there is two milestones grouping issues for upcoming HTTP API\n+endpoints:\n+\n+- [Changes that break the existing HTTP API of BDB\n+  v0.11](https://github.com/bigchaindb/bigchaindb/milestone/11)\n+- [Changes that are additions to the exiting HTTP API of BDB\n+  v0.11](https://github.com/bigchaindb/bigchaindb/milestone/9)\n+\n+After releasing BDB v1.0, breaking changes to the external APIs are not\n+permitted anymore. Additions to the APIs are however always allowed.\n+\n+To resolve the outstanding issues, we'll hence limit\n+the scope of this document to the already existing endpoints.\n+\n+\n+### First task\n+\n+Please check the two listed milestones above for the correctness of categorized\n+issues.\n+\n+\n+### Methodology\n+\n+This document will go address each of the issues in the [breaking\n+changes milestone](https://github.com/bigchaindb/bigchaindb/milestone/11) and\n+discuss possible solutions to them. Once there is a consensus on the solutions,\n+we can implement them into BDB core (mainly HTTP API), py and js driver and\n+the BDB CLI.\n+\n+\n+### Issues in milestone\n+\n+#### [Inconsistent naming of short-hand ids](https://github.com/bigchaindb/bigchaindb/issues/1134)\n+\n+Current naming of ids according to [HTTP API documentation\n+(master)](https://docs.bigchaindb.com/projects/server/en/master/http-client-server-api.html)\n+and the [Websocket Event Stream API\n+(master)](https://docs.bigchaindb.com/projects/server/en/master/websocket-event-stream-api.html):\n+\n+- Transaction id:\n+    - `tx_id` in query parameters and Event Stream API\n+    - `txid` in `transaction.inputs.fulfills`\n+    - `id` in transaction payload\n+    - `id` in `/assets?search={text_search}` (this is also the asset's id!)\n+    - `ID` in prose text\n+- Asset id:\n+    - `asset_id` in query parameters and Event Stream API\n+    - `id` in `transaction.asset` payload\n+    - `id` in `/assets?search={text_search}` (this is also the transaction's id!)\n+- Fulfillment id:\n+    - `type_id` in `transaction.outputs.condition.details`\n+- Block id:\n+    - `block_id` in query parameters and Event Stream API\n+    - `id` in the block payload\n+\n+General inconsistency: `block_id`, `asset_id` and `tx_id` instead of\n+`transaction_id`.\n+\n+\n+Even though, this shouldn't be an argument (as we see the HTTP API descoped\n+from the underlying implementation):\n+\n+- [`txid` usage in bdb-server](https://docs.bigchaindb.com/projects/server/en/master/websocket-event-stream-api.html)\n+- [`txid` usage in bdb-server](https://docs.bigchaindb.com/projects/server/en/master/websocket-event-stream-api.html)\n+\n+\n+##### Proposal 1\n+\n+- Call any identifier that points to an object externally is a `object_id`\n+    - e.g. `transaction.inputs.fulfills.tx_id` points to an external tx, hence\n+      `_`\n+- Call any identifier within the data (describing the data) an `id`\n+    - `transaction.id`, points to itself, hence no need for redundancy in it's\n+      name\n+\n+Unfortunately, these rules still leave inconsistencies that are hard to\n+resolve. Assuming we could agree on `asset_id` and `tx_id` easily, they could\n+be a nice way forward, as it would mean that we don't have to change a lot of\n+code:\n+- `transaction.inputs.fulfills.txid` ==> `transaction.inputs.fulfills.tx_id`\n+- `id` in /assets?search={text_search} ==> `tx_id` or `asset_id`, as it's the\n+  /asset endpoint, `asset_id` seems more logical\n+- In a TRANSFER transaction `transaction.asset.id` would become\n+`transaction.asset.tx_id` or `transaction.asset.asset_id`\n+\n+Pros:\n+\n+- Little changes to code\n+\n+Contra:\n+\n+- `asset_id` and `tx_id` need to be resolved for specific cases (mentioned\n+above) (even though it's not a showstopper)\n+- Doesn't resolve `tx_id` and `transaction_id` (but can potentially)\n+\n+\n+##### Proposal 2\n+\n+- Everything becomes an `id`.\n+\n+Changes include:\n+\n+- All query parameters become `id`\n+- `transaction.outputs.condition.details.type_id` ==>\n+  `transaction.outputs.condition.details.id` (hard to achieve fix)\n+- `asset_id`, `tx_id` and `block_id` couldn't be told apart in Websocket Event\n+  Stream API anymore unless message becomes `{block: {id: \"abc\"}, asset: {id:\n+  \"def\"}, ...}` (which would be OK IMO)\n+\n+Pros:\n+\n+- Clean approach\n+- Easy to apply (also for the future\n+- Does resolve `tx_id` and `transaction_id`\n+- `id` is usually clear from context\n+\n+Contra:\n+\n+- Lots of changes to be applied to core, drivers, etc.\n+\n+\n+##### Proposal 3\n+\n+- Everything becomes `object_id` *or* everything becomes `objectid`\n+\n+Contra:\n+\n+- There is huge redundancy in naming e.g. `transaction.tx_id`, etc.\n+- Lots of changes to be applied\n+- Doesn't resolve `tx_id` and `transaction_id` (but can potentially)\n+\n+\n+##### Personal favorite: Proposal 1 then Proposal 2\n+\n+\n+#### [/outputs?unspents= returns unexpected results](https://github.com/bigchaindb/bigchaindb/issues/1214)\n+\n+`/outputs?unspent=false` and `/outputs?unspent=true` return same result when no\n+outputs have been spent on a transaction. [@r-marques's\n+comment](https://github.com/bigchaindb/bigchaindb/issues/1214#issuecomment-290400956)\n+does a good job explaining the inconsistency.\n+\n+Additionally it was brought up that `unspent=true|false` are hard to digest\n+logic, as there can be double negation:\n+\n+- `unspent=true`: Return all outputs that have not been spent or \"unspent\"\n+- `unspent=false`: Return all outputs that have not been unspent or \"spent\"\n+(bit of a stretch to get here in your mind, try it)\n+\n+\n+##### Proposal 1\n+\n+- Rename `unspent` to `spent`\n+* If `spent=true`, response is an array of all spent outputs associated with\n+  that public key\n+* If `spent=false`, response is an array of all *NOT YET* spent (or \"unspent\"\n+  outputs associated with that public key\n+* If no unspent= filter, response is an array of all outputs associated with\n+  that public key (spent and unspent)\n+\n+\n+Pro:\n+\n+- Resolves mind-stretch exercise\n+- Resolves unexpected result when querying the API\n+\n+Contra:\n+\n+- Lots of changes to be applied to core, drivers, etc.\n+- `unspent` is a word of daily communication that we're all used to\n+`spent=false` not\n+\n+\n+##### Proposal 2\n+\n+Based on what @ttmc suggested [here](https://github.com/bigchaindb/bigchaindb/issues/1214#issuecomment-282240980).\n+\n+* If unspent=true, response is an array of all unspent outputs associated with\n+  that public key\n+* If unspent=false, response is an array of all spent outputs associated with\n+  that public key\n+* If no unspent= filter, response is an array of all outputs associated with\n+  that public key (spent and unspent)\n+\n+\n+Pro:\n+\n+- Resolves unexpected result when querying the API\n+- Less changes to be applied to core, drivers, etc. as resolvement 1\n+\n+Contra:\n+\n+- Doesn't resolves mind-stretch exercise\n+\n+\n+##### Proposal 3\n+\n+Based on what @vrde and @r-marques suggested\n+[here](https://github.com/bigchaindb/bigchaindb-driver/issues/275) and\n+[here](https://github.com/bigchaindb/bigchaindb/issues/1214#issuecomment-290400956):\n+\n+- Rename `unspent` to either `unspent_only` or `exclude_spent` or\n+`exclude_unspent`.\n+\n+\n+Pro:\n+\n+- Expected result = actual result\n+\n+Contra:\n+\n+- Doesn't resolve issue properly as the endpoint should:\n+    - Return an array with both spent and unspent endpoint\n+    - Return an array with only spent outputs\n+    - Return an array with only unspent outputs\n+- Doesn't resolves mind-stretch exercise\n+\n+\n+##### Personal favorite: Proposal 1\n+\n+\n+#### [/statuses?tx_id needs to return status invalid](https://github.com/bigchaindb/bigchaindb/issues/1039)\n+\n+Contra:\n+\n+- [Is VERY difficult to implement in a consistent manner as we don't store invalid\n+transactions and since only blocks are marked invalid, transactions are not](https://github.com/bigchaindb/bigchaindb/issues/1039#issuecomment-290424788)\n+- There is better ways to serve this use case:\n+    - Tail BDB's logs (generally: provide better debugging capabilities)\n+    - Listen to the BDB event stream API\n+    - Event stream API for rejected transactions?\n+\n+##### Proposal 1\n+\n+- Generalize use case (e.g. As a BigchainDB user, I want to know when my\n+  transactions get rejected by a BigchainDB node) and open new ticket\n+- Close #1039\n+\n+\n+##### Personal favorite: Proposal 1 lol","path":"bdb-ip.md","position":243,"original_position":243,"commit_id":"dfac179b0d09e25c51f5d80e3ec6717613ac85db","original_commit_id":"dfac179b0d09e25c51f5d80e3ec6717613ac85db","user":{"login":"r-marques","id":1793187,"avatar_url":"https://avatars0.githubusercontent.com/u/1793187?v=3","gravatar_id":"","url":"https://api.github.com/users/r-marques","html_url":"https://github.com/r-marques","followers_url":"https://api.github.com/users/r-marques/followers","following_url":"https://api.github.com/users/r-marques/following{/other_user}","gists_url":"https://api.github.com/users/r-marques/gists{/gist_id}","starred_url":"https://api.github.com/users/r-marques/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/r-marques/subscriptions","organizations_url":"https://api.github.com/users/r-marques/orgs","repos_url":"https://api.github.com/users/r-marques/repos","events_url":"https://api.github.com/users/r-marques/events{/privacy}","received_events_url":"https://api.github.com/users/r-marques/received_events","type":"User","site_admin":false},"body":"This is a hard problem indeed and #1039 has a good discussion about the issue.\r\nI agree that if it is a feature that we want we can create a new issue for it (and add it to the non-breaking changes milestone?)\r\n\r\nIn the meantime the api validates the transaction when it is pushed to a node and if invalid it sends a message back to client with the reason.\r\n\r\nIf the transaction is accepted by a node and ends up being invalid (double spend attempt?) the status endpoint will return a `404`. The client can always resend the transaction and get back a message with why the transaction is invalid.","created_at":"2017-06-08T08:38:16Z","updated_at":"2017-06-08T08:38:16Z","html_url":"https://github.com/bigchaindb/bigchaindb/pull/1522#discussion_r120829366","pull_request_url":"https://api.github.com/repos/bigchaindb/bigchaindb/pulls/1522","_links":{"self":{"href":"https://api.github.com/repos/bigchaindb/bigchaindb/pulls/comments/120829366"},"html":{"href":"https://github.com/bigchaindb/bigchaindb/pull/1522#discussion_r120829366"},"pull_request":{"href":"https://api.github.com/repos/bigchaindb/bigchaindb/pulls/1522"}}},"pull_request":{"url":"https://api.github.com/repos/bigchaindb/bigchaindb/pulls/1522","id":124449142,"html_url":"https://github.com/bigchaindb/bigchaindb/pull/1522","diff_url":"https://github.com/bigchaindb/bigchaindb/pull/1522.diff","patch_url":"https://github.com/bigchaindb/bigchaindb/pull/1522.patch","issue_url":"https://api.github.com/repos/bigchaindb/bigchaindb/issues/1522","number":1522,"state":"open","locked":false,"title":"[WIP] Breaking changes proposal for HTTP API","user":{"login":"TimDaub","id":2758453,"avatar_url":"https://avatars2.githubusercontent.com/u/2758453?v=3","gravatar_id":"","url":"https://api.github.com/users/TimDaub","html_url":"https://github.com/TimDaub","followers_url":"https://api.github.com/users/TimDaub/followers","following_url":"https://api.github.com/users/TimDaub/following{/other_user}","gists_url":"https://api.github.com/users/TimDaub/gists{/gist_id}","starred_url":"https://api.github.com/users/TimDaub/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/TimDaub/subscriptions","organizations_url":"https://api.github.com/users/TimDaub/orgs","repos_url":"https://api.github.com/users/TimDaub/repos","events_url":"https://api.github.com/users/TimDaub/events{/privacy}","received_events_url":"https://api.github.com/users/TimDaub/received_events","type":"User","site_admin":false},"body":"See document.\r\n\r\n\r\nWill not merge into master. This is just for reviewing.\r\nLet's have a presentation on Thursday or Friday on these proposals.","created_at":"2017-06-07T15:25:19Z","updated_at":"2017-06-08T08:38:16Z","closed_at":null,"merged_at":null,"merge_commit_sha":"847553873b86f9db1745fc4bf1c93b1d14148705","assignee":{"login":"TimDaub","id":2758453,"avatar_url":"https://avatars2.githubusercontent.com/u/2758453?v=3","gravatar_id":"","url":"https://api.github.com/users/TimDaub","html_url":"https://github.com/TimDaub","followers_url":"https://api.github.com/users/TimDaub/followers","following_url":"https://api.github.com/users/TimDaub/following{/other_user}","gists_url":"https://api.github.com/users/TimDaub/gists{/gist_id}","starred_url":"https://api.github.com/users/TimDaub/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/TimDaub/subscriptions","organizations_url":"https://api.github.com/users/TimDaub/orgs","repos_url":"https://api.github.com/users/TimDaub/repos","events_url":"https://api.github.com/users/TimDaub/events{/privacy}","received_events_url":"https://api.github.com/users/TimDaub/received_events","type":"User","site_admin":false},"assignees":[{"login":"TimDaub","id":2758453,"avatar_url":"https://avatars2.githubusercontent.com/u/2758453?v=3","gravatar_id":"","url":"https://api.github.com/users/TimDaub","html_url":"https://github.com/TimDaub","followers_url":"https://api.github.com/users/TimDaub/followers","following_url":"https://api.github.com/users/TimDaub/following{/other_user}","gists_url":"https://api.github.com/users/TimDaub/gists{/gist_id}","starred_url":"https://api.github.com/users/TimDaub/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/TimDaub/subscriptions","organizations_url":"https://api.github.com/users/TimDaub/orgs","repos_url":"https://api.github.com/users/TimDaub/repos","events_url":"https://api.github.com/users/TimDaub/events{/privacy}","received_events_url":"https://api.github.com/users/TimDaub/received_events","type":"User","site_admin":false}],"requested_reviewers":[],"milestone":null,"commits_url":"https://api.github.com/repos/bigchaindb/bigchaindb/pulls/1522/commits","review_comments_url":"https://api.github.com/repos/bigchaindb/bigchaindb/pulls/1522/comments","review_comment_url":"https://api.github.com/repos/bigchaindb/bigchaindb/pulls/comments{/number}","comments_url":"https://api.github.com/repos/bigchaindb/bigchaindb/issues/1522/comments","statuses_url":"https://api.github.com/repos/bigchaindb/bigchaindb/statuses/dfac179b0d09e25c51f5d80e3ec6717613ac85db","head":{"label":"bigchaindb:breaking-changes-to-http-api","ref":"breaking-changes-to-http-api","sha":"dfac179b0d09e25c51f5d80e3ec6717613ac85db","user":{"login":"bigchaindb","id":17097586,"avatar_url":"https://avatars3.githubusercontent.com/u/17097586?v=3","gravatar_id":"","url":"https://api.github.com/users/bigchaindb","html_url":"https://github.com/bigchaindb","followers_url":"https://api.github.com/users/bigchaindb/followers","following_url":"https://api.github.com/users/bigchaindb/following{/other_user}","gists_url":"https://api.github.com/users/bigchaindb/gists{/gist_id}","starred_url":"https://api.github.com/users/bigchaindb/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bigchaindb/subscriptions","organizations_url":"https://api.github.com/users/bigchaindb/orgs","repos_url":"https://api.github.com/users/bigchaindb/repos","events_url":"https://api.github.com/users/bigchaindb/events{/privacy}","received_events_url":"https://api.github.com/users/bigchaindb/received_events","type":"Organization","site_admin":false},"repo":{"id":51290852,"name":"bigchaindb","full_name":"bigchaindb/bigchaindb","owner":{"login":"bigchaindb","id":17097586,"avatar_url":"https://avatars3.githubusercontent.com/u/17097586?v=3","gravatar_id":"","url":"https://api.github.com/users/bigchaindb","html_url":"https://github.com/bigchaindb","followers_url":"https://api.github.com/users/bigchaindb/followers","following_url":"https://api.github.com/users/bigchaindb/following{/other_user}","gists_url":"https://api.github.com/users/bigchaindb/gists{/gist_id}","starred_url":"https://api.github.com/users/bigchaindb/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bigchaindb/subscriptions","organizations_url":"https://api.github.com/users/bigchaindb/orgs","repos_url":"https://api.github.com/users/bigchaindb/repos","events_url":"https://api.github.com/users/bigchaindb/events{/privacy}","received_events_url":"https://api.github.com/users/bigchaindb/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/bigchaindb/bigchaindb","description":"BigchainDB is a scalable blockchain database","fork":false,"url":"https://api.github.com/repos/bigchaindb/bigchaindb","forks_url":"https://api.github.com/repos/bigchaindb/bigchaindb/forks","keys_url":"https://api.github.com/repos/bigchaindb/bigchaindb/keys{/key_id}","collaborators_url":"https://api.github.com/repos/bigchaindb/bigchaindb/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/bigchaindb/bigchaindb/teams","hooks_url":"https://api.github.com/repos/bigchaindb/bigchaindb/hooks","issue_events_url":"https://api.github.com/repos/bigchaindb/bigchaindb/issues/events{/number}","events_url":"https://api.github.com/repos/bigchaindb/bigchaindb/events","assignees_url":"https://api.github.com/repos/bigchaindb/bigchaindb/assignees{/user}","branches_url":"https://api.github.com/repos/bigchaindb/bigchaindb/branches{/branch}","tags_url":"https://api.github.com/repos/bigchaindb/bigchaindb/tags","blobs_url":"https://api.github.com/repos/bigchaindb/bigchaindb/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/bigchaindb/bigchaindb/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/bigchaindb/bigchaindb/git/refs{/sha}","trees_url":"https://api.github.com/repos/bigchaindb/bigchaindb/git/trees{/sha}","statuses_url":"https://api.github.com/repos/bigchaindb/bigchaindb/statuses/{sha}","languages_url":"https://api.github.com/repos/bigchaindb/bigchaindb/languages","stargazers_url":"https://api.github.com/repos/bigchaindb/bigchaindb/stargazers","contributors_url":"https://api.github.com/repos/bigchaindb/bigchaindb/contributors","subscribers_url":"https://api.github.com/repos/bigchaindb/bigchaindb/subscribers","subscription_url":"https://api.github.com/repos/bigchaindb/bigchaindb/subscription","commits_url":"https://api.github.com/repos/bigchaindb/bigchaindb/commits{/sha}","git_commits_url":"https://api.github.com/repos/bigchaindb/bigchaindb/git/commits{/sha}","comments_url":"https://api.github.com/repos/bigchaindb/bigchaindb/comments{/number}","issue_comment_url":"https://api.github.com/repos/bigchaindb/bigchaindb/issues/comments{/number}","contents_url":"https://api.github.com/repos/bigchaindb/bigchaindb/contents/{+path}","compare_url":"https://api.github.com/repos/bigchaindb/bigchaindb/compare/{base}...{head}","merges_url":"https://api.github.com/repos/bigchaindb/bigchaindb/merges","archive_url":"https://api.github.com/repos/bigchaindb/bigchaindb/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/bigchaindb/bigchaindb/downloads","issues_url":"https://api.github.com/repos/bigchaindb/bigchaindb/issues{/number}","pulls_url":"https://api.github.com/repos/bigchaindb/bigchaindb/pulls{/number}","milestones_url":"https://api.github.com/repos/bigchaindb/bigchaindb/milestones{/number}","notifications_url":"https://api.github.com/repos/bigchaindb/bigchaindb/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/bigchaindb/bigchaindb/labels{/name}","releases_url":"https://api.github.com/repos/bigchaindb/bigchaindb/releases{/id}","deployments_url":"https://api.github.com/repos/bigchaindb/bigchaindb/deployments","created_at":"2016-02-08T10:12:58Z","updated_at":"2017-06-08T05:35:48Z","pushed_at":"2017-06-08T08:37:18Z","git_url":"git://github.com/bigchaindb/bigchaindb.git","ssh_url":"git@github.com:bigchaindb/bigchaindb.git","clone_url":"https://github.com/bigchaindb/bigchaindb.git","svn_url":"https://github.com/bigchaindb/bigchaindb","homepage":"https://www.bigchaindb.com/","size":7914,"stargazers_count":1175,"watchers_count":1175,"language":"Python","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":false,"has_pages":false,"forks_count":231,"mirror_url":null,"open_issues_count":219,"forks":231,"open_issues":219,"watchers":1175,"default_branch":"master"}},"base":{"label":"bigchaindb:master","ref":"master","sha":"04720060242c590a1ea318859257f34bb1b966e6","user":{"login":"bigchaindb","id":17097586,"avatar_url":"https://avatars3.githubusercontent.com/u/17097586?v=3","gravatar_id":"","url":"https://api.github.com/users/bigchaindb","html_url":"https://github.com/bigchaindb","followers_url":"https://api.github.com/users/bigchaindb/followers","following_url":"https://api.github.com/users/bigchaindb/following{/other_user}","gists_url":"https://api.github.com/users/bigchaindb/gists{/gist_id}","starred_url":"https://api.github.com/users/bigchaindb/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bigchaindb/subscriptions","organizations_url":"https://api.github.com/users/bigchaindb/orgs","repos_url":"https://api.github.com/users/bigchaindb/repos","events_url":"https://api.github.com/users/bigchaindb/events{/privacy}","received_events_url":"https://api.github.com/users/bigchaindb/received_events","type":"Organization","site_admin":false},"repo":{"id":51290852,"name":"bigchaindb","full_name":"bigchaindb/bigchaindb","owner":{"login":"bigchaindb","id":17097586,"avatar_url":"https://avatars3.githubusercontent.com/u/17097586?v=3","gravatar_id":"","url":"https://api.github.com/users/bigchaindb","html_url":"https://github.com/bigchaindb","followers_url":"https://api.github.com/users/bigchaindb/followers","following_url":"https://api.github.com/users/bigchaindb/following{/other_user}","gists_url":"https://api.github.com/users/bigchaindb/gists{/gist_id}","starred_url":"https://api.github.com/users/bigchaindb/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bigchaindb/subscriptions","organizations_url":"https://api.github.com/users/bigchaindb/orgs","repos_url":"https://api.github.com/users/bigchaindb/repos","events_url":"https://api.github.com/users/bigchaindb/events{/privacy}","received_events_url":"https://api.github.com/users/bigchaindb/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/bigchaindb/bigchaindb","description":"BigchainDB is a scalable blockchain database","fork":false,"url":"https://api.github.com/repos/bigchaindb/bigchaindb","forks_url":"https://api.github.com/repos/bigchaindb/bigchaindb/forks","keys_url":"https://api.github.com/repos/bigchaindb/bigchaindb/keys{/key_id}","collaborators_url":"https://api.github.com/repos/bigchaindb/bigchaindb/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/bigchaindb/bigchaindb/teams","hooks_url":"https://api.github.com/repos/bigchaindb/bigchaindb/hooks","issue_events_url":"https://api.github.com/repos/bigchaindb/bigchaindb/issues/events{/number}","events_url":"https://api.github.com/repos/bigchaindb/bigchaindb/events","assignees_url":"https://api.github.com/repos/bigchaindb/bigchaindb/assignees{/user}","branches_url":"https://api.github.com/repos/bigchaindb/bigchaindb/branches{/branch}","tags_url":"https://api.github.com/repos/bigchaindb/bigchaindb/tags","blobs_url":"https://api.github.com/repos/bigchaindb/bigchaindb/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/bigchaindb/bigchaindb/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/bigchaindb/bigchaindb/git/refs{/sha}","trees_url":"https://api.github.com/repos/bigchaindb/bigchaindb/git/trees{/sha}","statuses_url":"https://api.github.com/repos/bigchaindb/bigchaindb/statuses/{sha}","languages_url":"https://api.github.com/repos/bigchaindb/bigchaindb/languages","stargazers_url":"https://api.github.com/repos/bigchaindb/bigchaindb/stargazers","contributors_url":"https://api.github.com/repos/bigchaindb/bigchaindb/contributors","subscribers_url":"https://api.github.com/repos/bigchaindb/bigchaindb/subscribers","subscription_url":"https://api.github.com/repos/bigchaindb/bigchaindb/subscription","commits_url":"https://api.github.com/repos/bigchaindb/bigchaindb/commits{/sha}","git_commits_url":"https://api.github.com/repos/bigchaindb/bigchaindb/git/commits{/sha}","comments_url":"https://api.github.com/repos/bigchaindb/bigchaindb/comments{/number}","issue_comment_url":"https://api.github.com/repos/bigchaindb/bigchaindb/issues/comments{/number}","contents_url":"https://api.github.com/repos/bigchaindb/bigchaindb/contents/{+path}","compare_url":"https://api.github.com/repos/bigchaindb/bigchaindb/compare/{base}...{head}","merges_url":"https://api.github.com/repos/bigchaindb/bigchaindb/merges","archive_url":"https://api.github.com/repos/bigchaindb/bigchaindb/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/bigchaindb/bigchaindb/downloads","issues_url":"https://api.github.com/repos/bigchaindb/bigchaindb/issues{/number}","pulls_url":"https://api.github.com/repos/bigchaindb/bigchaindb/pulls{/number}","milestones_url":"https://api.github.com/repos/bigchaindb/bigchaindb/milestones{/number}","notifications_url":"https://api.github.com/repos/bigchaindb/bigchaindb/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/bigchaindb/bigchaindb/labels{/name}","releases_url":"https://api.github.com/repos/bigchaindb/bigchaindb/releases{/id}","deployments_url":"https://api.github.com/repos/bigchaindb/bigchaindb/deployments","created_at":"2016-02-08T10:12:58Z","updated_at":"2017-06-08T05:35:48Z","pushed_at":"2017-06-08T08:37:18Z","git_url":"git://github.com/bigchaindb/bigchaindb.git","ssh_url":"git@github.com:bigchaindb/bigchaindb.git","clone_url":"https://github.com/bigchaindb/bigchaindb.git","svn_url":"https://github.com/bigchaindb/bigchaindb","homepage":"https://www.bigchaindb.com/","size":7914,"stargazers_count":1175,"watchers_count":1175,"language":"Python","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":false,"has_pages":false,"forks_count":231,"mirror_url":null,"open_issues_count":219,"forks":231,"open_issues":219,"watchers":1175,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/bigchaindb/bigchaindb/pulls/1522"},"html":{"href":"https://github.com/bigchaindb/bigchaindb/pull/1522"},"issue":{"href":"https://api.github.com/repos/bigchaindb/bigchaindb/issues/1522"},"comments":{"href":"https://api.github.com/repos/bigchaindb/bigchaindb/issues/1522/comments"},"review_comments":{"href":"https://api.github.com/repos/bigchaindb/bigchaindb/pulls/1522/comments"},"review_comment":{"href":"https://api.github.com/repos/bigchaindb/bigchaindb/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/bigchaindb/bigchaindb/pulls/1522/commits"},"statuses":{"href":"https://api.github.com/repos/bigchaindb/bigchaindb/statuses/dfac179b0d09e25c51f5d80e3ec6717613ac85db"}}}}
{"actor":{"display_login":"r-marques"}}