> ## Documentation Index
> Fetch the complete documentation index at: https://docs.recital.finance/llms.txt
> Use this file to discover all available pages before exploring further.

# Create Mandate

> Initiate direct debit mandate and get a hosted authorization link.

#### Authorization

<ParamField header="Authorization" type="string" required="true">
  API Key
</ParamField>

<ParamField body="email" type="string" required="true">
  Customer's email address.
</ParamField>

<ParamField body="callbackUrl" type="string" required="true">
  Customer will be sent to that page after giving consent.
</ParamField>

<ParamField body="connectId" type="string" required="true">
  The connect Id allowed to interact with this wallet. This can be gotten from the response on listing your [`providers.`](/api-reference/list-providers).
</ParamField>

<ParamField body="accountWalletId" type="string" required="true">
  Customer's subaccount wallet id.
</ParamField>

<RequestExample>
  ```bash Example Request theme={null}
  curl --location --request POST 'https://api.recital.finance/api/v1/direct-debit/subaccount/consent' \
  --header 'Content-Type: application/json' \
  --header 'Authorization: Bearer <api-key>' \
  --data-raw '{
      "email":"e@x.com",
      "callbackUrl": "http://google.com",
      "connectId":"CON-R01D31Z5JIXB4G5W25L8YYYYIG",
      "accountWalletId": "842d6cae-87db-44a7-9a20-4f719acd9a7"
  }'
  ```
</RequestExample>

<ResponseExample>
  ```json Success Response theme={null}
  {
    "success": true,
    "message": "Authorization initialized",
    "data": {
        "redirectUrl": "https://link.paystack.com/8h7f2dfdd4t8tn8d",
        "2faEnable": false
    }
  }
  ```

  ```json Error Response theme={null}
  {
    "message": "Invalid account wallet id",
    "success": false
  }
  ```
</ResponseExample>

***

### Notes

* The returned `redirectUrl` is a hosted authorization page where the user can complete consent.
