MineSec API Docs8Glue Profile Management

Glue Profile Management models

Generated from components.schemas. Type? is nullable; = null marks an optional field that may be omitted. Click a type name to jump to its definition.

Generated from components.schemas. ? marks an optional field, | null a nullable one. Click a type name to jump to its definition.

data class ErrorResponse(
    val status: Int,
    val path: String,
    val requestId: String,
    val title: String,
    val message: String,
)
interface ErrorResponse {
  status: number;  // int32
  path: string;
  requestId: string;
  title: string;
  message: string;
}
enum class EntityStatus {
    ACTIVE, DISABLED
}
type EntityStatus = "ACTIVE" | "DISABLED";
enum class PaymentMethod {
    VISA, MASTERCARD, UNIONPAY, AMEX, JCB, DISCOVER, DINERS, MAESTRO, HIMYAN, 
    NAPS, MY_DEBIT, ELO, CPACE, NAPAS, TROY, TAKAPAY, SADEEQ, ALIPAY, WECHAT, 
    VISA_QR, MASTERCARD_QR, UNIONPAY_QR, SHOPEE_PAY_QR, GRAB_PAY_QR, 
    ALIPAY_PLUS_QR, DUIT_NOW_QR, PAY_NOW, PH_QR, JCB_EMV_QR, LINEPAY_QR, 
    EZ_PAY, PI_QR, ESUNWALLET_QR, TAIWANPAY_QR, EASYWALLET_QR, JKOPAY_QR, 
    IPASSMONEY_PAY_QR, ICASH_PAY_QR, PLUSPAY_QR, PXPAYPLUS_QR, GAMA_PAY_QR, 
    OPAY_QR, LINEPAYMONEY_QR, PAYPAY_QR, BCCARD_QR, NETS_QR, NTTDATA_QR, UCARD, 
    CUP, SMARTPAY, BONUSPAY_QR, CASHLEZ_QR, UNKNOWN
}
type PaymentMethod =
  | "VISA" | "MASTERCARD" | "UNIONPAY" | "AMEX" | "JCB" | "DISCOVER"
  | "DINERS" | "MAESTRO" | "HIMYAN" | "NAPS" | "MY_DEBIT" | "ELO" | "CPACE"
  | "NAPAS" | "TROY" | "TAKAPAY" | "SADEEQ" | "ALIPAY" | "WECHAT"
  | "VISA_QR" | "MASTERCARD_QR" | "UNIONPAY_QR" | "SHOPEE_PAY_QR"
  | "GRAB_PAY_QR" | "ALIPAY_PLUS_QR" | "DUIT_NOW_QR" | "PAY_NOW" | "PH_QR"
  | "JCB_EMV_QR" | "LINEPAY_QR" | "EZ_PAY" | "PI_QR" | "ESUNWALLET_QR"
  | "TAIWANPAY_QR" | "EASYWALLET_QR" | "JKOPAY_QR" | "IPASSMONEY_PAY_QR"
  | "ICASH_PAY_QR" | "PLUSPAY_QR" | "PXPAYPLUS_QR" | "GAMA_PAY_QR"
  | "OPAY_QR" | "LINEPAYMONEY_QR" | "PAYPAY_QR" | "BCCARD_QR" | "NETS_QR"
  | "NTTDATA_QR" | "UCARD" | "CUP" | "SMARTPAY" | "BONUSPAY_QR"
  | "CASHLEZ_QR" | "UNKNOWN";
enum class HostMessageFormat {
    MOCK, MPGS_AP, CARD_NOW, TWOC2P, CARDWORKS, SHIFT4, SHIFT4_HD, PAY_STORE, 
    POMELO, EFT_PAY, EZPAY, BANKNBOX, IULINK, RAZER, WALLYT, GCAG, POSTBRIDGE, 
    RENDEZVOUS, STD_JSON, S2M_SELECT, VAULTSPAY, SMART_VISTA, SADAD, AIRWALLEX, 
    AIRWALLEX_EU, WORLDPAY, CASHPLUS, PSS, RAWBANK, NEOCASH, CASHLEZ, QRIS, 
    MASARAT, BONUSPAY, ALTO, AXS, CARDINFOLINK, BBL, ONERWAY, ACB, KEENU, 
    SELECT_STANDARD, SELECT_MANUAL_MODE, SELECT_AUTO_MODE, SELECT_V24_MODE, 
    STD_JSON_BSD, STD_JSON_YEDPAY
}
type HostMessageFormat =
  | "MOCK" | "MPGS_AP" | "CARD_NOW" | "TWOC2P" | "CARDWORKS" | "SHIFT4"
  | "SHIFT4_HD" | "PAY_STORE" | "POMELO" | "EFT_PAY" | "EZPAY" | "BANKNBOX"
  | "IULINK" | "RAZER" | "WALLYT" | "GCAG" | "POSTBRIDGE" | "RENDEZVOUS"
  | "STD_JSON" | "S2M_SELECT" | "VAULTSPAY" | "SMART_VISTA" | "SADAD"
  | "AIRWALLEX" | "AIRWALLEX_EU" | "WORLDPAY" | "CASHPLUS" | "PSS"
  | "RAWBANK" | "NEOCASH" | "CASHLEZ" | "QRIS" | "MASARAT" | "BONUSPAY"
  | "ALTO" | "AXS" | "CARDINFOLINK" | "BBL" | "ONERWAY" | "ACB" | "KEENU"
  | "SELECT_STANDARD" | "SELECT_MANUAL_MODE" | "SELECT_AUTO_MODE"
  | "SELECT_V24_MODE" | "STD_JSON_BSD" | "STD_JSON_YEDPAY";
/** Request to create or update a profile */
data class ProfileRequest(
    val profileName: String,
    val providerReference: String? = null,
    val providerMchId: String? = null,
    val isvId: String? = null,
    val isvName: String? = null,
    val shopId: String? = null,
    val shopName: String? = null,
    val merchantName: String,
    val merchantAddr: String,
    val merchantPhone: String? = null,
    val merchantEmail: String? = null,
    val merchantCity: String? = null,
    val merchantPostalCode: String? = null,
    /** Merchant Category Code */
    val mcc: String,
    /** ISO alpha-2 country code */
    val countryCode: String,
    /** ISO alpha-3 currency code */
    val currency: String,
    val acceptances: List<AcceptanceUpsertRequest>? = null,
)
/** Request to create or update a profile */
interface ProfileRequest {
  profileName: string;
  providerReference?: string;
  providerMchId?: string;
  isvId?: string;
  isvName?: string;
  shopId?: string;
  shopName?: string;
  merchantName: string;
  merchantAddr: string;
  merchantPhone?: string;
  merchantEmail?: string;
  merchantCity?: string;
  merchantPostalCode?: string;
  /** Merchant Category Code */
  mcc: string;
  /** ISO alpha-2 country code */
  countryCode: string;
  /** ISO alpha-3 currency code */
  currency: string;
  acceptances?: AcceptanceUpsertRequest[];
}
data class Profile(
    val profileId: String,
    val profileName: String,
    val providerReference: String? = null,
    val providerMchId: String? = null,
    val isvId: String? = null,
    val isvName: String? = null,
    val shopId: String? = null,
    val shopName: String? = null,
    val merchantName: String,
    val merchantAddr: String,
    val merchantPhone: String? = null,
    val merchantEmail: String? = null,
    val merchantCity: String? = null,
    val merchantPostalCode: String? = null,
    val mcc: String,
    val countryCode: String,
    val currency: String,
    val entityStatus: EntityStatus,
    val createdAt: String,  // date-time
    val updatedAt: String? = null,  // date-time
)
interface Profile {
  profileId: string;
  profileName: string;
  providerReference?: string;
  providerMchId?: string;
  isvId?: string;
  isvName?: string;
  shopId?: string;
  shopName?: string;
  merchantName: string;
  merchantAddr: string;
  merchantPhone?: string;
  merchantEmail?: string;
  merchantCity?: string;
  merchantPostalCode?: string;
  mcc: string;
  countryCode: string;
  currency: string;
  entityStatus: EntityStatus;
  createdAt: string;  // date-time
  updatedAt?: string;  // date-time
}
/** Cursor-paginated list of profiles */
data class CursorPaginatedProfile(
    /** Whether more results exist beyond this page */
    val hasMore: Boolean,
    /** The request path including query parameters, as echoed back by the server */
    val requestPath: String,
    /** The requested page size (limit) */
    val requestSize: Int,
    /** The number of items actually returned in this page */
    val dataSize: Int,
    /** Total number of matching profiles across all pages */
    val totalSize: Int,
    /**
     * The cursor (profileId) of the first item in this page. Pass as startingAfter to fetch the
     * next page.
     */
    val cursorStarting: String? = null,
    /**
     * The cursor (profileId) of the last item in this page. Pass as endingBefore to fetch the
     * previous page.
     */
    val cursorEnding: String? = null,
    val data: List<Profile>,
)
/** Cursor-paginated list of profiles */
interface CursorPaginatedProfile {
  /** Whether more results exist beyond this page */
  hasMore: boolean;
  /** The request path including query parameters, as echoed back by the server */
  requestPath: string;
  /** The requested page size (limit) */
  requestSize: number;  // integer
  /** The number of items actually returned in this page */
  dataSize: number;  // integer
  /** Total number of matching profiles across all pages */
  totalSize: number;  // integer
  /**
   * The cursor (profileId) of the first item in this page. Pass as startingAfter to fetch the
   * next page.
   */
  cursorStarting?: string | null;
  /**
   * The cursor (profileId) of the last item in this page. Pass as endingBefore to fetch the
   * previous page.
   */
  cursorEnding?: string | null;
  data: Profile[];
}
data class ProfileWithAcceptances(
    val profileId: String,
    val profileName: String,
    val providerReference: String? = null,
    val providerMchId: String? = null,
    val isvId: String? = null,
    val isvName: String? = null,
    val shopId: String? = null,
    val shopName: String? = null,
    val merchantName: String,
    val merchantAddr: String,
    val merchantPhone: String? = null,
    val merchantEmail: String? = null,
    val merchantCity: String? = null,
    val merchantPostalCode: String? = null,
    val mcc: String,
    val countryCode: String,
    val currency: String,
    val acceptances: List<Acceptance>,
    val acptSelection: Map<String, List<PaymentMethod>>? = null,
    val entityStatus: EntityStatus,
    val createdAt: String,  // date-time
    val updatedAt: String? = null,  // date-time
)
interface ProfileWithAcceptances {
  profileId: string;
  profileName: string;
  providerReference?: string;
  providerMchId?: string;
  isvId?: string;
  isvName?: string;
  shopId?: string;
  shopName?: string;
  merchantName: string;
  merchantAddr: string;
  merchantPhone?: string;
  merchantEmail?: string;
  merchantCity?: string;
  merchantPostalCode?: string;
  mcc: string;
  countryCode: string;
  currency: string;
  acceptances: Acceptance[];
  acptSelection?: Record<string, PaymentMethod[]>;
  entityStatus: EntityStatus;
  createdAt: string;  // date-time
  updatedAt?: string;  // date-time
}
data class StatusRequest(
    val status: EntityStatus,
)
interface StatusRequest {
  status: EntityStatus;
}
/** Request to create or update acceptance in a profile */
data class AcceptanceUpsertRequest(
    /** Optional acceptance ID. If present, will update instead of create */
    val acptId: String? = null,
    val acptName: String? = null,
    val acptReference: String? = null,
    val hostMessageFormat: HostMessageFormat,
    val supportedPayments: List<PaymentMethod>,
    val primaryMid: String? = null,
    val primaryTid: String? = null,
    /**
     * Deprecated. Use primaryMid instead
     * @deprecated
     */
    val acqMid: String? = null,
    /**
     * Deprecated. Use primaryTid instead
     * @deprecated
     */
    val acqTid: String? = null,
    val extraParams: Map<String, String>? = null,
    val tags: List<String>? = null,
)
/** Request to create or update acceptance in a profile */
interface AcceptanceUpsertRequest {
  /** Optional acceptance ID. If present, will update instead of create */
  acptId?: string;
  acptName?: string;
  acptReference?: string;
  hostMessageFormat: HostMessageFormat;
  supportedPayments: PaymentMethod[];
  primaryMid?: string;
  primaryTid?: string;
  /**
   * Deprecated. Use primaryMid instead
   * @deprecated
   */
  acqMid?: string;
  /**
   * Deprecated. Use primaryTid instead
   * @deprecated
   */
  acqTid?: string;
  extraParams?: Record<string, string>;
  tags?: string[];
}
data class Acceptance(
    val acptId: String,
    val acptName: String? = null,
    val acptReference: String? = null,
    val hostMessageFormat: HostMessageFormat,
    val supportedPayments: List<PaymentMethod>,
    val primaryMid: String,
    val primaryTid: String,
    val extraParams: Map<String, String>,
    val keyId: String? = null,
    val tags: List<String>? = null,
    val entityStatus: EntityStatus,
    val createdAt: String,  // date-time
    val updatedAt: String? = null,  // date-time
)
interface Acceptance {
  acptId: string;
  acptName?: string;
  acptReference?: string;
  hostMessageFormat: HostMessageFormat;
  supportedPayments: PaymentMethod[];
  primaryMid: string;
  primaryTid: string;
  extraParams: Record<string, string>;
  keyId?: string;
  tags?: string[];
  entityStatus: EntityStatus;
  createdAt: string;  // date-time
  updatedAt?: string;  // date-time
}
/** Terminal configuration parameters */
data class TerminalParam(
    /** Terminal type identifier */
    val terminalType: String,
    /** Merchant Category Code (MCC) */
    val merchantCategoryCode: String,
    /** Merchant name */
    val merchantName: String? = null,
    /** ISO 3166-1 alpha-2 country code */
    val countryCode: String,
    /** Transaction currency code in ISO 4217 format */
    val tranCurrCode: String,
    /** Terminal capability indicator */
    val terminalCapability: String,
    /** Contactless reader capability */
    val ctlReaderCapability: String? = null,
    /** Contactless reader capability for American Express */
    val ctlReaderCapabilityAmex: String? = null,
    /** Whether MyDebit priority is enabled */
    val bMydebitPriority: Boolean? = null,
    val extra: Map<String, String>? = null,
)
/** Terminal configuration parameters */
interface TerminalParam {
  /** Terminal type identifier */
  terminalType: string;
  /** Merchant Category Code (MCC) */
  merchantCategoryCode: string;
  /** Merchant name */
  merchantName?: string | null;
  /** ISO 3166-1 alpha-2 country code */
  countryCode: string;
  /** Transaction currency code in ISO 4217 format */
  tranCurrCode: string;
  /** Terminal capability indicator */
  terminalCapability: string;
  /** Contactless reader capability */
  ctlReaderCapability?: string | null;
  /** Contactless reader capability for American Express */
  ctlReaderCapabilityAmex?: string | null;
  /** Whether MyDebit priority is enabled */
  bMydebitPriority?: boolean | null;
  extra?: Record<string, string> | null;
}
/** EMV (Europay, Mastercard, Visa) processing parameters */
data class EmvParam(
    /** Application ID (9F06) */
    val aid: String,
    /** Application Version Number (9F09), hex string */
    val appVersion: String,
    /** Terminal Action Code for Denial (default / contactless) */
    val tacDenial: String,
    /** Terminal Action Code for Online Authorization (default / contactless) */
    val tacOnline: String,
    /** Terminal Action Code for Default Authorization (default / contactless) */
    val tacDefault: String,
    /** Contact-specific Terminal Action Code for Denial */
    val contactTacDenial: String? = null,
    /** Contact-specific Terminal Action Code for Online Authorization */
    val contactTacOnline: String? = null,
    /** Contact-specific Terminal Action Code for Default Authorization */
    val contactTacDefault: String? = null,
    /** Default DDOL for constructing the internal authenticate command */
    val defaultDdol: String,
    /** Default TDOL for generating the TC Hash Value */
    val defaultTdol: String,
    /** Application Selection Indicator (0=exact, 1=partial) */
    val fullMatchSelect: Boolean,
    /** Priority of application selection */
    val selectionPriority: Int,
    /** Indicates if random selection is enabled */
    val enabledRandomSelect: Boolean,
    /** Target percentage for random selection */
    val randomSelectTargetPercent: Int,
    /** Maximum target percentage for Biased Random Selection */
    val randomSelectMaxTargetPercent: Int,
    /** Threshold value for Biased Random Selection */
    val randomSelectThreshold: String,
    /** Indicates if velocity check is enabled */
    val enabledVelocityCheck: Boolean,
    /** Indicates if floor limit check is enabled */
    val enabledFloorLimitCheck: Boolean,
    /** Terminal contactless floor limit (9F1B), N12 */
    val ctlFloorLimit: String,
    /** Amount above which contactless transactions are not allowed */
    val ctlTranLimit: String,
    /** Amount above which CVM is required for contactless transactions */
    val ctlCvmRequiredLimit: String,
    /** Terminal transaction qualifier (9F66) */
    val ttq: String? = null,
    /** Terminal risk management data (9F1D) */
    val riskMgmtData: String? = null,
    /** Mastercard kernel configuration (DF811B) */
    val mcKernelConfig: String? = null,
    /** Indicates if contactless status check is enabled */
    val enabledCtlStatusCheck: Boolean? = null,
    /** CVM capability when CVM is required */
    val cvmCapabilityCVMRequired: String? = null,
    /** CVM capability when no CVM is required */
    val cvmCapabilityNoCVM: String? = null,
    /** Whether the new Mastercard CVM rule is enabled */
    val isNewCVMRuleForMC: Boolean? = null,
    /** Kernel ID */
    val kernelId: Int? = null,
    /** JCB Terminal Interchange Profile */
    val jcbTip: String? = null,
    /** Contactless CVM limit flag */
    val clbCvmLimit: Boolean? = null,
)
/** EMV (Europay, Mastercard, Visa) processing parameters */
interface EmvParam {
  /** Application ID (9F06) */
  aid: string;
  /** Application Version Number (9F09), hex string */
  appVersion: string;
  /** Terminal Action Code for Denial (default / contactless) */
  tacDenial: string;
  /** Terminal Action Code for Online Authorization (default / contactless) */
  tacOnline: string;
  /** Terminal Action Code for Default Authorization (default / contactless) */
  tacDefault: string;
  /** Contact-specific Terminal Action Code for Denial */
  contactTacDenial?: string | null;
  /** Contact-specific Terminal Action Code for Online Authorization */
  contactTacOnline?: string | null;
  /** Contact-specific Terminal Action Code for Default Authorization */
  contactTacDefault?: string | null;
  /** Default DDOL for constructing the internal authenticate command */
  defaultDdol: string;
  /** Default TDOL for generating the TC Hash Value */
  defaultTdol: string;
  /** Application Selection Indicator (0=exact, 1=partial) */
  fullMatchSelect: boolean;
  /** Priority of application selection */
  selectionPriority: number;  // int32
  /** Indicates if random selection is enabled */
  enabledRandomSelect: boolean;
  /** Target percentage for random selection */
  randomSelectTargetPercent: number;  // int32
  /** Maximum target percentage for Biased Random Selection */
  randomSelectMaxTargetPercent: number;  // int32
  /** Threshold value for Biased Random Selection */
  randomSelectThreshold: string;
  /** Indicates if velocity check is enabled */
  enabledVelocityCheck: boolean;
  /** Indicates if floor limit check is enabled */
  enabledFloorLimitCheck: boolean;
  /** Terminal contactless floor limit (9F1B), N12 */
  ctlFloorLimit: string;
  /** Amount above which contactless transactions are not allowed */
  ctlTranLimit: string;
  /** Amount above which CVM is required for contactless transactions */
  ctlCvmRequiredLimit: string;
  /** Terminal transaction qualifier (9F66) */
  ttq?: string | null;
  /** Terminal risk management data (9F1D) */
  riskMgmtData?: string | null;
  /** Mastercard kernel configuration (DF811B) */
  mcKernelConfig?: string | null;
  /** Indicates if contactless status check is enabled */
  enabledCtlStatusCheck?: boolean | null;
  /** CVM capability when CVM is required */
  cvmCapabilityCVMRequired?: string | null;
  /** CVM capability when no CVM is required */
  cvmCapabilityNoCVM?: string | null;
  /** Whether the new Mastercard CVM rule is enabled */
  isNewCVMRuleForMC?: boolean | null;
  /** Kernel ID */
  kernelId?: number | null;  // int32
  /** JCB Terminal Interchange Profile */
  jcbTip?: string | null;
  /** Contactless CVM limit flag */
  clbCvmLimit?: boolean | null;
}
/** Certification Authority Public Key (CAPK) parameters */
data class CapkParam(
    val scheme: PaymentMethod,
    /** Registered Application Provider Identifier (RID) */
    val rid: String,
    /** Key index */
    val keyIndex: String,
    /** Public key exponent */
    val exponent: String,
    /** Public key modulus */
    val modulus: String,
    /** Key expiry date in YYMMDD format */
    val expiryYyMmDd: String,
    /** Key checksum */
    val checksum: String,
    /** Key type (TEST or LIVE) */
    val capkType: CapkType? = null,
) {
    enum class CapkType {
        TEST, LIVE
    }
}
/** Certification Authority Public Key (CAPK) parameters */
interface CapkParam {
  scheme: PaymentMethod;
  /** Registered Application Provider Identifier (RID) */
  rid: string;
  /** Key index */
  keyIndex: string;
  /** Public key exponent */
  exponent: string;
  /** Public key modulus */
  modulus: string;
  /** Key expiry date in YYMMDD format */
  expiryYyMmDd: string;
  /** Key checksum */
  checksum: string;
  /** Key type (TEST or LIVE) */
  capkType?: "TEST" | "LIVE" | null;
}