# Create a problem/incident for an active service owned by the communications provider (CP). This endpoint is called to raise a problem with the supplier to resolve a potential issue with a service. The supplier should validate and accept the request if the validation is successful or otherwise reject it. If the request is rejected, a 422 code should be returned with reason(s) for the rejection in the response. If the request is accepted, the supplier may return a 202 accepted response without acknowledging the service problem if further validation/processing is required. In this scenario, the supplier must then send an update (KCI) to later acknowledge the service problem and provide the problem reference. Alternatively, the supplier can synchronously acknowledge the service problem by returning a 201 created response with the response containing the problem reference and status of ACKNOWLEDGED. The service problem can also be committed at this stage by returning the status of IN_PROGRESS. Endpoint: POST /service-problems Version: 1.15 Security: oauth2 ## Header parameters: - `X-Request-ID` (string, required) Unique identifier to identify request and response events across the Fibre Cafe gateway - `X-Conversation-ID` (string, required) Identifier to track message journey across the Fibre Cafe gateway - `Tenant` (string, required) The tenant that has placed the request on the Fibre Cafe Example: "TENANT1" ## Request fields (application/json): - `id` (number, required) Unique identifier for this service problem request (generated by the Fibre Cafe) Example: 23467 - `problemType` (string, required) Codes representing the type of problem being encountered by the end user: - OUTAGE - PERFORMANCE - STABILITY - SYNCHRONISATION - CUSTOMER - CPE Example: "STABILITY" - `problemText` (string, required) The description of problem being raised as defined by the end user. Example: "The service keeps dropping between 6pm and 9pm every evening." - `serviceId` (string, required) Identifier of an existing live service Example: "SI2345432345345" - `serviceSpecification` (object, required) Details of a service the supplier provides at the selected address. - `serviceSpecification.id` (string, required) Unique identifier for this service specification (if available) Example: "ftthl2r" - `address` (object) Address identifier for location including type of identifier. - `address.id` (string, required) Address identifier of provided type e.g. UPRN Example: "200004033694" - `address.type` (string, required) Type of addressId provided e.g. UPRN Example: "UPRN" - `serviceTestId` (number) Unique identifier for a current service test performed prior to raising the service problem (generated by the Fibre Cafe) Example: 23467 - `serviceTestReference` (string) The unique supplier reference of a service test that has been performed against the service prior to raising the service problem. Example: "TEST_233827673" - `characteristics` (array, required) List of characteristics providing context on the problem - `characteristics.name` (string, required) Name of the characteristic - `characteristics.value` (string, required) Value for this characteristic - `primaryContact` (object, required) Represents a contact available at the given site/address. - `primaryContact.name` (string, required) Contact name Example: "John Smith" - `primaryContact.email` (string) Contact email address (if available) Example: "john@smith.com" - `primaryContact.phoneNumber` (string, required) Contact phone number Example: "01234 567890" - `secondaryContact` (object) Represents a contact available at the given site/address. - `appointmentReservationId` (number) Unique identifier for the reserved appointment (if applicable) Example: 345 - `appointmentReservationReference` (string) Unique reference identifying the appointment - supplier reference (if applicable) Example: "A234X" - `parentServiceProblemId` (number) Unique reference for an issue that is believed to be related, for example a multiline network outage Example: 12345 - `parentServiceProblemReference` (string) Unique reference identifying the parent problem - supplier reference (if applicable) Example: "SI_RE23380000" - `hazards` (string) Hazard information about the site where the service will be restored Example: "Hazardous materials stored on site" - `onSiteRestrictions` (string) Information about restrictions on the site where the service will be restored Example: "Restricted access" - `notes` (string, required) Notes about the problem which are required by the supplier. Example: "Lorem ipsum dolor sit amet..." ## Response 201 fields (application/json): - `status` (string, required) Service problem lifecycle adapted from TMF656 - update events (KCIs) will be sent from the supplier as the service problem transitions from one state to the other. Enum: "REJECTED", "ACKNOWLEDGED", "IN_PROGRESS", "HELD", "NETWORK_INCIDENT", "PENDING_AMENDMENT", "PENDING_CANCELLATION", "CANCELLED", "RESOLVED", "COMPLETED" - `supplierReference` (string) Unique reference identifying this service problem (where applicable) Example: "A123X" - `id` (number, required) Unique identifier for this service problem request (generated by the Fibre Cafe) Example: 23467 - `problemType` (string, required) Codes representing the type of problem being encountered by the end user: - OUTAGE - PERFORMANCE - STABILITY - SYNCHRONISATION - CUSTOMER - CPE Example: "STABILITY" - `problemText` (string, required) The description of problem being raised as defined by the end user. Example: "The service keeps dropping between 6pm and 9pm every evening." - `serviceId` (string, required) Identifier of an existing live service Example: "SI2345432345345" - `serviceSpecification` (object, required) Details of a service the supplier provides at the selected address. - `serviceSpecification.id` (string, required) Unique identifier for this service specification (if available) Example: "ftthl2r" - `serviceSpecification.name` (string) Name of the service Example: "FTTH" - `address` (object) Address identifier for location including type of identifier. - `address.id` (string, required) Address identifier of provided type e.g. UPRN Example: "200004033694" - `address.type` (string, required) Type of addressId provided e.g. UPRN Example: "UPRN" - `serviceTestId` (number) Unique identifier for a current service test performed prior to raising the service problem (generated by the Fibre Cafe) Example: 23467 - `serviceTestReference` (string) The unique supplier reference of a service test that has been performed against the service prior to raising the service problem. Example: "TEST_233827673" - `characteristics` (array, required) List of characteristics providing context on the problem - `characteristics.name` (string, required) Name of the characteristic - `characteristics.value` (string, required) Value for this characteristic - `primaryContact` (object, required) Represents a contact available at the given site/address. - `primaryContact.name` (string, required) Contact name Example: "John Smith" - `primaryContact.email` (string) Contact email address (if available) Example: "john@smith.com" - `primaryContact.phoneNumber` (string, required) Contact phone number Example: "01234 567890" - `secondaryContact` (object) Represents a contact available at the given site/address. - `appointmentReservationId` (number) Unique identifier for the reserved appointment (if applicable) Example: 345 - `appointmentReservationReference` (string) Unique reference identifying the appointment - supplier reference (if applicable) Example: "A234X" - `parentServiceProblemId` (number) Unique reference for an issue that is believed to be related, for example a multiline network outage Example: 12345 - `parentServiceProblemReference` (string) Unique reference identifying the parent problem - supplier reference (if applicable) Example: "SI_RE23380000" - `hazards` (string) Hazard information about the site where the service will be restored Example: "Hazardous materials stored on site" - `onSiteRestrictions` (string) Information about restrictions on the site where the service will be restored Example: "Restricted access" - `notes` (string, required) Notes about the problem which are required by the supplier. Example: "Lorem ipsum dolor sit amet..." ## Response 400 fields (application/json): - `uuid` (string, required) Unique identifier of this error - for tracing purposes Example: "87432dfb-2e47-4532-a1b7-4b113d48867d" - `code` (string, required) Fibre Cafe error codes Enum: "INVALID_REQUEST", "MALFORMED_REQUEST", "NOT_AUTHORISED", "NOT_FOUND", "NOT_IMPLEMENTED", "SUPPLIER_FAULT" - `messages` (array, required) Message describing the error Example: ["e.g. Invalid value for field x - accepted values are y"] ## Response 401 fields (application/json): - `uuid` (string, required) Unique identifier of this error - for tracing purposes Example: "87432dfb-2e47-4532-a1b7-4b113d48867d" - `code` (string, required) Fibre Cafe error codes Enum: "INVALID_REQUEST", "MALFORMED_REQUEST", "NOT_AUTHORISED", "NOT_FOUND", "NOT_IMPLEMENTED", "SUPPLIER_FAULT" - `messages` (array, required) Message describing the error Example: ["e.g. Invalid value for field x - accepted values are y"] ## Response 422 fields (application/json): - `uuid` (string, required) Unique identifier of this error - for tracing purposes Example: "87432dfb-2e47-4532-a1b7-4b113d48867d" - `code` (string, required) Fibre Cafe error codes Enum: "INVALID_REQUEST", "MALFORMED_REQUEST", "NOT_AUTHORISED", "NOT_FOUND", "NOT_IMPLEMENTED", "SUPPLIER_FAULT" - `messages` (array, required) Message describing the error Example: ["e.g. Invalid value for field x - accepted values are y"] ## Response 500 fields (application/json): - `uuid` (string, required) Unique identifier of this error - for tracing purposes Example: "87432dfb-2e47-4532-a1b7-4b113d48867d" - `code` (string, required) Fibre Cafe error codes Enum: "INVALID_REQUEST", "MALFORMED_REQUEST", "NOT_AUTHORISED", "NOT_FOUND", "NOT_IMPLEMENTED", "SUPPLIER_FAULT" - `messages` (array, required) Message describing the error Example: ["e.g. Invalid value for field x - accepted values are y"] ## Response 501 fields (application/json): - `uuid` (string, required) Unique identifier of this error - for tracing purposes Example: "87432dfb-2e47-4532-a1b7-4b113d48867d" - `code` (string, required) Fibre Cafe error codes Enum: "INVALID_REQUEST", "MALFORMED_REQUEST", "NOT_AUTHORISED", "NOT_FOUND", "NOT_IMPLEMENTED", "SUPPLIER_FAULT" - `messages` (array, required) Message describing the error Example: ["e.g. Invalid value for field x - accepted values are y"] ## Response 202 fields ## Response 403 fields ## Response 503 fields