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;
}