# Update a payment

Update the details of a payment identified by the paymentId that is in the `PENDING_CONFIRMATION` state.
Required user role: `CREATOR`

Endpoint: PUT /v1/payment_runs/{payment_run_id}
Version: v1
Security: apiKey, authToken

## Security:

  - `apiKey` (unknown)
    apiKey in header api-key

  - `authToken` (unknown)
    http bearer JWT

## Path parameters:

  - `payment_run_id` (string, required)
    The unique identifier of the payment run.

## Request fields (application/json):

  - `payments` (array, required)

  - `payments.paymentId` (string, required)

  - `payments.supplier` (object, required)
    Represent the supplier bank account typically used in Outgoing Wire Transfer transactions.

  - `payments.supplier.name` (string, required)
    The supplier name. The allowed length and pattern is dependent on the `bankAccountDetails` type:
* with `SepaBankDetails`: >= `1` character and <= `150` characters
* with `FasterPaymentsBankDetails`: >= `1` character and <= `140` characters with a pattern of `^[a-zA-Z0-9\/\-?:().,’+\s#=!"%&*<>;{@\r\n]*$`
(please note that the `’` symbol is the unicode value U+2019 (right single quotation mark) and not the unicode value U+0027 (apostrophe))

  - `payments.supplier.address` (string)
    The supplier's address.

  - `payments.supplier.bankName` (string)
    The supplier's bank name.

  - `payments.supplier.bankAddress` (string)
    The supplier's bank address.

  - `payments.supplier.bankCountry` (string)
    The supplier's bank country in ISO 3166 alpha-2 format.

  - `payments.supplier.type` (string)
    The type of supplier account. Required only when FasterPaymentsBankDetails are specified.
    Enum: "PERSONAL", "BUSINESS"

  - `payments.supplier.bankAccountDetails` (any, required)
    Details of the supplier bank account, depending on the type of transfer chosen.

  - `payments.supplier.bankAccountDetails.accountNumber` (string, required)
    Account number, required for wire transfer over Faster Payments.

  - `payments.supplier.bankAccountDetails.sortCode` (string, required)
    Sort code, required for wire transfer over Faster Payments.

  - `payments.supplier.bankAccountDetails.secondaryReference` (string)
    Secondary reference data if applicable.

  - `payments.supplier.bankAccountDetails.iban` (string, required)
    International Bank Account Number, required for wire transfer over SEPA.

  - `payments.supplier.bankAccountDetails.bankIdentifierCode` (string)
    BIC, for wire transfer over SEPA.

## Response 204:

  - `204` (unknown)
    No Content

## Response 400:

  - `400` (unknown)
    Bad Request Error - Your request is invalid.

## Response 400 fields (application/json):

  - `message` (string)
    When present helps to identify and fix the problem.

  - `syntaxErrors` (object)
    Is returned as part of an HTTP error response whenever a syntax error is detected. A list of the fields together with their syntax error will be provided.

  - `syntaxErrors.invalidFields` (array)

  - `syntaxErrors.invalidFields.params` (array)

  - `syntaxErrors.invalidFields.fieldName` (string)

  - `syntaxErrors.invalidFields.error` (string)
    Enum: "REQUIRED", "HAS_TEXT", "REQUIRES", "SIZE", "RANGE", "IN", "NOT_IN", "REGEX", "EXACTLY", "AT_LEAST", "AT_MOST", "ALL_OR_NONE"

## Response 400 headers (application/json):

  - `request-ref` (string, required)
    A request identifier. Providing this reference when contacting our support team will help us investigate your query.

## Response 401:

  - `401` (unknown)
    Unauthorized - Your credentials or access token are invalid.

## Response 401 headers:

  - `request-ref` (string, required)
    A request identifier. Providing this reference when contacting our support team will help us investigate your query.

## Response 403:

  - `403` (unknown)
    Forbidden - Access to the requested resource or action is forbidden.

## Response 403 fields (application/json):

  - `errorCode` (string)
    Enum: "INSUFFICIENT_PERMISSIONS"

## Response 403 headers (application/json):

  - `request-ref` (string, required)
    A request identifier. Providing this reference when contacting our support team will help us investigate your query.

## Response 404:

  - `404` (unknown)
    Not found - The requested resource couldn't be found.

## Response 404 fields (application/json):

  - `code` (string)

  - `message` (string)

## Response 404 headers (application/json):

  - `request-ref` (string, required)
    A request identifier. Providing this reference when contacting our support team will help us investigate your query.

## Response 409:

  - `409` (unknown)
    Conflict

## Response 409 fields (application/json):

  - `errorCode` (string)
    Enum: "PAYMENT_RUN_INVALID_STATE", "PAYMENT_RUN_DUPLICATE_PAYMENT_ID", "INVALID_SUPPLIER_BANK_ACCOUNT_DETAILS", "MISSING_SUPPLIER_TYPE"

## Response 429:

  - `429` (unknown)
    Too many requests.

## Response 429 headers:

  - `request-ref` (string, required)
    A request identifier. Providing this reference when contacting our support team will help us investigate your query.

  - `x-ratelimit-limit` (string, required)
    Example: `20, 10;w=60, 20;w=3600, 200;w=86400`
The first number (20) is the limit that has been exceeded.
The remaining numbers are the limits that are in force, with 'w' meaning 'window in seconds'. In this example `20;w=3600` was exceeded. 20 calls in 3600secs (1hr)

  - `x-ratelimit-reset` (integer, required)
    The number of seconds until the window is reset.

## Response 500:

  - `500` (unknown)
    Internal Server Error - There is a problem with the server. Please try again later.

## Response 500 headers:

  - `request-ref` (string, required)
    A request identifier. Providing this reference when contacting our support team will help us investigate your query.

## Response 503:

  - `503` (unknown)
    Service Unavailable - We're temporarily offline for maintenance. Please try again later.

## Response 503 headers:

  - `request-ref` (string, required)
    A request identifier. Providing this reference when contacting our support team will help us investigate your query.

## Response default:

  - `default` (unknown)
    Error

## Response default fields (application/json):

  - `code` (string)

  - `message` (string)

