Retrieve what services (if any) the supplier has available for a given address.
This follows the concepts in TMF645 - Service Qualification API and TMF673 - Address Management API.
The Fibre Cafe is a scalable, unified platform to support L2C provisioning, in-life modification/cease and T2R trouble resolution between communication providers (CP) and network operators or aggregators.
CPs are known as 'tenants' on the Fibre Cafe and communicate with the Fibre Cafe's Tenant API. The network operators and aggregators providing the underlying services are known as 'suppliers' and provide the Supplier API.
Each supplier is responsible for implementing this southbound API specification for the Fibre Cafe to retrieve available services and support appointing and order management.
Note: Order updates (KCIs) must be sent to the Supplier Updates API hosted by the Fibre Cafe. __
© 2022-2026 Strategic Imperatives
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.
Unique identifier for this service problem request (generated by the Fibre Cafe)
Codes representing the type of problem being encountered by the end user:
The description of problem being raised as defined by the end user.
Identifier of an existing live service
Details of a service the supplier provides at the selected address.
Unique identifier for a current service test performed prior to raising the service problem (generated by the Fibre Cafe)
The unique supplier reference of a service test that has been performed against the service prior to raising the service problem.
List of characteristics providing context on the problem
Represents a contact available at the given site/address.
Contact email address (if available)
Unique identifier for the reserved appointment (if applicable)
Unique reference identifying the appointment - supplier reference (if applicable)
Unique reference for an issue that is believed to be related, for example a multiline network outage
Unique reference identifying the parent problem - supplier reference (if applicable)
Hazard information about the site where the service will be restored
Information about restrictions on the site where the service will be restored
curl -i -X POST \
https://api.provided_by_supplier.net/service-problems \
-H 'Authorization: Bearer <YOUR_TOKEN_HERE>' \
-H 'Content-Type: application/json' \
-H 'Tenant: TENANT1' \
-H 'X-Conversation-ID: string' \
-H 'X-Request-ID: string' \
-d '{
"id": 23467,
"problemType": "STABILITY",
"problemText": "The service keeps dropping between 6pm and 9pm every evening.",
"serviceId": "SI2345432345345",
"serviceSpecification": {
"id": "ftthl2r"
},
"address": {
"id": "200004033694",
"type": "UPRN"
},
"serviceTestId": 23467,
"serviceTestReference": "TEST_233827673",
"characteristics": [
{
"name": "string",
"value": "string"
}
],
"primaryContact": {
"name": "John Smith",
"email": "john@smith.com",
"phoneNumber": "01234 567890"
},
"secondaryContact": {
"name": "John Smith",
"email": "john@smith.com",
"phoneNumber": "01234 567890"
},
"appointmentReservationId": 345,
"appointmentReservationReference": "A234X",
"parentServiceProblemId": 12345,
"parentServiceProblemReference": "SI_RE23380000",
"hazards": "Hazardous materials stored on site",
"onSiteRestrictions": "Restricted access",
"notes": "Lorem ipsum dolor sit amet..."
}'Service problem was acknowledged - response should contain the problem reference and appropriate status
Unique identifier to identify request and response events across the Fibre Cafe gateway
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.
Unique reference identifying this service problem (where applicable)
Unique identifier for this service problem request (generated by the Fibre Cafe)
Codes representing the type of problem being encountered by the end user:
The description of problem being raised as defined by the end user.
Identifier of an existing live service
Details of a service the supplier provides at the selected address.
Unique identifier for a current service test performed prior to raising the service problem (generated by the Fibre Cafe)
The unique supplier reference of a service test that has been performed against the service prior to raising the service problem.
List of characteristics providing context on the problem
Represents a contact available at the given site/address.
Contact email address (if available)
Unique identifier for the reserved appointment (if applicable)
Unique reference identifying the appointment - supplier reference (if applicable)
Unique reference for an issue that is believed to be related, for example a multiline network outage
Unique reference identifying the parent problem - supplier reference (if applicable)
Hazard information about the site where the service will be restored
Information about restrictions on the site where the service will be restored
{ "status": "ACKNOWLEDGED", "supplierReference": "A123X", "id": 23467, "problemType": "STABILITY", "problemText": "The service keeps dropping between 6pm and 9pm every evening.", "serviceId": "SI2345432345345", "serviceSpecification": { "id": "ftthl2r", "name": "FTTH" }, "address": { "id": "200004033694", "type": "UPRN" }, "serviceTestId": 23467, "serviceTestReference": "TEST_233827673", "characteristics": [ { … } ], "primaryContact": { "name": "John Smith", "email": "john@smith.com", "phoneNumber": "01234 567890" }, "secondaryContact": { "name": "John Smith", "email": "john@smith.com", "phoneNumber": "01234 567890" }, "appointmentReservationId": 345, "appointmentReservationReference": "A234X", "parentServiceProblemId": 12345, "parentServiceProblemReference": "SI_RE23380000", "hazards": "Hazardous materials stored on site", "onSiteRestrictions": "Restricted access", "notes": "Lorem ipsum dolor sit amet..." }
This endpoint is called to request amendment of an existing inflight service problem on an active service.
A request will contain 1 or more fields to be amended - only fields supplied should be changed.
The supplier should validate the amendment request. If the request is invalid or not possible then a 422 code should be returned with reason(s) for the rejection in the response.
The supplier may return a 202 accepted response without confirming the amendment if further validation/processing is required. In this scenario, the supplier must then send an update (KCI) to later confirm the amendment was applied or if rejected.
Alternatively, the supplier can confirm the amendment immediately by returning a 201 created response.
Unique identifier for this service problem amendment request (generated by the Fibre Cafe)
Unique reference identifying this service problem amendment - generated by the supplier
Unique reference identifying the service problem to be amended
Unique reference generated by the supplier for the service problem
The description of problem being raised as defined by the end user.
List of characteristics providing context on the problem
Unique identifier for the reserved appointment (if applicable)
Unique reference identifying the appointment - supplier reference (if applicable)
Hazard information about the site where the service will be restored
Information about restrictions on the site where the service will be restored
curl -i -X POST \
https://api.provided_by_supplier.net/service-problem-amendments \
-H 'Authorization: Bearer <YOUR_TOKEN_HERE>' \
-H 'Content-Type: application/json' \
-H 'Tenant: TENANT1' \
-H 'X-Conversation-ID: string' \
-H 'X-Request-ID: string' \
-d '{
"id": 23467,
"supplierReference": "SI_RE233827673",
"serviceProblemId": 12356,
"supplierServiceProblemReference": "SK_PRO233827673",
"problemText": "The service keeps dropping between 6pm and 9pm every evening.",
"escalationRequest": true,
"characteristics": [
{
"name": "END_USER_CPE",
"value": "Zyzel DX3301"
}
],
"primaryContact": {
"name": "John Smith",
"email": "john@smith.com",
"phoneNumber": "01234 567890"
},
"secondaryContact": {
"name": "John Smith",
"email": "john@smith.com",
"phoneNumber": "01234 567890"
},
"appointmentReservationId": 345,
"appointmentReservationReference": "A234X",
"hazards": "Hazardous materials stored on site",
"onSiteRestrictions": "Restricted access",
"notes": "Lorem ipsum dolor sit amet..."
}'Amendment request was successful and the service problem has been updated
Unique identifier to identify request and response events across the Fibre Cafe gateway
Unique identifier for this service problem amendment request (generated by the Fibre Cafe)
Unique reference identifying this service problem amendment - generated by the supplier
Unique reference identifying the service problem to be amended
Unique reference generated by the supplier for the service problem
The description of problem being raised as defined by the end user.
List of characteristics providing context on the problem
Unique identifier for the reserved appointment (if applicable)
Unique reference identifying the appointment - supplier reference (if applicable)
Hazard information about the site where the service will be restored
Information about restrictions on the site where the service will be restored
{ "id": 23467, "supplierReference": "SI_RE233827673", "serviceProblemId": 12356, "supplierServiceProblemReference": "SK_PRO233827673", "problemText": "The service keeps dropping between 6pm and 9pm every evening.", "escalationRequest": true, "characteristics": [ { … } ], "primaryContact": { "name": "John Smith", "email": "john@smith.com", "phoneNumber": "01234 567890" }, "secondaryContact": { "name": "John Smith", "email": "john@smith.com", "phoneNumber": "01234 567890" }, "appointmentReservationId": 345, "appointmentReservationReference": "A234X", "hazards": "Hazardous materials stored on site", "onSiteRestrictions": "Restricted access", "notes": "Lorem ipsum dolor sit amet..." }
This endpoint is called to request cancellation of an existing inflight service problem on an active service.
The supplier should validate the cancellation request. If the request is invalid or not possible then a 422 code should be returned with reason(s) for the rejection in the response.
The supplier may return a 202 accepted response without confirming the cancellation if further validation/processing is required. In this scenario, the supplier must then send an update (KCI) to later confirm the cancellation was completed or if rejected.
Alternatively, the supplier can confirm the cancellation immediately by returning a 201 created response.
Unique reference identifying this service problem cancellation request (generated by the Fibre Cafe)
Unique reference identifying the service problem to be cancelled
Unique reference generated by the supplier for the service problem
Codes representing reason for cancellation of the service problem:
curl -i -X POST \
https://api.provided_by_supplier.net/service-problem-cancellations \
-H 'Authorization: Bearer <YOUR_TOKEN_HERE>' \
-H 'Content-Type: application/json' \
-H 'Tenant: TENANT1' \
-H 'X-Conversation-ID: string' \
-H 'X-Request-ID: string' \
-d '{
"id": 123365,
"serviceProblemId": 12356,
"supplierServiceProblemReference": "SK_PRO233827673",
"reasonCode": "CUSTOMER_NETWORK_ISSUE",
"text": "Issue appears to have rectified itself."
}'Order cancellation request was successful and the order has been cancelled.
Unique identifier to identify request and response events across the Fibre Cafe gateway
Unique reference identifying this service problem cancellation request (generated by the Fibre Cafe)
Unique reference identifying this service problem cancellation request as generated by the supplier
Unique reference identifying the service problem to be cancelled
Unique reference generated by the supplier for the service problem
Codes representing reason for cancellation of the service problem:
{ "id": 123365, "supplierReference": "SI_RE233827673", "serviceProblemId": 12356, "supplierServiceProblemReference": "SK_PRO233827673", "reasonCode": "CUSTOMER_NETWORK_ISSUE", "text": "Issue appears to have rectified itself." }
This endpoint is called to signify acceptance or rejection of a supplier's resolution to an inflight service problem.
Where the tenant is satisfied with the resolution, the status of the resolution will be set to ACCEPTED and the service problem can be closed with the status set to COMPLETED.
Alternatively, the status will be REJECTED if the tenant is not satisfied and they should provide a reason in the tenantNotes field. The status problem will be re-opened with the status set back to IN_PROGRESS.
State model for service problem resolution.
curl -i -X PATCH \
'https://api.provided_by_supplier.net/service-problem-resolutions/{id}' \
-H 'Authorization: Bearer <YOUR_TOKEN_HERE>' \
-H 'Content-Type: application/json' \
-H 'Tenant: TENANT1' \
-H 'X-Conversation-ID: string' \
-H 'X-Request-ID: string' \
-d '{
"status": "REJECTED",
"tenantNotes": "Issue still persists"
}'Service problem resolution has been updated successfully
Unique identifier to identify request and response events across the Fibre Cafe gateway
Unique reference identifying this service problem resolution (as provided by supplier)
State model for service problem resolution.
Date/time the problem was resolved by the supplier
Date/time the problem was closed by the tenant or supplier
Details of resolution to a service problem request.
A code published on the developer portal to uniquely identify the problem resolution.
Detailed text regarding the problem resolution
Code(s) provided by the supplier regarding the resolution
Indicates if the resolution has violated the agreed SLAs
{ "supplierReference": "1234", "status": "REJECTED", "resolvedDate": "2022-01-10T09:00:00.000Z", "closedDate": "2022-01-10T09:00:00.000Z", "resolutionDetails": { "resolutionCode": "NETWORK_ISSUE", "resolutionText": "string", "supplierCodes": [ … ], "faultCode": [ … ] }, "slaViolation": [ "EXCEEDED_SLA_TIME_TO_REPAIR" ], "tenantNotes": "The problem was not resolved" }