Skip to main content
Organizations are the top-level entity in Syncgram Pay. Your API key is scoped to an organization. Use these endpoints to read your organization’s details, switch environments, and configure checkout behavior.

Get your organization

GET /api/v1/organizations/me
Authentication: API key or JWT Returns the organization associated with the authenticated API key or user session.

Response

id
string
Unique organization ID.
name
string
Display name of the organization.
owner_user_id
string
User ID of the organization owner.
parent_organization_id
string
Parent organization ID if this is a connected account. null for top-level organizations.
onboarding_status
string
Current onboarding state. Common values: PENDING, IN_PROGRESS, COMPLETED.
payments_status
string
Payments capability status. Common values: DISABLED, ENABLED.
country
string
ISO 3166-1 alpha-2 country code for the organization.
current_env
string
Active environment: test or live.
fee_handling
string
Who bears transaction fees. Either org_pays (your organization absorbs fees) or customer_pays (fees added to the customer’s amount).
enabled_payment_methods
object
Checkout payment method configuration. Keys are method names (card, bank_transfer, crypto, mobile_money); values are objects with enabled (boolean) and currencies (object mapping currency codes to booleans).
enabled_capabilities
array
List of capability identifiers enabled for the organization in its current environment.
is_active
boolean
Whether the organization is active.
created_at
string
ISO 8601 timestamp when the organization was created.
updated_at
string
ISO 8601 timestamp when the organization was last updated.
{
  "id": "org_01j8abc123def456",
  "name": "Acme Payments Ltd",
  "owner_user_id": "usr_01j8xyz789",
  "parent_organization_id": null,
  "onboarding_status": "COMPLETED",
  "payments_status": "ENABLED",
  "country": "NG",
  "current_env": "live",
  "fee_handling": "customer_pays",
  "enabled_payment_methods": {
    "card": {
      "enabled": true,
      "currencies": { "USD": true, "NGN": false }
    },
    "bank_transfer": {
      "enabled": true,
      "currencies": { "NGN": true }
    }
  },
  "enabled_capabilities": ["payouts", "conversions"],
  "is_active": true,
  "created_at": "2024-01-01T08:00:00Z",
  "updated_at": "2024-01-15T10:30:00Z"
}

Example

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

Get an organization by ID

GET /api/v1/organizations/{organization_id}
Authentication: API key or JWT Returns the organization with the given ID.
  • API key auth: The organization_id in the path must match the organization ID bound to the key (or the connected account specified in X-Connected-Account-ID).
  • JWT auth: The authenticated user must be an active member of the organization.

Path parameters

organization_id
string
required
The organization ID to retrieve.

Example

curl https://api.syncgrampay.com/api/v1/organizations/org_01j8abc123def456 \
  -H "Authorization: Bearer sk_live_01j..."

Update an organization

PUT /api/v1/organizations/{organization_id}
Authentication: JWT only. The authenticated user must be an owner or admin of the organization. Updates one or more fields on the organization. All fields are optional — include only the fields you want to change.

Path parameters

organization_id
string
required
The ID of the organization to update.

Request

name
string
Display name for the organization.
contact_name
string
Name of the primary contact person.
phone_number
string
Contact phone number.
company_name
string
Legal company name.
website
string
Organization website URL.
description
string
Short description of the organization.
country
string
ISO 3166-1 alpha-2 country code.
current_env
string
Switch the active environment. Must be test or live.

Example

curl -X PUT https://api.syncgrampay.com/api/v1/organizations/org_01j8abc123def456 \
  -H "Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9..." \
  -H "Content-Type: application/json" \
  -d '{
    "name": "Acme Payments Ltd",
    "website": "https://acmepayments.com",
    "current_env": "live"
  }'

Checkout settings

Get checkout settings

GET /api/v1/organizations/checkout/settings
Authentication: API key only Returns the checkout payment configuration for your organization, including which payment methods are enabled and the fee preference.

Response

organization_id
string
Your organization ID.
enabled_payment_methods
object
Frontend-normalized payment method map. Keys: card, bank_transfer, crypto, mobile_money. Each value has enabled (boolean) and currencies (object).
fee_preference
string
Who pays fees: org_pays or customer_pays.
available_currencies
object
Map of payment method to the list of currencies available for that method.
{
  "organization_id": "org_01j8abc123def456",
  "enabled_payment_methods": {
    "card": {
      "enabled": true,
      "currencies": { "USD": true }
    },
    "bank_transfer": {
      "enabled": true,
      "currencies": { "NGN": true }
    },
    "crypto": {
      "enabled": false,
      "currencies": {}
    }
  },
  "fee_preference": "customer_pays",
  "available_currencies": {
    "card": ["USD", "EUR"],
    "bank_transfer": ["NGN", "GHS"],
    "crypto": ["USDT_TRC20"],
    "mobile_money": ["KES", "GHS"]
  }
}

Example

curl https://api.syncgrampay.com/api/v1/organizations/checkout/settings \
  -H "Authorization: Bearer sk_live_01j..."

Update checkout settings

PUT /api/v1/organizations/checkout/settings
Authentication: API key only Updates checkout payment method configuration and fee preference. At least one of enabled_payment_methods or fee_preference must be provided.

Request

enabled_payment_methods
object
Payment method configuration object to update. Use the same structure returned by the GET endpoint.
fee_preference
string
Who absorbs transaction fees. One of: org_pays, customer_pays.

Example

curl -X PUT https://api.syncgrampay.com/api/v1/organizations/checkout/settings \
  -H "Authorization: Bearer sk_live_01j..." \
  -H "Content-Type: application/json" \
  -d '{
    "fee_preference": "org_pays"
  }'