{"comment":{"url":"https://api.github.com/repos/json-api/json-api/comments/11006428","html_url":"https://github.com/json-api/json-api/commit/c9d4e81b2dbb76d1693a3de18c57f18669c14173#commitcomment-11006428","id":11006428,"user":{"login":"hhware","id":5066676,"avatar_url":"https://avatars.githubusercontent.com/u/5066676?v=3","gravatar_id":"","url":"https://api.github.com/users/hhware","html_url":"https://github.com/hhware","followers_url":"https://api.github.com/users/hhware/followers","following_url":"https://api.github.com/users/hhware/following{/other_user}","gists_url":"https://api.github.com/users/hhware/gists{/gist_id}","starred_url":"https://api.github.com/users/hhware/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/hhware/subscriptions","organizations_url":"https://api.github.com/users/hhware/orgs","repos_url":"https://api.github.com/users/hhware/repos","events_url":"https://api.github.com/users/hhware/events{/privacy}","received_events_url":"https://api.github.com/users/hhware/received_events","type":"User","site_admin":false},"position":47,"line":234,"path":"format/index.md","commit_id":"c9d4e81b2dbb76d1693a3de18c57f18669c14173","created_at":"2015-05-01T19:36:02Z","updated_at":"2015-05-01T19:36:02Z","body":"> Complex attributes reserve type and id largely so they can't be made addressable\r\n\r\nI now think `attributes.id` could really generate conflicts and should be probably disallowed, but unavailability of attribute `type` was a gripe of many, I think it should be allowed.\r\n\r\n> which prevents complex attributes from blurring into embedded resources and causing confusion about embedding vs. the include parameter and the \"included\" key.\r\n\r\nWill there be any confusion with embedding? Embedded resources will obviously have to have the same structure, i.e. hold attributes under key `attributes`.\r\n\r\nAnother consideration: possibility to directly address JSON-API-reserved keys at resource level: `meta` (discussion: #470), `links` (example: https://github.com/hhware/json-api/commit/51bb65abd695e1c9d618a6147db1fe3ff33823ad#diff-26e38355b69056b0db1c2b1c612241b2R932). This addressing is of no use now, but could be useful in the future, or could be useful for custom implementations. But if we look at the question from this perspective, we should reserve all such keys at attribute level too, which defeats the purpose of this PR.\r\n\r\nSo my updated suggestion is to prohibit `attributes.id` but do not restrict content of complex attributes at all, even `id` should be allowed in there."}}