{ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/api-evangelist/wordline/main/json-schema/wordline-create-company-request-schema.json", "title": "CreateCompanyRequest", "x-generated": "2026-10-10", "x-method": "derived", "x-generator": "derive-json-schema.py", "x-source": "openapi/wordline-company-api-openapi.yml#/components/schemas/CreateCompanyRequest", "type": "object", "required": [ "active", "corporateName", "commercialStatus", "addresses" ], "properties": { "issuerCustomerExternalReference": { "type": "string", "description": "Customer (as company) identifier provided by the Issuer" }, "active": { "type": "boolean", "description": "DEPRECATED" }, "corporateName": { "type": "string", "description": "Name of the company" }, "nationalFiscalIdentifier": { "type": "string", "description": "National fiscal identifier of the company (for information only)" }, "vatCode": { "type": "string", "description": "Value added tax code of the company (for information only). Free text." }, "type": { "type": "string", "description": "Type of company (e.g. Governmental, public company, private company). For information only. Free text" }, "size": { "type": "string", "description": "Size of the company. Free text (e.g. small, medium, 100)." }, "businessArea": { "type": "string", "description": "Definition of the activity of the company. Free text." }, "activityCode": { "type": "string", "description": "Activity of the company (e.g. 'rent car', 'retailer'). Free text." }, "revenue": { "type": "string", "description": "Annual turnover of the company. Free text" }, "legalForm": { "type": "string", "description": "Definition of the legal form of the company (e.g. in France : SA, SARL, EURL). Free text." }, "commercialStatus": { "type": "string", "description": "Commercial status of the company (e.g. 'normal', 'Active in Liquidation', 'Inactive'). List of possible values is determined per issuer. A default value is defined for each issuer." }, "preferredCorrespondenceLanguage": { "type": "string", "description": "Preferred correspondence language of the company (optional). Free text but ISO639-1 code is recommended (e.g. ‘nl’,’fr’,’de’,’en’). If present, the value can be subject to a validation process if a specific rule has been configured at issuer level." }, "partnerExternalReference": { "type": "string", "description": "External Reference provided by the issuer" }, "specificFields": { "type": "object", "description": "The issuer can provide Specific Fields for the company.\nIt is a list of external data {\"label\":\"value\"} separated by a \",\" related to the company (pass-thru data) that can be provided by e.g. the issuer for information or for usage by other systems.\nExample : {\"label1\":\"value1\",\"label2\":\"value2\"}\nThose provided data have no impact on our system business processes.", "additionalProperties": { "type": "string" } }, "addresses": { "type": "array", "description": "Addresses (MAIL, PHONE, EMAIL) created during the company's creation.The HEAD_OFFICE address is mandatory", "items": { "$ref": "#/$defs/CreateConsumerContractRequestAddress" } }, "contacts": { "type": "array", "description": "Contacts are persons who are accountable for the company", "items": { "$ref": "#/$defs/CreateContactRequest" } } }, "$defs": { "CreateAddressRequestMailAddress": { "type": "object", "required": [ "country" ], "properties": { "typeCode": { "type": "string", "description": "DEPRECATED" }, "courtesyTitle": { "type": "string", "description": "Courtesy title of the address. Free text" }, "line1": { "type": "string", "description": "Address line 1 (conditional). Free text. A specific issuer algorithm can be activated to e.g. build the line, apply controls (e.g. length restriction)." }, "line2": { "type": "string", "description": "Address line 2 (conditional). Free text. A specific issuer algorithm can be activated to e.g. build the line, apply controls (e.g. length restriction)." }, "line3": { "type": "string", "description": "Address line 3 (conditional). Free text. A specific issuer algorithm can be activated to e.g. build the line, apply controls (e.g. length restriction)." }, "line4": { "type": "string", "description": "Address line 4 (conditional). Free text. A specific issuer algorithm can be activated to e.g. build the line, apply controls (e.g. length restriction)." }, "line5": { "type": "string", "description": "Address line 5 (conditional). Free text. A specific issuer algorithm can be activated to e.g. build the line, apply controls (e.g. length restriction)." }, "buildingNumber": { "type": "string", "description": "Building number of the address (optional)" }, "boxNumber": { "type": "string", "description": "Box number of the address (optional)" }, "streetName": { "type": "string", "description": "Street name of the address (optional)" }, "postCode": { "type": "string", "description": "zip code of the address (optional)" }, "townName": { "type": "string", "description": "City corresponding to the address" }, "countrySubdivision": { "type": "string", "description": "Subdivision of the country (optional)" }, "country": { "type": "string", "description": "Code of the country (mandatory). Free text. The value can be subject to a validation process if a specific rule has been configured at issuer level. The value can be optional if a specific rule has been configured." } }, "title": "CreateAddressRequest.MailAddress" }, "CreateAddressRequestPhoneNumber": { "type": "object", "required": [ "localPhoneNumber" ], "properties": { "countryCode": { "type": "string", "description": "Country dialing code (optional). Free text. It is recommended to provide a region dialing code (e.g. +33, +49)." }, "localPhoneNumber": { "type": "string", "description": "Free text (mandatory). It’s recommended to provide an international phone number in accordance with the value provided in the country code Ex : - country code = ‘+’33’ and localPhoneNumber = ‘0622334455’ - country code = empty and localPhoneNumber = ‘+33622334455’ The value can be subject to a validation process if a specific rule has been configured at issuer level." } }, "title": "CreateAddressRequest.PhoneNumber" }, "CreateConsumerContractRequestAddress": { "type": "object", "required": [ "addressLabel", "addressType" ], "properties": { "addressLabel": { "type": "string", "description": "Refer to Address.addressLabel" }, "addressType": { "type": "string", "description": "Refer to Address.addressType" }, "postalAddress": { "$ref": "#/$defs/CreateAddressRequestMailAddress" }, "emailAddress": { "$ref": "#/$defs/EmailAddress" }, "phone": { "$ref": "#/$defs/CreateAddressRequestPhoneNumber" }, "addressUsages": { "type": "array", "items": { "$ref": "#/$defs/CreateConsumerContractRequestAddressUsage" } }, "issuerAddressExternalReference": { "type": "string", "description": "Refer to AddressIdentifier.issuerAddressExternalReference" } }, "title": "CreateConsumerContractRequest.Address" }, "CreateConsumerContractRequestAddressUsage": { "type": "object", "required": [ "addressUsageName", "serviceCode" ], "properties": { "addressUsageName": { "type": "string", "description": "The business process for which the address usage is defined such as CARD_DELIVERY, PIN_MAILER_DELIVERY, STATEMENT_DELIVERY." }, "entityReference": { "type": "string", "description": "This field is filled by the User while adding the usage to a particular Address of the Customer. It can be eg a card contract reference, card account reference. It is an optional field." }, "serviceCode": { "type": "string", "description": "The Service for which the address usage is defined : CARD_SERVICE (IBO CMS), ACCOUNT_SERVICE (IBO CAS), …" }, "entityRequestCorrelationId": { "type": "string", "description": "The issuer can provide the correlation id of the new entity (card contract or account) which linked to the address usage (account defined in the data block CreateConsumerContractRequest.Account and card contract defined in the data block CreateConsumerContractRequest.CardContract - field : requestCorrelationId)." }, "entityType": { "type": "string", "description": "If a correlation id is filled for an entity reference, the entity type must be provided to indicate if the entity is related to a card contract or to an account.\nPossible values:\n- CARD_CONTRACT\n- ACCOUNT", "enum": [ "ACCOUNT", "CARD_CONTRACT" ] } }, "title": "CreateConsumerContractRequest.AddressUsage" }, "CreateContactRequest": { "type": "object", "properties": { "name": { "type": "string", "description": "Name of the contact. Mandatory if the departmentName attribute is not provided." }, "firstName": { "type": "string", "description": "First name of the contact" }, "departmentName": { "type": "string", "description": "Department name to which the contact is attached. Free text. Mandatory if the contact name is not provided" }, "sex": { "type": "string", "description": "Gender of the contact" }, "description": { "type": "string", "description": "Description of the role of the contact within the company (e.g. 'sales manager'). Free text" }, "courtesyTitle": { "type": "string", "description": "Title of the contact. Free text" }, "type": { "type": "string", "description": "The contact type (e.g. Power of Attorney, Legal Representative)" }, "birthDate": { "type": "string", "format": "date-time", "description": "The contact's date of birth" }, "postalAddress": { "description": "The postal adress of the contact", "allOf": [ { "$ref": "#/$defs/CreateAddressRequestMailAddress" } ] } }, "title": "CreateContactRequest" }, "EmailAddress": { "type": "object", "required": [ "email" ], "properties": { "email": { "type": "string", "description": "Email address of the Customer (mandatory). The email address should have the following format: aaa@bbb.ccc\naaa, bbb, ccc are character string." } }, "title": "EmailAddress" } } }