curl --request POST \
--url https://api.example.com/v1/verification-of-benefits/resolve \
--header 'Content-Type: application/json' \
--header 'X-API-Key: <api-key>' \
--data '
{
"patient_policy_id": "<string>",
"specialties": [
{
"credentialing_id": "<string>",
"cpt_codes": [
"<string>"
],
"service_locations": [],
"icd_codes": [
"<string>"
]
}
]
}
'import requests
url = "https://api.example.com/v1/verification-of-benefits/resolve"
payload = {
"patient_policy_id": "<string>",
"specialties": [
{
"credentialing_id": "<string>",
"cpt_codes": ["<string>"],
"service_locations": [],
"icd_codes": ["<string>"]
}
]
}
headers = {
"X-API-Key": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'X-API-Key': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
patient_policy_id: '<string>',
specialties: [
{
credentialing_id: '<string>',
cpt_codes: ['<string>'],
service_locations: [],
icd_codes: ['<string>']
}
]
})
};
fetch('https://api.example.com/v1/verification-of-benefits/resolve', 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://api.example.com/v1/verification-of-benefits/resolve",
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([
'patient_policy_id' => '<string>',
'specialties' => [
[
'credentialing_id' => '<string>',
'cpt_codes' => [
'<string>'
],
'service_locations' => [
],
'icd_codes' => [
'<string>'
]
]
]
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"X-API-Key: <api-key>"
],
]);
$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://api.example.com/v1/verification-of-benefits/resolve"
payload := strings.NewReader("{\n \"patient_policy_id\": \"<string>\",\n \"specialties\": [\n {\n \"credentialing_id\": \"<string>\",\n \"cpt_codes\": [\n \"<string>\"\n ],\n \"service_locations\": [],\n \"icd_codes\": [\n \"<string>\"\n ]\n }\n ]\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("X-API-Key", "<api-key>")
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://api.example.com/v1/verification-of-benefits/resolve")
.header("X-API-Key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"patient_policy_id\": \"<string>\",\n \"specialties\": [\n {\n \"credentialing_id\": \"<string>\",\n \"cpt_codes\": [\n \"<string>\"\n ],\n \"service_locations\": [],\n \"icd_codes\": [\n \"<string>\"\n ]\n }\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.example.com/v1/verification-of-benefits/resolve")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["X-API-Key"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"patient_policy_id\": \"<string>\",\n \"specialties\": [\n {\n \"credentialing_id\": \"<string>\",\n \"cpt_codes\": [\n \"<string>\"\n ],\n \"service_locations\": [],\n \"icd_codes\": [\n \"<string>\"\n ]\n }\n ]\n}"
response = http.request(request)
puts response.read_body{
"patient_policy_id": "<string>",
"specialties": [
{
"service_type": "medical_care",
"credentialing_id": "<string>",
"npi": "<string>",
"cpt_codes": [
"<string>"
],
"service_locations": [
"home"
],
"icd_codes": [
"<string>"
],
"credentialing": {
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"name": "<string>",
"type": "<string>",
"is_active": true
}
}
]
}{
"type": "validation_error",
"code": "invalid_parameter",
"message": "Field validation failed",
"param": "phone_number"
}Resolve specialties
Resolves specialties for one of your active policies exactly as creating a VOB would — each omitted field taken from your company’s defaults, the billing credential from the policy’s current verification (else its open VOB’s result), then the insurance’s billing default, then the credential registered for the specialty — and creates nothing. Omit specialties to get the ones Solum requests automatically for the policy. Use it to prefill a request before creating or editing it. 422 with the same body as a create’s when the policy is not an active policy of your company or a field can’t be resolved.
curl --request POST \
--url https://api.example.com/v1/verification-of-benefits/resolve \
--header 'Content-Type: application/json' \
--header 'X-API-Key: <api-key>' \
--data '
{
"patient_policy_id": "<string>",
"specialties": [
{
"credentialing_id": "<string>",
"cpt_codes": [
"<string>"
],
"service_locations": [],
"icd_codes": [
"<string>"
]
}
]
}
'import requests
url = "https://api.example.com/v1/verification-of-benefits/resolve"
payload = {
"patient_policy_id": "<string>",
"specialties": [
{
"credentialing_id": "<string>",
"cpt_codes": ["<string>"],
"service_locations": [],
"icd_codes": ["<string>"]
}
]
}
headers = {
"X-API-Key": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'X-API-Key': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
patient_policy_id: '<string>',
specialties: [
{
credentialing_id: '<string>',
cpt_codes: ['<string>'],
service_locations: [],
icd_codes: ['<string>']
}
]
})
};
fetch('https://api.example.com/v1/verification-of-benefits/resolve', 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://api.example.com/v1/verification-of-benefits/resolve",
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([
'patient_policy_id' => '<string>',
'specialties' => [
[
'credentialing_id' => '<string>',
'cpt_codes' => [
'<string>'
],
'service_locations' => [
],
'icd_codes' => [
'<string>'
]
]
]
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"X-API-Key: <api-key>"
],
]);
$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://api.example.com/v1/verification-of-benefits/resolve"
payload := strings.NewReader("{\n \"patient_policy_id\": \"<string>\",\n \"specialties\": [\n {\n \"credentialing_id\": \"<string>\",\n \"cpt_codes\": [\n \"<string>\"\n ],\n \"service_locations\": [],\n \"icd_codes\": [\n \"<string>\"\n ]\n }\n ]\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("X-API-Key", "<api-key>")
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://api.example.com/v1/verification-of-benefits/resolve")
.header("X-API-Key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"patient_policy_id\": \"<string>\",\n \"specialties\": [\n {\n \"credentialing_id\": \"<string>\",\n \"cpt_codes\": [\n \"<string>\"\n ],\n \"service_locations\": [],\n \"icd_codes\": [\n \"<string>\"\n ]\n }\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.example.com/v1/verification-of-benefits/resolve")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["X-API-Key"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"patient_policy_id\": \"<string>\",\n \"specialties\": [\n {\n \"credentialing_id\": \"<string>\",\n \"cpt_codes\": [\n \"<string>\"\n ],\n \"service_locations\": [],\n \"icd_codes\": [\n \"<string>\"\n ]\n }\n ]\n}"
response = http.request(request)
puts response.read_body{
"patient_policy_id": "<string>",
"specialties": [
{
"service_type": "medical_care",
"credentialing_id": "<string>",
"npi": "<string>",
"cpt_codes": [
"<string>"
],
"service_locations": [
"home"
],
"icd_codes": [
"<string>"
],
"credentialing": {
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"name": "<string>",
"type": "<string>",
"is_active": true
}
}
]
}{
"type": "validation_error",
"code": "invalid_parameter",
"message": "Field validation failed",
"param": "phone_number"
}Authorizations
Body
Resolve a policy's specialties the way a create would, writing nothing.
The active policy the specialties are for.
The specialties to resolve, as a create would take them. Omitted: the service types Solum requests for this policy when a patient enters a verification stage (your state and company configuration, then the policy's latest result, then the patient's referrals), each resolved from your defaults; none configured returns an empty list.
1Show child attributes
Show child attributes

