# Lists the partner's merchants

GET {{baseURL}}/v2/partner/merchants
This endpoint lists the merchants managed by the partner account.
Each entry reports the merchant's status, MCC (merchant category code), main contact, API key count, and last-30-days transaction figures.
This endpoint supports free-text search across company name, contact first and last name, contact email, and merchant id with `search`, and filtering by `merchantStatus`, `mccCode`, and date ranges.
Date bounds are ISO 8601 date-times, both inclusive.
A value without an offset is read as UTC. A `…To` date alone covers that whole day (`createdTo=2026-03-10` includes all of March 10).
This endpoint requires a partner API token.
A merchant API token, even one belonging to a merchant managed by the partner account, is rejected with a 403 response.
A token that resolves to neither a merchant nor a partner also returns a 403 response.
The partner account must also have the `GeneralConfigurations` permission. Otherwise, the request returns a 403 response.
See Also:
To create an API key for one of these merchants, see POST /v2/partner/api-keys.
To list API keys across these merchants, see GET /v2/partner/api-keys.
To revoke an API key, see DELETE /v2/partner/api-keys/{{clientId}}.

  [ Request body ]
  [ Response body ]

Endpoint: GET /v2/partner/merchants
Version: V2
Security: Bearer

## Security:

  - `Bearer` (unknown)
    http bearer JWT

## 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.

* 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

  - `sortBy` (string)
    Specifies the field to sort by.
Valid values are:
| Value | Description |
|  --- | --- |
| contactFirstName | Sorts by the main contact's first name. |
| contactLastName | Sorts by the main contact's last name. |
| createdOn | Sorts by when the merchant was created. |
| lastTransactionOn | Sorts by the merchant's latest transaction. Merchants that never transacted sort as the oldest. |
| merchantCompanyName | Sorts by the merchant's company name. This is the default. |
| merchantStatus | Sorts by the status name. |
| transactionCount30Days | Sorts by the last-30-days transaction count. |
| transactionVolume30Days | Sorts by the last-30-days transaction volume. |

Example: merchantCompanyName

  - `sortOrder` (string)
    Specifies the sort order.
The sort order is specified by the `sortOrder` value.
The field that gets sorted by is specified by the `sortBy` value.
Valid values are:
| Value | Description |
|  --- | --- |
| asc | Sorts results in ascending order, from the lowest value to the highest, or from the oldest timestamp to the most recent. |
| desc | Sorts results in descending order, from the highest value to the lowest, or from the most recent timestamp to the oldest. |

  - `search` (string)
    Specifies a free-text, case-insensitive filter.

This value matches the company name, the main contact's first and last name (also "first last"), the main contact's email, and the merchant id.

Example: Peppared Street Cafe

  - `merchantStatus` (string)
    Filters to merchants in this status.

Example: Active

  - `mccCode` (string)
    Filters to merchants with this MCC (merchant category code).

Example: 5411

  - `createdFrom` (string)
    Filters by the earliest inclusive created date (in an ISO 8601 date-time UTC format).
If only `createdFrom` is specified, the search returns all available items from the `createdFrom` value to the present.
The fields `createdFrom` and `createdTo` may be used together to create an inclusive range.
We recommend creating an inclusive range to avoid a potentially excessive number of returns.
Example: 2026-02-19T20:24:52.934Z

  - `createdTo` (string)
    Filters by the latest inclusive created date (in an ISO 8601 date-time UTC format).
If only `createdFrom` is specified, the search returns all available items from the `createdFrom` value to the present.
The fields `createdFrom` and `createdTo` may be used together to create an inclusive range.
We recommend creating an inclusive range to avoid a potentially excessive number of returns.
Example: 2026-03-06T14:24:52.934Z

  - `lastTransactionFrom` (string)
    Filters by the merchant's last transaction at or from this date (in an ISO 8601 date-time UTC format).
If only `lastTransactionFrom` is specified, the search returns all available items from the `lastTransactionFrom` value to the present.
The fields `lastTransactionFrom` and `lastTransactionTo` may be used together to create an inclusive range.
We recommend creating an inclusive range to avoid a potentially excessive number of returns.
Example: 2026-02-19T20:24:52.934Z

  - `lastTransactionTo` (string)
    Filters by the merchant's last transaction at or before this date (in an ISO 8601 date-time UTC format).
If only `lastTransactionTo` is specified, the search returns all available items from the `lastTransactionTo` value to the present.
The fields `lastTransactionFrom` and `lastTransactionTo` may be used together to create an inclusive range.
We recommend creating an inclusive range to avoid a potentially excessive number of returns.
Example: 2026-02-19T20:24:52.934Z

## Response 200:

  - `200` (unknown)
    OK

## Response 200 fields (application/json):

  - `items` (array)
    Indicates the merchants on the current page.

It is empty when the requested page is beyond the data, or no merchant matches the filters.

  - `items.merchantId` (string)
    Identifies the merchant.
This is the `merchantId` used to create an API key for the merchant with POST /v2/partner/api-keys.
Example: 3fa85f64-5717-4562-b3fc-2c963f66afa6
    Example: 3fa85f64-5717-4562-b3fc-2c963f66afa6

  - `items.merchantCompanyName` (string)
    Indicates the merchant's registered company name.

Example: Peppared Street Cafe
    Example: Peppared Street Cafe

  - `items.merchantStatus` (string)
    Indicates the status of the merchant.
Valid values are:
| Value | Description |
|  --- | --- |
| Active | The merchant is approved and can process transactions. |
| Closed | The merchant's account has been closed. |
| Suspended | The merchant's ability to process transactions has been paused. |

Example: Active
    Enum: "Active", "Closed", "Suspended"

  - `items.mccCode` (string)
    Indicates the merchant's MCC (merchant category code).

Example: 5411
    Example: 5411

  - `items.mccDescription` (string)
    Indicates the MCC (merchant category code) description.

Example: Grocery Stores and Supermarkets
    Example: Grocery Stores and Supermarkets

  - `items.contactFirstName` (string)
    Indicates the first name of the merchant's main contact.
This value is `null` when the merchant has no main contact set.
Example: Alexandro
    Example: Alexandro

  - `items.contactLastName` (string)
    Indicates the last name of the merchant's main contact.
This value is `null` when the merchant has no main contact set.
Example: Peppared
    Example: Peppared

  - `items.transactionCount30Days` (integer)
    Indicates the number of approved card sales and authorizations, ACH debits, and ACH refunds over the last 30 completed days in the merchant's time zone. Today is not included.

Sandbox transactions are included.
Declined attempts are not counted, and later voids, ACH returns, and chargebacks are not deducted.

Example: 142
    Example: 142

  - `items.transactionVolume30Days` (number)
    Indicates the approved sales, authorizations, and ACH debits, minus refunds, over the same 30 days, in the merchant's currency.

Later voids, ACH returns, and chargebacks are not deducted.

Example: 18500.00
    Example: 18500

  - `items.apiKeyCount` (integer)
    Indicates the number of API keys the merchant has.
Counted the same way as GET /v2/partner/api-keys lists them.
Example: 1
    Example: 1

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

Example: 2026-01-15T10:00:00.258Z
    Example: 2026-01-15T10:00:00.258Z

  - `items.lastTransactionOn` (string)
    Indicates date-time (in an ISO 8601 UTC date-time format) of the merchant's latest transaction that transferred money.
This value is `null` when the merchant has no such transaction.
Declined, voided, canceled attempts, and sandbox transactions, are not included as transactions here.
Example: 2026-06-24T19:27:05.021Z
    Example: 2026-06-24T19:27:05.021Z

  - `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)
    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:

  - `400` (unknown)
    Bad Request

## Response 400 fields (application/json):

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

Example: Unauthorized
    Example: Unauthorized

  - `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 Response | 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.

This is a unique identifier, a trace identifier, Flute attaches to a request/response pair so a single transaction can be traced end-to-end across systems and logs. 

Its intent is to support troubleshooting.
We recommend including this value when contacting support.

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

  - `entityId` (string)
    Indicates the entity identifier.
This is a field on Flute's standard error response object, alongside values such as `correlationId`, `errorCode`, or `statusCode`.
It's the identifier of the specific resource the failed request was about.
Error messages may specify "Entity with ID b31fbe9f-eebb-45ce-9cae-92265389f47f does not exist or has been deleted."
When a 404 (or similar entity-specific error, like a conflict) comes back,
check `entityId` to get the exact identifier of the record that couldn't be found or matched.
This is useful for confirming which resource reference was wrong, especially if the request touched multiple identifiers at once.
Example: null

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

  - `title` (string)
    Indicates a short, human-readable summary of the error category.

Example: Resource not found
    Example: Resource not found

  - `cause` (string)
    Indicates the reason the error occurred.

Example: The requested resource does not exist or has been deleted.
    Example: The requested resource does not exist or has been deleted.

  - `resolution` (string)
    Indicates the recommended action for resolving the error.

Example: Verify the resource ID is correct or retrieve a list of available resources.
    Example: Verify the resource ID is correct or retrieve a list of available resources.

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

## Response 401:

  - `401` (unknown)
    Unauthorized

## Response 401 fields (application/json):

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

Example: Unauthorized
    Example: Unauthorized

  - `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 Response | 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.

This is a unique identifier, a trace identifier, Flute attaches to a request/response pair so a single transaction can be traced end-to-end across systems and logs. 

Its intent is to support troubleshooting.
We recommend including this value when contacting support.

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

  - `entityId` (string)
    Indicates the entity identifier.
This is a field on Flute's standard error response object, alongside values such as `correlationId`, `errorCode`, or `statusCode`.
It's the identifier of the specific resource the failed request was about.
Error messages may specify "Entity with ID b31fbe9f-eebb-45ce-9cae-92265389f47f does not exist or has been deleted."
When a 404 (or similar entity-specific error, like a conflict) comes back,
check `entityId` to get the exact identifier of the record that couldn't be found or matched.
This is useful for confirming which resource reference was wrong, especially if the request touched multiple identifiers at once.
Example: null

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

  - `title` (string)
    Indicates a short, human-readable summary of the error category.

Example: Resource not found
    Example: Resource not found

  - `cause` (string)
    Indicates the reason the error occurred.

Example: The requested resource does not exist or has been deleted.
    Example: The requested resource does not exist or has been deleted.

  - `resolution` (string)
    Indicates the recommended action for resolving the error.

Example: Verify the resource ID is correct or retrieve a list of available resources.
    Example: Verify the resource ID is correct or retrieve a list of available resources.

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

## Response 403:

  - `403` (unknown)
    Forbidden

## 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/

  - `errors` (object)

## Response 404:

  - `404` (unknown)
    Not Found

## Response 404 fields (application/json):

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

Example: Unauthorized
    Example: Unauthorized

  - `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 Response | 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.

This is a unique identifier, a trace identifier, Flute attaches to a request/response pair so a single transaction can be traced end-to-end across systems and logs. 

Its intent is to support troubleshooting.
We recommend including this value when contacting support.

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

  - `entityId` (string)
    Indicates the entity identifier.
This is a field on Flute's standard error response object, alongside values such as `correlationId`, `errorCode`, or `statusCode`.
It's the identifier of the specific resource the failed request was about.
Error messages may specify "Entity with ID b31fbe9f-eebb-45ce-9cae-92265389f47f does not exist or has been deleted."
When a 404 (or similar entity-specific error, like a conflict) comes back,
check `entityId` to get the exact identifier of the record that couldn't be found or matched.
This is useful for confirming which resource reference was wrong, especially if the request touched multiple identifiers at once.
Example: null

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

  - `title` (string)
    Indicates a short, human-readable summary of the error category.

Example: Resource not found
    Example: Resource not found

  - `cause` (string)
    Indicates the reason the error occurred.

Example: The requested resource does not exist or has been deleted.
    Example: The requested resource does not exist or has been deleted.

  - `resolution` (string)
    Indicates the recommended action for resolving the error.

Example: Verify the resource ID is correct or retrieve a list of available resources.
    Example: Verify the resource ID is correct or retrieve a list of available resources.

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

## Response 429:

  - `429` (unknown)
    Too Many Requests

## Response 429 fields (application/json):

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

Example: Unauthorized
    Example: Unauthorized

  - `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 Response | 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.

This is a unique identifier, a trace identifier, Flute attaches to a request/response pair so a single transaction can be traced end-to-end across systems and logs. 

Its intent is to support troubleshooting.
We recommend including this value when contacting support.

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

  - `entityId` (string)
    Indicates the entity identifier.
This is a field on Flute's standard error response object, alongside values such as `correlationId`, `errorCode`, or `statusCode`.
It's the identifier of the specific resource the failed request was about.
Error messages may specify "Entity with ID b31fbe9f-eebb-45ce-9cae-92265389f47f does not exist or has been deleted."
When a 404 (or similar entity-specific error, like a conflict) comes back,
check `entityId` to get the exact identifier of the record that couldn't be found or matched.
This is useful for confirming which resource reference was wrong, especially if the request touched multiple identifiers at once.
Example: null

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

  - `title` (string)
    Indicates a short, human-readable summary of the error category.

Example: Resource not found
    Example: Resource not found

  - `cause` (string)
    Indicates the reason the error occurred.

Example: The requested resource does not exist or has been deleted.
    Example: The requested resource does not exist or has been deleted.

  - `resolution` (string)
    Indicates the recommended action for resolving the error.

Example: Verify the resource ID is correct or retrieve a list of available resources.
    Example: Verify the resource ID is correct or retrieve a list of available resources.

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

## Response 500:

  - `500` (unknown)
    Internal Server Error

## Response 500 fields (application/json):

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

Example: Unauthorized
    Example: Unauthorized

  - `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 Response | 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.

This is a unique identifier, a trace identifier, Flute attaches to a request/response pair so a single transaction can be traced end-to-end across systems and logs. 

Its intent is to support troubleshooting.
We recommend including this value when contacting support.

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

  - `entityId` (string)
    Indicates the entity identifier.
This is a field on Flute's standard error response object, alongside values such as `correlationId`, `errorCode`, or `statusCode`.
It's the identifier of the specific resource the failed request was about.
Error messages may specify "Entity with ID b31fbe9f-eebb-45ce-9cae-92265389f47f does not exist or has been deleted."
When a 404 (or similar entity-specific error, like a conflict) comes back,
check `entityId` to get the exact identifier of the record that couldn't be found or matched.
This is useful for confirming which resource reference was wrong, especially if the request touched multiple identifiers at once.
Example: null

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

  - `title` (string)
    Indicates a short, human-readable summary of the error category.

Example: Resource not found
    Example: Resource not found

  - `cause` (string)
    Indicates the reason the error occurred.

Example: The requested resource does not exist or has been deleted.
    Example: The requested resource does not exist or has been deleted.

  - `resolution` (string)
    Indicates the recommended action for resolving the error.

Example: Verify the resource ID is correct or retrieve a list of available resources.
    Example: Verify the resource ID is correct or retrieve a list of available resources.

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

## Response 200 examples:

  - `Default search` (unknown)
    The first page of merchants, sorted by company name, with no filters applied.

  - `Merchant with no transactions yet` (unknown)
    A merchant that has not processed any transactions. lastTransactionOn is null.

  - `No merchants match the filters` (unknown)
    A search or filter combination that matches no merchant. items is empty.

