Generate signature request link for merchant processing agreement

Recent Requests
Log in to see full request history
TimeStatusUser Agent
Retrieving recent requests…
LoadingLoading…

Generate MPA Signature Request

Creates a signature request link that allows a merchant to digitally sign their Merchant Processing Agreement (MPA). The response contains a URL that can be embedded in an email or displayed in a portal UI for the merchant to complete the signing flow. Optionally, a CMS form or Rolling Reserve addendum can be included in the signing package.

Endpoint

POST /api/v1/merchant/requestSignature

Authentication

Basic HTTP Authentication required.
Encode username:password in Base64 and pass in the Authorization header:

Authorization: Basic {base64(username:password)}

When to use

Call this endpoint after the merchant application has been approved and all required documents have been uploaded. The generated URL is sent to the merchant so they can review and digitally sign the MPA before the account is activated. If the merchant's agreement includes a CMS subscription or a rolling reserve requirement, include those nested objects in the request body.

Request Body

FieldTypeRequiredDescription
idinteger (int32)YesMerchant profile ID for which to generate the signature link.
returnUrlstringYesURL the merchant is redirected to after completing or declining the signature.
cmsobjectNoCMS addendum form details to include in the signing package.
cms.addFormbooleanNoWhether to attach the CMS form to the MPA.
cms.oneTimeSetupFeenumber (double)NoOne-time setup fee amount for CMS.
cms.cmsMonthlyFeenumber (double)NoMonthly CMS fee amount.
rollingReserveobjectNoRolling reserve addendum details.
rollingReserve.addFormbooleanNoWhether to attach the rolling reserve form.
rollingReserve.withholdingnumber (double)NoWithholding percentage for the rolling reserve.
{
  "id": 10482,
  "returnUrl": "https://portal.myiso.com/merchant/signing-complete?mid=10482",
  "cms": {
    "addForm": true,
    "oneTimeSetupFee": 99.00,
    "cmsMonthlyFee": 29.95
  },
  "rollingReserve": {
    "addForm": false,
    "withholding": 0
  }
}

Response

200 OK

FieldTypeDescription
dataobjectContains the generated signature URL.
data.urlstringThe unique URL where the merchant can review and sign the MPA.
statusstringHTTP status name (e.g., "OK").
errorstringError message if the request failed; otherwise null.
warningstringNon-fatal warning message, if any.
validationResultsarrayValidation errors, if any.
requestIdintegerInternal request tracking ID.
{
  "data": {
    "url": "https://sign.netevia.com/mpa/session/a3f9c2d1-7b4e-4a12-91cc-58d3eefa02b7"
  },
  "status": "OK",
  "error": null,
  "warning": null,
  "validationResults": [],
  "requestId": 91043
}

Error Codes

CodeWhen it happens
400id or returnUrl is missing or invalid.
401Invalid or missing Basic Auth credentials.
403User does not have permission to generate a signature link for this merchant.
404No merchant application found with the given ID.
500Internal server error.

Common Mistakes

  • Not providing returnUrl — it is required and must be a valid URL; the merchant is sent here after signing.
  • Calling this endpoint before the MPA PDF has been generated (generateMPAPDF) may result in an error or an incomplete signing package.
  • The generated URL is session-based and may expire — do not cache it; generate a fresh link if needed.
  • Including cms.addForm: true without setting fee values may result in a $0 CMS addendum being sent.

Related Endpoints

  • GET /api/v1/merchant/signatureStatus — Check the current status of the signature request.
  • POST /api/v1/merchant/generateMPAPDF — Generate the MPA PDF before initiating signing.
  • GET /api/v1/merchant/status — Retrieve the current application status.

Example

curl -X POST https://hq.staging.netevia.dev/api/v1/merchant/requestSignature \
  -H "Authorization: Basic $(echo -n 'username:password' | base64)" \
  -H "Content-Type: application/json" \
  -d '{
    "id": 10482,
    "returnUrl": "https://portal.myiso.com/merchant/signing-complete?mid=10482",
    "cms": {
      "addForm": true,
      "oneTimeSetupFee": 99.00,
      "cmsMonthlyFee": 29.95
    },
    "rollingReserve": {
      "addForm": false,
      "withholding": 0
    }
  }'
Body Params
int32
required
string
required
cms
object
rollingReserve
object
Headers
string
enum
Defaults to application/json

Generated from available response content types

Allowed:
string
enum
Defaults to application/json

Generated from available request content types

Allowed:
Response

Language
Credentials
Basic
base64
:
LoadingLoading…
Response
Click Try It! to start a request and see the response here! Or choose an example:
application/json
text/json