---
title: "3DS execution enrollment"
method: POST
path: "/merchants/{id}/3ds-execution"
tags: ["Merchants"]
---

# 3DS execution enrollment

`POST /merchants/{id}/3ds-execution`

Enroll a merchant in Forter's 3DS execution services on their future orders. 
The response will include a request ID that can be used to check on the status.

## Path parameters

- `id` string, required

## Headers

- `api-version` string, required
- `x-forter-siteid` string, required
- `Authorization` string, required

## Request body

- ThreeDsExecutionOnboardingRequest — Enroll a merchant in Forter's 3DS execution services on their future orders. The response will include a request ID that can be used to check on the status.
  - `offerings` ThreeDsOfferings, required
    - `jp_regulation` object, nullable — Represents the JP regulation offering configuration. Includes whether the feature is enabled and the acquirer settings.
      - `acquirer_settings` JpAcquireSetting[], nullable — Acquirer-specific settings for JP regulation. If not provided, the setting will be inherited from the parent site.
        - `acquirer` string, required — The name of the acquirer.
        - `force_3ds_on_guest_checkout` boolean, nullable — If true, forces 3DS on guest checkout flows. This will take effect only for scenario '3DS_NEW_CARD_S2'
        - `scenario` '3DS_HIGH_RISK_S1' | '3DS_NEW_CARD_S2' | '3DS_MANDATORY_S3', required — The scenario for the JP regulation offering
      - `enabled` boolean, required — Register for JP regulation.
    - `policy_3ds` boolean, required — Register 3DS for policy
    - `psd2` boolean, required — Register 3DS for PSD2 regulation
    - `risk_3ds` boolean, required — Register 3DS for risk
  - `threeDsConfiguration` ThreeDsConfiguration, required
    - `processors` Processor[], required
      - `id` string, required — Internal Forter ID for your Processor. Ask it from your Implementation Manager.
      - `mids` MerchantIdentifierFor3ds[], required — Mids - merchant identifiers for 3DS
        - `acquirerId` string, required — Internal Forter ID for your Acquirer. Ask it from your Implementation Manager.
        - `acquirerMerchantName` CardParameter[], required — Acquirer's merchant name for each card scheme
          - `cardScheme` 'MASTERCARD' | 'VISA' | 'AMEX' | 'MAESTRO' | 'DINERS' | 'DISCOVER' | 'JCB', required
          - `value` string, required
        - `acquirerMid` string, required — Acquirer Merchant Identifier (MID)
        - `merchantCategoryCode` string, required — The merchants category code (MCC)
        - `merchantEntityCountryNumericCode` string, required — Merchant entity country code
        - `requestorId` CardParameter[], required — Requestor ids by card schema
          - `cardScheme` 'MASTERCARD' | 'VISA' | 'AMEX' | 'MAESTRO' | 'DINERS' | 'DISCOVER' | 'JCB', required
          - `value` string, required
        - `requestorName` CardParameter[], required — Requestor ids by card schema
          - `cardScheme` 'MASTERCARD' | 'VISA' | 'AMEX' | 'MAESTRO' | 'DINERS' | 'DISCOVER' | 'JCB', required
          - `value` string, required
        - `requestorUrl` CardParameter[], required — Requestor urls per card scheme
          - `cardScheme` 'MASTERCARD' | 'VISA' | 'AMEX' | 'MAESTRO' | 'DINERS' | 'DISCOVER' | 'JCB', required
          - `value` string, required
        - `supportedCurrencies` string[], nullable — Supported currency codes
        - `supportedSchemes` string[], nullable — Supported card schemes
        - `supportedStates` string[], nullable — Supported states

## Response `200`

Example threeDsExecutionOnboardingRequestAccepted

- ThreeDsExecutionOnboardingRequestAccepted — Response structure for merchant onboarding requests
  - `requestId` string, required
  - `status` string, required

## Other responses

- `400` — Bad Request (Often missing a required parameter)
- `401` — Unauthorized (No valid API key provided)
- `404` — Not Found (The requested item doesn't exist)
- `429` — Too Many Requests (The client exceeded a rate limit). Honor Retry-After before retrying.
- `500` — Server Error (Something went wrong on Forter's end)
- `default` — Typed error envelope for any undeclared 4xx / 5xx status.

---

[API](https://skmtc.net/forter/apis/forter-api.md) · [All operations](https://skmtc.net/forter/apis/forter-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/forter/forter-api/revisions/d7b02e919b34/schema)
