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

Return available services for a given address.

Request

This endpoint can be called to find what services are available at a given address.

An address query parameter must be supplied specifying address ID and type as described above.

If required, a particular supplier or list of suppliers can be specified in the request; otherwise the Fibre Cafe will check with all suppliers as configured for the tenant.

Security
oauth2
Query
addressobjectrequired

Address identifier of provided type e.g. UPRN to check for service availability

Example: address={"id":"200004033694","type":"UPRN"}
address.​idstring[ 1 .. 20 ] charactersrequired

Address identifier of given type

Example: "200004033694"
address.​typestring^[A-Za-z]{1,15}$required

Type of address identifier e.g. UPRN, NAD, DistrictCode, ROBT

Example: "UPRN"
address.​additionalIdentifiersArray of objects(SecondaryAddressIdentifier)non-empty

Additional address identifiers where available/required for subsequent operations

suppliersArray of strings(SupplierList)non-empty

If specified, the request will be sent only to the specified supplier(s)

Example: suppliers=SUPPLIER1&suppliers=SUPPLIER2
postalCodestring

Not currently used

serviceTypesArray of strings(ServiceTypeList)non-empty

If specified, filters the service availability check to only include the specified service types

Default ["BROADBAND"]
Items Enum"BROADBAND""ETHERNET"
Example: serviceTypes=BROADBAND&serviceTypes=ETHERNET
Headers
X-Request-IDstringrequired

Unique identifier to link 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-availability?address={%22id%22%3A%22200004033694%22%2C%22type%22%3A%22UPRN%22}&suppliers=SUPPLIER1%2CSUPPLIER2&postalCode=string&serviceTypes=BROADBAND%2CETHERNET' \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>' \
  -H 'X-Conversation-ID: string' \
  -H 'X-Request-ID: string'

Responses

Request successful - zero or more services 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/jsonArray [
Any of:

Returns the available services that a supplier has at the selected address along with site information

supplierstring^\w{1,20}$required

System identifier for a supplier on the Fibre Cafe

Example: "SUPPLIER1"
addressobject(Address)required

Address for location associated with the service order.

address.​identifierobject(AddressIdentifier)required

Address identifier for location including type of identifier.

address.​identifier.​idstring[ 1 .. 20 ] charactersrequired

Address identifier of given type

Example: "A00000031882"
address.​identifier.​typestring^[A-Za-z]{1,15}$required

Type of address identifier e.g. UPRN, NAD, DistrictCode, ROBT

Example: "NAD"
address.​identifier.​additionalIdentifiersArray of objects(SecondaryAddressIdentifier)non-empty

Additional address identifiers where available/required for subsequent operations

address.​namestring[ 1 .. 50 ] charactersread-only

Identifying name of the sub unit

Example: "TWENTY"
address.​streetNumberstring[ 1 .. 50 ] charactersread-only

Discriminator used to identify the property on a street

Example: "20"
address.​streetNamestring[ 1 .. 100 ] charactersread-only

Name used to identify the street

Example: "Kingston Road"
address.​localitystring[ 1 .. 50 ] charactersread-only

Name used to identify the area

address.​citystring[ 1 .. 50 ] charactersread-only

Name used to identify the town or city

Example: "Staines-Upon-Thames"
address.​postcodestring[ 1 .. 12 ] charactersread-only

Postal code

Example: "TW184LG"
address.​countrystring[ 1 .. 50 ] charactersread-only

Name used to identify the country

Example: "UK"
address.​subAddressobject(SubAddress)read-only

More specific definition of a property within an urban area.

address.​qualifierstring[ 1 .. 50 ] charactersread-only

Optional qualifier for this address

Example: "Gold"
address.​sourcestring^\w{1,20}$

System identifier for the source of this address information

Example: "OPENREACH"
address.​additionalAttributesArray of objects(AddressAttribute)>= 0 items

Additional attributes of an address (where available) e.g.

  • UNINHABITED
  • HOTSITE
  • TEMPORARY
serviceSpecificationsArray of objects(ServiceSpecificationAvailability)>= 0 itemsrequired

List of services that are available at this address

serviceSpecifications[].​idstring[ 1 .. 50 ] charactersrequired

Unique identifier for this service specification

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

Name of the service

Example: "FTTH"
serviceSpecifications[].​serviceCharacteristicsArray of objects(ServiceCharacteristicAvailability)

Service characteristics supported by this service

siteInformationobject(SiteInformation)

Describes site information and details of the lines available.

]
Response
application/json
[ { "supplier": "SUPPLIER1", "address": {}, "serviceSpecifications": [], "siteInformation": {} } ]

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