{"_id":"558a79f2dbe5b63700f8d23f","project":"54870ea47810260b001c36ab","__v":20,"version":{"_id":"54870ea57810260b001c36ae","project":"54870ea47810260b001c36ab","__v":17,"createdAt":"2014-12-09T15:00:53.237Z","releaseDate":"2014-12-09T15:00:53.237Z","categories":["54870ea57810260b001c36af","5487116f7810260b001c36b5","548711797810260b001c36b6","548711807810260b001c36b7","548713127810260b001c36bd","548713247810260b001c36be","548713aa7810260b001c36c0","548713c2f907080b00fc49d5","548713eef907080b00fc49d9","54871a0db3441a1f00f20d78","54871b15b3441a1f00f20d7e","54871cbeb3441a1f00f20d87","548817fac178b40b00aa2eec","558a6dd975eaf50d004e4bf5","558a6e37dbe5b63700f8d1fe","56795d8c07bf6a0d0083ee9e","583e9d764ced340f00b05a5c"],"is_deprecated":false,"is_hidden":false,"is_beta":false,"is_stable":true,"codename":"","version_clean":"1.0.0","version":"1.0"},"githubsync":"","category":{"_id":"558a6dd975eaf50d004e4bf5","version":"54870ea57810260b001c36ae","pages":["558a6e098d30cb2300873e1a","558a6e88dbe5b63700f8d201","558a6e9275eaf50d004e4bfa","558a6e9a8d30cb2300873e1c","558a79f2dbe5b63700f8d23f","5592abfb6bf22f170075b823","55a65e4580c8a30d00b32618","55ba22f804775a2f006280aa","55ba2648b3612925009d66f0","56045138e416560d00fa6484","560452e4e5102a0d0070f965","560455090c78b00d0039b18b","56176873a410c90d00c612aa","56176a014d9e4a17002a0e05","5628d38e0653060d00a2f7d9","5628d5d748742a0d0047456d","56a669cffb12a40d006c4826"],"__v":17,"project":"54870ea47810260b001c36ab","sync":{"url":"","isSync":false},"reference":false,"createdAt":"2015-06-24T08:44:09.019Z","from_sync":false,"order":4,"slug":"api","title":"API"},"user":"54870d54f907080b00fc49cd","parentDoc":null,"updates":["57769870f8197e0e00311219"],"next":{"pages":[],"description":""},"createdAt":"2015-06-24T09:35:46.214Z","link_external":false,"link_url":"","sync_unique":"","hidden":false,"api":{"results":{"codes":[]},"settings":"","auth":"required","params":[],"url":""},"isReference":false,"order":0,"body":"[block:callout]\n{\n  \"type\": \"info\",\n  \"body\": \"This API works for both apps ArchiSnapper.com and SafetySnapper.com - it is 100% the same API, only the endpoint URL is different\"\n}\n[/block]\n\n[block:callout]\n{\n  \"type\": \"info\",\n  \"body\": \"If you notice the docs are out of date or are unclear, please don't be shy about clicking the \\\"Suggest Edits\\\" link! We're working to keep these docs up to date, however sometimes we get behind – and we'd love your help.\"\n}\n[/block]\n\n[block:api-header]\n{\n  \"type\": \"basic\",\n  \"title\": \"Authentication\"\n}\n[/block]\nAuthentication requires a key. You will need to include your key in ever request. Please ask your key to support:::at:::archisnapper.com if you don't have your key yet.\n\nThe key can be passed via query param as GET...\n[block:code]\n{\n  \"codes\": [\n    {\n      \"code\": \"/api/public/v1/sites.json?auth_token=YOUR_KEY\",\n      \"language\": \"text\"\n    }\n  ]\n}\n[/block]\n...or you can include it in the data being POSTed\n[block:code]\n{\n  \"codes\": [\n    {\n      \"code\": \"{\\\"auth_token\\\"=>\\\"YOUR_KEY\\\", ... }\",\n      \"language\": \"text\"\n    }\n  ]\n}\n[/block]\nIf you don't pass a key, you will get an error\n[block:api-header]\n{\n  \"type\": \"basic\",\n  \"title\": \"API endpoint\"\n}\n[/block]\nThe full API endpoint is\n[block:code]\n{\n  \"codes\": [\n    {\n      \"code\": \"https://app3.archisnapper.com/api/public/v1/\",\n      \"language\": \"text\"\n    }\n  ]\n}\n[/block]\nor if you are using SafetySnapper, use this endpoint\n[block:code]\n{\n  \"codes\": [\n    {\n      \"code\": \"https://app3.safetysnapper.com/api/public/v1/\",\n      \"language\": \"text\"\n    }\n  ]\n}\n[/block]\n\n[block:api-header]\n{\n  \"type\": \"basic\",\n  \"title\": \"API rate limits\"\n}\n[/block]\nWe apply the following rate limits for our API:\n- max 100 requests per minute\n- max 10.000 requests per day\n[block:api-header]\n{\n  \"title\": \"About our different ID's (for projects).\"\n}\n[/block]\nWe have 4 different ID's which you can work with in (most) of our API endpoints\n\n- *id* is our own internal ID, created and managed by us. You will see it and you can use it in most API calls.\n- *uuid* is our own internal UUID, created and managed by us. You will see it and you can use it in most API calls.\n- *unique_id* is your project number. It has to be unique. It can be changed online by end users working with ArchiSnapper.\n- *client_internal_unique_id* is your own internal ID. It is not mandatory to use within ArchiSnapper. If you use it, it has to be unique. It can not be changed by end users working with ArchiSnapper, it can only be set and changed by this API. If you use this, you can be sure that it will never be changed (unless you change it via API calls).","excerpt":"","slug":"getting-started","type":"basic","title":"Getting started"}
[block:callout] { "type": "info", "body": "This API works for both apps ArchiSnapper.com and SafetySnapper.com - it is 100% the same API, only the endpoint URL is different" } [/block] [block:callout] { "type": "info", "body": "If you notice the docs are out of date or are unclear, please don't be shy about clicking the \"Suggest Edits\" link! We're working to keep these docs up to date, however sometimes we get behind – and we'd love your help." } [/block] [block:api-header] { "type": "basic", "title": "Authentication" } [/block] Authentication requires a key. You will need to include your key in ever request. Please ask your key to support@archisnapper.com if you don't have your key yet. The key can be passed via query param as GET... [block:code] { "codes": [ { "code": "/api/public/v1/sites.json?auth_token=YOUR_KEY", "language": "text" } ] } [/block] ...or you can include it in the data being POSTed [block:code] { "codes": [ { "code": "{\"auth_token\"=>\"YOUR_KEY\", ... }", "language": "text" } ] } [/block] If you don't pass a key, you will get an error [block:api-header] { "type": "basic", "title": "API endpoint" } [/block] The full API endpoint is [block:code] { "codes": [ { "code": "https://app3.archisnapper.com/api/public/v1/", "language": "text" } ] } [/block] or if you are using SafetySnapper, use this endpoint [block:code] { "codes": [ { "code": "https://app3.safetysnapper.com/api/public/v1/", "language": "text" } ] } [/block] [block:api-header] { "type": "basic", "title": "API rate limits" } [/block] We apply the following rate limits for our API: - max 100 requests per minute - max 10.000 requests per day [block:api-header] { "title": "About our different ID's (for projects)." } [/block] We have 4 different ID's which you can work with in (most) of our API endpoints - *id* is our own internal ID, created and managed by us. You will see it and you can use it in most API calls. - *uuid* is our own internal UUID, created and managed by us. You will see it and you can use it in most API calls. - *unique_id* is your project number. It has to be unique. It can be changed online by end users working with ArchiSnapper. - *client_internal_unique_id* is your own internal ID. It is not mandatory to use within ArchiSnapper. If you use it, it has to be unique. It can not be changed by end users working with ArchiSnapper, it can only be set and changed by this API. If you use this, you can be sure that it will never be changed (unless you change it via API calls).