Create Hold

Use the Create Hold endpoint to create a hold (reserve) on an amount of funds for a specified payment, or to create a hold on an account in general. This endpoint supports remote deposit capture (RDC).

To create a hold on a specific payment you must pass amount and pmtId. The default hold limit is 1 000 000. You can override this limit with the MXHLD program parameter.

To create a hold on an account, your program parameters (THOLD) must specify that an account hold is valid for the holdType parameter.

This endpoint does not create authorization holds on an account for card-association transactions — such holds are created automatically when an authorization request is approved.

Status codes

See Global Response Statuses for status codes that are common across endpoints.

The table below lists status codes that apply to this specific endpoint.

Status codeDescription
539-01Holds are not enabled for this product/program. Please contact client support for more information.
539-02Provided XID does not map to a valid balance in our system
539-03Provided expiration date needs to be in the correct format (YYYY-MM-DD HH:MM:SS) and needs to be in the future
539-04Provided payment id is invalid
539-05No payment id was provided and the provided account hold type is missing or invalid
539-06Amount must be equal to or less than the payment minus any other holds that have already been placed
539-07An unknown error occurred while creating the hold. Please contact client support if this error persists.
539-08Amount must be equal to or less than the account balance. Set PRVNB to enable this status.
Form Data
string
required

Web service username, as provided by Galileo.
Pattern: Max 50 characters
Example: "AbC123-9999"

string
required

Web service password, as provided by Galileo.
Pattern: Max 15 characters
Example: "4sb62fh6w4h7w34g"

int32
required

Galileo-issued provider identifier.
Pattern: Max 10 digits
Example: 9999

string
required
1 to 60

A unique provider-generated ID to identify this API call. A UUID is preferred.
Pattern: 60 characters or less
Example: "9845dk-39fdk3fj3-4483483478"

string
required

The PRN or PAN of the account.
Pattern: PAN or PRN
Example: "074103447228"

float
required
0.01 to 999999999999.99

Currency amount as a whole or decimal amount.
Pattern: Positive integer or decimal number
Example: 100.00, 100, or 100.73

date-time
required

Date and time when the hold expires.
Pattern: YYYY-MM-DD hh:mm:ss
Example: "2017-01-01 13:00:00"

int32 | null
1 to 9999999999

The ID of the payment to hold: payment_trans_id as returned by the Create Payment endpoint or pmt_id as returned by the Get Payment History endpoint.
Pattern: Positive integer
Example: 4234888

string | null

Transaction type for the hold. Use the values provided by Galileo for your program.
Pattern: 2 alphanumeric characters
Example: "MO"

string | null

Description for the hold.
Pattern: Max 80 alphanumeric characters, including punctuation
Example: "One time payroll load."

string | null

External identifier for a hold.
Pattern: Max 60 alphanumeric characters
Example: "45348bacd483348"

Headers
string
enum
Defaults to json

Use this header instead of the standard accept header to specify the response format.

Allowed:
string
enum
Defaults to application/json

Generated from available response content types

Allowed:
Response

Language
URL
LoadingLoading…
Response
Click Try It! to start a request and see the response here! Or choose an example:
application/json
application/xml

© Galileo Financial Technologies, LLC 2026    Privacy Disclosure

All documentation, including but not limited to text, graphics, images, and any other content, are the exclusive property of Galileo Financial Technologies, LLC and are protected by copyright laws. These materials may not be reproduced, distributed, transmitted, displayed, or otherwise used without the prior written permission of Galileo Financial Technologies, LLC. Any unauthorized use or reproduction of these materials are expressly prohibited.