curl --request POST \
--url https://api.meow.com/v1/partner/applications \
--header 'Content-Type: application/json' \
--header 'x-api-key: <api-key>' \
--data '
{
"business_name": "<string>",
"business_date_of_incorporation": "2023-12-25",
"business_address": {
"address": "<string>",
"city": "<string>",
"zip": "<string>",
"address_2": "Suite 9",
"state": "CA"
},
"user_email": "jsmith@example.com",
"incorporation_state": "DE",
"physical_address": {
"address": "<string>",
"city": "<string>",
"zip": "<string>",
"address_2": "Suite 9",
"state": "CA"
},
"partner_reference_id": "<string>"
}
'import requests
url = "https://api.meow.com/v1/partner/applications"
payload = {
"business_name": "<string>",
"business_date_of_incorporation": "2023-12-25",
"business_address": {
"address": "<string>",
"city": "<string>",
"zip": "<string>",
"address_2": "Suite 9",
"state": "CA"
},
"user_email": "jsmith@example.com",
"incorporation_state": "DE",
"physical_address": {
"address": "<string>",
"city": "<string>",
"zip": "<string>",
"address_2": "Suite 9",
"state": "CA"
},
"partner_reference_id": "<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({
business_name: '<string>',
business_date_of_incorporation: '2023-12-25',
business_address: {
address: '<string>',
city: '<string>',
zip: '<string>',
address_2: 'Suite 9',
state: 'CA'
},
user_email: 'jsmith@example.com',
incorporation_state: 'DE',
physical_address: {
address: '<string>',
city: '<string>',
zip: '<string>',
address_2: 'Suite 9',
state: 'CA'
},
partner_reference_id: '<string>'
})
};
fetch('https://api.meow.com/v1/partner/applications', 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/partner/applications"
payload := strings.NewReader("{\n \"business_name\": \"<string>\",\n \"business_date_of_incorporation\": \"2023-12-25\",\n \"business_address\": {\n \"address\": \"<string>\",\n \"city\": \"<string>\",\n \"zip\": \"<string>\",\n \"address_2\": \"Suite 9\",\n \"state\": \"CA\"\n },\n \"user_email\": \"jsmith@example.com\",\n \"incorporation_state\": \"DE\",\n \"physical_address\": {\n \"address\": \"<string>\",\n \"city\": \"<string>\",\n \"zip\": \"<string>\",\n \"address_2\": \"Suite 9\",\n \"state\": \"CA\"\n },\n \"partner_reference_id\": \"<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/partner/applications")
.header("x-api-key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"business_name\": \"<string>\",\n \"business_date_of_incorporation\": \"2023-12-25\",\n \"business_address\": {\n \"address\": \"<string>\",\n \"city\": \"<string>\",\n \"zip\": \"<string>\",\n \"address_2\": \"Suite 9\",\n \"state\": \"CA\"\n },\n \"user_email\": \"jsmith@example.com\",\n \"incorporation_state\": \"DE\",\n \"physical_address\": {\n \"address\": \"<string>\",\n \"city\": \"<string>\",\n \"zip\": \"<string>\",\n \"address_2\": \"Suite 9\",\n \"state\": \"CA\"\n },\n \"partner_reference_id\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.meow.com/v1/partner/applications")
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 \"business_name\": \"<string>\",\n \"business_date_of_incorporation\": \"2023-12-25\",\n \"business_address\": {\n \"address\": \"<string>\",\n \"city\": \"<string>\",\n \"zip\": \"<string>\",\n \"address_2\": \"Suite 9\",\n \"state\": \"CA\"\n },\n \"user_email\": \"jsmith@example.com\",\n \"incorporation_state\": \"DE\",\n \"physical_address\": {\n \"address\": \"<string>\",\n \"city\": \"<string>\",\n \"zip\": \"<string>\",\n \"address_2\": \"Suite 9\",\n \"state\": \"CA\"\n },\n \"partner_reference_id\": \"<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/partner/applications",
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([
'business_name' => '<string>',
'business_date_of_incorporation' => '2023-12-25',
'business_address' => [
'address' => '<string>',
'city' => '<string>',
'zip' => '<string>',
'address_2' => 'Suite 9',
'state' => 'CA'
],
'user_email' => 'jsmith@example.com',
'incorporation_state' => 'DE',
'physical_address' => [
'address' => '<string>',
'city' => '<string>',
'zip' => '<string>',
'address_2' => 'Suite 9',
'state' => 'CA'
],
'partner_reference_id' => '<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/partner/applications';
const options = {
method: 'POST',
headers: {'x-api-key': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
business_name: '<string>',
business_date_of_incorporation: '2023-12-25',
business_address: {
address: '<string>',
city: '<string>',
zip: '<string>',
address_2: 'Suite 9',
state: 'CA'
},
user_email: 'jsmith@example.com',
incorporation_state: 'DE',
physical_address: {
address: '<string>',
city: '<string>',
zip: '<string>',
address_2: 'Suite 9',
state: 'CA'
},
partner_reference_id: '<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/partner/applications");
var client = new RestClient(options);
var request = new RestRequest("");
request.AddHeader("x-api-key", "<api-key>");
request.AddJsonBody("{\n \"business_name\": \"<string>\",\n \"business_date_of_incorporation\": \"2023-12-25\",\n \"business_address\": {\n \"address\": \"<string>\",\n \"city\": \"<string>\",\n \"zip\": \"<string>\",\n \"address_2\": \"Suite 9\",\n \"state\": \"CA\"\n },\n \"user_email\": \"jsmith@example.com\",\n \"incorporation_state\": \"DE\",\n \"physical_address\": {\n \"address\": \"<string>\",\n \"city\": \"<string>\",\n \"zip\": \"<string>\",\n \"address_2\": \"Suite 9\",\n \"state\": \"CA\"\n },\n \"partner_reference_id\": \"<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 \"business_name\": \"<string>\",\n \"business_date_of_incorporation\": \"2023-12-25\",\n \"business_address\": {\n \"address\": \"<string>\",\n \"city\": \"<string>\",\n \"zip\": \"<string>\",\n \"address_2\": \"Suite 9\",\n \"state\": \"CA\"\n },\n \"user_email\": \"jsmith@example.com\",\n \"incorporation_state\": \"DE\",\n \"physical_address\": {\n \"address\": \"<string>\",\n \"city\": \"<string>\",\n \"zip\": \"<string>\",\n \"address_2\": \"Suite 9\",\n \"state\": \"CA\"\n },\n \"partner_reference_id\": \"<string>\"\n}")
val request = Request.Builder()
.url("https://api.meow.com/v1/partner/applications")
.post(body)
.addHeader("x-api-key", "<api-key>")
.addHeader("Content-Type", "application/json")
.build()
val response = client.newCall(request).execute()import Foundation
let parameters = [
"business_name": "<string>",
"business_date_of_incorporation": "2023-12-25",
"business_address": [
"address": "<string>",
"city": "<string>",
"zip": "<string>",
"address_2": "Suite 9",
"state": "CA"
],
"user_email": "jsmith@example.com",
"incorporation_state": "DE",
"physical_address": [
"address": "<string>",
"city": "<string>",
"zip": "<string>",
"address_2": "Suite 9",
"state": "CA"
],
"partner_reference_id": "<string>"
] as [String : Any?]
let postData = try JSONSerialization.data(withJSONObject: parameters, options: [])
let url = URL(string: "https://api.meow.com/v1/partner/applications")!
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/partner/applications' -Method POST -Headers $headers -ContentType 'application/json' -Body '{
"business_name": "<string>",
"business_date_of_incorporation": "2023-12-25",
"business_address": {
"address": "<string>",
"city": "<string>",
"zip": "<string>",
"address_2": "Suite 9",
"state": "CA"
},
"user_email": "jsmith@example.com",
"incorporation_state": "DE",
"physical_address": {
"address": "<string>",
"city": "<string>",
"zip": "<string>",
"address_2": "Suite 9",
"state": "CA"
},
"partner_reference_id": "<string>"
}'{
"entity_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"business_name": "<string>",
"created_at": "2023-11-07T05:31:56Z",
"updated_at": "2023-11-07T05:31:56Z",
"application_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"partner_reference_id": "<string>",
"onboarding_url": "<string>"
}{
"detail": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>"
}
]
}Create Application
Create a new onboarding application with business details. The applicant receives an invitation email to set their password and complete onboarding.
curl --request POST \
--url https://api.meow.com/v1/partner/applications \
--header 'Content-Type: application/json' \
--header 'x-api-key: <api-key>' \
--data '
{
"business_name": "<string>",
"business_date_of_incorporation": "2023-12-25",
"business_address": {
"address": "<string>",
"city": "<string>",
"zip": "<string>",
"address_2": "Suite 9",
"state": "CA"
},
"user_email": "jsmith@example.com",
"incorporation_state": "DE",
"physical_address": {
"address": "<string>",
"city": "<string>",
"zip": "<string>",
"address_2": "Suite 9",
"state": "CA"
},
"partner_reference_id": "<string>"
}
'import requests
url = "https://api.meow.com/v1/partner/applications"
payload = {
"business_name": "<string>",
"business_date_of_incorporation": "2023-12-25",
"business_address": {
"address": "<string>",
"city": "<string>",
"zip": "<string>",
"address_2": "Suite 9",
"state": "CA"
},
"user_email": "jsmith@example.com",
"incorporation_state": "DE",
"physical_address": {
"address": "<string>",
"city": "<string>",
"zip": "<string>",
"address_2": "Suite 9",
"state": "CA"
},
"partner_reference_id": "<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({
business_name: '<string>',
business_date_of_incorporation: '2023-12-25',
business_address: {
address: '<string>',
city: '<string>',
zip: '<string>',
address_2: 'Suite 9',
state: 'CA'
},
user_email: 'jsmith@example.com',
incorporation_state: 'DE',
physical_address: {
address: '<string>',
city: '<string>',
zip: '<string>',
address_2: 'Suite 9',
state: 'CA'
},
partner_reference_id: '<string>'
})
};
fetch('https://api.meow.com/v1/partner/applications', 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/partner/applications"
payload := strings.NewReader("{\n \"business_name\": \"<string>\",\n \"business_date_of_incorporation\": \"2023-12-25\",\n \"business_address\": {\n \"address\": \"<string>\",\n \"city\": \"<string>\",\n \"zip\": \"<string>\",\n \"address_2\": \"Suite 9\",\n \"state\": \"CA\"\n },\n \"user_email\": \"jsmith@example.com\",\n \"incorporation_state\": \"DE\",\n \"physical_address\": {\n \"address\": \"<string>\",\n \"city\": \"<string>\",\n \"zip\": \"<string>\",\n \"address_2\": \"Suite 9\",\n \"state\": \"CA\"\n },\n \"partner_reference_id\": \"<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/partner/applications")
.header("x-api-key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"business_name\": \"<string>\",\n \"business_date_of_incorporation\": \"2023-12-25\",\n \"business_address\": {\n \"address\": \"<string>\",\n \"city\": \"<string>\",\n \"zip\": \"<string>\",\n \"address_2\": \"Suite 9\",\n \"state\": \"CA\"\n },\n \"user_email\": \"jsmith@example.com\",\n \"incorporation_state\": \"DE\",\n \"physical_address\": {\n \"address\": \"<string>\",\n \"city\": \"<string>\",\n \"zip\": \"<string>\",\n \"address_2\": \"Suite 9\",\n \"state\": \"CA\"\n },\n \"partner_reference_id\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.meow.com/v1/partner/applications")
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 \"business_name\": \"<string>\",\n \"business_date_of_incorporation\": \"2023-12-25\",\n \"business_address\": {\n \"address\": \"<string>\",\n \"city\": \"<string>\",\n \"zip\": \"<string>\",\n \"address_2\": \"Suite 9\",\n \"state\": \"CA\"\n },\n \"user_email\": \"jsmith@example.com\",\n \"incorporation_state\": \"DE\",\n \"physical_address\": {\n \"address\": \"<string>\",\n \"city\": \"<string>\",\n \"zip\": \"<string>\",\n \"address_2\": \"Suite 9\",\n \"state\": \"CA\"\n },\n \"partner_reference_id\": \"<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/partner/applications",
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([
'business_name' => '<string>',
'business_date_of_incorporation' => '2023-12-25',
'business_address' => [
'address' => '<string>',
'city' => '<string>',
'zip' => '<string>',
'address_2' => 'Suite 9',
'state' => 'CA'
],
'user_email' => 'jsmith@example.com',
'incorporation_state' => 'DE',
'physical_address' => [
'address' => '<string>',
'city' => '<string>',
'zip' => '<string>',
'address_2' => 'Suite 9',
'state' => 'CA'
],
'partner_reference_id' => '<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/partner/applications';
const options = {
method: 'POST',
headers: {'x-api-key': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
business_name: '<string>',
business_date_of_incorporation: '2023-12-25',
business_address: {
address: '<string>',
city: '<string>',
zip: '<string>',
address_2: 'Suite 9',
state: 'CA'
},
user_email: 'jsmith@example.com',
incorporation_state: 'DE',
physical_address: {
address: '<string>',
city: '<string>',
zip: '<string>',
address_2: 'Suite 9',
state: 'CA'
},
partner_reference_id: '<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/partner/applications");
var client = new RestClient(options);
var request = new RestRequest("");
request.AddHeader("x-api-key", "<api-key>");
request.AddJsonBody("{\n \"business_name\": \"<string>\",\n \"business_date_of_incorporation\": \"2023-12-25\",\n \"business_address\": {\n \"address\": \"<string>\",\n \"city\": \"<string>\",\n \"zip\": \"<string>\",\n \"address_2\": \"Suite 9\",\n \"state\": \"CA\"\n },\n \"user_email\": \"jsmith@example.com\",\n \"incorporation_state\": \"DE\",\n \"physical_address\": {\n \"address\": \"<string>\",\n \"city\": \"<string>\",\n \"zip\": \"<string>\",\n \"address_2\": \"Suite 9\",\n \"state\": \"CA\"\n },\n \"partner_reference_id\": \"<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 \"business_name\": \"<string>\",\n \"business_date_of_incorporation\": \"2023-12-25\",\n \"business_address\": {\n \"address\": \"<string>\",\n \"city\": \"<string>\",\n \"zip\": \"<string>\",\n \"address_2\": \"Suite 9\",\n \"state\": \"CA\"\n },\n \"user_email\": \"jsmith@example.com\",\n \"incorporation_state\": \"DE\",\n \"physical_address\": {\n \"address\": \"<string>\",\n \"city\": \"<string>\",\n \"zip\": \"<string>\",\n \"address_2\": \"Suite 9\",\n \"state\": \"CA\"\n },\n \"partner_reference_id\": \"<string>\"\n}")
val request = Request.Builder()
.url("https://api.meow.com/v1/partner/applications")
.post(body)
.addHeader("x-api-key", "<api-key>")
.addHeader("Content-Type", "application/json")
.build()
val response = client.newCall(request).execute()import Foundation
let parameters = [
"business_name": "<string>",
"business_date_of_incorporation": "2023-12-25",
"business_address": [
"address": "<string>",
"city": "<string>",
"zip": "<string>",
"address_2": "Suite 9",
"state": "CA"
],
"user_email": "jsmith@example.com",
"incorporation_state": "DE",
"physical_address": [
"address": "<string>",
"city": "<string>",
"zip": "<string>",
"address_2": "Suite 9",
"state": "CA"
],
"partner_reference_id": "<string>"
] as [String : Any?]
let postData = try JSONSerialization.data(withJSONObject: parameters, options: [])
let url = URL(string: "https://api.meow.com/v1/partner/applications")!
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/partner/applications' -Method POST -Headers $headers -ContentType 'application/json' -Body '{
"business_name": "<string>",
"business_date_of_incorporation": "2023-12-25",
"business_address": {
"address": "<string>",
"city": "<string>",
"zip": "<string>",
"address_2": "Suite 9",
"state": "CA"
},
"user_email": "jsmith@example.com",
"incorporation_state": "DE",
"physical_address": {
"address": "<string>",
"city": "<string>",
"zip": "<string>",
"address_2": "Suite 9",
"state": "CA"
},
"partner_reference_id": "<string>"
}'{
"entity_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"business_name": "<string>",
"created_at": "2023-11-07T05:31:56Z",
"updated_at": "2023-11-07T05:31:56Z",
"application_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"partner_reference_id": "<string>",
"onboarding_url": "<string>"
}{
"detail": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>"
}
]
}Authorizations
Your Meow API key, sent in the x-api-key header for authentication.
Body
Legal business name.
400"Catnip Coffee Co"
Date the business was incorporated.
Legal structure of the business (e.g. llc, corp). Businesses incorporated outside the US use foreign_entity.
ccorp, corp, estate, foreign_entity, llc, llp, lp, nonprofit, partnership, scheme, scorp, soleprop, trust Registered legal business address. Must be in a country where Meow supports business onboarding; unsupported countries are rejected with the full supported list.
Show child attributes
Show child attributes
Email address of the primary representative who will own the account.
US state of incorporation. Required for businesses incorporated in the US; omit for businesses incorporated elsewhere.
AL, AK, AZ, AR, CA, CO, CT, DC, DE, FL, GA, HI, ID, IL, IN, IA, KS, KY, LA, ME, MD, MA, MI, MN, MS, MO, MT, NE, NV, NH, NJ, NM, NY, NC, ND, OH, OK, OR, PA, RI, SC, SD, TN, TX, UT, VT, VA, WA, WV, WI, WY, PR "DE"
Primary operating address. Omit it when the business operates at its registered legal address; that address is then used as the physical address too.
Show child attributes
Show child attributes
Your own reference ID for this application, used to make creation idempotent.
Response
Successful Response
Public ID of the onboarded business entity, stable across the onboarding lifecycle and matching the entity_id used in the Customer API, MCP, and webhook payloads.
Current onboarding status.
pending_document_upload, pending_user_action, submitted, under_review, approved, rejected Legal business name.
ISO 8601 timestamp of when the entity was created.
ISO 8601 timestamp of when onboarding was last updated.
Unique application identifier.
Your reference ID.
URL the applicant opens to complete onboarding.