# Lists payment links

<a id="flute-v2-get-payment-links"></a>
<span class="api-endpoint">GET {{<a href="#urlbases">baseURL</a>}}/v2/payment-links</span>
This endpoint lists payment links for the authenticated merchant.
It returns a paginated set of payment links.
<span class="api-seealso">See Also:</span><br>
To create a new payment link, see `POST /v2/payment-links`.<br>
To retrieve a payment link by identifier, see `GET /v2/payment-links/{{paymentLinkId}}`.<br>
To update a payment link, see `PATCH /v2/payment-links/{{paymentLinkId}}`.<br>
To delete a payment link, see `DELETE /v2/payment-links/{{paymentLinkId}}`.<br>
To share a payment link, see `POST /v2/payment-links/{{paymentLinkId}}/share`.

Endpoint: GET /v2/payment-links
Version: V2 Beta
Security: Bearer

## Query parameters:

  - `pageIndex` (integer)
    Specifies the page number of the returned search results.

A page is considered each set of the `pageSize` values.

The page count is zero-based.
The maximum for `pageIndex`, or the page number, is the `pageSize` divided by the `total` count rounded down.
For example, the `pageSize` is 50 and the `total` is 130.
That means there are three pages, but the `pageIndex` value is in the inclusive range from zero to two.

Value restrictions include:
* A value less than zero is not permitted.<br>
* Values equal to or greater than `totalPages` end successfully but will not return any items.

For page size information, see `pageSize`.

Example: 0

  - `pageSize` (integer)
    Specifies the number of items for each page of the returned search results.

A page is considered each set of the `pageSize` values.

The page count is zero-based.
The maximum for `pageIndex`, or the page number, is the `pageSize` divided by the `total` count rounded down.
For example, the `pageSize` is 50 and the `total` is 130.
That means there are three pages, but the `pageIndex` value is in the inclusive range from zero to two.

For page numbering information, see `pageIndex`.

Example: 50

  - `search` (string)
    Filters using a search string.

This performs a case-insensitive search that matches exactly or partially.

The field does not have to be specified.
If the results are to be sorted, use the `sortBy` field to specify the sort field.

The search includes the following fields:<br>
name<br>
description<br>
paymentLinkId

Example:<br>
Peppared Street Cafe<br>
Street<br>
ree

  - `linkType` (string)

  - `paymentLinkStatus` (string)

  - `sortBy` (string)
    Specifies the field the results get ordered or sorted by.

The sort order is specified by the `sortOrder` value.<br>
The field that gets sorted by is specified by the `sortBy` value.

  - `sortOrder` (string)
    Specifies the sort order.

The sort order is specified by the `sortOrder` value.<br>
The field that gets sorted by is specified by the `sortBy` value.

Valid values are:

| Value  | Description                                               |
| ------ | --------------------------------------------------------- |
| asc    | Sort results from the lowest value to the highest value.  |
| desc   | Sort results from the highest value to the lowest value.  |

## Response 200 fields (application/json):

  - `items` (array)

  - `items.paymentLinkId` (string)
    Indicates the payment link identifier.

Example: 6f2a8b3c-9d4e-4f1a-8b7c-3e5d6a9f0c1b
    Example: 6f2a8b3c-9d4e-4f1a-8b7c-3e5d6a9f0c1b

  - `items.linkType` (string)
    Identifies the payment link type.
Valid values are:
| Type | Description |
|  --- | --- |
| MultiUse | The link can be shared with, and paid by, more than one customer. |
| SingleUse | The link is intended for a single customer and a single payment. |

Example: SingleUse
    Enum: "MultiUse", "SingleUse"

  - `items.paymentMethods` (object)
    Identifies the payment methods a payment link accepts.
It is keyed by method so each one carries only the configuration that applies to it.

  - `items.paymentMethods.card` (object)
    Identifies the card configuration on a payable resource.

  - `items.paymentMethods.card.enabled` (boolean)
    Identifies whether card payments are accepted.

Naming the payment method without a body offers it with no further configuration.

Example: true
    Example: true

  - `items.paymentMethods.card.processorId` (string)
    Identifies the processor that charges this resource's card payments.
This must be an active card processor of the merchant.
Omit this value to pin the merchant's current default active card processor.
A response carries the pinned processor, or `null` for a resource created before pinning was introduced.
Example: d529945e-8d10-4cb4-9dc3-718e57f3f14e
    Example: d529945e-8d10-4cb4-9dc3-718e57f3f14e

  - `items.paymentMethods.ach` (object)
    Identifies the ACH configuration on a payable resource.

This is typed separately from the card configuration so that ACH-only settings are enforced by the contract rather than by validation.

  - `items.paymentMethods.ach.enabled` (boolean)
    Identifies whether ACH payments are accepted.

Naming the payment method without a body offers it with no further configuration.

Example: true
    Example: true

  - `items.paymentMethods.ach.processorId` (string)
    Identifies the processor that charges this resource's ACH payments.
This must be an active ACH processor of the merchant.
Omit this value to pin the merchant's current default active ACH processor.
A response carries the pinned processor, or `null` for a resource created before pinning was introduced.
Example: d529945e-8d10-4cb4-9dc3-718e57f3f14e
    Example: d529945e-8d10-4cb4-9dc3-718e57f3f14e

  - `items.baseAmount` (number)
    Indicates the payment amount.

If omitted or null, indicates the customer can enter the amount at checkout.

Example: 25
    Example: 25

  - `items.currencyCode` (string)
    Indicates the transaction's currency code (in an uppercase ISO 4217 currency code).

Example: USD
    Example: USD

  - `items.paymentLinkStatus` (string)
    Indicates the status of the payment link.
Valid values are:
| Status | Description |
|  --- | --- |
| Active | The link is open and can accept a payment. |
| Completed | A SingleUse link that has received its one payment. |
| Expired | The link's `expiresOn` date has passed. |
| Inactive | The link was deactivated and cannot accept a payment. |

Example: Active
    Enum: "Active", "Completed", "Expired", "Inactive"

  - `items.name` (string)
    Indicates the merchant-facing label for the payment link.

Example: Spring campaign
    Example: Spring campaign

  - `items.description` (string)
    Indicates the merchant-internal notes for the payment link.

This value is never shown to customers.

Example: Shared with returning customers only
    Example: Shared with returning customers only

  - `items.shortUrl` (string)
    Indicates the customer-facing shortened URL of the payment link.

Example: https://pay.example.com/l/abc123
    Example: https://pay.example.com/l/abc123

  - `items.customerId` (string)
    Indicates the customer the link is issued for.

If omitted or null, this value is for an anonymous link.

Example: a3b37f26-3b4c-4d5e-6f7a-8b9c0d1e2f58
    Example: a3b37f26-3b4c-4d5e-6f7a-8b9c0d1e2f58

  - `items.customerFirstName` (string)
    Indicates the first name of the attached customer, when any.

Example: Alexandro
    Example: Alexandro

  - `items.customerLastName` (string)
    Indicates the last name of the attached customer, when any.

Example: Peppared
    Example: Peppared

  - `items.referenceId` (string)
    Indicates the reference identifier provided by the merchant.

Example: ORDER-1042
    Example: ORDER-1042

  - `items.expiresOn` (string)
    Indicates the UTC expiration date-time (in an ISO 8601 UTC date-time format).
This value is `null` when the link never expires.
Example: 2026-09-15T00:00:00.000Z
    Example: 2026-09-15T00:00:00.000Z

  - `items.paymentCount` (integer)
    Indicates the number of successful payments received.

Example: 3
    Example: 3

  - `items.totalCollectedAmount` (number)
    Indicates the sum of all successful payment amounts (in USD).

Example: 75
    Example: 75

  - `items.createdOn` (string)
    Indicates the date-time (in an ISO 8601 UTC date-time format) the payment link was created on.

Example: 2026-01-15T10:30:56.264Z
    Example: 2026-01-15T10:30:56.264Z

  - `items.lastPaymentOn` (string)
    Indicates the date-time (in an ISO 8601 UTC date-time format) of the newest successful payment.
This value is `null` when no payments exist.
Example: 2026-03-10T18:42:11.264Z
    Example: 2026-03-10T18:42:11.264Z

  - `items.modifiedOn` (string)
    Indicates the date-time (in an ISO 8601 UTC date-time format) the payment link was last modified on.

Example: 2026-07-07T14:09:31.264Z
    Example: 2026-07-07T14:09:31.264Z

  - `pageInfo` (object)
    Indicates an object describing the pagination status.
If additional pages to review are needed, repeat the exact same search but include a new pageIndex value.
Typically, this will increment the current `pageIndex` by one.
However, any valid value may be used.
Value restrictions include:
* A value less than zero is not permitted.
* Values equal to or greater than `totalPages` end successfully but will not return any items.

  - `pageInfo.pageIndex` (integer)
    xxx Indicates the page number from the search results.
The pageIndex value is zero-based.
Valid values range from zero to `totalPages` less one.
For example, if `totalPages` = 10, then the valid range is zero to nine.
Example: 0
    Example: 0

  - `pageInfo.pageSize` (integer)
    Indicates the number of items returned per page.

Example: 20
    Example: 20

  - `pageInfo.totalItems` (integer)
    Indicates the total number of items across all pages.

Example: 1012
    Example: 1012

  - `pageInfo.totalPages` (integer)
    Indicates the total number of pages available.

Example: 51
    Example: 51

  - `pageInfo.hasMore` (boolean)
    Indicates additional pages are available after the current one.
If `true`, additional pages are available after the current one.
If `false`, additional pages are not available after the current one.
Example: true
    Example: true

## Response 400 fields (application/json):

  - `details` (string)
    Indicates details about the error.

Example: Validation failed: -- Email: 'Email' is not a valid email address. Severity: Error
    Example: Validation failed: -- Email: 'Email' is not a valid email address. Severity: Error

  - `statusCode` (integer)
    Specifies the HTTP response status code.
This is the HTTP status code returned by the attempted delivery.
The following is a list of HTTP response status codes that include but are not limited to:
| HTTP Status | Meaning |
|  --- | --- |
| 200 | Delivery succeeded |
| 400 | Bad request |
| 401 | Unauthorized |
| 404 | Endpoint not found |
| 429 | Rate limited |

Example: 401
    Example: 401

  - `source` (string)
    Indicates the source of the error.
Example: <Service>
    Example: <Service>

  - `exceptionType` (string)
    Indicates the error's exception type.

Example: FluentValidation.ValidationException
    Example: FluentValidation.ValidationException

  - `correlationId` (string)
    Indicates the correlation identifier.

Example: aa6cfcd0-0295-4a4c-b074-8c901f114fef
    Example: aa6cfcd0-0295-4a4c-b074-8c901f114fef

  - `entityId` (string)
    Indicates the entity identifier.
Example:
null

  - `errorCode` (string)
    Indicates the error code.
Example:
null

  - `title` (string)

  - `cause` (string)

  - `resolution` (string)

  - `documentationUrl` (string)
    https://developer.flute.com/

## Response 401 fields (application/json):

  - `details` (string)
    Indicates details about the error.

Example: Validation failed: -- Email: 'Email' is not a valid email address. Severity: Error
    Example: Validation failed: -- Email: 'Email' is not a valid email address. Severity: Error

  - `statusCode` (integer)
    Specifies the HTTP response status code.
This is the HTTP status code returned by the attempted delivery.
The following is a list of HTTP response status codes that include but are not limited to:
| HTTP Status | Meaning |
|  --- | --- |
| 200 | Delivery succeeded |
| 400 | Bad request |
| 401 | Unauthorized |
| 404 | Endpoint not found |
| 429 | Rate limited |

Example: 401
    Example: 401

  - `source` (string)
    Indicates the source of the error.
Example: <Service>
    Example: <Service>

  - `exceptionType` (string)
    Indicates the error's exception type.

Example: FluentValidation.ValidationException
    Example: FluentValidation.ValidationException

  - `correlationId` (string)
    Indicates the correlation identifier.

Example: aa6cfcd0-0295-4a4c-b074-8c901f114fef
    Example: aa6cfcd0-0295-4a4c-b074-8c901f114fef

  - `entityId` (string)
    Indicates the entity identifier.
Example:
null

  - `errorCode` (string)
    Indicates the error code.
Example:
null

  - `title` (string)

  - `cause` (string)

  - `resolution` (string)

  - `documentationUrl` (string)
    https://developer.flute.com/

## Response 403 fields (application/json):

  - `details` (string)
    Indicates details about the error.

Example: Validation failed: -- Email: 'Email' is not a valid email address. Severity: Error
    Example: Validation failed: -- Email: 'Email' is not a valid email address. Severity: Error

  - `statusCode` (integer)
    Specifies the HTTP response status code.
This is the HTTP status code returned by the attempted delivery.
The following is a list of HTTP response status codes that include but are not limited to:
| HTTP Status | Meaning |
|  --- | --- |
| 200 | Delivery succeeded |
| 400 | Bad request |
| 401 | Unauthorized |
| 404 | Endpoint not found |
| 429 | Rate limited |

Example: 401
    Example: 401

  - `source` (string)
    Indicates the source of the error.
Example: <Service>
    Example: <Service>

  - `exceptionType` (string)
    Indicates the error's exception type.

Example: FluentValidation.ValidationException
    Example: FluentValidation.ValidationException

  - `correlationId` (string)
    Indicates the correlation identifier.

Example: aa6cfcd0-0295-4a4c-b074-8c901f114fef
    Example: aa6cfcd0-0295-4a4c-b074-8c901f114fef

  - `entityId` (string)
    Indicates the entity identifier.
Example:
null

  - `errorCode` (string)
    Indicates the error code.
Example:
null

  - `title` (string)

  - `cause` (string)

  - `resolution` (string)

  - `documentationUrl` (string)
    https://developer.flute.com/

## Response 429 fields (application/json):

  - `details` (string)
    Indicates details about the error.

Example: Validation failed: -- Email: 'Email' is not a valid email address. Severity: Error
    Example: Validation failed: -- Email: 'Email' is not a valid email address. Severity: Error

  - `statusCode` (integer)
    Specifies the HTTP response status code.
This is the HTTP status code returned by the attempted delivery.
The following is a list of HTTP response status codes that include but are not limited to:
| HTTP Status | Meaning |
|  --- | --- |
| 200 | Delivery succeeded |
| 400 | Bad request |
| 401 | Unauthorized |
| 404 | Endpoint not found |
| 429 | Rate limited |

Example: 401
    Example: 401

  - `source` (string)
    Indicates the source of the error.
Example: <Service>
    Example: <Service>

  - `exceptionType` (string)
    Indicates the error's exception type.

Example: FluentValidation.ValidationException
    Example: FluentValidation.ValidationException

  - `correlationId` (string)
    Indicates the correlation identifier.

Example: aa6cfcd0-0295-4a4c-b074-8c901f114fef
    Example: aa6cfcd0-0295-4a4c-b074-8c901f114fef

  - `entityId` (string)
    Indicates the entity identifier.
Example:
null

  - `errorCode` (string)
    Indicates the error code.
Example:
null

  - `title` (string)

  - `cause` (string)

  - `resolution` (string)

  - `documentationUrl` (string)
    https://developer.flute.com/

## Response 500 fields (application/json):

  - `details` (string)
    Indicates details about the error.

Example: Validation failed: -- Email: 'Email' is not a valid email address. Severity: Error
    Example: Validation failed: -- Email: 'Email' is not a valid email address. Severity: Error

  - `statusCode` (integer)
    Specifies the HTTP response status code.
This is the HTTP status code returned by the attempted delivery.
The following is a list of HTTP response status codes that include but are not limited to:
| HTTP Status | Meaning |
|  --- | --- |
| 200 | Delivery succeeded |
| 400 | Bad request |
| 401 | Unauthorized |
| 404 | Endpoint not found |
| 429 | Rate limited |

Example: 401
    Example: 401

  - `source` (string)
    Indicates the source of the error.
Example: <Service>
    Example: <Service>

  - `exceptionType` (string)
    Indicates the error's exception type.

Example: FluentValidation.ValidationException
    Example: FluentValidation.ValidationException

  - `correlationId` (string)
    Indicates the correlation identifier.

Example: aa6cfcd0-0295-4a4c-b074-8c901f114fef
    Example: aa6cfcd0-0295-4a4c-b074-8c901f114fef

  - `entityId` (string)
    Indicates the entity identifier.
Example:
null

  - `errorCode` (string)
    Indicates the error code.
Example:
null

  - `title` (string)

  - `cause` (string)

  - `resolution` (string)

  - `documentationUrl` (string)
    https://developer.flute.com/

