Skip to content

GET /info ​

Get information about your application, branch, and quota usage.

Endpoint ​

http
GET /info

Full URL: https://api-partners.easyslip.com/v2/info

Authentication ​

Required. Uses HMAC-SHA256 with your branch UUID as X-API-Key. See Authentication Guide.

HeaderDescription
X-API-KeyYour branch UUID
X-TimestampUnix timestamp (seconds)
X-NonceUUID v4, unique per request
X-SignatureHMAC-SHA256 signature

Request ​

No request body required.

Type Definitions ​

typescript
// Response Types
interface InfoResponse {
  success: true;
  data: InfoData;
  message: string;
}

interface InfoData {
  application: Application;
  branch: Branch;
  account: Account;
  product: Product;
}

interface Application {
  name: string;
  autoRenew: AutoRenew;
  quota: ApplicationQuota;
}

interface AutoRenew {
  expired: boolean;
  quota: boolean;
  createdAt: string;   // ISO 8601
  expiresAt: string;   // ISO 8601
}

interface ApplicationQuota {
  used: number;
  max: number | null;       // null = unlimited
  remaining: number | null;
  totalUsed: number;
}

interface Branch {
  name: string;
  isActive: boolean;
  quota: BranchQuota;
}

interface BranchQuota {
  used: number;
  totalUsed: number;
}

interface Account {
  email: string;
  credit: number;
}

interface Product {
  name: string;
}

// Error Response
interface ErrorResponse {
  success: false;
  error: {
    code: string;
    message: string;
  };
}

Examples ​

bash
API_KEY="a1b2c3d4-e5f6-7890-abcd-ef1234567890"  # Branch UUID
SECRET_KEY="your_secret_key"
TIMESTAMP=$(date +%s)
NONCE=$(uuidgen | tr '[:upper:]' '[:lower:]')
BODY_HASH=$(printf '' | shasum -a 256 | cut -d' ' -f1)

STRING_TO_SIGN="GET\n/info\n${TIMESTAMP}\n${NONCE}\n${BODY_HASH}"
SIGNATURE=$(printf "${STRING_TO_SIGN}" | openssl dgst -sha256 -hmac "${SECRET_KEY}" | cut -d' ' -f2)

curl -X GET https://api-partners.easyslip.com/v2/info \
  -H "X-API-Key: ${API_KEY}" \
  -H "X-Timestamp: ${TIMESTAMP}" \
  -H "X-Nonce: ${NONCE}" \
  -H "X-Signature: ${SIGNATURE}"
javascript
import crypto from 'crypto'

const apiKey = 'a1b2c3d4-e5f6-7890-abcd-ef1234567890' // Branch UUID
const secretKey = 'your_secret_key'
const timestamp = Math.floor(Date.now() / 1000).toString()
const nonce = crypto.randomUUID()
const bodyHash = crypto.createHash('sha256').update('').digest('hex')

const stringToSign = `GET\n/info\n${timestamp}\n${nonce}\n${bodyHash}`
const signature = crypto.createHmac('sha256', secretKey).update(stringToSign).digest('hex')

const response = await fetch('https://api-partners.easyslip.com/v2/info', {
    headers: {
        'X-API-Key': apiKey,
        'X-Timestamp': timestamp,
        'X-Nonce': nonce,
        'X-Signature': signature,
    },
})

const result = await response.json()
console.log(result.data)
php
<?php
$apiKey = 'a1b2c3d4-e5f6-7890-abcd-ef1234567890'; // Branch UUID
$secretKey = 'your_secret_key';
$timestamp = (string) time();
$nonce = sprintf(
    '%04x%04x-%04x-%04x-%04x-%04x%04x%04x',
    mt_rand(0, 0xffff), mt_rand(0, 0xffff), mt_rand(0, 0xffff),
    mt_rand(0, 0x0fff) | 0x4000, mt_rand(0, 0x3fff) | 0x8000,
    mt_rand(0, 0xffff), mt_rand(0, 0xffff), mt_rand(0, 0xffff)
);
$bodyHash = hash('sha256', '');

$stringToSign = implode("\n", ['GET', '/info', $timestamp, $nonce, $bodyHash]);
$signature = hash_hmac('sha256', $stringToSign, $secretKey);

$ch = curl_init();
curl_setopt_array($ch, [
    CURLOPT_URL => 'https://api-partners.easyslip.com/v2/info',
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_HTTPHEADER => [
        "X-API-Key: $apiKey",
        "X-Timestamp: $timestamp",
        "X-Nonce: $nonce",
        "X-Signature: $signature",
    ],
]);

$response = curl_exec($ch);
curl_close($ch);

$result = json_decode($response, true);
print_r($result['data']);
python
import hashlib
import hmac
import time
import uuid
import requests

api_key = 'a1b2c3d4-e5f6-7890-abcd-ef1234567890'  # Branch UUID
secret_key = 'your_secret_key'
timestamp = str(int(time.time()))
nonce = str(uuid.uuid4())
body_hash = hashlib.sha256(b'').hexdigest()

string_to_sign = f'GET\n/info\n{timestamp}\n{nonce}\n{body_hash}'
signature = hmac.new(secret_key.encode(), string_to_sign.encode(), hashlib.sha256).hexdigest()

response = requests.get(
    'https://api-partners.easyslip.com/v2/info',
    headers={
        'X-API-Key': api_key,
        'X-Timestamp': timestamp,
        'X-Nonce': nonce,
        'X-Signature': signature,
    }
)

result = response.json()
print(result['data'])

Response ​

Success Response (200) ​

json
{
  "success": true,
  "data": {
    "application": {
      "name": "My Application",
      "autoRenew": {
        "expired": false,
        "quota": true,
        "createdAt": "2024-01-01T00:00:00+07:00",
        "expiresAt": "2025-01-01T00:00:00+07:00"
      },
      "quota": {
        "used": 1500,
        "max": 35000,
        "remaining": 33500,
        "totalUsed": 45000
      }
    },
    "branch": {
      "name": "Main Branch",
      "isActive": true,
      "quota": {
        "used": 500,
        "totalUsed": 12000
      }
    },
    "account": {
      "email": "[email protected]",
      "credit": 5000
    },
    "product": {
      "name": "Pro Plan"
    }
  },
  "message": "Information retrieved successfully"
}

Response Fields ​

FieldTypeDescription
application.namestringApplication name
application.autoRenew.expiredbooleanAuto-renew on expiry
application.autoRenew.quotabooleanAuto-renew on quota exhaustion
application.autoRenew.createdAtstringCreation timestamp (ISO 8601)
application.autoRenew.expiresAtstringExpiration timestamp (ISO 8601)
application.quota.usednumberQuota used this period
application.quota.maxnumber | nullMaximum quota (null = unlimited)
application.quota.remainingnumber | nullRemaining quota
application.quota.totalUsednumberTotal quota used all time
branch.namestringCurrent branch name
branch.isActivebooleanBranch active status
branch.quota.usednumberBranch quota used
branch.quota.totalUsednumberBranch total used
account.emailstringAccount email
account.creditnumberAvailable credit
product.namestringSubscription plan name

Error Responses ​

Missing Auth Headers (401) ​

json
{
  "success": false,
  "error": {
    "code": "MISSING_API_KEY",
    "message": "X-API-Key header is required"
  }
}

Invalid API Key (401) ​

json
{
  "success": false,
  "error": {
    "code": "INVALID_API_KEY",
    "message": "The provided API key is invalid"
  }
}

Branch Inactive (403) ​

json
{
  "success": false,
  "error": {
    "code": "BRANCH_INACTIVE",
    "message": "This API branch has been deactivated"
  }
}

Notes ​

  • This endpoint does not consume quota
  • Quota resets monthly based on your billing cycle
  • max: null indicates unlimited quota
  • totalUsed tracks all-time usage across all billing periods
  • Branch quota is tracked separately from application quota

Bank Slip Verification API for Thai Banking