Pay Links
Check Pay Link Slug Availability
Check if a slug is available for a new payment link.
POST
https://dev.mytpe.app/api/v2/mytpe-pay/links/check-slugChecks if a given slug is available for use in a new payment link.
Authentication: API Key (X-API-KEY + X-API-SECRET headers)
This API requires authentication via X-API-KEY and X-API-SECRET headers.
Body Parameters
Prop
Type
Example Request
const checkSlug = async () => {
const response = await fetch("https://dev.mytpe.app/api/v2/mytpe-pay/links/check-slug", {
method: "POST",
headers: {
"X-API-KEY": "your_api_key",
"X-API-SECRET": "your_api_secret",
"Content-Type": "application/json",
},
body: JSON.stringify({
slug: "demo-product",
}),
});
const data = await response.json();
console.log(data);
};
checkSlug();interface CheckSlugResponse {
success: boolean;
message: string;
data: {
slug: string;
available: boolean;
};
}
const checkSlug = async (): Promise<void> => {
const response = await fetch("https://dev.mytpe.app/api/v2/mytpe-pay/links/check-slug", {
method: "POST",
headers: {
"X-API-KEY": "your_api_key",
"X-API-SECRET": "your_api_secret",
"Content-Type": "application/json",
},
body: JSON.stringify({
slug: "demo-product",
}),
});
const data: CheckSlugResponse = await response.json();
console.log(data);
};
checkSlug();import requests
url = "https://dev.mytpe.app/api/v2/mytpe-pay/links/check-slug"
headers = {
"X-API-KEY": "your_api_key",
"X-API-SECRET": "your_api_secret",
"Content-Type": "application/json",
}
payload = {
"slug": "demo-product",
}
response = requests.post(url, json=payload, headers=headers)
print(response.json())use Illuminate\Support\Facades\Http;
$response = Http::withHeaders([
'X-API-KEY' => 'your_api_key',
'X-API-SECRET' => 'your_api_secret',
])->post('https://dev.mytpe.app/api/v2/mytpe-pay/links/check-slug', [
'slug' => 'demo-product',
]);
$data = $response->json();<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => 'https://dev.mytpe.app/api/v2/mytpe-pay/links/check-slug',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => '',
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 0,
CURLOPT_FOLLOWLOCATION => true,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => 'POST',
CURLOPT_POSTFIELDS => json_encode([
'slug' => 'demo-product',
]),
CURLOPT_HTTPHEADER => [
'X-API-KEY: your_api_key',
'X-API-SECRET: your_api_secret',
'Content-Type: application/json',
],
]);
$response = curl_exec($curl);
curl_close($curl);
echo $response;const axios = require("axios");
axios
.post(
"https://dev.mytpe.app/api/v2/mytpe-pay/links/check-slug",
{
slug: "demo-product",
},
{
headers: {
"X-API-KEY": "your_api_key",
"X-API-SECRET": "your_api_secret",
"Content-Type": "application/json",
},
}
)
.then((response) => {
console.log(response.data);
})
.catch((error) => {
console.error(error);
});Example Success Response (200 OK)
200 OK
{
"success": true,
"message": "Slug availability checked successfully",
"data": {
"slug": "demo-product",
"available": true
}
}200 Slug Not Available
{
"success": true,
"message": "Slug availability checked successfully",
"data": {
"slug": "existing-product",
"available": false
}
}Error Responses
401 Unauthorized
{
"message": "Unauthenticated."
}422 Unprocessable Entity
{
"message": "The given data was invalid.",
"errors": {
"slug": [
"The slug field is required."
]
}
}