curl --request GET \
--url https://sandbox-api.va.meridianpay.com/v1/information-requests/{informationRequestId} \
--header 'Authorization: Bearer <token>'import requests
url = "https://sandbox-api.va.meridianpay.com/v1/information-requests/{informationRequestId}"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://sandbox-api.va.meridianpay.com/v1/information-requests/{informationRequestId}', 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.va.meridianpay.com/v1/information-requests/{informationRequestId}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://sandbox-api.va.meridianpay.com/v1/information-requests/{informationRequestId}"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://sandbox-api.va.meridianpay.com/v1/information-requests/{informationRequestId}")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://sandbox-api.va.meridianpay.com/v1/information-requests/{informationRequestId}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"id": "usrsk-h2vuw0jaswgpzyxluhpz2709",
"status": "DRAFT",
"subjectType": "ENROLLMENT",
"subjectId": "usrem-coxxvofk5km4tz1r28c7gcfk",
"validationStatus": "VALID",
"decision": null,
"title": "Business Verification",
"createdAt": "2026-06-09T14:37:04Z",
"updatedAt": "2026-06-09T14:41:12Z",
"requirements": [
{
"requirementKey": "associated_persons",
"title": "Associated persons",
"description": "Identity document: upload a passport, or both sides of a driver's license (front and back), plus a proof of address.",
"cardinality": {
"mode": "MULTIPLE",
"min": 1,
"max": null
},
"dataSchema": {
"type": "object",
"required": [
"roles",
"ownershipPercentage",
"person"
],
"properties": {
"roles": {
"type": "array",
"title": "Roles",
"widget": "multiselect",
"minItems": 1,
"items": {
"type": "string",
"enum": [
"CONTROL_PERSON",
"BENEFICIAL_OWNER",
"SIGNER",
"ADMIN",
"DIRECTOR",
"REPRESENTATIVE",
"BUSINESS_CONTROLLER",
"BUSINESS_ADMIN",
"SHAREHOLDER"
],
"enumLabels": {
"CONTROL_PERSON": "Control person",
"BENEFICIAL_OWNER": "Beneficial owner",
"SIGNER": "Authorised signer",
"ADMIN": "Admin",
"DIRECTOR": "Director",
"REPRESENTATIVE": "Representative",
"BUSINESS_CONTROLLER": "Business controller",
"BUSINESS_ADMIN": "Business admin",
"SHAREHOLDER": "Shareholder"
}
}
},
"title": {
"type": "string",
"title": "Title",
"placeholder": "Enter this person's title (e.g., CEO)",
"widget": "text",
"minLength": 1,
"maxLength": 150
},
"ownershipPercentage": {
"type": "integer",
"title": "Ownership percentage",
"placeholder": "Enter ownership %",
"widget": "number",
"minimum": 0,
"maximum": 100
},
"person": {
"type": "object",
"title": "Person",
"required": [
"firstName",
"lastName",
"dateOfBirth",
"citizenship",
"email",
"phoneNumber",
"taxNumber",
"physicalAddress"
],
"properties": {
"firstName": {
"type": "string",
"title": "First name",
"placeholder": "Enter first name",
"widget": "text",
"minLength": 1,
"maxLength": 150
},
"lastName": {
"type": "string",
"title": "Last name",
"placeholder": "Enter last name",
"widget": "text",
"minLength": 1,
"maxLength": 150
},
"dateOfBirth": {
"type": "string",
"title": "Date of birth",
"placeholder": "Enter date of birth in YYYY-MM-DD format",
"widget": "date",
"format": "date"
},
"citizenship": {
"type": "string",
"title": "Citizenship",
"placeholder": "Enter the ISO country code of citizenship (e.g., US)",
"widget": "text",
"minLength": 2,
"maxLength": 2
},
"email": {
"type": "string",
"title": "Email",
"placeholder": "Enter email address",
"widget": "email",
"format": "email"
},
"phoneNumber": {
"type": "string",
"title": "Phone",
"placeholder": "Enter phone number",
"widget": "phone",
"minLength": 2,
"maxLength": 50,
"pattern": "^\\+[1-9]\\d{1,14}$"
},
"taxNumber": {
"type": "string",
"title": "Tax number",
"placeholder": "Enter tax ID",
"widget": "text",
"minLength": 2,
"maxLength": 50
},
"physicalAddress": {
"type": "object",
"title": "Residential address",
"required": [
"addressLine1",
"city",
"stateProvince",
"postalCode",
"countryCode"
],
"properties": {
"addressLine1": {
"type": "string",
"title": "Address line 1",
"placeholder": "Enter residential address",
"widget": "text",
"minLength": 2,
"maxLength": 150
},
"addressLine2": {
"type": [
"string",
"null"
],
"title": "Address line 2",
"placeholder": "Enter residential address line 2",
"widget": "text",
"maxLength": 150
},
"city": {
"type": "string",
"title": "City",
"placeholder": "Enter city",
"widget": "text",
"minLength": 2,
"maxLength": 50
},
"stateProvince": {
"type": "string",
"title": "State/province",
"placeholder": "Enter state or province",
"widget": "text",
"minLength": 2,
"maxLength": 50
},
"postalCode": {
"type": "string",
"title": "Postal code",
"placeholder": "Enter postal code",
"widget": "text",
"minLength": 3,
"maxLength": 10
},
"countryCode": {
"type": "string",
"title": "Country code",
"placeholder": "Enter the ISO country code (e.g., US)",
"widget": "text",
"minLength": 2,
"maxLength": 3
}
},
"additionalProperties": false
}
},
"additionalProperties": false
}
},
"additionalProperties": false
},
"documents": [
{
"documentKey": "passport",
"minFiles": 0,
"maxFiles": 1,
"supportedMimeTypes": [
"application/pdf",
"image/jpeg",
"image/png"
],
"maxFileSizeBytes": 10485760
},
{
"documentKey": "drivers_license_front",
"minFiles": 0,
"maxFiles": 1,
"supportedMimeTypes": [
"application/pdf",
"image/jpeg",
"image/png"
],
"maxFileSizeBytes": 10485760
},
{
"documentKey": "drivers_license_back",
"minFiles": 0,
"maxFiles": 1,
"supportedMimeTypes": [
"application/pdf",
"image/jpeg",
"image/png"
],
"maxFileSizeBytes": 10485760
},
{
"documentKey": "address_proof",
"minFiles": 1,
"maxFiles": 1,
"supportedMimeTypes": [
"application/pdf"
],
"maxFileSizeBytes": 10485760
}
],
"validationStatus": "VALID",
"entries": [
{
"entryId": "associated_persons:0",
"clientReferenceId": "representative-1",
"validationStatus": "VALID",
"data": {
"roles": [
"BENEFICIAL_OWNER",
"CONTROL_PERSON",
"SIGNER"
],
"title": "CEO",
"ownershipPercentage": 100,
"person": {
"firstName": "John",
"lastName": "Smith",
"dateOfBirth": "1986-06-01",
"citizenship": "US",
"email": "john.smith@acme.example",
"phoneNumber": "+12813308004",
"taxNumber": "078-05-1120",
"physicalAddress": {
"addressLine1": "100 Legends Way",
"addressLine2": "Apt 5",
"city": "Boston",
"stateProvince": "MA",
"postalCode": "02114",
"countryCode": "US"
}
}
},
"documents": [
{
"documentKey": "passport",
"files": [
{
"fileName": "passport.png",
"mimeType": "image/png",
"sizeBytes": 482311,
"storageKey": "uploads/usrsk-h2vuw0jaswgpzyxluhpz2709/associated_persons:0/passport/passport.png"
}
]
},
{
"documentKey": "drivers_license_front",
"files": []
},
{
"documentKey": "drivers_license_back",
"files": []
},
{
"documentKey": "address_proof",
"files": [
{
"fileName": "residential_address_proof.pdf",
"mimeType": "application/pdf",
"sizeBytes": 204800,
"storageKey": "uploads/usrsk-h2vuw0jaswgpzyxluhpz2709/associated_persons:0/address_proof/residential_address_proof.pdf"
}
]
}
]
}
]
}
]
}Get an Information Request by ID
Returns the Information Request details for the authenticated Meridian account.
curl --request GET \
--url https://sandbox-api.va.meridianpay.com/v1/information-requests/{informationRequestId} \
--header 'Authorization: Bearer <token>'import requests
url = "https://sandbox-api.va.meridianpay.com/v1/information-requests/{informationRequestId}"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://sandbox-api.va.meridianpay.com/v1/information-requests/{informationRequestId}', 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.va.meridianpay.com/v1/information-requests/{informationRequestId}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://sandbox-api.va.meridianpay.com/v1/information-requests/{informationRequestId}"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://sandbox-api.va.meridianpay.com/v1/information-requests/{informationRequestId}")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://sandbox-api.va.meridianpay.com/v1/information-requests/{informationRequestId}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"id": "usrsk-h2vuw0jaswgpzyxluhpz2709",
"status": "DRAFT",
"subjectType": "ENROLLMENT",
"subjectId": "usrem-coxxvofk5km4tz1r28c7gcfk",
"validationStatus": "VALID",
"decision": null,
"title": "Business Verification",
"createdAt": "2026-06-09T14:37:04Z",
"updatedAt": "2026-06-09T14:41:12Z",
"requirements": [
{
"requirementKey": "associated_persons",
"title": "Associated persons",
"description": "Identity document: upload a passport, or both sides of a driver's license (front and back), plus a proof of address.",
"cardinality": {
"mode": "MULTIPLE",
"min": 1,
"max": null
},
"dataSchema": {
"type": "object",
"required": [
"roles",
"ownershipPercentage",
"person"
],
"properties": {
"roles": {
"type": "array",
"title": "Roles",
"widget": "multiselect",
"minItems": 1,
"items": {
"type": "string",
"enum": [
"CONTROL_PERSON",
"BENEFICIAL_OWNER",
"SIGNER",
"ADMIN",
"DIRECTOR",
"REPRESENTATIVE",
"BUSINESS_CONTROLLER",
"BUSINESS_ADMIN",
"SHAREHOLDER"
],
"enumLabels": {
"CONTROL_PERSON": "Control person",
"BENEFICIAL_OWNER": "Beneficial owner",
"SIGNER": "Authorised signer",
"ADMIN": "Admin",
"DIRECTOR": "Director",
"REPRESENTATIVE": "Representative",
"BUSINESS_CONTROLLER": "Business controller",
"BUSINESS_ADMIN": "Business admin",
"SHAREHOLDER": "Shareholder"
}
}
},
"title": {
"type": "string",
"title": "Title",
"placeholder": "Enter this person's title (e.g., CEO)",
"widget": "text",
"minLength": 1,
"maxLength": 150
},
"ownershipPercentage": {
"type": "integer",
"title": "Ownership percentage",
"placeholder": "Enter ownership %",
"widget": "number",
"minimum": 0,
"maximum": 100
},
"person": {
"type": "object",
"title": "Person",
"required": [
"firstName",
"lastName",
"dateOfBirth",
"citizenship",
"email",
"phoneNumber",
"taxNumber",
"physicalAddress"
],
"properties": {
"firstName": {
"type": "string",
"title": "First name",
"placeholder": "Enter first name",
"widget": "text",
"minLength": 1,
"maxLength": 150
},
"lastName": {
"type": "string",
"title": "Last name",
"placeholder": "Enter last name",
"widget": "text",
"minLength": 1,
"maxLength": 150
},
"dateOfBirth": {
"type": "string",
"title": "Date of birth",
"placeholder": "Enter date of birth in YYYY-MM-DD format",
"widget": "date",
"format": "date"
},
"citizenship": {
"type": "string",
"title": "Citizenship",
"placeholder": "Enter the ISO country code of citizenship (e.g., US)",
"widget": "text",
"minLength": 2,
"maxLength": 2
},
"email": {
"type": "string",
"title": "Email",
"placeholder": "Enter email address",
"widget": "email",
"format": "email"
},
"phoneNumber": {
"type": "string",
"title": "Phone",
"placeholder": "Enter phone number",
"widget": "phone",
"minLength": 2,
"maxLength": 50,
"pattern": "^\\+[1-9]\\d{1,14}$"
},
"taxNumber": {
"type": "string",
"title": "Tax number",
"placeholder": "Enter tax ID",
"widget": "text",
"minLength": 2,
"maxLength": 50
},
"physicalAddress": {
"type": "object",
"title": "Residential address",
"required": [
"addressLine1",
"city",
"stateProvince",
"postalCode",
"countryCode"
],
"properties": {
"addressLine1": {
"type": "string",
"title": "Address line 1",
"placeholder": "Enter residential address",
"widget": "text",
"minLength": 2,
"maxLength": 150
},
"addressLine2": {
"type": [
"string",
"null"
],
"title": "Address line 2",
"placeholder": "Enter residential address line 2",
"widget": "text",
"maxLength": 150
},
"city": {
"type": "string",
"title": "City",
"placeholder": "Enter city",
"widget": "text",
"minLength": 2,
"maxLength": 50
},
"stateProvince": {
"type": "string",
"title": "State/province",
"placeholder": "Enter state or province",
"widget": "text",
"minLength": 2,
"maxLength": 50
},
"postalCode": {
"type": "string",
"title": "Postal code",
"placeholder": "Enter postal code",
"widget": "text",
"minLength": 3,
"maxLength": 10
},
"countryCode": {
"type": "string",
"title": "Country code",
"placeholder": "Enter the ISO country code (e.g., US)",
"widget": "text",
"minLength": 2,
"maxLength": 3
}
},
"additionalProperties": false
}
},
"additionalProperties": false
}
},
"additionalProperties": false
},
"documents": [
{
"documentKey": "passport",
"minFiles": 0,
"maxFiles": 1,
"supportedMimeTypes": [
"application/pdf",
"image/jpeg",
"image/png"
],
"maxFileSizeBytes": 10485760
},
{
"documentKey": "drivers_license_front",
"minFiles": 0,
"maxFiles": 1,
"supportedMimeTypes": [
"application/pdf",
"image/jpeg",
"image/png"
],
"maxFileSizeBytes": 10485760
},
{
"documentKey": "drivers_license_back",
"minFiles": 0,
"maxFiles": 1,
"supportedMimeTypes": [
"application/pdf",
"image/jpeg",
"image/png"
],
"maxFileSizeBytes": 10485760
},
{
"documentKey": "address_proof",
"minFiles": 1,
"maxFiles": 1,
"supportedMimeTypes": [
"application/pdf"
],
"maxFileSizeBytes": 10485760
}
],
"validationStatus": "VALID",
"entries": [
{
"entryId": "associated_persons:0",
"clientReferenceId": "representative-1",
"validationStatus": "VALID",
"data": {
"roles": [
"BENEFICIAL_OWNER",
"CONTROL_PERSON",
"SIGNER"
],
"title": "CEO",
"ownershipPercentage": 100,
"person": {
"firstName": "John",
"lastName": "Smith",
"dateOfBirth": "1986-06-01",
"citizenship": "US",
"email": "john.smith@acme.example",
"phoneNumber": "+12813308004",
"taxNumber": "078-05-1120",
"physicalAddress": {
"addressLine1": "100 Legends Way",
"addressLine2": "Apt 5",
"city": "Boston",
"stateProvince": "MA",
"postalCode": "02114",
"countryCode": "US"
}
}
},
"documents": [
{
"documentKey": "passport",
"files": [
{
"fileName": "passport.png",
"mimeType": "image/png",
"sizeBytes": 482311,
"storageKey": "uploads/usrsk-h2vuw0jaswgpzyxluhpz2709/associated_persons:0/passport/passport.png"
}
]
},
{
"documentKey": "drivers_license_front",
"files": []
},
{
"documentKey": "drivers_license_back",
"files": []
},
{
"documentKey": "address_proof",
"files": [
{
"fileName": "residential_address_proof.pdf",
"mimeType": "application/pdf",
"sizeBytes": 204800,
"storageKey": "uploads/usrsk-h2vuw0jaswgpzyxluhpz2709/associated_persons:0/address_proof/residential_address_proof.pdf"
}
]
}
]
}
]
}
]
}Authorizations
Bearer token authentication, for client-server calls.
Send the access token issued by POST /v1/auth/token as Authorization: Bearer {token}. The token carries its own program and user context, so the X-Meridian-* headers are not required. See Authentication.
Headers
Server-to-server (HMAC) requests only. Partner API key issued by Meridian during provisioning.
Server-to-server (HMAC) requests only. Current time in milliseconds since the Unix epoch. Must be within 60 seconds of the request.
Server-to-server (HMAC) requests only. Identifies the program context for the request.
Server-to-server (HMAC) requests only. Identifies the Meridian user targeted by the request. Required for MULTI_USER integrations; omit for SINGLE_USER.
Path Parameters
ID of the Information Request to fetch — the id returned by GET /v1/information-requests.
Response
The Information Request details for the authenticated account
Detailed Information Request payload for the authenticated Meridian account
Unique identifier of the Information Request
"ir_01HZX1A2B3C4D5E6F7G8H9J0K"
Current status of the Information Request
DRAFT, PROCESSING_SUBMISSION, PENDING_REVIEW, COMPLETED, CANCELED "DRAFT"
Type of entity the Information Request is associated with
ENROLLMENT "ENROLLMENT"
Identifier of the entity the Information Request is associated with
"enrollment_123"
Requirement contracts and submitted entries for this Information Request
Show child attributes
Show child attributes
Validation status of the Information Request data. VALID means every rule that can be checked from this Information Request alone passes — field schemas, cross-entry rules and required documents. It is not a promise that submission will succeed: checks against data outside this Information Request, such as whether a business name is already registered, only run on POST /submit and are reported there.
MISSING, VALID, INVALID "MISSING"
Timestamp when the Information Request was created
"2026-04-01T12:00:00Z"
Timestamp when the Information Request was last updated
"2026-04-01T12:05:00Z"
Current manual review decision status for the Information Request, if it has been reviewed
PENDING, APPROVED, REJECTED, null "PENDING"
Display title for the Information Request
"Business Verification"