Skip to content

Partners ​

Part of the Partners API. Base URL https://your-domain.com/admin/api/v1 — replace the host with your own installation and the token placeholder with a real Bearer token (see Authentication).

List partners ​

GET /admin/api/v1/partners/partners

Retrieve a paginated list of partners with filtering and sorting

🔒 Requires a valid Bearer token.

Query parameters

ParameterTypeRequiredDescriptionExample
includestringNoComma-separated list of relationships to include. Available options: parent, country, state, title, company, industry, user, creator, addresses, contacts, bankAccounts, tagstags,addresses
filter[id]stringNoComma-separated list of IDs to filter by
filter[account_type]stringNoFilter by account type
filter[name]stringNoFilter by partner name (partial match)
filter[email]stringNoFilter by email (partial match)
filter[phone]stringNoFilter by phone (partial match)
filter[parent_id]stringNoComma-separated list of parent IDs to filter by
filter[user_id]stringNoComma-separated list of user IDs to filter by
filter[company_id]stringNoComma-separated list of company IDs to filter by
filter[title_id]stringNoComma-separated list of title IDs to filter by
filter[industry_id]stringNoComma-separated list of industry IDs to filter by
filter[country_id]stringNoComma-separated list of country IDs to filter by
filter[state_id]stringNoComma-separated list of state IDs to filter by
filter[trashed]stringNoFilter by trashed status. Available options: with, without, only
sortstringYesSort fieldname
pageintegerYesPage number1
bash
curl -X GET "https://your-domain.com/admin/api/v1/partners/partners?include=tags%2Caddresses&sort=name&page=1" \
  -H "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
  -H "Accept: application/json" \
  -H "Content-Type: application/json"
javascript
const response = await fetch("https://your-domain.com/admin/api/v1/partners/partners?include=tags%2Caddresses&sort=name&page=1", {
  method: "GET",
  headers: {
    "Authorization": "Bearer {YOUR_AUTH_TOKEN}",
    "Accept": "application/json",
    "Content-Type": "application/json",
  },
});

const data = await response.json();
console.log(data);
php
<?php

$client = new \GuzzleHttp\Client();

$response = $client->request('GET', 'https://your-domain.com/admin/api/v1/partners/partners?include=tags%2Caddresses&sort=name&page=1', [
    'headers' => [
        'Authorization' => 'Bearer {YOUR_AUTH_TOKEN}',
        'Accept' => 'application/json',
        'Content-Type' => 'application/json',
    ],
]);

$data = json_decode($response->getBody(), true);
python
import requests

url = "https://your-domain.com/admin/api/v1/partners/partners?include=tags%2Caddresses&sort=name&page=1"

headers = {
    "Authorization": "Bearer {YOUR_AUTH_TOKEN}",
    "Accept": "application/json",
    "Content-Type": "application/json",
}

response = requests.get(url, headers=headers)

data = response.json()
print(data)

Example response 200

json
{
  "data": [
    {
      "id": 1,
      "account_type": "individual",
      "sub_type": "company",
      "name": "My Company",
      "email": "info@mycompany.local",
      "phone": "1234567890",
      "mobile": "1234567890",
      "avatar": null,
      "avatar_url": null,
      "job_title": null,
      "website": "https://mycompany.local",
      "tax_id": "MYC123456",
      "company_registry": "MYCREG001",
      "reference": null,
      "is_active": true,
      "color": "#AAAAAA",
      "street1": null,
      "street2": null,
      "city": null,
      "zip": null,
      "country_id": 104,
      "state_id": null,
      "parent_id": null,
      "title_id": null,
      "company_id": 1,
      "industry_id": null,
      "user_id": null,
      "creator_id": 1,
      "created_at": "2026-10-09T07:12:47.000000Z",
      "updated_at": "2026-10-09T08:18:15.000000Z",
      "deleted_at": null,
      "country": {
        "id": 104,
        "name": "India",
        "code": "IN",
        "phone_code": "91",
        "state_required": true,
        "zip_required": true,
        "currency_id": 20,
        "created_at": "2026-10-09T07:12:47.000000Z",
        "updated_at": "2026-10-09T07:12:47.000000Z"
      },
      "state": null
    },
    {
      "id": 1,
      "account_type": "individual",
      "sub_type": "company",
      "name": "My Company",
      "email": "info@mycompany.local",
      "phone": "1234567890",
      "mobile": "1234567890",
      "avatar": null,
      "avatar_url": null,
      "job_title": null,
      "website": "https://mycompany.local",
      "tax_id": "MYC123456",
      "company_registry": "MYCREG001",
      "reference": null,
      "is_active": true,
      "color": "#AAAAAA",
      "street1": null,
      "street2": null,
      "city": null,
      "zip": null,
      "country_id": 104,
      "state_id": null,
      "parent_id": null,
      "title_id": null,
      "company_id": 1,
      "industry_id": null,
      "user_id": null,
      "creator_id": 1,
      "created_at": "2026-10-09T07:12:47.000000Z",
      "updated_at": "2026-10-09T08:18:15.000000Z",
      "deleted_at": null,
      "country": {
        "id": 104,
        "name": "India",
        "code": "IN",
        "phone_code": "91",
        "state_required": true,
        "zip_required": true,
        "currency_id": 20,
        "created_at": "2026-10-09T07:12:47.000000Z",
        "updated_at": "2026-10-09T07:12:47.000000Z"
      },
      "state": null
    }
  ],
  "links": {
    "first": "/?page=1",
    "last": "/?page=1",
    "prev": null,
    "next": null
  },
  "meta": {
    "current_page": 1,
    "from": 1,
    "last_page": 1,
    "links": [
      {
        "url": null,
        "label": "&laquo; Previous",
        "page": null,
        "active": false
      },
      {
        "url": "/?page=1",
        "label": "1",
        "page": 1,
        "active": true
      },
      {
        "url": null,
        "label": "Next &raquo;",
        "page": null,
        "active": false
      }
    ],
    "path": "/",
    "per_page": 10,
    "to": 2,
    "total": 2
  }
}
Error response — 401
json
{
  "message": "Unauthenticated."
}

Create partner ​

POST /admin/api/v1/partners/partners

Create a new partner

🔒 Requires a valid Bearer token.

Body parameters

ParameterTypeRequiredDescription
account_typestringYesAccount type.
namestringYesPartner name (max 255 characters). Must not be greater than 255 characters.
emailstringNoEmail address (max 255 characters). Must be a valid email address. Must not be greater than 255 characters.
phonestringNoPhone number (max 20 characters). Must not be greater than 20 characters.
mobilestringNoMobile number (max 20 characters). Must not be greater than 20 characters.
avatarstringNoAvatar file path (max 255 characters). Must not be greater than 255 characters.
job_titlestringNoJob title (max 255 characters). Must not be greater than 255 characters.
websitestringNoWebsite URL (max 255 characters). Must be a valid URL. Must not be greater than 255 characters.
tax_idstringNoTax identification number (max 255 characters). Must not be greater than 255 characters.
company_registrystringNoCompany registry number (max 255 characters). Must not be greater than 255 characters.
referencestringNoReference code (max 255 characters). Must not be greater than 255 characters.
colorstringNoColor in hex format (max 7 characters). Must not be greater than 7 characters.
street1stringNoStreet address line 1 (max 255 characters). Must not be greater than 255 characters.
street2stringNoStreet address line 2 (max 255 characters). Must not be greater than 255 characters.
citystringNoCity (max 255 characters). Must not be greater than 255 characters.
zipstringNoPostal/ZIP code (max 20 characters). Must not be greater than 20 characters.
state_idintegerNoState ID. Must match an existing stored value.
country_idintegerNoCountry ID. Must match an existing stored value.
parent_idintegerNoParent partner ID (for addresses and contacts). Must match an existing stored value.
title_idintegerNoTitle ID. Must match an existing stored value.
company_idintegerNoCompany ID. Must match an existing stored value.
industry_idintegerNoIndustry ID. Must match an existing stored value.
user_idintegerNoAssociated user ID/Responsible Sale user. Must match an existing stored value.
bash
curl -X POST "https://your-domain.com/admin/api/v1/partners/partners" \
  -H "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
  -H "Accept: application/json" \
  -H "Content-Type: application/json" \
  -d '{
  "account_type": "individual",
  "name": "Acme Corporation",
  "email": "contact@acme.com",
  "phone": "+1234567890",
  "mobile": "+1234567890",
  "avatar": "avatars/partner.jpg",
  "job_title": "CEO",
  "website": "https://acme.com",
  "tax_id": "TAX-123456",
  "company_registry": "REG-123456",
  "reference": "PART-001",
  "color": "#FF5733",
  "street1": "123 Main Street",
  "street2": "Suite 100",
  "city": "New York",
  "zip": "10001",
  "state_id": 9,
  "country_id": 233,
  "title_id": 1,
  "company_id": 1,
  "industry_id": 1,
  "user_id": 1
}'
javascript
const response = await fetch("https://your-domain.com/admin/api/v1/partners/partners", {
  method: "POST",
  headers: {
    "Authorization": "Bearer {YOUR_AUTH_TOKEN}",
    "Accept": "application/json",
    "Content-Type": "application/json",
  },
  body: JSON.stringify({
  "account_type": "individual",
  "name": "Acme Corporation",
  "email": "contact@acme.com",
  "phone": "+1234567890",
  "mobile": "+1234567890",
  "avatar": "avatars/partner.jpg",
  "job_title": "CEO",
  "website": "https://acme.com",
  "tax_id": "TAX-123456",
  "company_registry": "REG-123456",
  "reference": "PART-001",
  "color": "#FF5733",
  "street1": "123 Main Street",
  "street2": "Suite 100",
  "city": "New York",
  "zip": "10001",
  "state_id": 9,
  "country_id": 233,
  "title_id": 1,
  "company_id": 1,
  "industry_id": 1,
  "user_id": 1
}),
});

const data = await response.json();
console.log(data);
php
<?php

$client = new \GuzzleHttp\Client();

$response = $client->request('POST', 'https://your-domain.com/admin/api/v1/partners/partners', [
    'headers' => [
        'Authorization' => 'Bearer {YOUR_AUTH_TOKEN}',
        'Accept' => 'application/json',
        'Content-Type' => 'application/json',
    ],
    'json' => [
    'account_type' => 'individual',
    'name' => 'Acme Corporation',
    'email' => 'contact@acme.com',
    'phone' => '+1234567890',
    'mobile' => '+1234567890',
    'avatar' => 'avatars/partner.jpg',
    'job_title' => 'CEO',
    'website' => 'https://acme.com',
    'tax_id' => 'TAX-123456',
    'company_registry' => 'REG-123456',
    'reference' => 'PART-001',
    'color' => '#FF5733',
    'street1' => '123 Main Street',
    'street2' => 'Suite 100',
    'city' => 'New York',
    'zip' => '10001',
    'state_id' => 9,
    'country_id' => 233,
    'title_id' => 1,
    'company_id' => 1,
    'industry_id' => 1,
    'user_id' => 1,
  ],
]);

$data = json_decode($response->getBody(), true);
python
import requests

url = "https://your-domain.com/admin/api/v1/partners/partners"

headers = {
    "Authorization": "Bearer {YOUR_AUTH_TOKEN}",
    "Accept": "application/json",
    "Content-Type": "application/json",
}

payload = {
    "account_type": "individual",
    "name": "Acme Corporation",
    "email": "contact@acme.com",
    "phone": "+1234567890",
    "mobile": "+1234567890",
    "avatar": "avatars/partner.jpg",
    "job_title": "CEO",
    "website": "https://acme.com",
    "tax_id": "TAX-123456",
    "company_registry": "REG-123456",
    "reference": "PART-001",
    "color": "#FF5733",
    "street1": "123 Main Street",
    "street2": "Suite 100",
    "city": "New York",
    "zip": "10001",
    "state_id": 9,
    "country_id": 233,
    "title_id": 1,
    "company_id": 1,
    "industry_id": 1,
    "user_id": 1,
}

response = requests.post(url, headers=headers, json=payload)

data = response.json()
print(data)

Example response 201

json
{
  "data": {
    "id": 1,
    "account_type": "individual",
    "sub_type": "company",
    "name": "My Company",
    "email": "info@mycompany.local",
    "phone": "1234567890",
    "mobile": "1234567890",
    "avatar": null,
    "avatar_url": null,
    "job_title": null,
    "website": "https://mycompany.local",
    "tax_id": "MYC123456",
    "company_registry": "MYCREG001",
    "reference": null,
    "is_active": true,
    "color": "#AAAAAA",
    "street1": null,
    "street2": null,
    "city": null,
    "zip": null,
    "country_id": 104,
    "state_id": null,
    "parent_id": null,
    "title_id": null,
    "company_id": 1,
    "industry_id": null,
    "user_id": null,
    "creator_id": 1,
    "created_at": "2026-10-09T07:12:47.000000Z",
    "updated_at": "2026-10-09T08:18:15.000000Z",
    "deleted_at": null,
    "country": {
      "id": 104,
      "name": "India",
      "code": "IN",
      "phone_code": "91",
      "state_required": true,
      "zip_required": true,
      "currency_id": 20,
      "created_at": "2026-10-09T07:12:47.000000Z",
      "updated_at": "2026-10-09T07:12:47.000000Z"
    },
    "state": null
  },
  "message": "Partner created successfully."
}
Error response — 401
json
{
  "message": "Unauthenticated."
}

Show partner ​

GET /admin/api/v1/partners/partners/{id}

Retrieve a specific partner by its ID

🔒 Requires a valid Bearer token.

Path parameters

ParameterTypeRequiredDescription
idintegerYesThe partner ID

Query parameters

ParameterTypeRequiredDescriptionExample
includestringNoComma-separated list of relationships to include. Available options: parent, country, state, title, company, industry, user, creator, addresses, contacts, bankAccounts, tagstags,addresses
bash
curl -X GET "https://your-domain.com/admin/api/v1/partners/partners/{id}?include=tags%2Caddresses" \
  -H "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
  -H "Accept: application/json" \
  -H "Content-Type: application/json"
javascript
const response = await fetch("https://your-domain.com/admin/api/v1/partners/partners/{id}?include=tags%2Caddresses", {
  method: "GET",
  headers: {
    "Authorization": "Bearer {YOUR_AUTH_TOKEN}",
    "Accept": "application/json",
    "Content-Type": "application/json",
  },
});

const data = await response.json();
console.log(data);
php
<?php

$client = new \GuzzleHttp\Client();

$response = $client->request('GET', 'https://your-domain.com/admin/api/v1/partners/partners/{id}?include=tags%2Caddresses', [
    'headers' => [
        'Authorization' => 'Bearer {YOUR_AUTH_TOKEN}',
        'Accept' => 'application/json',
        'Content-Type' => 'application/json',
    ],
]);

$data = json_decode($response->getBody(), true);
python
import requests

url = "https://your-domain.com/admin/api/v1/partners/partners/{id}?include=tags%2Caddresses"

headers = {
    "Authorization": "Bearer {YOUR_AUTH_TOKEN}",
    "Accept": "application/json",
    "Content-Type": "application/json",
}

response = requests.get(url, headers=headers)

data = response.json()
print(data)

Example response 200

json
{
  "data": {
    "id": 1,
    "account_type": "individual",
    "sub_type": "company",
    "name": "My Company",
    "email": "info@mycompany.local",
    "phone": "1234567890",
    "mobile": "1234567890",
    "avatar": null,
    "avatar_url": null,
    "job_title": null,
    "website": "https://mycompany.local",
    "tax_id": "MYC123456",
    "company_registry": "MYCREG001",
    "reference": null,
    "is_active": true,
    "color": "#AAAAAA",
    "street1": null,
    "street2": null,
    "city": null,
    "zip": null,
    "country_id": 104,
    "state_id": null,
    "parent_id": null,
    "title_id": null,
    "company_id": 1,
    "industry_id": null,
    "user_id": null,
    "creator_id": 1,
    "created_at": "2026-10-09T07:12:47.000000Z",
    "updated_at": "2026-10-09T08:18:15.000000Z",
    "deleted_at": null,
    "country": {
      "id": 104,
      "name": "India",
      "code": "IN",
      "phone_code": "91",
      "state_required": true,
      "zip_required": true,
      "currency_id": 20,
      "created_at": "2026-10-09T07:12:47.000000Z",
      "updated_at": "2026-10-09T07:12:47.000000Z"
    },
    "state": null
  }
}
Error response — 401
json
{
  "message": "Unauthenticated."
}

Update partner ​

PUT /admin/api/v1/partners/partners/{id}

Update an existing partner

🔒 Requires a valid Bearer token.

Path parameters

ParameterTypeRequiredDescription
idintegerYesThe partner ID

Body parameters

ParameterTypeRequiredDescription
account_typestringNoAccount type.
namestringNoPartner name (max 255 characters). Must not be greater than 255 characters.
emailstringNoEmail address (max 255 characters). Must be a valid email address. Must not be greater than 255 characters.
phonestringNoPhone number (max 20 characters). Must not be greater than 20 characters.
mobilestringNoMobile number (max 20 characters). Must not be greater than 20 characters.
avatarstringNoAvatar file path (max 255 characters). Must not be greater than 255 characters.
job_titlestringNoJob title (max 255 characters). Must not be greater than 255 characters.
websitestringNoWebsite URL (max 255 characters). Must be a valid URL. Must not be greater than 255 characters.
tax_idstringNoTax identification number (max 255 characters). Must not be greater than 255 characters.
company_registrystringNoCompany registry number (max 255 characters). Must not be greater than 255 characters.
referencestringNoReference code (max 255 characters). Must not be greater than 255 characters.
colorstringNoColor in hex format (max 7 characters). Must not be greater than 7 characters.
street1stringNoStreet address line 1 (max 255 characters). Must not be greater than 255 characters.
street2stringNoStreet address line 2 (max 255 characters). Must not be greater than 255 characters.
citystringNoCity (max 255 characters). Must not be greater than 255 characters.
zipstringNoPostal/ZIP code (max 20 characters). Must not be greater than 20 characters.
state_idintegerNoState ID. Must match an existing stored value.
country_idintegerNoCountry ID. Must match an existing stored value.
parent_idintegerNoParent partner ID (for addresses and contacts). Must match an existing stored value.
title_idintegerNoTitle ID. Must match an existing stored value.
company_idintegerNoCompany ID. Must match an existing stored value.
industry_idintegerNoIndustry ID. Must match an existing stored value.
user_idintegerNoAssociated user ID/Responsible Sale user. Must match an existing stored value.
bash
curl -X PUT "https://your-domain.com/admin/api/v1/partners/partners/{id}" \
  -H "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
  -H "Accept: application/json" \
  -H "Content-Type: application/json" \
  -d '{
  "account_type": "individual",
  "name": "Acme Corporation",
  "email": "contact@acme.com",
  "phone": "+1234567890",
  "mobile": "+1234567890",
  "avatar": "avatars/partner.jpg",
  "job_title": "CEO",
  "website": "https://acme.com",
  "tax_id": "TAX-123456",
  "company_registry": "REG-123456",
  "reference": "PART-001",
  "color": "#FF5733",
  "street1": "123 Main Street",
  "street2": "Suite 100",
  "city": "New York",
  "zip": "10001",
  "state_id": 9,
  "country_id": 233,
  "title_id": 1,
  "company_id": 1,
  "industry_id": 1,
  "user_id": 1
}'
javascript
const response = await fetch("https://your-domain.com/admin/api/v1/partners/partners/{id}", {
  method: "PUT",
  headers: {
    "Authorization": "Bearer {YOUR_AUTH_TOKEN}",
    "Accept": "application/json",
    "Content-Type": "application/json",
  },
  body: JSON.stringify({
  "account_type": "individual",
  "name": "Acme Corporation",
  "email": "contact@acme.com",
  "phone": "+1234567890",
  "mobile": "+1234567890",
  "avatar": "avatars/partner.jpg",
  "job_title": "CEO",
  "website": "https://acme.com",
  "tax_id": "TAX-123456",
  "company_registry": "REG-123456",
  "reference": "PART-001",
  "color": "#FF5733",
  "street1": "123 Main Street",
  "street2": "Suite 100",
  "city": "New York",
  "zip": "10001",
  "state_id": 9,
  "country_id": 233,
  "title_id": 1,
  "company_id": 1,
  "industry_id": 1,
  "user_id": 1
}),
});

const data = await response.json();
console.log(data);
php
<?php

$client = new \GuzzleHttp\Client();

$response = $client->request('PUT', 'https://your-domain.com/admin/api/v1/partners/partners/{id}', [
    'headers' => [
        'Authorization' => 'Bearer {YOUR_AUTH_TOKEN}',
        'Accept' => 'application/json',
        'Content-Type' => 'application/json',
    ],
    'json' => [
    'account_type' => 'individual',
    'name' => 'Acme Corporation',
    'email' => 'contact@acme.com',
    'phone' => '+1234567890',
    'mobile' => '+1234567890',
    'avatar' => 'avatars/partner.jpg',
    'job_title' => 'CEO',
    'website' => 'https://acme.com',
    'tax_id' => 'TAX-123456',
    'company_registry' => 'REG-123456',
    'reference' => 'PART-001',
    'color' => '#FF5733',
    'street1' => '123 Main Street',
    'street2' => 'Suite 100',
    'city' => 'New York',
    'zip' => '10001',
    'state_id' => 9,
    'country_id' => 233,
    'title_id' => 1,
    'company_id' => 1,
    'industry_id' => 1,
    'user_id' => 1,
  ],
]);

$data = json_decode($response->getBody(), true);
python
import requests

url = "https://your-domain.com/admin/api/v1/partners/partners/{id}"

headers = {
    "Authorization": "Bearer {YOUR_AUTH_TOKEN}",
    "Accept": "application/json",
    "Content-Type": "application/json",
}

payload = {
    "account_type": "individual",
    "name": "Acme Corporation",
    "email": "contact@acme.com",
    "phone": "+1234567890",
    "mobile": "+1234567890",
    "avatar": "avatars/partner.jpg",
    "job_title": "CEO",
    "website": "https://acme.com",
    "tax_id": "TAX-123456",
    "company_registry": "REG-123456",
    "reference": "PART-001",
    "color": "#FF5733",
    "street1": "123 Main Street",
    "street2": "Suite 100",
    "city": "New York",
    "zip": "10001",
    "state_id": 9,
    "country_id": 233,
    "title_id": 1,
    "company_id": 1,
    "industry_id": 1,
    "user_id": 1,
}

response = requests.put(url, headers=headers, json=payload)

data = response.json()
print(data)

Example response 200

json
{
  "data": {
    "id": 1,
    "account_type": "individual",
    "sub_type": "company",
    "name": "My Company",
    "email": "info@mycompany.local",
    "phone": "1234567890",
    "mobile": "1234567890",
    "avatar": null,
    "avatar_url": null,
    "job_title": null,
    "website": "https://mycompany.local",
    "tax_id": "MYC123456",
    "company_registry": "MYCREG001",
    "reference": null,
    "is_active": true,
    "color": "#AAAAAA",
    "street1": null,
    "street2": null,
    "city": null,
    "zip": null,
    "country_id": 104,
    "state_id": null,
    "parent_id": null,
    "title_id": null,
    "company_id": 1,
    "industry_id": null,
    "user_id": null,
    "creator_id": 1,
    "created_at": "2026-10-09T07:12:47.000000Z",
    "updated_at": "2026-10-09T08:18:15.000000Z",
    "deleted_at": null,
    "country": {
      "id": 104,
      "name": "India",
      "code": "IN",
      "phone_code": "91",
      "state_required": true,
      "zip_required": true,
      "currency_id": 20,
      "created_at": "2026-10-09T07:12:47.000000Z",
      "updated_at": "2026-10-09T07:12:47.000000Z"
    },
    "state": null
  },
  "message": "Partner updated successfully."
}
Error response — 401
json
{
  "message": "Unauthenticated."
}

Delete partner ​

DELETE /admin/api/v1/partners/partners/{id}

Soft delete a partner

🔒 Requires a valid Bearer token.

Path parameters

ParameterTypeRequiredDescription
idintegerYesThe partner ID
bash
curl -X DELETE "https://your-domain.com/admin/api/v1/partners/partners/{id}" \
  -H "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
  -H "Accept: application/json" \
  -H "Content-Type: application/json"
javascript
const response = await fetch("https://your-domain.com/admin/api/v1/partners/partners/{id}", {
  method: "DELETE",
  headers: {
    "Authorization": "Bearer {YOUR_AUTH_TOKEN}",
    "Accept": "application/json",
    "Content-Type": "application/json",
  },
});

const data = await response.json();
console.log(data);
php
<?php

$client = new \GuzzleHttp\Client();

$response = $client->request('DELETE', 'https://your-domain.com/admin/api/v1/partners/partners/{id}', [
    'headers' => [
        'Authorization' => 'Bearer {YOUR_AUTH_TOKEN}',
        'Accept' => 'application/json',
        'Content-Type' => 'application/json',
    ],
]);

$data = json_decode($response->getBody(), true);
python
import requests

url = "https://your-domain.com/admin/api/v1/partners/partners/{id}"

headers = {
    "Authorization": "Bearer {YOUR_AUTH_TOKEN}",
    "Accept": "application/json",
    "Content-Type": "application/json",
}

response = requests.delete(url, headers=headers)

data = response.json()
print(data)

Example response 200

json
{
  "message": "Partner deleted successfully."
}
Error response — 401
json
{
  "message": "Unauthenticated."
}

Restore partner ​

POST /admin/api/v1/partners/partners/{id}/restore

Restore a soft-deleted partner

🔒 Requires a valid Bearer token.

Path parameters

ParameterTypeRequiredDescription
idintegerYesThe partner ID
bash
curl -X POST "https://your-domain.com/admin/api/v1/partners/partners/{id}/restore" \
  -H "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
  -H "Accept: application/json" \
  -H "Content-Type: application/json"
javascript
const response = await fetch("https://your-domain.com/admin/api/v1/partners/partners/{id}/restore", {
  method: "POST",
  headers: {
    "Authorization": "Bearer {YOUR_AUTH_TOKEN}",
    "Accept": "application/json",
    "Content-Type": "application/json",
  },
});

const data = await response.json();
console.log(data);
php
<?php

$client = new \GuzzleHttp\Client();

$response = $client->request('POST', 'https://your-domain.com/admin/api/v1/partners/partners/{id}/restore', [
    'headers' => [
        'Authorization' => 'Bearer {YOUR_AUTH_TOKEN}',
        'Accept' => 'application/json',
        'Content-Type' => 'application/json',
    ],
]);

$data = json_decode($response->getBody(), true);
python
import requests

url = "https://your-domain.com/admin/api/v1/partners/partners/{id}/restore"

headers = {
    "Authorization": "Bearer {YOUR_AUTH_TOKEN}",
    "Accept": "application/json",
    "Content-Type": "application/json",
}

response = requests.post(url, headers=headers)

data = response.json()
print(data)

Example response 200

json
{
  "message": "Partner restored successfully."
}
Error response — 401
json
{
  "message": "Unauthenticated."
}

Force delete partner ​

DELETE /admin/api/v1/partners/partners/{id}/force

Permanently delete a partner

🔒 Requires a valid Bearer token.

Path parameters

ParameterTypeRequiredDescription
idintegerYesThe partner ID
bash
curl -X DELETE "https://your-domain.com/admin/api/v1/partners/partners/{id}/force" \
  -H "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
  -H "Accept: application/json" \
  -H "Content-Type: application/json"
javascript
const response = await fetch("https://your-domain.com/admin/api/v1/partners/partners/{id}/force", {
  method: "DELETE",
  headers: {
    "Authorization": "Bearer {YOUR_AUTH_TOKEN}",
    "Accept": "application/json",
    "Content-Type": "application/json",
  },
});

const data = await response.json();
console.log(data);
php
<?php

$client = new \GuzzleHttp\Client();

$response = $client->request('DELETE', 'https://your-domain.com/admin/api/v1/partners/partners/{id}/force', [
    'headers' => [
        'Authorization' => 'Bearer {YOUR_AUTH_TOKEN}',
        'Accept' => 'application/json',
        'Content-Type' => 'application/json',
    ],
]);

$data = json_decode($response->getBody(), true);
python
import requests

url = "https://your-domain.com/admin/api/v1/partners/partners/{id}/force"

headers = {
    "Authorization": "Bearer {YOUR_AUTH_TOKEN}",
    "Accept": "application/json",
    "Content-Type": "application/json",
}

response = requests.delete(url, headers=headers)

data = response.json()
print(data)

Example response 200

json
{
  "message": "Partner permanently deleted."
}
Error response — 401
json
{
  "message": "Unauthenticated."
}

Released under the MIT License.