> ## Documentation Index
> Fetch the complete documentation index at: https://docs.monime.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Update Payout

> Updates an existing payout object by ID. Fields can only be modified if the payout has not yet been processed.



## OpenAPI

````yaml patch /v1/payouts/{id}
openapi: 3.0.3
info:
  title: Monime API
  description: Monime REST API. Please visit https://docs.momime.io/api for more details.
  termsOfService: https://monime.io/legal/terms-of-service
  contact:
    name: Monime Developers
    url: https://github.com/monimesl
    email: dev@monime.io
  version: v1
servers:
  - url: https://api.monime.io/
security:
  - bearerAuth: []
paths:
  /v1/payouts/{id}:
    patch:
      tags:
        - Payout
      summary: Update Payout
      description: >-
        Updates an existing payout object by ID. Fields can only be modified if
        the payout has not yet been processed.
      operationId: UpdatePayout
      parameters:
        - name: id
          in: path
          description: The unique ID of the payout object to update.
          required: true
          schema:
            pattern: ^pyt-.*$
            type: string
            description: The unique ID of the payout object to update.
        - name: Monime-Version
          in: header
          description: Specifies which version of the Monime API will handle this request.
          schema:
            enum:
              - caph.2025-08-23
              - caph.2025-06-20
            type: string
            description: >-
              Specifies which version of the Monime API will handle this
              request.
            nullable: true
        - name: Monime-Space-Id
          in: header
          description: >-
            The value is the tenancy parameter that Monime uses to determine
            which space the request is intended for.
          required: true
          schema:
            maxLength: 64
            pattern: ^spc-.*$
            type: string
            description: >-
              The value is the tenancy parameter that Monime uses to determine
              which space the request is intended for.
      requestBody:
        content:
          application/json:
            schema:
              title: UpdatePayout
              type: object
              properties:
                metadata:
                  maxProperties: 64
                  type: object
                  additionalProperties:
                    maxLength: 100
                    type: string
                    description: >-
                      Metadata values are free-form strings up to 100
                      characters.
                  description: >-
                    Updated metadata for attaching custom information to the
                    payout.
                  nullable: true
              additionalProperties: false
              description: >-
                Updates an existing payout object by ID. Fields can only be
                modified if the payout has not yet been processed.
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    description: >-
                      Represents the status of the query operation, confirming
                      if it was successful. This field is always true
                  messages:
                    type: array
                    items: {}
                    description: >-
                      Contains a list of messages providing relevant information
                      or feedback related to the query or operation
                  result:
                    $ref: '#/components/schemas/Payout'
components:
  schemas:
    Payout:
      title: Payout
      type: object
      properties:
        id:
          type: string
          description: Unique identifier for the payout object.
        status:
          enum:
            - pending
            - processing
            - completed
            - failed
          type: string
          description: >-
            Current status of the payout:

            - 'pending': Created but not yet scheduled.- 'processing': Currently
            being processed.

            - 'completed': Successfully completed.

            - 'failed': Processing failed or rejected.
        amount:
          type: object
          properties:
            currency:
              type: string
              description: >-
                The [3-letter](https://en.wikipedia.org/wiki/ISO_4217) ISO
                currency code. Currently supported: 'SLE'
            value:
              type: integer
              description: >-
                The value representation in the currency's minor unit. E.g. For
                1 Leone (SLE 1), the value should be 100, denoting cents, the
                minor unit.
          additionalProperties: false
          description: Amount to be paid to the destination provider account.
        source:
          required:
            - financialAccountId
          type: object
          properties:
            financialAccountId:
              type: string
              description: ID of the financial account where the funds is disbursed from.
            transactionReference:
              type: string
              description: >-
                Internal Monime reference for the debit transaction from the
                source account. This is null until the payout is processed.
              nullable: true
              readOnly: true
          additionalProperties: false
          description: >-
            SourceAccount of funds, including debit account and transaction
            details. Can be null if the default account is used.
          nullable: true
        destination:
          required:
            - type
            - providerId
          type: object
          oneOf:
            - title: Bank
              required:
                - type
                - providerId
                - accountNumber
              type: object
              properties:
                type:
                  enum:
                    - bank
                  type: string
                  description: >-
                    Fixed value: 'bank'. Indicates this is a bank payout
                    destination.
                providerId:
                  enum:
                    - slb001
                    - slb004
                    - slb007
                  type: string
                  description: Identifier of the bank or financial service provider.
                accountNumber:
                  type: string
                  description: The bank account number to which the payout will be sent.
                transactionReference:
                  type: string
                  description: >-
                    Reference or identifier of the underlying transaction that
                    credited the recipient’s bank account. Will be 'null' if the
                    payout is not 'completed'.
                  nullable: true
                  readOnly: true
              additionalProperties: false
            - title: Mobile Money
              required:
                - type
                - providerId
                - phoneNumber
              type: object
              properties:
                type:
                  enum:
                    - momo
                  type: string
                  description: >-
                    Fixed value: 'momo'. Indicates this is a mobile money (MoMo)
                    payout destination.
                providerId:
                  enum:
                    - m17
                    - m18
                  type: string
                  description: Identifier of the mobile money provider.
                phoneNumber:
                  type: string
                  description: >-
                    The mobile number (MSISDN) of the recipient's mobile money
                    account.
                transactionReference:
                  type: string
                  description: >-
                    Reference or ID of the transaction that credited the
                    recipient’s mobile money wallet. Set to 'null' if the payout
                    is not 'completed'.
                  nullable: true
                  readOnly: true
              additionalProperties: false
            - title: Digital Wallet
              required:
                - type
                - providerId
              type: object
              properties:
                type:
                  enum:
                    - wallet
                  type: string
                  description: >-
                    Fixed value: 'wallet'. Indicates this is a digital wallet
                    payout destination.
                providerId:
                  enum:
                    - dw001
                  type: string
                  description: Identifier of the digital wallet provider.
                walletId:
                  type: string
                  description: >-
                    The ID of the recipient's wallet in the digital wallet
                    ecosystem.
                transactionReference:
                  type: string
                  description: >-
                    Reference or ID of the transaction that credited the
                    recipient’s wallet. Set to null if the payout has not
                    reached completed status.
                  nullable: true
                  readOnly: true
              additionalProperties: false
          properties:
            type:
              enum:
                - bank
                - momo
                - wallet
              type: string
              description: >-
                Specifies the type of destination account. Must be either
                'bank', 'momo', or 'wallet'.
          description: Destination account details that will receive the payout.
        fees:
          type: array
          items:
            type: object
            properties:
              code:
                type: string
                description: The type of fee applied.
              amount:
                type: object
                properties:
                  currency:
                    type: string
                    description: >-
                      The [3-letter](https://en.wikipedia.org/wiki/ISO_4217) ISO
                      currency code. Currently supported: 'SLE'
                  value:
                    type: integer
                    description: >-
                      The value representation in the currency's minor unit.
                      E.g. For 1 Leone (SLE 1), the value should be 100,
                      denoting cents, the minor unit.
                additionalProperties: false
                description: >-
                  The amount of the fee that was applied on top of the payout
                  amount.
              metadata:
                maxProperties: 64
                type: object
                additionalProperties:
                  maxLength: 100
                  type: string
                  description: Metadata values are free-form strings up to 100 characters.
                description: Further metadata describing the fee.
                nullable: true
          description: >-
            List of fees applied during payout processing. Empty if not yet
            processed.
          nullable: true
        failureDetail:
          type: object
          properties:
            code:
              enum:
                - unknown
                - fund_insufficient
                - authorization_failed
                - provider_unknown
                - provider_account_blocked
                - provider_account_missing
                - provider_account_quota_exhausted
              type: string
              description: >-
                **Error code** indicating why the payout failed. Possible values
                include:

                - unknown: General or unclassified failure.

                - fund_insufficient: Source account lacks sufficient funds.

                - authorization_failed: Authorization failed or was denied.

                - provider_unknown: Unexpected error from the external provider.

                - provider_account_blocked: The destination provider account is
                blocked.

                - provider_account_missing: The destination provider account
                does not exist.

                - provider_account_quota_exhausted: Daily or per-transaction
                quota has been exceeded.
            message:
              type: string
              description: >-
                **Human-readable message** providing more context about the
                failure. Useful for logs, dashboards, or client-facing error
                messages.
          description: >-
            Detailed information about the failure, if the payout status is
            'failed'.
          nullable: true
        createTime:
          type: string
          description: Timestamp indicating when the payout object was created.
          format: date-time
        updateTime:
          type: string
          description: Timestamp indicating when the payout object was last updated.
          format: date-time
        ownershipGraph:
          title: OwnershipGraph
          type: object
          properties:
            owner:
              title: OwnershipObject
              type: object
              properties:
                id:
                  type: string
                  description: '**Unique ID** of the object instance that owns this entity.'
                  readOnly: true
                type:
                  type: string
                  description: >-
                    **Type of the object** that owns this entity. Examples
                    include: 'internal_transfer', 'checkout_session',
                    'payment_code'.
                  readOnly: true
                metadata:
                  maxProperties: 64
                  type: object
                  additionalProperties:
                    maxLength: 100
                    type: string
                    description: >-
                      Metadata values are free-form strings up to 100
                      characters.
                  description: '**Arbitrary metadata** describing the owning object.'
                  nullable: true
                  readOnly: true
                owner:
                  $ref: '#/components/schemas/CoreresourcesParentOwningObject'
              additionalProperties: false
              description: >-
                **Immediate object** that owns this entity. This is the direct
                originator or source object.
              readOnly: true
          additionalProperties: false
          description: >-
            Full ownership graph tracing the origin of this payout objects
            across multiple objects.
          nullable: true
        metadata:
          maxProperties: 64
          type: object
          additionalProperties:
            maxLength: 100
            type: string
            description: Metadata values are free-form strings up to 100 characters.
          description: Optional metadata attached to the payout for additional context.
          nullable: true
      description: >
        A **Payout** is a disbursement of funds from a **Financial Account** to
        a designated destination such as a **Bank Account** or **Mobile Money
        Wallet**.  

        It represents outbound money flows and is commonly used for **salary
        disbursements**, **vendor payments**, and **refunds** in automated
        workflows.  


        Each payout records the **amount**, the **source account**, the
        **destination details**, and optional **metadata**.  

        It also tracks **status changes** throughout its lifecycle and may
        include **provider-specific references** for reconciliation.
    CoreresourcesParentOwningObject:
      title: OwnershipObject
      type: object
      properties:
        id:
          type: string
          description: '**Unique ID** of the object instance that owns this entity.'
          readOnly: true
        type:
          type: string
          description: >-
            **Type of the object** that owns this entity. Examples include:
            'internal_transfer', 'checkout_session', 'payment_code'.
          readOnly: true
        metadata:
          maxProperties: 64
          type: object
          additionalProperties:
            maxLength: 100
            type: string
            description: Metadata values are free-form strings up to 100 characters.
          description: '**Arbitrary metadata** describing the owning object.'
          nullable: true
          readOnly: true
        owner:
          $ref: '#/components/schemas/CoreresourcesParentOwningObject'
      additionalProperties: false
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: auth-scheme
      description: >-
        Bearer HTTP authentication specified with the header Authorization:
        Bearer <access_token>

````