Skip to content

Banks ​

Part of the Support 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 banks ​

GET /admin/api/v1/support/banks

Retrieve a paginated list of banks with filtering and sorting

🔒 Requires a valid Bearer token.

Query parameters

ParameterTypeRequiredDescriptionExample
includestringNoComma-separated list of relationships to include. Available options: country, state, creatorcountry,state
filter[id]stringNoComma-separated list of IDs to filter by
filter[name]stringNoFilter by bank name (partial match)
filter[code]stringNoFilter by bank code (partial match)
filter[city]stringNoFilter by city (partial match)
filter[country_id]integerNoFilter by country ID
filter[state_id]integerNoFilter by state ID
filter[trashed]stringNoFilter by trashed status. Options: with, only
sortstringYesSort fieldname
pageintegerYesPage number1
bash
curl -X GET "https://your-domain.com/admin/api/v1/support/banks?include=country%2Cstate&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/support/banks?include=country%2Cstate&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/support/banks?include=country%2Cstate&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/support/banks?include=country%2Cstate&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": null,
      "name": "Aimee Treutel",
      "code": "ANNTPQXT",
      "email": "qwilliamson@example.net",
      "phone": "848.360.6090",
      "street1": "59797 Kilback Turnpike",
      "street2": "4451 Peggie Island Apt. 756",
      "city": "Lake Twila",
      "zip": "56905",
      "creator_id": 1,
      "created_at": null,
      "updated_at": null,
      "deleted_at": null,
      "state": {
        "id": 654,
        "name": "Boyacá",
        "code": "BOY",
        "country_id": 49,
        "created_at": "2026-10-09T07:12:47.000000Z",
        "updated_at": "2026-10-09T07:12:47.000000Z"
      },
      "country": {
        "id": 130,
        "name": "Liberia",
        "code": "LR",
        "phone_code": "231",
        "state_required": false,
        "zip_required": true,
        "currency_id": 98,
        "created_at": "2026-10-09T07:12:47.000000Z",
        "updated_at": "2026-10-09T07:12:47.000000Z"
      }
    },
    {
      "id": null,
      "name": "Unique Sipes",
      "code": "LZOOYZON",
      "email": "keon.nicolas@example.org",
      "phone": "+1-951-587-9159",
      "street1": "6803 Koch Course",
      "street2": "8860 Rhett Corner",
      "city": "Andersonbury",
      "zip": "16200-1412",
      "creator_id": 1,
      "created_at": null,
      "updated_at": null,
      "deleted_at": null,
      "state": {
        "id": 360,
        "name": "Matera",
        "code": "MT",
        "country_id": 109,
        "created_at": "2026-10-09T07:12:47.000000Z",
        "updated_at": "2026-10-09T07:12:47.000000Z"
      },
      "country": {
        "id": 211,
        "name": "Syria",
        "code": "SY",
        "phone_code": "963",
        "state_required": false,
        "zip_required": true,
        "currency_id": 137,
        "created_at": "2026-10-09T07:12:47.000000Z",
        "updated_at": "2026-10-09T07:12:47.000000Z"
      }
    }
  ],
  "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 bank ​

POST /admin/api/v1/support/banks

Create a new bank

🔒 Requires a valid Bearer token.

Body parameters

ParameterTypeRequiredDescription
namestringYesBank name. Must not be greater than 255 characters.
codestringNoBank code. Must not be greater than 50 characters.
emailstringNoBank email address. Must be a valid email address. Must not be greater than 255 characters.
phonestringNoBank phone number. Must not be greater than 50 characters.
street1stringNoStreet address line 1. Must not be greater than 255 characters.
street2stringNoStreet address line 2. Must not be greater than 255 characters.
citystringNoCity. Must not be greater than 100 characters.
zipstringNoZIP/Postal code. Must not be greater than 20 characters.
state_idstringNoState ID. Must match an existing stored value.
country_idstringNoCountry ID. Must match an existing stored value.
bash
curl -X POST "https://your-domain.com/admin/api/v1/support/banks" \
  -H "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
  -H "Accept: application/json" \
  -H "Content-Type: application/json" \
  -d '{
  "name": "Chase Bank",
  "code": "CHASE",
  "email": "info@chase.com",
  "phone": "+1234567890",
  "street1": "123 Main St",
  "street2": "Suite 100",
  "city": "New York",
  "zip": "10001",
  "state_id": 9,
  "country_id": 233
}'
javascript
const response = await fetch("https://your-domain.com/admin/api/v1/support/banks", {
  method: "POST",
  headers: {
    "Authorization": "Bearer {YOUR_AUTH_TOKEN}",
    "Accept": "application/json",
    "Content-Type": "application/json",
  },
  body: JSON.stringify({
  "name": "Chase Bank",
  "code": "CHASE",
  "email": "info@chase.com",
  "phone": "+1234567890",
  "street1": "123 Main St",
  "street2": "Suite 100",
  "city": "New York",
  "zip": "10001",
  "state_id": 9,
  "country_id": 233
}),
});

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/support/banks', [
    'headers' => [
        'Authorization' => 'Bearer {YOUR_AUTH_TOKEN}',
        'Accept' => 'application/json',
        'Content-Type' => 'application/json',
    ],
    'json' => [
    'name' => 'Chase Bank',
    'code' => 'CHASE',
    'email' => 'info@chase.com',
    'phone' => '+1234567890',
    'street1' => '123 Main St',
    'street2' => 'Suite 100',
    'city' => 'New York',
    'zip' => '10001',
    'state_id' => 9,
    'country_id' => 233,
  ],
]);

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

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

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

payload = {
    "name": "Chase Bank",
    "code": "CHASE",
    "email": "info@chase.com",
    "phone": "+1234567890",
    "street1": "123 Main St",
    "street2": "Suite 100",
    "city": "New York",
    "zip": "10001",
    "state_id": 9,
    "country_id": 233,
}

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

data = response.json()
print(data)

Example response 201

json
{
  "data": {
    "id": null,
    "name": "Ms. Audra Crooks II",
    "code": "YUWPWL36UBQ",
    "email": "bauch.marcelo@example.com",
    "phone": "+1-430-374-7043",
    "street1": "62316 Haag Villages",
    "street2": "282 Ankunding Station",
    "city": "Batzbury",
    "zip": "17418-7351",
    "creator_id": 1,
    "created_at": null,
    "updated_at": null,
    "deleted_at": null,
    "state": {
      "id": 1077,
      "name": "Hưng Yên",
      "code": "VN-66",
      "country_id": 241,
      "created_at": "2026-10-09T07:12:47.000000Z",
      "updated_at": "2026-10-09T07:12:47.000000Z"
    },
    "country": {
      "id": 205,
      "name": "Somalia",
      "code": "SO",
      "phone_code": "252",
      "state_required": false,
      "zip_required": true,
      "currency_id": 144,
      "created_at": "2026-10-09T07:12:47.000000Z",
      "updated_at": "2026-10-09T07:12:47.000000Z"
    }
  },
  "message": "Bank created successfully."
}
Error response — 401
json
{
  "message": "Unauthenticated."
}

Show bank ​

GET /admin/api/v1/support/banks/{id}

Retrieve a specific bank by its ID

🔒 Requires a valid Bearer token.

Path parameters

ParameterTypeRequiredDescription
idintegerYesThe bank ID

Query parameters

ParameterTypeRequiredDescriptionExample
includestringNoComma-separated list of relationships to include. Available options: country, state, creatorcountry,state
bash
curl -X GET "https://your-domain.com/admin/api/v1/support/banks/{id}?include=country%2Cstate" \
  -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/support/banks/{id}?include=country%2Cstate", {
  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/support/banks/{id}?include=country%2Cstate', [
    '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/support/banks/{id}?include=country%2Cstate"

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": null,
    "name": "Morgan Hirthe",
    "code": "DZSNRWVE",
    "email": "vraynor@example.com",
    "phone": "(585) 986-2203",
    "street1": "27905 Fahey Wells",
    "street2": "633 Ward Dale",
    "city": "North Eileen",
    "zip": "79150-6985",
    "creator_id": 1,
    "created_at": null,
    "updated_at": null,
    "deleted_at": null,
    "state": {
      "id": 325,
      "name": "Caltanissetta",
      "code": "CL",
      "country_id": 109,
      "created_at": "2026-10-09T07:12:47.000000Z",
      "updated_at": "2026-10-09T07:12:47.000000Z"
    },
    "country": {
      "id": 196,
      "name": "Sweden",
      "code": "SE",
      "phone_code": "46",
      "state_required": false,
      "zip_required": true,
      "currency_id": 18,
      "created_at": "2026-10-09T07:12:47.000000Z",
      "updated_at": "2026-10-09T07:12:47.000000Z"
    }
  }
}
Error response — 401
json
{
  "message": "Unauthenticated."
}

Update bank ​

PUT /admin/api/v1/support/banks/{id}

Update an existing bank

🔒 Requires a valid Bearer token.

Path parameters

ParameterTypeRequiredDescription
idintegerYesThe bank ID

Body parameters

ParameterTypeRequiredDescription
namestringNoBank name. Must not be greater than 255 characters.
codestringNoBank code. Must not be greater than 50 characters.
emailstringNoBank email address. Must be a valid email address. Must not be greater than 255 characters.
phonestringNoBank phone number. Must not be greater than 50 characters.
street1stringNoStreet address line 1. Must not be greater than 255 characters.
street2stringNoStreet address line 2. Must not be greater than 255 characters.
citystringNoCity. Must not be greater than 100 characters.
zipstringNoZIP/Postal code. Must not be greater than 20 characters.
state_idstringNoState ID. Must match an existing stored value.
country_idstringNoCountry ID. Must match an existing stored value.
bash
curl -X PUT "https://your-domain.com/admin/api/v1/support/banks/{id}" \
  -H "Authorization: Bearer {YOUR_AUTH_TOKEN}" \
  -H "Accept: application/json" \
  -H "Content-Type: application/json" \
  -d '{
  "name": "Chase Bank",
  "code": "CHASE",
  "email": "info@chase.com",
  "phone": "+1234567890",
  "street1": "123 Main St",
  "street2": "Suite 100",
  "city": "New York",
  "zip": "10001",
  "state_id": 9,
  "country_id": 233
}'
javascript
const response = await fetch("https://your-domain.com/admin/api/v1/support/banks/{id}", {
  method: "PUT",
  headers: {
    "Authorization": "Bearer {YOUR_AUTH_TOKEN}",
    "Accept": "application/json",
    "Content-Type": "application/json",
  },
  body: JSON.stringify({
  "name": "Chase Bank",
  "code": "CHASE",
  "email": "info@chase.com",
  "phone": "+1234567890",
  "street1": "123 Main St",
  "street2": "Suite 100",
  "city": "New York",
  "zip": "10001",
  "state_id": 9,
  "country_id": 233
}),
});

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/support/banks/{id}', [
    'headers' => [
        'Authorization' => 'Bearer {YOUR_AUTH_TOKEN}',
        'Accept' => 'application/json',
        'Content-Type' => 'application/json',
    ],
    'json' => [
    'name' => 'Chase Bank',
    'code' => 'CHASE',
    'email' => 'info@chase.com',
    'phone' => '+1234567890',
    'street1' => '123 Main St',
    'street2' => 'Suite 100',
    'city' => 'New York',
    'zip' => '10001',
    'state_id' => 9,
    'country_id' => 233,
  ],
]);

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

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

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

payload = {
    "name": "Chase Bank",
    "code": "CHASE",
    "email": "info@chase.com",
    "phone": "+1234567890",
    "street1": "123 Main St",
    "street2": "Suite 100",
    "city": "New York",
    "zip": "10001",
    "state_id": 9,
    "country_id": 233,
}

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

data = response.json()
print(data)

Example response 200

json
{
  "data": {
    "id": null,
    "name": "Ms. Audra Crooks II",
    "code": "YUWPWL36UBQ",
    "email": "kconsidine@example.net",
    "phone": "+1.518.885.7351",
    "street1": "5824 Doyle Landing Suite 197",
    "street2": "11084 Palma Stream Apt. 368",
    "city": "West Artborough",
    "zip": "10483",
    "creator_id": 1,
    "created_at": null,
    "updated_at": null,
    "deleted_at": null,
    "state": {
      "id": 1350,
      "name": "Satakunta",
      "code": "FI-17",
      "country_id": 70,
      "created_at": "2026-10-09T07:12:47.000000Z",
      "updated_at": "2026-10-09T07:12:47.000000Z"
    },
    "country": {
      "id": 8,
      "name": "Angola",
      "code": "AO",
      "phone_code": "244",
      "state_required": false,
      "zip_required": false,
      "currency_id": 48,
      "created_at": "2026-10-09T07:12:47.000000Z",
      "updated_at": "2026-10-09T07:12:47.000000Z"
    }
  },
  "message": "Bank updated successfully."
}
Error response — 401
json
{
  "message": "Unauthenticated."
}

Delete bank ​

DELETE /admin/api/v1/support/banks/{id}

Soft delete a bank

🔒 Requires a valid Bearer token.

Path parameters

ParameterTypeRequiredDescription
idintegerYesThe bank ID
bash
curl -X DELETE "https://your-domain.com/admin/api/v1/support/banks/{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/support/banks/{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/support/banks/{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/support/banks/{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": "Bank deleted successfully."
}
Error response — 401
json
{
  "message": "Unauthenticated."
}

Restore bank ​

POST /admin/api/v1/support/banks/{id}/restore

Restore a soft-deleted bank

🔒 Requires a valid Bearer token.

Path parameters

ParameterTypeRequiredDescription
idintegerYesThe bank ID
bash
curl -X POST "https://your-domain.com/admin/api/v1/support/banks/{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/support/banks/{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/support/banks/{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/support/banks/{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
{
  "data": {
    "id": null,
    "name": "Morgan Hirthe",
    "code": "DZSNRWVE",
    "email": "wbatz@example.net",
    "phone": "+1-747-759-6197",
    "street1": "11084 Palma Stream Apt. 368",
    "street2": "20568 Murl Villages",
    "city": "New Modesta",
    "zip": "26085",
    "creator_id": 1,
    "created_at": null,
    "updated_at": null,
    "deleted_at": null,
    "state": {
      "id": 93,
      "name": "Roraima",
      "code": "RR",
      "country_id": 31,
      "created_at": "2026-10-09T07:12:47.000000Z",
      "updated_at": "2026-10-09T07:12:47.000000Z"
    },
    "country": {
      "id": 34,
      "name": "Bouvet Island",
      "code": "BV",
      "phone_code": "55",
      "state_required": false,
      "zip_required": true,
      "currency_id": 14,
      "created_at": "2026-10-09T07:12:47.000000Z",
      "updated_at": "2026-10-09T07:12:47.000000Z"
    }
  },
  "message": "Bank restored successfully."
}
Error response — 401
json
{
  "message": "Unauthenticated."
}

Force delete bank ​

DELETE /admin/api/v1/support/banks/{id}/force

Permanently delete a bank

🔒 Requires a valid Bearer token.

Path parameters

ParameterTypeRequiredDescription
idintegerYesThe bank ID
bash
curl -X DELETE "https://your-domain.com/admin/api/v1/support/banks/{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/support/banks/{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/support/banks/{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/support/banks/{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": "Bank permanently deleted."
}
Error response — 401
json
{
  "message": "Unauthenticated."
}

Released under the MIT License.