---
updatedAt: 2026-05-04T14:56:11.000Z
agentTools:
  projectIndex: https://mipisepaymentservices.readme.io/llms.txt
---

# External Account Update

Modifies the data of an external account.

# OpenAPI definition

````json
{
  "openapi": "3.1.0",
  "info": {
    "title": "API MPS",
    "description": "Description de l'API.",
    "version": "1.1.0"
  },
  "servers": [
    {
      "url": "https://sandbox.mipisepaymentservices.com/api",
      "description": "Serveur de tests"
    }
  ],
  "tags": [
    {
      "name": "External Accounts",
      "description": "Operation for users' external accounts"
    },
    {
      "name": "Webhooks",
      "description": "Event notifications sent by MPS to subscribed platform URLs"
    }
  ],
  "paths": {
    "/platforms/{platformUUID}/users/{userUUID}/external_accounts/{external_accountUUID}": {
      "post": {
        "tags": [
          "External Accounts"
        ],
        "operationId": "updateExternalAccount",
        "summary": "External Account Update",
        "description": "Modifies the data of an external account.",
        "parameters": [
          {
            "$ref": "#/components/parameters/PlatformUUID"
          },
          {
            "$ref": "#/components/parameters/UserUUID"
          },
          {
            "$ref": "#/components/parameters/ExternalAccountUUID"
          }
        ],
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "requestBody": {
          "description": "Add the fields you want to update.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ExternalAccountBody"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "message": {
                      "type": "string",
                      "description": "External account updated successfully"
                    }
                  }
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/RequestError"
          },
          "401": {
            "$ref": "#/components/responses/UnauthorizedError"
          },
          "404": {
            "$ref": "#/components/responses/NotFoundError"
          },
          "422": {
            "$ref": "#/components/responses/UnprocessableError"
          }
        }
      }
    }
  },
  "webhooks": {
    "eventNotification": {
      "post": {
        "tags": [
          "Webhooks"
        ],
        "operationId": "receiveEventNotification",
        "summary": "Event Notification",
        "description": "MPS sends an HTTP `POST` to the URL configured in your platform's events subscription\nwhenever a subscribed event occurs. The endpoint must respond with a `200` status code\nto acknowledge receipt; any other status causes the notification to be marked as failed.\n\n## Payload format\n\nThe payload format is determined by the `request_format` of the events subscription:\n  - `form_data` (default) — body is sent as `application/x-www-form-urlencoded`.\n  - `json` — body is sent as `application/json`.\n\n## Signature\n\nIf a signing secret has been generated for the platform, every notification includes an\n`X-Mps-Event-Signature` header containing an HMAC SHA-256 signature of the JSON\nserialization of the notification payload, computed using the platform's signing secret.\nThe header value is formatted as:\n\n```\nX-Mps-Event-Signature: sha256=<hex_digest>\n```\n\nImportant: regardless of the subscription's `request_format`, the signature is always\ncomputed over the JSON-encoded notification body (see `EventNotificationBody` below).\nWhen the subscription is configured as `form_data`, you must reconstruct the JSON\nrepresentation of the notification fields to verify the signature.\n\nTo verify a notification, recompute the HMAC SHA-256 of the JSON-encoded notification\nbody using your signing secret and compare the resulting hex digest to the value\nprovided after the `sha256=` prefix. Notifications received without this header (or\nwith a mismatching signature) should be rejected when a secret is configured.\n\nThe secret is generated, regenerated, or deleted from the platform's events\nsubscriptions page in the agent back office.\n",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/EventNotificationBody"
              }
            },
            "application/x-www-form-urlencoded": {
              "schema": {
                "$ref": "#/components/schemas/EventNotificationBody"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Notification successfully received and acknowledged."
          }
        }
      }
    }
  },
  "components": {
    "responses": {
      "RequestError": {
        "description": "Bad request",
        "content": {
          "application/json": {
            "schema": {
              "type": "object",
              "properties": {
                "error": {
                  "type": "string",
                  "description": "Error message"
                }
              }
            }
          }
        }
      },
      "UnauthorizedError": {
        "description": "Unauthorized",
        "content": {
          "application/json": {
            "schema": {
              "type": "object",
              "properties": {
                "error": {
                  "type": "string",
                  "description": "Error message"
                }
              }
            }
          }
        }
      },
      "NotFoundError": {
        "description": "Resource not found",
        "content": {
          "application/json": {
            "schema": {
              "type": "object",
              "properties": {
                "code": {
                  "type": "integer",
                  "description": "HTTP error code",
                  "examples": [
                    404
                  ]
                },
                "title": {
                  "type": "string",
                  "description": "Error title",
                  "examples": [
                    "Resource not found"
                  ]
                },
                "message": {
                  "type": "string",
                  "description": "Detailed error message",
                  "examples": [
                    "Sorry, we couldn't find the resource you're looking for."
                  ]
                }
              }
            }
          }
        }
      },
      "UnprocessableError": {
        "description": "Unprocessable Content",
        "content": {
          "application/json": {
            "schema": {
              "type": "object",
              "properties": {
                "errors": {
                  "type": "array",
                  "items": {
                    "type": "string",
                    "description": "error message"
                  }
                }
              }
            }
          }
        }
      }
    },
    "parameters": {
      "PlatformUUID": {
        "name": "platformUUID",
        "in": "path",
        "required": true,
        "description": "The unique identifier of the platform.",
        "schema": {
          "type": "string",
          "format": "uuid"
        }
      },
      "UserUUID": {
        "name": "userUUID",
        "in": "path",
        "required": true,
        "description": "The unique identifier of the user.",
        "schema": {
          "type": "string",
          "format": "uuid"
        }
      },
      "ExternalAccountUUID": {
        "name": "external_accountUUID",
        "in": "path",
        "required": true,
        "description": "The unique identifier of the external account.",
        "schema": {
          "type": "string",
          "format": "uuid"
        }
      }
    },
    "schemas": {
      "EventNotificationBody": {
        "type": "object",
        "description": "Payload sent by MPS when a subscribed event occurs.",
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid",
            "description": "Unique identifier of the notification."
          },
          "event_type": {
            "type": "string",
            "description": "The event being notified.",
            "enum": [
              "account_validated",
              "credit_card_payment_successful",
              "credit_card_payment_failed",
              "commission_failed",
              "commission_successful",
              "direct_debit_failed",
              "direct_debit_successful",
              "direct_debit_return_successful",
              "pay_in_successful",
              "pay_in_failed",
              "pay_out_created",
              "pay_out_failed",
              "pay_out_successful",
              "pay_out_validated",
              "mandate_approved",
              "mandate_canceled",
              "mandate_signed",
              "return_canceled",
              "return_created",
              "return_failed",
              "return_successful",
              "user_qualified",
              "user_validated",
              "user_dequalified",
              "kyc_validated",
              "kyc_rejected"
            ]
          },
          "platform_id": {
            "type": "string",
            "format": "uuid",
            "description": "Unique identifier of the platform that triggered the event."
          },
          "target_id": {
            "type": "string",
            "format": "uuid",
            "description": "Unique identifier of the resource related to the event."
          },
          "target_type": {
            "type": "string",
            "description": "Class name of the resource related to the event.",
            "examples": [
              "Financial::Request",
              "Users::User",
              "Documents::Document"
            ]
          }
        },
        "required": [
          "id",
          "event_type",
          "platform_id",
          "target_id",
          "target_type"
        ]
      },
      "AddressBody": {
        "type": "object",
        "properties": {
          "number": {
            "type": "string",
            "description": "Address street number",
            "examples": [
              "123"
            ]
          },
          "road_type": {
            "type": "string",
            "description": "Address road type",
            "examples": [
              "road",
              "street",
              "boulevard"
            ]
          },
          "road_name": {
            "type": "string",
            "description": "Address road name - Max 255 characters",
            "examples": [
              "Downing"
            ]
          },
          "address_line2": {
            "type": "string",
            "description": "Second line of the address (can be null) - Max 255 characters",
            "examples": [
              "Apt. 321"
            ]
          },
          "city": {
            "type": "string",
            "description": "City of the address - Max 255 characters",
            "examples": [
              "Paris"
            ]
          },
          "postal_code": {
            "type": "string",
            "description": "Postal code of the address - Max 255 characters",
            "examples": [
              "75001"
            ]
          },
          "region": {
            "type": "string",
            "description": "Region of the address - REQUIRED for USA, Canada, and Mexico - Max 255 characters",
            "examples": [
              "Ile-de-France"
            ]
          }
        },
        "required": [
          "number",
          "road_type",
          "road_name",
          "city",
          "postal_code"
        ]
      },
      "ExternalAccountBody": {
        "description": "Registered MPS external bank account object to fill in body parameters",
        "type": "object",
        "properties": {
          "owner_name": {
            "type": "string",
            "description": "Name of the account owner",
            "examples": [
              "John Doe"
            ]
          },
          "tag": {
            "type": "string",
            "description": "Internal documentation",
            "examples": [
              "Test Account"
            ]
          },
          "address": {
            "allOf": [
              {
                "$ref": "#/components/schemas/AddressBody"
              },
              {
                "type": "object",
                "properties": {
                  "country_id": {
                    "type": "integer",
                    "description": "Numeric identifier of the country - Internal identifier, will be modified to ISO 3166-1 alpha-2 code soon",
                    "examples": [
                      75
                    ]
                  }
                },
                "required": [
                  "country_id"
                ]
              }
            ]
          },
          "active": {
            "type": "boolean",
            "description": "Active status of the account",
            "examples": [
              true
            ]
          }
        }
      }
    },
    "securitySchemes": {
      "bearerAuth": {
        "type": "http",
        "scheme": "bearer",
        "bearerFormat": "JWT",
        "description": "Use a JWT token in the format 'Bearer <token>' to authenticate."
      }
    }
  }
}
````