{"action":"created","comment":{"url":"https://api.github.com/repos/fandor/api/pulls/comments/54153251","id":54153251,"diff_hunk":"@@ -0,0 +1,403 @@\n+# Auth Service\n+The Auth Service handles both authentication and authorization for all of Fandor's services.\n+\n+## Creating A New Session\n+To request a new user session be created, send an HTTP POST request to the `/sessions` resource. An authorization header must be provided which includes the client api key.\n+\n+```http\n+POST /sessions HTTP/1.1\n+Accept: application/vnd.api+json\n+Authorization: FandorAPITrustedClient zuv89hj2983rhov7s9afd7vh872h458fgth\n+Content-Type: application/vnd.api+json\n+\n+{\n+  \"data\": {\n+    \"type\": \"Session\"\n+  }\n+}\n+```\n+\n+>The `api_key` will be provided to our partners on an individual basis. If you don't have one and think you need one, contact us. Each Fandor service will have its own `api_key`.\n+\n+### Success\n+If the `api_key` matches our records, a response in the following format will be returned:\n+\n+```http\n+HTTP/1.1 201 Created\n+Location: https://api.fandor.com/sessions/a68778b342e786f8f186381\n+Content-Type: application/vnd.api+json\n+\n+{\n+  \"data\": {\n+    \"type\": \"Session\",\n+    \"id\": \"a68778b342e786f8f186381\",\n+    \"links\": {\n+      \"self\": \"http://api.fandor.com/sessions/a68778b342e786f8f186381\"\n+    },\n+    \"relationships\": {\n+      \"privileges\": [\n+        {\n+          \"data\": { \"type\": \"Privilege\", \"id\": 1 }\n+        },\n+        {\n+          \"data\": { \"type\": \"Privilege\", \"id\": 2 }\n+        },\n+        {\n+          \"data\": { \"type\": \"Privilege\", \"id\": 3 }\n+        }\n+      ]\n+    }\n+  },\n+  \"included\": [\n+    {\n+      \"type\": \"Privilege\",\n+      \"id\": 1,\n+      \"attributes\": {\n+        \"resource\": \"film\",\n+        \"actions\": [\"read\"]\n+      }\n+    },\n+    {\n+      \"type\": \"Privilege\",\n+      \"id\": 2,\n+      \"attributes\": {\n+        \"resource\": \"article\",\n+        \"actions\": [\"read\"]\n+      }\n+    },\n+    {\n+      \"type\": \"Privilege\",\n+      \"id\": 3,\n+      \"attributes\": {\n+        \"resource\": \"comment\",\n+        \"actions\": [\"read\", \"create\"]\n+      }\n+    }\n+  ]\n+}\n+```\n+\n+The included privileges are the default privileges given to guest users.\n+\n+### Failure\n+If the `api_key` is missing or does not match any in our records, an Unauthorized response will be returned.\n+\n+```http\n+HTTP/1.1 401 Unauthorized\n+Content-Type: application/vnd.api+json\n+WWW-Authenticate: FandorAPITrustedClient\n+\n+{\n+  \"errors\": [\n+    {\n+      \"status\": \"401\",\n+      \"title\": \"Create Session Unauthorized\",\n+      \"detail\": \"The supplied `api_key` is missing or invalid.\"\n+    }\n+  ]\n+}\n+```\n+\n+## Authorization Header\n+Once a session is created, all requests should include the Fandor Authorization header and include the session id.\n+\n+```http\n+Authorization: FandorAPI a68778b342e786f8f186381\n+```\n+\n+If the authorization header doesn't contain a valid session id or the session is not valid for the request, unauthorized is returned.\n+\n+```http\n+HTTP/1.1 401 Unauthorized\n+Content-Type: application/vnd.api+json\n+WWW-Authenticate: FandorAPI\n+\n+{\n+  \"errors\": [\n+    {\n+      \"status\": \"401\",\n+      \"title\": \"Unauthorized\",\n+      \"detail\": \"You must supply an Authorization header with a valid Fandor session token.\"\n+    }\n+  ]\n+}\n+```\n+\n+## Authenticating Requests\n+Each request must be authenticated using the above mentioned Authorization header. Only Fandor services are allowed to perform this type of verification, and only by using their own API key in the request Authorization header. All origin members must be included in the query string. The request can either be a HEAD (for session validation only) or GET (when session data is needed for the request).\n+\n+```http\n+HEAD /sessions/a68778b342e786f8f186381?origin_member1=foo&origin_member2=bar HTTP/1.1\n+Authorization: FandorAPITrustedClient 02n7hgt4hfhw97f977429iyuudyakaiqow\n+```\n+\n+```http\n+GET /sessions/a68778b342e786f8f186381?origin_member1=foo&origin_member2=bar HTTP/1.1\n+Accept: application/vnd.api+json\n+Authorization: FandorAPITrustedClient 02n7hgt4hfhw97f977429iyuudyakaiqow\n+```\n+\n+### Success\n+For HEAD requests, if the session is found and the origin members all match the session, no content will be returned, indicating the session is valid.\n+\n+```http\n+HTTP/1.1 204 No Content\n+```\n+\n+For GET requests, if the session is found and the origin members all match the session, OK will be returned along with the session and user session data.\n+\n+```http\n+HTTP/1.1 200 OK\n+Content-Type: application/vnd.api+json\n+\n+{\n+  \"data\": {\n+    \"type\": \"Session\",\n+    \"id\": \"a68778b342e786f8f186381\",\n+    \"links\": {\n+      \"self\": \"http://api.fandor.com/sessions/a68778b342e786f8f186381\"\n+    },\n+    \"relationships\": {\n+      \"user_session\": {\n+        \"data\": { \"type\": \"SessionUser\", \"id\": \"1\" }\n+      }\n+    }\n+  }\n+  \"included\": [\n+    {\n+      \"type\": \"SessionUser\",\n+      \"id\": \"1\",\n+      \"links\": {\n+        \"self\": \"http://api.fandor.com/sessions/a68778b342e786f8f186381/user\",\n+        \"user\": \"http://api.fandor.com/users/6178\"\n+      },\n+      \"relationships\": {\n+        \"privileges\": [\n+          {\n+            \"data\": { \"type\": \"Privilege\", \"id\": 1 }\n+          },\n+          // ...\n+        ],\n+        \"user\": {\n+          \"data\": { \"type\": \"User\", \"id\": 6178 }\n+        }\n+      }\n+    },\n+    {\n+      \"type\": \"Privilege\",\n+      \"id\": 1,\n+      \"attributes\": {\n+        \"resource\": \"film\",\n+        \"actions\": [\"read\", \"play\", \"rate\"]\n+      }\n+    },\n+    // ...\n+    {\n+      \"type\": \"User\",\n+      \"id\": 6178,\n+      \"attributes\": {\n+        \"username\": \"bwilliams@example.com\",\n+        \"email\": \"bob@example.com\",\n+        \"first_name\": \"Bob\",\n+        \"last_name\": \"Williams\",\n+        \"subscribed\": true\n+      }\n+    }\n+  ]\n+}\n+```\n+\n+### Failure\n+If the api key used to make the request between the Fandor service and the Auth service is not valid, unauthorized will be returned to the Fandor service.\n+\n+```http\n+HTTP/1.1 401 Unauthorized\n+WWW-Authenticate: FandorAPITrustedClient\n+```\n+\n+If the session is not found or the origin members don't match what's recorded on the session, not found will be returned to the Fandor service.\n+\n+```http\n+HTTP/1.1 404 Not Found\n+```\n+\n+>Origin is determined by examining a variety of request headers. For obscurity reasons, those details are omitted from this public document. If you believe you need to know the details of this implementation, please contact Fandor engineering directly.\n+\n+>Note: Just because the Auth service responds in a particular way to the Fandor service, that doesn't necessarily mean that specific response will be sent all the way back to the client that sent the original request.\n+\n+## Signing In\n+Signing in effectively links a session with a user account. To sign in, create an associate between the user and the session by providing the `username` and `password` of the user.\n+\n+```http\n+POST /sessions/a68778b342e786f8f186381/user HTTP/1.1\n+Accept: application/vnd.api+json\n+Authorization: FandorAPI a68778b342e786f8f186381\n+Content-Type: application/vnd.api+json\n+\n+{\n+  \"data\": {\n+    \"type\": \"SessionUser\",\n+    \"relationships\": {\n+      \"user\": {\n+        \"data\": {\n+          \"username\": \"bob@example.com\",\n+          \"password\": \"zjv97@ajp*17hluIv\"\n+        }\n+      }\n+    }\n+  }\n+}\n+```\n+\n+### Success\n+If the credentials provided match our records, a response in the following format will be returned:\n+\n+```http\n+HTTP/1.1 201 Created\n+Location: https://api.fandor.com/sessions/a68778b342e786f8f186381/user\n+Content-Type: application/vnd.api+json\n+\n+{\n+  \"data\": {\n+    \"type\": \"SessionUser\",\n+    \"id\": \"1\",\n+    \"links\": {\n+      \"self\": \"http://api.fandor.com/sessions/a68778b342e786f8f186381/user\",\n+      \"user\": \"http://api.fandor.com/users/6178\"\n+    },\n+    \"relationships\": {\n+      \"privileges\": [\n+        {\n+          \"data\": { \"type\": \"Privilege\", \"id\": 1 }\n+        },\n+        // ...\n+      ],\n+      \"user\": {\n+        \"data\": { \"type\": \"User\", \"id\": 6178 }\n+      }\n+    }\n+  },\n+  \"included\": [\n+    {\n+      \"type\": \"Privilege\",\n+      \"id\": 1,\n+      \"attributes\": {\n+        \"resource\": \"film\",\n+        \"actions\": [\"read\", \"play\", \"rate\"]\n+      }\n+    },\n+    // ...\n+    {\n+      \"type\": \"User\",\n+      \"id\": 6178,\n+      \"attributes\": {\n+        \"username\": \"bwilliams@example.com\",\n+        \"email\": \"bob@example.com\",\n+        \"first_name\": \"Bob\",\n+        \"last_name\": \"Williams\",\n+        \"subscribed\": true\n+      }\n+    }\n+  ]\n+}\n+```\n+\n+### Failure\n+If the `username` or `password` is missing or does not match any users in our system, an Unauthorized response will be returned.\n+\n+```http\n+HTTP/1.1 401 Unauthorized\n+Content-Type: application/vnd.api+json\n+WWW-Authenticate: FandorAPI\n+\n+{\n+  \"errors\": [\n+    {\n+      \"status\": \"401\",\n+      \"title\": \"Sign In Unauthorized\",\n+      \"detail\": \"The supplied `username` and `password` are missing or invalid.\"\n+    }\n+  ]\n+}\n+```\n+\n+## Signing Out\n+Signing out effectively invalidates an existing session and creates a new one. To sign out, set the sessions `inactive` attribute to `true`.\n+\n+```http\n+PUT /sessions/a68778b342e786f8f186381 HTTP/1.1\n+Accept: application/vnd.api+json\n+Authorization: FandorAPI a68778b342e786f8f186381\n+Content-Type: application/vnd.api+json\n+\n+{\n+  \"data\": {\n+    \"type\": \"Session\",\n+    \"id\": \"a68778b342e786f8f186381\",\n+    \"attributes\": {\n+      \"inactive\": true\n+    }\n+  }\n+}\n+```\n+\n+### Success\n+If the request is successful no content will be returned.\n+\n+```http\n+HTTP/1.1 204 No Content\n+```\n+\n+>Clients are responsible for requesting a new session if the user continues to use the system after signing out.\n+\n+### Failure\n+If the request path doesn't match the id provided, bad request will be returned.\n+\n+```http\n+HTTP/1.1 400 Bad Request","path":"authentication.md","position":357,"original_position":357,"commit_id":"8c9e1f32512d4f8b3f0581535268ceb0033e2a8c","original_commit_id":"8c9e1f32512d4f8b3f0581535268ceb0033e2a8c","user":{"login":"coenwulf","id":7647660,"avatar_url":"https://avatars.githubusercontent.com/u/7647660?v=3","gravatar_id":"","url":"https://api.github.com/users/coenwulf","html_url":"https://github.com/coenwulf","followers_url":"https://api.github.com/users/coenwulf/followers","following_url":"https://api.github.com/users/coenwulf/following{/other_user}","gists_url":"https://api.github.com/users/coenwulf/gists{/gist_id}","starred_url":"https://api.github.com/users/coenwulf/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/coenwulf/subscriptions","organizations_url":"https://api.github.com/users/coenwulf/orgs","repos_url":"https://api.github.com/users/coenwulf/repos","events_url":"https://api.github.com/users/coenwulf/events{/privacy}","received_events_url":"https://api.github.com/users/coenwulf/received_events","type":"User","site_admin":false},"body":"I think this issue goes away if we simply use DELETE as in the suggestion I just made.","created_at":"2016-02-25T19:51:32Z","updated_at":"2016-02-25T19:51:32Z","html_url":"https://github.com/fandor/api/pull/6#discussion_r54153251","pull_request_url":"https://api.github.com/repos/fandor/api/pulls/6","_links":{"self":{"href":"https://api.github.com/repos/fandor/api/pulls/comments/54153251"},"html":{"href":"https://github.com/fandor/api/pull/6#discussion_r54153251"},"pull_request":{"href":"https://api.github.com/repos/fandor/api/pulls/6"}}},"pull_request":{"url":"https://api.github.com/repos/fandor/api/pulls/6","id":60599848,"html_url":"https://github.com/fandor/api/pull/6","diff_url":"https://github.com/fandor/api/pull/6.diff","patch_url":"https://github.com/fandor/api/pull/6.patch","issue_url":"https://api.github.com/repos/fandor/api/issues/6","number":6,"state":"open","locked":false,"title":"Epic/v3","user":{"login":"avilyn","id":6353325,"avatar_url":"https://avatars.githubusercontent.com/u/6353325?v=3","gravatar_id":"","url":"https://api.github.com/users/avilyn","html_url":"https://github.com/avilyn","followers_url":"https://api.github.com/users/avilyn/followers","following_url":"https://api.github.com/users/avilyn/following{/other_user}","gists_url":"https://api.github.com/users/avilyn/gists{/gist_id}","starred_url":"https://api.github.com/users/avilyn/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/avilyn/subscriptions","organizations_url":"https://api.github.com/users/avilyn/orgs","repos_url":"https://api.github.com/users/avilyn/repos","events_url":"https://api.github.com/users/avilyn/events{/privacy}","received_events_url":"https://api.github.com/users/avilyn/received_events","type":"User","site_admin":false},"body":"#### Purpose of Pull Request?\r\n\r\nFirst draft of the our generalized API contract.\r\n\r\n#### Provide link to Tracker Story:\r\n#### How should this code be validated?\r\n\r\nPlease read through the documentation, ask questions, and make suggestions.\r\n\r\n#### Any background context you want to provide?\r\n#### Questions:","created_at":"2016-02-24T23:43:41Z","updated_at":"2016-02-25T19:51:32Z","closed_at":null,"merged_at":null,"merge_commit_sha":"557d26bddc33f2e83da88b0dddf2b1b72aaed56d","assignee":null,"milestone":null,"commits_url":"https://api.github.com/repos/fandor/api/pulls/6/commits","review_comments_url":"https://api.github.com/repos/fandor/api/pulls/6/comments","review_comment_url":"https://api.github.com/repos/fandor/api/pulls/comments{/number}","comments_url":"https://api.github.com/repos/fandor/api/issues/6/comments","statuses_url":"https://api.github.com/repos/fandor/api/statuses/8c9e1f32512d4f8b3f0581535268ceb0033e2a8c","head":{"label":"fandor:epic/v3","ref":"epic/v3","sha":"8c9e1f32512d4f8b3f0581535268ceb0033e2a8c","user":{"login":"fandor","id":1661184,"avatar_url":"https://avatars.githubusercontent.com/u/1661184?v=3","gravatar_id":"","url":"https://api.github.com/users/fandor","html_url":"https://github.com/fandor","followers_url":"https://api.github.com/users/fandor/followers","following_url":"https://api.github.com/users/fandor/following{/other_user}","gists_url":"https://api.github.com/users/fandor/gists{/gist_id}","starred_url":"https://api.github.com/users/fandor/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/fandor/subscriptions","organizations_url":"https://api.github.com/users/fandor/orgs","repos_url":"https://api.github.com/users/fandor/repos","events_url":"https://api.github.com/users/fandor/events{/privacy}","received_events_url":"https://api.github.com/users/fandor/received_events","type":"Organization","site_admin":false},"repo":{"id":52093870,"name":"api","full_name":"fandor/api","owner":{"login":"fandor","id":1661184,"avatar_url":"https://avatars.githubusercontent.com/u/1661184?v=3","gravatar_id":"","url":"https://api.github.com/users/fandor","html_url":"https://github.com/fandor","followers_url":"https://api.github.com/users/fandor/followers","following_url":"https://api.github.com/users/fandor/following{/other_user}","gists_url":"https://api.github.com/users/fandor/gists{/gist_id}","starred_url":"https://api.github.com/users/fandor/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/fandor/subscriptions","organizations_url":"https://api.github.com/users/fandor/orgs","repos_url":"https://api.github.com/users/fandor/repos","events_url":"https://api.github.com/users/fandor/events{/privacy}","received_events_url":"https://api.github.com/users/fandor/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/fandor/api","description":"Houses Fandor's API documentation.","fork":false,"url":"https://api.github.com/repos/fandor/api","forks_url":"https://api.github.com/repos/fandor/api/forks","keys_url":"https://api.github.com/repos/fandor/api/keys{/key_id}","collaborators_url":"https://api.github.com/repos/fandor/api/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/fandor/api/teams","hooks_url":"https://api.github.com/repos/fandor/api/hooks","issue_events_url":"https://api.github.com/repos/fandor/api/issues/events{/number}","events_url":"https://api.github.com/repos/fandor/api/events","assignees_url":"https://api.github.com/repos/fandor/api/assignees{/user}","branches_url":"https://api.github.com/repos/fandor/api/branches{/branch}","tags_url":"https://api.github.com/repos/fandor/api/tags","blobs_url":"https://api.github.com/repos/fandor/api/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/fandor/api/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/fandor/api/git/refs{/sha}","trees_url":"https://api.github.com/repos/fandor/api/git/trees{/sha}","statuses_url":"https://api.github.com/repos/fandor/api/statuses/{sha}","languages_url":"https://api.github.com/repos/fandor/api/languages","stargazers_url":"https://api.github.com/repos/fandor/api/stargazers","contributors_url":"https://api.github.com/repos/fandor/api/contributors","subscribers_url":"https://api.github.com/repos/fandor/api/subscribers","subscription_url":"https://api.github.com/repos/fandor/api/subscription","commits_url":"https://api.github.com/repos/fandor/api/commits{/sha}","git_commits_url":"https://api.github.com/repos/fandor/api/git/commits{/sha}","comments_url":"https://api.github.com/repos/fandor/api/comments{/number}","issue_comment_url":"https://api.github.com/repos/fandor/api/issues/comments{/number}","contents_url":"https://api.github.com/repos/fandor/api/contents/{+path}","compare_url":"https://api.github.com/repos/fandor/api/compare/{base}...{head}","merges_url":"https://api.github.com/repos/fandor/api/merges","archive_url":"https://api.github.com/repos/fandor/api/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/fandor/api/downloads","issues_url":"https://api.github.com/repos/fandor/api/issues{/number}","pulls_url":"https://api.github.com/repos/fandor/api/pulls{/number}","milestones_url":"https://api.github.com/repos/fandor/api/milestones{/number}","notifications_url":"https://api.github.com/repos/fandor/api/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/fandor/api/labels{/name}","releases_url":"https://api.github.com/repos/fandor/api/releases{/id}","deployments_url":"https://api.github.com/repos/fandor/api/deployments","created_at":"2016-02-19T14:41:38Z","updated_at":"2016-02-19T14:41:38Z","pushed_at":"2016-02-25T19:10:53Z","git_url":"git://github.com/fandor/api.git","ssh_url":"git@github.com:fandor/api.git","clone_url":"https://github.com/fandor/api.git","svn_url":"https://github.com/fandor/api","homepage":null,"size":92,"stargazers_count":0,"watchers_count":0,"language":null,"has_issues":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":0,"mirror_url":null,"open_issues_count":1,"forks":0,"open_issues":1,"watchers":0,"default_branch":"master"}},"base":{"label":"fandor:master","ref":"master","sha":"a48c9cc3af0da51c6759062d71e4abb015da6442","user":{"login":"fandor","id":1661184,"avatar_url":"https://avatars.githubusercontent.com/u/1661184?v=3","gravatar_id":"","url":"https://api.github.com/users/fandor","html_url":"https://github.com/fandor","followers_url":"https://api.github.com/users/fandor/followers","following_url":"https://api.github.com/users/fandor/following{/other_user}","gists_url":"https://api.github.com/users/fandor/gists{/gist_id}","starred_url":"https://api.github.com/users/fandor/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/fandor/subscriptions","organizations_url":"https://api.github.com/users/fandor/orgs","repos_url":"https://api.github.com/users/fandor/repos","events_url":"https://api.github.com/users/fandor/events{/privacy}","received_events_url":"https://api.github.com/users/fandor/received_events","type":"Organization","site_admin":false},"repo":{"id":52093870,"name":"api","full_name":"fandor/api","owner":{"login":"fandor","id":1661184,"avatar_url":"https://avatars.githubusercontent.com/u/1661184?v=3","gravatar_id":"","url":"https://api.github.com/users/fandor","html_url":"https://github.com/fandor","followers_url":"https://api.github.com/users/fandor/followers","following_url":"https://api.github.com/users/fandor/following{/other_user}","gists_url":"https://api.github.com/users/fandor/gists{/gist_id}","starred_url":"https://api.github.com/users/fandor/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/fandor/subscriptions","organizations_url":"https://api.github.com/users/fandor/orgs","repos_url":"https://api.github.com/users/fandor/repos","events_url":"https://api.github.com/users/fandor/events{/privacy}","received_events_url":"https://api.github.com/users/fandor/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/fandor/api","description":"Houses Fandor's API documentation.","fork":false,"url":"https://api.github.com/repos/fandor/api","forks_url":"https://api.github.com/repos/fandor/api/forks","keys_url":"https://api.github.com/repos/fandor/api/keys{/key_id}","collaborators_url":"https://api.github.com/repos/fandor/api/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/fandor/api/teams","hooks_url":"https://api.github.com/repos/fandor/api/hooks","issue_events_url":"https://api.github.com/repos/fandor/api/issues/events{/number}","events_url":"https://api.github.com/repos/fandor/api/events","assignees_url":"https://api.github.com/repos/fandor/api/assignees{/user}","branches_url":"https://api.github.com/repos/fandor/api/branches{/branch}","tags_url":"https://api.github.com/repos/fandor/api/tags","blobs_url":"https://api.github.com/repos/fandor/api/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/fandor/api/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/fandor/api/git/refs{/sha}","trees_url":"https://api.github.com/repos/fandor/api/git/trees{/sha}","statuses_url":"https://api.github.com/repos/fandor/api/statuses/{sha}","languages_url":"https://api.github.com/repos/fandor/api/languages","stargazers_url":"https://api.github.com/repos/fandor/api/stargazers","contributors_url":"https://api.github.com/repos/fandor/api/contributors","subscribers_url":"https://api.github.com/repos/fandor/api/subscribers","subscription_url":"https://api.github.com/repos/fandor/api/subscription","commits_url":"https://api.github.com/repos/fandor/api/commits{/sha}","git_commits_url":"https://api.github.com/repos/fandor/api/git/commits{/sha}","comments_url":"https://api.github.com/repos/fandor/api/comments{/number}","issue_comment_url":"https://api.github.com/repos/fandor/api/issues/comments{/number}","contents_url":"https://api.github.com/repos/fandor/api/contents/{+path}","compare_url":"https://api.github.com/repos/fandor/api/compare/{base}...{head}","merges_url":"https://api.github.com/repos/fandor/api/merges","archive_url":"https://api.github.com/repos/fandor/api/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/fandor/api/downloads","issues_url":"https://api.github.com/repos/fandor/api/issues{/number}","pulls_url":"https://api.github.com/repos/fandor/api/pulls{/number}","milestones_url":"https://api.github.com/repos/fandor/api/milestones{/number}","notifications_url":"https://api.github.com/repos/fandor/api/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/fandor/api/labels{/name}","releases_url":"https://api.github.com/repos/fandor/api/releases{/id}","deployments_url":"https://api.github.com/repos/fandor/api/deployments","created_at":"2016-02-19T14:41:38Z","updated_at":"2016-02-19T14:41:38Z","pushed_at":"2016-02-25T19:10:53Z","git_url":"git://github.com/fandor/api.git","ssh_url":"git@github.com:fandor/api.git","clone_url":"https://github.com/fandor/api.git","svn_url":"https://github.com/fandor/api","homepage":null,"size":92,"stargazers_count":0,"watchers_count":0,"language":null,"has_issues":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":0,"mirror_url":null,"open_issues_count":1,"forks":0,"open_issues":1,"watchers":0,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/fandor/api/pulls/6"},"html":{"href":"https://github.com/fandor/api/pull/6"},"issue":{"href":"https://api.github.com/repos/fandor/api/issues/6"},"comments":{"href":"https://api.github.com/repos/fandor/api/issues/6/comments"},"review_comments":{"href":"https://api.github.com/repos/fandor/api/pulls/6/comments"},"review_comment":{"href":"https://api.github.com/repos/fandor/api/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/fandor/api/pulls/6/commits"},"statuses":{"href":"https://api.github.com/repos/fandor/api/statuses/8c9e1f32512d4f8b3f0581535268ceb0033e2a8c"}}}}