curl --request POST \
--url https://api.meow.com/v1/entities/{entity_id}/representatives \
--header 'Content-Type: application/json' \
--header 'x-api-key: <api-key>' \
--data '
{
"email": "jsmith@example.com",
"is_beneficial_owner": false,
"percent_ownership": "50",
"first_name": "Felix",
"last_name": "Whiskers",
"is_primary": false
}
'import requests
url = "https://api.meow.com/v1/entities/{entity_id}/representatives"
payload = {
"email": "jsmith@example.com",
"is_beneficial_owner": False,
"percent_ownership": "50",
"first_name": "Felix",
"last_name": "Whiskers",
"is_primary": False
}
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({
email: 'jsmith@example.com',
is_beneficial_owner: false,
percent_ownership: '50',
first_name: 'Felix',
last_name: 'Whiskers',
is_primary: false
})
};
fetch('https://api.meow.com/v1/entities/{entity_id}/representatives', 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}/representatives"
payload := strings.NewReader("{\n \"email\": \"jsmith@example.com\",\n \"is_beneficial_owner\": false,\n \"percent_ownership\": \"50\",\n \"first_name\": \"Felix\",\n \"last_name\": \"Whiskers\",\n \"is_primary\": false\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}/representatives")
.header("x-api-key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"email\": \"jsmith@example.com\",\n \"is_beneficial_owner\": false,\n \"percent_ownership\": \"50\",\n \"first_name\": \"Felix\",\n \"last_name\": \"Whiskers\",\n \"is_primary\": false\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.meow.com/v1/entities/{entity_id}/representatives")
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 \"email\": \"jsmith@example.com\",\n \"is_beneficial_owner\": false,\n \"percent_ownership\": \"50\",\n \"first_name\": \"Felix\",\n \"last_name\": \"Whiskers\",\n \"is_primary\": false\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}/representatives",
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([
'email' => 'jsmith@example.com',
'is_beneficial_owner' => false,
'percent_ownership' => '50',
'first_name' => 'Felix',
'last_name' => 'Whiskers',
'is_primary' => false
]),
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}/representatives';
const options = {
method: 'POST',
headers: {'x-api-key': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
email: 'jsmith@example.com',
is_beneficial_owner: false,
percent_ownership: '50',
first_name: 'Felix',
last_name: 'Whiskers',
is_primary: false
})
};
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}/representatives");
var client = new RestClient(options);
var request = new RestRequest("");
request.AddHeader("x-api-key", "<api-key>");
request.AddJsonBody("{\n \"email\": \"jsmith@example.com\",\n \"is_beneficial_owner\": false,\n \"percent_ownership\": \"50\",\n \"first_name\": \"Felix\",\n \"last_name\": \"Whiskers\",\n \"is_primary\": false\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 \"email\": \"jsmith@example.com\",\n \"is_beneficial_owner\": false,\n \"percent_ownership\": \"50\",\n \"first_name\": \"Felix\",\n \"last_name\": \"Whiskers\",\n \"is_primary\": false\n}")
val request = Request.Builder()
.url("https://api.meow.com/v1/entities/{entity_id}/representatives")
.post(body)
.addHeader("x-api-key", "<api-key>")
.addHeader("Content-Type", "application/json")
.build()
val response = client.newCall(request).execute()import Foundation
let parameters = [
"email": "jsmith@example.com",
"is_beneficial_owner": false,
"percent_ownership": "50",
"first_name": "Felix",
"last_name": "Whiskers",
"is_primary": false
] as [String : Any?]
let postData = try JSONSerialization.data(withJSONObject: parameters, options: [])
let url = URL(string: "https://api.meow.com/v1/entities/{entity_id}/representatives")!
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}/representatives' -Method POST -Headers $headers -ContentType 'application/json' -Body '{
"email": "jsmith@example.com",
"is_beneficial_owner": false,
"percent_ownership": "50",
"first_name": "Felix",
"last_name": "Whiskers",
"is_primary": false
}'{
"representative_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"email": "<string>",
"is_beneficial_owner": true,
"percent_ownership": "<string>",
"is_primary": true
}{
"detail": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>"
}
]
}Add a representative
Add a representative (a beneficial owner or officer) to a business entity. Set is_primary to mark the primary representative (signer); exactly one primary is required before the application can be submitted. Verify the representative separately by submitting their KYC data or minting a self-serve verification link. This is allowed only before the application is submitted for review.
curl --request POST \
--url https://api.meow.com/v1/entities/{entity_id}/representatives \
--header 'Content-Type: application/json' \
--header 'x-api-key: <api-key>' \
--data '
{
"email": "jsmith@example.com",
"is_beneficial_owner": false,
"percent_ownership": "50",
"first_name": "Felix",
"last_name": "Whiskers",
"is_primary": false
}
'import requests
url = "https://api.meow.com/v1/entities/{entity_id}/representatives"
payload = {
"email": "jsmith@example.com",
"is_beneficial_owner": False,
"percent_ownership": "50",
"first_name": "Felix",
"last_name": "Whiskers",
"is_primary": False
}
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({
email: 'jsmith@example.com',
is_beneficial_owner: false,
percent_ownership: '50',
first_name: 'Felix',
last_name: 'Whiskers',
is_primary: false
})
};
fetch('https://api.meow.com/v1/entities/{entity_id}/representatives', 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}/representatives"
payload := strings.NewReader("{\n \"email\": \"jsmith@example.com\",\n \"is_beneficial_owner\": false,\n \"percent_ownership\": \"50\",\n \"first_name\": \"Felix\",\n \"last_name\": \"Whiskers\",\n \"is_primary\": false\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}/representatives")
.header("x-api-key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"email\": \"jsmith@example.com\",\n \"is_beneficial_owner\": false,\n \"percent_ownership\": \"50\",\n \"first_name\": \"Felix\",\n \"last_name\": \"Whiskers\",\n \"is_primary\": false\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.meow.com/v1/entities/{entity_id}/representatives")
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 \"email\": \"jsmith@example.com\",\n \"is_beneficial_owner\": false,\n \"percent_ownership\": \"50\",\n \"first_name\": \"Felix\",\n \"last_name\": \"Whiskers\",\n \"is_primary\": false\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}/representatives",
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([
'email' => 'jsmith@example.com',
'is_beneficial_owner' => false,
'percent_ownership' => '50',
'first_name' => 'Felix',
'last_name' => 'Whiskers',
'is_primary' => false
]),
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}/representatives';
const options = {
method: 'POST',
headers: {'x-api-key': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
email: 'jsmith@example.com',
is_beneficial_owner: false,
percent_ownership: '50',
first_name: 'Felix',
last_name: 'Whiskers',
is_primary: false
})
};
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}/representatives");
var client = new RestClient(options);
var request = new RestRequest("");
request.AddHeader("x-api-key", "<api-key>");
request.AddJsonBody("{\n \"email\": \"jsmith@example.com\",\n \"is_beneficial_owner\": false,\n \"percent_ownership\": \"50\",\n \"first_name\": \"Felix\",\n \"last_name\": \"Whiskers\",\n \"is_primary\": false\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 \"email\": \"jsmith@example.com\",\n \"is_beneficial_owner\": false,\n \"percent_ownership\": \"50\",\n \"first_name\": \"Felix\",\n \"last_name\": \"Whiskers\",\n \"is_primary\": false\n}")
val request = Request.Builder()
.url("https://api.meow.com/v1/entities/{entity_id}/representatives")
.post(body)
.addHeader("x-api-key", "<api-key>")
.addHeader("Content-Type", "application/json")
.build()
val response = client.newCall(request).execute()import Foundation
let parameters = [
"email": "jsmith@example.com",
"is_beneficial_owner": false,
"percent_ownership": "50",
"first_name": "Felix",
"last_name": "Whiskers",
"is_primary": false
] as [String : Any?]
let postData = try JSONSerialization.data(withJSONObject: parameters, options: [])
let url = URL(string: "https://api.meow.com/v1/entities/{entity_id}/representatives")!
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}/representatives' -Method POST -Headers $headers -ContentType 'application/json' -Body '{
"email": "jsmith@example.com",
"is_beneficial_owner": false,
"percent_ownership": "50",
"first_name": "Felix",
"last_name": "Whiskers",
"is_primary": false
}'{
"representative_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"email": "<string>",
"is_beneficial_owner": true,
"percent_ownership": "<string>",
"is_primary": true
}{
"detail": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>"
}
]
}Authorizations
Your Meow API key, sent in the x-api-key header for authentication.
Path Parameters
Body
Email address of the representative.
"felix@catnipcoffee.com"
The representative's job title.
chief executive officer, chief financial officer, chief operating officer, finance manager, general partner, managing member, president Whether this person owns 25% or more of the business.
Ownership percentage; required when is_beneficial_owner is true.
25 <= x <= 100"50"
Legal first name.
"Felix"
Legal last name.
"Whiskers"
Whether this representative is the primary representative (signer) for the application. Setting this demotes any existing primary; exactly one primary is required before the application can be submitted.
Response
Successful Response
ID of the created representative. Use it to submit the representative's KYC or mint a verification link.
Representative's email address.
The representative's job title.
chief executive officer, chief financial officer, chief operating officer, finance manager, general partner, managing member, president Whether they are a beneficial owner.
Ownership percentage, if any.
^(?!^[-+.]*$)[+-]?0*\d*\.?\d*$Whether they are the primary representative (signer).