KCI (Keep Customer Informed) updates are sent from a supplier to the tenant to provide order updates. For example, updates about an inflight order for a new service may include order state changes, delays and requests for information.
Fibre Cafe : Supplier Updates API (1.8)
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.
Where suppliers need to send updates back to the tenant (KCIs - Keep Customer Informed) then this API should be called. Examples of KCIs are where the order state and/or order fields have changed or to provide feedback on any requests e.g. amendment/cancellation submitted on the supplier API asynchronously.
Unsolicited ceases can also be sent via this API - these will be represented as a new order in the system that follows a similar but reduced order flow. __
© 2022-2026 Strategic Imperatives
Request
This endpoint is called to send an update (KCI) about an inflight service provide, cease or modify order back to the tenant.
Each KCI must have a unique reference and a timestamp when issued. The reason for the KCI must also be provided along with related fields.
The KCI must contain the latest version of the related order which must be identifiable by the Fibre Cafe generated order ID and/or supplier order reference.
Represents an KCI update to an order to provide a new service at a particular address.
Unique identifier for this service order update (UUID)
Date/time when supplier issued this update
Reason for this KCI - this must be provided along with the latest updated entity (serviceOrder, serviceProblem, serviceTest, reportableIncident).
- CREATED : Supplier has created a new entity e.g. unsolicited cease or reportable incident
- new serviceOrder containing the unsolicited cease order (as applicable)
- status can be ACKNOWLEDGED or IN_PROGRESS as appropriate for unsolicited cease
- new reportableIncident with appropriate status (as applicable)
- ACKNOWLEDGED : Acknowledge receipt without committing
- entity status should be ACKNOWLEDGED
- COMMITTED : Commit to fulfilment
- serviceOrder committedDate must be updated (as applicable)
- entity status should be IN_PROGRESS
- UPDATE : A general update
- entity must be updated
- INFORMATION_REQUIRED : Tenant must pass an amend request with the specified additional information
- problemCode can be provided
- supplierCode can be provided if available
- required information must be stated in text
- DELAY : There is a problem causing a delay
- problemCode must be provided (optionally with text description)
- supplierCode can be provided if available
- entity status may be updated (usually this is accompanied with a status change to HELD)
- RESUBMIT : Tenant must resubmit the request
- RESUMED : The problem has been resolved without impact on target date
- entity status should be IN_PROGRESS
- REAPPOINT : Tenant must reserve a new appointment and pass an amend request with the new reservation id
- problemCode must be provided
- supplierCode can be provided if available
- further information can be provided in text
- REAPPOINTED : Supplier has arranged a new appointment with the end customer
- entity appointmentTimeslot / appointmentSupplierReference provided
- serviceOrder targetDate updated (as applicable)
- RESOLVED : The request is resolved
- entity status should be RESOLVED.
- ADDITIONAL : Supplier is flagging that new information has been provided
- entity contains new service characteristics or additional information
- WARNING : There is a (potential) problem that is not causing a delay yet
- problemCode must be provided (optionally with text description)
- supplierCode can be provided if available
- AMENDED : Supplier has accepted and applied the requested amendment
- serviceOrder or serviceProblem must be updated
- serviceOrderAmendmentId or serviceProblemAmendmentId should be provided
- CANCELLED : Supplier has cancelled the order or service problem
- problemCode must be provided
- supplierCode can be provided if available
- serviceOrderCancellationId or serviceProblemCancellationId should be provided where cancellation was requested by tenant
- ORDER_REJECTED : The order has been rejected
- reason must be stated in text
- problemCode can be provided
- supplierCode can be provided if available
- REJECTED : The service test or problem request has been rejected
- reason must be stated in text
- problemCode can be provided
- supplierCode can be provided if available
- AMENDMENT_REJECTED : Tenant has previously sent an amendment request that has been rejected
- reason must be stated in text
- serviceOrderAmendmentId or serviceProblemAmendmentId must be provided
- CANCELLATION_REJECTED : Tenant has previously sent a cancellation request that has been rejected
- reason must be stated in text
- serviceOrderCancellationId or serviceProblemCancellationId must be provided
- FAILED : The request has failed to complete successfully
- problemCode must be provided
- supplierCode can be provided if available
- entity status should be FAILED
- COMPLETED : The request is complete
- entity status should be COMPLETED or PARTIAL
- CONTACT_CUSTOMER : Supplier has requested the tenant to contact the customer to continue
- CONTACT_REAPPOINT : Supplier requires the tenant to re-appoint but suggests contacting the customer first
Codes representing types of problems.
Textual information about this update - e.g. reason for the delay
Represents the current details of an order to provide a new service at a particular address. Orders must be identifiable via the Fibre Cafe generated ID and unique supplier reference if available.
Unique identifier for this provide service order - generated by the Fibre Cafe
The type of order
The type of order - provide (new, (re)start, takeover, transfer, swap), cease or modify.
The tenant that placed the order on the Fibre Cafe
Unique reference identifying this service order - supplier order reference
Order lifecycle adapted from TMF641 - order update events (KCIs) will be forwarded to the tenant as the order transitions from one state to the other.
Where KCI represents an order state change, this must be populated with the new value.
Address identifier for location associated with the service order.
Order for a service that the supplier provides at the selected address.
Details of a service the supplier provides at the selected address.
List of service characteristics for the service order item
Represents a contact available at the given address - primary contact must be provided.
Contact name
Contact email address (if available)
Represents a contact available at the given address - primary contact must be provided.
Unique identifier for appointment - Fibre Cafe generated identifier (if applicable). Populate when appointed and ID known.
Unique reference identifying the appointment - supplier reference (if applicable). Populate when appointed and ID not known.
Represents a re-appointed timeslot by the supplier (only send if applicable)
Where not appointed, allows a date to be requested for the service activation. This is set by the tenant/customer.
When the supplier first commits to fulfil the order this field will contain the expected completion date. Once set, this value cannot change.
The current expected completion date. This can be different to the committedDate if the order has been delayed for any reason, and can change possibly multiple times.
Engineer tasks to be performed at installation appointment.
- INSTALL_ROUTER
- TEST_SINGLE_DEVICE
- ADDITIONAL_CABLING
- TEST_MULTIPLE_DEVICES
- INSTALL_BBU
- VOICE_REINJECTION
- PROVE_IP_VOICE
- ENSURE_TELECARE
Hazard information about the site where the service will be installed
Information about restrictions on the site where the service(s) will be installed
Represents a note or supplementary information added to an order
Unique identifier for an amendment request - generated by the Fibre Cafe. Populate when update is about amendment and ID known.
Unique reference identifying an amendment request - supplier reference. Populate when update is about amendment and ID not known
Unique identifier for a cancellation request - generated by the Fibre Cafe. Populate when update is about cancellation and ID known.
- https://prod.fibregateway.com/v1/kcis
- curl
- JavaScript
- Node.js
- Python
- Java
- C#
- PHP
- Go
- Ruby
- R
- Payload
curl -i -X POST \
https://prod.fibregateway.com/v1/kcis \
-H 'Authorization: Bearer <YOUR_TOKEN_HERE>' \
-H 'Content-Type: application/json' \
-H 'X-Conversation-ID: string' \
-H 'X-Request-ID: string' \
-d '{
"id": "5251cf7d-7971-42e4-a5be-c24ed58a7aa6",
"sequenceNumber": 1,
"issuedOn": "2022-01-10T09:00:00.000Z",
"reasonCode": "CREATED",
"problemCode": "NETWORK_ISSUE",
"text": "Resolving network issue",
"supplierCode": "313",
"supplierCodes": [
"313"
],
"supplierNotes": [
{
"note": "Lorem ipsum dolor sit amet...",
"type": "Engineer Note",
"created": "2022-01-01T09:09:33.001Z"
}
],
"provideServiceOrder": {
"id": 123,
"orderType": "NEW",
"tenant": "TENANT1",
"supplierOrderReference": "A123X",
"status": "PENDING",
"address": {
"id": "200004033694",
"type": "UPRN"
},
"serviceOrderItem": {
"serviceSpecification": {
"id": "ftthl2r",
"name": "FTTH"
},
"serviceCharacteristics": [
{
"name": "SERVICE_VLAN_ID",
"value": "20"
}
]
},
"primaryContact": {
"name": "John Smith",
"email": "john@smith.com",
"phoneNumber": "01234 567890"
},
"secondaryContact": {
"name": "John Smith",
"email": "john@smith.com",
"phoneNumber": "01234 567890"
},
"appointmentReservationId": 234,
"appointmentReservationReference": "A234X",
"appointmentTimeslot": {
"timeslotStartDateTime": "2022-01-10T09:00:00.000Z",
"timeslotEndDateTime": "2022-01-10T13:00:00.000Z"
},
"requestedCompletionDate": "2022-01-10",
"committedDate": "2022-01-01T09:09:33.001Z",
"targetDate": "2022-01-01T09:09:33.001Z",
"engineerTasks": [
"TEST_SINGLE_DEVICE"
],
"hazards": "Hazardous materials stored on site",
"onSiteRestrictions": "Restricted access",
"notes": "Lorem ipsum dolor sit amet...",
"serviceOrderAmendmentId": 345,
"serviceOrderAmendmentReference": "123-1",
"serviceOrderCancellationId": 345,
"serviceOrderCancellationReference": "123-1"
}
}'No content