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" 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" 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" 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" 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