Get membership status
curl --request POST \
--url https://sandbox-api.ignitehealth.com/v1/get-membership-status \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"external_system": "payroll_system",
"external_id": "33333333-3333-4333-8333-333333333333"
}
'import requests
url = "https://sandbox-api.ignitehealth.com/v1/get-membership-status"
payload = {
"external_system": "payroll_system",
"external_id": "33333333-3333-4333-8333-333333333333"
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
external_system: 'payroll_system',
external_id: '33333333-3333-4333-8333-333333333333'
})
};
fetch('https://sandbox-api.ignitehealth.com/v1/get-membership-status', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://sandbox-api.ignitehealth.com/v1/get-membership-status",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'external_system' => 'payroll_system',
'external_id' => '33333333-3333-4333-8333-333333333333'
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://sandbox-api.ignitehealth.com/v1/get-membership-status"
payload := strings.NewReader("{\n \"external_system\": \"payroll_system\",\n \"external_id\": \"33333333-3333-4333-8333-333333333333\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://sandbox-api.ignitehealth.com/v1/get-membership-status")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"external_system\": \"payroll_system\",\n \"external_id\": \"33333333-3333-4333-8333-333333333333\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://sandbox-api.ignitehealth.com/v1/get-membership-status")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"external_system\": \"payroll_system\",\n \"external_id\": \"33333333-3333-4333-8333-333333333333\"\n}"
response = http.request(request)
puts response.read_body{
"enrolled": true,
"registered": false,
"opted_out": false
}Coming soon
Get membership status
Draft contract for looking up Ignite app access by external ID.
POST
/
v1
/
get-membership-status
Get membership status
curl --request POST \
--url https://sandbox-api.ignitehealth.com/v1/get-membership-status \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"external_system": "payroll_system",
"external_id": "33333333-3333-4333-8333-333333333333"
}
'import requests
url = "https://sandbox-api.ignitehealth.com/v1/get-membership-status"
payload = {
"external_system": "payroll_system",
"external_id": "33333333-3333-4333-8333-333333333333"
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
external_system: 'payroll_system',
external_id: '33333333-3333-4333-8333-333333333333'
})
};
fetch('https://sandbox-api.ignitehealth.com/v1/get-membership-status', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://sandbox-api.ignitehealth.com/v1/get-membership-status",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'external_system' => 'payroll_system',
'external_id' => '33333333-3333-4333-8333-333333333333'
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://sandbox-api.ignitehealth.com/v1/get-membership-status"
payload := strings.NewReader("{\n \"external_system\": \"payroll_system\",\n \"external_id\": \"33333333-3333-4333-8333-333333333333\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://sandbox-api.ignitehealth.com/v1/get-membership-status")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"external_system\": \"payroll_system\",\n \"external_id\": \"33333333-3333-4333-8333-333333333333\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://sandbox-api.ignitehealth.com/v1/get-membership-status")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"external_system\": \"payroll_system\",\n \"external_id\": \"33333333-3333-4333-8333-333333333333\"\n}"
response = http.request(request)
puts response.read_body{
"enrolled": true,
"registered": false,
"opted_out": false
}Coming soon — unavailable in sandbox and production. The code sample uses the current Partner API host for illustration; the final hostname and contract are undecided. Do not send requests to this route.
The lookup would use one
external_system and external_id pair without a company or organization parameter. It would return exactly three booleans, without an envelope or identifiers.
No authorized identity match would return all three values as false. Matches resolving to different people would return HTTP 409 rather than combining their statuses. Service failures would return a non-2xx response rather than false booleans.
The exact enrollment-state mapping, the proposed rule across multiple employments, and opt-out aggregation across different participation decisions remain undecided.Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Body
application/json