Skip to content

TENANT Portal - WEB Chain Endpoint Reference

Total endpoints: 164

Source fixtures: 202 JSON files from doc-verify/data/examples/tenant/

Accounts


GET /web/v1/tenant/accounts/admin/{userBizId}

Get accounts admin by userBizId.

Required Headers:

HeaderValueDescription
X-PORTAL-ACCESS-CODEpac_xxxPortal access code
AuthorizationBearerJWT token (if present in request)
X-Workspace-IdkPJodKdNLQ8VhUChWorkspace ID (if present in request)
X-Request-Ida16aa1bb-0cc8-485b-bdd6-ede25f2ab9afUnique request ID
X-Client-Hashdoc-verify-client-hashClient fingerprint
X-Forwarded-ProtohttpsProtocol
CF-Connecting-IP127.0.0.1Client IP
Cf-Raydoc-verify-1774885032248-DEVCloudflare ray ID
cf-ipcountryUSClient country
X-LOCALEenLocale
Content-Typeapplication/jsonContent type

Success Response: No successful fixture available in source data.

Error Response: (HTTP 404)

json
{
  "version": "2.0.0",
  "timestamp": 1774885032255,
  "success": false,
  "code": "RESOURCE.NOT_FOUND",
  "message": "Resource not found",
  "data": null
}

POST /web/v1/tenant/accounts/admin/init

Submit accounts admin init.

Required Headers:

HeaderValueDescription
X-PORTAL-ACCESS-CODEpac_xxxPortal access code
AuthorizationBearerJWT token (if present in request)
X-Workspace-IdkPJodKdNLQ8VhUChWorkspace ID (if present in request)
X-Request-Id14fe7715-bb28-46c4-afe9-68f7082511bdUnique request ID
X-Client-Hashdoc-verify-client-hashClient fingerprint
X-Forwarded-ProtohttpsProtocol
CF-Connecting-IP127.0.0.1Client IP
Cf-Raydoc-verify-1774885032263-DEVCloudflare ray ID
cf-ipcountryUSClient country
X-LOCALEenLocale
Content-Typeapplication/jsonContent type

Request Body:

json
{}

Success Response: No successful fixture available in source data.

Error Response: (HTTP 400)

json
{
  "version": "2.0.0",
  "timestamp": 1774885032269,
  "success": false,
  "code": "VALIDATION.INVALID_PARAMETER",
  "message": "Invalid request parameters",
  "data": null
}

POST /web/v1/tenant/accounts/admin/query

Query accounts admin.

Required Headers:

HeaderValueDescription
X-PORTAL-ACCESS-CODEpac_xxxPortal access code
X-Workspace-IdkPJodKdNLQ8VhUChWorkspace ID (if present in request)
X-Request-Id8a59cefd-6e3a-4a92-afb3-780fc3000ceeUnique request ID
X-Client-Hashdoc-verify-client-hashClient fingerprint
X-Forwarded-ProtohttpsProtocol
CF-Connecting-IP127.0.0.1Client IP
Cf-Raydoc-verify-1774885032235-DEVCloudflare ray ID
cf-ipcountryUSClient country
X-LOCALEenLocale
Content-Typeapplication/jsonContent type

Optional Headers:

HeaderValueDescription
AuthorizationBearerJWT token (if present in request)

Request Body:

json
{
  "page": 0,
  "size": 20
}

Success Response: (HTTP 200)

json
{
  "version": "2.0.0",
  "timestamp": 1774885032241,
  "success": true,
  "code": "2000",
  "message": "Success",
  "data": {
    "accounts": [
      {
        "bizId": "meuZdr3BabzLBa5i",
        "institutionBizId": "pekOCmPDkN18jQXf",
        "accountEmail": "dv-invite-1774885031749@slaunchx.test",
        "accountPhone": "",
        "accountName": "dv-invite-1774885031749",
        "accountRemark": null,
        "accountPortal": {
          "code": "TENANT",
          "value": 10010102,
          "label": "Tenant Portal",
          "description": "Tenant portal for business customers"
        },
        "accountStatus": {
          "code": "PENDING_INIT",
          "value": 10010207,
          "label": "enum.UserAccountStatus.PENDING_INIT"
        },
        "createdAt": "2026-03-30T15:37:11.759025Z",
        "updatedAt": "2026-03-30T15:37:11.759025Z",
        "defaultLanguage": null,
        "defaultTimezone": null,
        "defaultCountry": null
      },
      {
        "bizId": "hfTUpYqJXFFio7SZ",
        "institutionBizId": "pekOCmPDkN18jQXf",
        "accountEmail": "dv-invite-1774884853941@slaunchx.test",
        "accountPhone": "",
        "accountName": "dv-invite-1774884853941",
        "accountRemark": null,
        "accountPortal": {
          "code": "TENANT",
          "value": 10010102,
          "label": "Tenant Portal",
          "description": "Tenant portal for business customers"
        },
        "accountStatus": {
          "code": "PENDING_INIT",
          "value": 10010207,
          "label": "enum.UserAccountStatus.PENDING_INIT"
        },
        "createdAt": "2026-03-30T15:34:13.949983Z",
        "updatedAt": "2026-03-30T15:34:13.949983Z",
        "defaultLanguage": null,
        "defaultTimezone": null,
        "defaultCountry": null
      }
    ],
    "totalElements": 6,
    "totalPages": 1,
    "currentPage": 0,
    "pageSize": 20
  }
}

Error Response: (HTTP 401)

json
{
  "version": "2.0.0",
  "timestamp": 1774885032295,
  "success": false,
  "code": "ACCESS.TOKEN_MISSING",
  "message": "Authentication token is required",
  "data": null
}

POST /web/v1/tenant/accounts/admin/status

Submit accounts admin status.

Required Headers:

HeaderValueDescription
X-PORTAL-ACCESS-CODEpac_xxxPortal access code
AuthorizationBearerJWT token (if present in request)
X-Workspace-IdkPJodKdNLQ8VhUChWorkspace ID (if present in request)
X-Request-Id0c9845a2-8b86-433f-b54f-28106c270c77Unique request ID
X-Client-Hashdoc-verify-client-hashClient fingerprint
X-Forwarded-ProtohttpsProtocol
CF-Connecting-IP127.0.0.1Client IP
Cf-Raydoc-verify-1774885032277-DEVCloudflare ray ID
cf-ipcountryUSClient country
X-LOCALEenLocale
Content-Typeapplication/jsonContent type

Request Body:

json
{}

Success Response: No successful fixture available in source data.

Error Response: (HTTP 400)

json
{
  "version": "2.0.0",
  "timestamp": 1774885032283,
  "success": false,
  "code": "VALIDATION.INVALID_PARAMETER",
  "message": "Invalid request parameters",
  "data": null
}

POST /web/v1/tenant/accounts/admin/update

Update accounts admin.

Required Headers:

HeaderValueDescription
X-PORTAL-ACCESS-CODEpac_xxxPortal access code
AuthorizationBearerJWT token (if present in request)
X-Workspace-IdkPJodKdNLQ8VhUChWorkspace ID (if present in request)
X-Request-Id61d1a058-ca31-4265-8967-0daa30c16cdbUnique request ID
X-Client-Hashdoc-verify-client-hashClient fingerprint
X-Forwarded-ProtohttpsProtocol
CF-Connecting-IP127.0.0.1Client IP
Cf-Raydoc-verify-1774885032269-DEVCloudflare ray ID
cf-ipcountryUSClient country
X-LOCALEenLocale
Content-Typeapplication/jsonContent type

Request Body:

json
{
  "userBizId": "non-existent-user-id",
  "displayName": "Test"
}

Success Response: No successful fixture available in source data.

Error Response: (HTTP 400)

json
{
  "version": "2.0.0",
  "timestamp": 1774885032276,
  "success": false,
  "code": "VALIDATION.INVALID_PARAMETER",
  "message": "Invalid request parameters",
  "data": null
}

Auth


POST /web/v1/tenant/auth/login/initiate

Initiate auth login.

Required Headers:

HeaderValueDescription
X-PORTAL-ACCESS-CODEpac_xxxPortal access code
X-Request-Id2430f91d-375a-4f02-aa11-64227462462bUnique request ID
X-Client-Hashdoc-verify-client-hashClient fingerprint
X-Forwarded-ProtohttpsProtocol
CF-Connecting-IP127.0.0.1Client IP
Cf-Raydoc-verify-1774885048296-DEVCloudflare ray ID
cf-ipcountryUSClient country
X-LOCALEenLocale
Content-Typeapplication/jsonContent type

Request Body:

json
{
  "email": "tenant@slaunchx.test",
  "password": "DocVerify123!"
}

Success Response: (HTTP 200)

json
{
  "version": "2.0.0",
  "timestamp": 1774885048423,
  "success": true,
  "code": "2000",
  "message": "Success",
  "data": {
    "sessionId": "{sessionId}",
    "mfaMethods": [
      {
        "code": "EMAIL",
        "value": 10011001,
        "label": "Email",
        "description": "Email verification code"
      },
      {
        "code": "BACKUP_CODE",
        "value": 10011005,
        "label": "Backup Code",
        "description": "Recovery backup codes"
      }
    ],
    "expiresIn": 300,
    "accountStatus": null,
    "pendingApproval": false
  }
}

Error Response: (HTTP 401)

json
{
  "version": "2.0.0",
  "timestamp": 1774885048552,
  "success": false,
  "code": "AUTH.INVALID_CREDENTIALS",
  "message": "Invalid credentials",
  "data": null
}

POST /web/v1/tenant/auth/logout

Submit auth logout.

Required Headers:

HeaderValueDescription
X-PORTAL-ACCESS-CODEpac_xxxPortal access code
X-Request-Idf337c6a8-ad77-43e8-af43-fe47064a464dUnique request ID
X-Client-Hashdoc-verify-client-hashClient fingerprint
X-Forwarded-ProtohttpsProtocol
CF-Connecting-IP127.0.0.1Client IP
Cf-Raydoc-verify-1774885048708-DEVCloudflare ray ID
cf-ipcountryUSClient country
X-LOCALEenLocale
Content-Typeapplication/jsonContent type

Optional Headers:

HeaderValueDescription
AuthorizationBearerJWT token (if present in request)

Request Body:

json
null

Success Response: (HTTP 200)

json
{
  "version": "2.0.0",
  "timestamp": 1774885048712,
  "success": true,
  "code": "2000",
  "message": "Success",
  "data": {
    "success": true,
    "terminatedSessions": 1
  }
}

Error Response: (HTTP 401)

json
{
  "version": "2.0.0",
  "timestamp": 1774885048715,
  "success": false,
  "code": "ACCESS.TOKEN_MISSING",
  "message": "Authentication token is required",
  "data": null
}

POST /web/v1/tenant/auth/password/forgot

Request password reset auth password.

Required Headers:

HeaderValueDescription
X-PORTAL-ACCESS-CODEpac_xxxPortal access code
X-Request-Id7cd9379d-a931-4560-8c73-3ded95ac23a8Unique request ID
X-Client-Hashdoc-verify-client-hashClient fingerprint
X-Forwarded-ProtohttpsProtocol
CF-Connecting-IP127.0.0.1Client IP
Cf-Raydoc-verify-1774885048716-DEVCloudflare ray ID
cf-ipcountryUSClient country
X-LOCALEenLocale
Content-Typeapplication/jsonContent type

Request Body:

json
{
  "email": "tenant@slaunchx.test",
  "turnstileToken": "{token}"
}

Success Response: (HTTP 200)

json
{
  "version": "2.0.0",
  "timestamp": 1774885048726,
  "success": true,
  "code": "2000",
  "message": "Success",
  "data": {
    "success": true,
    "message": "如果邮箱存在, 将收到重置链接"
  }
}

Error Response: (HTTP 400)

json
{
  "version": "2.0.0",
  "timestamp": 1774885048733,
  "success": false,
  "code": "VALIDATION.INVALID_PARAMETER",
  "message": "Invalid request parameters",
  "data": null
}

POST /web/v1/tenant/auth/token/refresh

Refresh auth token.

Required Headers:

HeaderValueDescription
X-PORTAL-ACCESS-CODEpac_xxxPortal access code
X-Request-Id590767f3-391e-471a-9b1b-fbd883ae44afUnique request ID
X-Client-Hashdoc-verify-client-hashClient fingerprint
X-Forwarded-ProtohttpsProtocol
CF-Connecting-IP127.0.0.1Client IP
Cf-Raydoc-verify-1774885048553-DEVCloudflare ray ID
cf-ipcountryUSClient country
X-LOCALEenLocale
Content-Typeapplication/jsonContent type

Request Body:

json
{
  "refreshToken": "{token}"
}

Success Response: (HTTP 200)

json
{
  "version": "2.0.0",
  "timestamp": 1774885048557,
  "success": true,
  "code": "2000",
  "message": "Success",
  "data": {
    "accessToken": "{token}",
    "refreshToken": "{token}",
    "expiresIn": 3600
  }
}

Error Response: (HTTP 404)

json
{
  "version": "2.0.0",
  "timestamp": 1774885048561,
  "success": false,
  "code": "AUTH.SESSION_NOT_FOUND",
  "message": "Authentication session was not found",
  "data": null
}

Constants


GET /web/v1/tenant/constants/countries

Get constants countries.

Required Headers:

HeaderValueDescription
X-PORTAL-ACCESS-CODEpac_xxxPortal access code
X-Request-Id4a2a8230-0e03-4e73-9c43-f55da344b192Unique request ID
X-Client-Hashdoc-verify-client-hashClient fingerprint
X-Forwarded-ProtohttpsProtocol
CF-Connecting-IP127.0.0.1Client IP
Cf-Raydoc-verify-1774885054080-DEVCloudflare ray ID
cf-ipcountryUSClient country
X-LOCALEenLocale
Content-Typeapplication/jsonContent type

Success Response: (HTTP 200)

json
{
  "version": "2.0.0",
  "timestamp": 1774885054084,
  "success": true,
  "code": "2000",
  "message": "Success",
  "data": [
    {
      "code": "CN",
      "value": 95010301,
      "label": "China",
      "alpha2Code": "CN",
      "alpha3Code": "CHN",
      "numericCode": 156,
      "phoneCode": "86"
    },
    {
      "code": "JP",
      "value": 95010302,
      "label": "Japan",
      "alpha2Code": "JP",
      "alpha3Code": "JPN",
      "numericCode": 392,
      "phoneCode": "81"
    }
  ]
}

GET /web/v1/tenant/constants/timezones

Get constants timezones.

Required Headers:

HeaderValueDescription
X-PORTAL-ACCESS-CODEpac_xxxPortal access code
X-Request-Iddddb1bdc-554e-4845-9f8d-a204b7103945Unique request ID
X-Client-Hashdoc-verify-client-hashClient fingerprint
X-Forwarded-ProtohttpsProtocol
CF-Connecting-IP127.0.0.1Client IP
Cf-Raydoc-verify-1774885054075-DEVCloudflare ray ID
cf-ipcountryUSClient country
X-LOCALEenLocale
Content-Typeapplication/jsonContent type

Success Response: (HTTP 200)

json
{
  "version": "2.0.0",
  "timestamp": 1774885054080,
  "success": true,
  "code": "2000",
  "message": "Success",
  "data": [
    {
      "code": "UTC",
      "value": 95010101,
      "label": "Coordinated Universal Time",
      "zoneIdCode": "UTC",
      "utcOffset": "UTC+0"
    },
    {
      "code": "ASIA_SHANGHAI",
      "value": 95010102,
      "label": "China Standard Time",
      "zoneIdCode": "Asia/Shanghai",
      "utcOffset": "UTC+8"
    }
  ]
}

Exchange Config


GET /web/v1/tenant/exchange-config/exchange-fees

Get exchange config exchange fees.

Required Headers:

HeaderValueDescription
X-PORTAL-ACCESS-CODEpac_xxxPortal access code
AuthorizationBearerJWT token (if present in request)
X-Workspace-IdkPJodKdNLQ8VhUChWorkspace ID (if present in request)
X-Request-Id07487964-096b-4a4f-804a-8b1c9f4d1305Unique request ID
X-Client-Hashdoc-verify-client-hashClient fingerprint
X-Forwarded-ProtohttpsProtocol
CF-Connecting-IP127.0.0.1Client IP
Cf-Raydoc-verify-1774885032009-DEVCloudflare ray ID
cf-ipcountryUSClient country
X-LOCALEenLocale
Content-Typeapplication/jsonContent type

Success Response: (HTTP 200)

json
{
  "version": "2.0.0",
  "timestamp": 1774885032015,
  "success": true,
  "code": "2000",
  "message": "Success",
  "data": {
    "items": [],
    "pagination": {
      "totalPages": 0,
      "totalRecords": 0,
      "currentPage": 1,
      "pageSize": 0,
      "hasNext": false,
      "empty": true,
      "paginated": false
    }
  }
}

POST /web/v1/tenant/exchange-config/exchange-fees

Submit exchange config exchange fees.

Required Headers:

HeaderValueDescription
X-PORTAL-ACCESS-CODEpac_xxxPortal access code
AuthorizationBearerJWT token (if present in request)
X-Workspace-IdkPJodKdNLQ8VhUChWorkspace ID (if present in request)
X-Request-Idde531404-f9d1-4c02-8aa3-0ef5b90f3ebeUnique request ID
X-Client-Hashdoc-verify-client-hashClient fingerprint
X-Forwarded-ProtohttpsProtocol
CF-Connecting-IP127.0.0.1Client IP
Cf-Raydoc-verify-1774885032032-DEVCloudflare ray ID
cf-ipcountryUSClient country
X-LOCALEenLocale
Content-Typeapplication/jsonContent type

Request Body:

json
{
  "sourceCurrency": 10010101,
  "targetCurrency": 10010102,
  "userFeeModel": 1,
  "userFeeFixedAmount": 100,
  "userFeeRate": "0.01",
  "userFeeBandsConfig": null,
  "minAmount": 1000,
  "maxAmount": 100000000
}

Success Response: (HTTP 400)

json
{
  "version": "2.0.0",
  "timestamp": 1774885032039,
  "success": false,
  "code": "VALIDATION.INVALID_PARAMETER",
  "message": "Invalid request parameters",
  "data": null
}

POST /web/v1/tenant/exchange-config/exchange-fees/{bizId}/update

Update exchange config exchange fees by bizId.

Required Headers:

HeaderValueDescription
X-PORTAL-ACCESS-CODEpac_xxxPortal access code
AuthorizationBearerJWT token (if present in request)
X-Workspace-IdkPJodKdNLQ8VhUChWorkspace ID (if present in request)
X-Request-Idcdc2d16b-8db7-4403-be0e-6a3995e5fd9bUnique request ID
X-Client-Hashdoc-verify-client-hashClient fingerprint
X-Forwarded-ProtohttpsProtocol
CF-Connecting-IP127.0.0.1Client IP
Cf-Raydoc-verify-1774885032040-DEVCloudflare ray ID
cf-ipcountryUSClient country
X-LOCALEenLocale
Content-Typeapplication/jsonContent type

Request Body:

json
{
  "sourceCurrency": 10010101,
  "targetCurrency": 10010102,
  "userFeeModel": 1,
  "userFeeFixedAmount": 200,
  "userFeeRate": "0.02"
}

Success Response: No successful fixture available in source data.

Error Response: (HTTP 404)

json
{
  "version": "2.0.0",
  "timestamp": 1774885032049,
  "success": false,
  "code": "RESOURCE.NOT_FOUND",
  "message": "Resource not found",
  "data": null
}

GET /web/v1/tenant/exchange-config/exchange-rates

Get exchange config exchange rates.

Required Headers:

HeaderValueDescription
X-PORTAL-ACCESS-CODEpac_xxxPortal access code
X-Workspace-IdkPJodKdNLQ8VhUChWorkspace ID (if present in request)
X-Request-Id8a22ad51-363e-48da-92be-a1f7ece9a5afUnique request ID
X-Client-Hashdoc-verify-client-hashClient fingerprint
X-Forwarded-ProtohttpsProtocol
CF-Connecting-IP127.0.0.1Client IP
Cf-Raydoc-verify-1774885032002-DEVCloudflare ray ID
cf-ipcountryUSClient country
X-LOCALEenLocale
Content-Typeapplication/jsonContent type

Optional Headers:

HeaderValueDescription
AuthorizationBearerJWT token (if present in request)

Success Response: (HTTP 200)

json
{
  "version": "2.0.0",
  "timestamp": 1774885032008,
  "success": true,
  "code": "2000",
  "message": "Success",
  "data": {
    "items": [],
    "pagination": {
      "totalPages": 0,
      "totalRecords": 0,
      "currentPage": 1,
      "pageSize": 0,
      "hasNext": false,
      "empty": true,
      "paginated": false
    }
  }
}

Error Response: (HTTP 401)

json
{
  "version": "2.0.0",
  "timestamp": 1774885032068,
  "success": false,
  "code": "ACCESS.TOKEN_MISSING",
  "message": "Authentication token is required",
  "data": null
}

POST /web/v1/tenant/exchange-config/exchange-rates

Submit exchange config exchange rates.

Required Headers:

HeaderValueDescription
X-PORTAL-ACCESS-CODEpac_xxxPortal access code
AuthorizationBearerJWT token (if present in request)
X-Workspace-IdkPJodKdNLQ8VhUChWorkspace ID (if present in request)
X-Request-Idbf3a23ab-87b3-4d69-8f9b-7fec76d03f3eUnique request ID
X-Client-Hashdoc-verify-client-hashClient fingerprint
X-Forwarded-ProtohttpsProtocol
CF-Connecting-IP127.0.0.1Client IP
Cf-Raydoc-verify-1774885032015-DEVCloudflare ray ID
cf-ipcountryUSClient country
X-LOCALEenLocale
Content-Typeapplication/jsonContent type

Request Body:

json
{
  "sourceCurrency": 10010101,
  "targetCurrency": 10010102,
  "rateSource": 1,
  "fixedRate": "1.0",
  "externalProvider": null
}

Success Response: (HTTP 400)

json
{
  "version": "2.0.0",
  "timestamp": 1774885032022,
  "success": false,
  "code": "VALIDATION.INVALID_PARAMETER",
  "message": "Invalid request parameters",
  "data": null
}

Error Response: (HTTP 400)

json
{
  "version": "2.0.0",
  "timestamp": 1774885032056,
  "success": false,
  "code": "VALIDATION.INVALID_PARAMETER",
  "message": "Invalid request parameters",
  "data": null
}

POST /web/v1/tenant/exchange-config/exchange-rates/{bizId}/update

Update exchange config exchange rates by bizId.

Required Headers:

HeaderValueDescription
X-PORTAL-ACCESS-CODEpac_xxxPortal access code
AuthorizationBearerJWT token (if present in request)
X-Workspace-IdkPJodKdNLQ8VhUChWorkspace ID (if present in request)
X-Request-Id5c694759-ae4d-4eef-a436-e1823a1edbcfUnique request ID
X-Client-Hashdoc-verify-client-hashClient fingerprint
X-Forwarded-ProtohttpsProtocol
CF-Connecting-IP127.0.0.1Client IP
Cf-Raydoc-verify-1774885032023-DEVCloudflare ray ID
cf-ipcountryUSClient country
X-LOCALEenLocale
Content-Typeapplication/jsonContent type

Request Body:

json
{
  "sourceCurrency": 10010101,
  "targetCurrency": 10010102,
  "rateSource": 1,
  "fixedRate": "1.05"
}

Success Response: No successful fixture available in source data.

Error Response: (HTTP 404)

json
{
  "version": "2.0.0",
  "timestamp": 1774885032031,
  "success": false,
  "code": "RESOURCE.NOT_FOUND",
  "message": "Resource not found",
  "data": null
}

Exchanges


GET /web/v1/tenant/exchanges

Get exchanges.

Required Headers:

HeaderValueDescription
X-PORTAL-ACCESS-CODEpac_xxxPortal access code
X-Workspace-IdkPJodKdNLQ8VhUChWorkspace ID (if present in request)
X-Request-Id14fdcafc-0c79-4b5b-ad6c-01060c044f0cUnique request ID
X-Client-Hashdoc-verify-client-hashClient fingerprint
X-Forwarded-ProtohttpsProtocol
CF-Connecting-IP127.0.0.1Client IP
Cf-Raydoc-verify-1774885031975-DEVCloudflare ray ID
cf-ipcountryUSClient country
X-LOCALEenLocale
Content-Typeapplication/jsonContent type

Optional Headers:

HeaderValueDescription
AuthorizationBearerJWT token (if present in request)

Success Response: (HTTP 200)

json
{
  "version": "2.0.0",
  "timestamp": 1774885031982,
  "success": true,
  "code": "2000",
  "message": "Success",
  "data": {
    "items": [],
    "pagination": {
      "totalPages": 0,
      "totalRecords": 0,
      "currentPage": 1,
      "pageSize": 0,
      "hasNext": false,
      "empty": true,
      "paginated": false
    }
  }
}

Error Response: (HTTP 401)

json
{
  "version": "2.0.0",
  "timestamp": 1774885032001,
  "success": false,
  "code": "ACCESS.TOKEN_MISSING",
  "message": "Authentication token is required",
  "data": null
}

GET /web/v1/tenant/exchanges/{exchangeBizId}

Get exchanges by exchangeBizId.

Required Headers:

HeaderValueDescription
X-PORTAL-ACCESS-CODEpac_xxxPortal access code
AuthorizationBearerJWT token (if present in request)
X-Workspace-IdkPJodKdNLQ8VhUChWorkspace ID (if present in request)
X-Request-Id3048de4a-a653-48b5-b8d4-3028941d967eUnique request ID
X-Client-Hashdoc-verify-client-hashClient fingerprint
X-Forwarded-ProtohttpsProtocol
CF-Connecting-IP127.0.0.1Client IP
Cf-Raydoc-verify-1774885031990-DEVCloudflare ray ID
cf-ipcountryUSClient country
X-LOCALEenLocale
Content-Typeapplication/jsonContent type

Success Response: No successful fixture available in source data.

Error Response: (HTTP 404)

json
{
  "version": "2.0.0",
  "timestamp": 1774885031997,
  "success": false,
  "code": "RESOURCE.NOT_FOUND",
  "message": "Resource not found",
  "data": null
}

Exports


GET /web/v1/tenant/exports

Get exports.

Required Headers:

HeaderValueDescription
X-PORTAL-ACCESS-CODEpac_xxxPortal access code
X-Workspace-IdkPJodKdNLQ8VhUChWorkspace ID (if present in request)
X-Request-Id51dc6a83-a6a9-4bac-b22b-465b040988d4Unique request ID
X-Client-Hashdoc-verify-client-hashClient fingerprint
X-Forwarded-ProtohttpsProtocol
CF-Connecting-IP127.0.0.1Client IP
Cf-Raydoc-verify-1774885025863-DEVCloudflare ray ID
cf-ipcountryUSClient country
X-LOCALEenLocale
Content-Typeapplication/jsonContent type

Optional Headers:

HeaderValueDescription
AuthorizationBearerJWT token (if present in request)

Success Response: (HTTP 200)

json
{
  "version": "2.0.0",
  "timestamp": 1774885025869,
  "success": true,
  "code": "2000",
  "message": "Success",
  "data": {
    "items": [],
    "pagination": {
      "totalPages": 0,
      "totalRecords": 0,
      "currentPage": 1,
      "pageSize": 0,
      "hasNext": false,
      "empty": true,
      "paginated": false
    }
  }
}

Error Response: (HTTP 401)

json
{
  "version": "2.0.0",
  "timestamp": 1774885025928,
  "success": false,
  "code": "ACCESS.TOKEN_MISSING",
  "message": "Authentication token is required",
  "data": null
}

POST /web/v1/tenant/exports

Submit exports.

Required Headers:

HeaderValueDescription
X-PORTAL-ACCESS-CODEpac_xxxPortal access code
AuthorizationBearerJWT token (if present in request)
X-Workspace-IdkPJodKdNLQ8VhUChWorkspace ID (if present in request)
X-Request-Id29197fbd-4580-44a8-95a7-dec5be097491Unique request ID
X-Client-Hashdoc-verify-client-hashClient fingerprint
X-Forwarded-ProtohttpsProtocol
CF-Connecting-IP127.0.0.1Client IP
Cf-Raydoc-verify-1774885025875-DEVCloudflare ray ID
cf-ipcountryUSClient country
X-LOCALEenLocale
Content-Typeapplication/jsonContent type

Request Body:

json
{
  "exportType": "RECHARGE_ORDERS",
  "remark": "Doc verify E2E test export",
  "params": {}
}

Success Response: (HTTP 400)

json
{
  "version": "2.0.0",
  "timestamp": 1774885025881,
  "success": false,
  "code": "VALIDATION.INVALID_PARAMETER",
  "message": "Invalid request parameters",
  "data": null
}

Error Response: (HTTP 400)

json
{
  "version": "2.0.0",
  "timestamp": 1774885025912,
  "success": false,
  "code": "VALIDATION.INVALID_PARAMETER",
  "message": "Invalid request parameters",
  "data": null
}

GET /web/v1/tenant/exports/{exportBizId}

Get exports by exportBizId.

Required Headers:

HeaderValueDescription
X-PORTAL-ACCESS-CODEpac_xxxPortal access code
AuthorizationBearerJWT token (if present in request)
X-Workspace-IdkPJodKdNLQ8VhUChWorkspace ID (if present in request)
X-Request-Idb3026d8f-6d54-4ac9-938c-d4e94b594e13Unique request ID
X-Client-Hashdoc-verify-client-hashClient fingerprint
X-Forwarded-ProtohttpsProtocol
CF-Connecting-IP127.0.0.1Client IP
Cf-Raydoc-verify-1774885025891-DEVCloudflare ray ID
cf-ipcountryUSClient country
X-LOCALEenLocale
Content-Typeapplication/jsonContent type

Success Response: No successful fixture available in source data.

Error Response: (HTTP 404)

json
{
  "version": "2.0.0",
  "timestamp": 1774885025899,
  "success": false,
  "code": "RESOURCE.NOT_FOUND",
  "message": "Resource not found",
  "data": null
}

GET /web/v1/tenant/exports/{exportBizId}/download

Download exports by exportBizId.

Required Headers:

HeaderValueDescription
X-PORTAL-ACCESS-CODEpac_xxxPortal access code
AuthorizationBearerJWT token (if present in request)
X-Workspace-IdkPJodKdNLQ8VhUChWorkspace ID (if present in request)
X-Request-Id208b5f12-4c2b-49a2-b369-62b205b3abbfUnique request ID
X-Client-Hashdoc-verify-client-hashClient fingerprint
X-Forwarded-ProtohttpsProtocol
CF-Connecting-IP127.0.0.1Client IP
Cf-Raydoc-verify-1774885025899-DEVCloudflare ray ID
cf-ipcountryUSClient country
X-LOCALEenLocale
Content-Typeapplication/jsonContent type

Success Response: No successful fixture available in source data.

Error Response: (HTTP 404)

json
{
  "version": "2.0.0",
  "timestamp": 1774885025906,
  "success": false,
  "code": "RESOURCE.NOT_FOUND",
  "message": "Resource not found",
  "data": null
}

Files


GET /web/v1/tenant/files/{fileBizId}

Get files by fileBizId.

Required Headers:

HeaderValueDescription
X-PORTAL-ACCESS-CODEpac_xxxPortal access code
AuthorizationBearerJWT token (if present in request)
X-Workspace-IdkPJodKdNLQ8VhUChWorkspace ID (if present in request)
X-Request-Id93fdb7e9-7d2a-43de-8352-56e148be8380Unique request ID
X-Client-Hashdoc-verify-client-hashClient fingerprint
X-Forwarded-ProtohttpsProtocol
CF-Connecting-IP127.0.0.1Client IP
Cf-Raydoc-verify-1774885033670-DEVCloudflare ray ID
cf-ipcountryUSClient country
X-LOCALEenLocale
Content-Typeapplication/jsonContent type

Success Response: No successful fixture available in source data.

Error Response: (HTTP 404)

json
{
  "version": "2.0.0",
  "timestamp": 1774885033676,
  "success": false,
  "code": "FILE.NOT_FOUND",
  "message": "File was not found",
  "data": null
}

GET /web/v1/tenant/files/{fileBizId}/download

Download files by fileBizId.

Required Headers:

HeaderValueDescription
X-PORTAL-ACCESS-CODEpac_xxxPortal access code
AuthorizationBearerJWT token (if present in request)
X-Workspace-IdkPJodKdNLQ8VhUChWorkspace ID (if present in request)
X-Request-Idbf5d2744-a905-4441-9ae0-03a3e732f962Unique request ID
X-Client-Hashdoc-verify-client-hashClient fingerprint
X-Forwarded-ProtohttpsProtocol
CF-Connecting-IP127.0.0.1Client IP
Cf-Raydoc-verify-1774885033682-DEVCloudflare ray ID
cf-ipcountryUSClient country
X-LOCALEenLocale
Content-Typeapplication/jsonContent type

Success Response: No successful fixture available in source data.

Error Response: (HTTP 404)

json
{
  "version": "2.0.0",
  "timestamp": 1774885033689,
  "success": false,
  "code": "FILE.NOT_FOUND",
  "message": "File was not found",
  "data": null
}

GET /web/v1/tenant/files/{fileBizId}/download-url

Get download URL files by fileBizId.

Required Headers:

HeaderValueDescription
X-PORTAL-ACCESS-CODEpac_xxxPortal access code
AuthorizationBearerJWT token (if present in request)
X-Workspace-IdkPJodKdNLQ8VhUChWorkspace ID (if present in request)
X-Request-Ide71f7c0a-b37e-4013-84e4-2698a050f1b4Unique request ID
X-Client-Hashdoc-verify-client-hashClient fingerprint
X-Forwarded-ProtohttpsProtocol
CF-Connecting-IP127.0.0.1Client IP
Cf-Raydoc-verify-1774885033676-DEVCloudflare ray ID
cf-ipcountryUSClient country
X-LOCALEenLocale
Content-Typeapplication/jsonContent type

Success Response: No successful fixture available in source data.

Error Response: (HTTP 404)

json
{
  "version": "2.0.0",
  "timestamp": 1774885033682,
  "success": false,
  "code": "FILE.NOT_FOUND",
  "message": "File was not found",
  "data": null
}

POST /web/v1/tenant/files/delete

Delete files.

Required Headers:

HeaderValueDescription
X-PORTAL-ACCESS-CODEpac_xxxPortal access code
AuthorizationBearerJWT token (if present in request)
X-Workspace-IdkPJodKdNLQ8VhUChWorkspace ID (if present in request)
X-Request-Id92eec63b-7be9-4be4-ac90-b970acfc8a35Unique request ID
X-Client-Hashdoc-verify-client-hashClient fingerprint
X-Forwarded-ProtohttpsProtocol
CF-Connecting-IP127.0.0.1Client IP
Cf-Raydoc-verify-1774885033689-DEVCloudflare ray ID
cf-ipcountryUSClient country
X-LOCALEenLocale
Content-Typeapplication/jsonContent type

Request Body:

json
{
  "fileBizId": "non-existent-file-id"
}

Success Response: No successful fixture available in source data.

Error Response: (HTTP 404)

json
{
  "version": "2.0.0",
  "timestamp": 1774885033696,
  "success": false,
  "code": "FILE.NOT_FOUND",
  "message": "File was not found",
  "data": null
}

POST /web/v1/tenant/files/query

Query files.

Required Headers:

HeaderValueDescription
X-PORTAL-ACCESS-CODEpac_xxxPortal access code
X-Workspace-IdkPJodKdNLQ8VhUChWorkspace ID (if present in request)
X-Request-Id90a84d82-1711-4a58-b57c-969d08079edfUnique request ID
X-Client-Hashdoc-verify-client-hashClient fingerprint
X-Forwarded-ProtohttpsProtocol
CF-Connecting-IP127.0.0.1Client IP
Cf-Raydoc-verify-1774885033663-DEVCloudflare ray ID
cf-ipcountryUSClient country
X-LOCALEenLocale
Content-Typeapplication/jsonContent type

Optional Headers:

HeaderValueDescription
AuthorizationBearerJWT token (if present in request)

Request Body:

json
{
  "institutionBizId": "pekOCmPDkN18jQXf"
}

Success Response: (HTTP 200)

json
{
  "version": "2.0.0",
  "timestamp": 1774885033670,
  "success": true,
  "code": "2000",
  "message": "Success",
  "data": {
    "items": [],
    "pagination": {
      "totalPages": 0,
      "totalRecords": 0,
      "currentPage": 1,
      "pageSize": 0,
      "hasNext": false,
      "empty": true,
      "paginated": false
    }
  }
}

Error Response: (HTTP 401)

json
{
  "version": "2.0.0",
  "timestamp": 1774885033711,
  "success": false,
  "code": "ACCESS.TOKEN_MISSING",
  "message": "Authentication token is required",
  "data": null
}

POST /web/v1/tenant/files/upload

Submit files upload.

Required Headers:

HeaderValueDescription
X-PORTAL-ACCESS-CODEpac_xxxPortal access code
AuthorizationBearerJWT token (if present in request)
X-Workspace-IdkPJodKdNLQ8VhUChWorkspace ID (if present in request)
X-Request-Ida0eca05c-7397-4acd-8e03-3dc234db054aUnique request ID
X-Client-Hashdoc-verify-client-hashClient fingerprint
X-Forwarded-ProtohttpsProtocol
CF-Connecting-IP127.0.0.1Client IP
Cf-Raydoc-verify-1774885033702-DEVCloudflare ray ID
cf-ipcountryUSClient country
X-LOCALEenLocale
Content-Typeapplication/jsonContent type

Request Body:

json
{
  "bucket": "test",
  "remark": "test"
}

Success Response: No successful fixture available in source data.

Error Response: (HTTP 500)

json
{
  "version": "2.0.0",
  "timestamp": 1774885033707,
  "success": false,
  "code": "SYSTEM.INTERNAL_ERROR",
  "message": "Internal server error",
  "data": null
}

Institutions


POST /web/v1/tenant/institutions/query

Query institutions.

Required Headers:

HeaderValueDescription
X-PORTAL-ACCESS-CODEpac_xxxPortal access code
X-Workspace-IdkPJodKdNLQ8VhUChWorkspace ID (if present in request)
X-Request-Id146e6f40-4c5a-4a37-8688-161a55a9974dUnique request ID
X-Client-Hashdoc-verify-client-hashClient fingerprint
X-Forwarded-ProtohttpsProtocol
CF-Connecting-IP127.0.0.1Client IP
Cf-Raydoc-verify-1774885052166-DEVCloudflare ray ID
cf-ipcountryUSClient country
X-LOCALEenLocale
Content-Typeapplication/jsonContent type

Optional Headers:

HeaderValueDescription
AuthorizationBearerJWT token (if present in request)

Request Body:

json
{
  "page": 0,
  "size": 20
}

Success Response: (HTTP 200)

json
{
  "version": "2.0.0",
  "timestamp": 1774885052173,
  "success": true,
  "code": "2000",
  "message": "Success",
  "data": {
    "institutions": [
      {
        "bizId": "pekOCmPDkN18jQXf",
        "institutionName": "Doc-Verify Tenant",
        "institutionDescription": null,
        "institutionRemark": null,
        "institutionType": {
          "code": "TENANT",
          "value": 10010102,
          "label": "Tenant Portal",
          "description": "Tenant portal for business customers"
        },
        "institutionStatus": {
          "code": "ACTIVE",
          "value": 10010403,
          "label": "Active",
          "description": "Portal is active and verified"
        },
        "extraConfig": null,
        "createdAt": "2026-03-30T15:33:08.312561Z",
        "updatedAt": "2026-03-30T15:33:08.312561Z"
      },
      {
        "bizId": "TvL208Vd9Q8Wh3wz",
        "institutionName": "SlaunchX DOC-VERIFY",
        "institutionDescription": null,
        "institutionRemark": null,
        "institutionType": {
          "code": "SYSTEM",
          "value": 10010101,
          "label": "System Portal",
          "description": "System-level portal for platform administrators"
        },
        "institutionStatus": {
          "code": "ACTIVE",
          "value": 10010403,
          "label": "Active",
          "description": "Portal is active and verified"
        },
        "extraConfig": null,
        "createdAt": "2026-03-30T15:30:50.661210Z",
        "updatedAt": "2026-03-30T15:30:50.661210Z"
      }
    ],
    "totalElements": 2,
    "totalPages": 1,
    "currentPage": 0,
    "pageSize": 20
  }
}

Error Response: (HTTP 401)

json
{
  "version": "2.0.0",
  "timestamp": 1774885052200,
  "success": false,
  "code": "ACCESS.TOKEN_MISSING",
  "message": "Authentication token is required",
  "data": null
}

GET /web/v1/tenant/institutions/self

Get institutions self.

Required Headers:

HeaderValueDescription
X-PORTAL-ACCESS-CODEpac_xxxPortal access code
X-Request-Idef35e705-d750-457e-91fd-5eb7585cb03aUnique request ID
X-Client-Hashdoc-verify-client-hashClient fingerprint
X-Forwarded-ProtohttpsProtocol
CF-Connecting-IP127.0.0.1Client IP
Cf-Raydoc-verify-1774885052182-DEVCloudflare ray ID
cf-ipcountryUSClient country
X-LOCALEenLocale
Content-Typeapplication/jsonContent type

Optional Headers:

HeaderValueDescription
AuthorizationBearerJWT token (if present in request)
X-Workspace-IdkPJodKdNLQ8VhUChWorkspace ID (if present in request)

Success Response: (HTTP 200)

json
{
  "version": "2.0.0",
  "timestamp": 1774885052189,
  "success": true,
  "code": "2000",
  "message": "Success",
  "data": {
    "bizId": "pekOCmPDkN18jQXf",
    "institutionName": "Doc-Verify Tenant",
    "institutionDescription": null,
    "institutionRemark": null,
    "institutionType": {
      "code": "TENANT",
      "value": 10010102,
      "label": "Tenant Portal",
      "description": "Tenant portal for business customers"
    },
    "institutionStatus": {
      "code": "ACTIVE",
      "value": 10010403,
      "label": "Active",
      "description": "Portal is active and verified"
    },
    "extraConfig": null,
    "createdAt": "2026-03-30T15:33:08.312561Z",
    "updatedAt": "2026-03-30T15:33:08.312561Z"
  }
}

Error Response: (HTTP 401)

json
{
  "version": "2.0.0",
  "timestamp": 1774885052204,
  "success": false,
  "code": "ACCESS.TOKEN_MISSING",
  "message": "Authentication token is required",
  "data": null
}

POST /web/v1/tenant/institutions/self/update

Update institutions self.

Required Headers:

HeaderValueDescription
X-PORTAL-ACCESS-CODEpac_xxxPortal access code
AuthorizationBearerJWT token (if present in request)
X-Workspace-IdkPJodKdNLQ8VhUChWorkspace ID (if present in request)
X-Request-Idaef68777-c08a-4199-baba-92d7d3a76570Unique request ID
X-Client-Hashdoc-verify-client-hashClient fingerprint
X-Forwarded-ProtohttpsProtocol
CF-Connecting-IP127.0.0.1Client IP
Cf-Raydoc-verify-1774885052189-DEVCloudflare ray ID
cf-ipcountryUSClient country
X-LOCALEenLocale
Content-Typeapplication/jsonContent type

Request Body:

json
{
  "description": "Updated by doc-verify E2E test"
}

Success Response: (HTTP 400)

json
{
  "version": "2.0.0",
  "timestamp": 1774885052196,
  "success": false,
  "code": "VALIDATION.INVALID_PARAMETER",
  "message": "Invalid request parameters",
  "data": null
}

Invitations


GET /web/v1/tenant/invitations

Get invitations.

Required Headers:

HeaderValueDescription
X-PORTAL-ACCESS-CODEpac_xxxPortal access code
X-Workspace-IdkPJodKdNLQ8VhUChWorkspace ID (if present in request)
X-Request-Idf21348aa-2517-44c2-8068-19942470077aUnique request ID
X-Client-Hashdoc-verify-client-hashClient fingerprint
X-Forwarded-ProtohttpsProtocol
CF-Connecting-IP127.0.0.1Client IP
Cf-Raydoc-verify-1774885031726-DEVCloudflare ray ID
cf-ipcountryUSClient country
X-LOCALEenLocale
Content-Typeapplication/jsonContent type

Optional Headers:

HeaderValueDescription
AuthorizationBearerJWT token (if present in request)

Success Response: (HTTP 200)

json
{
  "version": "2.0.0",
  "timestamp": 1774885031733,
  "success": true,
  "code": "2000",
  "message": "Success",
  "data": [
    {
      "bizId": "0ec3f3b5-2640-464b-a762-9132afe1e8dc",
      "workspaceBizId": "kPJodKdNLQ8VhUCh",
      "workspaceName": "Doc Verify Workspace",
      "inviterBizId": "MX1yt7ElRR4NG7aN",
      "inviterName": "Tenant Admin",
      "inviteeEmail": "dv-invite-1774884853941@slaunchx.test",
      "inviteeAccountBizId": null,
      "inviteeAccountName": null,
      "invitationStatus": {
        "code": "CANCELLED",
        "value": 10050305,
        "label": "Cancelled",
        "description": "Invitation cancelled by sender"
      },
      "message": null,
      "expiresAt": "2026-04-06T15:34:13.948289Z",
      "acceptedAt": null,
      "createdAt": "2026-03-30T15:34:13.948300Z",
      "canAccept": false
    },
    {
      "bizId": "ff34292b-d1fc-49ae-a30f-7d6bfd043228",
      "workspaceBizId": "kPJodKdNLQ8VhUCh",
      "workspaceName": "Doc Verify Workspace",
      "inviterBizId": "MX1yt7ElRR4NG7aN",
      "inviterName": "Tenant Admin",
      "inviteeEmail": "dv-invite-1774884817229@slaunchx.test",
      "inviteeAccountBizId": null,
      "inviteeAccountName": null,
      "invitationStatus": {
        "code": "CANCELLED",
        "value": 10050305,
        "label": "Cancelled",
        "description": "Invitation cancelled by sender"
      },
      "message": null,
      "expiresAt": "2026-04-06T15:33:37.239964Z",
      "acceptedAt": null,
      "createdAt": "2026-03-30T15:33:37.239973Z",
      "canAccept": false
    }
  ]
}

Error Response: (HTTP 401)

json
{
  "version": "2.0.0",
  "timestamp": 1774885031802,
  "success": false,
  "code": "ACCESS.TOKEN_MISSING",
  "message": "Authentication token is required",
  "data": null
}

POST /web/v1/tenant/invitations

Submit invitations.

Required Headers:

HeaderValueDescription
X-PORTAL-ACCESS-CODEpac_xxxPortal access code
AuthorizationBearerJWT token (if present in request)
X-Workspace-IdkPJodKdNLQ8VhUChWorkspace ID (if present in request)
X-Request-Iddfd01e9e-7469-457d-9712-4f381d873d86Unique request ID
X-Client-Hashdoc-verify-client-hashClient fingerprint
X-Forwarded-ProtohttpsProtocol
CF-Connecting-IP127.0.0.1Client IP
Cf-Raydoc-verify-1774885031749-DEVCloudflare ray ID
cf-ipcountryUSClient country
X-LOCALEenLocale
Content-Typeapplication/jsonContent type

Request Body:

json
{
  "inviteeEmail": "dv-invite-1774885031749@slaunchx.test",
  "roleBizId": null
}

Success Response: (HTTP 201)

json
{
  "version": "2.0.0",
  "timestamp": 1774885031768,
  "success": true,
  "code": "2001",
  "message": "Created",
  "data": {
    "bizId": "72f48da1-6d93-4499-98d4-bcffb0ab36db",
    "workspaceBizId": "kPJodKdNLQ8VhUCh",
    "workspaceName": "Doc Verify Workspace",
    "inviterBizId": "MX1yt7ElRR4NG7aN",
    "inviterName": "Tenant Admin",
    "inviteeEmail": "dv-invite-1774885031749@slaunchx.test",
    "inviteeAccountBizId": null,
    "inviteeAccountName": null,
    "invitationStatus": {
      "code": "PENDING",
      "value": 10050301,
      "label": "Pending",
      "description": "Invitation waiting for response"
    },
    "message": null,
    "expiresAt": "2026-04-06T15:37:11.757260214Z",
    "acceptedAt": null,
    "createdAt": "2026-03-30T15:37:11.757261089Z",
    "canAccept": true
  }
}

Error Response: (HTTP 400)

json
{
  "version": "2.0.0",
  "timestamp": 1774885031784,
  "success": false,
  "code": "VALIDATION.INVALID_PARAMETER",
  "message": "Invalid request parameters",
  "data": null
}

POST /web/v1/tenant/invitations/cancel

Cancel invitations.

Required Headers:

HeaderValueDescription
X-PORTAL-ACCESS-CODEpac_xxxPortal access code
AuthorizationBearerJWT token (if present in request)
X-Workspace-IdkPJodKdNLQ8VhUChWorkspace ID (if present in request)
X-Request-Idf8e7f3de-25ff-4c2a-88e1-c49f764c7da8Unique request ID
X-Client-Hashdoc-verify-client-hashClient fingerprint
X-Forwarded-ProtohttpsProtocol
CF-Connecting-IP127.0.0.1Client IP
Cf-Raydoc-verify-1774885031769-DEVCloudflare ray ID
cf-ipcountryUSClient country
X-LOCALEenLocale
Content-Typeapplication/jsonContent type

Request Body:

json
{
  "invitationBizId": "72f48da1-6d93-4499-98d4-bcffb0ab36db",
  "reason": "Cancelled by doc-verify E2E test"
}

Success Response: (HTTP 200)

json
{
  "version": "2.0.0",
  "timestamp": 1774885031777,
  "success": true,
  "code": "2004",
  "message": "No Content",
  "data": null
}

Error Response: (HTTP 400)

json
{
  "version": "2.0.0",
  "timestamp": 1774885031798,
  "success": false,
  "code": "VALIDATION.INVALID_PARAMETER",
  "message": "Invalid request parameters",
  "data": null
}

Notifications


POST /web/v1/tenant/notifications/channel-types/create

Create notifications channel types.

Required Headers:

HeaderValueDescription
X-PORTAL-ACCESS-CODEpac_xxxPortal access code
AuthorizationBearerJWT token (if present in request)
X-Workspace-IdkPJodKdNLQ8VhUChWorkspace ID (if present in request)
X-Request-Id7e08befd-c0db-4c16-907f-09e2296f823cUnique request ID
X-Client-Hashdoc-verify-client-hashClient fingerprint
X-Forwarded-ProtohttpsProtocol
CF-Connecting-IP127.0.0.1Client IP
Cf-Raydoc-verify-1774885027271-DEVCloudflare ray ID
cf-ipcountryUSClient country
X-LOCALEenLocale
Content-Typeapplication/jsonContent type

Request Body:

json
{
  "typeCode": "dv-ct-1774885027271",
  "typeName": "Doc Verify Channel Type",
  "description": "Created by doc-verify E2E test"
}

Success Response: (HTTP 400)

json
{
  "version": "2.0.0",
  "timestamp": 1774885027276,
  "success": false,
  "code": "VALIDATION.INVALID_PARAMETER",
  "message": "Invalid request parameters",
  "data": null
}

Error Response: (HTTP 400)

json
{
  "version": "2.0.0",
  "timestamp": 1774885027308,
  "success": false,
  "code": "VALIDATION.INVALID_PARAMETER",
  "message": "Invalid request parameters",
  "data": null
}

POST /web/v1/tenant/notifications/channel-types/delete

Delete notifications channel types.

Required Headers:

HeaderValueDescription
X-PORTAL-ACCESS-CODEpac_xxxPortal access code
AuthorizationBearerJWT token (if present in request)
X-Workspace-IdkPJodKdNLQ8VhUChWorkspace ID (if present in request)
X-Request-Id343368a4-4768-447a-b3ae-7be9aa7fb5e2Unique request ID
X-Client-Hashdoc-verify-client-hashClient fingerprint
X-Forwarded-ProtohttpsProtocol
CF-Connecting-IP127.0.0.1Client IP
Cf-Raydoc-verify-1774885027296-DEVCloudflare ray ID
cf-ipcountryUSClient country
X-LOCALEenLocale
Content-Typeapplication/jsonContent type

Request Body:

json
{
  "bizId": "non-existent-id"
}

Success Response: No successful fixture available in source data.

Error Response: (HTTP 404)

json
{
  "version": "2.0.0",
  "timestamp": 1774885027302,
  "success": false,
  "code": "RESOURCE.NOT_FOUND",
  "message": "Resource not found",
  "data": null
}

POST /web/v1/tenant/notifications/channel-types/disable

Disable notifications channel types.

Required Headers:

HeaderValueDescription
X-PORTAL-ACCESS-CODEpac_xxxPortal access code
AuthorizationBearerJWT token (if present in request)
X-Workspace-IdkPJodKdNLQ8VhUChWorkspace ID (if present in request)
X-Request-Id7b468043-224d-48aa-b9e3-76591ad33c49Unique request ID
X-Client-Hashdoc-verify-client-hashClient fingerprint
X-Forwarded-ProtohttpsProtocol
CF-Connecting-IP127.0.0.1Client IP
Cf-Raydoc-verify-1774885027282-DEVCloudflare ray ID
cf-ipcountryUSClient country
X-LOCALEenLocale
Content-Typeapplication/jsonContent type

Request Body:

json
{
  "bizId": "non-existent-id"
}

Success Response: No successful fixture available in source data.

Error Response: (HTTP 404)

json
{
  "version": "2.0.0",
  "timestamp": 1774885027289,
  "success": false,
  "code": "RESOURCE.NOT_FOUND",
  "message": "Resource not found",
  "data": null
}

POST /web/v1/tenant/notifications/channel-types/enable

Enable notifications channel types.

Required Headers:

HeaderValueDescription
X-PORTAL-ACCESS-CODEpac_xxxPortal access code
AuthorizationBearerJWT token (if present in request)
X-Workspace-IdkPJodKdNLQ8VhUChWorkspace ID (if present in request)
X-Request-Id178a7470-fa3a-464c-a59c-cdbe4a5104d6Unique request ID
X-Client-Hashdoc-verify-client-hashClient fingerprint
X-Forwarded-ProtohttpsProtocol
CF-Connecting-IP127.0.0.1Client IP
Cf-Raydoc-verify-1774885027289-DEVCloudflare ray ID
cf-ipcountryUSClient country
X-LOCALEenLocale
Content-Typeapplication/jsonContent type

Request Body:

json
{
  "bizId": "non-existent-id"
}

Success Response: No successful fixture available in source data.

Error Response: (HTTP 404)

json
{
  "version": "2.0.0",
  "timestamp": 1774885027295,
  "success": false,
  "code": "RESOURCE.NOT_FOUND",
  "message": "Resource not found",
  "data": null
}

POST /web/v1/tenant/notifications/channel-types/query

Query notifications channel types.

Required Headers:

HeaderValueDescription
X-PORTAL-ACCESS-CODEpac_xxxPortal access code
X-Workspace-IdkPJodKdNLQ8VhUChWorkspace ID (if present in request)
X-Request-Idc93c00d6-991d-4af8-8ac5-574aa398f5f4Unique request ID
X-Client-Hashdoc-verify-client-hashClient fingerprint
X-Forwarded-ProtohttpsProtocol
CF-Connecting-IP127.0.0.1Client IP
Cf-Raydoc-verify-1774885027264-DEVCloudflare ray ID
cf-ipcountryUSClient country
X-LOCALEenLocale
Content-Typeapplication/jsonContent type

Optional Headers:

HeaderValueDescription
AuthorizationBearerJWT token (if present in request)

Request Body:

json
{}

Success Response: (HTTP 200)

json
{
  "version": "2.0.0",
  "timestamp": 1774885027270,
  "success": true,
  "code": "2000",
  "message": "Success",
  "data": {
    "items": [
      {
        "bizId": "Ia5gNk9xkU1wgRXs",
        "typeCode": "EMAIL",
        "typeValue": 80010101,
        "typeName": "Email",
        "typeDescription": "SMTP-based email notification channel",
        "typeStatus": {
          "code": "ENABLED",
          "value": 80010301,
          "label": "Enabled",
          "description": "Channel type enabled"
        },
        "displayOrder": 0,
        "iconUrl": null,
        "extraConfig": null,
        "createdAt": "2026-03-30T15:30:50.675053Z",
        "updatedAt": "2026-03-30T15:30:50.675053Z",
        "enabled": true
      }
    ],
    "pagination": {
      "totalPages": 1,
      "totalRecords": 1,
      "currentPage": 1,
      "pageSize": 1,
      "hasNext": false,
      "empty": false,
      "paginated": false
    }
  }
}

Error Response: (HTTP 401)

json
{
  "version": "2.0.0",
  "timestamp": 1774885027385,
  "success": false,
  "code": "ACCESS.TOKEN_MISSING",
  "message": "Authentication token is required",
  "data": null
}

POST /web/v1/tenant/notifications/channel-types/update

Update notifications channel types.

Required Headers:

HeaderValueDescription
X-PORTAL-ACCESS-CODEpac_xxxPortal access code
AuthorizationBearerJWT token (if present in request)
X-Workspace-IdkPJodKdNLQ8VhUChWorkspace ID (if present in request)
X-Request-Idccc5d0ce-b7a8-4cae-a8ad-0ff541dd8454Unique request ID
X-Client-Hashdoc-verify-client-hashClient fingerprint
X-Forwarded-ProtohttpsProtocol
CF-Connecting-IP127.0.0.1Client IP
Cf-Raydoc-verify-1774885027276-DEVCloudflare ray ID
cf-ipcountryUSClient country
X-LOCALEenLocale
Content-Typeapplication/jsonContent type

Request Body:

json
{
  "bizId": "non-existent-id",
  "typeName": "Updated"
}

Success Response: No successful fixture available in source data.

Error Response: (HTTP 404)

json
{
  "version": "2.0.0",
  "timestamp": 1774885027282,
  "success": false,
  "code": "RESOURCE.NOT_FOUND",
  "message": "Resource not found",
  "data": null
}

POST /web/v1/tenant/notifications/channels/activate

Activate notifications channels.

Required Headers:

HeaderValueDescription
X-PORTAL-ACCESS-CODEpac_xxxPortal access code
AuthorizationBearerJWT token (if present in request)
X-Workspace-IdkPJodKdNLQ8VhUChWorkspace ID (if present in request)
X-Request-Id024a9be8-f36e-4d96-8826-84f5d01398e1Unique request ID
X-Client-Hashdoc-verify-client-hashClient fingerprint
X-Forwarded-ProtohttpsProtocol
CF-Connecting-IP127.0.0.1Client IP
Cf-Raydoc-verify-1774885027342-DEVCloudflare ray ID
cf-ipcountryUSClient country
X-LOCALEenLocale
Content-Typeapplication/jsonContent type

Request Body:

json
{
  "bizId": "non-existent-id"
}

Success Response: No successful fixture available in source data.

Error Response: (HTTP 404)

json
{
  "version": "2.0.0",
  "timestamp": 1774885027349,
  "success": false,
  "code": "NOTIFICATION.CHANNEL_NOT_FOUND",
  "message": "Notification channel was not found",
  "data": null
}

POST /web/v1/tenant/notifications/channels/create

Create notifications channels.

Required Headers:

HeaderValueDescription
X-PORTAL-ACCESS-CODEpac_xxxPortal access code
AuthorizationBearerJWT token (if present in request)
X-Workspace-IdkPJodKdNLQ8VhUChWorkspace ID (if present in request)
X-Request-Idc391a07b-f884-451e-9cf2-137f0b6018a7Unique request ID
X-Client-Hashdoc-verify-client-hashClient fingerprint
X-Forwarded-ProtohttpsProtocol
CF-Connecting-IP127.0.0.1Client IP
Cf-Raydoc-verify-1774885027322-DEVCloudflare ray ID
cf-ipcountryUSClient country
X-LOCALEenLocale
Content-Typeapplication/jsonContent type

Request Body:

json
{
  "channelName": "dv-channel-1774885027322",
  "channelCategory": "EMAIL",
  "channelConfig": "{\"type\":\"smtp\"}"
}

Success Response: (HTTP 400)

json
{
  "version": "2.0.0",
  "timestamp": 1774885027328,
  "success": false,
  "code": "VALIDATION.INVALID_PARAMETER",
  "message": "Invalid request parameters",
  "data": null
}

Error Response: (HTTP 400)

json
{
  "version": "2.0.0",
  "timestamp": 1774885027362,
  "success": false,
  "code": "VALIDATION.INVALID_PARAMETER",
  "message": "Invalid request parameters",
  "data": null
}

POST /web/v1/tenant/notifications/channels/deactivate

Deactivate notifications channels.

Required Headers:

HeaderValueDescription
X-PORTAL-ACCESS-CODEpac_xxxPortal access code
AuthorizationBearerJWT token (if present in request)
X-Workspace-IdkPJodKdNLQ8VhUChWorkspace ID (if present in request)
X-Request-Id4fe697a2-d2c5-4e4f-9fe9-e3b1d1fb75ffUnique request ID
X-Client-Hashdoc-verify-client-hashClient fingerprint
X-Forwarded-ProtohttpsProtocol
CF-Connecting-IP127.0.0.1Client IP
Cf-Raydoc-verify-1774885027335-DEVCloudflare ray ID
cf-ipcountryUSClient country
X-LOCALEenLocale
Content-Typeapplication/jsonContent type

Request Body:

json
{
  "bizId": "non-existent-id"
}

Success Response: No successful fixture available in source data.

Error Response: (HTTP 404)

json
{
  "version": "2.0.0",
  "timestamp": 1774885027342,
  "success": false,
  "code": "NOTIFICATION.CHANNEL_NOT_FOUND",
  "message": "Notification channel was not found",
  "data": null
}

POST /web/v1/tenant/notifications/channels/delete

Delete notifications channels.

Required Headers:

HeaderValueDescription
X-PORTAL-ACCESS-CODEpac_xxxPortal access code
AuthorizationBearerJWT token (if present in request)
X-Workspace-IdkPJodKdNLQ8VhUChWorkspace ID (if present in request)
X-Request-Ide20c20f6-5ceb-4b22-b35f-af8be6a3fb6bUnique request ID
X-Client-Hashdoc-verify-client-hashClient fingerprint
X-Forwarded-ProtohttpsProtocol
CF-Connecting-IP127.0.0.1Client IP
Cf-Raydoc-verify-1774885027349-DEVCloudflare ray ID
cf-ipcountryUSClient country
X-LOCALEenLocale
Content-Typeapplication/jsonContent type

Request Body:

json
{
  "bizId": "non-existent-id"
}

Success Response: No successful fixture available in source data.

Error Response: (HTTP 404)

json
{
  "version": "2.0.0",
  "timestamp": 1774885027355,
  "success": false,
  "code": "NOTIFICATION.CHANNEL_NOT_FOUND",
  "message": "Notification channel was not found",
  "data": null
}

POST /web/v1/tenant/notifications/channels/query

Query notifications channels.

Required Headers:

HeaderValueDescription
X-PORTAL-ACCESS-CODEpac_xxxPortal access code
AuthorizationBearerJWT token (if present in request)
X-Workspace-IdkPJodKdNLQ8VhUChWorkspace ID (if present in request)
X-Request-Id939d2b92-17b6-4630-84f9-5b7ad7d3e924Unique request ID
X-Client-Hashdoc-verify-client-hashClient fingerprint
X-Forwarded-ProtohttpsProtocol
CF-Connecting-IP127.0.0.1Client IP
Cf-Raydoc-verify-1774885027315-DEVCloudflare ray ID
cf-ipcountryUSClient country
X-LOCALEenLocale
Content-Typeapplication/jsonContent type

Request Body:

json
{}

Success Response: (HTTP 200)

json
{
  "version": "2.0.0",
  "timestamp": 1774885027321,
  "success": true,
  "code": "2000",
  "message": "Success",
  "data": {
    "items": [],
    "pagination": {
      "totalPages": 0,
      "totalRecords": 0,
      "currentPage": 1,
      "pageSize": 0,
      "hasNext": false,
      "empty": true,
      "paginated": false
    }
  }
}

POST /web/v1/tenant/notifications/channels/update

Update notifications channels.

Required Headers:

HeaderValueDescription
X-PORTAL-ACCESS-CODEpac_xxxPortal access code
AuthorizationBearerJWT token (if present in request)
X-Workspace-IdkPJodKdNLQ8VhUChWorkspace ID (if present in request)
X-Request-Id45e2c8ed-0358-4ac6-a724-9e0534a7dc7aUnique request ID
X-Client-Hashdoc-verify-client-hashClient fingerprint
X-Forwarded-ProtohttpsProtocol
CF-Connecting-IP127.0.0.1Client IP
Cf-Raydoc-verify-1774885027328-DEVCloudflare ray ID
cf-ipcountryUSClient country
X-LOCALEenLocale
Content-Typeapplication/jsonContent type

Request Body:

json
{
  "bizId": "non-existent-id",
  "channelName": "Updated"
}

Success Response: No successful fixture available in source data.

Error Response: (HTTP 404)

json
{
  "version": "2.0.0",
  "timestamp": 1774885027335,
  "success": false,
  "code": "NOTIFICATION.CHANNEL_NOT_FOUND",
  "message": "Notification channel was not found",
  "data": null
}

POST /web/v1/tenant/notifications/email/validate/imap

Submit notifications email validate imap.

Required Headers:

HeaderValueDescription
X-PORTAL-ACCESS-CODEpac_xxxPortal access code
AuthorizationBearerJWT token (if present in request)
X-Workspace-IdkPJodKdNLQ8VhUChWorkspace ID (if present in request)
X-Request-Idcc091bc3-c9f2-41bc-b8c2-fbaee4144a7bUnique request ID
X-Client-Hashdoc-verify-client-hashClient fingerprint
X-Forwarded-ProtohttpsProtocol
CF-Connecting-IP127.0.0.1Client IP
Cf-Raydoc-verify-1774885027375-DEVCloudflare ray ID
cf-ipcountryUSClient country
X-LOCALEenLocale
Content-Typeapplication/jsonContent type

Request Body:

json
{}

Success Response: No successful fixture available in source data.

Error Response: (HTTP 400)

json
{
  "version": "2.0.0",
  "timestamp": 1774885027381,
  "success": false,
  "code": "VALIDATION.INVALID_PARAMETER",
  "message": "Invalid request parameters",
  "data": null
}

POST /web/v1/tenant/notifications/email/validate/smtp

Submit notifications email validate smtp.

Required Headers:

HeaderValueDescription
X-PORTAL-ACCESS-CODEpac_xxxPortal access code
AuthorizationBearerJWT token (if present in request)
X-Workspace-IdkPJodKdNLQ8VhUChWorkspace ID (if present in request)
X-Request-Id915aab89-010d-4c79-8ffb-cce0d24bf140Unique request ID
X-Client-Hashdoc-verify-client-hashClient fingerprint
X-Forwarded-ProtohttpsProtocol
CF-Connecting-IP127.0.0.1Client IP
Cf-Raydoc-verify-1774885027369-DEVCloudflare ray ID
cf-ipcountryUSClient country
X-LOCALEenLocale
Content-Typeapplication/jsonContent type

Request Body:

json
{}

Success Response: No successful fixture available in source data.

Error Response: (HTTP 400)

json
{
  "version": "2.0.0",
  "timestamp": 1774885027375,
  "success": false,
  "code": "VALIDATION.INVALID_PARAMETER",
  "message": "Invalid request parameters",
  "data": null
}

Profile


GET /web/v1/tenant/profile

Get profile.

Required Headers:

HeaderValueDescription
X-PORTAL-ACCESS-CODEpac_xxxPortal access code
X-Request-Id322c820e-2d06-4b7e-a1ee-c31a83bcb352Unique request ID
X-Client-Hashdoc-verify-client-hashClient fingerprint
X-Forwarded-ProtohttpsProtocol
CF-Connecting-IP127.0.0.1Client IP
Cf-Raydoc-verify-1774885052789-DEVCloudflare ray ID
cf-ipcountryUSClient country
X-LOCALEenLocale
Content-Typeapplication/jsonContent type

Optional Headers:

HeaderValueDescription
AuthorizationBearerJWT token (if present in request)

Success Response: (HTTP 200)

json
{
  "version": "2.0.0",
  "timestamp": 1774885052793,
  "success": true,
  "code": "2000",
  "message": "Success",
  "data": {
    "bizId": "MX1yt7ElRR4NG7aN",
    "institutionBizId": "pekOCmPDkN18jQXf",
    "accountEmail": "tenant@slaunchx.test",
    "accountPhone": "",
    "accountName": "Tenant Admin",
    "accountRemark": null,
    "accountPortal": {
      "code": "TENANT",
      "value": 10010102,
      "label": "Tenant Portal",
      "description": "Tenant portal for business customers"
    },
    "accountStatus": {
      "code": "ACTIVE",
      "value": 10010202,
      "label": "Active",
      "description": "Account is active and usable"
    },
    "createdAt": "2026-03-30T15:33:08.404779Z",
    "updatedAt": "2026-03-30T15:33:08.578857Z",
    "defaultLanguage": null,
    "defaultTimezone": null,
    "defaultCountry": null
  }
}

Error Response: (HTTP 401)

json
{
  "version": "2.0.0",
  "timestamp": 1774885052821,
  "success": false,
  "code": "ACCESS.TOKEN_MISSING",
  "message": "Authentication token is required",
  "data": null
}

GET /web/v1/tenant/profile/invitations

Get profile invitations.

Required Headers:

HeaderValueDescription
X-PORTAL-ACCESS-CODEpac_xxxPortal access code
AuthorizationBearerJWT token (if present in request)
X-Request-Id7093c4b5-758b-47a0-862c-09f4c85f29f0Unique request ID
X-Client-Hashdoc-verify-client-hashClient fingerprint
X-Forwarded-ProtohttpsProtocol
CF-Connecting-IP127.0.0.1Client IP
Cf-Raydoc-verify-1774885052799-DEVCloudflare ray ID
cf-ipcountryUSClient country
X-LOCALEenLocale
Content-Typeapplication/jsonContent type

Success Response: (HTTP 200)

json
{
  "version": "2.0.0",
  "timestamp": 1774885052803,
  "success": true,
  "code": "2000",
  "message": "Success",
  "data": []
}

POST /web/v1/tenant/profile/invitations/accept

Submit profile invitations accept.

Required Headers:

HeaderValueDescription
X-PORTAL-ACCESS-CODEpac_xxxPortal access code
AuthorizationBearerJWT token (if present in request)
X-Request-Id7afb0f95-57b6-40e6-b0b9-5b0696f94036Unique request ID
X-Client-Hashdoc-verify-client-hashClient fingerprint
X-Forwarded-ProtohttpsProtocol
CF-Connecting-IP127.0.0.1Client IP
Cf-Raydoc-verify-1774885052807-DEVCloudflare ray ID
cf-ipcountryUSClient country
X-LOCALEenLocale
Content-Typeapplication/jsonContent type

Request Body:

json
{
  "invitationBizId": "non-existent-invitation-id"
}

Success Response: No successful fixture available in source data.

Error Response: (HTTP 400)

json
{
  "version": "2.0.0",
  "timestamp": 1774885052812,
  "success": false,
  "code": "VALIDATION.INVALID_PARAMETER",
  "message": "Invalid request parameters",
  "data": null
}

POST /web/v1/tenant/profile/invitations/decline

Submit profile invitations decline.

Required Headers:

HeaderValueDescription
X-PORTAL-ACCESS-CODEpac_xxxPortal access code
AuthorizationBearerJWT token (if present in request)
X-Request-Id3d630511-9820-4813-9e11-1d8f53490011Unique request ID
X-Client-Hashdoc-verify-client-hashClient fingerprint
X-Forwarded-ProtohttpsProtocol
CF-Connecting-IP127.0.0.1Client IP
Cf-Raydoc-verify-1774885052812-DEVCloudflare ray ID
cf-ipcountryUSClient country
X-LOCALEenLocale
Content-Typeapplication/jsonContent type

Request Body:

json
{
  "invitationBizId": "non-existent-invitation-id",
  "reason": "Test decline"
}

Success Response: No successful fixture available in source data.

Error Response: (HTTP 400)

json
{
  "version": "2.0.0",
  "timestamp": 1774885052817,
  "success": false,
  "code": "VALIDATION.INVALID_PARAMETER",
  "message": "Invalid request parameters",
  "data": null
}

POST /web/v1/tenant/profile/update

Update profile.

Required Headers:

HeaderValueDescription
X-PORTAL-ACCESS-CODEpac_xxxPortal access code
X-Request-Ide7d04766-12eb-406c-a2af-edc2c9b69865Unique request ID
X-Client-Hashdoc-verify-client-hashClient fingerprint
X-Forwarded-ProtohttpsProtocol
CF-Connecting-IP127.0.0.1Client IP
Cf-Raydoc-verify-1774885052794-DEVCloudflare ray ID
cf-ipcountryUSClient country
X-LOCALEenLocale
Content-Typeapplication/jsonContent type

Optional Headers:

HeaderValueDescription
AuthorizationBearerJWT token (if present in request)

Request Body:

json
{
  "displayName": "Doc Verify Tenant User",
  "timezone": "Asia/Shanghai"
}

Success Response: (HTTP 400)

json
{
  "version": "2.0.0",
  "timestamp": 1774885052799,
  "success": false,
  "code": "VALIDATION.INVALID_PARAMETER",
  "message": "Invalid request parameters",
  "data": null
}

Error Response: (HTTP 401)

json
{
  "version": "2.0.0",
  "timestamp": 1774885052825,
  "success": false,
  "code": "ACCESS.TOKEN_MISSING",
  "message": "Authentication token is required",
  "data": null
}

Recharge Channels


GET /web/v1/tenant/recharge-channels

Get recharge channels.

Required Headers:

HeaderValueDescription
X-PORTAL-ACCESS-CODEpac_xxxPortal access code
X-Workspace-IdkPJodKdNLQ8VhUChWorkspace ID (if present in request)
X-Request-Id56dd450e-757e-4b90-b148-8987ccebb1f6Unique request ID
X-Client-Hashdoc-verify-client-hashClient fingerprint
X-Forwarded-ProtohttpsProtocol
CF-Connecting-IP127.0.0.1Client IP
Cf-Raydoc-verify-1774885032729-DEVCloudflare ray ID
cf-ipcountryUSClient country
X-LOCALEenLocale
Content-Typeapplication/jsonContent type

Optional Headers:

HeaderValueDescription
AuthorizationBearerJWT token (if present in request)

Success Response: (HTTP 200)

json
{
  "version": "2.0.0",
  "timestamp": 1774885032735,
  "success": true,
  "code": "2000",
  "message": "Success",
  "data": {
    "items": [],
    "pagination": {
      "totalPages": 0,
      "totalRecords": 0,
      "currentPage": 1,
      "pageSize": 0,
      "hasNext": false,
      "empty": true,
      "paginated": false
    }
  }
}

Error Response: (HTTP 401)

json
{
  "version": "2.0.0",
  "timestamp": 1774885032783,
  "success": false,
  "code": "ACCESS.TOKEN_MISSING",
  "message": "Authentication token is required",
  "data": null
}

POST /web/v1/tenant/recharge-channels

Submit recharge channels.

Required Headers:

HeaderValueDescription
X-PORTAL-ACCESS-CODEpac_xxxPortal access code
AuthorizationBearerJWT token (if present in request)
X-Workspace-IdkPJodKdNLQ8VhUChWorkspace ID (if present in request)
X-Request-Id1d75471d-ed60-4a94-a34d-038f94d9fbddUnique request ID
X-Client-Hashdoc-verify-client-hashClient fingerprint
X-Forwarded-ProtohttpsProtocol
CF-Connecting-IP127.0.0.1Client IP
Cf-Raydoc-verify-1774885032741-DEVCloudflare ray ID
cf-ipcountryUSClient country
X-LOCALEenLocale
Content-Typeapplication/jsonContent type

Request Body:

json
{
  "channelName": "doc-verify-rc-1774885032741",
  "currency": 10010101,
  "channelType": 1,
  "channelFeeModel": 1,
  "channelFeeFixedAmount": 0,
  "channelFeeRate": "0",
  "channelFeeBandsConfig": null,
  "connectionConfig": "{\"type\":\"manual\"}"
}

Success Response: (HTTP 400)

json
{
  "version": "2.0.0",
  "timestamp": 1774885032746,
  "success": false,
  "code": "VALIDATION.INVALID_PARAMETER",
  "message": "Invalid request parameters",
  "data": null
}

Error Response: (HTTP 400)

json
{
  "version": "2.0.0",
  "timestamp": 1774885032774,
  "success": false,
  "code": "VALIDATION.INVALID_PARAMETER",
  "message": "Invalid request parameters",
  "data": null
}

GET /web/v1/tenant/recharge-channels/{rechargeChannelBizId}/assignments

Get recharge channels by rechargeChannelBizId assignments.

Required Headers:

HeaderValueDescription
X-PORTAL-ACCESS-CODEpac_xxxPortal access code
AuthorizationBearerJWT token (if present in request)
X-Workspace-IdkPJodKdNLQ8VhUChWorkspace ID (if present in request)
X-Request-Id52832c6c-8df2-4ae1-939e-67e7cc6fa6f5Unique request ID
X-Client-Hashdoc-verify-client-hashClient fingerprint
X-Forwarded-ProtohttpsProtocol
CF-Connecting-IP127.0.0.1Client IP
Cf-Raydoc-verify-1774885032761-DEVCloudflare ray ID
cf-ipcountryUSClient country
X-LOCALEenLocale
Content-Typeapplication/jsonContent type

Success Response: No successful fixture available in source data.

Error Response: (HTTP 404)

json
{
  "version": "2.0.0",
  "timestamp": 1774885032768,
  "success": false,
  "code": "RESOURCE.NOT_FOUND",
  "message": "Resource not found",
  "data": null
}

POST /web/v1/tenant/recharge-channels/{rechargeChannelBizId}/assignments

Submit recharge channels by rechargeChannelBizId assignments.

Required Headers:

HeaderValueDescription
X-PORTAL-ACCESS-CODEpac_xxxPortal access code
AuthorizationBearerJWT token (if present in request)
X-Workspace-IdkPJodKdNLQ8VhUChWorkspace ID (if present in request)
X-Request-Ida4a96931-6c87-44a3-b875-cd03a8ed7071Unique request ID
X-Client-Hashdoc-verify-client-hashClient fingerprint
X-Forwarded-ProtohttpsProtocol
CF-Connecting-IP127.0.0.1Client IP
Cf-Raydoc-verify-1774885032754-DEVCloudflare ray ID
cf-ipcountryUSClient country
X-LOCALEenLocale
Content-Typeapplication/jsonContent type

Request Body:

json
{
  "workspaceBizId": "kPJodKdNLQ8VhUCh",
  "userFeeModel": 1
}

Success Response: No successful fixture available in source data.

Error Response: (HTTP 404)

json
{
  "version": "2.0.0",
  "timestamp": 1774885032761,
  "success": false,
  "code": "RESOURCE.NOT_FOUND",
  "message": "Resource not found",
  "data": null
}

POST /web/v1/tenant/recharge-channels/{rechargeChannelBizId}/update

Update recharge channels by rechargeChannelBizId.

Required Headers:

HeaderValueDescription
X-PORTAL-ACCESS-CODEpac_xxxPortal access code
AuthorizationBearerJWT token (if present in request)
X-Workspace-IdkPJodKdNLQ8VhUChWorkspace ID (if present in request)
X-Request-Idb61487a8-80c9-402e-a22b-adaafc7fadafUnique request ID
X-Client-Hashdoc-verify-client-hashClient fingerprint
X-Forwarded-ProtohttpsProtocol
CF-Connecting-IP127.0.0.1Client IP
Cf-Raydoc-verify-1774885032747-DEVCloudflare ray ID
cf-ipcountryUSClient country
X-LOCALEenLocale
Content-Typeapplication/jsonContent type

Request Body:

json
{
  "channelName": "doc-verify-rc-updated-1774885032747",
  "channelFeeModel": 1
}

Success Response: No successful fixture available in source data.

Error Response: (HTTP 404)

json
{
  "version": "2.0.0",
  "timestamp": 1774885032754,
  "success": false,
  "code": "RESOURCE.NOT_FOUND",
  "message": "Resource not found",
  "data": null
}

Recharges


GET /web/v1/tenant/recharges

Get recharges.

Required Headers:

HeaderValueDescription
X-PORTAL-ACCESS-CODEpac_xxxPortal access code
X-Workspace-IdkPJodKdNLQ8VhUChWorkspace ID (if present in request)
X-Request-Ide1c2894a-af89-4007-a5ab-293fb0b36e4cUnique request ID
X-Client-Hashdoc-verify-client-hashClient fingerprint
X-Forwarded-ProtohttpsProtocol
CF-Connecting-IP127.0.0.1Client IP
Cf-Raydoc-verify-1774885026549-DEVCloudflare ray ID
cf-ipcountryUSClient country
X-LOCALEenLocale
Content-Typeapplication/jsonContent type

Optional Headers:

HeaderValueDescription
AuthorizationBearerJWT token (if present in request)

Success Response: (HTTP 200)

json
{
  "version": "2.0.0",
  "timestamp": 1774885026555,
  "success": true,
  "code": "2000",
  "message": "Success",
  "data": {
    "items": [],
    "pagination": {
      "totalPages": 0,
      "totalRecords": 0,
      "currentPage": 1,
      "pageSize": 0,
      "hasNext": false,
      "empty": true,
      "paginated": false
    }
  }
}

Error Response: (HTTP 401)

json
{
  "version": "2.0.0",
  "timestamp": 1774885026619,
  "success": false,
  "code": "ACCESS.TOKEN_MISSING",
  "message": "Authentication token is required",
  "data": null
}

GET /web/v1/tenant/recharges/{rechargeBizId}

Get recharges by rechargeBizId.

Required Headers:

HeaderValueDescription
X-PORTAL-ACCESS-CODEpac_xxxPortal access code
AuthorizationBearerJWT token (if present in request)
X-Workspace-IdkPJodKdNLQ8VhUChWorkspace ID (if present in request)
X-Request-Id6622704c-57bf-4ddb-b748-cf2d1a34244eUnique request ID
X-Client-Hashdoc-verify-client-hashClient fingerprint
X-Forwarded-ProtohttpsProtocol
CF-Connecting-IP127.0.0.1Client IP
Cf-Raydoc-verify-1774885026573-DEVCloudflare ray ID
cf-ipcountryUSClient country
X-LOCALEenLocale
Content-Typeapplication/jsonContent type

Success Response: No successful fixture available in source data.

Error Response: (HTTP 404)

json
{
  "version": "2.0.0",
  "timestamp": 1774885026580,
  "success": false,
  "code": "RESOURCE.NOT_FOUND",
  "message": "Resource not found",
  "data": null
}

POST /web/v1/tenant/recharges/{rechargeBizId}/confirm

Confirm recharges by rechargeBizId.

Required Headers:

HeaderValueDescription
X-PORTAL-ACCESS-CODEpac_xxxPortal access code
AuthorizationBearerJWT token (if present in request)
X-Workspace-IdkPJodKdNLQ8VhUChWorkspace ID (if present in request)
X-Request-Id4433e08b-9817-4130-86bb-e62a0ace3563Unique request ID
X-Client-Hashdoc-verify-client-hashClient fingerprint
X-Forwarded-ProtohttpsProtocol
CF-Connecting-IP127.0.0.1Client IP
Cf-Raydoc-verify-1774885026580-DEVCloudflare ray ID
cf-ipcountryUSClient country
X-LOCALEenLocale
Content-Typeapplication/jsonContent type

Request Body:

json
{
  "operatorRemark": "Test confirm remark"
}

Success Response: No successful fixture available in source data.

Error Response: (HTTP 404)

json
{
  "version": "2.0.0",
  "timestamp": 1774885026588,
  "success": false,
  "code": "RESOURCE.NOT_FOUND",
  "message": "Resource not found",
  "data": null
}

POST /web/v1/tenant/recharges/{rechargeBizId}/reject

Reject recharges by rechargeBizId.

Required Headers:

HeaderValueDescription
X-PORTAL-ACCESS-CODEpac_xxxPortal access code
AuthorizationBearerJWT token (if present in request)
X-Workspace-IdkPJodKdNLQ8VhUChWorkspace ID (if present in request)
X-Request-Ida09a7c6a-7d2a-428b-b426-08ca60af0100Unique request ID
X-Client-Hashdoc-verify-client-hashClient fingerprint
X-Forwarded-ProtohttpsProtocol
CF-Connecting-IP127.0.0.1Client IP
Cf-Raydoc-verify-1774885026588-DEVCloudflare ray ID
cf-ipcountryUSClient country
X-LOCALEenLocale
Content-Typeapplication/jsonContent type

Request Body:

json
{
  "operatorRemark": "Test reject remark"
}

Success Response: No successful fixture available in source data.

Error Response: (HTTP 404)

json
{
  "version": "2.0.0",
  "timestamp": 1774885026595,
  "success": false,
  "code": "RESOURCE.NOT_FOUND",
  "message": "Resource not found",
  "data": null
}

POST /web/v1/tenant/recharges/batch-confirm

Submit recharges batch confirm.

Required Headers:

HeaderValueDescription
X-PORTAL-ACCESS-CODEpac_xxxPortal access code
AuthorizationBearerJWT token (if present in request)
X-Workspace-IdkPJodKdNLQ8VhUChWorkspace ID (if present in request)
X-Request-Idc0d039d9-225d-4958-a8dc-b70809a668a8Unique request ID
X-Client-Hashdoc-verify-client-hashClient fingerprint
X-Forwarded-ProtohttpsProtocol
CF-Connecting-IP127.0.0.1Client IP
Cf-Raydoc-verify-1774885026596-DEVCloudflare ray ID
cf-ipcountryUSClient country
X-LOCALEenLocale
Content-Typeapplication/jsonContent type

Request Body:

json
{
  "bizIds": [],
  "operatorRemark": "Batch confirm test"
}

Success Response: No successful fixture available in source data.

Error Response: (HTTP 400)

json
{
  "version": "2.0.0",
  "timestamp": 1774885026601,
  "success": false,
  "code": "VALIDATION.INVALID_PARAMETER",
  "message": "Invalid request parameters",
  "data": null
}

POST /web/v1/tenant/recharges/batch-reject

Submit recharges batch reject.

Required Headers:

HeaderValueDescription
X-PORTAL-ACCESS-CODEpac_xxxPortal access code
AuthorizationBearerJWT token (if present in request)
X-Workspace-IdkPJodKdNLQ8VhUChWorkspace ID (if present in request)
X-Request-Id1ecbc1f1-1a85-43c9-af70-4480fcc621b4Unique request ID
X-Client-Hashdoc-verify-client-hashClient fingerprint
X-Forwarded-ProtohttpsProtocol
CF-Connecting-IP127.0.0.1Client IP
Cf-Raydoc-verify-1774885026608-DEVCloudflare ray ID
cf-ipcountryUSClient country
X-LOCALEenLocale
Content-Typeapplication/jsonContent type

Request Body:

json
{
  "bizIds": [],
  "operatorRemark": "Batch reject test"
}

Success Response: No successful fixture available in source data.

Error Response: (HTTP 400)

json
{
  "version": "2.0.0",
  "timestamp": 1774885026615,
  "success": false,
  "code": "VALIDATION.INVALID_PARAMETER",
  "message": "Invalid request parameters",
  "data": null
}

GET /web/v1/tenant/recharges/stats

Get stats recharges.

Required Headers:

HeaderValueDescription
X-PORTAL-ACCESS-CODEpac_xxxPortal access code
AuthorizationBearerJWT token (if present in request)
X-Workspace-IdkPJodKdNLQ8VhUChWorkspace ID (if present in request)
X-Request-Id2e6df7a5-9a0b-4c84-bba4-aab2020d9bedUnique request ID
X-Client-Hashdoc-verify-client-hashClient fingerprint
X-Forwarded-ProtohttpsProtocol
CF-Connecting-IP127.0.0.1Client IP
Cf-Raydoc-verify-1774885026562-DEVCloudflare ray ID
cf-ipcountryUSClient country
X-LOCALEenLocale
Content-Typeapplication/jsonContent type

Success Response: (HTTP 200)

json
{
  "version": "2.0.0",
  "timestamp": 1774885026567,
  "success": true,
  "code": "2000",
  "message": "Success",
  "data": {
    "totalOrders": 0,
    "totalAmount": 0,
    "byStatus": {},
    "byCurrency": {}
  }
}

Referral Codes


GET /web/v1/tenant/referral-codes/{referralCodeBizId}

Get referral codes by referralCodeBizId.

Required Headers:

HeaderValueDescription
X-PORTAL-ACCESS-CODEpac_xxxPortal access code
AuthorizationBearerJWT token (if present in request)
X-Workspace-IdkPJodKdNLQ8VhUChWorkspace ID (if present in request)
X-Request-Id1ea8f6fe-d003-496f-9370-f72f1677a3c5Unique request ID
X-Client-Hashdoc-verify-client-hashClient fingerprint
X-Forwarded-ProtohttpsProtocol
CF-Connecting-IP127.0.0.1Client IP
Cf-Raydoc-verify-1774885051786-DEVCloudflare ray ID
cf-ipcountryUSClient country
X-LOCALEenLocale
Content-Typeapplication/jsonContent type

Success Response: No successful fixture available in source data.

Error Response: (HTTP 404)

json
{
  "version": "2.0.0",
  "timestamp": 1774885051793,
  "success": false,
  "code": "RESOURCE.NOT_FOUND",
  "message": "Resource not found",
  "data": null
}

POST /web/v1/tenant/referral-codes/query

Query referral codes.

Required Headers:

HeaderValueDescription
X-PORTAL-ACCESS-CODEpac_xxxPortal access code
X-Workspace-IdkPJodKdNLQ8VhUChWorkspace ID (if present in request)
X-Request-Idb388d70b-d25b-411b-99e1-591b342d8131Unique request ID
X-Client-Hashdoc-verify-client-hashClient fingerprint
X-Forwarded-ProtohttpsProtocol
CF-Connecting-IP127.0.0.1Client IP
Cf-Raydoc-verify-1774885051772-DEVCloudflare ray ID
cf-ipcountryUSClient country
X-LOCALEenLocale
Content-Typeapplication/jsonContent type

Optional Headers:

HeaderValueDescription
AuthorizationBearerJWT token (if present in request)

Request Body:

json
{
  "page": 0,
  "size": 20
}

Success Response: (HTTP 200)

json
{
  "version": "2.0.0",
  "timestamp": 1774885051779,
  "success": true,
  "code": "2000",
  "message": "Success",
  "data": {
    "items": [],
    "total": 0,
    "page": 0,
    "size": 20
  }
}

Error Response: (HTTP 401)

json
{
  "version": "2.0.0",
  "timestamp": 1774885051796,
  "success": false,
  "code": "ACCESS.TOKEN_MISSING",
  "message": "Authentication token is required",
  "data": null
}

Referrals


GET /web/v1/tenant/referrals/{referralBizId}

Get referrals by referralBizId.

Required Headers:

HeaderValueDescription
X-PORTAL-ACCESS-CODEpac_xxxPortal access code
AuthorizationBearerJWT token (if present in request)
X-Workspace-IdkPJodKdNLQ8VhUChWorkspace ID (if present in request)
X-Request-Idc54ac181-b80b-4458-933c-f870cefdcf14Unique request ID
X-Client-Hashdoc-verify-client-hashClient fingerprint
X-Forwarded-ProtohttpsProtocol
CF-Connecting-IP127.0.0.1Client IP
Cf-Raydoc-verify-1774885051762-DEVCloudflare ray ID
cf-ipcountryUSClient country
X-LOCALEenLocale
Content-Typeapplication/jsonContent type

Success Response: No successful fixture available in source data.

Error Response: (HTTP 404)

json
{
  "version": "2.0.0",
  "timestamp": 1774885051768,
  "success": false,
  "code": "RESOURCE.NOT_FOUND",
  "message": "Resource not found",
  "data": null
}

POST /web/v1/tenant/referrals/query

Query referrals.

Required Headers:

HeaderValueDescription
X-PORTAL-ACCESS-CODEpac_xxxPortal access code
X-Workspace-IdkPJodKdNLQ8VhUChWorkspace ID (if present in request)
X-Request-Ida381a493-c5f4-4a89-b93a-9ea9957cddc1Unique request ID
X-Client-Hashdoc-verify-client-hashClient fingerprint
X-Forwarded-ProtohttpsProtocol
CF-Connecting-IP127.0.0.1Client IP
Cf-Raydoc-verify-1774885051750-DEVCloudflare ray ID
cf-ipcountryUSClient country
X-LOCALEenLocale
Content-Typeapplication/jsonContent type

Optional Headers:

HeaderValueDescription
AuthorizationBearerJWT token (if present in request)

Request Body:

json
{
  "page": 0,
  "size": 20
}

Success Response: (HTTP 200)

json
{
  "version": "2.0.0",
  "timestamp": 1774885051756,
  "success": true,
  "code": "2000",
  "message": "Success",
  "data": {
    "items": [],
    "total": 0,
    "page": 0,
    "size": 20
  }
}

Error Response: (HTTP 401)

json
{
  "version": "2.0.0",
  "timestamp": 1774885051772,
  "success": false,
  "code": "ACCESS.TOKEN_MISSING",
  "message": "Authentication token is required",
  "data": null
}

Roles


GET /web/v1/tenant/roles

Get roles.

Required Headers:

HeaderValueDescription
X-PORTAL-ACCESS-CODEpac_xxxPortal access code
X-Workspace-IdkPJodKdNLQ8VhUChWorkspace ID (if present in request)
X-Request-Idf35777f2-4cf4-412c-8dcc-59b53312f0aaUnique request ID
X-Client-Hashdoc-verify-client-hashClient fingerprint
X-Forwarded-ProtohttpsProtocol
CF-Connecting-IP127.0.0.1Client IP
Cf-Raydoc-verify-1774885028326-DEVCloudflare ray ID
cf-ipcountryUSClient country
X-LOCALEenLocale
Content-Typeapplication/jsonContent type

Optional Headers:

HeaderValueDescription
AuthorizationBearerJWT token (if present in request)

Success Response: (HTTP 200)

json
{
  "version": "2.0.0",
  "timestamp": 1774885028331,
  "success": true,
  "code": "2000",
  "message": "Success",
  "data": [
    {
      "bizId": "2WU8cXmCUcarmibg",
      "workspaceBizId": "kPJodKdNLQ8VhUCh",
      "roleName": "所有者",
      "roleType": {
        "code": "OWNER",
        "value": 10010901,
        "label": "Owner",
        "description": "Built-in owner role"
      },
      "description": "空间所有者,拥有全部权限",
      "permissionCodes": [],
      "createdAt": "2026-03-30T15:33:08.583849Z",
      "updatedAt": "2026-03-30T15:33:08.583849Z"
    },
    {
      "bizId": "84GPpXiwIzez1lwS",
      "workspaceBizId": "kPJodKdNLQ8VhUCh",
      "roleName": "成员",
      "roleType": {
        "code": "CUSTOM",
        "value": 10010902,
        "label": "Custom",
        "description": "Custom defined role"
      },
      "description": "默认成员角色",
      "permissionCodes": [],
      "createdAt": "2026-03-30T15:33:08.584313Z",
      "updatedAt": "2026-03-30T15:33:08.584313Z"
    }
  ]
}

Error Response: (HTTP 401)

json
{
  "version": "2.0.0",
  "timestamp": 1774885028376,
  "success": false,
  "code": "ACCESS.TOKEN_MISSING",
  "message": "Authentication token is required",
  "data": null
}

POST /web/v1/tenant/roles

Submit roles.

Required Headers:

HeaderValueDescription
X-PORTAL-ACCESS-CODEpac_xxxPortal access code
AuthorizationBearerJWT token (if present in request)
X-Workspace-IdkPJodKdNLQ8VhUChWorkspace ID (if present in request)
X-Request-Ida6947dc7-a16a-4348-943a-0e5d04f2178cUnique request ID
X-Client-Hashdoc-verify-client-hashClient fingerprint
X-Forwarded-ProtohttpsProtocol
CF-Connecting-IP127.0.0.1Client IP
Cf-Raydoc-verify-1774885028331-DEVCloudflare ray ID
cf-ipcountryUSClient country
X-LOCALEenLocale
Content-Typeapplication/jsonContent type

Request Body:

json
{
  "roleName": "dv-role-1774885028331",
  "description": "Created by doc-verify E2E test"
}

Success Response: (HTTP 201)

json
{
  "version": "2.0.0",
  "timestamp": 1774885028337,
  "success": true,
  "code": "2001",
  "message": "Created",
  "data": {
    "bizId": "QvYTpo37TVUMsOvz",
    "workspaceBizId": "kPJodKdNLQ8VhUCh",
    "roleName": "dv-role-1774885028331",
    "roleType": {
      "code": "CUSTOM",
      "value": 10010902,
      "label": "Custom",
      "description": "Custom defined role"
    },
    "description": "Created by doc-verify E2E test",
    "permissionCodes": [],
    "createdAt": "2026-03-30T15:37:08.336323067Z",
    "updatedAt": "2026-03-30T15:37:08.336323067Z"
  }
}

Error Response: (HTTP 400)

json
{
  "version": "2.0.0",
  "timestamp": 1774885028373,
  "success": false,
  "code": "VALIDATION.INVALID_PARAMETER",
  "message": "Invalid request parameters",
  "data": null
}

GET /web/v1/tenant/roles/{roleBizId}

Get roles by roleBizId.

Required Headers:

HeaderValueDescription
X-PORTAL-ACCESS-CODEpac_xxxPortal access code
AuthorizationBearerJWT token (if present in request)
X-Workspace-IdDRLqzfWCheybLgUzWorkspace ID (if present in request)
X-Request-Id24c447a7-f35f-4f0a-8312-12c609d24dfeUnique request ID
X-Client-Hashdoc-verify-client-hashClient fingerprint
X-Forwarded-ProtohttpsProtocol
CF-Connecting-IP127.0.0.1Client IP
Cf-Raydoc-verify-1774872036101-DEVCloudflare ray ID
cf-ipcountryUSClient country
X-LOCALEenLocale
Content-Typeapplication/jsonContent type

Success Response: (HTTP 200)

json
{
  "version": "2.0.0",
  "timestamp": 1774872036107,
  "success": true,
  "code": "2000",
  "message": "Success",
  "data": {
    "bizId": "1OFQX8pZdvWjV0gy",
    "workspaceBizId": "DRLqzfWCheybLgUz",
    "roleName": "dv-role-1774872036095",
    "roleType": {
      "code": "CUSTOM",
      "value": 10010902,
      "label": "Custom",
      "description": "Custom defined role"
    },
    "description": "Created by doc-verify E2E test",
    "permissionCodes": [],
    "createdAt": "2026-03-30T12:00:36.100315Z",
    "updatedAt": "2026-03-30T12:00:36.100315Z"
  }
}

Error Response: (HTTP 404)

json
{
  "version": "2.0.0",
  "timestamp": 1774885028381,
  "success": false,
  "code": "RESOURCE.NOT_FOUND",
  "message": "Resource not found",
  "data": null
}

GET /web/v1/tenant/roles/{roleBizId}/permissions

Get roles by roleBizId permissions.

Required Headers:

HeaderValueDescription
X-PORTAL-ACCESS-CODEpac_xxxPortal access code
AuthorizationBearerJWT token (if present in request)
X-Workspace-IdDRLqzfWCheybLgUzWorkspace ID (if present in request)
X-Request-Id9e9096c3-b414-4628-9567-5c134eb750feUnique request ID
X-Client-Hashdoc-verify-client-hashClient fingerprint
X-Forwarded-ProtohttpsProtocol
CF-Connecting-IP127.0.0.1Client IP
Cf-Raydoc-verify-1774872036124-DEVCloudflare ray ID
cf-ipcountryUSClient country
X-LOCALEenLocale
Content-Typeapplication/jsonContent type

Success Response: (HTTP 200)

json
{
  "version": "2.0.0",
  "timestamp": 1774872036129,
  "success": true,
  "code": "2000",
  "message": "Success",
  "data": [
    "recharge:read",
    "withdrawal:read"
  ]
}

POST /web/v1/tenant/roles/delete

Delete roles.

Required Headers:

HeaderValueDescription
X-PORTAL-ACCESS-CODEpac_xxxPortal access code
AuthorizationBearerJWT token (if present in request)
X-Workspace-IdkPJodKdNLQ8VhUChWorkspace ID (if present in request)
X-Request-Id6d0d0e6d-3611-45dd-afc0-fc49078c3197Unique request ID
X-Client-Hashdoc-verify-client-hashClient fingerprint
X-Forwarded-ProtohttpsProtocol
CF-Connecting-IP127.0.0.1Client IP
Cf-Raydoc-verify-1774885028363-DEVCloudflare ray ID
cf-ipcountryUSClient country
X-LOCALEenLocale
Content-Typeapplication/jsonContent type

Request Body:

json
{
  "roleId": "QvYTpo37TVUMsOvz"
}

Success Response: (HTTP 204)

json
null

POST /web/v1/tenant/roles/permissions

Submit roles permissions.

Required Headers:

HeaderValueDescription
X-PORTAL-ACCESS-CODEpac_xxxPortal access code
AuthorizationBearerJWT token (if present in request)
X-Workspace-IdkPJodKdNLQ8VhUChWorkspace ID (if present in request)
X-Request-Idd5d6d2a7-039e-4010-ae96-c8efe0ee02afUnique request ID
X-Client-Hashdoc-verify-client-hashClient fingerprint
X-Forwarded-ProtohttpsProtocol
CF-Connecting-IP127.0.0.1Client IP
Cf-Raydoc-verify-1774885028350-DEVCloudflare ray ID
cf-ipcountryUSClient country
X-LOCALEenLocale
Content-Typeapplication/jsonContent type

Request Body:

json
{
  "roleId": "QvYTpo37TVUMsOvz",
  "permissionCodes": [
    "recharge:read",
    "withdrawal:read"
  ]
}

Success Response: (HTTP 200)

json
{
  "version": "2.0.0",
  "timestamp": 1774885028357,
  "success": true,
  "code": "2000",
  "message": "Success",
  "data": {
    "bizId": "QvYTpo37TVUMsOvz",
    "workspaceBizId": "kPJodKdNLQ8VhUCh",
    "roleName": "dv-role-updated-1774885028344",
    "roleType": {
      "code": "CUSTOM",
      "value": 10010902,
      "label": "Custom",
      "description": "Custom defined role"
    },
    "description": "Updated by doc-verify E2E test",
    "permissionCodes": [
      "recharge:read",
      "withdrawal:read"
    ],
    "createdAt": "2026-03-30T15:37:08.336323Z",
    "updatedAt": "2026-03-30T15:37:08.349009Z"
  }
}

GET /web/v1/tenant/roles/permissions/tree

Get tree roles permissions.

Required Headers:

HeaderValueDescription
X-PORTAL-ACCESS-CODEpac_xxxPortal access code
AuthorizationBearerJWT token (if present in request)
X-Workspace-IdkPJodKdNLQ8VhUChWorkspace ID (if present in request)
X-Request-Id2fef576a-2175-4047-9e28-beb9de1bd2c1Unique request ID
X-Client-Hashdoc-verify-client-hashClient fingerprint
X-Forwarded-ProtohttpsProtocol
CF-Connecting-IP127.0.0.1Client IP
Cf-Raydoc-verify-1774885028320-DEVCloudflare ray ID
cf-ipcountryUSClient country
X-LOCALEenLocale
Content-Typeapplication/jsonContent type

Success Response: (HTTP 200)

json
{
  "version": "2.0.0",
  "timestamp": 1774885028325,
  "success": true,
  "code": "2000",
  "message": "Success",
  "data": [
    {
      "bizId": "2ff1ff67-35d2-45a2-b2a1-264f93b2bc96",
      "permissionCode": "exchange-config:read",
      "permissionName": "Exchange Config Read",
      "permissionDescription": null,
      "parentBizId": null,
      "permissionGroup": "exchange-config",
      "portalVisibility": null,
      "sortOrder": 5,
      "isEnabled": true,
      "children": []
    },
    {
      "bizId": "d5beebec-86d6-4394-999d-4873053adaf7",
      "permissionCode": "exchange-config:write",
      "permissionName": "Exchange Config Write",
      "permissionDescription": null,
      "parentBizId": null,
      "permissionGroup": "exchange-config",
      "portalVisibility": null,
      "sortOrder": 6,
      "isEnabled": true,
      "children": []
    }
  ]
}

POST /web/v1/tenant/roles/update

Update roles.

Required Headers:

HeaderValueDescription
X-PORTAL-ACCESS-CODEpac_xxxPortal access code
AuthorizationBearerJWT token (if present in request)
X-Workspace-IdkPJodKdNLQ8VhUChWorkspace ID (if present in request)
X-Request-Idad5e7b05-fc19-4818-95f1-ac1517c6751dUnique request ID
X-Client-Hashdoc-verify-client-hashClient fingerprint
X-Forwarded-ProtohttpsProtocol
CF-Connecting-IP127.0.0.1Client IP
Cf-Raydoc-verify-1774885028343-DEVCloudflare ray ID
cf-ipcountryUSClient country
X-LOCALEenLocale
Content-Typeapplication/jsonContent type

Request Body:

json
{
  "roleId": "QvYTpo37TVUMsOvz",
  "roleName": "dv-role-updated-1774885028344",
  "description": "Updated by doc-verify E2E test"
}

Success Response: (HTTP 200)

json
{
  "version": "2.0.0",
  "timestamp": 1774885028350,
  "success": true,
  "code": "2000",
  "message": "Success",
  "data": {
    "bizId": "QvYTpo37TVUMsOvz",
    "workspaceBizId": "kPJodKdNLQ8VhUCh",
    "roleName": "dv-role-updated-1774885028344",
    "roleType": {
      "code": "CUSTOM",
      "value": 10010902,
      "label": "Custom",
      "description": "Custom defined role"
    },
    "description": "Updated by doc-verify E2E test",
    "permissionCodes": [],
    "createdAt": "2026-03-30T15:37:08.336323Z",
    "updatedAt": "2026-03-30T15:37:08.349009136Z"
  }
}

Secure Channel


GET /web/v1/tenant/secure-channel/public-key

Get secure channel public key.

Required Headers:

HeaderValueDescription
X-PORTAL-ACCESS-CODEpac_xxxPortal access code
X-Request-Id9ffa7e27-b134-4f0c-8858-21de84fa58bdUnique request ID
X-Client-Hashdoc-verify-client-hashClient fingerprint
X-Forwarded-ProtohttpsProtocol
CF-Connecting-IP127.0.0.1Client IP
Cf-Raydoc-verify-1774885053560-DEVCloudflare ray ID
cf-ipcountryUSClient country
X-LOCALEenLocale
Content-Typeapplication/jsonContent type

Success Response: (HTTP 200)

json
{
  "version": "2.0.0",
  "timestamp": 1774885053563,
  "success": true,
  "code": "2000",
  "message": "Success",
  "data": {
    "keyId": "98611c863210",
    "publicKey": "MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA4Gw/YT1yLl3bVayyZ9Ax8Urc3Yt5eg6teQWdq82PyEgbtCPttdzrHHUw8FLsg4DNieg45wgrvwZByfiXI2r/hPiN8n0OlJkSEcUQbXXojq6/z8VH9Rq8vwRmIIrwQEa18LOCF+RdSjAGgSZSNthvS79KdwHGr9rXQkDncyXr3Idz7Md8Wk/U3qv2dsUM/G9/5pVR4liEwcmHfVGxh4wn1Biii4xkIZsltc4MFkOJy8QGhYwmw1j6jhlxEZbWsD7+TgI44WxjF+GY/k2LdHuOdyIpQdPb7U6AS84qUmChKpOzL006rDYwvhjxn0bANyNTniBlEg10g/wIdMe2VM9JMQIDAQAB",
    "algorithm": "RSA-OAEP-2048",
    "keySize": 2048,
    "createdAt": "2026-03-30T15:37:16.595562655Z",
    "expiresAt": null
  }
}

POST /web/v1/tenant/secure-channel/session

Submit secure channel session.

Required Headers:

HeaderValueDescription
X-PORTAL-ACCESS-CODEpac_xxxPortal access code
X-Request-Id2825d0da-4f57-4ecc-ab20-ff4c0a2b4b01Unique request ID
X-Client-Hashdoc-verify-client-hashClient fingerprint
X-Forwarded-ProtohttpsProtocol
CF-Connecting-IP127.0.0.1Client IP
Cf-Raydoc-verify-1774885053563-DEVCloudflare ray ID
cf-ipcountryUSClient country
X-LOCALEenLocale
Content-Typeapplication/jsonContent type

Request Body:

json
{
  "keyId": "98611c863210",
  "encReqKey": "dGVzdC1lbmNyeXB0ZWQtcmVxdWVzdC1rZXk=",
  "encRespKey": "dGVzdC1lbmNyeXB0ZWQtcmVzcG9uc2Uta2V5"
}

Success Response: (HTTP 400)

json
{
  "version": "2.0.0",
  "timestamp": 1774885053567,
  "success": false,
  "code": "VALIDATION.INVALID_PARAMETER",
  "message": "Invalid request parameters",
  "data": null
}

Error Response: (HTTP 400)

json
{
  "version": "2.0.0",
  "timestamp": 1774885053571,
  "success": false,
  "code": "SECURE_CHANNEL.INVALID_PAYLOAD",
  "message": "Invalid payload format",
  "data": null
}

POST /web/v1/tenant/secure-channel/session/close

Close secure channel session.

Required Headers:

HeaderValueDescription
X-PORTAL-ACCESS-CODEpac_xxxPortal access code
X-Request-Id8eca4201-2852-423c-80e4-8c9ab033d863Unique request ID
X-Client-Hashdoc-verify-client-hashClient fingerprint
X-Forwarded-ProtohttpsProtocol
CF-Connecting-IP127.0.0.1Client IP
Cf-Raydoc-verify-1774885053571-DEVCloudflare ray ID
cf-ipcountryUSClient country
X-LOCALEenLocale
Content-Typeapplication/jsonContent type

Request Body:

json
{}

Success Response: (HTTP 200)

json
{
  "version": "2.0.0",
  "timestamp": 1774885053574,
  "success": true,
  "code": "2004",
  "message": "No Content",
  "data": null
}

Error Response: (HTTP 500)

json
{
  "version": "2.0.0",
  "timestamp": 1774885053578,
  "success": false,
  "code": "SYSTEM.INTERNAL_ERROR",
  "message": "Internal server error",
  "data": null
}

Security


GET /web/v1/tenant/security/ip-whitelist

Get security ip whitelist.

Required Headers:

HeaderValueDescription
X-PORTAL-ACCESS-CODEpac_xxxPortal access code
AuthorizationBearerJWT token (if present in request)
X-Request-Id898fbda8-c1aa-4091-997c-04d85445d5f2Unique request ID
X-Client-Hashdoc-verify-client-hashClient fingerprint
X-Forwarded-ProtohttpsProtocol
CF-Connecting-IP127.0.0.1Client IP
Cf-Raydoc-verify-1774885049582-DEVCloudflare ray ID
cf-ipcountryUSClient country
X-LOCALEenLocale
Content-Typeapplication/jsonContent type

Success Response: (HTTP 200)

json
{
  "version": "2.0.0",
  "timestamp": 1774885049586,
  "success": true,
  "code": "2000",
  "message": "Success",
  "data": {
    "enabled": false,
    "entries": []
  }
}

POST /web/v1/tenant/security/ip-whitelist

Submit security ip whitelist.

Required Headers:

HeaderValueDescription
X-PORTAL-ACCESS-CODEpac_xxxPortal access code
AuthorizationBearerJWT token (if present in request)
X-Request-Id77e87a62-c353-40cb-97e7-5b09eefdfb77Unique request ID
X-Client-Hashdoc-verify-client-hashClient fingerprint
X-Forwarded-ProtohttpsProtocol
CF-Connecting-IP127.0.0.1Client IP
Cf-Raydoc-verify-1774885049586-DEVCloudflare ray ID
cf-ipcountryUSClient country
X-LOCALEenLocale
Content-Typeapplication/jsonContent type

Request Body:

json
{
  "ips": [
    "192.168.1.1"
  ]
}

Success Response: No successful fixture available in source data.

Error Response: (HTTP 400)

json
{
  "version": "2.0.0",
  "timestamp": 1774885049592,
  "success": false,
  "code": "VALIDATION.INVALID_PARAMETER",
  "message": "Invalid request parameters",
  "data": null
}

POST /web/v1/tenant/security/ip-whitelist/disable

Disable security ip whitelist.

Required Headers:

HeaderValueDescription
X-PORTAL-ACCESS-CODEpac_xxxPortal access code
AuthorizationBearerJWT token (if present in request)
X-Request-Id69896eed-405c-42be-abf8-f2023d4c1506Unique request ID
X-Client-Hashdoc-verify-client-hashClient fingerprint
X-Forwarded-ProtohttpsProtocol
CF-Connecting-IP127.0.0.1Client IP
Cf-Raydoc-verify-1774885049598-DEVCloudflare ray ID
cf-ipcountryUSClient country
X-LOCALEenLocale
Content-Typeapplication/jsonContent type

Request Body:

json
{}

Success Response: (HTTP 200)

json
{
  "version": "2.0.0",
  "timestamp": 1774885049603,
  "success": true,
  "code": "2004",
  "message": "No Content",
  "data": null
}

POST /web/v1/tenant/security/ip-whitelist/enable

Enable security ip whitelist.

Required Headers:

HeaderValueDescription
X-PORTAL-ACCESS-CODEpac_xxxPortal access code
AuthorizationBearerJWT token (if present in request)
X-Request-Id11aa8d4c-9579-44ed-87b0-ec6a8a3a6fc6Unique request ID
X-Client-Hashdoc-verify-client-hashClient fingerprint
X-Forwarded-ProtohttpsProtocol
CF-Connecting-IP127.0.0.1Client IP
Cf-Raydoc-verify-1774885049592-DEVCloudflare ray ID
cf-ipcountryUSClient country
X-LOCALEenLocale
Content-Typeapplication/jsonContent type

Request Body:

json
{}

Success Response: (HTTP 200)

json
{
  "version": "2.0.0",
  "timestamp": 1774885049598,
  "success": true,
  "code": "2004",
  "message": "No Content",
  "data": null
}

GET /web/v1/tenant/security/mfa

Get security mfa.

Required Headers:

HeaderValueDescription
X-PORTAL-ACCESS-CODEpac_xxxPortal access code
X-Request-Id6f07f9fd-d8af-40ad-8e39-995bf1c16f57Unique request ID
X-Client-Hashdoc-verify-client-hashClient fingerprint
X-Forwarded-ProtohttpsProtocol
CF-Connecting-IP127.0.0.1Client IP
Cf-Raydoc-verify-1774885049515-DEVCloudflare ray ID
cf-ipcountryUSClient country
X-LOCALEenLocale
Content-Typeapplication/jsonContent type

Optional Headers:

HeaderValueDescription
AuthorizationBearerJWT token (if present in request)

Success Response: (HTTP 200)

json
{
  "version": "2.0.0",
  "timestamp": 1774885049520,
  "success": true,
  "code": "2000",
  "message": "Success",
  "data": [
    {
      "mfaMethod": {
        "code": "EMAIL",
        "value": 10011001,
        "label": "Email",
        "description": "Email verification code"
      },
      "isEnabled": true,
      "isPrimary": true,
      "verifiedAt": null
    }
  ]
}

Error Response: (HTTP 401)

json
{
  "version": "2.0.0",
  "timestamp": 1774885049615,
  "success": false,
  "code": "ACCESS.TOKEN_MISSING",
  "message": "Authentication token is required",
  "data": null
}

GET /web/v1/tenant/security/mfa/backup-codes

Get security mfa backup codes.

Required Headers:

HeaderValueDescription
X-PORTAL-ACCESS-CODEpac_xxxPortal access code
AuthorizationBearerJWT token (if present in request)
X-Request-Idc6d2991f-d28a-44a0-be60-69b97515f373Unique request ID
X-Client-Hashdoc-verify-client-hashClient fingerprint
X-Forwarded-ProtohttpsProtocol
CF-Connecting-IP127.0.0.1Client IP
Cf-Raydoc-verify-1774885049520-DEVCloudflare ray ID
cf-ipcountryUSClient country
X-LOCALEenLocale
Content-Typeapplication/jsonContent type

Success Response: (HTTP 200)

json
{
  "version": "2.0.0",
  "timestamp": 1774885049524,
  "success": true,
  "code": "2000",
  "message": "Success",
  "data": {
    "remainingCount": 10,
    "totalGenerated": 10
  }
}

POST /web/v1/tenant/security/mfa/backup-codes/generate

Generate security mfa backup codes.

Required Headers:

HeaderValueDescription
X-PORTAL-ACCESS-CODEpac_xxxPortal access code
AuthorizationBearerJWT token (if present in request)
X-Request-Id89dda520-8be8-4017-a9e5-11d37be40be4Unique request ID
X-Client-Hashdoc-verify-client-hashClient fingerprint
X-Forwarded-ProtohttpsProtocol
CF-Connecting-IP127.0.0.1Client IP
Cf-Raydoc-verify-1774885049541-DEVCloudflare ray ID
cf-ipcountryUSClient country
X-LOCALEenLocale
Content-Typeapplication/jsonContent type

Request Body:

json
{}

Success Response: No successful fixture available in source data.

Error Response: (HTTP 500)

json
{
  "version": "2.0.0",
  "timestamp": 1774885049546,
  "success": false,
  "code": "SYSTEM.INTERNAL_ERROR",
  "message": "Internal server error",
  "data": null
}

POST /web/v1/tenant/security/mfa/otp/revoke

Revoke security mfa otp.

Required Headers:

HeaderValueDescription
X-PORTAL-ACCESS-CODEpac_xxxPortal access code
AuthorizationBearerJWT token (if present in request)
X-Request-Id1a87626a-0fd9-4415-b18a-c36258e79133Unique request ID
X-Client-Hashdoc-verify-client-hashClient fingerprint
X-Forwarded-ProtohttpsProtocol
CF-Connecting-IP127.0.0.1Client IP
Cf-Raydoc-verify-1774885049535-DEVCloudflare ray ID
cf-ipcountryUSClient country
X-LOCALEenLocale
Content-Typeapplication/jsonContent type

Request Body:

json
{}

Success Response: No successful fixture available in source data.

Error Response: (HTTP 400)

json
{
  "version": "2.0.0",
  "timestamp": 1774885049540,
  "success": false,
  "code": "VALIDATION.INVALID_PARAMETER",
  "message": "Invalid request parameters",
  "data": null
}

POST /web/v1/tenant/security/mfa/otp/setup

Set up security mfa otp.

Required Headers:

HeaderValueDescription
X-PORTAL-ACCESS-CODEpac_xxxPortal access code
AuthorizationBearerJWT token (if present in request)
X-Request-Idc5f86317-b8e3-438a-911b-bf7dac03469fUnique request ID
X-Client-Hashdoc-verify-client-hashClient fingerprint
X-Forwarded-ProtohttpsProtocol
CF-Connecting-IP127.0.0.1Client IP
Cf-Raydoc-verify-1774885049524-DEVCloudflare ray ID
cf-ipcountryUSClient country
X-LOCALEenLocale
Content-Typeapplication/jsonContent type

Request Body:

json
{}

Success Response: (HTTP 200)

json
{
  "version": "2.0.0",
  "timestamp": 1774885049529,
  "success": true,
  "code": "2000",
  "message": "Success",
  "data": {
    "secret": "NMJRDMJAPTHAMZHL5CMIMCKBX3IQLTUN",
    "qrCodeUri": "otpauth://totp/SlaunchX:tenant@slaunchx.test?secret=NMJRDMJAPTHAMZHL5CMIMCKBX3IQLTUN&issuer=SlaunchX",
    "issuer": "SlaunchX",
    "accountName": "tenant@slaunchx.test"
  }
}

POST /web/v1/tenant/security/mfa/otp/verify

Verify security mfa otp.

Required Headers:

HeaderValueDescription
X-PORTAL-ACCESS-CODEpac_xxxPortal access code
AuthorizationBearerJWT token (if present in request)
X-Request-Ida908a245-4cd0-470b-86da-742191e11059Unique request ID
X-Client-Hashdoc-verify-client-hashClient fingerprint
X-Forwarded-ProtohttpsProtocol
CF-Connecting-IP127.0.0.1Client IP
Cf-Raydoc-verify-1774885049529-DEVCloudflare ray ID
cf-ipcountryUSClient country
X-LOCALEenLocale
Content-Typeapplication/jsonContent type

Request Body:

json
{
  "code": "123456"
}

Success Response: No successful fixture available in source data.

Error Response: (HTTP 400)

json
{
  "version": "2.0.0",
  "timestamp": 1774885049535,
  "success": false,
  "code": "AUTH.MFA_CODE_INVALID",
  "message": "Verification code is invalid",
  "data": null
}

GET /web/v1/tenant/security/sessions

Get security sessions.

Required Headers:

HeaderValueDescription
X-PORTAL-ACCESS-CODEpac_xxxPortal access code
AuthorizationBearerJWT token (if present in request)
X-Request-Id16a31526-bc4c-466a-a94f-8fd18b002853Unique request ID
X-Client-Hashdoc-verify-client-hashClient fingerprint
X-Forwarded-ProtohttpsProtocol
CF-Connecting-IP127.0.0.1Client IP
Cf-Raydoc-verify-1774885049563-DEVCloudflare ray ID
cf-ipcountryUSClient country
X-LOCALEenLocale
Content-Typeapplication/jsonContent type

Success Response: (HTTP 200)

json
{
  "version": "2.0.0",
  "timestamp": 1774885049567,
  "success": true,
  "code": "2000",
  "message": "Success",
  "data": [
    {
      "sessionId": "{sessionId}",
      "clientIp": "127.0.0.1",
      "userAgent": "slaunchx-doc-verify/1.0",
      "loginTime": "2026-03-30T15:37:29.512980912Z",
      "lastActivityTime": "2026-03-30T15:37:29.512980912Z",
      "isCurrent": true
    }
  ]
}

GET /web/v1/tenant/security/sessions/config

Get config security sessions.

Required Headers:

HeaderValueDescription
X-PORTAL-ACCESS-CODEpac_xxxPortal access code
AuthorizationBearerJWT token (if present in request)
X-Request-Id73d4727f-d28e-41d2-89a5-8a02f6aa8441Unique request ID
X-Client-Hashdoc-verify-client-hashClient fingerprint
X-Forwarded-ProtohttpsProtocol
CF-Connecting-IP127.0.0.1Client IP
Cf-Raydoc-verify-1774885049547-DEVCloudflare ray ID
cf-ipcountryUSClient country
X-LOCALEenLocale
Content-Typeapplication/jsonContent type

Success Response: (HTTP 200)

json
{
  "version": "2.0.0",
  "timestamp": 1774885049551,
  "success": true,
  "code": "2000",
  "message": "Success",
  "data": {
    "accountBizId": "MX1yt7ElRR4NG7aN",
    "ssoEnabled": true,
    "maxSessions": 3,
    "passwordChangedAt": null,
    "lastLoginAt": null,
    "lastLoginIp": null
  }
}

POST /web/v1/tenant/security/sessions/config

Submit security sessions config.

Required Headers:

HeaderValueDescription
X-PORTAL-ACCESS-CODEpac_xxxPortal access code
AuthorizationBearerJWT token (if present in request)
X-Request-Iddadba72b-cd86-4f40-867b-1a548eaba245Unique request ID
X-Client-Hashdoc-verify-client-hashClient fingerprint
X-Forwarded-ProtohttpsProtocol
CF-Connecting-IP127.0.0.1Client IP
Cf-Raydoc-verify-1774885049552-DEVCloudflare ray ID
cf-ipcountryUSClient country
X-LOCALEenLocale
Content-Typeapplication/jsonContent type

Request Body:

json
{
  "maxConcurrentSessions": 5
}

Success Response: (HTTP 200)

json
{
  "version": "2.0.0",
  "timestamp": 1774885049563,
  "success": true,
  "code": "2000",
  "message": "Success",
  "data": {
    "accountBizId": "MX1yt7ElRR4NG7aN",
    "ssoEnabled": true,
    "maxSessions": 3,
    "passwordChangedAt": null,
    "lastLoginAt": null,
    "lastLoginIp": null
  }
}

GET /web/v1/tenant/security/sessions/history

Get history security sessions.

Required Headers:

HeaderValueDescription
X-PORTAL-ACCESS-CODEpac_xxxPortal access code
AuthorizationBearerJWT token (if present in request)
X-Request-Id7c730765-1f07-40dc-9112-c562e690ac39Unique request ID
X-Client-Hashdoc-verify-client-hashClient fingerprint
X-Forwarded-ProtohttpsProtocol
CF-Connecting-IP127.0.0.1Client IP
Cf-Raydoc-verify-1774885049568-DEVCloudflare ray ID
cf-ipcountryUSClient country
X-LOCALEenLocale
Content-Typeapplication/jsonContent type

Success Response: (HTTP 200)

json
{
  "version": "2.0.0",
  "timestamp": 1774885049572,
  "success": true,
  "code": "2000",
  "message": "Success",
  "data": {
    "items": [
      {
        "bizId": "lh-d33f8f86-e34a-43b0-96bf-3c275a9712d9",
        "loginTime": "2026-03-30T15:37:29.513977Z",
        "clientIp": "127.0.0.1",
        "userAgent": "slaunchx-doc-verify/1.0",
        "loginResult": 1,
        "failureReason": null
      },
      {
        "bizId": "lh-d43e9524-79e0-43e3-9bfe-4a4712ede85f",
        "loginTime": "2026-03-30T15:37:28.706894Z",
        "clientIp": "127.0.0.1",
        "userAgent": "slaunchx-doc-verify/1.0",
        "loginResult": 1,
        "failureReason": null
      }
    ],
    "pagination": {
      "totalPages": 5,
      "totalRecords": 83,
      "currentPage": 1,
      "pageSize": 20,
      "hasNext": true,
      "empty": false,
      "paginated": true
    }
  }
}

POST /web/v1/tenant/security/sessions/terminate

Terminate security sessions.

Required Headers:

HeaderValueDescription
X-PORTAL-ACCESS-CODEpac_xxxPortal access code
AuthorizationBearerJWT token (if present in request)
X-Request-Idf457ab79-4a68-4185-ac9c-76bdae1d6f04Unique request ID
X-Client-Hashdoc-verify-client-hashClient fingerprint
X-Forwarded-ProtohttpsProtocol
CF-Connecting-IP127.0.0.1Client IP
Cf-Raydoc-verify-1774885049578-DEVCloudflare ray ID
cf-ipcountryUSClient country
X-LOCALEenLocale
Content-Typeapplication/jsonContent type

Request Body:

json
{
  "sessionId": "{sessionId}"
}

Success Response: (HTTP 200)

json
{
  "version": "2.0.0",
  "timestamp": 1774885049582,
  "success": true,
  "code": "2000",
  "message": "Success",
  "data": null
}

Settlement Accounts


GET /web/v1/tenant/settlement-accounts

Get settlement accounts.

Required Headers:

HeaderValueDescription
X-PORTAL-ACCESS-CODEpac_xxxPortal access code
X-Workspace-IdkPJodKdNLQ8VhUChWorkspace ID (if present in request)
X-Request-Idfc59c89c-2976-4e90-9bfe-a03e1869e690Unique request ID
X-Client-Hashdoc-verify-client-hashClient fingerprint
X-Forwarded-ProtohttpsProtocol
CF-Connecting-IP127.0.0.1Client IP
Cf-Raydoc-verify-1774885050457-DEVCloudflare ray ID
cf-ipcountryUSClient country
X-LOCALEenLocale
Content-Typeapplication/jsonContent type

Optional Headers:

HeaderValueDescription
AuthorizationBearerJWT token (if present in request)

Success Response: (HTTP 200)

json
{
  "version": "2.0.0",
  "timestamp": 1774885050464,
  "success": true,
  "code": "2000",
  "message": "Success",
  "data": []
}

Error Response: (HTTP 401)

json
{
  "version": "2.0.0",
  "timestamp": 1774885050516,
  "success": false,
  "code": "ACCESS.TOKEN_MISSING",
  "message": "Authentication token is required",
  "data": null
}

GET /web/v1/tenant/settlement-accounts/{settlementAccountBizId}

Get settlement accounts by settlementAccountBizId.

Required Headers:

HeaderValueDescription
X-PORTAL-ACCESS-CODEpac_xxxPortal access code
AuthorizationBearerJWT token (if present in request)
X-Workspace-IdkPJodKdNLQ8VhUChWorkspace ID (if present in request)
X-Request-Id5dd979c3-cbd1-426d-9c33-cf9003305c3eUnique request ID
X-Client-Hashdoc-verify-client-hashClient fingerprint
X-Forwarded-ProtohttpsProtocol
CF-Connecting-IP127.0.0.1Client IP
Cf-Raydoc-verify-1774885050474-DEVCloudflare ray ID
cf-ipcountryUSClient country
X-LOCALEenLocale
Content-Typeapplication/jsonContent type

Success Response: No successful fixture available in source data.

Error Response: (HTTP 404)

json
{
  "version": "2.0.0",
  "timestamp": 1774885050482,
  "success": false,
  "code": "RESOURCE.NOT_FOUND",
  "message": "Resource not found",
  "data": null
}

GET /web/v1/tenant/settlement-accounts/{settlementAccountBizId}/flows

Get settlement accounts by settlementAccountBizId flows.

Required Headers:

HeaderValueDescription
X-PORTAL-ACCESS-CODEpac_xxxPortal access code
AuthorizationBearerJWT token (if present in request)
X-Workspace-IdkPJodKdNLQ8VhUChWorkspace ID (if present in request)
X-Request-Id5722aebe-1b85-4f97-aefd-974df4195a86Unique request ID
X-Client-Hashdoc-verify-client-hashClient fingerprint
X-Forwarded-ProtohttpsProtocol
CF-Connecting-IP127.0.0.1Client IP
Cf-Raydoc-verify-1774885050482-DEVCloudflare ray ID
cf-ipcountryUSClient country
X-LOCALEenLocale
Content-Typeapplication/jsonContent type

Success Response: No successful fixture available in source data.

Error Response: (HTTP 404)

json
{
  "version": "2.0.0",
  "timestamp": 1774885050489,
  "success": false,
  "code": "RESOURCE.NOT_FOUND",
  "message": "Resource not found",
  "data": null
}

GET /web/v1/tenant/settlement-accounts/dashboard

Get dashboard settlement accounts.

Required Headers:

HeaderValueDescription
X-PORTAL-ACCESS-CODEpac_xxxPortal access code
AuthorizationBearerJWT token (if present in request)
X-Workspace-IdkPJodKdNLQ8VhUChWorkspace ID (if present in request)
X-Request-Id7548ee17-676c-4f2d-8d4b-805677a70849Unique request ID
X-Client-Hashdoc-verify-client-hashClient fingerprint
X-Forwarded-ProtohttpsProtocol
CF-Connecting-IP127.0.0.1Client IP
Cf-Raydoc-verify-1774885050497-DEVCloudflare ray ID
cf-ipcountryUSClient country
X-LOCALEenLocale
Content-Typeapplication/jsonContent type

Success Response: (HTTP 200)

json
{
  "version": "2.0.0",
  "timestamp": 1774885050504,
  "success": true,
  "code": "2000",
  "message": "Success",
  "data": {
    "totalCredit": 0,
    "totalDebit": 0,
    "netProfit": 0,
    "feeBreakdowns": [
      {
        "productLine": "RECHARGE_FEE",
        "creditAmount": 0,
        "debitAmount": 0
      },
      {
        "productLine": "WITHDRAW_FEE",
        "creditAmount": 0,
        "debitAmount": 0
      }
    ]
  }
}

Slash


GET /web/v1/tenant/slash/connections

Get slash connections.

Required Headers:

HeaderValueDescription
X-PORTAL-ACCESS-CODEpac_xxxPortal access code
X-Workspace-IdkPJodKdNLQ8VhUChWorkspace ID (if present in request)
X-Request-Id34fa0dbc-c4cb-466e-9013-a15cfc56673dUnique request ID
X-Client-Hashdoc-verify-client-hashClient fingerprint
X-Forwarded-ProtohttpsProtocol
CF-Connecting-IP127.0.0.1Client IP
Cf-Raydoc-verify-1774885025311-DEVCloudflare ray ID
cf-ipcountryUSClient country
X-LOCALEenLocale
Content-Typeapplication/jsonContent type

Optional Headers:

HeaderValueDescription
AuthorizationBearerJWT token (if present in request)

Success Response: (HTTP 200)

json
{
  "version": "2.0.0",
  "timestamp": 1774885025317,
  "success": true,
  "code": "2000",
  "message": "Success",
  "data": []
}

Error Response: (HTTP 401)

json
{
  "version": "2.0.0",
  "timestamp": 1774885025462,
  "success": false,
  "code": "ACCESS.TOKEN_MISSING",
  "message": "Authentication token is required",
  "data": null
}

GET /web/v1/tenant/slash/connections/{connectionBizId}

Get slash connections by connectionBizId.

Required Headers:

HeaderValueDescription
X-PORTAL-ACCESS-CODEpac_xxxPortal access code
AuthorizationBearerJWT token (if present in request)
X-Workspace-IdkPJodKdNLQ8VhUChWorkspace ID (if present in request)
X-Request-Id4a969e65-ca3e-478a-826a-11954befb1f1Unique request ID
X-Client-Hashdoc-verify-client-hashClient fingerprint
X-Forwarded-ProtohttpsProtocol
CF-Connecting-IP127.0.0.1Client IP
Cf-Raydoc-verify-1774885025317-DEVCloudflare ray ID
cf-ipcountryUSClient country
X-LOCALEenLocale
Content-Typeapplication/jsonContent type

Success Response: No successful fixture available in source data.

Error Response: (HTTP 500)

json
{
  "version": "2.0.0",
  "timestamp": 1774885025323,
  "success": false,
  "code": "SYSTEM.INTERNAL_ERROR",
  "message": "Internal server error",
  "data": null
}

GET /web/v1/tenant/slash/connections/{connectionBizId}/accounts/{accountBizId}

Get slash connections by connectionBizId accounts by accountBizId.

Required Headers:

HeaderValueDescription
X-PORTAL-ACCESS-CODEpac_xxxPortal access code
AuthorizationBearerJWT token (if present in request)
X-Workspace-IdkPJodKdNLQ8VhUChWorkspace ID (if present in request)
X-Request-Ide97c4679-7526-4c08-a780-fb4b6ffdaa43Unique request ID
X-Client-Hashdoc-verify-client-hashClient fingerprint
X-Forwarded-ProtohttpsProtocol
CF-Connecting-IP127.0.0.1Client IP
Cf-Raydoc-verify-1774885025351-DEVCloudflare ray ID
cf-ipcountryUSClient country
X-LOCALEenLocale
Content-Typeapplication/jsonContent type

Success Response: No successful fixture available in source data.

Error Response: (HTTP 500)

json
{
  "version": "2.0.0",
  "timestamp": 1774885025358,
  "success": false,
  "code": "SYSTEM.INTERNAL_ERROR",
  "message": "Internal server error",
  "data": null
}

GET /web/v1/tenant/slash/connections/{connectionBizId}/accounts/{accountBizId}/balances

Get slash connections by connectionBizId accounts by accountBizId balances.

Required Headers:

HeaderValueDescription
X-PORTAL-ACCESS-CODEpac_xxxPortal access code
AuthorizationBearerJWT token (if present in request)
X-Workspace-IdkPJodKdNLQ8VhUChWorkspace ID (if present in request)
X-Request-Idc30a77a5-552e-460e-b1e7-97ca2f757f6eUnique request ID
X-Client-Hashdoc-verify-client-hashClient fingerprint
X-Forwarded-ProtohttpsProtocol
CF-Connecting-IP127.0.0.1Client IP
Cf-Raydoc-verify-1774885025358-DEVCloudflare ray ID
cf-ipcountryUSClient country
X-LOCALEenLocale
Content-Typeapplication/jsonContent type

Success Response: No successful fixture available in source data.

Error Response: (HTTP 500)

json
{
  "version": "2.0.0",
  "timestamp": 1774885025363,
  "success": false,
  "code": "SYSTEM.INTERNAL_ERROR",
  "message": "Internal server error",
  "data": null
}

GET /web/v1/tenant/slash/connections/{connectionBizId}/balances/top-level

Get slash connections by connectionBizId balances top level.

Required Headers:

HeaderValueDescription
X-PORTAL-ACCESS-CODEpac_xxxPortal access code
AuthorizationBearerJWT token (if present in request)
X-Workspace-IdkPJodKdNLQ8VhUChWorkspace ID (if present in request)
X-Request-Idb87fcff5-1802-45fc-845c-70fb67d7be6dUnique request ID
X-Client-Hashdoc-verify-client-hashClient fingerprint
X-Forwarded-ProtohttpsProtocol
CF-Connecting-IP127.0.0.1Client IP
Cf-Raydoc-verify-1774885025364-DEVCloudflare ray ID
cf-ipcountryUSClient country
X-LOCALEenLocale
Content-Typeapplication/jsonContent type

Success Response: No successful fixture available in source data.

Error Response: (HTTP 500)

json
{
  "version": "2.0.0",
  "timestamp": 1774885025370,
  "success": false,
  "code": "SYSTEM.INTERNAL_ERROR",
  "message": "Internal server error",
  "data": null
}

GET /web/v1/tenant/slash/connections/{connectionBizId}/cards

Get slash connections by connectionBizId cards.

Required Headers:

HeaderValueDescription
X-PORTAL-ACCESS-CODEpac_xxxPortal access code
AuthorizationBearerJWT token (if present in request)
X-Workspace-IdkPJodKdNLQ8VhUChWorkspace ID (if present in request)
X-Request-Id41fa55ee-7a06-4529-8d9c-7bfa7e3a55e1Unique request ID
X-Client-Hashdoc-verify-client-hashClient fingerprint
X-Forwarded-ProtohttpsProtocol
CF-Connecting-IP127.0.0.1Client IP
Cf-Raydoc-verify-1774885025385-DEVCloudflare ray ID
cf-ipcountryUSClient country
X-LOCALEenLocale
Content-Typeapplication/jsonContent type

Success Response: No successful fixture available in source data.

Error Response: (HTTP 500)

json
{
  "version": "2.0.0",
  "timestamp": 1774885025391,
  "success": false,
  "code": "SYSTEM.INTERNAL_ERROR",
  "message": "Internal server error",
  "data": null
}

GET /web/v1/tenant/slash/connections/{connectionBizId}/cards/{cardBizId}

Get slash connections by connectionBizId cards by cardBizId.

Required Headers:

HeaderValueDescription
X-PORTAL-ACCESS-CODEpac_xxxPortal access code
AuthorizationBearerJWT token (if present in request)
X-Workspace-IdkPJodKdNLQ8VhUChWorkspace ID (if present in request)
X-Request-Id3994aa1b-1c65-4dbb-98e0-62e4926c3742Unique request ID
X-Client-Hashdoc-verify-client-hashClient fingerprint
X-Forwarded-ProtohttpsProtocol
CF-Connecting-IP127.0.0.1Client IP
Cf-Raydoc-verify-1774885025392-DEVCloudflare ray ID
cf-ipcountryUSClient country
X-LOCALEenLocale
Content-Typeapplication/jsonContent type

Success Response: No successful fixture available in source data.

Error Response: (HTTP 500)

json
{
  "version": "2.0.0",
  "timestamp": 1774885025398,
  "success": false,
  "code": "SYSTEM.INTERNAL_ERROR",
  "message": "Internal server error",
  "data": null
}

GET /web/v1/tenant/slash/connections/{connectionBizId}/payments/handles

Get slash connections by connectionBizId payments handles.

Required Headers:

HeaderValueDescription
X-PORTAL-ACCESS-CODEpac_xxxPortal access code
AuthorizationBearerJWT token (if present in request)
X-Workspace-IdkPJodKdNLQ8VhUChWorkspace ID (if present in request)
X-Request-Id5b3afdfe-67e6-4c76-9f3a-e16417c83fafUnique request ID
X-Client-Hashdoc-verify-client-hashClient fingerprint
X-Forwarded-ProtohttpsProtocol
CF-Connecting-IP127.0.0.1Client IP
Cf-Raydoc-verify-1774885025425-DEVCloudflare ray ID
cf-ipcountryUSClient country
X-LOCALEenLocale
Content-Typeapplication/jsonContent type

Success Response: No successful fixture available in source data.

Error Response: (HTTP 500)

json
{
  "version": "2.0.0",
  "timestamp": 1774885025432,
  "success": false,
  "code": "SYSTEM.INTERNAL_ERROR",
  "message": "Internal server error",
  "data": null
}

GET /web/v1/tenant/slash/connections/{connectionBizId}/transactions

Get slash connections by connectionBizId transactions.

Required Headers:

HeaderValueDescription
X-PORTAL-ACCESS-CODEpac_xxxPortal access code
AuthorizationBearerJWT token (if present in request)
X-Workspace-IdkPJodKdNLQ8VhUChWorkspace ID (if present in request)
X-Request-Id9f88d10d-65e6-4f8d-bd2f-58f091398a83Unique request ID
X-Client-Hashdoc-verify-client-hashClient fingerprint
X-Forwarded-ProtohttpsProtocol
CF-Connecting-IP127.0.0.1Client IP
Cf-Raydoc-verify-1774885025432-DEVCloudflare ray ID
cf-ipcountryUSClient country
X-LOCALEenLocale
Content-Typeapplication/jsonContent type

Success Response: No successful fixture available in source data.

Error Response: (HTTP 500)

json
{
  "version": "2.0.0",
  "timestamp": 1774885025439,
  "success": false,
  "code": "SYSTEM.INTERNAL_ERROR",
  "message": "Internal server error",
  "data": null
}

GET /web/v1/tenant/slash/connections/{connectionBizId}/transactions/{transactionBizId}

Get slash connections by connectionBizId transactions by transactionBizId.

Required Headers:

HeaderValueDescription
X-PORTAL-ACCESS-CODEpac_xxxPortal access code
AuthorizationBearerJWT token (if present in request)
X-Workspace-IdkPJodKdNLQ8VhUChWorkspace ID (if present in request)
X-Request-Id25fbc152-d675-43f8-ba72-42784db20579Unique request ID
X-Client-Hashdoc-verify-client-hashClient fingerprint
X-Forwarded-ProtohttpsProtocol
CF-Connecting-IP127.0.0.1Client IP
Cf-Raydoc-verify-1774885025439-DEVCloudflare ray ID
cf-ipcountryUSClient country
X-LOCALEenLocale
Content-Typeapplication/jsonContent type

Success Response: No successful fixture available in source data.

Error Response: (HTTP 500)

json
{
  "version": "2.0.0",
  "timestamp": 1774885025445,
  "success": false,
  "code": "SYSTEM.INTERNAL_ERROR",
  "message": "Internal server error",
  "data": null
}

GET /web/v1/tenant/slash/connections/{connectionBizId}/transactions/{transactionBizId}/fee-details

Get slash connections by connectionBizId transactions by transactionBizId fee details.

Required Headers:

HeaderValueDescription
X-PORTAL-ACCESS-CODEpac_xxxPortal access code
AuthorizationBearerJWT token (if present in request)
X-Workspace-IdkPJodKdNLQ8VhUChWorkspace ID (if present in request)
X-Request-Id3a593345-85a7-4ab2-9e31-b9042e56ebafUnique request ID
X-Client-Hashdoc-verify-client-hashClient fingerprint
X-Forwarded-ProtohttpsProtocol
CF-Connecting-IP127.0.0.1Client IP
Cf-Raydoc-verify-1774885025446-DEVCloudflare ray ID
cf-ipcountryUSClient country
X-LOCALEenLocale
Content-Typeapplication/jsonContent type

Success Response: No successful fixture available in source data.

Error Response: (HTTP 500)

json
{
  "version": "2.0.0",
  "timestamp": 1774885025452,
  "success": false,
  "code": "SYSTEM.INTERNAL_ERROR",
  "message": "Internal server error",
  "data": null
}

GET /web/v1/tenant/slash/connections/{connectionBizId}/transactions/aggregation

Get slash connections by connectionBizId transactions aggregation.

Required Headers:

HeaderValueDescription
X-PORTAL-ACCESS-CODEpac_xxxPortal access code
AuthorizationBearerJWT token (if present in request)
X-Workspace-IdkPJodKdNLQ8VhUChWorkspace ID (if present in request)
X-Request-Ide7a76346-4814-4710-bde4-1df3c929fa3eUnique request ID
X-Client-Hashdoc-verify-client-hashClient fingerprint
X-Forwarded-ProtohttpsProtocol
CF-Connecting-IP127.0.0.1Client IP
Cf-Raydoc-verify-1774885025452-DEVCloudflare ray ID
cf-ipcountryUSClient country
X-LOCALEenLocale
Content-Typeapplication/jsonContent type

Success Response: No successful fixture available in source data.

Error Response: (HTTP 500)

json
{
  "version": "2.0.0",
  "timestamp": 1774885025459,
  "success": false,
  "code": "SYSTEM.INTERNAL_ERROR",
  "message": "Internal server error",
  "data": null
}

GET /web/v1/tenant/slash/connections/{connectionBizId}/virtual-accounts

Get slash connections by connectionBizId virtual accounts.

Required Headers:

HeaderValueDescription
X-PORTAL-ACCESS-CODEpac_xxxPortal access code
AuthorizationBearerJWT token (if present in request)
X-Workspace-IdkPJodKdNLQ8VhUChWorkspace ID (if present in request)
X-Request-Id176bd2b0-3288-44f2-9a12-fb3fff5fa686Unique request ID
X-Client-Hashdoc-verify-client-hashClient fingerprint
X-Forwarded-ProtohttpsProtocol
CF-Connecting-IP127.0.0.1Client IP
Cf-Raydoc-verify-1774885025370-DEVCloudflare ray ID
cf-ipcountryUSClient country
X-LOCALEenLocale
Content-Typeapplication/jsonContent type

Success Response: No successful fixture available in source data.

Error Response: (HTTP 500)

json
{
  "version": "2.0.0",
  "timestamp": 1774885025378,
  "success": false,
  "code": "SYSTEM.INTERNAL_ERROR",
  "message": "Internal server error",
  "data": null
}

GET /web/v1/tenant/slash/connections/{connectionBizId}/virtual-accounts/{virtualAccountBizId}

Get slash connections by connectionBizId virtual accounts by virtualAccountBizId.

Required Headers:

HeaderValueDescription
X-PORTAL-ACCESS-CODEpac_xxxPortal access code
AuthorizationBearerJWT token (if present in request)
X-Workspace-IdkPJodKdNLQ8VhUChWorkspace ID (if present in request)
X-Request-Id2049cf85-9885-40a5-82a0-5533116e5e4dUnique request ID
X-Client-Hashdoc-verify-client-hashClient fingerprint
X-Forwarded-ProtohttpsProtocol
CF-Connecting-IP127.0.0.1Client IP
Cf-Raydoc-verify-1774885025378-DEVCloudflare ray ID
cf-ipcountryUSClient country
X-LOCALEenLocale
Content-Typeapplication/jsonContent type

Success Response: No successful fixture available in source data.

Error Response: (HTTP 500)

json
{
  "version": "2.0.0",
  "timestamp": 1774885025385,
  "success": false,
  "code": "SYSTEM.INTERNAL_ERROR",
  "message": "Internal server error",
  "data": null
}

POST /web/v1/tenant/slash/connections/activate

Activate slash connections.

Required Headers:

HeaderValueDescription
X-PORTAL-ACCESS-CODEpac_xxxPortal access code
AuthorizationBearerJWT token (if present in request)
X-Workspace-IdkPJodKdNLQ8VhUChWorkspace ID (if present in request)
X-Request-Idab335850-bb27-48a6-90ef-5294d227f923Unique request ID
X-Client-Hashdoc-verify-client-hashClient fingerprint
X-Forwarded-ProtohttpsProtocol
CF-Connecting-IP127.0.0.1Client IP
Cf-Raydoc-verify-1774885025324-DEVCloudflare ray ID
cf-ipcountryUSClient country
X-LOCALEenLocale
Content-Typeapplication/jsonContent type

Request Body:

json
{
  "connectionBizId": "non-existent-connection-id"
}

Success Response: No successful fixture available in source data.

Error Response: (HTTP 500)

json
{
  "version": "2.0.0",
  "timestamp": 1774885025329,
  "success": false,
  "code": "SYSTEM.INTERNAL_ERROR",
  "message": "Internal server error",
  "data": null
}

POST /web/v1/tenant/slash/connections/cards/cancel

Cancel slash connections cards.

Required Headers:

HeaderValueDescription
X-PORTAL-ACCESS-CODEpac_xxxPortal access code
AuthorizationBearerJWT token (if present in request)
X-Workspace-IdkPJodKdNLQ8VhUChWorkspace ID (if present in request)
X-Request-Id6b50b2d1-bfa9-45d3-9a02-7b277c326461Unique request ID
X-Client-Hashdoc-verify-client-hashClient fingerprint
X-Forwarded-ProtohttpsProtocol
CF-Connecting-IP127.0.0.1Client IP
Cf-Raydoc-verify-1774885025412-DEVCloudflare ray ID
cf-ipcountryUSClient country
X-LOCALEenLocale
Content-Typeapplication/jsonContent type

Request Body:

json
{
  "connectionBizId": "non-existent-connection",
  "cardId": "non-existent-card"
}

Success Response: No successful fixture available in source data.

Error Response: (HTTP 500)

json
{
  "version": "2.0.0",
  "timestamp": 1774885025419,
  "success": false,
  "code": "SYSTEM.INTERNAL_ERROR",
  "message": "Internal server error",
  "data": null
}

POST /web/v1/tenant/slash/connections/cards/freeze

Freeze slash connections cards.

Required Headers:

HeaderValueDescription
X-PORTAL-ACCESS-CODEpac_xxxPortal access code
AuthorizationBearerJWT token (if present in request)
X-Workspace-IdkPJodKdNLQ8VhUChWorkspace ID (if present in request)
X-Request-Idd6936c97-7b52-4671-857e-5a3d67d47878Unique request ID
X-Client-Hashdoc-verify-client-hashClient fingerprint
X-Forwarded-ProtohttpsProtocol
CF-Connecting-IP127.0.0.1Client IP
Cf-Raydoc-verify-1774885025399-DEVCloudflare ray ID
cf-ipcountryUSClient country
X-LOCALEenLocale
Content-Typeapplication/jsonContent type

Request Body:

json
{
  "connectionBizId": "non-existent-connection",
  "cardId": "non-existent-card"
}

Success Response: No successful fixture available in source data.

Error Response: (HTTP 500)

json
{
  "version": "2.0.0",
  "timestamp": 1774885025405,
  "success": false,
  "code": "SYSTEM.INTERNAL_ERROR",
  "message": "Internal server error",
  "data": null
}

POST /web/v1/tenant/slash/connections/cards/unfreeze

Unfreeze slash connections cards.

Required Headers:

HeaderValueDescription
X-PORTAL-ACCESS-CODEpac_xxxPortal access code
AuthorizationBearerJWT token (if present in request)
X-Workspace-IdkPJodKdNLQ8VhUChWorkspace ID (if present in request)
X-Request-Id2cacbe82-6983-4d3f-ada6-6843f710d1adUnique request ID
X-Client-Hashdoc-verify-client-hashClient fingerprint
X-Forwarded-ProtohttpsProtocol
CF-Connecting-IP127.0.0.1Client IP
Cf-Raydoc-verify-1774885025406-DEVCloudflare ray ID
cf-ipcountryUSClient country
X-LOCALEenLocale
Content-Typeapplication/jsonContent type

Request Body:

json
{
  "connectionBizId": "non-existent-connection",
  "cardId": "non-existent-card"
}

Success Response: No successful fixture available in source data.

Error Response: (HTTP 500)

json
{
  "version": "2.0.0",
  "timestamp": 1774885025412,
  "success": false,
  "code": "SYSTEM.INTERNAL_ERROR",
  "message": "Internal server error",
  "data": null
}

POST /web/v1/tenant/slash/connections/close

Close slash connections.

Required Headers:

HeaderValueDescription
X-PORTAL-ACCESS-CODEpac_xxxPortal access code
AuthorizationBearerJWT token (if present in request)
X-Workspace-IdkPJodKdNLQ8VhUChWorkspace ID (if present in request)
X-Request-Id0e5afb4b-6293-4e2b-aef9-be7d2eb64fd8Unique request ID
X-Client-Hashdoc-verify-client-hashClient fingerprint
X-Forwarded-ProtohttpsProtocol
CF-Connecting-IP127.0.0.1Client IP
Cf-Raydoc-verify-1774885025337-DEVCloudflare ray ID
cf-ipcountryUSClient country
X-LOCALEenLocale
Content-Typeapplication/jsonContent type

Request Body:

json
{
  "connectionBizId": "non-existent-connection-id"
}

Success Response: No successful fixture available in source data.

Error Response: (HTTP 500)

json
{
  "version": "2.0.0",
  "timestamp": 1774885025344,
  "success": false,
  "code": "SYSTEM.INTERNAL_ERROR",
  "message": "Internal server error",
  "data": null
}

POST /web/v1/tenant/slash/connections/suspend

Suspend slash connections.

Required Headers:

HeaderValueDescription
X-PORTAL-ACCESS-CODEpac_xxxPortal access code
AuthorizationBearerJWT token (if present in request)
X-Workspace-IdkPJodKdNLQ8VhUChWorkspace ID (if present in request)
X-Request-Id5fc453ca-4cd6-4bfc-8fca-e8a3de4f8cfeUnique request ID
X-Client-Hashdoc-verify-client-hashClient fingerprint
X-Forwarded-ProtohttpsProtocol
CF-Connecting-IP127.0.0.1Client IP
Cf-Raydoc-verify-1774885025330-DEVCloudflare ray ID
cf-ipcountryUSClient country
X-LOCALEenLocale
Content-Typeapplication/jsonContent type

Request Body:

json
{
  "connectionBizId": "non-existent-connection-id"
}

Success Response: No successful fixture available in source data.

Error Response: (HTTP 500)

json
{
  "version": "2.0.0",
  "timestamp": 1774885025337,
  "success": false,
  "code": "SYSTEM.INTERNAL_ERROR",
  "message": "Internal server error",
  "data": null
}

Tariffs


GET /web/v1/tenant/tariffs/templates

Get tariffs templates.

Required Headers:

HeaderValueDescription
X-PORTAL-ACCESS-CODEpac_xxxPortal access code
X-Workspace-IdkPJodKdNLQ8VhUChWorkspace ID (if present in request)
X-Request-Id2f92babd-4ec5-4e68-8db9-cd320a738b31Unique request ID
X-Client-Hashdoc-verify-client-hashClient fingerprint
X-Forwarded-ProtohttpsProtocol
CF-Connecting-IP127.0.0.1Client IP
Cf-Raydoc-verify-1774885030629-DEVCloudflare ray ID
cf-ipcountryUSClient country
X-LOCALEenLocale
Content-Typeapplication/jsonContent type

Optional Headers:

HeaderValueDescription
AuthorizationBearerJWT token (if present in request)

Success Response: (HTTP 200)

json
{
  "version": "2.0.0",
  "timestamp": 1774885030635,
  "success": true,
  "code": "2000",
  "message": "Success",
  "data": []
}

Error Response: (HTTP 401)

json
{
  "version": "2.0.0",
  "timestamp": 1774885030710,
  "success": false,
  "code": "ACCESS.TOKEN_MISSING",
  "message": "Authentication token is required",
  "data": null
}

GET /web/v1/tenant/tariffs/templates/{templateBizId}

Get tariffs templates by templateBizId.

Required Headers:

HeaderValueDescription
X-PORTAL-ACCESS-CODEpac_xxxPortal access code
AuthorizationBearerJWT token (if present in request)
X-Workspace-IdkPJodKdNLQ8VhUChWorkspace ID (if present in request)
X-Request-Idd8d6bd37-7f6d-414d-a587-ea3ef23d3081Unique request ID
X-Client-Hashdoc-verify-client-hashClient fingerprint
X-Forwarded-ProtohttpsProtocol
CF-Connecting-IP127.0.0.1Client IP
Cf-Raydoc-verify-1774885030641-DEVCloudflare ray ID
cf-ipcountryUSClient country
X-LOCALEenLocale
Content-Typeapplication/jsonContent type

Success Response: No successful fixture available in source data.

Error Response: (HTTP 404)

json
{
  "version": "2.0.0",
  "timestamp": 1774885030647,
  "success": false,
  "code": "RESOURCE.NOT_FOUND",
  "message": "Resource not found",
  "data": null
}

POST /web/v1/tenant/tariffs/templates/create

Create tariffs templates.

Required Headers:

HeaderValueDescription
X-PORTAL-ACCESS-CODEpac_xxxPortal access code
AuthorizationBearerJWT token (if present in request)
X-Workspace-IdkPJodKdNLQ8VhUChWorkspace ID (if present in request)
X-Request-Ida7a4265d-cbf3-4ded-94ae-cc3fddea8536Unique request ID
X-Client-Hashdoc-verify-client-hashClient fingerprint
X-Forwarded-ProtohttpsProtocol
CF-Connecting-IP127.0.0.1Client IP
Cf-Raydoc-verify-1774885030635-DEVCloudflare ray ID
cf-ipcountryUSClient country
X-LOCALEenLocale
Content-Typeapplication/jsonContent type

Request Body:

json
{
  "templateCode": "dv-tariff-1774885030635",
  "templateName": "Doc Verify Tariff Template",
  "description": "Created by doc-verify E2E test",
  "isDefault": false,
  "feeModel": 1,
  "feeFixedAmount": 100,
  "feeRate": "0.01"
}

Success Response: (HTTP 400)

json
{
  "version": "2.0.0",
  "timestamp": 1774885030640,
  "success": false,
  "code": "VALIDATION.INVALID_PARAMETER",
  "message": "Invalid request parameters",
  "data": null
}

Error Response: (HTTP 400)

json
{
  "version": "2.0.0",
  "timestamp": 1774885030674,
  "success": false,
  "code": "VALIDATION.INVALID_PARAMETER",
  "message": "Invalid request parameters",
  "data": null
}

GET /web/v1/tenant/tariffs/templates/default

Get default tariffs templates.

Required Headers:

HeaderValueDescription
X-PORTAL-ACCESS-CODEpac_xxxPortal access code
AuthorizationBearerJWT token (if present in request)
X-Workspace-IdkPJodKdNLQ8VhUChWorkspace ID (if present in request)
X-Request-Id631c6234-f621-4a4e-8fb0-9fc48bdf75e3Unique request ID
X-Client-Hashdoc-verify-client-hashClient fingerprint
X-Forwarded-ProtohttpsProtocol
CF-Connecting-IP127.0.0.1Client IP
Cf-Raydoc-verify-1774885030648-DEVCloudflare ray ID
cf-ipcountryUSClient country
X-LOCALEenLocale
Content-Typeapplication/jsonContent type

Success Response: (HTTP 404)

json
{
  "version": "2.0.0",
  "timestamp": 1774885030654,
  "success": false,
  "code": "RESOURCE.NOT_FOUND",
  "message": "Resource not found",
  "data": null
}

POST /web/v1/tenant/tariffs/templates/delete

Delete tariffs templates.

Required Headers:

HeaderValueDescription
X-PORTAL-ACCESS-CODEpac_xxxPortal access code
AuthorizationBearerJWT token (if present in request)
X-Workspace-IdkPJodKdNLQ8VhUChWorkspace ID (if present in request)
X-Request-Id40cb54c2-b8e6-4e2b-867c-4222c0d0d024Unique request ID
X-Client-Hashdoc-verify-client-hashClient fingerprint
X-Forwarded-ProtohttpsProtocol
CF-Connecting-IP127.0.0.1Client IP
Cf-Raydoc-verify-1774885030662-DEVCloudflare ray ID
cf-ipcountryUSClient country
X-LOCALEenLocale
Content-Typeapplication/jsonContent type

Request Body:

json
{
  "bizId": "non-existent-id"
}

Success Response: No successful fixture available in source data.

Error Response: (HTTP 404)

json
{
  "version": "2.0.0",
  "timestamp": 1774885030668,
  "success": false,
  "code": "RESOURCE.NOT_FOUND",
  "message": "Resource not found",
  "data": null
}

POST /web/v1/tenant/tariffs/templates/update

Update tariffs templates.

Required Headers:

HeaderValueDescription
X-PORTAL-ACCESS-CODEpac_xxxPortal access code
AuthorizationBearerJWT token (if present in request)
X-Workspace-IdkPJodKdNLQ8VhUChWorkspace ID (if present in request)
X-Request-Id092da90e-a1a2-4183-8ec7-ab5de51afb4bUnique request ID
X-Client-Hashdoc-verify-client-hashClient fingerprint
X-Forwarded-ProtohttpsProtocol
CF-Connecting-IP127.0.0.1Client IP
Cf-Raydoc-verify-1774885030655-DEVCloudflare ray ID
cf-ipcountryUSClient country
X-LOCALEenLocale
Content-Typeapplication/jsonContent type

Request Body:

json
{
  "bizId": "non-existent-id",
  "templateName": "Updated Template"
}

Success Response: No successful fixture available in source data.

Error Response: (HTTP 404)

json
{
  "version": "2.0.0",
  "timestamp": 1774885030661,
  "success": false,
  "code": "RESOURCE.NOT_FOUND",
  "message": "Resource not found",
  "data": null
}

GET /web/v1/tenant/tariffs/wallet

Get tariffs wallet.

Required Headers:

HeaderValueDescription
X-PORTAL-ACCESS-CODEpac_xxxPortal access code
AuthorizationBearerJWT token (if present in request)
X-Workspace-IdkPJodKdNLQ8VhUChWorkspace ID (if present in request)
X-Request-Idc48479fa-bbae-4168-8b79-baa9f312141aUnique request ID
X-Client-Hashdoc-verify-client-hashClient fingerprint
X-Forwarded-ProtohttpsProtocol
CF-Connecting-IP127.0.0.1Client IP
Cf-Raydoc-verify-1774885030681-DEVCloudflare ray ID
cf-ipcountryUSClient country
X-LOCALEenLocale
Content-Typeapplication/jsonContent type

Success Response: (HTTP 200)

json
{
  "version": "2.0.0",
  "timestamp": 1774885030687,
  "success": true,
  "code": "2000",
  "message": "Success",
  "data": []
}

GET /web/v1/tenant/tariffs/wallet/{walletBizId}

Get tariffs wallet by walletBizId.

Required Headers:

HeaderValueDescription
X-PORTAL-ACCESS-CODEpac_xxxPortal access code
AuthorizationBearerJWT token (if present in request)
X-Workspace-IdkPJodKdNLQ8VhUChWorkspace ID (if present in request)
X-Request-Idd42bf30d-e1b6-47b6-9e52-253d415724ccUnique request ID
X-Client-Hashdoc-verify-client-hashClient fingerprint
X-Forwarded-ProtohttpsProtocol
CF-Connecting-IP127.0.0.1Client IP
Cf-Raydoc-verify-1774885030687-DEVCloudflare ray ID
cf-ipcountryUSClient country
X-LOCALEenLocale
Content-Typeapplication/jsonContent type

Success Response: No successful fixture available in source data.

Error Response: (HTTP 404)

json
{
  "version": "2.0.0",
  "timestamp": 1774885030694,
  "success": false,
  "code": "RESOURCE.NOT_FOUND",
  "message": "Resource not found",
  "data": null
}

GET /web/v1/tenant/tariffs/wallet/{walletBizId}/exists

Check existence tariffs wallet by walletBizId.

Required Headers:

HeaderValueDescription
X-PORTAL-ACCESS-CODEpac_xxxPortal access code
AuthorizationBearerJWT token (if present in request)
X-Workspace-IdkPJodKdNLQ8VhUChWorkspace ID (if present in request)
X-Request-Id2d59244a-d55d-48f5-b913-e2fafd25b4e2Unique request ID
X-Client-Hashdoc-verify-client-hashClient fingerprint
X-Forwarded-ProtohttpsProtocol
CF-Connecting-IP127.0.0.1Client IP
Cf-Raydoc-verify-1774885030694-DEVCloudflare ray ID
cf-ipcountryUSClient country
X-LOCALEenLocale
Content-Typeapplication/jsonContent type

Success Response: (HTTP 200)

json
{
  "version": "2.0.0",
  "timestamp": 1774885030700,
  "success": true,
  "code": "2000",
  "message": "Success",
  "data": false
}

POST /web/v1/tenant/tariffs/wallet/workspace/query

Query tariffs wallet workspace.

Required Headers:

HeaderValueDescription
X-PORTAL-ACCESS-CODEpac_xxxPortal access code
AuthorizationBearerJWT token (if present in request)
X-Workspace-IdkPJodKdNLQ8VhUChWorkspace ID (if present in request)
X-Request-Id46dc3b26-eb9b-4f65-bd2d-ca73fb94c6c0Unique request ID
X-Client-Hashdoc-verify-client-hashClient fingerprint
X-Forwarded-ProtohttpsProtocol
CF-Connecting-IP127.0.0.1Client IP
Cf-Raydoc-verify-1774885030700-DEVCloudflare ray ID
cf-ipcountryUSClient country
X-LOCALEenLocale
Content-Typeapplication/jsonContent type

Request Body:

json
{
  "targetWorkspaceBizId": "kPJodKdNLQ8VhUCh"
}

Success Response: (HTTP 200)

json
{
  "version": "2.0.0",
  "timestamp": 1774885030706,
  "success": true,
  "code": "2000",
  "message": "Success",
  "data": []
}

Transfers


GET /web/v1/tenant/transfers/admin/orders/{orderBizId}

Get transfers admin orders by orderBizId.

Required Headers:

HeaderValueDescription
X-PORTAL-ACCESS-CODEpac_xxxPortal access code
AuthorizationBearerJWT token (if present in request)
X-Workspace-IdkPJodKdNLQ8VhUChWorkspace ID (if present in request)
X-Request-Idb556862c-8c56-4c5f-ac90-20cace9e498aUnique request ID
X-Client-Hashdoc-verify-client-hashClient fingerprint
X-Forwarded-ProtohttpsProtocol
CF-Connecting-IP127.0.0.1Client IP
Cf-Raydoc-verify-1774885029243-DEVCloudflare ray ID
cf-ipcountryUSClient country
X-LOCALEenLocale
Content-Typeapplication/jsonContent type

Success Response: No successful fixture available in source data.

Error Response: (HTTP 404)

json
{
  "version": "2.0.0",
  "timestamp": 1774885029249,
  "success": false,
  "code": "RESOURCE.NOT_FOUND",
  "message": "Resource not found",
  "data": null
}

GET /web/v1/tenant/transfers/admin/orders/{orderBizId}/completed

Get transfers admin orders by orderBizId completed.

Required Headers:

HeaderValueDescription
X-PORTAL-ACCESS-CODEpac_xxxPortal access code
AuthorizationBearerJWT token (if present in request)
X-Workspace-IdkPJodKdNLQ8VhUChWorkspace ID (if present in request)
X-Request-Id3c2049af-9c99-48ed-89be-4c0db6cff89dUnique request ID
X-Client-Hashdoc-verify-client-hashClient fingerprint
X-Forwarded-ProtohttpsProtocol
CF-Connecting-IP127.0.0.1Client IP
Cf-Raydoc-verify-1774885029278-DEVCloudflare ray ID
cf-ipcountryUSClient country
X-LOCALEenLocale
Content-Typeapplication/jsonContent type

Success Response: (HTTP 200)

json
{
  "version": "2.0.0",
  "timestamp": 1774885029284,
  "success": true,
  "code": "2000",
  "message": "Success",
  "data": false
}

GET /web/v1/tenant/transfers/admin/orders/wallet/{walletBizId}

Get transfers admin orders wallet by walletBizId.

Required Headers:

HeaderValueDescription
X-PORTAL-ACCESS-CODEpac_xxxPortal access code
AuthorizationBearerJWT token (if present in request)
X-Workspace-IdkPJodKdNLQ8VhUChWorkspace ID (if present in request)
X-Request-Id732263b6-62be-46f7-ba0f-41084720aa41Unique request ID
X-Client-Hashdoc-verify-client-hashClient fingerprint
X-Forwarded-ProtohttpsProtocol
CF-Connecting-IP127.0.0.1Client IP
Cf-Raydoc-verify-1774885029262-DEVCloudflare ray ID
cf-ipcountryUSClient country
X-LOCALEenLocale
Content-Typeapplication/jsonContent type

Success Response: (HTTP 200)

json
{
  "version": "2.0.0",
  "timestamp": 1774885029270,
  "success": true,
  "code": "2000",
  "message": "Success",
  "data": {
    "items": [],
    "pagination": {
      "totalPages": 0,
      "totalRecords": 0,
      "currentPage": 1,
      "pageSize": 0,
      "hasNext": false,
      "empty": true,
      "paginated": false
    }
  }
}

POST /web/v1/tenant/transfers/admin/orders/workspace/query

Query transfers admin orders workspace.

Required Headers:

HeaderValueDescription
X-PORTAL-ACCESS-CODEpac_xxxPortal access code
X-Workspace-IdkPJodKdNLQ8VhUChWorkspace ID (if present in request)
X-Request-Id899f7675-792c-400c-823e-3622216a60f5Unique request ID
X-Client-Hashdoc-verify-client-hashClient fingerprint
X-Forwarded-ProtohttpsProtocol
CF-Connecting-IP127.0.0.1Client IP
Cf-Raydoc-verify-1774885029250-DEVCloudflare ray ID
cf-ipcountryUSClient country
X-LOCALEenLocale
Content-Typeapplication/jsonContent type

Optional Headers:

HeaderValueDescription
AuthorizationBearerJWT token (if present in request)

Request Body:

json
{
  "targetWorkspaceBizId": "kPJodKdNLQ8VhUCh",
  "page": 0,
  "size": 20
}

Success Response: (HTTP 200)

json
{
  "version": "2.0.0",
  "timestamp": 1774885029255,
  "success": true,
  "code": "2000",
  "message": "Success",
  "data": {
    "items": [],
    "pagination": {
      "totalPages": 0,
      "totalRecords": 0,
      "currentPage": 1,
      "pageSize": 0,
      "hasNext": false,
      "empty": true,
      "paginated": false
    }
  }
}

Error Response: (HTTP 401)

json
{
  "version": "2.0.0",
  "timestamp": 1774885029287,
  "success": false,
  "code": "ACCESS.TOKEN_MISSING",
  "message": "Authentication token is required",
  "data": null
}

Users


POST /web/v1/tenant/users/admin/approve

Approve users admin.

Required Headers:

HeaderValueDescription
X-PORTAL-ACCESS-CODEpac_xxxPortal access code
AuthorizationBearerJWT token (if present in request)
X-Workspace-IdkPJodKdNLQ8VhUChWorkspace ID (if present in request)
X-Request-Id6cbc3837-e125-488e-8c67-856533d74892Unique request ID
X-Client-Hashdoc-verify-client-hashClient fingerprint
X-Forwarded-ProtohttpsProtocol
CF-Connecting-IP127.0.0.1Client IP
Cf-Raydoc-verify-1774885032302-DEVCloudflare ray ID
cf-ipcountryUSClient country
X-LOCALEenLocale
Content-Typeapplication/jsonContent type

Request Body:

json
{
  "userBizId": "non-existent-user-id"
}

Success Response: No successful fixture available in source data.

Error Response: (HTTP 404)

json
{
  "version": "2.0.0",
  "timestamp": 1774885032308,
  "success": false,
  "code": "RESOURCE.NOT_FOUND",
  "message": "Resource not found",
  "data": null
}

POST /web/v1/tenant/users/admin/pending/query

Query users admin pending.

Required Headers:

HeaderValueDescription
X-PORTAL-ACCESS-CODEpac_xxxPortal access code
X-Workspace-IdkPJodKdNLQ8VhUChWorkspace ID (if present in request)
X-Request-Id1847d1c8-4913-406d-af28-3b94e167854cUnique request ID
X-Client-Hashdoc-verify-client-hashClient fingerprint
X-Forwarded-ProtohttpsProtocol
CF-Connecting-IP127.0.0.1Client IP
Cf-Raydoc-verify-1774885032295-DEVCloudflare ray ID
cf-ipcountryUSClient country
X-LOCALEenLocale
Content-Typeapplication/jsonContent type

Optional Headers:

HeaderValueDescription
AuthorizationBearerJWT token (if present in request)

Request Body:

json
{
  "page": 0,
  "size": 20
}

Success Response: (HTTP 200)

json
{
  "version": "2.0.0",
  "timestamp": 1774885032302,
  "success": true,
  "code": "2000",
  "message": "Success",
  "data": {
    "accounts": [],
    "totalElements": 0,
    "totalPages": 0,
    "currentPage": 0,
    "pageSize": 20
  }
}

Error Response: (HTTP 401)

json
{
  "version": "2.0.0",
  "timestamp": 1774885032332,
  "success": false,
  "code": "ACCESS.TOKEN_MISSING",
  "message": "Authentication token is required",
  "data": null
}

POST /web/v1/tenant/users/admin/reject

Reject users admin.

Required Headers:

HeaderValueDescription
X-PORTAL-ACCESS-CODEpac_xxxPortal access code
AuthorizationBearerJWT token (if present in request)
X-Workspace-IdkPJodKdNLQ8VhUChWorkspace ID (if present in request)
X-Request-Id6b084da4-fcd2-4e70-9787-9cd64773b3abUnique request ID
X-Client-Hashdoc-verify-client-hashClient fingerprint
X-Forwarded-ProtohttpsProtocol
CF-Connecting-IP127.0.0.1Client IP
Cf-Raydoc-verify-1774885032315-DEVCloudflare ray ID
cf-ipcountryUSClient country
X-LOCALEenLocale
Content-Typeapplication/jsonContent type

Request Body:

json
{
  "userBizId": "non-existent-user-id",
  "reason": "Test rejection"
}

Success Response: No successful fixture available in source data.

Error Response: (HTTP 404)

json
{
  "version": "2.0.0",
  "timestamp": 1774885032321,
  "success": false,
  "code": "RESOURCE.NOT_FOUND",
  "message": "Resource not found",
  "data": null
}

Wallet Currencies


GET /web/v1/tenant/wallet-currencies

Get wallet currencies.

Required Headers:

HeaderValueDescription
X-PORTAL-ACCESS-CODEpac_xxxPortal access code
X-Workspace-IdkPJodKdNLQ8VhUChWorkspace ID (if present in request)
X-Request-Id18627a1c-25a3-4d47-b0a7-095e58b17fcaUnique request ID
X-Client-Hashdoc-verify-client-hashClient fingerprint
X-Forwarded-ProtohttpsProtocol
CF-Connecting-IP127.0.0.1Client IP
Cf-Raydoc-verify-1774885029015-DEVCloudflare ray ID
cf-ipcountryUSClient country
X-LOCALEenLocale
Content-Typeapplication/jsonContent type

Optional Headers:

HeaderValueDescription
AuthorizationBearerJWT token (if present in request)

Success Response: (HTTP 200)

json
{
  "version": "2.0.0",
  "timestamp": 1774885029021,
  "success": true,
  "code": "2000",
  "message": "Success",
  "data": []
}

Error Response: (HTTP 401)

json
{
  "version": "2.0.0",
  "timestamp": 1774885029082,
  "success": false,
  "code": "ACCESS.TOKEN_MISSING",
  "message": "Authentication token is required",
  "data": null
}

GET /web/v1/tenant/wallet-currencies/{walletCurrencyCode}

Get wallet currencies by walletCurrencyCode.

Required Headers:

HeaderValueDescription
X-PORTAL-ACCESS-CODEpac_xxxPortal access code
AuthorizationBearerJWT token (if present in request)
X-Workspace-IdkPJodKdNLQ8VhUChWorkspace ID (if present in request)
X-Request-Id871277e1-acab-4c0d-9356-f76bfc207b94Unique request ID
X-Client-Hashdoc-verify-client-hashClient fingerprint
X-Forwarded-ProtohttpsProtocol
CF-Connecting-IP127.0.0.1Client IP
Cf-Raydoc-verify-1774885029021-DEVCloudflare ray ID
cf-ipcountryUSClient country
X-LOCALEenLocale
Content-Typeapplication/jsonContent type

Success Response: (HTTP 200)

json
{
  "version": "2.0.0",
  "timestamp": 1774885029026,
  "success": true,
  "code": "2000",
  "message": "Success",
  "data": []
}

Error Response: (HTTP 400)

json
{
  "version": "2.0.0",
  "timestamp": 1774885029078,
  "success": false,
  "code": "VALIDATION.INVALID_PARAMETER",
  "message": "Invalid request parameters",
  "data": null
}

GET /web/v1/tenant/wallet-currencies/{walletCurrencyCode}/enabled

Get wallet currencies by walletCurrencyCode enabled.

Required Headers:

HeaderValueDescription
X-PORTAL-ACCESS-CODEpac_xxxPortal access code
AuthorizationBearerJWT token (if present in request)
X-Workspace-IdkPJodKdNLQ8VhUChWorkspace ID (if present in request)
X-Request-Id1735cfeb-3cd5-45bc-bfa1-f4a78bea8921Unique request ID
X-Client-Hashdoc-verify-client-hashClient fingerprint
X-Forwarded-ProtohttpsProtocol
CF-Connecting-IP127.0.0.1Client IP
Cf-Raydoc-verify-1774885029033-DEVCloudflare ray ID
cf-ipcountryUSClient country
X-LOCALEenLocale
Content-Typeapplication/jsonContent type

Success Response: (HTTP 200)

json
{
  "version": "2.0.0",
  "timestamp": 1774885029039,
  "success": true,
  "code": "2000",
  "message": "Success",
  "data": []
}

POST /web/v1/tenant/wallet-currencies/disable

Disable wallet currencies.

Required Headers:

HeaderValueDescription
X-PORTAL-ACCESS-CODEpac_xxxPortal access code
AuthorizationBearerJWT token (if present in request)
X-Workspace-IdkPJodKdNLQ8VhUChWorkspace ID (if present in request)
X-Request-Id81f2de4c-3fb4-462f-921c-129b2d92f81aUnique request ID
X-Client-Hashdoc-verify-client-hashClient fingerprint
X-Forwarded-ProtohttpsProtocol
CF-Connecting-IP127.0.0.1Client IP
Cf-Raydoc-verify-1774885029046-DEVCloudflare ray ID
cf-ipcountryUSClient country
X-LOCALEenLocale
Content-Typeapplication/jsonContent type

Request Body:

json
{
  "walletTypeValue": 35010401,
  "currencyValue": 10010101
}

Success Response: (HTTP 400)

json
{
  "version": "2.0.0",
  "timestamp": 1774885029052,
  "success": false,
  "code": "VALIDATION.INVALID_PARAMETER",
  "message": "Invalid request parameters",
  "data": null
}

POST /web/v1/tenant/wallet-currencies/enable

Enable wallet currencies.

Required Headers:

HeaderValueDescription
X-PORTAL-ACCESS-CODEpac_xxxPortal access code
AuthorizationBearerJWT token (if present in request)
X-Workspace-IdkPJodKdNLQ8VhUChWorkspace ID (if present in request)
X-Request-Ideff62904-ea2f-4f64-98fa-ee20ac4ed49aUnique request ID
X-Client-Hashdoc-verify-client-hashClient fingerprint
X-Forwarded-ProtohttpsProtocol
CF-Connecting-IP127.0.0.1Client IP
Cf-Raydoc-verify-1774885029039-DEVCloudflare ray ID
cf-ipcountryUSClient country
X-LOCALEenLocale
Content-Typeapplication/jsonContent type

Request Body:

json
{
  "walletTypeValue": 35010401,
  "currencyValue": 10010101
}

Success Response: (HTTP 400)

json
{
  "version": "2.0.0",
  "timestamp": 1774885029045,
  "success": false,
  "code": "VALIDATION.INVALID_PARAMETER",
  "message": "Invalid request parameters",
  "data": null
}

Error Response: (HTTP 400)

json
{
  "version": "2.0.0",
  "timestamp": 1774885029065,
  "success": false,
  "code": "VALIDATION.INVALID_PARAMETER",
  "message": "Invalid request parameters",
  "data": null
}

Withdrawal Channels


GET /web/v1/tenant/withdrawal-channels

Get withdrawal channels.

Required Headers:

HeaderValueDescription
X-PORTAL-ACCESS-CODEpac_xxxPortal access code
X-Workspace-IdkPJodKdNLQ8VhUChWorkspace ID (if present in request)
X-Request-Id7373e366-0f7a-49ff-93a4-f81700b4af1aUnique request ID
X-Client-Hashdoc-verify-client-hashClient fingerprint
X-Forwarded-ProtohttpsProtocol
CF-Connecting-IP127.0.0.1Client IP
Cf-Raydoc-verify-1774885028599-DEVCloudflare ray ID
cf-ipcountryUSClient country
X-LOCALEenLocale
Content-Typeapplication/jsonContent type

Optional Headers:

HeaderValueDescription
AuthorizationBearerJWT token (if present in request)

Success Response: (HTTP 200)

json
{
  "version": "2.0.0",
  "timestamp": 1774885028606,
  "success": true,
  "code": "2000",
  "message": "Success",
  "data": {
    "items": [],
    "pagination": {
      "totalPages": 0,
      "totalRecords": 0,
      "currentPage": 1,
      "pageSize": 0,
      "hasNext": false,
      "empty": true,
      "paginated": false
    }
  }
}

Error Response: (HTTP 401)

json
{
  "version": "2.0.0",
  "timestamp": 1774885028638,
  "success": false,
  "code": "ACCESS.TOKEN_MISSING",
  "message": "Authentication token is required",
  "data": null
}

GET /web/v1/tenant/withdrawal-channels/{withdrawalChannelBizId}

Get withdrawal channels by withdrawalChannelBizId.

Required Headers:

HeaderValueDescription
X-PORTAL-ACCESS-CODEpac_xxxPortal access code
AuthorizationBearerJWT token (if present in request)
X-Workspace-IdkPJodKdNLQ8VhUChWorkspace ID (if present in request)
X-Request-Id63632242-8c4b-4a77-ac95-40ce0c1eab29Unique request ID
X-Client-Hashdoc-verify-client-hashClient fingerprint
X-Forwarded-ProtohttpsProtocol
CF-Connecting-IP127.0.0.1Client IP
Cf-Raydoc-verify-1774885028613-DEVCloudflare ray ID
cf-ipcountryUSClient country
X-LOCALEenLocale
Content-Typeapplication/jsonContent type

Success Response: No successful fixture available in source data.

Error Response: (HTTP 404)

json
{
  "version": "2.0.0",
  "timestamp": 1774885028620,
  "success": false,
  "code": "RESOURCE.NOT_FOUND",
  "message": "Resource not found",
  "data": null
}

POST /web/v1/tenant/withdrawal-channels/{withdrawalChannelBizId}/approve

Approve withdrawal channels by withdrawalChannelBizId.

Required Headers:

HeaderValueDescription
X-PORTAL-ACCESS-CODEpac_xxxPortal access code
AuthorizationBearerJWT token (if present in request)
X-Workspace-IdkPJodKdNLQ8VhUChWorkspace ID (if present in request)
X-Request-Id18779218-9b56-4c2e-8310-044e89348ab8Unique request ID
X-Client-Hashdoc-verify-client-hashClient fingerprint
X-Forwarded-ProtohttpsProtocol
CF-Connecting-IP127.0.0.1Client IP
Cf-Raydoc-verify-1774885028621-DEVCloudflare ray ID
cf-ipcountryUSClient country
X-LOCALEenLocale
Content-Typeapplication/jsonContent type

Request Body:

json
{
  "remark": "Approve test"
}

Success Response: No successful fixture available in source data.

Error Response: (HTTP 400)

json
{
  "version": "2.0.0",
  "timestamp": 1774885028627,
  "success": false,
  "code": "VALIDATION.INVALID_PARAMETER",
  "message": "Invalid request parameters",
  "data": null
}

POST /web/v1/tenant/withdrawal-channels/{withdrawalChannelBizId}/reject

Reject withdrawal channels by withdrawalChannelBizId.

Required Headers:

HeaderValueDescription
X-PORTAL-ACCESS-CODEpac_xxxPortal access code
AuthorizationBearerJWT token (if present in request)
X-Workspace-IdkPJodKdNLQ8VhUChWorkspace ID (if present in request)
X-Request-Idebabb0bc-ea9d-48fe-8cf6-35539931e453Unique request ID
X-Client-Hashdoc-verify-client-hashClient fingerprint
X-Forwarded-ProtohttpsProtocol
CF-Connecting-IP127.0.0.1Client IP
Cf-Raydoc-verify-1774885028627-DEVCloudflare ray ID
cf-ipcountryUSClient country
X-LOCALEenLocale
Content-Typeapplication/jsonContent type

Request Body:

json
{
  "reason": "Reject test reason"
}

Success Response: No successful fixture available in source data.

Error Response: (HTTP 404)

json
{
  "version": "2.0.0",
  "timestamp": 1774885028634,
  "success": false,
  "code": "RESOURCE.NOT_FOUND",
  "message": "Resource not found",
  "data": null
}

Withdrawals


GET /web/v1/tenant/withdrawals

Get withdrawals.

Required Headers:

HeaderValueDescription
X-PORTAL-ACCESS-CODEpac_xxxPortal access code
X-Workspace-IdkPJodKdNLQ8VhUChWorkspace ID (if present in request)
X-Request-Id09397bd8-0f9c-4dec-bc2c-f5f122e202d7Unique request ID
X-Client-Hashdoc-verify-client-hashClient fingerprint
X-Forwarded-ProtohttpsProtocol
CF-Connecting-IP127.0.0.1Client IP
Cf-Raydoc-verify-1774885028543-DEVCloudflare ray ID
cf-ipcountryUSClient country
X-LOCALEenLocale
Content-Typeapplication/jsonContent type

Optional Headers:

HeaderValueDescription
AuthorizationBearerJWT token (if present in request)

Success Response: (HTTP 200)

json
{
  "version": "2.0.0",
  "timestamp": 1774885028549,
  "success": true,
  "code": "2000",
  "message": "Success",
  "data": {
    "items": [],
    "pagination": {
      "totalPages": 0,
      "totalRecords": 0,
      "currentPage": 1,
      "pageSize": 0,
      "hasNext": false,
      "empty": true,
      "paginated": false
    }
  }
}

Error Response: (HTTP 401)

json
{
  "version": "2.0.0",
  "timestamp": 1774885028599,
  "success": false,
  "code": "ACCESS.TOKEN_MISSING",
  "message": "Authentication token is required",
  "data": null
}

GET /web/v1/tenant/withdrawals/{withdrawalBizId}

Get withdrawals by withdrawalBizId.

Required Headers:

HeaderValueDescription
X-PORTAL-ACCESS-CODEpac_xxxPortal access code
AuthorizationBearerJWT token (if present in request)
X-Workspace-IdkPJodKdNLQ8VhUChWorkspace ID (if present in request)
X-Request-Id146b2286-a966-4e18-962a-a48bcd183fefUnique request ID
X-Client-Hashdoc-verify-client-hashClient fingerprint
X-Forwarded-ProtohttpsProtocol
CF-Connecting-IP127.0.0.1Client IP
Cf-Raydoc-verify-1774885028556-DEVCloudflare ray ID
cf-ipcountryUSClient country
X-LOCALEenLocale
Content-Typeapplication/jsonContent type

Success Response: No successful fixture available in source data.

Error Response: (HTTP 404)

json
{
  "version": "2.0.0",
  "timestamp": 1774885028562,
  "success": false,
  "code": "RESOURCE.NOT_FOUND",
  "message": "Resource not found",
  "data": null
}

POST /web/v1/tenant/withdrawals/{withdrawalBizId}/approve

Approve withdrawals by withdrawalBizId.

Required Headers:

HeaderValueDescription
X-PORTAL-ACCESS-CODEpac_xxxPortal access code
AuthorizationBearerJWT token (if present in request)
X-Workspace-IdkPJodKdNLQ8VhUChWorkspace ID (if present in request)
X-Request-Id101fc4d4-2449-4913-ab48-3b497e64167dUnique request ID
X-Client-Hashdoc-verify-client-hashClient fingerprint
X-Forwarded-ProtohttpsProtocol
CF-Connecting-IP127.0.0.1Client IP
Cf-Raydoc-verify-1774885028562-DEVCloudflare ray ID
cf-ipcountryUSClient country
X-LOCALEenLocale
Content-Typeapplication/jsonContent type

Request Body:

json
{}

Success Response: No successful fixture available in source data.

Error Response: (HTTP 404)

json
{
  "version": "2.0.0",
  "timestamp": 1774885028569,
  "success": false,
  "code": "RESOURCE.NOT_FOUND",
  "message": "Resource not found",
  "data": null
}

POST /web/v1/tenant/withdrawals/{withdrawalBizId}/complete

Complete withdrawals by withdrawalBizId.

Required Headers:

HeaderValueDescription
X-PORTAL-ACCESS-CODEpac_xxxPortal access code
AuthorizationBearerJWT token (if present in request)
X-Workspace-IdkPJodKdNLQ8VhUChWorkspace ID (if present in request)
X-Request-Id4df922e7-94ad-44e6-ae72-a658e0549465Unique request ID
X-Client-Hashdoc-verify-client-hashClient fingerprint
X-Forwarded-ProtohttpsProtocol
CF-Connecting-IP127.0.0.1Client IP
Cf-Raydoc-verify-1774885028582-DEVCloudflare ray ID
cf-ipcountryUSClient country
X-LOCALEenLocale
Content-Typeapplication/jsonContent type

Request Body:

json
{}

Success Response: No successful fixture available in source data.

Error Response: (HTTP 404)

json
{
  "version": "2.0.0",
  "timestamp": 1774885028588,
  "success": false,
  "code": "RESOURCE.NOT_FOUND",
  "message": "Resource not found",
  "data": null
}

POST /web/v1/tenant/withdrawals/{withdrawalBizId}/fail

Fail withdrawals by withdrawalBizId.

Required Headers:

HeaderValueDescription
X-PORTAL-ACCESS-CODEpac_xxxPortal access code
AuthorizationBearerJWT token (if present in request)
X-Workspace-IdkPJodKdNLQ8VhUChWorkspace ID (if present in request)
X-Request-Ida5beeb9c-868b-4fcb-82c6-a0d2ac51f0fcUnique request ID
X-Client-Hashdoc-verify-client-hashClient fingerprint
X-Forwarded-ProtohttpsProtocol
CF-Connecting-IP127.0.0.1Client IP
Cf-Raydoc-verify-1774885028588-DEVCloudflare ray ID
cf-ipcountryUSClient country
X-LOCALEenLocale
Content-Typeapplication/jsonContent type

Request Body:

json
{
  "reason": "Test failure reason"
}

Success Response: No successful fixture available in source data.

Error Response: (HTTP 404)

json
{
  "version": "2.0.0",
  "timestamp": 1774885028595,
  "success": false,
  "code": "RESOURCE.NOT_FOUND",
  "message": "Resource not found",
  "data": null
}

POST /web/v1/tenant/withdrawals/{withdrawalBizId}/reject

Reject withdrawals by withdrawalBizId.

Required Headers:

HeaderValueDescription
X-PORTAL-ACCESS-CODEpac_xxxPortal access code
AuthorizationBearerJWT token (if present in request)
X-Workspace-IdkPJodKdNLQ8VhUChWorkspace ID (if present in request)
X-Request-Idce5d1fd1-d792-4eb8-93d8-3c24f2c96bccUnique request ID
X-Client-Hashdoc-verify-client-hashClient fingerprint
X-Forwarded-ProtohttpsProtocol
CF-Connecting-IP127.0.0.1Client IP
Cf-Raydoc-verify-1774885028570-DEVCloudflare ray ID
cf-ipcountryUSClient country
X-LOCALEenLocale
Content-Typeapplication/jsonContent type

Request Body:

json
{
  "reason": "Test rejection reason"
}

Success Response: No successful fixture available in source data.

Error Response: (HTTP 404)

json
{
  "version": "2.0.0",
  "timestamp": 1774885028576,
  "success": false,
  "code": "RESOURCE.NOT_FOUND",
  "message": "Resource not found",
  "data": null
}

Workspaces


POST /web/v1/tenant/workspaces

Submit workspaces.

Required Headers:

HeaderValueDescription
X-PORTAL-ACCESS-CODEpac_xxxPortal access code
AuthorizationBearerJWT token (if present in request)
X-Request-Id7a9c5a67-5007-4d00-a1b6-5d3126a987f2Unique request ID
X-Client-Hashdoc-verify-client-hashClient fingerprint
X-Forwarded-ProtohttpsProtocol
CF-Connecting-IP127.0.0.1Client IP
Cf-Raydoc-verify-1774885033459-DEVCloudflare ray ID
cf-ipcountryUSClient country
X-LOCALEenLocale
Content-Typeapplication/jsonContent type

Request Body:

json
{}

Success Response: No successful fixture available in source data.

Error Response: (HTTP 400)

json
{
  "version": "2.0.0",
  "timestamp": 1774885033463,
  "success": false,
  "code": "VALIDATION.INVALID_PARAMETER",
  "message": "Invalid request parameters",
  "data": null
}

POST /web/v1/tenant/workspaces/admin/lookup

Lookup workspaces admin.

Required Headers:

HeaderValueDescription
X-PORTAL-ACCESS-CODEpac_xxxPortal access code
AuthorizationBearerJWT token (if present in request)
X-Workspace-IdkPJodKdNLQ8VhUChWorkspace ID (if present in request)
X-Request-Idc4b9f021-421f-4c58-9ac5-ea5d41cc48eaUnique request ID
X-Client-Hashdoc-verify-client-hashClient fingerprint
X-Forwarded-ProtohttpsProtocol
CF-Connecting-IP127.0.0.1Client IP
Cf-Raydoc-verify-1774885033470-DEVCloudflare ray ID
cf-ipcountryUSClient country
X-LOCALEenLocale
Content-Typeapplication/jsonContent type

Request Body:

json
{
  "targetWorkspaceBizId": "kPJodKdNLQ8VhUCh"
}

Success Response: (HTTP 200)

json
{
  "version": "2.0.0",
  "timestamp": 1774885033476,
  "success": true,
  "code": "2000",
  "message": "Success",
  "data": {
    "bizId": "kPJodKdNLQ8VhUCh",
    "institutionBizId": "pekOCmPDkN18jQXf",
    "entityBizId": null,
    "workspaceName": "Doc Verify Workspace",
    "workspaceTimezone": "UTC",
    "workspaceStatus": {
      "code": "ACTIVE",
      "value": 10010304,
      "label": "Active",
      "description": "Workspace is active and tenant verified"
    },
    "workspaceKind": {
      "code": "LIVE",
      "value": 10050101,
      "label": "Live",
      "description": "Primary workspace for production business operations"
    },
    "extraData": null,
    "createdAt": "2026-03-30T15:33:08.582196Z",
    "updatedAt": "2026-03-30T15:37:13.438007Z"
  }
}

Error Response: (HTTP 404)

json
{
  "version": "2.0.0",
  "timestamp": 1774885033483,
  "success": false,
  "code": "RESOURCE.NOT_FOUND",
  "message": "Resource not found",
  "data": null
}

POST /web/v1/tenant/workspaces/admin/ownership/transfer

Transfer workspaces admin ownership.

Required Headers:

HeaderValueDescription
X-PORTAL-ACCESS-CODEpac_xxxPortal access code
AuthorizationBearerJWT token (if present in request)
X-Workspace-IdkPJodKdNLQ8VhUChWorkspace ID (if present in request)
X-Request-Id6023c29e-113e-4615-b322-298d010221eaUnique request ID
X-Client-Hashdoc-verify-client-hashClient fingerprint
X-Forwarded-ProtohttpsProtocol
CF-Connecting-IP127.0.0.1Client IP
Cf-Raydoc-verify-1774885033494-DEVCloudflare ray ID
cf-ipcountryUSClient country
X-LOCALEenLocale
Content-Typeapplication/jsonContent type

Request Body:

json
{}

Success Response: No successful fixture available in source data.

Error Response: (HTTP 400)

json
{
  "version": "2.0.0",
  "timestamp": 1774885033500,
  "success": false,
  "code": "VALIDATION.INVALID_PARAMETER",
  "message": "Invalid request parameters",
  "data": null
}

POST /web/v1/tenant/workspaces/admin/query

Query workspaces admin.

Required Headers:

HeaderValueDescription
X-PORTAL-ACCESS-CODEpac_xxxPortal access code
X-Workspace-IdkPJodKdNLQ8VhUChWorkspace ID (if present in request)
X-Request-Idcf1dfd60-d499-4195-8bc5-f89a993daf0eUnique request ID
X-Client-Hashdoc-verify-client-hashClient fingerprint
X-Forwarded-ProtohttpsProtocol
CF-Connecting-IP127.0.0.1Client IP
Cf-Raydoc-verify-1774885033463-DEVCloudflare ray ID
cf-ipcountryUSClient country
X-LOCALEenLocale
Content-Typeapplication/jsonContent type

Optional Headers:

HeaderValueDescription
AuthorizationBearerJWT token (if present in request)

Request Body:

json
{
  "page": 0,
  "size": 20
}

Success Response: (HTTP 200)

json
{
  "version": "2.0.0",
  "timestamp": 1774885033469,
  "success": true,
  "code": "2000",
  "message": "Success",
  "data": {
    "workspaces": [
      {
        "bizId": "bTzedK3pE7KtfnkK",
        "institutionBizId": "pekOCmPDkN18jQXf",
        "entityBizId": null,
        "workspaceName": "Doc-Verify Consumer WS",
        "workspaceTimezone": "UTC",
        "workspaceStatus": {
          "code": "ACTIVE",
          "value": 10010304,
          "label": "Active",
          "description": "Workspace is active and tenant verified"
        },
        "workspaceKind": {
          "code": "LIVE",
          "value": 10050101,
          "label": "Live",
          "description": "Primary workspace for production business operations"
        },
        "extraData": null,
        "createdAt": "2026-03-30T15:33:09.504146Z",
        "updatedAt": "2026-03-30T15:37:12.534343Z"
      },
      {
        "bizId": "XN6e38nLOpxOWUT9",
        "institutionBizId": "pekOCmPDkN18jQXf",
        "entityBizId": null,
        "workspaceName": "Partner Test Workspace",
        "workspaceTimezone": "UTC",
        "workspaceStatus": {
          "code": "ACTIVE",
          "value": 10010304,
          "label": "Active",
          "description": "Workspace is active and tenant verified"
        },
        "workspaceKind": {
          "code": "LIVE",
          "value": 10050101,
          "label": "Live",
          "description": "Primary workspace for production business operations"
        },
        "extraData": null,
        "createdAt": "2026-03-30T15:33:09.321412Z",
        "updatedAt": "2026-03-30T15:37:10.206547Z"
      }
    ],
    "totalElements": 4,
    "totalPages": 1,
    "currentPage": 0,
    "pageSize": 20
  }
}

Error Response: (HTTP 401)

json
{
  "version": "2.0.0",
  "timestamp": 1774885033487,
  "success": false,
  "code": "ACCESS.TOKEN_MISSING",
  "message": "Authentication token is required",
  "data": null
}

POST /web/v1/tenant/workspaces/admin/status

Submit workspaces admin status.

Required Headers:

HeaderValueDescription
X-PORTAL-ACCESS-CODEpac_xxxPortal access code
AuthorizationBearerJWT token (if present in request)
X-Workspace-IdkPJodKdNLQ8VhUChWorkspace ID (if present in request)
X-Request-Id82cdcef3-55ac-4fde-9e9e-7ee095150730Unique request ID
X-Client-Hashdoc-verify-client-hashClient fingerprint
X-Forwarded-ProtohttpsProtocol
CF-Connecting-IP127.0.0.1Client IP
Cf-Raydoc-verify-1774885033487-DEVCloudflare ray ID
cf-ipcountryUSClient country
X-LOCALEenLocale
Content-Typeapplication/jsonContent type

Request Body:

json
{}

Success Response: No successful fixture available in source data.

Error Response: (HTTP 400)

json
{
  "version": "2.0.0",
  "timestamp": 1774885033493,
  "success": false,
  "code": "VALIDATION.INVALID_PARAMETER",
  "message": "Invalid request parameters",
  "data": null
}

GET /web/v1/tenant/workspaces/consumers/{consumerBizId}/sandbox

Get workspaces consumers by consumerBizId sandbox.

Required Headers:

HeaderValueDescription
X-PORTAL-ACCESS-CODEpac_xxxPortal access code
X-Workspace-IdkPJodKdNLQ8VhUChWorkspace ID (if present in request)
X-Request-Idaa269dd2-f00a-4ea8-a07b-407d0bc47e3aUnique request ID
X-Client-Hashdoc-verify-client-hashClient fingerprint
X-Forwarded-ProtohttpsProtocol
CF-Connecting-IP127.0.0.1Client IP
Cf-Raydoc-verify-1774885052988-DEVCloudflare ray ID
cf-ipcountryUSClient country
X-LOCALEenLocale
Content-Typeapplication/jsonContent type

Optional Headers:

HeaderValueDescription
AuthorizationBearerJWT token (if present in request)

Success Response: No successful fixture available in source data.

Error Response: (HTTP 404)

json
{
  "version": "2.0.0",
  "timestamp": 1774885052995,
  "success": false,
  "code": "RESOURCE.NOT_FOUND",
  "message": "Resource not found",
  "data": null
}

POST /web/v1/tenant/workspaces/consumers/sandbox/disable

Disable workspaces consumers sandbox.

Required Headers:

HeaderValueDescription
X-PORTAL-ACCESS-CODEpac_xxxPortal access code
AuthorizationBearerJWT token (if present in request)
X-Workspace-IdkPJodKdNLQ8VhUChWorkspace ID (if present in request)
X-Request-Idb9b4654f-5f46-4dc4-91c2-7e07838a1273Unique request ID
X-Client-Hashdoc-verify-client-hashClient fingerprint
X-Forwarded-ProtohttpsProtocol
CF-Connecting-IP127.0.0.1Client IP
Cf-Raydoc-verify-1774885053008-DEVCloudflare ray ID
cf-ipcountryUSClient country
X-LOCALEenLocale
Content-Typeapplication/jsonContent type

Request Body:

json
{
  "consumerAccountBizId": "non-existent-consumer-id",
  "sandboxWorkspaceBizId": "kPJodKdNLQ8VhUCh"
}

Success Response: No successful fixture available in source data.

Error Response: (HTTP 404)

json
{
  "version": "2.0.0",
  "timestamp": 1774885053015,
  "success": false,
  "code": "RESOURCE.NOT_FOUND",
  "message": "Resource not found",
  "data": null
}

POST /web/v1/tenant/workspaces/consumers/sandbox/enable

Enable workspaces consumers sandbox.

Required Headers:

HeaderValueDescription
X-PORTAL-ACCESS-CODEpac_xxxPortal access code
AuthorizationBearerJWT token (if present in request)
X-Workspace-IdkPJodKdNLQ8VhUChWorkspace ID (if present in request)
X-Request-Id92c784ce-d982-4b01-b13b-e68474a1958dUnique request ID
X-Client-Hashdoc-verify-client-hashClient fingerprint
X-Forwarded-ProtohttpsProtocol
CF-Connecting-IP127.0.0.1Client IP
Cf-Raydoc-verify-1774885052995-DEVCloudflare ray ID
cf-ipcountryUSClient country
X-LOCALEenLocale
Content-Typeapplication/jsonContent type

Request Body:

json
{
  "consumerAccountBizId": "non-existent-consumer-id",
  "sandboxWorkspaceBizId": "kPJodKdNLQ8VhUCh"
}

Success Response: No successful fixture available in source data.

Error Response: (HTTP 404)

json
{
  "version": "2.0.0",
  "timestamp": 1774885053002,
  "success": false,
  "code": "RESOURCE.NOT_FOUND",
  "message": "Resource not found",
  "data": null
}

GET /web/v1/tenant/workspaces/current

Get workspaces current.

Required Headers:

HeaderValueDescription
X-PORTAL-ACCESS-CODEpac_xxxPortal access code
X-Request-Id9cd7d899-f067-41f7-be87-b60337b7b11dUnique request ID
X-Client-Hashdoc-verify-client-hashClient fingerprint
X-Forwarded-ProtohttpsProtocol
CF-Connecting-IP127.0.0.1Client IP
Cf-Raydoc-verify-1774885033425-DEVCloudflare ray ID
cf-ipcountryUSClient country
X-LOCALEenLocale
Content-Typeapplication/jsonContent type

Optional Headers:

HeaderValueDescription
AuthorizationBearerJWT token (if present in request)
X-Workspace-IdkPJodKdNLQ8VhUChWorkspace ID (if present in request)

Success Response: (HTTP 200)

json
{
  "version": "2.0.0",
  "timestamp": 1774885033431,
  "success": true,
  "code": "2000",
  "message": "Success",
  "data": {
    "bizId": "kPJodKdNLQ8VhUCh",
    "institutionBizId": "pekOCmPDkN18jQXf",
    "entityBizId": null,
    "workspaceName": "Doc Verify Workspace",
    "workspaceTimezone": "UTC",
    "workspaceStatus": {
      "code": "ACTIVE",
      "value": 10010304,
      "label": "Active",
      "description": "Workspace is active and tenant verified"
    },
    "workspaceKind": {
      "code": "LIVE",
      "value": 10050101,
      "label": "Live",
      "description": "Primary workspace for production business operations"
    },
    "extraData": null,
    "createdAt": "2026-03-30T15:33:08.582196Z",
    "updatedAt": "2026-03-30T15:34:12.216776Z"
  }
}

Error Response: (HTTP 400)

json
{
  "version": "2.0.0",
  "timestamp": 1774885033455,
  "success": false,
  "code": "GA2031",
  "message": "GA2031",
  "data": null
}

POST /web/v1/tenant/workspaces/current/default

Set default workspaces current.

Required Headers:

HeaderValueDescription
X-PORTAL-ACCESS-CODEpac_xxxPortal access code
AuthorizationBearerJWT token (if present in request)
X-Workspace-IdkPJodKdNLQ8VhUChWorkspace ID (if present in request)
X-Request-Id1e3e634f-580b-47d8-bbd2-4f8fe3df6208Unique request ID
X-Client-Hashdoc-verify-client-hashClient fingerprint
X-Forwarded-ProtohttpsProtocol
CF-Connecting-IP127.0.0.1Client IP
Cf-Raydoc-verify-1774885033440-DEVCloudflare ray ID
cf-ipcountryUSClient country
X-LOCALEenLocale
Content-Typeapplication/jsonContent type

Request Body:

json
null

Success Response: (HTTP 200)

json
{
  "version": "2.0.0",
  "timestamp": 1774885033451,
  "success": true,
  "code": "2000",
  "message": "Success",
  "data": {
    "userBizId": "MX1yt7ElRR4NG7aN",
    "workspaceBizId": "kPJodKdNLQ8VhUCh",
    "workspaceName": "Doc Verify Workspace",
    "workspaceKind": {
      "code": "LIVE",
      "value": 10050101,
      "label": "Live",
      "description": "Primary workspace for production business operations"
    },
    "institutionBizId": "pekOCmPDkN18jQXf",
    "workspaceRoleBizId": "2WU8cXmCUcarmibg",
    "workspaceRoleName": "所有者",
    "joinSource": {
      "code": "REGISTRATION",
      "value": 10050201,
      "label": "Registration",
      "description": "Joined through self-registration"
    },
    "isOwner": true,
    "isDefault": true,
    "enterable": true,
    "defaultEligible": true,
    "policyConfig": null,
    "createdAt": "2026-03-30T15:33:08.582196Z",
    "updatedAt": "2026-03-30T15:37:13.446371713Z"
  }
}

POST /web/v1/tenant/workspaces/current/update

Update workspaces current.

Required Headers:

HeaderValueDescription
X-PORTAL-ACCESS-CODEpac_xxxPortal access code
AuthorizationBearerJWT token (if present in request)
X-Workspace-IdkPJodKdNLQ8VhUChWorkspace ID (if present in request)
X-Request-Id20d23cc7-9889-4731-8ccf-8eaa1cb825cdUnique request ID
X-Client-Hashdoc-verify-client-hashClient fingerprint
X-Forwarded-ProtohttpsProtocol
CF-Connecting-IP127.0.0.1Client IP
Cf-Raydoc-verify-1774885033431-DEVCloudflare ray ID
cf-ipcountryUSClient country
X-LOCALEenLocale
Content-Typeapplication/jsonContent type

Request Body:

json
{
  "workspaceName": "Doc Verify Workspace",
  "timezone": "Asia/Shanghai"
}

Success Response: (HTTP 200)

json
{
  "version": "2.0.0",
  "timestamp": 1774885033439,
  "success": true,
  "code": "2000",
  "message": "Success",
  "data": {
    "bizId": "kPJodKdNLQ8VhUCh",
    "institutionBizId": "pekOCmPDkN18jQXf",
    "entityBizId": null,
    "workspaceName": "Doc Verify Workspace",
    "workspaceTimezone": "UTC",
    "workspaceStatus": {
      "code": "ACTIVE",
      "value": 10010304,
      "label": "Active",
      "description": "Workspace is active and tenant verified"
    },
    "workspaceKind": {
      "code": "LIVE",
      "value": 10050101,
      "label": "Live",
      "description": "Primary workspace for production business operations"
    },
    "extraData": null,
    "createdAt": "2026-03-30T15:33:08.582196Z",
    "updatedAt": "2026-03-30T15:37:13.438006985Z"
  }
}

GET /web/v1/tenant/workspaces/mine

Get workspaces mine.

Required Headers:

HeaderValueDescription
X-PORTAL-ACCESS-CODEpac_xxxPortal access code
AuthorizationBearerJWT token (if present in request)
X-Request-Ida4a09768-2182-42b1-910b-01c06680d90aUnique request ID
X-Client-Hashdoc-verify-client-hashClient fingerprint
X-Forwarded-ProtohttpsProtocol
CF-Connecting-IP127.0.0.1Client IP
Cf-Raydoc-verify-1774885033419-DEVCloudflare ray ID
cf-ipcountryUSClient country
X-LOCALEenLocale
Content-Typeapplication/jsonContent type

Success Response: (HTTP 200)

json
{
  "version": "2.0.0",
  "timestamp": 1774885033424,
  "success": true,
  "code": "2000",
  "message": "Success",
  "data": [
    {
      "userBizId": "MX1yt7ElRR4NG7aN",
      "workspaceBizId": "kPJodKdNLQ8VhUCh",
      "workspaceName": "Doc Verify Workspace",
      "workspaceKind": {
        "code": "LIVE",
        "value": 10050101,
        "label": "Live",
        "description": "Primary workspace for production business operations"
      },
      "institutionBizId": "pekOCmPDkN18jQXf",
      "workspaceRoleBizId": "2WU8cXmCUcarmibg",
      "workspaceRoleName": "所有者",
      "joinSource": {
        "code": "REGISTRATION",
        "value": 10050201,
        "label": "Registration",
        "description": "Joined through self-registration"
      },
      "isOwner": true,
      "isDefault": true,
      "enterable": true,
      "defaultEligible": true,
      "policyConfig": null,
      "createdAt": "2026-03-30T15:33:08.582196Z",
      "updatedAt": "2026-03-30T15:34:12.223333Z"
    }
  ]
}

SlaunchX Internal Documentation