Search Destinations
curl --request POST \
--url https://api.sandbox.metriport.com/medical/v1/message/destinations \
--header 'Content-Type: application/json' \
--header 'x-api-key: <api-key>' \
--data '
{
"npi": "<string>",
"destination": "<string>",
"organizationName": "<string>",
"firstName": "<string>",
"lastName": "<string>",
"address": {
"addressLine1": "<string>",
"addressLine2": "<string>",
"city": "<string>",
"state": "<string>",
"zip": "<string>"
}
}
'import requests
url = "https://api.sandbox.metriport.com/medical/v1/message/destinations"
payload = {
"npi": "<string>",
"destination": "<string>",
"organizationName": "<string>",
"firstName": "<string>",
"lastName": "<string>",
"address": {
"addressLine1": "<string>",
"addressLine2": "<string>",
"city": "<string>",
"state": "<string>",
"zip": "<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({
npi: '<string>',
destination: '<string>',
organizationName: '<string>',
firstName: '<string>',
lastName: '<string>',
address: {
addressLine1: '<string>',
addressLine2: '<string>',
city: '<string>',
state: '<string>',
zip: '<string>'
}
})
};
fetch('https://api.sandbox.metriport.com/medical/v1/message/destinations', 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.sandbox.metriport.com/medical/v1/message/destinations",
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([
'npi' => '<string>',
'destination' => '<string>',
'organizationName' => '<string>',
'firstName' => '<string>',
'lastName' => '<string>',
'address' => [
'addressLine1' => '<string>',
'addressLine2' => '<string>',
'city' => '<string>',
'state' => '<string>',
'zip' => '<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.sandbox.metriport.com/medical/v1/message/destinations"
payload := strings.NewReader("{\n \"npi\": \"<string>\",\n \"destination\": \"<string>\",\n \"organizationName\": \"<string>\",\n \"firstName\": \"<string>\",\n \"lastName\": \"<string>\",\n \"address\": {\n \"addressLine1\": \"<string>\",\n \"addressLine2\": \"<string>\",\n \"city\": \"<string>\",\n \"state\": \"<string>\",\n \"zip\": \"<string>\"\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.sandbox.metriport.com/medical/v1/message/destinations")
.header("x-api-key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"npi\": \"<string>\",\n \"destination\": \"<string>\",\n \"organizationName\": \"<string>\",\n \"firstName\": \"<string>\",\n \"lastName\": \"<string>\",\n \"address\": {\n \"addressLine1\": \"<string>\",\n \"addressLine2\": \"<string>\",\n \"city\": \"<string>\",\n \"state\": \"<string>\",\n \"zip\": \"<string>\"\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.sandbox.metriport.com/medical/v1/message/destinations")
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 \"npi\": \"<string>\",\n \"destination\": \"<string>\",\n \"organizationName\": \"<string>\",\n \"firstName\": \"<string>\",\n \"lastName\": \"<string>\",\n \"address\": {\n \"addressLine1\": \"<string>\",\n \"addressLine2\": \"<string>\",\n \"city\": \"<string>\",\n \"state\": \"<string>\",\n \"zip\": \"<string>\"\n }\n}"
response = http.request(request)
puts response.read_bodyimport {
MetriportMedicalApi,
USState,
} from "@metriport/api-sdk";
const metriport = new MetriportMedicalApi("YOUR_API_KEY");
const { destinations } = await metriport.searchDestinations(
{
firstName: "Jack",
lastName: "Smith",
address: {
city: "Los Angeles",
state: "CA",
zip: "90095",
},
}
);
Message
Search Destinations
Find routable destinations for sending a message to another practitioner.
POST
/
medical
/
v1
/
message
/
destinations
Search Destinations
curl --request POST \
--url https://api.sandbox.metriport.com/medical/v1/message/destinations \
--header 'Content-Type: application/json' \
--header 'x-api-key: <api-key>' \
--data '
{
"npi": "<string>",
"destination": "<string>",
"organizationName": "<string>",
"firstName": "<string>",
"lastName": "<string>",
"address": {
"addressLine1": "<string>",
"addressLine2": "<string>",
"city": "<string>",
"state": "<string>",
"zip": "<string>"
}
}
'import requests
url = "https://api.sandbox.metriport.com/medical/v1/message/destinations"
payload = {
"npi": "<string>",
"destination": "<string>",
"organizationName": "<string>",
"firstName": "<string>",
"lastName": "<string>",
"address": {
"addressLine1": "<string>",
"addressLine2": "<string>",
"city": "<string>",
"state": "<string>",
"zip": "<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({
npi: '<string>',
destination: '<string>',
organizationName: '<string>',
firstName: '<string>',
lastName: '<string>',
address: {
addressLine1: '<string>',
addressLine2: '<string>',
city: '<string>',
state: '<string>',
zip: '<string>'
}
})
};
fetch('https://api.sandbox.metriport.com/medical/v1/message/destinations', 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.sandbox.metriport.com/medical/v1/message/destinations",
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([
'npi' => '<string>',
'destination' => '<string>',
'organizationName' => '<string>',
'firstName' => '<string>',
'lastName' => '<string>',
'address' => [
'addressLine1' => '<string>',
'addressLine2' => '<string>',
'city' => '<string>',
'state' => '<string>',
'zip' => '<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.sandbox.metriport.com/medical/v1/message/destinations"
payload := strings.NewReader("{\n \"npi\": \"<string>\",\n \"destination\": \"<string>\",\n \"organizationName\": \"<string>\",\n \"firstName\": \"<string>\",\n \"lastName\": \"<string>\",\n \"address\": {\n \"addressLine1\": \"<string>\",\n \"addressLine2\": \"<string>\",\n \"city\": \"<string>\",\n \"state\": \"<string>\",\n \"zip\": \"<string>\"\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.sandbox.metriport.com/medical/v1/message/destinations")
.header("x-api-key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"npi\": \"<string>\",\n \"destination\": \"<string>\",\n \"organizationName\": \"<string>\",\n \"firstName\": \"<string>\",\n \"lastName\": \"<string>\",\n \"address\": {\n \"addressLine1\": \"<string>\",\n \"addressLine2\": \"<string>\",\n \"city\": \"<string>\",\n \"state\": \"<string>\",\n \"zip\": \"<string>\"\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.sandbox.metriport.com/medical/v1/message/destinations")
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 \"npi\": \"<string>\",\n \"destination\": \"<string>\",\n \"organizationName\": \"<string>\",\n \"firstName\": \"<string>\",\n \"lastName\": \"<string>\",\n \"address\": {\n \"addressLine1\": \"<string>\",\n \"addressLine2\": \"<string>\",\n \"city\": \"<string>\",\n \"state\": \"<string>\",\n \"zip\": \"<string>\"\n }\n}"
response = http.request(request)
puts response.read_bodyimport {
MetriportMedicalApi,
USState,
} from "@metriport/api-sdk";
const metriport = new MetriportMedicalApi("YOUR_API_KEY");
const { destinations } = await metriport.searchDestinations(
{
firstName: "Jack",
lastName: "Smith",
address: {
city: "Los Angeles",
state: "CA",
zip: "90095",
},
}
);
This endpoint is currently under construction. Please
reach out to support if you'd like to use it.
This is the recommended endpoint for building the message
body for Message Delivery. See the Message Delivery
guide
for the full send flow.
Body
Search by NPI
A 10-digit National Provider Identifier.
Search by destination
Organization OID or Direct address.
Search by organization details or provider demographics
When searching by organization details or provider
demographics, at least
lastName and address.state or
organizationName are requiredThe name of the organization or medical facility.
The provider’s first name.
The provider’s last name.
An
Address object, representing the practitioner’s
current and/or previous addresses.Response
Results for the potentially matching recipients, ordered by Metriport’s recommended preference for your
account.
Show Destination properties
Show Destination properties
Display name for the recipient (for example, an organization or practitioner name).
An address to help disambiguate matches.
Show Address properties
Show Address properties
The address.
The address details, for example:
#4451.The city.
The 2 letter state acronym, for example:
CA.5 digit zip code.
If specified, must be "USA"; otherwise will default to "USA".
An OID or a Direct email address. Use this as
destination on Send Message.The NPI associated with this destination, when available.
{
"destinations": [
{
"organizationName": "UCLA Cardiology",
"address": {
"addressLine1": "100 Medical Plaza",
"addressLine2": "Suite 630",
"city": "Los Angeles",
"state": "CA",
"zip": "90095",
"country": "USA"
},
"destination": "1.2.840.114350.1.13.300.3.7.3.688884.100.1",
"npi": "1234567890"
},
{
"organizationName": "UCLA Cardiology",
"address": {
"addressLine1": "100 Medical Plaza",
"addressLine2": "Suite 630",
"city": "Los Angeles",
"state": "CA",
"zip": "90095",
"country": "USA"
},
"destination": "intake@cardio.direct.partner.com",
"npi": "1234567890"
}
]
}
import {
MetriportMedicalApi,
USState,
} from "@metriport/api-sdk";
const metriport = new MetriportMedicalApi("YOUR_API_KEY");
const { destinations } = await metriport.searchDestinations(
{
firstName: "Jack",
lastName: "Smith",
address: {
city: "Los Angeles",
state: "CA",
zip: "90095",
},
}
);
Rate Limits
See limits and throttling⌘I

