openapi: 3.0.1
info:
title: connect Address Management order API
description: "The Cloud Connect Service is a comprehensive multi-cloud one-stop-shop solution that provides a unique combination of layer 2 transport, which is provided by BICS, and dedicated connectivity (hosted connection) directly to the Cloud Service Provider (CSP) infrastructure. This service bypasses the public internet, ensuring reliable, secure, and fast connectivity.\n\nWithin each Cloud Connect Service, the Ethernet Virtual Private Line (EVPL) is provisioned on BICS network defined by MEF 6.2. The EVPL is a secure, point-to-point Ethernet service that provides a high-performance, low-latency connection between your on-premises infrastructure and the CSP infrastructure. \n\nThank you for considering BICS Cloud Connect Service and using our API. If you have any questions or concerns, please contact BICS customer support."
version: v1
servers:
- url: https://api.bics.com/connect/v1
tags:
- name: order
description: Purchase a number from the stock.
paths:
/order/bulk:
parameters: []
post:
tags:
- order
summary: Order easily single or multiple number(s) that we have in our stock.
description: 'Order easily single or multiple number(s) that we have in our stock. The method _/order_ provisions the number on the fly. In other words, the number can be used immediately after the API call.
You just have to fill out in your request the product and the country. Location, area code, quantity of numbers and routing details can be provided to better fit your needs. The content type of the request must be _application/json_.
You can also provide as an input one or multiple specific number(s) that we have in stock. The list of available numbers can be retrieved by calling the method _/availablenumbers_.
For some countries, you also need to specify the reference of the address of the end subscriber. For more information about address requirements, please read the Specifications API section and section Address Management API.
In case there are not enough numbers in stock, you also have the opportunity to split order in two orders: A regular order composed of the numbers that are available in stock and a back order for the remaining numbers that our operational team will fulfill as soon as possible. You can mention the order options in your request to specify the type of orders that API can create for you.'
operationId: Order Numbers In Bulk
parameters: []
requestBody:
description: Criteria's to order and provision routings of bulk numbers.
content:
application/json:
schema:
$ref: '#/components/schemas/bulkOrder'
example: null
required: true
responses:
'200':
description: The provisioned number
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/bulkOrderResponse'
example: null
example: null
'400':
description: Bad request, An issue occurred while processing the input parameters.
content:
application/json:
schema:
$ref: '#/components/schemas/numberSpecificError'
example: null
'404':
description: No available numbers in stock anymore.
content:
application/json:
schema:
$ref: '#/components/schemas/error'
example: null
/order/{orderId}:
parameters: []
get:
tags:
- order
summary: Get order by order id
description: The _/order/{orderId}_ method allows you to retrieve the details of a given order. As a response you will receive all information linked to the order that would help you manage it at your convenience.
operationId: Get Order Details
parameters:
- name: orderId
in: path
description: A given order identifier
required: true
allowEmptyValue: false
schema:
type: string
description: A given order identifier
readOnly: false
example: '34535'
responses:
'200':
description: successful operation
content:
application/json:
schema:
$ref: '#/components/schemas/bulkOrderResponse'
example: null
'400':
description: Bad request, An issue occurred while processing the input parameters.
content:
application/json:
schema:
$ref: '#/components/schemas/error'
example: null
'401':
description: the API Key was not mentioned or is invalid (see authentication)
content:
application/json:
schema:
$ref: '#/components/schemas/error'
example: null
'403':
description: this service cannot be used according to your API Key
content:
application/json:
schema:
$ref: '#/components/schemas/error'
example: null
'404':
description: Order does not exist.
content:
application/json:
schema:
$ref: '#/components/schemas/error'
example: null
/order:
parameters: []
post:
tags:
- order
summary: Order a single available number
description: 'Order easily single number that we have in our stock. The method _/order_ provisions the number on the fly. In other words, the number can be used immediately after the API call.
You just have to fill out in your request the product and the country. Location, area code, and routing details can be provided to better fit your needs.
The content type of the request must be application/json. For some countries, you also need to specify the reference of the address of the end subscriber. For more information about address requirements, please read the Specifications API section and section Address Management API.
In case there are not enough numbers in stock, you also have an opportunity to create an order that our operational team will fulfill as soon as possible. You can mention the order options in your request to specify the type of orders that API can create for you.'
operationId: Order Single Number
parameters: []
requestBody:
description: Criteria's to order and provision routing of one number.
content:
application/json:
schema:
$ref: '#/components/schemas/order'
example: null
required: true
responses:
'200':
description: The provisioned number
content:
application/json:
schema:
$ref: '#/components/schemas/orderResponse'
example: "{\n 'number': '81345785554',\n 'product': 'IBN',\n 'country': 'JPN',\n 'accessArea': 'NA',\n 'location': 'Tokyo',\n 'areaCode': '3',\n 'orderId': '34521',\n 'addressReference': '1247b1ca-ffec-4576-be45-c837cdbff546'\n 'routing': [\n {\n 'accessType': 'fixMobPay',\n 'accessNetwork': null,\n 'crnType': 'prefix',\n 'crnValue': '234A',\n 'crn': '234A81345785554',\n 'pop': 'ASIA'\n }\n ]\n}\n"
'400':
description: Bad request, An issue occurred while processing the input parameters.
content:
application/json:
schema:
$ref: '#/components/schemas/error'
example: null
'404':
description: No available numbers in stock anymore.
content:
application/json:
schema:
$ref: '#/components/schemas/error'
example: null
/order/{orderReference}/orderItem/{orderItemReference}:
parameters: []
patch:
tags:
- order
summary: Edit order by change address reference
description: The _/order/{orderReference}/orderItem/{orderItemReference}_ method allows you to change the address reference linked to an order item. It must be used in case the address that you initially provided is not valid and you want to provide another one to fulfil the order.
operationId: Edit Order
parameters:
- name: orderReference
in: path
description: A given order reference
required: true
allowEmptyValue: false
schema:
type: string
description: A given order reference
readOnly: false
example: '34535'
- name: orderItemReference
in: path
description: A given order item reference
required: true
allowEmptyValue: false
schema:
type: string
description: A given order item reference
readOnly: false
example: '45953'
requestBody:
description: Customer's address reference
content:
application/json:
schema:
$ref: '#/components/schemas/orderItemPatchRequest'
example: null
required: true
responses:
'400':
description: Bad request, An issue occurred while processing the input parameters.
content:
application/json:
schema:
$ref: '#/components/schemas/error'
example: null
'204':
description: Address Reference updated for given order item.
components:
schemas:
order:
type: object
allOf:
- required:
- country
- product
type: object
properties:
country:
type: string
description: Country code in ISO 3166-1 alpha-3 format.
example: BEL
product:
type: string
description: Valid product codes are 'IBN', 'ITFS' and 'GMN'. IBN referring to Cloud Numbers, ITFS referring to International Freephone and GMN referring to Global Mobile Number.
example: IBN
areaCode:
type: string
description: Optional parameter that indicates the area code of the number according to the national numbering plan. This attribute is not mandatory.
example: '2'
orderOptions:
$ref: '#/components/schemas/orderOptions'
accessArea:
type: string
description: Optional parameter allowing to select an exact price definition. See pricelist method for more info.
example: NA
addressReference:
type: string
description: Optional parameter allowing to specify the reference of the address you want to link to the Cloud Number. It must be used to order numbers in countries where address of the end subscriber is required.
example: 37a50zzb-d568-4ddd-b11d-jejc7c2j3e30
profile:
type: string
description: Optional parameter allowing to select an exact price definition. See pricelist method for more info.
example: Profile A
location:
type: string
description: Optional parameter that indicates in most cases the city that is attached to the number according to the national numbering plan. Sometimes, it is used to indicate whether it is a national or a mobile number. This attribute is not mandatory and can be filled in for Cloud Number (IBN) only.
example: Brussels
myReference:
type: string
description: Optional parameter that allows you to specify your own order reference.
example: AB4569
example: null
- $ref: '#/components/schemas/customerRoutingContainer'
example: null
crnType:
type: string
description: "The translation rule for the customer routing number that you want to apply to the number.\n
\n - `prefix` - To prefix the access number with the specified crnValue.
\n - `suffix` - To suffix the access number with the specified crnValue.
\n - `freetext` - To define your own customer routing number.
\n - `copy` - To use the access number as your customer routing number.
\n - `NA` - To bar incoming calls for this routing.
\n
\n"
example: prefix
enum:
- prefix
- suffix
- freetext
- copy
- NA
validationStatus:
type: string
enum:
- Need more information
- Under validation
- Validated
- No validation required
example: null
orderRequestItem:
type: object
allOf:
- type: object
properties:
number:
type: string
description: The number that you want to order. This attribute needs to be specified if you buy specific numbers.
example: '81345785554'
addressReference:
type: string
description: Optional parameter that allows you to specify the reference of the address you want to link to the number. It must be used to order number in countries where the end-user address is required.
example: 37a50zzb-d568-4ddd-b11d-jejc7c2j3e30
description: If you want to buy one or multiple specific numbers, you can provide the numbers in the appropriate format. For each number you can provide the address reference and the routing information.
example: null
- $ref: '#/components/schemas/customerRoutingContainer'
example: null
responseRoutingWithDetails:
type: object
allOf:
- type: object
properties:
crnValue:
type: string
description: 'The value to be used by the translation rule of the crnType. Only applicable to crnTypes prefix, suffix and freetext.
'
example: 259AB
crnType:
$ref: '#/components/schemas/crnType'
example: null
- $ref: '#/components/schemas/responseRouting'
example: null
customerRoutingContainer:
type: object
properties:
routing:
type: array
description: The routing configuration you want to apply for this number.
items:
$ref: '#/components/schemas/customerRouting'
example: null
example: null
responseRouting:
type: object
properties:
accessType:
type: string
description: "Access type of the calling party. You can apply a different routing per access type. The possible values are\n\n - fix: Fix line
\n - mob: Mobile line
\n - pay: Payphone line
\n - fixMob: Fix and Mobile lines
\n - fixPay: Fix and Payphone lines
\n - mobPay: Mobile and Payphone lines
\n - fixMobPay: Fix, Mobile and Payphone lines
\n
\n"
example: fixMobPay
pop:
type: string
description: Point of Presence (PoP) refers to your access point to which the traffic is routed.
example: ASIA
accessNetwork:
type: string
description: Parameter describing the network of the calling party. Different routes can be used per access network.
example: BICS
crn:
type: string
description: Customer Routing Number.
example: 259AB81345785554
example: null
orderItemPatchRequest:
type: object
properties:
addressReference:
type: string
description: Address reference id.
example: 365c51a4-07b8-4b04-bb6c-cbf1a1cc2205
example: null
orderStatus:
type: string
description: "Status of the order. For real-time number provisioning, the order status starts as Provisioning and updates to Delivered once completed in backend systems.\n\n - Created: Order is created. BICS will fulfil it as soon as possible.
\n - End user information under validation: BICS validates provided end user information.
\n - On hold, need more information: Some information is missing such as proof of document. Attribute Comment gives additional information.
\n - Being processed: Order is being processed. Numbers will be provisioned soon.
\n - Provisioning: Numbers are currently being set up and are not yet available for use. Once provisioning is complete, the status will be updated to Delivered.
\n - Delivered: Order is delivered, and numbers are provisioned.
\n - Cancelled by you: Order cancelled by you.
\n - Cancelled by BICS: Order cancelled by BICS.
\n
\n"
enum:
- Created
- End user information under validation
- On hold, more information required
- Being processed
- Provisioning
- Delivered
- Cancelled by you
- Cancelled by BICS
example: null
orderResponse:
type: object
properties:
number:
type: string
description: The provisioned access number
example: '81345785554'
country:
type: string
description: Country code in ISO 3166-1 alpha-3 format.
example: JPN
routing:
type: array
description: The routing configuration applied.
items:
$ref: '#/components/schemas/responseRoutingWithDetails'
example: null
product:
type: string
description: Valid product codes are 'IBN' and 'ITFS'. IBN referring to Cloud Numbers and ITFS referring to International Freephone.
example: IBN
areaCode:
type: string
description: Optional parameter that indicates the area code of the number according to the national numbering plan. This attribute is not mandatory.
example: '3'
accessArea:
type: string
description: The tariff differentiator the access number belongs to.
example: NA
addressReference:
type: string
description: Identifier of the address of the end subscriber. It must be used to order numbers in countries where address of the end subscriber is required.
example: 37a50zzb-d568-4ddd-b11d-jejc7c2j3e30
orderId:
type: string
description: SHOUL BE ADAPTED - Reference of your order. This will refer to your order on the MyNumbers portal.
example: '34521'
location:
type: string
description: A Location indicates in most cases the city the number belongs to. It is also used to specify if it is a national or a mobile number.
example: Tokyo
status:
$ref: '#/components/schemas/orderStatus'
example: null
accessType:
type: string
description: "Access type of the calling party. You can apply a different routing per access type. The possible values are\n\n - fix: Fix line
\n - mob: Mobile line
\n - pay: Payphone line
\n - fixMob: Fix and Mobile lines
\n - fixPay: Fix and Payphone lines
\n - mobPay: Mobile and Payphone lines
\n - fixMobPay: Fix, Mobile and Payphone lines
\n
\n"
enum:
- fix
- mob
- pay
- fixMob
- fixPay
- mobPay
- fixMobPay
example: null
bulkOrderResponse:
type: object
properties:
country:
type: string
description: Country code in ISO 3166-1 alpha-3 format.
example: JPN
product:
type: string
description: Valid product codes are 'IBN' and 'ITFS'. IBN referring to Cloud Numbers and ITFS referring to International Freephone.
example: IBN
orderId:
type: string
description: Identifier of your order.
example: '34521'
profile:
type: string
description: Tariff differentiator within a country. It intervenes in the billing.
example: Profile A
orderItems:
type: array
description: An order is composed of an array of items. There is an order item per number provisioned.
items:
$ref: '#/components/schemas/orderItem'
example: null
areaCode:
type: string
description: Area code of the number according to the national numbering plan.
example: '3'
createdDate:
type: string
description: Created date of the order.
format: date-time
example: '2019-12-17T01:00:00+01:00'
accessArea:
type: string
description: Used to differentiate the tariff of the number when relevant.
example: NA
modifiedDate:
type: string
description: Modified date of the order.
format: date-time
example: '2019-12-18T03:20:00+01:00'
comment:
type: string
description: Additional information on the status of the order. It helps you to understand what you need to provide to fulfil your order.
example: Please provide the company registration
location:
type: string
description: Location indicates in most cases the city that is attached to the number according to the national numbering plan. Sometimes, it is used to indicate whether it is a national or a mobile number.
example: Tokyo
myReference:
type: string
description: Your internal order reference.
example: AB4569
status:
$ref: '#/components/schemas/orderStatus'
example: null
orderItem:
type: object
properties:
number:
type: string
description: The provisioned number.
example: '81345785554'
routing:
type: array
description: Routing configuration applied.
items:
$ref: '#/components/schemas/responseRoutingWithDetails'
example: null
areaCode:
type: string
description: Area code of the number according to the national numbering plan.
example: '3'
addressReference:
type: string
description: Reference of the address you have linked to the number.
example: 37a50zzb-d568-4ddd-b11d-jejc7c2j3e30
orderItemId:
type: string
description: Reference of the order item.
example: '63451'
location:
type: string
description: Location indicates in most cases the city that is attached to the number according to the national numbering plan. Sometimes, it is used to indicate whether it is a national or a mobile number.
example: Tokyo
endUserInfoValidation:
$ref: '#/components/schemas/endUserInfoValidation'
example: null
endUserInfoValidation:
type: object
properties:
addressDocuments:
$ref: '#/components/schemas/validationStatus'
address:
$ref: '#/components/schemas/validationStatus'
description: 'Set of attributes indicates the validation status of the end user information. Attribute address gives the
status of the address of the end user and attribute addressDocuments gives the status of the documents provided
against the country specifications.
'
example: null
bulkOrder:
type: object
allOf:
- type: object
properties:
country:
type: string
description: Country code in ISO 3166-1 alpha-3 format. This attribute does not need to be specified if you buy specific numbers, otherwise it is mandatory.
example: BEL
orderRequestItems:
type: array
description: If you want to buy one or multiple specific numbers, you can provide the numbers in the appropriate format. For each number you can provide the address reference and the routing information.
items:
$ref: '#/components/schemas/orderRequestItem'
example: null
product:
type: string
description: Valid product codes are IBN, ITFS and GMN. IBN referring to Cloud Number, ITFS referring to International Freephone Number and GMN referring to Global Mobile Number. This attribute does not need to be specified if you buy specific numbers, otherwise it is mandatory.
example: IBN
areaCode:
type: string
description: Optional parameter that indicates the area code of the number according to the national numbering plan. This attribute is not mandatory.
example: '2'
quantity:
type: integer
description: Quantity of numbers you want to buy. If not specified only 1 number will be ordered.
example: 1
orderOptions:
$ref: '#/components/schemas/orderOptions'
addressReference:
type: string
description: Optional parameter that allows you to specify the reference of the address you want to link to the numbers. It must be used to order numbers in countries where the end-user address is required.
example: 37a50zzb-d568-4ddd-b11d-jejc7c2j3e30
location:
type: string
description: Optional parameter that indicates in most cases the city that is attached to the number according to the national numbering plan. Sometimes, it is used to indicate whether it is a national or a mobile number. This attribute is not mandatory and can be filled in for Cloud Number (IBN) only.
example: brussels
myReference:
type: string
description: Optional parameter that allows you to specify your own order reference.
example: AB4569
example: null
- $ref: '#/components/schemas/customerRoutingContainer'
example: null
error:
type: object
properties:
code:
type: string
description: Error code, the complete description can be found in API documentation
example: EXXX
description:
type: string
description: Description of the error, the complete description can be found in API documentation
example: Description of the error that occurred.
timestamp:
type: string
description: timestamp of error in UTC format
format: date-time
example: null
example: null
orderOptions:
type: object
properties:
backOrderAllowed:
type: boolean
description: Optional parameter that indicates if MyNumbers API is allowed to create an order that will be fulfilled by our operational team. It occurs when there are no numbers available in our stock. By default, this attribute is set to False.
example: true
consecutiveNumbers:
type: boolean
description: Optional parameter to indicate if consecutive numbers should be ordered. By default, this attribute is set to False.
example: true
firstNumberEndsWith:
type: string
description: Optional parameter to specify the ending digits of the first consecutive number. Only digits are allowed, and it must be a maximum of 4 digits.
example: '1234'
regularOrderAllowed:
type: boolean
description: Optional parameter that indicates if MyNumbers API is allowed to create an order that will be fulfilled by our operational team. It occurs when manual end user information is required. By default, this attribute is set to False.
example: true
description: Optional parameters that allow you to specify the type of orders you want to get.
example: null
numberSpecificError:
type: object
allOf:
- $ref: '#/components/schemas/error'
- type: object
properties:
number:
type: string
example: Number to which error corresponds to.
country:
type: string
example: Number and Origin Country code in ISO 3166-1 alpha-3 to which error corresponds to.
example: null
example: null
customerRouting:
required:
- crnType
type: object
properties:
accessType:
$ref: '#/components/schemas/accessType'
pop:
type: string
description: Point of Presence (PoP) refers to your access point to which the traffic is routed.
example: America
accessNetwork:
type: string
description: The network of the calling party. Routing detail can differ per access network of the calling party.
example: SMART
crnValue:
type: string
description: 'The value to be used by the translation rule of the crnType. Only applicable to crnTypes prefix, suffix and freetext.
'
example: 259AB
crnType:
$ref: '#/components/schemas/crnType'
description: This parameter allows you to specify routing information for the numbers you buy. You can differentiate calls based on access type/access network by defining a different customer routing number per access type/access network. For more info about the combination access type/access network, please consult the method Get Pricelist. If you want to define the same routing configuration for every combination access type/access network, you can omit the routing attributes Access Type and Access Network, and only specify crnType and crnValue. If you order multiple numbers at once (by providing the quantity parameter) the same routing will be applied to all numbers ordered.
example: null