# Creates a card payment method

POST {{baseURL}}/v2/payment-methods/card
This endpoint creates a card (credit or debit) payment method.
The card information is tokenized and vaulted under the merchant.
This endpoint answers the full payment method.
Tokenization means the sensitive payment data, such as the raw card number, is submitted to Flute once.
After that, Flute assigns a non-sensitive value to `paymentMethodId`.
The `paymentMethodId` is then used as the payment reference for later transactions.
Pass `customerId` to link the payment method to a customer.
Omit it for a merchant-level orphan.
If the same customer already holds a card with the same number and expiration (for an orphan, if another of the merchant's orphans does), it is not vaulted twice.
The response is that existing record, including its `paymentMethodName`.
No new verification runs.
`cardholderFirstName`, `cardholderLastName`, and `billingAddress` feed AVS (address verification service) only.
A name given replaces the linked customer's name, each billing field given replaces that field of the linked customer's billing address, and none of it is stored.
A card the processor declines during verification is not vaulted.
The response is a 402 carrying the processor's decline code and message.
This endpoint requires a merchant API token.
A partner API token is rejected with a 403 response.
A merchant API token managed by a partner also requires that partner's account to have the `ManageCustomers` permission.
Otherwise, the request returns a 403 response.
See Also:
To add a new ACH (automated clearing house) payment method, see POST /v2/payment-methods/ach.
To list payment methods, see GET /v2/payment-methods.
To retrieve a payment method, see GET /v2/payment-methods/{{paymentMethodId}}.
To update a payment method, see PATCH /v2/payment-methods/{{paymentMethodId}}.

  [ Request body ]
  [ Response body ]

Endpoint: POST /v2/payment-methods/card
Version: V2
Security: Bearer

## Security:

  - `Bearer` (unknown)
    http bearer JWT

## Request fields (application/json):

  - `paymentMethodName` (string, required)
    Specifies the display label for the payment method.

This is a free-formed name that is convenient for the merchant to recognize.

Example: Personal Visa
    Example: Personal Visa

  - `cardNumber` (string, required)
    Specifies the credit or debit card number, known as the PAN (primary account number), 13 to 19 digits, to vault.

Example: 4111111111111111
    Example: 4111111111111111

  - `securityCode` (string, required)
    Specifies the security code, sometimes also called the CVV (card verification value), for the card.

This is a three or four digit security code on the credit card.

Example: 123
    Example: 123

  - `expirationMonth` (integer, required)
    Identifies the expiration month (in a two-digit number format) of the card.
Examples:
07
12
    Example: 12

  - `expirationYear` (integer, required)
    Identifies the expiration year (in a four-digit number) of the card.

Example: 2032
    Example: 2032

  - `customerId` (string)
    Identifies the customer to link this payment method to.
This value may be null when this payment method is an orphan owned by the merchant directly.
An orphan payment method is a payment method in the merchant's vault but has no customer record associated with it.
A list of customer identifiers can be retrieved with GET /v2/customers.
Example: 8fa8e727-73c6-436e-b56f-6f55aabf3b1c
    Example: 8fa8e727-73c6-436e-b56f-6f55aabf3b1c

  - `cardholderFirstName` (string)
    Specifies the cardholder's first name, used for AVS (address verification service).

This value replaces a linked customer's first name for this verification only. It is never stored.

Example: Alexandro
    Example: Alexandro

  - `cardholderLastName` (string)
    Specifies the cardholder's last name, used for AVS (address verification service).

This value replaces a linked customer's last name for this verification only. It is never stored.

Example: Peppared
    Example: Peppared

  - `billingAddress` (object)
    Specifies a billing address used for address verification (AVS).
Each field given replaces that field of a linked customer's billing address.
A street or postal code given with no linked customer builds an address that defaults `countryCode` to `US`.
This address is never stored.

  - `billingAddress.addressLine1` (string)
    Specifies the street address, line 1.

Example: 123 Main Street
    Example: 123 Main Street

  - `billingAddress.postalCode` (string)
    Specifies the postal or ZIP code, 5 to 12 characters.

Example: 10001
    Example: 10001

  - `billingAddress.countryCode` (string)
    Specifies the country code (in two letter ISO 3166-1 format).
Replaces the country of the linked customer's billing address, or of the address built from `addressLine1` or `postalCode`, which otherwise defaults to `US`.
Example: US
    Example: US

## Request examples:

  - `Linked to a customer` (unknown)
    A card linked to an existing customer, with AVS (address verification service) fields supplied.

  - `Merchant-level orphan` (unknown)
    A card with no linked customer. customerId is omitted.

## Response 200:

  - `200` (unknown)
    OK

## Response 200 fields (application/json):

  - `paymentMethodId` (string)
    Indicates the payment method identifier.

This is the identifier of a previously saved ACH (automated clearing house) account to charge.

Example: 39a95e35-6d50-45ec-884b-c2417edf005d
    Example: 39a95e35-6d50-45ec-884b-c2417edf005d

  - `paymentMethodType` (string)
    Identifies the payment method type.
Valid values are:
| Type | Description |
|  --- | --- |
| ACH | Payment made through an ACH (automated clearing house) bank transfer. |
| Card | Payment made with a credit or debit card. |
| Cash | Payment made with physical currency. |

Example: Card
    Enum: "ACH", "Card", "Cash"

  - `paymentMethodName` (string)
    Indicates the display label for the payment method.
This is a free-formed name that is convenient for the merchant to recognize.
`null` for a payment method saved through a checkout session, a payment link, or an invoice, which carry no label.
Example: Peppared Street Cafe's Preferred Payment
    Example: Peppared Street Cafe's Preferred Payment

  - `customerId` (string)
    Identifies the customer to link this payment method to.
This value may be null when this payment method is an orphan owned by the merchant directly.
An orphan payment method is a payment method in the merchant's vault but has no customer record associated with it.
A list of customer identifiers can be retrieved with GET /v2/customers.
Example: 8fa8e727-73c6-436e-b56f-6f55aabf3b1c
    Example: 8fa8e727-73c6-436e-b56f-6f55aabf3b1c

  - `isDefault` (boolean)
    Indicates this payment method is the default payment method for the linked customer.
This value is always `false` for an orphan payment method, which has no linked customer and so no concept of default.
If `true`, this is the default payment method.
If `false`, this is not the default payment method.
Example: true
    Example: true

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

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

  - `cardDetails` (object)
    Indicates the card details. This is populated when `paymentMethodType` is `Card`. It is `null` for ACH.

  - `cardDetails.maskedCardNumber` (string)
    Indicates the PAN (primary account number), with the first 6 and last 4 digits visible.
This value may be partially obscured as additional security.
This value can be safely displayed to clients without revealing the actual or full account number.
Example: 400112******1111
    Example: 400112******1111

  - `cardDetails.cardNumberLast4` (string)
    Indicates the last 4 digits of the card number.

Example: 1111
    Example: 1111

  - `cardDetails.expirationMonth` (integer)
    Identifies the expiration month (in a two-digit number format) of the card.
Examples:
07
12
    Example: 12

  - `cardDetails.expirationYear` (integer)
    Identifies the expiration year (in a four-digit number) of the card.

Example: 2032
    Example: 2032

  - `cardDetails.cardBrand` (string)
    Indicates the brand of the card.
This is the card network, not whether the card is credit or debit.
The credit or debit classification is specified with `creditDebitType`.
Valid values are:
| Type | Description |
|  --- | --- |
| AmericanExpress | Card issued by the American Express network. |
| DinersClub | Card issued by the Diners Club network. |
| Discover | Card issued by the Discover network. |
| JCB | Card issued by the Japan Credit Bureau network. |
| MasterCard | Card issued by the Mastercard network. |
| Unknown | The card brand could not be determined. |
| Visa | Card issued by the Visa network. |

Example: Visa
    Enum: "AmericanExpress", "DinersClub", "Discover", "JCB", "MasterCard", "Unknown", "Visa"

  - `cardDetails.cardType` (string)
    Indicates the card as either credit or debit.
Valid values are:
| Type | Description |
|  --- | --- |
| Credit | Card draws funds from a credit line. |
| Debit | Card draws funds from a bank account. |
| Unknown | Card funding type could not be determined. |

Example: Credit
    Enum: "Credit", "Debit", "Unknown"

  - `cardDetails.cardTokenType` (string)
    Indicates the type of the token.
Valid values are:
| Type | Meaning |
|  --- | --- |
| Local | Tokenized and stored within Flute's own vault |
| Network | Tokenized through a card network, such as Visa or Mastercard, using their network tokenization services |

Example: Local
    Enum: "Local", "Network"

  - `achDetails` (object)
    Indicates the ACH (automated clearing house) details. This is populated when `paymentMethodType` is `ACH`. It is `null` for a card.

  - `achDetails.maskedAccountNumber` (string)
    Indicates the bank account number for the ACH (automated clearing house) account.
This value may be partially obscured as additional security.
It can then be safely displayed to clients without revealing the actual or full account number.
Example: ****7890
    Example: ****7890

  - `achDetails.accountNumberLast2` (string)
    Indicates the last 2 digits of the bank account number.

Example: 90
    Example: 90

  - `achDetails.accountRoutingNumber` (string)
    Indicates the ACH (automated clearing house) account routing number.

Example: 021000021
    Example: 021000021

  - `achDetails.accountType` (string)
    Identifies the type of the account.
Valid values are:
| Type | Description |
|  --- | --- |
| Checking | Account used for regular daily transactions. |
| Savings | Account used to hold and grow funds over time. |

Example: Checking
    Enum: "Checking", "Savings"

  - `achDetails.accountHolderType` (string)
    Identifies the holder type of the account.
Valid values are:
| Type | Description |
|  --- | --- |
| Business | Card issued to a business or company account. |
| Personal | Card issued to an individual for personal use. |

Example: Business
    Enum: "Business", "Personal"

  - `achDetails.taxId` (string)
    Indicates the tax identifier. `null` if not set.
This value may be partially obscured as additional security.
This value can be safely displayed to clients without revealing the actual or full value.
Example: *****6789
    Example: *****6789

  - `achDetails.companyName` (string)
    Indicates the name of the customer's company or organization.
This is the ACH (automated clearing house) legal-entity name.
Set on Business orphan payment methods at create time so it is available at transaction time when `ContactInfo.CompanyName` is omitted on the request.
`null` for a customer-linked payment method, which uses the customer's own `companyName` instead.
Example: Peppared Street Cafe
    Example: Peppared Street Cafe

## 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 402:

  - `402` (unknown)
    Payment Required

## Response 402 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 409:

  - `409` (unknown)
    Conflict

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

