{"activeVersionTag":"latest","latestAvailableVersionTag":"latest","collection":{"info":{"_postman_id":"511d7c3e-6da2-4943-8eb1-395ccfd1592a","name":"EdSmart REST API","description":"# Support\n\nFor all support please email <help@edsmart.com>\n\n# End Point\n\nAll calls to the API are to these end points: \n\nStaging/test \nhttps://rest-release.edsmart.com/rest/v1/ \n\nProduction \nhttps://rest.edsmart.com/rest/v1/\n\n# HTTP Status Codes\nWhere possible the API will return a 200 Success response. Any other HTTP status will only be returned for a major error, for example 404 if you call the wrong end point.\n\n# Error Messages\nThe API will endeavour to return an error code that explains any problems. For example:\n\n``` json\n{\n\"generated_in\": 0, \"stat\": \"fail\", \"err\": {\n\"code\": 32,\n\"msg\": \"Could not authenticate you\" }\n}\n```\n# Rate Limits\n\nBy default there are no rate limits but these may be imposed on an account accessing the API if it's deemed usage is impacting the platform.\n\n# Objects\n\nMost data elements in the API are accessed via an Object Type and Object Method. \n\nThere are nine Object Types:\n\n1. Slips - encompassing all Forms, Slips and Broadcasts\n2. Accounts - Individual school instances\n3. Users - Staff\n4. Contacts - Parents and Guardians\n5. Participant List - Student Lists\n6. Form Templates\n7. Participants - Students\n8. Contact List\n9. Slip Response - A submitted instance of a Form or Slip\n\nThere are a considerable number of methods. \n\n# Authentication\n\nAll calls to the API require a User Token acquired via the getUserToken call. Subsequent calls to the API pass the User Token via the Authorization header value.\n\nYou will need:\n\n1. A User sign in (email and password) with Administrator rights. These are needed for the getUserToken call to obtain an authorization token\n2. API key and secret to sign your calls to the API. These are issued by EdSmart, please email <help@edsmart.com> to request credentials\n\n# Structure of calls\n\nAll calls are either POST (to change information); or GET (to read data). The structure is:\n\nEnd Point + Object Type + Object Type\n\nhttps://rest.edsmart.com/rest/v1/[objectType]/[objectMethod].json\n\nAll calls are signed by taking a list of parameters, forming them into a string, and creating a signature, which is then appended to the call.\n\nThe signature is created by using a ‘consumer key’ and ‘consumer secret’. The consumer key is passed with the call. The consumer secret must not be revealed at any time.\n\n# Steps\n\n<b>1 Create a parameter string, they must be in alphabetical order. For example for getUserToken:</b> \n\n> consumer_key=JTSxrKGgVj2VsqTwdwPvkh&ip=10.211.55.2&userEmail=email%40domain.com&use rPassword=yPcyXkesUQmAqyQKJDdrLwdtjFzxSYpb\n\nFor all subsequent calls the parameter string needs to including the objectMethod and objectType, for example:\n\n> changeSort=0&consumer_key=JTSxrKGgVj2VsqTwdwPvkh&ip=10.211.55.2&lang=en&mypagesize= 20&objectMethod=listParticipantLists=objectTypeName=lists\n\n<b>2 Create a string to be signed. The end point and the parameters should be URL encoded before being added to the string:</b>\n\nMethod (POST/GET) + End Point + Parameter string\n\nFor example:\n\n> GET&https%3A%2F%2Frest.edsmart.com%2Frest%2Fv1%2F&changeSort%3D0%26consumer_key%3DJ TSxrKGgVj2VsqTwdwPvkh%26ip%3D10.211.55.2%26lang%3Den%26mypagesize%3D40%26objectMeth od%3DlistParticipantLists%26objectTypeName%3Dlists\n\n<b>3 Create an SHA-1 BASE64 hash of the string, using the consumer secret</b>\n\n> 5Nbit78efEnUTQOHq4bMZklezQA=\n\nThis is a handy page for checking your hash:\n\nhttps://www.liavaag.org/English/SHA-Generator/HMAC/\n\n<b>4 URL encode the signature</b>\n\n> 5Nbit78efEnUTQOHq4bMZklezQA%3D\n\n<b>5 The signature is then added to the call to the API. For a POST it is included in the JSON submitted in the request body. For a GET it is appended to the query string.</b>\n\nFor example:\n\n> https://rest.edsmart.com/rest/v1/lists/listParticipantLists.json?consumer_key=JTSxr KGgVj2VsqTwdwPvkh&ip=10.211.55.2&lang=en&mypagesize=40&changeSort=0&signature=5Nbit 78efEnUTQOHq4bMZklezQA%3D\n","schema":"https://schema.getpostman.com/json/collection/v2.0.0/collection.json","isPublicCollection":false,"owner":"10429989","collectionId":"511d7c3e-6da2-4943-8eb1-395ccfd1592a","publishedId":"UVJfkG9L","public":true,"publicUrl":"https://docs.edsmart.com","privateUrl":"https://go.postman.co/documentation/10429989-511d7c3e-6da2-4943-8eb1-395ccfd1592a","customColor":{"top-bar":"FFFFFF","right-sidebar":"303030","highlight":"EF5B25"},"documentationLayout":"classic-double-column","customisation":null,"version":"8.10.1","publishDate":"2022-02-14T06:20:44.000Z","activeVersionTag":"latest","documentationTheme":"light","metaTags":{},"logos":{}},"statusCode":200},"environments":[],"user":{"authenticated":false,"permissions":{"publish":false}},"run":{"button":{"js":"https://run.pstmn.io/button.js","css":"https://run.pstmn.io/button.css"}},"web":"https://www.getpostman.com/","team":{"logo":"https://res.cloudinary.com/postman/image/upload/t_team_logo_pubdoc/v1/team/768118b36f06c94b0306958b980558e6915839447e859fe16906e29d683976f0","favicon":"https://edsmart.com/favicon.ico"},"isEnvFetchError":false,"languages":"[{\"key\":\"csharp\",\"label\":\"C#\",\"variant\":\"HttpClient\"},{\"key\":\"csharp\",\"label\":\"C#\",\"variant\":\"RestSharp\"},{\"key\":\"curl\",\"label\":\"cURL\",\"variant\":\"cURL\"},{\"key\":\"dart\",\"label\":\"Dart\",\"variant\":\"http\"},{\"key\":\"go\",\"label\":\"Go\",\"variant\":\"Native\"},{\"key\":\"http\",\"label\":\"HTTP\",\"variant\":\"HTTP\"},{\"key\":\"java\",\"label\":\"Java\",\"variant\":\"OkHttp\"},{\"key\":\"java\",\"label\":\"Java\",\"variant\":\"Unirest\"},{\"key\":\"javascript\",\"label\":\"JavaScript\",\"variant\":\"Fetch\"},{\"key\":\"javascript\",\"label\":\"JavaScript\",\"variant\":\"jQuery\"},{\"key\":\"javascript\",\"label\":\"JavaScript\",\"variant\":\"XHR\"},{\"key\":\"c\",\"label\":\"C\",\"variant\":\"libcurl\"},{\"key\":\"nodejs\",\"label\":\"NodeJs\",\"variant\":\"Axios\"},{\"key\":\"nodejs\",\"label\":\"NodeJs\",\"variant\":\"Native\"},{\"key\":\"nodejs\",\"label\":\"NodeJs\",\"variant\":\"Request\"},{\"key\":\"nodejs\",\"label\":\"NodeJs\",\"variant\":\"Unirest\"},{\"key\":\"objective-c\",\"label\":\"Objective-C\",\"variant\":\"NSURLSession\"},{\"key\":\"ocaml\",\"label\":\"OCaml\",\"variant\":\"Cohttp\"},{\"key\":\"php\",\"label\":\"PHP\",\"variant\":\"cURL\"},{\"key\":\"php\",\"label\":\"PHP\",\"variant\":\"Guzzle\"},{\"key\":\"php\",\"label\":\"PHP\",\"variant\":\"HTTP_Request2\"},{\"key\":\"php\",\"label\":\"PHP\",\"variant\":\"pecl_http\"},{\"key\":\"powershell\",\"label\":\"PowerShell\",\"variant\":\"RestMethod\"},{\"key\":\"python\",\"label\":\"Python\",\"variant\":\"http.client\"},{\"key\":\"python\",\"label\":\"Python\",\"variant\":\"Requests\"},{\"key\":\"r\",\"label\":\"R\",\"variant\":\"httr\"},{\"key\":\"r\",\"label\":\"R\",\"variant\":\"RCurl\"},{\"key\":\"ruby\",\"label\":\"Ruby\",\"variant\":\"Net::HTTP\"},{\"key\":\"shell\",\"label\":\"Shell\",\"variant\":\"Httpie\"},{\"key\":\"shell\",\"label\":\"Shell\",\"variant\":\"wget\"},{\"key\":\"swift\",\"label\":\"Swift\",\"variant\":\"URLSession\"}]","languageSettings":[{"key":"csharp","label":"C#","variant":"HttpClient"},{"key":"csharp","label":"C#","variant":"RestSharp"},{"key":"curl","label":"cURL","variant":"cURL"},{"key":"dart","label":"Dart","variant":"http"},{"key":"go","label":"Go","variant":"Native"},{"key":"http","label":"HTTP","variant":"HTTP"},{"key":"java","label":"Java","variant":"OkHttp"},{"key":"java","label":"Java","variant":"Unirest"},{"key":"javascript","label":"JavaScript","variant":"Fetch"},{"key":"javascript","label":"JavaScript","variant":"jQuery"},{"key":"javascript","label":"JavaScript","variant":"XHR"},{"key":"c","label":"C","variant":"libcurl"},{"key":"nodejs","label":"NodeJs","variant":"Axios"},{"key":"nodejs","label":"NodeJs","variant":"Native"},{"key":"nodejs","label":"NodeJs","variant":"Request"},{"key":"nodejs","label":"NodeJs","variant":"Unirest"},{"key":"objective-c","label":"Objective-C","variant":"NSURLSession"},{"key":"ocaml","label":"OCaml","variant":"Cohttp"},{"key":"php","label":"PHP","variant":"cURL"},{"key":"php","label":"PHP","variant":"Guzzle"},{"key":"php","label":"PHP","variant":"HTTP_Request2"},{"key":"php","label":"PHP","variant":"pecl_http"},{"key":"powershell","label":"PowerShell","variant":"RestMethod"},{"key":"python","label":"Python","variant":"http.client"},{"key":"python","label":"Python","variant":"Requests"},{"key":"r","label":"R","variant":"httr"},{"key":"r","label":"R","variant":"RCurl"},{"key":"ruby","label":"Ruby","variant":"Net::HTTP"},{"key":"shell","label":"Shell","variant":"Httpie"},{"key":"shell","label":"Shell","variant":"wget"},{"key":"swift","label":"Swift","variant":"URLSession"}],"languageOptions":[{"label":"C# - HttpClient","value":"csharp - HttpClient - C#"},{"label":"C# - RestSharp","value":"csharp - RestSharp - C#"},{"label":"cURL - cURL","value":"curl - cURL - cURL"},{"label":"Dart - http","value":"dart - http - Dart"},{"label":"Go - Native","value":"go - Native - Go"},{"label":"HTTP - HTTP","value":"http - HTTP - HTTP"},{"label":"Java - OkHttp","value":"java - OkHttp - Java"},{"label":"Java - Unirest","value":"java - Unirest - Java"},{"label":"JavaScript - Fetch","value":"javascript - Fetch - JavaScript"},{"label":"JavaScript - jQuery","value":"javascript - jQuery - JavaScript"},{"label":"JavaScript - XHR","value":"javascript - XHR - JavaScript"},{"label":"C - libcurl","value":"c - libcurl - C"},{"label":"NodeJs - Axios","value":"nodejs - Axios - NodeJs"},{"label":"NodeJs - Native","value":"nodejs - Native - NodeJs"},{"label":"NodeJs - Request","value":"nodejs - Request - NodeJs"},{"label":"NodeJs - Unirest","value":"nodejs - Unirest - NodeJs"},{"label":"Objective-C - NSURLSession","value":"objective-c - NSURLSession - Objective-C"},{"label":"OCaml - Cohttp","value":"ocaml - Cohttp - OCaml"},{"label":"PHP - cURL","value":"php - cURL - PHP"},{"label":"PHP - Guzzle","value":"php - Guzzle - PHP"},{"label":"PHP - HTTP_Request2","value":"php - HTTP_Request2 - PHP"},{"label":"PHP - pecl_http","value":"php - pecl_http - PHP"},{"label":"PowerShell - RestMethod","value":"powershell - RestMethod - PowerShell"},{"label":"Python - http.client","value":"python - http.client - Python"},{"label":"Python - Requests","value":"python - Requests - Python"},{"label":"R - httr","value":"r - httr - R"},{"label":"R - RCurl","value":"r - RCurl - R"},{"label":"Ruby - Net::HTTP","value":"ruby - Net::HTTP - Ruby"},{"label":"Shell - Httpie","value":"shell - Httpie - Shell"},{"label":"Shell - wget","value":"shell - wget - Shell"},{"label":"Swift - URLSession","value":"swift - URLSession - Swift"}],"layoutOptions":[{"value":"classic-single-column","label":"Single Column"},{"value":"classic-double-column","label":"Double Column"}],"versionOptions":[],"environmentOptions":[{"value":"0","label":"No Environment"}],"canonicalUrl":"https://docs.edsmart.com/view/metadata/UVJfkG9L"}