---
title: "Submit a mandate import"
method: POST
path: "/mandate_imports/{mandate_import_id}/actions/submit"
tags: ["Mandate Import"]
---

# Submit a mandate import

`POST /mandate_imports/{mandate_import_id}/actions/submit`

## Request

- Base URL: `https://api.gocardless.com`
- URL: `https://api.gocardless.com/mandate_imports/{mandate_import_id}/actions/submit`
- Auth: HTTP bearer

Submits the mandate import, which allows it to be processed by a member of the
GoCardless team. Once the import has been submitted, it can no longer have entries
added to it.

In our sandbox environment, to aid development, we automatically process mandate
imports approximately 10 seconds after they are submitted. This will allow you to
test both the "submitted" response and wait for the webhook to confirm the
processing has begun.

## Path parameters

- `mandate_import_id` string, required

## Headers

- `GoCardless-Version` string, required

## Request body

- object
  - `mandate_imports` object

## Response `200`

Action completed successfully

- MandateImportSingleResourceResponse
  - `mandate_imports` MandateImport: Mandate Imports allow you to migrate existing mandates from other providers into the GoCardless platform. The process is as follows: 1. [Create a mandate import](https://docs.gocardless.com/docs/api-reference/mandate-import#create-a-new-mandate-import) 2. [Add entries](https://docs.gocardless.com/docs/api-reference/mandate-import-entry#add-a-mandate-import-entry) to the import 3. [Submit](https://docs.gocardless.com/docs/api-reference/mandate-import#submit-a-mandate-import) the import 4. Wait until a member of the GoCardless team approves the import, at which point the mandates will be created 5. [Link up the mandates](https://docs.gocardless.com/docs/api-reference/mandate-import-entry#list-all-mandate-import-entries) in your system When you add entries to your mandate import, they are not turned into actual mandates until the mandate import is submitted by you via the API, and then processed by a member of the GoCardless team. When that happens, a mandate will be created for each entry in the import. We will issue a `mandate_created` webhook for each entry, which will be the same as the webhooks triggered when [ creating a mandate ](https://docs.gocardless.com/docs/api-reference/mandate#create-a-mandate) using the mandates API. Once these webhooks start arriving, any reconciliation can now be accomplished by [checking the current status](https://docs.gocardless.com/docs/api-reference/mandate-import#get-a-mandate-import) of the mandate import and [linking up the mandates to your system](https://docs.gocardless.com/docs/api-reference/mandate-import-entry#list-all-mandate-import-entries). <p class="notice">Note that all Mandate Imports have an upper limit of 30,000 entries, so we recommend you split your import into several smaller imports if you're planning to exceed this threshold.</p> <p class="restricted-notice"><strong>Restricted</strong>: This API is currently only available for approved integrators - please <a href="mailto:help@gocardless.com">get in touch</a> if you would like to use this API.</p>
    - `id` string, required: Unique identifier, beginning with "IM".
    - `created_at` string, date-time, required: Fixed [timestamp](https://docs.gocardless.com/docs/api-reference/data-conventions#dates-and-times), recording when this resource was created.
    - `status` 'created' | 'submitted' | 'cancelled' | 'processing' | 'processed', required: The status of the mandate import. - `created`: A new mandate import. - `submitted`: After the integrator has finished adding mandates and [submitted](https://docs.gocardless.com/docs/api-reference/mandate-import#submit-a-mandate-import) the import. - `cancelled`: If the integrator [cancelled](https://docs.gocardless.com/docs/api-reference/mandate-import#cancel-a-mandate-import) the mandate import. - `processing`: Once a mandate import has been approved by a GoCardless team member it will be in this state while mandates are imported. - `processed`: When all mandates have been imported successfully.
    - `scheme` 'ach' | 'autogiro' | 'bacs' | 'becs' | 'becs_nz' | 'betalingsservice' | 'faster_payments' | 'pad' | 'pay_to' | 'sepa_core', required: The scheme of the mandates to be imported.<br>All mandates in a single mandate import must be for the same scheme.
    - `links` MandateImportLinks, required: Related resources
      - `creditor` string: ID of the associated creditor.

## Other responses

- `400`: Bad Request
- `401`: Unauthorised
- `404`: Not found
- `422`: Validation Error
- `500`: Internal Error

---

[API](https://skmtc.dev/gocardless/apis/gocardless-api.md) - [All operations](https://skmtc.dev/gocardless/apis/gocardless-api/llms.txt) - [OpenAPI document](https://skmtc.dev/gocardless/apis/gocardless-api/revisions/4dd3dae45364?raw)
