NAV Navigation
Shell HTTP Node Ruby Python PHP Java Go

Akute Health API v1.0

Scroll down for code samples, example requests and responses. Select a language for code samples from the tabs above or the mobile navigation menu.

Base URLs:

Authentication

v1

post__patients

Code samples

# You can also use wget
curl -X POST https://api.staging.akutehealth.com/v1/patients \
  -H 'Content-Type: application/json' \
  -H 'Accept: application/json' \
  -H 'X-API-Key: API_KEY'

POST https://api.staging.akutehealth.com/v1/patients HTTP/1.1
Host: api.staging.akutehealth.com
Content-Type: application/json
Accept: application/json

const inputBody = '{
  "first_name": "string",
  "middle_name": "string",
  "last_name": "string",
  "status": "active",
  "external_id": "string",
  "external_web_link": "string",
  "date_of_birth": "2019-08-24",
  "sex": "male",
  "address_line_1": "string",
  "address_line_2": "string",
  "address_city": "New York",
  "address_state": "NY",
  "address_zipcode": "10001",
  "email": "user@example.com",
  "primary_phone_number": "4937384432",
  "primary_phone_type": "mobile",
  "appointment_state": "NJ"
}';
const headers = {
  'Content-Type':'application/json',
  'Accept':'application/json',
  'X-API-Key':'API_KEY'
};

fetch('https://api.staging.akutehealth.com/v1/patients',
{
  method: 'POST',
  body: inputBody,
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

require 'rest-client'
require 'json'

headers = {
  'Content-Type' => 'application/json',
  'Accept' => 'application/json',
  'X-API-Key' => 'API_KEY'
}

result = RestClient.post 'https://api.staging.akutehealth.com/v1/patients',
  params: {
  }, headers: headers

p JSON.parse(result)

import requests
headers = {
  'Content-Type': 'application/json',
  'Accept': 'application/json',
  'X-API-Key': 'API_KEY'
}

r = requests.post('https://api.staging.akutehealth.com/v1/patients', headers = headers)

print(r.json())

 'application/json',
    'Accept' => 'application/json',
    'X-API-Key' => 'API_KEY',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('POST','https://api.staging.akutehealth.com/v1/patients', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

URL obj = new URL("https://api.staging.akutehealth.com/v1/patients");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Content-Type": []string{"application/json"},
        "Accept": []string{"application/json"},
        "X-API-Key": []string{"API_KEY"},
    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("POST", "https://api.staging.akutehealth.com/v1/patients", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

POST /patients

Create a new patient

Body parameter

{
  "first_name": "string",
  "middle_name": "string",
  "last_name": "string",
  "status": "active",
  "external_id": "string",
  "external_web_link": "string",
  "date_of_birth": "2019-08-24",
  "sex": "male",
  "address_line_1": "string",
  "address_line_2": "string",
  "address_city": "New York",
  "address_state": "NY",
  "address_zipcode": "10001",
  "email": "user@example.com",
  "primary_phone_number": "4937384432",
  "primary_phone_type": "mobile",
  "appointment_state": "NJ"
}

Parameters

Name In Type Required Description
body body object true none
» first_name body string true Max 35 characters
» middle_name body string false Max 35 characters
» last_name body string true Max 35 characters
» status body string true Inactive patients are not visible in client EHR
» external_id body string false Customer id for patient. Can be used to query for patient if storing & querying by Akute id is not feasible.
» external_web_link body string false Link to external page for patient. E.g. A link to the patient page for your in-house chat solution. This allows doctors to easily go from the chart in Akute to your own web app.
» date_of_birth body string(date) true String date in format of YYYY-MM-DD
» sex body string true none
» address_line_1 body string true Max 35 characters
» address_line_2 body string false Max 35 characters
» address_city body string true Max 35 characters
» address_state body string true 2 character state (or US territory) abbreviation code. E.g. NY for New York, DC for District of Columbia, PR for Puerto Rico. Case-insensitive.
» address_zipcode body string true 5 character length zipcode
» email body string(email) true none
» primary_phone_number body string true 10 character length phone number with no dashes, and no country code. E.g. 4324553245.
» primary_phone_type body string true none
» appointment_state body string false State in which the patient is receiving their care. E.g. Patient lives in New Jersey but receives care in New York.

Enumerated Values

Parameter Value
» status active
» status inactive
» sex male
» sex female
» sex unknown
» primary_phone_type mobile
» primary_phone_type home

Example responses

201 Response

{
  "id": "string"
}

Responses

Status Meaning Description Schema
201 Created Created Inline
400 Bad Request Bad Request Inline
409 Conflict Duplicate Resource Inline
500 Internal Server Error Database Error Inline

Response Schema

Status Code 201

Name Type Required Restrictions Description
» id string false none none

Status Code 400

Name Type Required Restrictions Description
» statusCode number false none none
» error string false none none

Status Code 409

Name Type Required Restrictions Description
» statusCode number false none none
» error string false none none

Status Code 500

Name Type Required Restrictions Description
» statusCode number false none none
» error string false none none

Response Headers

Status Header Type Format Description
201 Location string URI of created resource with :id appended

get__patients

Code samples

# You can also use wget
curl -X GET https://api.staging.akutehealth.com/v1/patients \
  -H 'Accept: application/json' \
  -H 'X-API-Key: API_KEY'

GET https://api.staging.akutehealth.com/v1/patients HTTP/1.1
Host: api.staging.akutehealth.com
Accept: application/json

const headers = {
  Accept: "application/json",
  "X-API-Key": "API_KEY"
};

fetch("https://api.staging.akutehealth.com/v1/patients", {
  method: "GET",

  headers: headers
})
  .then(function(res) {
    return res.json();
  })
  .then(function(body) {
    console.log(body);
  });
require 'rest-client'
require 'json'

headers = {
  'Accept' => 'application/json',
  'X-API-Key' => 'API_KEY'
}

result = RestClient.get 'https://api.staging.akutehealth.com/v1/patients',
  params: {
  }, headers: headers

p JSON.parse(result)

import requests
headers = {
  'Accept': 'application/json',
  'X-API-Key': 'API_KEY'
}

r = requests.get('https://api.staging.akutehealth.com/v1/patients', headers = headers)

print(r.json())

 'application/json',
    'X-API-Key' => 'API_KEY',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('GET','https://api.staging.akutehealth.com/v1/patients', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

URL obj = new URL("https://api.staging.akutehealth.com/v1/patients");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Accept": []string{"application/json"},
        "X-API-Key": []string{"API_KEY"},
    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("GET", "https://api.staging.akutehealth.com/v1/patients", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

GET /patients

Get patient by akute id in path or external_id as param

Parameters

Name In Type Required Description
patientId path string false none
external_id query string false none

Example responses

Responses

Status Meaning Description Schema
200 OK OK None

Response Schema

post__tasks

Code samples

# You can also use wget
curl -X POST https://api.staging.akutehealth.com/v1/tasks \
  -H 'Content-Type: application/json' \
  -H 'Accept: application/json' \
  -H 'X-API-Key: API_KEY'

POST https://api.staging.akutehealth.com/v1/tasks HTTP/1.1
Host: api.staging.akutehealth.com
Content-Type: application/json
Accept: application/json

const inputBody = '{
  "task": "string",
  "description": "string",
  "due_date": "2019-08-24",
  "owner_id": "string",
  "patient_id": "string",
  "external_patient_id": "string",
  "priority": "p1",
  "status": "not-started",
  "date_created": "2019-08-24T14:15:22Z",
  "tags": [
    "string"
  ]
}';
const headers = {
  'Content-Type':'application/json',
  'Accept':'application/json',
  'X-API-Key':'API_KEY'
};

fetch('https://api.staging.akutehealth.com/v1/tasks',
{
  method: 'POST',
  body: inputBody,
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

require 'rest-client'
require 'json'

headers = {
  'Content-Type' => 'application/json',
  'Accept' => 'application/json',
  'X-API-Key' => 'API_KEY'
}

result = RestClient.post 'https://api.staging.akutehealth.com/v1/tasks',
  params: {
  }, headers: headers

p JSON.parse(result)

import requests
headers = {
  'Content-Type': 'application/json',
  'Accept': 'application/json',
  'X-API-Key': 'API_KEY'
}

r = requests.post('https://api.staging.akutehealth.com/v1/tasks', headers = headers)

print(r.json())

 'application/json',
    'Accept' => 'application/json',
    'X-API-Key' => 'API_KEY',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('POST','https://api.staging.akutehealth.com/v1/tasks', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

URL obj = new URL("https://api.staging.akutehealth.com/v1/tasks");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Content-Type": []string{"application/json"},
        "Accept": []string{"application/json"},
        "X-API-Key": []string{"API_KEY"},
    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("POST", "https://api.staging.akutehealth.com/v1/tasks", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

POST /tasks

Create new task

Body parameter

{
  "task": "string",
  "description": "string",
  "due_date": "2019-08-24",
  "owner_id": "string",
  "patient_id": "string",
  "external_patient_id": "string",
  "priority": "p1",
  "status": "not-started",
  "date_created": "2019-08-24T14:15:22Z",
  "tags": ["string"]
}

Parameters

Name In Type Required Description
body body object true none
» task body string true Title of task.
» description body string false Extra information about task.
» due_date body string(date) false none
» owner_id body string false Akute user id.
» patient_id body string false Akute id for patient. Use either this or 'external_patient_id'. If both are provided, this will be prioritized over external_patient_id.
» external_patient_id body string false Customer id for patient. Use either this or 'patient_id'. If both are provided, this will ignored.
» priority body string false Priority is in descending order with p1 being 'Urgent' and p3 being lowest priority.
» status body string false none
» date_created body string(date-time) false If not provided, current time is used. The date-time notation as defined by RFC 3339, section 5.6.
» tags body [string] false Array of tags. Tags will be added to account's list of tags for tasks, case-insensitive., case-insensitive.

Enumerated Values

Parameter Value
» priority p1
» priority p2
» priority p3
» status not-started
» status in-progress

Example responses

201 Response

{
  "id": "string"
}

Responses

Status Meaning Description Schema
201 Created Created Inline

Response Schema

Status Code 201

Name Type Required Restrictions Description
» id string false none none

get__tasks

Code samples

# You can also use wget
curl -X GET https://api.staging.akutehealth.com/v1/tasks \
  -H 'Accept: application/json' \
  -H 'X-API-Key: API_KEY'

GET https://api.staging.akutehealth.com/v1/tasks HTTP/1.1
Host: api.staging.akutehealth.com
Accept: application/json

const headers = {
  Accept: "application/json",
  "X-API-Key": "API_KEY"
};

fetch("https://api.staging.akutehealth.com/v1/tasks", {
  method: "GET",

  headers: headers
})
  .then(function(res) {
    return res.json();
  })
  .then(function(body) {
    console.log(body);
  });
require 'rest-client'
require 'json'

headers = {
  'Accept' => 'application/json',
  'X-API-Key' => 'API_KEY'
}

result = RestClient.get 'https://api.staging.akutehealth.com/v1/tasks',
  params: {
  }, headers: headers

p JSON.parse(result)

import requests
headers = {
  'Accept': 'application/json',
  'X-API-Key': 'API_KEY'
}

r = requests.get('https://api.staging.akutehealth.com/v1/tasks', headers = headers)

print(r.json())

 'application/json',
    'X-API-Key' => 'API_KEY',
);

$client = new \GuzzleHttp\Client();

// Define array of request body.
$request_body = array();

try {
    $response = $client->request('GET','https://api.staging.akutehealth.com/v1/tasks', array(
        'headers' => $headers,
        'json' => $request_body,
       )
    );
    print_r($response->getBody()->getContents());
 }
 catch (\GuzzleHttp\Exception\BadResponseException $e) {
    // handle exception or api errors.
    print_r($e->getMessage());
 }

 // ...

URL obj = new URL("https://api.staging.akutehealth.com/v1/tasks");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Accept": []string{"application/json"},
        "X-API-Key": []string{"API_KEY"},
    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("GET", "https://api.staging.akutehealth.com/v1/tasks", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

GET /tasks

Get task by id

Parameters

Name In Type Required Description
taskId path string true none

Example responses

Responses

Status Meaning Description Schema
200 OK OK None

Response Schema