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

# Documents List

Returns the list of documents associated with a user.

# 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": "Documents",
      "description": "Operation for MPS' documents"
    },
    {
      "name": "Webhooks",
      "description": "Event notifications sent by MPS to subscribed platform URLs"
    }
  ],
  "paths": {
    "/platforms/{platformUUID}/users/{userUUID}/documents": {
      "get": {
        "tags": [
          "Documents"
        ],
        "operationId": "listUserDocuments",
        "summary": "Documents List",
        "description": "Returns the list of documents associated with a user.",
        "parameters": [
          {
            "$ref": "#/components/parameters/PlatformUUID"
          },
          {
            "$ref": "#/components/parameters/UserUUID"
          },
          {
            "name": "rule",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "enum": [
                "identity_proof",
                "registration_proof_of_the_legal_entity",
                "ubo_declarative_form",
                "status",
                "doc_public_association",
                "activity_proof",
                "ppe_declaration"
              ]
            },
            "description": "Specific type of document to retrieve, chose one if needed :"
          },
          {
            "name": "person_id",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "Unique identifier of the person to retrieve documents for"
          }
        ],
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "documents": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "uuid": {
                            "type": "string",
                            "format": "uuid",
                            "description": "Unique Identifier of the document"
                          },
                          "object": {
                            "type": "string",
                            "enum": [
                              "document"
                            ],
                            "description": "Object type"
                          },
                          "key": {
                            "type": "string",
                            "description": "Describes the type of document, most of the time one of:\n  - `identity_proof`\n  - `registration_proof_of_the_legal_entity`\n  - `ubo_declarative_form`\n"
                          },
                          "target_id": {
                            "type": "string",
                            "format": "uuid",
                            "description": "uuid of the person linked to the document"
                          },
                          "target_type": {
                            "type": "string",
                            "enum": [
                              "Persons::Natural",
                              "Persons::Legal"
                            ],
                            "description": "Type of the person linked to the document, go to the User Creation page for more informations"
                          },
                          "state": {
                            "type": "string",
                            "enum": [
                              "ongoing",
                              "successful",
                              "failed"
                            ],
                            "description": "Current state of the document validation"
                          },
                          "reject_reasons": {
                            "type": "array",
                            "description": "List of the reasons why the document has been rejected. Each item is one of:\n  - `COMPLIANCE_REASON`\n  - `DOCUMENT_HAS_EXPIRED`\n  - `DOCUMENT_NOT_ACCEPTED`\n  - `DOCUMENT_UNREADABLE`\n  - `DOCUMENT_INCOMPLETE`\n  - `DOCUMENT_DO_NOT_MATCH_USER_DATA`\n  - `UNDERAGE_PERSON`\n  - `SPECIFIC_CASE`\n  - `DOCUMENT_MISSING`\n",
                            "items": {
                              "type": "string",
                              "enum": [
                                "COMPLIANCE_REASON",
                                "DOCUMENT_HAS_EXPIRED",
                                "DOCUMENT_NOT_ACCEPTED",
                                "DOCUMENT_UNREADABLE",
                                "DOCUMENT_INCOMPLETE",
                                "DOCUMENT_DO_NOT_MATCH_USER_DATA",
                                "UNDERAGE_PERSON",
                                "SPECIFIC_CASE",
                                "DOCUMENT_MISSING"
                              ]
                            }
                          }
                        }
                      }
                    },
                    "metadata": {
                      "type": "object",
                      "properties": {
                        "current_page": {
                          "type": "integer",
                          "description": "number of the current page displayed"
                        },
                        "total_pages": {
                          "type": "integer",
                          "description": "total number of pages for the list"
                        },
                        "total_count": {
                          "type": "integer",
                          "description": "Number of documents in the list"
                        },
                        "per_page": {
                          "type": "integer",
                          "description": "Number of documents displayed by page"
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "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"
        }
      }
    },
    "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"
        ]
      }
    },
    "securitySchemes": {
      "bearerAuth": {
        "type": "http",
        "scheme": "bearer",
        "bearerFormat": "JWT",
        "description": "Use a JWT token in the format 'Bearer <token>' to authenticate."
      }
    }
  }
}
````