Request access to a restricted feature
curl --request POST \
--url https://api.meow.com/v1/feature-access/requests \
--header 'Content-Type: application/json' \
--header 'x-api-key: <api-key>' \
--data '
{
"feature": "international_payments",
"eligibility": {
"monthly_volume": "from_25k_to_100k",
"monthly_payment_count": "from_11_to_20",
"countries_served": [
"GB",
"DE",
"KE"
],
"purposes": [
"supplier_payments"
],
"other_purpose": "Paying coffee growers in East Africa"
}
}
'import requests
url = "https://api.meow.com/v1/feature-access/requests"
payload = {
"feature": "international_payments",
"eligibility": {
"monthly_volume": "from_25k_to_100k",
"monthly_payment_count": "from_11_to_20",
"countries_served": ["GB", "DE", "KE"],
"purposes": ["supplier_payments"],
"other_purpose": "Paying coffee growers in East Africa"
}
}
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({
feature: 'international_payments',
eligibility: {
monthly_volume: 'from_25k_to_100k',
monthly_payment_count: 'from_11_to_20',
countries_served: ['GB', 'DE', 'KE'],
purposes: ['supplier_payments'],
other_purpose: 'Paying coffee growers in East Africa'
}
})
};
fetch('https://api.meow.com/v1/feature-access/requests', 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/feature-access/requests"
payload := strings.NewReader("{\n \"feature\": \"international_payments\",\n \"eligibility\": {\n \"monthly_volume\": \"from_25k_to_100k\",\n \"monthly_payment_count\": \"from_11_to_20\",\n \"countries_served\": [\n \"GB\",\n \"DE\",\n \"KE\"\n ],\n \"purposes\": [\n \"supplier_payments\"\n ],\n \"other_purpose\": \"Paying coffee growers in East Africa\"\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.meow.com/v1/feature-access/requests")
.header("x-api-key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"feature\": \"international_payments\",\n \"eligibility\": {\n \"monthly_volume\": \"from_25k_to_100k\",\n \"monthly_payment_count\": \"from_11_to_20\",\n \"countries_served\": [\n \"GB\",\n \"DE\",\n \"KE\"\n ],\n \"purposes\": [\n \"supplier_payments\"\n ],\n \"other_purpose\": \"Paying coffee growers in East Africa\"\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.meow.com/v1/feature-access/requests")
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 \"feature\": \"international_payments\",\n \"eligibility\": {\n \"monthly_volume\": \"from_25k_to_100k\",\n \"monthly_payment_count\": \"from_11_to_20\",\n \"countries_served\": [\n \"GB\",\n \"DE\",\n \"KE\"\n ],\n \"purposes\": [\n \"supplier_payments\"\n ],\n \"other_purpose\": \"Paying coffee growers in East Africa\"\n }\n}"
response = http.request(request)
puts response.read_body<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.meow.com/v1/feature-access/requests",
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([
'feature' => 'international_payments',
'eligibility' => [
'monthly_volume' => 'from_25k_to_100k',
'monthly_payment_count' => 'from_11_to_20',
'countries_served' => [
'GB',
'DE',
'KE'
],
'purposes' => [
'supplier_payments'
],
'other_purpose' => 'Paying coffee growers in East Africa'
]
]),
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/feature-access/requests';
const options = {
method: 'POST',
headers: {'x-api-key': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
feature: 'international_payments',
eligibility: {
monthly_volume: 'from_25k_to_100k',
monthly_payment_count: 'from_11_to_20',
countries_served: ['GB', 'DE', 'KE'],
purposes: ['supplier_payments'],
other_purpose: 'Paying coffee growers in East Africa'
}
})
};
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/feature-access/requests");
var client = new RestClient(options);
var request = new RestRequest("");
request.AddHeader("x-api-key", "<api-key>");
request.AddJsonBody("{\n \"feature\": \"international_payments\",\n \"eligibility\": {\n \"monthly_volume\": \"from_25k_to_100k\",\n \"monthly_payment_count\": \"from_11_to_20\",\n \"countries_served\": [\n \"GB\",\n \"DE\",\n \"KE\"\n ],\n \"purposes\": [\n \"supplier_payments\"\n ],\n \"other_purpose\": \"Paying coffee growers in East Africa\"\n }\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 \"feature\": \"international_payments\",\n \"eligibility\": {\n \"monthly_volume\": \"from_25k_to_100k\",\n \"monthly_payment_count\": \"from_11_to_20\",\n \"countries_served\": [\n \"GB\",\n \"DE\",\n \"KE\"\n ],\n \"purposes\": [\n \"supplier_payments\"\n ],\n \"other_purpose\": \"Paying coffee growers in East Africa\"\n }\n}")
val request = Request.Builder()
.url("https://api.meow.com/v1/feature-access/requests")
.post(body)
.addHeader("x-api-key", "<api-key>")
.addHeader("Content-Type", "application/json")
.build()
val response = client.newCall(request).execute()import Foundation
let parameters = [
"feature": "international_payments",
"eligibility": [
"monthly_volume": "from_25k_to_100k",
"monthly_payment_count": "from_11_to_20",
"countries_served": ["GB", "DE", "KE"],
"purposes": ["supplier_payments"],
"other_purpose": "Paying coffee growers in East Africa"
]
] as [String : Any?]
let postData = try JSONSerialization.data(withJSONObject: parameters, options: [])
let url = URL(string: "https://api.meow.com/v1/feature-access/requests")!
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/feature-access/requests' -Method POST -Headers $headers -ContentType 'application/json' -Body '{
"feature": "international_payments",
"eligibility": {
"monthly_volume": "from_25k_to_100k",
"monthly_payment_count": "from_11_to_20",
"countries_served": [
"GB",
"DE",
"KE"
],
"purposes": [
"supplier_payments"
],
"other_purpose": "Paying coffee growers in East Africa"
}
}'{
"feature": "international_payments",
"status": "pending"
}{
"code": 123,
"message": "<string>",
"debug_message": "<string>"
}{
"error_code": "<string>",
"message": "<string>"
}{
"error_code": "<string>",
"message": "<string>"
}{
"error_code": "<string>",
"message": "<string>"
}Feature Access
Request Feature Access
Requests access to a restricted feature, such as international payments. Send the eligibility details for the feature and we notify the team that reviews them. Eligible businesses may be approved right away. If you have already requested this feature, we return its current status.
POST
/
feature-access
/
requests
Request access to a restricted feature
curl --request POST \
--url https://api.meow.com/v1/feature-access/requests \
--header 'Content-Type: application/json' \
--header 'x-api-key: <api-key>' \
--data '
{
"feature": "international_payments",
"eligibility": {
"monthly_volume": "from_25k_to_100k",
"monthly_payment_count": "from_11_to_20",
"countries_served": [
"GB",
"DE",
"KE"
],
"purposes": [
"supplier_payments"
],
"other_purpose": "Paying coffee growers in East Africa"
}
}
'import requests
url = "https://api.meow.com/v1/feature-access/requests"
payload = {
"feature": "international_payments",
"eligibility": {
"monthly_volume": "from_25k_to_100k",
"monthly_payment_count": "from_11_to_20",
"countries_served": ["GB", "DE", "KE"],
"purposes": ["supplier_payments"],
"other_purpose": "Paying coffee growers in East Africa"
}
}
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({
feature: 'international_payments',
eligibility: {
monthly_volume: 'from_25k_to_100k',
monthly_payment_count: 'from_11_to_20',
countries_served: ['GB', 'DE', 'KE'],
purposes: ['supplier_payments'],
other_purpose: 'Paying coffee growers in East Africa'
}
})
};
fetch('https://api.meow.com/v1/feature-access/requests', 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/feature-access/requests"
payload := strings.NewReader("{\n \"feature\": \"international_payments\",\n \"eligibility\": {\n \"monthly_volume\": \"from_25k_to_100k\",\n \"monthly_payment_count\": \"from_11_to_20\",\n \"countries_served\": [\n \"GB\",\n \"DE\",\n \"KE\"\n ],\n \"purposes\": [\n \"supplier_payments\"\n ],\n \"other_purpose\": \"Paying coffee growers in East Africa\"\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.meow.com/v1/feature-access/requests")
.header("x-api-key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"feature\": \"international_payments\",\n \"eligibility\": {\n \"monthly_volume\": \"from_25k_to_100k\",\n \"monthly_payment_count\": \"from_11_to_20\",\n \"countries_served\": [\n \"GB\",\n \"DE\",\n \"KE\"\n ],\n \"purposes\": [\n \"supplier_payments\"\n ],\n \"other_purpose\": \"Paying coffee growers in East Africa\"\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.meow.com/v1/feature-access/requests")
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 \"feature\": \"international_payments\",\n \"eligibility\": {\n \"monthly_volume\": \"from_25k_to_100k\",\n \"monthly_payment_count\": \"from_11_to_20\",\n \"countries_served\": [\n \"GB\",\n \"DE\",\n \"KE\"\n ],\n \"purposes\": [\n \"supplier_payments\"\n ],\n \"other_purpose\": \"Paying coffee growers in East Africa\"\n }\n}"
response = http.request(request)
puts response.read_body<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.meow.com/v1/feature-access/requests",
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([
'feature' => 'international_payments',
'eligibility' => [
'monthly_volume' => 'from_25k_to_100k',
'monthly_payment_count' => 'from_11_to_20',
'countries_served' => [
'GB',
'DE',
'KE'
],
'purposes' => [
'supplier_payments'
],
'other_purpose' => 'Paying coffee growers in East Africa'
]
]),
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/feature-access/requests';
const options = {
method: 'POST',
headers: {'x-api-key': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
feature: 'international_payments',
eligibility: {
monthly_volume: 'from_25k_to_100k',
monthly_payment_count: 'from_11_to_20',
countries_served: ['GB', 'DE', 'KE'],
purposes: ['supplier_payments'],
other_purpose: 'Paying coffee growers in East Africa'
}
})
};
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/feature-access/requests");
var client = new RestClient(options);
var request = new RestRequest("");
request.AddHeader("x-api-key", "<api-key>");
request.AddJsonBody("{\n \"feature\": \"international_payments\",\n \"eligibility\": {\n \"monthly_volume\": \"from_25k_to_100k\",\n \"monthly_payment_count\": \"from_11_to_20\",\n \"countries_served\": [\n \"GB\",\n \"DE\",\n \"KE\"\n ],\n \"purposes\": [\n \"supplier_payments\"\n ],\n \"other_purpose\": \"Paying coffee growers in East Africa\"\n }\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 \"feature\": \"international_payments\",\n \"eligibility\": {\n \"monthly_volume\": \"from_25k_to_100k\",\n \"monthly_payment_count\": \"from_11_to_20\",\n \"countries_served\": [\n \"GB\",\n \"DE\",\n \"KE\"\n ],\n \"purposes\": [\n \"supplier_payments\"\n ],\n \"other_purpose\": \"Paying coffee growers in East Africa\"\n }\n}")
val request = Request.Builder()
.url("https://api.meow.com/v1/feature-access/requests")
.post(body)
.addHeader("x-api-key", "<api-key>")
.addHeader("Content-Type", "application/json")
.build()
val response = client.newCall(request).execute()import Foundation
let parameters = [
"feature": "international_payments",
"eligibility": [
"monthly_volume": "from_25k_to_100k",
"monthly_payment_count": "from_11_to_20",
"countries_served": ["GB", "DE", "KE"],
"purposes": ["supplier_payments"],
"other_purpose": "Paying coffee growers in East Africa"
]
] as [String : Any?]
let postData = try JSONSerialization.data(withJSONObject: parameters, options: [])
let url = URL(string: "https://api.meow.com/v1/feature-access/requests")!
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/feature-access/requests' -Method POST -Headers $headers -ContentType 'application/json' -Body '{
"feature": "international_payments",
"eligibility": {
"monthly_volume": "from_25k_to_100k",
"monthly_payment_count": "from_11_to_20",
"countries_served": [
"GB",
"DE",
"KE"
],
"purposes": [
"supplier_payments"
],
"other_purpose": "Paying coffee growers in East Africa"
}
}'{
"feature": "international_payments",
"status": "pending"
}{
"code": 123,
"message": "<string>",
"debug_message": "<string>"
}{
"error_code": "<string>",
"message": "<string>"
}{
"error_code": "<string>",
"message": "<string>"
}{
"error_code": "<string>",
"message": "<string>"
}Authorizations
Your Meow API key, sent in the x-api-key header for authentication.
Headers
Optional entity_id to scope requests to a specific entity.
Body
application/json
Response
Successful Response
The restricted feature this request is for.
Available options:
international_payments Where the request stands. pending is awaiting review, approved means the feature is enabled, and rejected means it was declined.
Available options:
pending, approved, rejected