{ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/api-evangelist/wordline/main/json-schema/wordline-create-add-on-subscription-request-schema.json", "title": "CreateAddOnSubscriptionRequest", "x-generated": "2026-10-10", "x-method": "derived", "x-generator": "derive-json-schema.py", "x-source": "openapi/wordline-corporate-contract-api-openapi.yml#/components/schemas/CreateAddOnSubscriptionRequest", "type": "object", "required": [ "addonReference", "serviceTypeReference" ], "properties": { "addonReference": { "type": "string", "description": "Reference of the add-on" }, "subscriptionToReplaceAddonReference": { "description": "Processing parameter (old add-on reference) for replacing the add-on subscription for new one", "type": "string" }, "subscriptionDate": { "type": "string", "description": "If provided, this date will be used as the starting date of the add-on subscription.", "format": "date-time" }, "serviceTypeReference": { "type": "string", "description": "Reference of the type of add-on service." }, "accountIdentifier": { "description": "The accountNumber of the Account for which to apply the add-on.\n*One of cardContractIdentifier/ accountIdentifier must be provided.", "allOf": [ { "$ref": "#/$defs/AccountIdentifier" } ] }, "cardContractIdentifier": { "description": "The reference of the CardContract for which to apply the add-on.\n*One of cardContractIdentifier/ accountIdentifier must be provided.", "allOf": [ { "$ref": "#/$defs/CardContractIdentifier" } ] }, "parameters": { "type": "array", "description": "List of add-on service parameters", "items": { "$ref": "#/$defs/CreateAddOnSubscriptionRequestAddOnParameter" } } }, "$defs": { "AccountIdentifier": { "type": "object", "properties": { "accountReference": { "type": "string", "description": "Account reference is to identify the Account calculated by the system (algorithm is configurable per issuer). Either the account number or the issuerAccountExternalReference is provided, or, if both are provided then only the account number is used." }, "issuerAccountExternalReference": { "type": "string", "description": "Issuer account external reference is to identify the Account. Either the account number or the issuerAccountExternalReference is provided, or, if both are provided then only the account number is used. Algorithm configurable by issuer, can be generated by the system if there is an externalReferenceGeneratorAlgorithm." } }, "title": "AccountIdentifier" }, "CardContractIdentifier": { "type": "object", "description": "Identification of the card contract either by Issuer card contract external reference or by card contract reference", "properties": { "cardContractReference": { "type": "string", "description": "The reference of the card contract in our system, unique per platform\nThis reference is calculated from an algorithm (currently a unique algorithm 'DefaultCardContractReferenceAlgorithm' referenced in the card profile version).\nThe reference is composed of the issuerId + a sequence number of 16 digits (e;g; 100042000000000095003, where 10004 is the issuerId)" }, "issuerCardContractExternalReference": { "type": "string", "description": "The external reference of the card contract provided by the issuer\nThis reference is unique per issuer and may be used to carry out research and find information." } }, "title": "CardContractIdentifier" }, "CreateAddOnSubscriptionRequestAddOnParameter": { "type": "object", "required": [ "reference", "type" ], "properties": { "reference": { "type": "string", "description": "Refer to AddOnServiceParameter.reference" }, "value": { "type": "string", "description": "Refer to AddOnServiceParameter.value" } }, "title": "CreateAddOnSubscriptionRequest.AddOnParameter" } } }