{"activeVersionTag":"latest","latestAvailableVersionTag":"latest","collection":{"info":{"_postman_id":"22ebbcef-928c-4606-90d5-97c8e188cf19","name":"Aloha Customer API","description":"The Aloha Customer API allows you to programmatically access data stored in Aloha Practice Management Software with ease.\n\n# Overview\n\n1. You need a valid `clientId` and `secretKey` to generate a short-lived `bearer access_token` which will be required to send requests to the API endpoints. You can get your authentication credentials by reaching out to our [Support Portal](https://alohaaba.com/contactus). Include the `bearer access_token` in the `Authorization` header of your requests as `Authorization: Bearer` .\n    \n2. The API has an access [rate limit](https://api-docs.alohaaba.com/#rate-limits) applied to it.\n    \n3. The API will only respond to secured communication done over HTTPS. HTTP requests will be sent a `301` redirect to corresponding HTTPS resources.\n    \n4. The API supports only TLS 1.3 and TLS 1.2 protocols for secure communication. It is recommended to use TLS 1.3 as it is faster and more secure.\n    \n5. It is recommended to use HTTP/2 (h2) ALPN over HTTP/1.1 as it provides better performance and efficiency.\n    \n6. The API is versioned. Include the version in your endpoint paths, e.g., `/v1/resource`.\n    \n7. Response to every request is sent in [JSON format](https://en.wikipedia.org/wiki/JSON). In case the API request results in an error, it is represented by an `\"errors\": {}` key in the JSON response.\n    \n8. The request method (verb) determines the nature of action you intend to perform. A request made using the `GET` method implies that you want to fetch something from the API, `PUT` implies that you want to add something new to the API, `POST` implies that you want to update something to the API and `DELETE` implies that you want to delete something from the API.\n    \n9. The API calls will respond with appropriate [HTTP status codes](https://en.wikipedia.org/wiki/List_of_HTTP_status_codes) for all requests.\n    \n\n# Authentication\n\nValid `bearer access_token` is required to be sent as part of every request to the Aloha Customer API, in the form of an `Authorization` request header. You need to generate `access_token` by calling **Generate AccessToken** endpoint. The `bearer access_token` are short-lived and requiring refresh every 3 hours from the generation time.\n\n> If you do not have `clientId` and `secretKey`, you can easily get one by reaching out to our [Support Portal](https://alohaaba.com/contactus). \n  \n\n# Error Codes\n\nWhat errors and status codes can a user expect?\n\n| Header | Description |\n| --- | --- |\n| `400` | A validation error had occurred |\n| `401` | A not authenticated error had occurred |\n| `403` | A not authorized error had occurred |\n| `404` | A path not found or primary entity not found |\n| `429` | Rate limit exceeded, or you are not hitting the correct URL. Please refer to the error message that came with the code. |\n| `500` | An internal error has occurred, this is probably not your fault. |\n\n# Rate Limits\n\nAPI access rate limits are applied at a per-key basis in unit time. Access to the API using a key is limited to **1,000 requests** per day. In addition, every API response is accompanied by the following set of headers to identify the status of your consumption.\n\n| Header | Description |\n| --- | --- |\n| `X-RateLimit-Limit` | The maximum number of requests that the consumer is permitted to make per day. |\n| `X-RateLimit-Remaining` | The number of requests remaining in the current rate limit window. |\n| `X-RateLimit-Reset` | The time at which the current rate limit window resets in UTC epoch seconds. |\n\nOnce you hit the rate limit, you will receive a response similar to the following JSON, with a status code of `429 Too Many Requests`.\n\n``` json\n{\n    \"status\": 429,\n    \"message\": \"Too Many Requests\",\n    \"errors\": [\n        {\n            \"name\": \"RateLimitError\",\n            \"message\": \"Rate Limit exceeded. Please retry at 1716595200\"\n        }\n    ]\n}\n\n ```\n\n# Service Status\n\nBefore contacting Support, please check our live Status Page for any active Incidents, Announcements, or Scheduled Events that may affect the Customer API at [https://status.alohaaba.com/](https://status.alohaaba.com/)\n\nIf the Status Page shows an incident impacting you, subscribe to updates there. If everything is green, but you're still having issues, reach out to Technical Support.\n\n# Support\n\nFor help regarding accessing the Aloha Customer API, feel free to drop in a line at [support@alohaaba.com](https://mailto:support@alohaaba.com).\n\nIn the event you receive a `500` response from our servers, it implies that we have hit an unexpected spike in API access traffic and would usually be operational within the next 15 minutes. If the outage persists, or you receive any other form of `5xx` error, kindly let us know.\n\n# Terms of Use\n\nFor information on API terms of use and privacy, refer to our policy document at [https://alohaaba.com/terms](https://alohaaba.com/terms) and [https://alohaaba.com/privacy-policy](https://alohaaba.com/privacy-policy)","schema":"https://schema.getpostman.com/json/collection/v2.0.0/collection.json","isPublicCollection":false,"owner":"33696820","team":6142594,"collectionId":"22ebbcef-928c-4606-90d5-97c8e188cf19","publishedId":"2sA3JT3e7J","public":true,"publicUrl":"https://api-docs.alohaaba.com","privateUrl":"https://go.postman.co/documentation/33696820-22ebbcef-928c-4606-90d5-97c8e188cf19","customColor":{"top-bar":"E1E8E9","right-sidebar":"003B49","highlight":"00C7B1"},"documentationLayout":"classic-double-column","customisation":{"metaTags":[{"name":"description","value":"The Aloha Customer API allows you to programmatically access data stored in Aloha Practice Management Software with ease."},{"name":"title","value":"Aloha API Documentation"}],"appearance":{"default":"light","themes":[{"name":"dark","logo":null,"colors":{"top-bar":"222223","right-sidebar":"003B49","highlight":"00C7B1"}},{"name":"light","logo":null,"colors":{"top-bar":"E1E8E9","right-sidebar":"003B49","highlight":"00C7B1"}}]}},"version":"8.10.1","publishDate":"2026-04-22T20:42:31.000Z","activeVersionTag":"latest","documentationTheme":"light","metaTags":{"title":"Aloha API Documentation","description":"The Aloha Customer API allows you to programmatically access data stored in Aloha Practice Management Software with ease."},"logos":{"logoLight":null,"logoDark":null}},"statusCode":200},"environments":[{"name":"4. PROD","id":"6cf12412-aa9f-492c-8e48-40a5d51ef279","owner":"33696820","values":[{"key":"apiProtocol","value":"https://","enabled":true,"type":"default"},{"key":"apiHost","value":"api.alohaaba.com/customer/v1","enabled":true,"type":"default"},{"key":"clientId","value":"{{client_id}}","enabled":true,"type":"default"},{"key":"secretKey","value":"{{secret_key}}","enabled":true,"type":"default"},{"key":"access_token","value":"{{access_token}}","enabled":false,"type":"default"},{"key":"refresh_token","value":"{{refresh_token}}","enabled":false,"type":"default"},{"key":"apiGatewayHost","value":"","enabled":true,"type":"default"}],"published":true}],"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/ab33ad4098927ca4286be0b334faf2d9ba0a1b1327a5cedd18e3ad4d89543210","favicon":"https://postman-image-service.postman.com/api/cloudinary-proxy/postman/image/upload/v1776889896/team/165542d652e0190737dd677911595a5c"},"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"},{"label":"4. PROD","value":"33696820-6cf12412-aa9f-492c-8e48-40a5d51ef279"}],"canonicalUrl":"https://api-docs.alohaaba.com/view/metadata/2sA3JT3e7J"}