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.

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​

TypeScript SDK responsePayoutv12.0.0
  • amountAmountActual payout amount when known. Omitted before the amount is determined.Click or tap to expand
    • Name
      currency
      Type
      Currency
      Required
      required
      Description
      Lowercase currency code.
    • Name
      value
      Type
      number
      Required
      required
      Description
      Amount in the smallest currency unit.
  • Name
    balanceTransactions
    Type
    PayoutBalanceTransaction[]
    Description

    All source contribution objects. Each contains the balance transaction id, its original amount, and the exact allocated_amount selected for this payout. Its status is reserved while the payout is open, completed after success, or released when the allocation is returned after failure or cancellation. Omitted until transactions are selected. The difference between the two amounts is not necessarily still available because other refunds or payouts can consume it.

  • Name
    balanceTransactionId
    Type
    string
    Description

    The payout's own immutable debit balance transaction. Present after the payout succeeds. This is distinct from balanceTransactions, which lists the payment balance transactions that funded the payout.

  • Name
    canceledAt
    Type
    Date
    Description

    When the payout was canceled. Omitted otherwise.

  • customDataCustomDataClick or tap to expand

    Your string key-value metadata, when available.

  • Name
    destinationId
    Type
    string
    Required
    required
    Description

    Financial account selected as the destination.

  • errorPayoutErrorClick or tap to expand

    Deprecated compatibility view of a failed payout. Use failure for new integrations.

  • Name
    executeAfter
    Type
    Date
    Required
    required
    Description

    Earliest time execution can begin.

  • Name
    executedBy
    Type
    string
    Description

    Actor that executed the payout, when available.

  • Name
    expectedAt
    Type
    Date
    Description

    Expected completion time, when available.

  • Name
    failedAt
    Type
    Date
    Description

    When the payout entered the Inttegro.PayoutStatuses.Failed state. Omitted otherwise.

  • failurePayoutFailureCaller-safe terminal failure information. Present only when status is failed.Click or tap to expand
    • Name
      detail
      Type
      string
      Description
      Safe explanation for an operator. Display or log it, but do not parse it.
    • Name
      reason
      Type
      PayoutFailureReason
      Description
      Stable failure category. The possible values follow.
    • Name
      retryable
      Type
      boolean
      Description
      Whether a newly created payout may succeed. Do not automatically repeat a payout solely because this value is true.
  • Name
    id
    Type
    string
    Required
    required
    Description

    Unique payout identifier.

  • Name
    initiatedAt
    Type
    Date
    Required
    required
    Description

    When the payout record was created.

  • Name
    initiatedBy
    Type
    string
    Description

    Actor that initiated the payout, when available.

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

    Your reconciliation reference, when provided.

  • Name
    scheduleId
    Type
    string
    Description

    Schedule associated with the payout, when available.

  • Name
    scheduledAt
    Type
    Date
    Description

    When the payout was scheduled, when available.

  • Name
    scheduledBy
    Type
    string
    Description

    Actor that scheduled the payout, when available.

  • Name
    sentAt
    Type
    Date
    Description

    When the transfer was sent, when available.

  • Name
    sourceId
    Type
    string
    Description

    Source identifier, when available.

  • Name
    status
    Type
    PayoutStatus
    Required
    required
    Description

    Current state: Inttegro.PayoutStatuses.Initialized, Inttegro.PayoutStatuses.Scheduled, Inttegro.PayoutStatuses.Processing, Inttegro.PayoutStatuses.Executing, Inttegro.PayoutStatuses.Succeeded, Inttegro.PayoutStatuses.Failed, or Inttegro.PayoutStatuses.Canceled.

  • Name
    succeededAt
    Type
    Date
    Description

    When the payout succeeded. Omitted otherwise.

Failure reason values​

maxAmount 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 executeAfter 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​

TypeScript SDK requestSchedulePayoutRequestv12.0.0
  • Name
    destinationId
    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
    executeAfter
    Type
    Date
    Description

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

  • Name
    maxAmount
    Type
    number
    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
SDK versionv12.0.0
import * as Inttegro from '@inttegro/inttegro-sdk'

const inttegro = new Inttegro.InttegroClient({
apiKey: process.env.INTTEGRO_API_KEY!,
})
const result = await inttegro.payouts.schedule({
destinationId: "fa_Q90wZdd2P7W8hJ1cN9Mx4Rk5sVWBvY3L6pTz8q0",
reference: "PAYOUT-APR-15",
maxAmount: 250000,
executeAfter: new Date("2030-04-15T09:00:00Z"),
})

Response

SDK versionv12.0.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, failure, and balanceTransactions 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​

TypeScript SDK requestLookupPayoutRequestv12.0.0
  • Name
    payoutId
    Type
    string
    Required
    required
    Description

    Payout ID returned when the payout was scheduled.

Request

POST/payouts/lookup
SDK versionv12.0.0
import * as Inttegro from '@inttegro/inttegro-sdk'

const inttegro = new Inttegro.InttegroClient({
apiKey: process.env.INTTEGRO_API_KEY!,
})
const result = await inttegro.payouts.lookup({
payoutId: "po_yQ2wXm5Dc7Pk9Ls1Vn0RgHaB",
})

Response

SDK versionv12.0.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 Inttegro.PayoutStatuses.Scheduled and executeAfter is still in the future. The response returns the payout with status set to Inttegro.PayoutStatuses.Canceled and its canceledAt time.

Request attributes​

TypeScript SDK requestCancelPayoutRequestv12.0.0
  • Name
    payoutId
    Type
    string
    Required
    required
    Description

    ID of the scheduled payout to cancel.

Request

POST/payouts/cancel
SDK versionv12.0.0
import * as Inttegro from '@inttegro/inttegro-sdk'

const inttegro = new Inttegro.InttegroClient({
apiKey: process.env.INTTEGRO_API_KEY!,
})
const result = await inttegro.payouts.cancel({
payoutId: "po_yQ2wXm5Dc7Pk9Ls1Vn0RgHaB",
})

Response

SDK versionv12.0.0
PayoutResponse {
payout: { … },
}
POST/payouts/settings

Get payout settings

See whether payouts are automatic or manual and which financial account receives GHS payouts. 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
SDK versionv12.0.0
import * as Inttegro from '@inttegro/inttegro-sdk'

const inttegro = new Inttegro.InttegroClient({
apiKey: process.env.INTTEGRO_API_KEY!,
})
const result = await inttegro.payouts.settings()

Response

SDK versionv12.0.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 the GHS destination, send an empty string for destinations.ghs. Omit that field to keep its existing value.

Rules​

  • The currently supported destination field is "ghs"—see studio.inttegro.com/specs/currencies for supported currencies.
  • The financial account must be active, connected, and have push capability enabled.
  • The financial account assigned to "ghs" must be denominated in GHS.
  • Supported destinations are mobile money wallets and complete Ghana bank accounts.

Request attributes​

TypeScript SDK requestSetPayoutDestinationsRequestv12.0.0
  • destinationsPayoutDestinationsrequiredSupported payout destination assignments.Click or tap to expand
    • Name
      ghs
      Type
      string
      Description
      Financial account that receives Ghana cedi payouts. Pass an empty string to clear the assignment.

Request

POST/payouts/set_destinations
SDK versionv12.0.0
import * as Inttegro from '@inttegro/inttegro-sdk'

const inttegro = new Inttegro.InttegroClient({
apiKey: process.env.INTTEGRO_API_KEY!,
})
const result = await inttegro.payouts.setDestinations({
destinations: {
ghs: "fa_H3cNv7pQf9WbLt2mJs6yXrPq4Kz1Vd5G0aEiUo",
},
})

Response

SDK versionv12.0.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
SDK versionv12.0.0
import * as Inttegro from '@inttegro/inttegro-sdk'

const inttegro = new Inttegro.InttegroClient({
apiKey: process.env.INTTEGRO_API_KEY!,
})
const result = await inttegro.payouts.disableAutomatic()

Response

SDK versionv12.0.0
SettingsResponse {
settings: { … },
}
POST/payouts/enable

Enable automatic payouts

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

Payouts that are already scheduled continue normally.

Request

POST/payouts/enable
SDK versionv12.0.0
import * as Inttegro from '@inttegro/inttegro-sdk'

const inttegro = new Inttegro.InttegroClient({
apiKey: process.env.INTTEGRO_API_KEY!,
})
const result = await inttegro.payouts.enableAutomatic()

Response

SDK versionv12.0.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​

TypeScript SDK requestPagePayoutsRequestv12.0.0
  • Name
    pageNumber
    Type
    number
    Required
    required
    Description

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

  • Name
    pageSize
    Type
    number
    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
SDK versionv12.0.0
import * as Inttegro from '@inttegro/inttegro-sdk'

const inttegro = new Inttegro.InttegroClient({
apiKey: process.env.INTTEGRO_API_KEY!,
})
const result = await inttegro.payouts.page({
pageNumber: 1,
pageSize: 25,
})

Response

SDK versionv12.0.0
PageResponse {
page: { … },
}
POST/payouts/search

Search payouts

Find payouts from remembered text or exact status and currency constraints. Results are discovery summaries; use the returned payout ID with Lookup a payout before cancellation, reconciliation, or any decision that depends on current transfer state.

Request attributes​

TypeScript SDK requestResourceSearchRequestv12.0.0
  • Name
    cursor
    Type
    string
    Description

    Opaque continuation cursor returned by the previous page. Replay the same request and add this value for the next page.

  • facetsResourceSearchFacet[]Fields to group and count: currency or status.Click or tap to expand
    • Name
      field
      Type
      string
      Required
      required
      Description
      Route-local facet field.
    • Name
      limit
      Type
      number
      Description
      Maximum buckets, from 1 through 50. Defaults to 10.
  • filtersResourceSearchFilter[]Exact currency or status constraints.Click or tap to expand
    • Name
      field
      Type
      string
      Required
      required
      Description
      Route-local filter field.
    • Name
      operator
      Type
      ResourceSearchOperator
      Required
      required
      Description
      eq for one value or in for any supplied value.
    • Name
      values
      Type
      string[]
      Required
      required
      Description
      One value for eq; one through 20 values for in.
  • Name
    pageSize
    Type
    number
    Description

    Results per page, from 1 through 100. Defaults to 20.

  • sortResourceSearchSortResult ordering.Click or tap to expand
  • Name
    text
    Type
    string
    Description

    Search text, from 1 through 512 characters. Supply search text, exact filters, or both.

Response​

Returns a typed search page with discovery summaries, requested facet counts, page and total counts, an optional nextCursor, and freshness metadata. Read the canonical payout before acting on a result.

Request

POST/payouts/search
SDK versionv12.0.0
import * as Inttegro from '@inttegro/inttegro-sdk'

const inttegro = new Inttegro.InttegroClient({
apiKey: process.env.INTTEGRO_API_KEY!,
})

const request: Inttegro.ResourceSearchRequest = {
text: "po_abc123xyz",
}
const page = await inttegro.payouts.search(request)

Response excerpt

SDK versionv12.0.0
SearchResponse {
search: { … },
}

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​

TypeScript SDK responsePayoutSettingsLookupv12.0.0
  • destinationsPayoutDestinationsrequiredSupported GHS-to-financial-account destination assignment. Always present and may be empty.Click or tap to expand
    • Name
      ghs
      Type
      string
      Description
      Financial account that receives Ghana cedi payouts.
  • Name
    fxEnabled
    Type
    boolean
    Description

    Present when foreign exchange payouts are enabled.

  • schedulePayoutSettingsLookupScheduleActive payout schedule, when available.Click or tap to expand
    • Name
      agingSpec
      Type
      PayoutSettingsLookupScheduleAgingSpec
      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
        tPlus
        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
      scheduleOn
      Type
      string
      Required
      required
      Description
      When payouts run within the interval.
    • Name
      type
      Type
      string
      Required
      required
      Description
      Schedule type.

Settings mutation response​

TypeScript SDK responsePayoutSettingsMutationv12.0.0
  • destinationsPayoutDestinationsUpdated supported destination assignments, when returned.Click or tap to expand
    • Name
      ghs
      Type
      string
      Description
      Financial account that receives Ghana cedi payouts.
  • Name
    fxEnabled
    Type
    boolean
    Description

    Updated foreign-exchange setting, when returned by an FX mutation.

  • Name
    id
    Type
    string
    Description

    Payout settings identifier.

  • schedulePayoutSettingsMutationScheduleUpdated payout schedule, when returned.Click or tap to expand
    • 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
      scheduleOn
      Type
      string
      Required
      required
      Description
      When payouts run within the interval.
    • Name
      spec
      Type
      PayoutSettingsMutationScheduleSpec
      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
        tPlus
        Type
        string
        Required
        required
        Description
        Required transaction age, such as 168h.
    • Name
      type
      Type
      string
      Required
      required
      Description
      Schedule type.