Skip to main content

Payouts

Payouts move available funds from your Inttegro balance to a connected bank account or mobile money wallet. Schedule a transfer yourself or let Inttegro create payouts automatically, then follow each payout through completion. For the broader settlement model, see Payouts and Understand payouts.

Operations

The payout object

A payout records the destination, authorized amount, status, and balance transactions included in a transfer. Fields that depend on later processing are omitted until they have values.

Properties

  • amountobjectActual payout amount when known. Omitted before the amount is determined.Click or tap to expand
    • Name
      currency
      Type
      string
      Required
      required
      Description
      Lowercase currency code.
    • Name
      value
      Type
      integer
      Required
      required
      Description
      Amount in the smallest currency unit.
  • Name
    balance_transactions
    Type
    array
    Description

    Source balance transaction IDs linked to the payout. Omitted until transactions are linked. After refunds, their original amounts can sum to more than the payout amount.

  • Name
    canceled_at
    Type
    timestamp
    Description

    When the payout was canceled. Omitted otherwise.

  • custom_dataobjectClick or tap to expand

    Your string key-value metadata, when available.

  • Name
    destination_id
    Type
    string
    Required
    required
    Description

    Financial account selected as the destination.

  • errorobjectPublic error details when payout execution fails. Omitted when no error is present.Click or tap to expand
    • Name
      cause
      Type
      string
      Required
      required
      Description
      Underlying public cause.
    • Name
      message
      Type
      string
      Required
      required
      Description
      Human-readable error message.
    • Name
      occurred_at
      Type
      timestamp
      Required
      required
      Description
      When the error occurred.
    • Name
      type
      Type
      string
      Required
      required
      Description
      Machine-readable error type.
  • Name
    execute_after
    Type
    timestamp
    Required
    required
    Description

    Earliest time execution can begin.

  • Name
    executed_by
    Type
    string
    Description

    Actor that executed the payout, when available.

  • Name
    expected_at
    Type
    timestamp
    Description

    Expected completion time, when available.

  • Name
    failed_at
    Type
    timestamp
    Description

    When the payout entered its unsuccessful terminal state. Omitted otherwise.

  • Name
    id
    Type
    string
    Required
    required
    Description

    Unique payout identifier.

  • Name
    initiated_at
    Type
    timestamp
    Required
    required
    Description

    When the payout record was created.

  • Name
    initiated_by
    Type
    string
    Description

    Actor that initiated the payout, when available.

  • max_amountobjectrequiredMaximum authorized payout amount.Click or tap to expand
    • Name
      currency
      Type
      string
      Required
      required
      Description
      Lowercase currency code.
    • Name
      value
      Type
      integer
      Required
      required
      Description
      Amount in the smallest currency unit.
  • Name
    reference
    Type
    string
    Description

    Your reconciliation reference, when provided.

  • Name
    schedule_id
    Type
    string
    Description

    Schedule associated with the payout, when available.

  • Name
    scheduled_at
    Type
    timestamp
    Description

    When the payout was scheduled, when available.

  • Name
    scheduled_by
    Type
    string
    Description

    Actor that scheduled the payout, when available.

  • Name
    sent_at
    Type
    timestamp
    Description

    When the transfer was sent, when available.

  • Name
    source_id
    Type
    string
    Description

    Source identifier, when available.

  • Name
    status
    Type
    enum
    Required
    required
    Description

    Current state: initialized, scheduled, processing, executing, succeeded, invalid, or canceled.

  • Name
    succeeded_at
    Type
    timestamp
    Description

    When the payout succeeded. Omitted otherwise.

max_amount is a ceiling, not a guaranteed transfer amount. The final payout can be lower when less money is available. For balance selection, refunds, and reconciliation examples, see How payouts use your balance.

POST/payouts/schedule

Schedule a payout

Create a payout to a connected financial account. Omit execute_after to begin as soon as possible, or provide a future time to delay the transfer.

The destination determines the payout currency. It must be active, able to receive funds, and cannot already have another payout in progress. The response includes a payout ID that you can use to check progress.

Request attributes

  • Name
    destination_id
    Type
    string
    Required
    required
    Description

    Financial account that receives the funds. Mobile money wallets and complete Ghana bank accounts are supported when push capability is enabled. Scheduling is rejected while another payout for this destination remains open.

  • Name
    execute_after
    Type
    timestamp
    Description

    Earliest time Inttegro may begin the payout, as an ISO 8601 UTC timestamp. Omit it to begin as soon as possible.

  • Name
    max_amount
    Type
    integer
    Description

    Maximum amount you authorize, in the smallest currency unit. It must be at least 1 and cannot exceed your configured ceiling. If omitted, the configured ceiling is used. The final amount can be lower.

  • Name
    reference
    Type
    string
    Required
    required
    Description

    Your reference for matching the payout to your own records. It does not need to be unique.

Request

POST/payouts/schedule
curl https://api.inttegro.com/payouts/schedule \
-H "Authorization: Bearer $INTTEGRO_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: payout-apr-15" \
-d '{
"destination_id": "fa_Q90wZdd2P7W8hJ1cN9Mx4Rk5sVWBvY3L6pTz8q0",
"reference": "PAYOUT-APR-15",
"max_amount": 250000,
"execute_after": "2030-04-15T09:00:00Z"
}'

Response

SDK versionv8.2.0
PayoutResponse {
payout: {},
}
POST/payouts/lookup

Lookup a payout

Check a payout's current status and final transferred amount. Use this after scheduling or while reconciling a payout.

Optional lifecycle timestamps, error, and balance_transactions are omitted until they have values.

Available through MCP

AI clients can use get_payout for this operation. MCP read tools return minimized business data and do not change Inttegro state.

Request attributes

  • Name
    payout_id
    Type
    string
    Required
    required
    Description

    Payout ID returned when the payout was scheduled.

Request

POST/payouts/lookup
curl https://api.inttegro.com/payouts/lookup \
-H "Authorization: Bearer $INTTEGRO_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"payout_id": "po_yQ2wXm5Dc7Pk9Ls1Vn0RgHaB"
}'

Response

SDK versionv8.2.0
PayoutResponse {
payout: {},
}
POST/payouts/cancel

Cancel a payout

Stop a future payout before processing begins—for example, when the destination or amount ceiling is wrong.

Cancellation works only while the payout is scheduled and execute_after is still in the future. The response returns the payout with status: "canceled" and its canceled_at time.

Request attributes

  • Name
    payout_id
    Type
    string
    Required
    required
    Description

    ID of the scheduled payout to cancel.

Request

POST/payouts/cancel
curl https://api.inttegro.com/payouts/cancel \
-H "Authorization: Bearer $INTTEGRO_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: cancel-payout-apr-15" \
-d '{
"payout_id": "po_yQ2wXm5Dc7Pk9Ls1Vn0RgHaB"
}'

Response

SDK versionv8.2.0
PayoutResponse {
payout: {},
}
POST/payouts/settings

Get payout settings

See whether payouts are automatic or manual and which financial account receives each currency. Send an empty JSON object; destinations is always present and can be empty.

If no schedule exists yet, Inttegro applies the default automatic schedule. Configure a destination before relying on automatic payouts. See Understand payout settings for the schedule fields.

Available through MCP

AI clients can use get_payout_settings for this operation. MCP read tools return minimized business data and do not change Inttegro state.

Request

POST/payouts/settings
curl https://api.inttegro.com/payouts/settings \
-H "Authorization: Bearer $INTTEGRO_API_KEY" \
-H "Content-Type: application/json" \
-d '{}'

Response

SDK versionv8.2.0
SettingsResponse {
settings: {},
}
POST/payouts/set_destinations

Set payout destinations

Choose the financial account that receives your GHS payouts. Use this when you first set up settlements, switch the receiving account, or intentionally stop routing payouts to an account.

To remove a destination, send an empty string for ghs. Currency keys you omit keep their existing values.

Rules

  • Each currency key must be supported (currently ghs—see studio.inttegro.com/specs/currencies for the complete list).
  • The financial account must be active, connected, and have push capability enabled.
  • Its currency must match the map key. A ghs destination must be denominated in GHS.
  • Supported destinations are mobile money wallets and complete Ghana bank accounts.

Request attributes

  • destinationsobjectrequiredClick or tap to expand

    Map of currency codes (lowercase) to financial account IDs. Pass an empty string as the value to clear a currency's destination.

Request

POST/payouts/set_destinations
curl https://api.inttegro.com/payouts/set_destinations \
-H "Authorization: Bearer $INTTEGRO_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: set-ghs-destination-001" \
-d '{
"destinations": {
"ghs": "fa_H3cNv7pQf9WbLt2mJs6yXrPq4Kz1Vd5G0aEiUo"
}
}'

Response

SDK versionv8.2.0
SettingsResponse {
settings: {},
}
POST/payouts/disable

Disable automatic payouts

Switch to manual payouts. Inttegro stops creating new automatic payouts, but payouts that are already scheduled continue normally.

Your destinations do not change. You can still schedule a payout yourself or enable automatic payouts again later.

Request

POST/payouts/disable
curl https://api.inttegro.com/payouts/disable \
-H "Authorization: Bearer $INTTEGRO_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: automatic-payouts-off-001" \
-d '{}'

Response

SDK versionv8.2.0
SettingsResponse {
settings: {},
}
POST/payouts/enable

Enable automatic payouts

Resume automatic weekly payouts for eligible funds. Your existing destinations remain unchanged, so make sure each currency has a valid destination before enabling the schedule.

Payouts that are already scheduled continue normally.

Request

POST/payouts/enable
curl https://api.inttegro.com/payouts/enable \
-H "Authorization: Bearer $INTTEGRO_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: automatic-payouts-on-001" \
-d '{}'

Response

SDK versionv8.2.0
SettingsResponse {
settings: {},
}
POST/payouts/page

Page through payouts

Browse payouts from newest to oldest. Use this for settlement history and reconciliation; use Lookup a payout when you already know the payout ID.

Available through MCP

AI clients can use list_payouts for this operation. MCP read tools return minimized business data and do not change Inttegro state.

Request attributes

  • Name
    page_number
    Type
    integer
    Required
    required
    Description

    1-based page index to fetch. Must be between 1 and 10 inclusive.

  • Name
    page_size
    Type
    integer
    Description

    Number of payouts per page (1–256). Defaults to 256 when omitted.

Response shape

The response contains number, the number of results in size, and a payouts array when the page is not empty. Every entry uses the payout object.

Request

POST/payouts/page
curl https://api.inttegro.com/payouts/page \
-H "Authorization: Bearer $INTTEGRO_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"page_number": 1,
"page_size": 25
}'

Response

SDK versionv8.2.0
PageResponse {
page: {},
}

Payout settings responses

Get payout settings returns the complete configuration. Endpoints that change payout settings return the fields they updated, using a slightly different schedule shape with public schedule and specification IDs.

Settings lookup response

  • settingsobjectComplete payout settings returned by Get payout settings.Click or tap to expand
    • Name
      destinations
      Type
      object
      Required
      required
      View destinations detailsClick or tap to expand
      Currency-to-financial-account map. Always present and may be empty.
    • Name
      fx_enabled
      Type
      boolean
      Description
      Present when foreign exchange payouts are enabled.
    • Name
      schedule
      Type
      object
      View schedule attributesClick or tap to expand
      Active payout schedule, when available.
      • Name
        aging_spec
        Type
        object
        Required
        required
        View aging_spec attributesClick or tap to expand
        Rules that determine when funds become eligible.
        • Name
          abide
          Type
          string
          Required
          required
          Description
          How strictly the aging period is applied.
        • Name
          label
          Type
          string
          Required
          required
          Description
          Human-readable aging rule label.
        • Name
          t_plus
          Type
          string
          Required
          required
          Description
          Required transaction age, such as 168h.
      • Name
        description
        Type
        string
        Required
        required
        Description
        Human-readable schedule description.
      • Name
        interval
        Type
        string
        Required
        required
        Description
        Schedule frequency.
      • Name
        name
        Type
        string
        Required
        required
        Description
        Schedule name.
      • Name
        schedule_on
        Type
        string
        Required
        required
        Description
        When payouts run within the interval.
      • Name
        type
        Type
        string
        Required
        required
        Description
        Schedule type.

Settings mutation response

  • settingsobjectPayout settings fields returned after a settings change.Click or tap to expand
    • Name
      destinations
      Type
      object
      View destinations detailsClick or tap to expand
      Updated currency-to-financial-account map.
    • Name
      id
      Type
      string
      Description
      Payout settings identifier.
    • Name
      schedule
      Type
      object
      View schedule attributesClick or tap to expand
      Updated payout schedule.
      • Name
        description
        Type
        string
        Required
        required
        Description
        Human-readable schedule description.
      • Name
        id
        Type
        string
        Required
        required
        Description
        Schedule identifier.
      • Name
        interval
        Type
        string
        Required
        required
        Description
        Schedule frequency.
      • Name
        name
        Type
        string
        Required
        required
        Description
        Schedule name.
      • Name
        schedule_on
        Type
        string
        Required
        required
        Description
        When payouts run within the interval.
      • Name
        spec
        Type
        object
        Required
        required
        View spec attributesClick or tap to expand
        Rules that determine when funds become eligible.
        • Name
          abide
          Type
          string
          Required
          required
          Description
          How strictly the aging period is applied.
        • Name
          id
          Type
          string
          Required
          required
          Description
          Schedule specification identifier.
        • Name
          label
          Type
          string
          Required
          required
          Description
          Human-readable aging rule label.
        • Name
          t_plus
          Type
          string
          Required
          required
          Description
          Required transaction age, such as 168h.
      • Name
        type
        Type
        string
        Required
        required
        Description
        Schedule type.