Skip to content

Fibre Cafe : Tenant API (1.17)

Introduction

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 this API - the Fibre Cafe's Tenant API. The network operators and aggregators providing the underlying services are known as 'suppliers'.

The Fibre Cafe will route requests from this API to appropriate supplier(s). Tenants will be configured to use suppliers based on requirements and commercial agreements.

Initial availability and appointing requests are synchronous. Ordering requests are asynchronous with confirmation and updates via KCIs (Keep Customer Informed).

Note: Order updates (KCIs) will be sent to the Tenant Updates API which the tenant must implement. __

© 2022-2026 Strategic Imperatives

Download OpenAPI description
Languages
Servers
https://prod.fibregateway.com/v1

Address Lookup

Used to look up address identifiers and details for a given postal code or UPRN.

This is not implemented by all suppliers - it is primarily provided to assist with NAD/District Code lookup for suppliers operating on the Openreach network.

This follows the concepts in TMF673 - Address Management API.

Operations

Service Availability

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.

Operations

Quote Management

Create and manage a quote to provide service at requested sites. This follows the concepts in TMF648 - Quote Management API.

Operations

Appointment Management

Retrieve and reserve appointments for installing or maintaining a service at a given address.

This follows the concepts in TMF646 - Appointment API.

Operations

Order Management

Create and manage an order to provide, cease or modify a service at a given address.

This follows the concepts in TMF641 - Service Ordering Management API.

Operations

Service Test Management

Operations

Service Problem Management

Operations

Create a problem/incident for an active service owned by the communications provider (CP).

Request

This endpoint can be called to raise a problem with a supplier to resolve a potential issue with a service.

The Fibre Cafe will validate the request and generate a problem identifier which is returned. If the problem request is rejected immediately then a 4XX code will be returned with reason(s) for the rejection in the response.

The problem will then be sent to the supplier for processing and further updates will be sent via KCIs - this could include a rejection if the problem does not meet supplier validation/processing rules. Once the problem is acknowledged, the supplier may assign their internal reference number which will be returned in the KCI as a characteristic.

Security
oauth2
Headers
X-Request-IDstringrequired

Unique identifier to identify request and response events across the Fibre Cafe gateway

X-Conversation-IDstringrequired

Identifier to track message journey across the Fibre Cafe gateway

Bodyapplication/json
externalIdentifierstring[ 1 .. 64 ] characters

The communications provider (CP) identifier for the problem. Used for reference purposes only

Example: "DS-2345432345345"
problemTypestring^[\w_]{5,50}required

The type of problem being raised. This will be advised or inferred as part of the service test result

Example: "PERFORMANCE"
problemTextstring[ 10 .. 80 ] charactersrequired

The description of problem being raised as defined by the end user.

Example: "The service keeps dropping between 6pm and 9pm every evening."
serviceIdstring[ 1 .. 50 ] charactersrequired

Identifier of an existing live service

Example: "SI2345432345345"
serviceSpecificationobject(ServiceSpecification)required

Details of a service the supplier provides at the selected address.

serviceSpecification.​idstring[ 1 .. 50 ] charactersrequired

Unique identifier for this service specification

Example: "ftthl2r"
addressobject(AddressIdentifier)

Address identifier for location including type of identifier.

supplierstring^[\w_]{1,20}required

System identifier for a supplier on the Fibre Cafe that is associated with this service

Example: "DUMMY_SUPPLIER"
serviceTestIdnumber>= 1required

Identifier of a current service test that has been performed against the service prior to raising the service problem

Example: 123
characteristicsArray of objects(ServiceProblemCharacteristic)non-emptyrequired

List of characteristics providing context on the problem

characteristics[].​namestring[ 1 .. 50 ] charactersrequired

Name of the characteristic

characteristics[].​valuestring[ 1 .. 50 ] charactersrequired

Value for this characteristic

primaryContactobject(Contact)required

Represents a contact available at the given address.

primaryContact.​namestring[ 1 .. 100 ] charactersrequired

Contact name

Example: "John Smith"
primaryContact.​emailstring^\S{1,64}@\S{2,254}$

Contact email address (if available)

Example: "john@smith.com"
primaryContact.​phoneNumberstring^\+?[\d\s\-#]{8,50}$required

Contact phone number

Example: "01234 567890"
secondaryContactobject(Contact)

Represents a contact available at the given address.

appointmentReservationIdnumber>= 1

Unique identifier for the reserved appointment (if applicable)

Example: 345
parentServiceProblemIdnumber

Unique reference for an issue that is believed to be related, for example a multiline network outage

Example: 2443435345
hazardsstring[ 1 .. 1000 ] characters

Hazard information about the site where the service will be restored

Example: "Hazardous materials stored on site"
onSiteRestrictionsstring[ 1 .. 1000 ] characters

Information about restrictions on the site where the service will be restored

Example: "Restricted access"
notesstring[ 1 .. 1000 ] charactersrequired

Notes about the problem which are required by the supplier. This includes additional information that may be required - refer to developer portal

Example: "Lorem ipsum dolor sit amet..."
curl -i -X POST \
  https://prod.fibregateway.com/v1/service-problems \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>' \
  -H 'Content-Type: application/json' \
  -H 'X-Conversation-ID: string' \
  -H 'X-Request-ID: string' \
  -d '{
    "externalIdentifier": "DS-2345432345345",
    "problemType": "PERFORMANCE",
    "problemText": "The service keeps dropping between 6pm and 9pm every evening.",
    "serviceId": "SI2345432345345",
    "serviceSpecification": {
      "id": "ftthl2r"
    },
    "address": {
      "id": "A00000031882",
      "type": "NAD",
      "additionalIdentifiers": [
        {
          "id": "A00000031882",
          "type": "NAD"
        }
      ]
    },
    "supplier": "DUMMY_SUPPLIER",
    "serviceTestId": 123,
    "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,
    "parentServiceProblemId": 2443435345,
    "hazards": "Hazardous materials stored on site",
    "onSiteRestrictions": "Restricted access",
    "notes": "Lorem ipsum dolor sit amet..."
  }'

Responses

Problem request was received by the Fibre Cafe and will be acknowledged later via a KCI

Headers
X-Request-IDstringrequired

Unique identifier to identify request and response events across the Fibre Cafe gateway

X-Conversation-IDstringrequired

Identifier to track message journey across the Fibre Cafe gateway

Bodyapplication/json
idnumber>= 1required

Unique reference identifying this service problem (generated by Fibre Cafe)

Example: 123
statusstring(ProblemStatus)read-onlyrequired

Service problem lifecycle adapted from TMF656 - update events (KCIs) will be sent to the tenant as the service problem transitions from one state to the other.

Enum"RECEIVED_BY_GATEWAY""SENT_TO_SUPPLIER""FAILED_TO_SEND""REJECTED""ACKNOWLEDGED""IN_PROGRESS""PENDING""HELD""NETWORK_INCIDENT""PENDING_AMENDMENT"
Example: "ACKNOWLEDGED"
createdstring(date-time)

Date/time when the service problem was created

Example: "2022-01-01T09:09:33.001Z"
updatedstring(date-time)

Date/time when the service problem was last updated

Example: "2022-01-01T09:45:39.001Z"
supplierIdentifierstring[ 1 .. 50 ] characters

Service problem reference generated by the supplier once acknowledged (for information only)

Example: "A123X"
updatesArray of objects(ServiceProblemUpdate)>= 0 items

Updates (KCIs) received about the service problem.

externalIdentifierstring[ 1 .. 64 ] characters

The communications provider (CP) identifier for the problem. Used for reference purposes only

Example: "DS-2345432345345"
problemTypestring^[\w_]{5,50}required

The type of problem being raised. This will be advised or inferred as part of the service test result

Example: "PERFORMANCE"
problemTextstring[ 10 .. 80 ] charactersrequired

The description of problem being raised as defined by the end user.

Example: "The service keeps dropping between 6pm and 9pm every evening."
serviceIdstring[ 1 .. 50 ] charactersrequired

Identifier of an existing live service

Example: "SI2345432345345"
serviceSpecificationobject(ServiceSpecification)required

Details of a service the supplier provides at the selected address.

serviceSpecification.​idstring[ 1 .. 50 ] charactersrequired

Unique identifier for this service specification

Example: "ftthl2r"
serviceSpecification.​namestring[ 1 .. 50 ] charactersread-only

Name of the service

Example: "FTTH"
addressobject(AddressIdentifier)

Address identifier for location including type of identifier.

supplierstring^[\w_]{1,20}required

System identifier for a supplier on the Fibre Cafe that is associated with this service

Example: "DUMMY_SUPPLIER"
serviceTestIdnumber>= 1required

Identifier of a current service test that has been performed against the service prior to raising the service problem

Example: 123
characteristicsArray of objects(ServiceProblemCharacteristic)non-emptyrequired

List of characteristics providing context on the problem

characteristics[].​namestring[ 1 .. 50 ] charactersrequired

Name of the characteristic

characteristics[].​valuestring[ 1 .. 50 ] charactersrequired

Value for this characteristic

primaryContactobject(Contact)required

Represents a contact available at the given address.

primaryContact.​namestring[ 1 .. 100 ] charactersrequired

Contact name

Example: "John Smith"
primaryContact.​emailstring^\S{1,64}@\S{2,254}$

Contact email address (if available)

Example: "john@smith.com"
primaryContact.​phoneNumberstring^\+?[\d\s\-#]{8,50}$required

Contact phone number

Example: "01234 567890"
secondaryContactobject(Contact)

Represents a contact available at the given address.

appointmentReservationIdnumber>= 1

Unique identifier for the reserved appointment (if applicable)

Example: 345
parentServiceProblemIdnumber

Unique reference for an issue that is believed to be related, for example a multiline network outage

Example: 2443435345
hazardsstring[ 1 .. 1000 ] characters

Hazard information about the site where the service will be restored

Example: "Hazardous materials stored on site"
onSiteRestrictionsstring[ 1 .. 1000 ] characters

Information about restrictions on the site where the service will be restored

Example: "Restricted access"
notesstring[ 1 .. 1000 ] charactersrequired

Notes about the problem which are required by the supplier. This includes additional information that may be required - refer to developer portal

Example: "Lorem ipsum dolor sit amet..."
Response
application/json
{ "id": 123, "status": "ACKNOWLEDGED", "created": "2022-01-01T09:09:33.001Z", "updated": "2022-01-01T09:45:39.001Z", "supplierIdentifier": "A123X", "updates": [ {} ], "externalIdentifier": "DS-2345432345345", "problemType": "PERFORMANCE", "problemText": "The service keeps dropping between 6pm and 9pm every evening.", "serviceId": "SI2345432345345", "serviceSpecification": { "id": "ftthl2r", "name": "FTTH" }, "address": { "id": "A00000031882", "type": "NAD", "additionalIdentifiers": [] }, "supplier": "DUMMY_SUPPLIER", "serviceTestId": 123, "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, "parentServiceProblemId": 2443435345, "hazards": "Hazardous materials stored on site", "onSiteRestrictions": "Restricted access", "notes": "Lorem ipsum dolor sit amet..." }

Retrieve current service problem details including updates (KCIs).

Request

This endpoint is called to retrieve the current details (including KCIs) about a service problem request.

Security
oauth2
Path
idstringrequired

Find order details relating to the specified service problem

Headers
X-Request-IDstringrequired

Unique identifier to identify request and response events across the Fibre Cafe gateway

X-Conversation-IDstringrequired

Identifier to track message journey across the Fibre Cafe gateway

curl -i -X GET \
  'https://prod.fibregateway.com/v1/service-problems/{id}' \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>' \
  -H 'X-Conversation-ID: string' \
  -H 'X-Request-ID: string'

Responses

Request successful - service problem details were returned

Headers
X-Request-IDstringrequired

Unique identifier to identify request and response events across the Fibre Cafe gateway

X-Conversation-IDstringrequired

Identifier to track message journey across the Fibre Cafe gateway

Bodyapplication/json
idnumber>= 1required

Unique reference identifying this service problem (generated by Fibre Cafe)

Example: 123
statusstring(ProblemStatus)read-onlyrequired

Service problem lifecycle adapted from TMF656 - update events (KCIs) will be sent to the tenant as the service problem transitions from one state to the other.

Enum"RECEIVED_BY_GATEWAY""SENT_TO_SUPPLIER""FAILED_TO_SEND""REJECTED""ACKNOWLEDGED""IN_PROGRESS""PENDING""HELD""NETWORK_INCIDENT""PENDING_AMENDMENT"
Example: "ACKNOWLEDGED"
createdstring(date-time)

Date/time when the service problem was created

Example: "2022-01-01T09:09:33.001Z"
updatedstring(date-time)

Date/time when the service problem was last updated

Example: "2022-01-01T09:45:39.001Z"
supplierIdentifierstring[ 1 .. 50 ] characters

Service problem reference generated by the supplier once acknowledged (for information only)

Example: "A123X"
updatesArray of objects(ServiceProblemUpdate)>= 0 items

Updates (KCIs) received about the service problem.

externalIdentifierstring[ 1 .. 64 ] characters

The communications provider (CP) identifier for the problem. Used for reference purposes only

Example: "DS-2345432345345"
problemTypestring^[\w_]{5,50}required

The type of problem being raised. This will be advised or inferred as part of the service test result

Example: "PERFORMANCE"
problemTextstring[ 10 .. 80 ] charactersrequired

The description of problem being raised as defined by the end user.

Example: "The service keeps dropping between 6pm and 9pm every evening."
serviceIdstring[ 1 .. 50 ] charactersrequired

Identifier of an existing live service

Example: "SI2345432345345"
serviceSpecificationobject(ServiceSpecification)required

Details of a service the supplier provides at the selected address.

serviceSpecification.​idstring[ 1 .. 50 ] charactersrequired

Unique identifier for this service specification

Example: "ftthl2r"
serviceSpecification.​namestring[ 1 .. 50 ] charactersread-only

Name of the service

Example: "FTTH"
addressobject(AddressIdentifier)

Address identifier for location including type of identifier.

supplierstring^[\w_]{1,20}required

System identifier for a supplier on the Fibre Cafe that is associated with this service

Example: "DUMMY_SUPPLIER"
serviceTestIdnumber>= 1required

Identifier of a current service test that has been performed against the service prior to raising the service problem

Example: 123
characteristicsArray of objects(ServiceProblemCharacteristic)non-emptyrequired

List of characteristics providing context on the problem

characteristics[].​namestring[ 1 .. 50 ] charactersrequired

Name of the characteristic

characteristics[].​valuestring[ 1 .. 50 ] charactersrequired

Value for this characteristic

primaryContactobject(Contact)required

Represents a contact available at the given address.

primaryContact.​namestring[ 1 .. 100 ] charactersrequired

Contact name

Example: "John Smith"
primaryContact.​emailstring^\S{1,64}@\S{2,254}$

Contact email address (if available)

Example: "john@smith.com"
primaryContact.​phoneNumberstring^\+?[\d\s\-#]{8,50}$required

Contact phone number

Example: "01234 567890"
secondaryContactobject(Contact)

Represents a contact available at the given address.

appointmentReservationIdnumber>= 1

Unique identifier for the reserved appointment (if applicable)

Example: 345
parentServiceProblemIdnumber

Unique reference for an issue that is believed to be related, for example a multiline network outage

Example: 2443435345
hazardsstring[ 1 .. 1000 ] characters

Hazard information about the site where the service will be restored

Example: "Hazardous materials stored on site"
onSiteRestrictionsstring[ 1 .. 1000 ] characters

Information about restrictions on the site where the service will be restored

Example: "Restricted access"
notesstring[ 1 .. 1000 ] charactersrequired

Notes about the problem which are required by the supplier. This includes additional information that may be required - refer to developer portal

Example: "Lorem ipsum dolor sit amet..."
Response
application/json
{ "id": 123, "status": "ACKNOWLEDGED", "created": "2022-01-01T09:09:33.001Z", "updated": "2022-01-01T09:45:39.001Z", "supplierIdentifier": "A123X", "updates": [ {} ], "externalIdentifier": "DS-2345432345345", "problemType": "PERFORMANCE", "problemText": "The service keeps dropping between 6pm and 9pm every evening.", "serviceId": "SI2345432345345", "serviceSpecification": { "id": "ftthl2r", "name": "FTTH" }, "address": { "id": "A00000031882", "type": "NAD", "additionalIdentifiers": [] }, "supplier": "DUMMY_SUPPLIER", "serviceTestId": 123, "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, "parentServiceProblemId": 2443435345, "hazards": "Hazardous materials stored on site", "onSiteRestrictions": "Restricted access", "notes": "Lorem ipsum dolor sit amet..." }

Request to amend an inflight service problem.

Request

This endpoint is called to request amendment of an existing inflight service problem on an active service.

The Fibre Cafe will validate the request and generate a unique ID which is returned. If the problem amendment is rejected immediately then a 4XX code will be returned with reason(s) for the rejection in the response.

The problem amendment will then be sent to the supplier for processing and further updates will be sent via KCIs - this could include a rejection if the request does not meet supplier validation/processing rules.

Security
oauth2
Headers
X-Request-IDstringrequired

Unique identifier to identify request and response events across the Fibre Cafe gateway

X-Conversation-IDstringrequired

Identifier to track message journey across the Fibre Cafe gateway

Bodyapplication/json
serviceProblemIdnumber>= 1required

Unique reference identifying the service problem to be amended

Example: 123
problemTextstring[ 10 .. 80 ] characters

The description of problem being raised as defined by the end user.

Example: "The service keeps dropping between 6pm and 9pm every evening."
characteristicsArray of objects(ServiceProblemCharacteristic)non-empty

Update any characteristics of the problem

hazardsstring[ 1 .. 1000 ] characters

Hazard information about the site where the service will be restored

Example: "Hazardous materials stored on site"
onSiteRestrictionsstring[ 1 .. 1000 ] characters

Information about restrictions on the site where the service will be restored

Example: "Restricted access"
notesstring[ 1 .. 1000 ] characters

Notes about the problem which are required by the supplier. This includes additional information that may be required - refer to developer portal

Example: "Lorem ipsum dolor sit amet..."
primaryContactobject(Contact)

Represents a contact available at the given address.

secondaryContactobject(Contact)

Represents a contact available at the given address.

appointmentReservationIdnumber>= 1

Unique identifier for the new reserved appointment

Example: 345
curl -i -X POST \
  https://prod.fibregateway.com/v1/service-problem-amendments \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>' \
  -H 'Content-Type: application/json' \
  -H 'X-Conversation-ID: string' \
  -H 'X-Request-ID: string' \
  -d '{
    "serviceProblemId": 123,
    "problemText": "The service keeps dropping between 6pm and 9pm every evening.",
    "characteristics": [
      {
        "name": "string",
        "value": "string"
      }
    ],
    "hazards": "Hazardous materials stored on site",
    "onSiteRestrictions": "Restricted access",
    "notes": "Lorem ipsum dolor sit amet...",
    "primaryContact": {
      "name": "John Smith",
      "email": "john@smith.com",
      "phoneNumber": "01234 567890"
    },
    "secondaryContact": {
      "name": "John Smith",
      "email": "john@smith.com",
      "phoneNumber": "01234 567890"
    },
    "appointmentReservationId": 345
  }'

Responses

Problem amendment request has been received and will be confirmed or rejected later by a KCI

Headers
X-Request-IDstringrequired

Unique identifier to identify request and response events across the Fibre Cafe gateway

X-Conversation-IDstringrequired

Identifier to track message journey across the Fibre Cafe gateway

Bodyapplication/json
idnumber>= 1read-onlyrequired

Unique reference identifying this service problem amendment (generated by Fibre Cafe)

Example: 123
statusstring(RequestStatus)read-onlyrequired

State model for amendment and cancellation requests.

Enum"RECEIVED_BY_GATEWAY""PENDING""FAILED_TO_SEND""REJECTED""COMPLETED"
Example: "REJECTED"
serviceProblemIdnumber>= 1required

Unique reference identifying the service problem to be amended

Example: 123
problemTextstring[ 10 .. 80 ] characters

The description of problem being raised as defined by the end user.

Example: "The service keeps dropping between 6pm and 9pm every evening."
characteristicsArray of objects(ServiceProblemCharacteristic)non-empty

Update any characteristics of the problem

hazardsstring[ 1 .. 1000 ] characters

Hazard information about the site where the service will be restored

Example: "Hazardous materials stored on site"
onSiteRestrictionsstring[ 1 .. 1000 ] characters

Information about restrictions on the site where the service will be restored

Example: "Restricted access"
notesstring[ 1 .. 1000 ] characters

Notes about the problem which are required by the supplier. This includes additional information that may be required - refer to developer portal

Example: "Lorem ipsum dolor sit amet..."
primaryContactobject(Contact)

Represents a contact available at the given address.

secondaryContactobject(Contact)

Represents a contact available at the given address.

appointmentReservationIdnumber>= 1

Unique identifier for the new reserved appointment

Example: 345
Response
application/json
{ "id": 123, "status": "REJECTED", "serviceProblemId": 123, "problemText": "The service keeps dropping between 6pm and 9pm every evening.", "characteristics": [ {} ], "hazards": "Hazardous materials stored on site", "onSiteRestrictions": "Restricted access", "notes": "Lorem ipsum dolor sit amet...", "primaryContact": { "name": "John Smith", "email": "john@smith.com", "phoneNumber": "01234 567890" }, "secondaryContact": { "name": "John Smith", "email": "john@smith.com", "phoneNumber": "01234 567890" }, "appointmentReservationId": 345 }

Request to cancel an inflight service problem.

Request

This endpoint is called to request cancellation of an existing inflight service problem on an active service.

The Fibre Cafe will validate the request and generate a unique ID which is returned. If the problem cancellation is rejected immediately then a 4XX code will be returned with reason(s) for the rejection in the response.

The problem cancellation will then be sent to the supplier for processing and further updates will be sent via KCIs - this could include a rejection if the cancellation does not meet supplier validation/processing rules.

Security
oauth2
Headers
X-Request-IDstringrequired

Unique identifier to identify request and response events across the Fibre Cafe gateway

X-Conversation-IDstringrequired

Identifier to track message journey across the Fibre Cafe gateway

Bodyapplication/json
serviceProblemIdnumber>= 1required

Unique reference identifying the service problem to be cancelled

Example: 123
reasonCodestring(ServiceProblemCancellationReasonCode)^[A-Z_]{5,50}required

Codes representing reason for cancellation of the service problem:

  • ISSUE_RESOLVED
  • CUSTOMER_NETWORK_ISSUE
  • NO_LONGER_REQUIRED
  • OTHER
Example: "CUSTOMER_NETWORK_ISSUE"
textstring[ 1 .. 1000 ] characters

Textual reason for cancellation - provides more context as applicable

Example: "Issue appears to have rectified itself."
curl -i -X POST \
  https://prod.fibregateway.com/v1/service-problem-cancellations \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>' \
  -H 'Content-Type: application/json' \
  -H 'X-Conversation-ID: string' \
  -H 'X-Request-ID: string' \
  -d '{
    "serviceProblemId": 123,
    "reasonCode": "CUSTOMER_NETWORK_ISSUE",
    "text": "Issue appears to have rectified itself."
  }'

Responses

Problem cancellation request has been received and will be confirmed or rejected later by a KCI

Headers
X-Request-IDstringrequired

Unique identifier to identify request and response events across the Fibre Cafe gateway

X-Conversation-IDstringrequired

Identifier to track message journey across the Fibre Cafe gateway

Bodyapplication/json
idnumber>= 1required

Unique reference identifying this service problem cancellation request (generated by Fibre Cafe)

Example: 123
statusstring(RequestStatus)read-onlyrequired

State model for amendment and cancellation requests.

Enum"RECEIVED_BY_GATEWAY""PENDING""FAILED_TO_SEND""REJECTED""COMPLETED"
Example: "REJECTED"
serviceProblemIdnumber>= 1required

Unique reference identifying the service problem to be cancelled

Example: 123
reasonCodestring(ServiceProblemCancellationReasonCode)^[A-Z_]{5,50}required

Codes representing reason for cancellation of the service problem:

  • ISSUE_RESOLVED
  • CUSTOMER_NETWORK_ISSUE
  • NO_LONGER_REQUIRED
  • OTHER
Example: "CUSTOMER_NETWORK_ISSUE"
textstring[ 1 .. 1000 ] characters

Textual reason for cancellation - provides more context as applicable

Example: "Issue appears to have rectified itself."
Response
application/json
{ "id": 123, "status": "REJECTED", "serviceProblemId": 123, "reasonCode": "CUSTOMER_NETWORK_ISSUE", "text": "Issue appears to have rectified itself." }

Request to accept or reject resolution of an inflight service problem.

Request

This endpoint is called to request acceptance or rejection of a supplier's resolution to an inflight service problem.

Security
oauth2
Path
idstringrequired

Service problem resolution identifier

Headers
X-Request-IDstringrequired

Unique identifier to identify request and response events across the Fibre Cafe gateway

X-Conversation-IDstringrequired

Identifier to track message journey across the Fibre Cafe gateway

Bodyapplication/json
statusstring(ServiceProblemResolutionStatus)required

State model for service problem resolution.

Enum"PENDING""REJECTED""ACCEPTED"
Example: "REJECTED"
tenantNotesstring[ 1 .. 1000 ] characters

Text from the tenant giving notes or reason for rejection - as applicable

Example: "Issue still persists"
curl -i -X PATCH \
  'https://prod.fibregateway.com/v1/service-problem-resolutions/{id}' \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>' \
  -H 'Content-Type: application/json' \
  -H 'X-Conversation-ID: string' \
  -H 'X-Request-ID: string' \
  -d '{
    "status": "REJECTED",
    "tenantNotes": "Issue still persists"
  }'

Responses

Service problem resolution has been updated successfully

Headers
X-Request-IDstringrequired

Unique identifier to identify request and response events across the Fibre Cafe gateway

X-Conversation-IDstringrequired

Identifier to track message journey across the Fibre Cafe gateway

Bodyapplication/json
idnumber>= 1read-onlyrequired

Unique reference identifying this service problem resolution (generated by Fibre Cafe)

Example: 123
serviceProblemIdnumber>= 1read-onlyrequired

Unique reference identifying the service problem (generated by Fibre Cafe)

Example: 123
statusstring(ServiceProblemResolutionStatus)required

State model for service problem resolution.

Enum"PENDING""REJECTED""ACCEPTED"
Example: "REJECTED"
resolvedDatestring(date-time)required

Date/time the problem was resolved by the supplier

Example: "2022-01-10T09:00:00.000Z"
closedDatestring(date-time)

Date/time the problem was closed by the tenant or supplier

Example: "2022-01-10T09:00:00.000Z"
resolutionDetailsobject(ResolutionDetails)required

Details of resolution to a service problem request.

resolutionDetails.​resolutionCodestring(ResolutionCode)^[\w_]{5,25}required

A code published on the developer portal to uniquely identify the problem resolution.

Enum"ACCESS_ISSUE""BACKHAUL_CORE_NETWORK""CUSTOMER_FAULT""CUSTOMER_FAULT_B_END""CUSTOMER_FAULT_EQUIPMENT""CUSTOMER_FAULT_MODEM""CUSTOMER_FAULT_WIRING""EXTERNAL_REIN""INTERNAL_REIN""LINE_TEST_NORMAL"
Example: "NETWORK_ISSUE"
resolutionDetails.​resolutionCategorystring

The category the resolution code

Example: "FAULTY_EQUIPMENT"
resolutionDetails.​resolutionTextstring<= 256 characters

Detailed text provided by the supplier regarding the problem resolution

resolutionDetails.​supplierCodesArray of strings

Code(s) provided by the supplier regarding the resolution

Example: ["R9"]
resolutionDetails.​faultCodeArray of stringsnon-empty

Code(s) provided by the supplier regarding the problem fault

Example: ["DAMAGED_ONT"]
slaViolationArray of stringsnon-empty

Indicates if the resolution has violated the agreed SLAs

Example: ["EXCEEDED_SLA_TIME_TO_REPAIR"]
tenantNotesstring[ 1 .. 1000 ] characters

Text from the tenant giving notes or reason for rejection - as applicable

Example: "The problem was not resolved"
Response
application/json
{ "id": 123, "serviceProblemId": 123, "status": "REJECTED", "resolvedDate": "2022-01-10T09:00:00.000Z", "closedDate": "2022-01-10T09:00:00.000Z", "resolutionDetails": { "resolutionCode": "NETWORK_ISSUE", "resolutionCategory": "FAULTY_EQUIPMENT", "resolutionText": "string", "supplierCodes": [], "faultCode": [] }, "slaViolation": [ "EXCEEDED_SLA_TIME_TO_REPAIR" ], "tenantNotes": "The problem was not resolved" }