Get Organization

Overview

Retrieve details about your organization, including settings, enabled payment methods, and configuration. Use this endpoint to:

  • Get your organization ID
  • Check which payment methods are enabled
  • View fee configuration
  • Check payments status and onboarding progress
  • Get organization country and settings

Authentication

Type: API Key (required)

Required Headers

Header Required Description
Authorization Yes Format: Bearer sk_test_... or Bearer sk_live_...

Request

Method & Path

GET /api/v1/organizations/me

Example Request

curl https://api.usesyncpay.com/api/v1/organizations/me \
  -H "Authorization: Bearer sk_live_abc123xyz..."

Response

200 – Success

Returns your organization details.

{
  "id": "org_abc123",
  "name": "My Company Inc",
  "owner_user_id": "user_xyz789",
  "parent_organization_id": null,
  "onboarding_status": "COMPLETED",
  "payments_status": "ENABLED",
  "country": "NG",
  "current_env": "live",
  "fee_config": "{\"default_fee\":{\"type\":\"percentage\",\"percentage\":3.0,\"flat_amount\":null},\"currency_fees\":{\"USD\":{\"type\":\"percentage\",\"percentage\":4.0,\"flat_amount\":null},\"NGN\":{\"type\":\"percentage\",\"percentage\":3.0,\"flat_amount\":null},\"GHS\":{\"type\":\"percentage\",\"percentage\":3.0,\"flat_amount\":null}}}",
  "fee_handling": "org_pays_fee",
  "enabled_payment_methods": {
    "bank_transfer": {
      "enabled": true,
      "currencies": ["NGN", "USD", "GHS"]
    },
    "mobile_money": {
      "enabled": true,
      "currencies": ["NGN", "GHS", "KES"]
    },
    "card": {
      "enabled": false,
      "currencies": []
    },
    "crypto": {
      "enabled": true,
      "currencies": ["USDT_TRC20", "USDT_ERC20"]
    }
  },
  "is_active": true,
  "created_at": "2026-01-01T10:00:00.000Z",
  "updated_at": "2026-01-24T14:30:00.000Z"
}

Response Fields

Field Type Description
id string Your organization ID
name string Organization name
owner_user_id string User ID of organization owner
parent_organization_id string|null Parent org ID if this is a connected account
onboarding_status string Onboarding progress status
payments_status string Payments enablement status
country string Organization country code
current_env string Current environment (test or live)
fee_config object Fee configuration
fee_handling string How fees are handled
enabled_payment_methods object Payment methods configuration
is_active boolean Whether organization is active
created_at string ISO 8601 timestamp of creation
updated_at string ISO 8601 timestamp of last update

Payments Status

Status Description
NOT_ENABLED Can't process payments yet
PENDING_VERIFICATION Verification in progress
ENABLED Can process live payments
SUSPENDED Temporarily suspended

Example Use Case

Scenario: Your application dashboard needs to display organization information and available payment methods to help users understand their account configuration. You need to check which payment methods are enabled for your organization to determine what payment options to offer customers, and verify your organization's status to ensure payments can be processed.

Implementation:

async function getOrgSettings() {
  const response = await fetch(
    'https://api.usesyncpay.com/api/v1/organizations/me',
    {
      headers: {
        'Authorization': `Bearer ${process.env.SYNCPAY_API_KEY}`
      }
    }
  );
  
  const org = await response.json();
  
  return {
    name: org.name,
    country: org.country,
    canProcessPayments: org.payments_status === 'ENABLED',
    availablePaymentMethods: Object.keys(org.enabled_payment_methods)
      .filter(method => org.enabled_payment_methods[method].enabled)
  };
}

// Usage
const settings = await getOrgSettings();
console.log(`Organization: ${settings.name}`);
console.log(`Can process payments: ${settings.canProcessPayments}`);
console.log(`Available methods: ${settings.availablePaymentMethods.join(', ')}`);

Connected Accounts

Connected accounts are sub-organizations that operate under your main organization. They provide isolated payment environments while remaining under your control.

What Are Connected Accounts?

Connected accounts allow you to:

  • Isolate payments - Each connected account has its own balance and transaction history
  • Separate business units - Run multiple brands, products, or divisions independently
  • Maintain control - All connected accounts are managed from your parent organization
  • Simplify accounting - Track revenue and expenses separately for each account

Key Characteristics

  • Limited permissions - Connected accounts cannot manage their own API keys
  • No sub-accounts - Connected accounts cannot create other connected accounts
  • Isolated balances - Payments and balances are completely separate from the parent organization
  • Shared ownership - All connected accounts belong to your parent organization

Common Use Cases

Marketplace platforms:

  • Create isolated accounts for each vendor or seller
  • Each vendor has their own balance and transaction history
  • Simplified payout management per vendor

White-label solutions:

  • Provide payment services to clients under your organization
  • Each client gets their own connected account
  • Maintain oversight while giving clients independence

Regional operations:

  • Separate accounts for different countries or regions
  • Comply with local regulations while maintaining central control
  • Track performance by region independently

Accessing Connected Accounts

When using your API key, you can access connected accounts by including the X-Connected-Account-ID header in your requests. This allows you to:

  • Create checkouts on behalf of a connected account
  • View balances for a specific connected account
  • Process payments that settle to the connected account's balance

Example:

curl https://api.usesyncpay.com/api/v1/accounts/balances \
  -H "Authorization: Bearer sk_live_abc123xyz..." \
  -H "X-Connected-Account-ID: org_connected_account_id"

To list your connected accounts, see List Connected Accounts.


Important Notes

Environment Toggle

The current_env field shows which environment the organization is currently using in the dashboard:

  • test - Test mode
  • live - Live mode

Note: This affects dashboard UI, not API behavior. API environment is determined by your API key (sk_test_ vs sk_live_). Fee Handling:

The fee_handling field determines who pays the fees:

  • org_pays_fee (default) - Your organization pays the fees. You receive: payment_amount - fees
  • customer_pays_fee - Customer pays the fees. Customer pays: payment_amount + fees, you receive: payment_amount

Example:

If a customer pays $100 USD with org_pays_fee:

  • Customer pays: $100.00
  • Fee (4%): $4.00
  • You receive: $96.00

If a customer pays $100 USD with customer_pays_fee:

  • Customer pays: $104.00 (amount + fee)
  • Fee (4%): $4.00
  • You receive: $100.00

Important Notes:

Enabled Payment Methods

The enabled_payment_methods object shows which methods you can accept:

// Check if a specific method is enabled
function isMethodEnabled(org, methodId) {
  const method = org.enabled_payment_methods[methodId];
  return method && method.enabled;
}

// Get all enabled methods
function getEnabledMethods(org) {
  return Object.keys(org.enabled_payment_methods)
    .filter(methodId => org.enabled_payment_methods[methodId].enabled);
}


Next Steps

After retrieving organization details:

  1. Check payments_status - Ensure you can process payments
  2. Review enabled payment methods - Know what options to offer customers
  3. Manage connected accounts if needed
  4. Configure settings in the dashboard as needed