# Submit business case This operation accepts either a QR-Invoice PDF or a PDF in the eBill Format, containing the business case information as XML attachment included in the PDF. The specific business case type (bill, advice...) is specified in the XML attachment. Ideally the PDF conforms to the PDF/A-3b, if not, conversion is attempted. Please note that PDF format conversion may fail due to various technical reason. Endpoint: POST /api/v1/business-cases Version: 1.1 Security: X-API-Key ## Query parameters: - `processingMode` (string, required) STAGE: BusinessCase gets validated and staged (proceed via web UI), DELIVER: BusinessCase gets validated, processed and delivered to the bill recipient Enum: "STAGE", "DELIVER" - `refByEBillReferenceNumber` (string, required) eBill Reference Number which this business case references to (For reminders and replacements) - `refByReferenceStructured` (string, required) Structured payment reference number which this business case references to - `refByDibitoID` (integer, required) Dibito business case ID which this business case references to ## Header parameters: - `x-filename` (string) Filename for the business case PDF. This is only used for analytical purposes and support. The filename is not visible for the bill recipient. Minimal length: 1 Maximal length: 99 - `x-anomaly-detection` (string) If the optional header is provided with the value 'SKIP', the anomaly detection does not prevent business case submission ## Request fields (application/pdf): - `body` (string) PDF as binary data ## Response 201 fields (application/json): - `id` (integer, required) A unique SIX ID for this business case. Property must not be given when creating a new business case. Example: "BCID0FB909852BBC4D06AD8336AAE87D7FC9" - `type` (string, required) the type of the business case Enum: "Bill", "InstalmentBill", "Advice", "CreditNote", "Reminder", "DonationInquiry" - `billerSixId` (string, required) Biller SIX ID Example: "BIID0000123456" - `referenceNumber` (string) A business case reference given by the biller. Must be unique in combination with the billerId. Example: "2018-123456-22" - `referencedBill` (object) The business case can only reference bills or instalment bills. - `referencedBill.businessCaseSixId` (string) Business Case SIX ID Example: "BCID0FB909852BBC4D06AD8336AAE87D7FC9" - `referencedBill.referenceNumber` (string, required) The reference number of the referenced bill. Example: "2018-123456-22" - `businessCaseDate` (string, required) The business case date (ISO-8601 format), can not be more than 90 days in the past on the date it was created. Cannot be in the future. Example: "Fri Dec 22 01:00:00 CET 2017" - `status` (string) the status of the business case Enum: "OPEN", "APPROVED", "REJECTED", "COMPLETED" - `processingStatus` (string) the processing status of the business case Enum: "STAGED", "INVALID", "PROCESSING", "FAILED", "DELIVERED" - `totalAmount` (object, required) An amount whose value may be omitted. - `totalAmount.value` (number) The amount value. Take care when using JavaScript libraries to parse this value - it should be treated as a financial amount and therefore not as a floating point number but rather using a precise decimal representation (like BigDecimal in Java). Maximum value: 99'999'999.99 Maximal length: 10 Example: 99.99 - `totalAmount.currencyCode` (string, required) The amount currency code according to ISO-4217. Example: "CHF" ## Response 400 fields (application/json): - `status` (integer) The HTTP status code generated by the origin server for this occurrence of the problem. Example: 400 - `message` (string) A human readable explanation specific to this occurrence of the problem. Example: "The submitted request contains invalid or missing data which can not be processed." - `fieldErrors` (array) - `fieldErrors.fieldName` (string) the name of the field with the error Example: "localizedData.ger.address.city" - `fieldErrors.message` (string) the message describing the error Example: "size must be between 1 and 35" - `fieldErrors.rejectedValue` (string) the provided value which was rejected if available Example: "Very Long Invalid City Name Which Is Rejected" ## Response 404 fields (application/json): - `status` (integer) The HTTP status code generated by the origin server for this occurrence of the problem. Example: 400 - `message` (string) A human readable explanation specific to this occurrence of the problem. Example: "The submitted request contains invalid or missing data which can not be processed." - `fieldErrors` (array) - `fieldErrors.fieldName` (string) the name of the field with the error Example: "localizedData.ger.address.city" - `fieldErrors.message` (string) the message describing the error Example: "size must be between 1 and 35" - `fieldErrors.rejectedValue` (string) the provided value which was rejected if available Example: "Very Long Invalid City Name Which Is Rejected" ## Response 401 fields ## Response 403 fields ## Response 406 fields ## Response 422 fields