curl --request POST \
--url https://api.meow.com/v1/entities/{entity_id}/info-requests/{request_id}/documents/confirm \
--header 'Content-Type: application/json' \
--header 'x-api-key: <api-key>' \
--data '
{
"object_key": "<string>"
}
'import requests
url = "https://api.meow.com/v1/entities/{entity_id}/info-requests/{request_id}/documents/confirm"
payload = { "object_key": "<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({object_key: '<string>'})
};
fetch('https://api.meow.com/v1/entities/{entity_id}/info-requests/{request_id}/documents/confirm', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.meow.com/v1/entities/{entity_id}/info-requests/{request_id}/documents/confirm"
payload := strings.NewReader("{\n \"object_key\": \"<string>\"\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.meow.com/v1/entities/{entity_id}/info-requests/{request_id}/documents/confirm")
.header("x-api-key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"object_key\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.meow.com/v1/entities/{entity_id}/info-requests/{request_id}/documents/confirm")
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 \"object_key\": \"<string>\"\n}"
response = http.request(request)
puts response.read_body<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.meow.com/v1/entities/{entity_id}/info-requests/{request_id}/documents/confirm",
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([
'object_key' => '<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;
}const url = 'https://api.meow.com/v1/entities/{entity_id}/info-requests/{request_id}/documents/confirm';
const options = {
method: 'POST',
headers: {'x-api-key': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({object_key: '<string>'})
};
fetch(url, options)
.then(res => res.json())
.then(json => console.log(json))
.catch(err => console.error(err));using RestSharp;
var options = new RestClientOptions("https://api.meow.com/v1/entities/{entity_id}/info-requests/{request_id}/documents/confirm");
var client = new RestClient(options);
var request = new RestRequest("");
request.AddHeader("x-api-key", "<api-key>");
request.AddJsonBody("{\n \"object_key\": \"<string>\"\n}", false);
var response = await client.PostAsync(request);
Console.WriteLine("{0}", response.Content);
val client = OkHttpClient()
val mediaType = MediaType.parse("application/json")
val body = RequestBody.create(mediaType, "{\n \"object_key\": \"<string>\"\n}")
val request = Request.Builder()
.url("https://api.meow.com/v1/entities/{entity_id}/info-requests/{request_id}/documents/confirm")
.post(body)
.addHeader("x-api-key", "<api-key>")
.addHeader("Content-Type", "application/json")
.build()
val response = client.newCall(request).execute()import Foundation
let parameters = ["object_key": "<string>"] as [String : Any?]
let postData = try JSONSerialization.data(withJSONObject: parameters, options: [])
let url = URL(string: "https://api.meow.com/v1/entities/{entity_id}/info-requests/{request_id}/documents/confirm")!
var request = URLRequest(url: url)
request.httpMethod = "POST"
request.timeoutInterval = 10
request.allHTTPHeaderFields = [
"x-api-key": "<api-key>",
"Content-Type": "application/json"
]
request.httpBody = postData
let (data, _) = try await URLSession.shared.data(for: request)
print(String(decoding: data, as: UTF8.self))falsefalse$headers=@{}
$headers.Add("x-api-key", "<api-key>")
$headers.Add("Content-Type", "application/json")
$response = Invoke-WebRequest -Uri 'https://api.meow.com/v1/entities/{entity_id}/info-requests/{request_id}/documents/confirm' -Method POST -Headers $headers -ContentType 'application/json' -Body '{
"object_key": "<string>"
}'{
"confirmed": true,
"file_name": "<string>",
"request_completed": true
}{
"detail": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>",
"input": "<unknown>",
"ctx": {}
}
]
}Confirm an information request document
Confirm that a document for an info request was uploaded successfully. The document is attributed to request_id, so it counts against what that request is waiting on. request_completed reports whether this satisfied the request in full; a request also stays open on unanswered follow-up questions, which next_step.info_requests[].questions_pending flags.
curl --request POST \
--url https://api.meow.com/v1/entities/{entity_id}/info-requests/{request_id}/documents/confirm \
--header 'Content-Type: application/json' \
--header 'x-api-key: <api-key>' \
--data '
{
"object_key": "<string>"
}
'import requests
url = "https://api.meow.com/v1/entities/{entity_id}/info-requests/{request_id}/documents/confirm"
payload = { "object_key": "<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({object_key: '<string>'})
};
fetch('https://api.meow.com/v1/entities/{entity_id}/info-requests/{request_id}/documents/confirm', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.meow.com/v1/entities/{entity_id}/info-requests/{request_id}/documents/confirm"
payload := strings.NewReader("{\n \"object_key\": \"<string>\"\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.meow.com/v1/entities/{entity_id}/info-requests/{request_id}/documents/confirm")
.header("x-api-key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"object_key\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.meow.com/v1/entities/{entity_id}/info-requests/{request_id}/documents/confirm")
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 \"object_key\": \"<string>\"\n}"
response = http.request(request)
puts response.read_body<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.meow.com/v1/entities/{entity_id}/info-requests/{request_id}/documents/confirm",
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([
'object_key' => '<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;
}const url = 'https://api.meow.com/v1/entities/{entity_id}/info-requests/{request_id}/documents/confirm';
const options = {
method: 'POST',
headers: {'x-api-key': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({object_key: '<string>'})
};
fetch(url, options)
.then(res => res.json())
.then(json => console.log(json))
.catch(err => console.error(err));using RestSharp;
var options = new RestClientOptions("https://api.meow.com/v1/entities/{entity_id}/info-requests/{request_id}/documents/confirm");
var client = new RestClient(options);
var request = new RestRequest("");
request.AddHeader("x-api-key", "<api-key>");
request.AddJsonBody("{\n \"object_key\": \"<string>\"\n}", false);
var response = await client.PostAsync(request);
Console.WriteLine("{0}", response.Content);
val client = OkHttpClient()
val mediaType = MediaType.parse("application/json")
val body = RequestBody.create(mediaType, "{\n \"object_key\": \"<string>\"\n}")
val request = Request.Builder()
.url("https://api.meow.com/v1/entities/{entity_id}/info-requests/{request_id}/documents/confirm")
.post(body)
.addHeader("x-api-key", "<api-key>")
.addHeader("Content-Type", "application/json")
.build()
val response = client.newCall(request).execute()import Foundation
let parameters = ["object_key": "<string>"] as [String : Any?]
let postData = try JSONSerialization.data(withJSONObject: parameters, options: [])
let url = URL(string: "https://api.meow.com/v1/entities/{entity_id}/info-requests/{request_id}/documents/confirm")!
var request = URLRequest(url: url)
request.httpMethod = "POST"
request.timeoutInterval = 10
request.allHTTPHeaderFields = [
"x-api-key": "<api-key>",
"Content-Type": "application/json"
]
request.httpBody = postData
let (data, _) = try await URLSession.shared.data(for: request)
print(String(decoding: data, as: UTF8.self))falsefalse$headers=@{}
$headers.Add("x-api-key", "<api-key>")
$headers.Add("Content-Type", "application/json")
$response = Invoke-WebRequest -Uri 'https://api.meow.com/v1/entities/{entity_id}/info-requests/{request_id}/documents/confirm' -Method POST -Headers $headers -ContentType 'application/json' -Body '{
"object_key": "<string>"
}'{
"confirmed": true,
"file_name": "<string>",
"request_completed": true
}{
"detail": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>",
"input": "<unknown>",
"ctx": {}
}
]
}Authorizations
Your Meow API key, sent in the x-api-key header for authentication.
Path Parameters
The information request, as returned in next_step.info_requests[].request_id.
The entity being onboarded.
Body
Object key returned from the upload-url endpoint.
Type of KYB document being confirmed. Use the same proof_type you passed when requesting the upload URL.
accredited, address, articles_of_organization, bank_statement, client_contract, client_invoice, beneficial_owner_address, beneficial_owner_id, beneficial_owner_id_back, beneficial_ownership_register, bylaws, certificate_of_good_standing, corporate_resolution, drivers_license, due_diligence, ein, final_edd_report, government_issued_business_license, hemp_cultivator_state_license, incorporation, industry_related_license, lease_agreement, llc_resolution, money_service_business_license, money_transmitter_registration, mortgage_statement, national_id, org_chart, partnership_agreement, partnership_agreement_due_diligence, partnership_resolution, personal_address, remote_employees_due_diligence, signed_ss4, tax_exemption_certificate, uk_officer_passport, officer_registry, uk_registry, shareholder_registry, uk_w8_en, utility_bill, us_based_office_proof_of_address_due_diligence, pitch_deck, active_business_registration, proof_of_ownership_or_banking_authorization, non_profit_bylaws, operating_agreement, flow_of_funds, aml_sanction, registration_or_license, sec_filing, legal_opinion, certificate_of_formation_master_llc, series_operating_agreement, share_subscription_agreement, fund_subscription_agreement, safe_agreement, convertible_note_agreement, loan_promissory_note, token_purchase_agreement, saft_agreement, deal_memo_hybrid_agreement, issuer_due_diligence_report, protocol_ecosystem_questionnaire, investment_company_due_diligence_form, us_based_operations_due_diligence_form, register_of_directors, articles_of_association, memorandum_of_association, non_profit_status, ofac_sanctions_screening_policy, aml_kyc_policy, w8_bene, corporate_structure_chart, custody_safeguarding_agreement, reserve_attestation, sanctions_vendor_service_agreement, contractual_fund_flow_agreements Response
Successful Response
Whether the document was successfully confirmed.
Confirmed file name.
Whether this upload satisfied the info request in full. False while the request still owes documents or unanswered questions; check next_step.info_requests on the onboarding status for what is left.