Created
October 3, 2019 10:38
-
-
Save ma499/6b5dddfbf66bf875dff1fe1cee42d162 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
components: | |
schemas: | |
auth-token-request: | |
allOf: | |
- $ref: '#/components/schemas/auth-token-request-partial' | |
- required: | |
- api_key | |
- api_secret | |
title: AuthTokenRequest | |
type: object | |
auth-token-request-partial: | |
description: AuthTokenRequest | |
properties: | |
api_key: | |
maxLength: 16 | |
minLength: 16 | |
type: string | |
api_secret: | |
maxLength: 86 | |
minLength: 86 | |
type: string | |
title: PartialAuthTokenRequest | |
type: object | |
auth-tokens: | |
allOf: | |
- $ref: '#/components/schemas/auth-tokens-partial' | |
- required: | |
- access_token | |
- refresh_token | |
title: AuthTokens | |
type: object | |
auth-tokens-partial: | |
description: AuthToken | |
properties: | |
access_token: | |
type: string | |
refresh_token: | |
type: string | |
title: PartialAuthTokens | |
type: object | |
billing-contact: | |
properties: | |
type: | |
type: string | |
allOf: | |
- $ref: '#/components/schemas/billing-contact-partial' | |
required: | |
- managing_customer | |
- consuming_customer | |
- legal_company_name | |
- address_country | |
- address_locality | |
- postal_code | |
- street_address | |
- vat_number | |
- type | |
title: BillingContact | |
type: object | |
billing-contact-partial: | |
description: Billing Contact Response | |
properties: | |
address_country: | |
description: ISO 3166-1 alpha-2 country code, for example DE | |
example: US | |
maxLength: 2 | |
type: string | |
address_locality: | |
description: The locality/city. For example, Mountain View. | |
example: Mountain View | |
maxLength: 40 | |
type: string | |
address_region: | |
description: The region. For example, CA | |
example: CA | |
maxLength: 80 | |
nullable: true | |
type: string | |
consuming_customer: | |
description: 'The `id` of the customer consuming a service. | |
Used to be `owning_customer`. | |
' | |
example: '2381982' | |
type: string | |
email: | |
description: The email address for sending the invoice. | |
example: [email protected] | |
maxLength: 80 | |
type: string | |
external_ref: | |
description: Reference field, free to use for the API user. | |
example: IX:Service:23042 | |
maxLength: 128 | |
nullable: true | |
type: string | |
id: | |
maxLength: 80 | |
readOnly: true | |
type: string | |
legal_company_name: | |
description: 'The official name of the organization, | |
e.g. the registered company name. | |
' | |
example: Example Inc. | |
maxLength: 80 | |
type: string | |
managing_customer: | |
description: 'The `id` of the customer responsible for managing the service | |
via | |
the API. | |
Used to be `billing_customer`. | |
' | |
example: '238189294' | |
type: string | |
post_office_box_number: | |
description: The post office box number for PO box addresses. | |
example: 2335232 | |
maxLength: 18 | |
nullable: true | |
type: string | |
postal_code: | |
description: A postal code. For example, 9404 | |
example: 9409 | |
maxLength: 24 | |
type: string | |
street_address: | |
description: The street address. For example, 1600 Amphitheatre Pkwy. | |
example: 1600 Amphitheatre Pkwy. | |
maxLength: 80 | |
type: string | |
type: | |
example: billing | |
type: string | |
vat_number: | |
description: 'Value-added tax number, required for | |
european reverse charge system. | |
' | |
example: UK2300000042 | |
maxLength: 20 | |
minLength: 2 | |
nullable: true | |
type: string | |
required: | |
- type | |
title: PartialBillingContact | |
type: object | |
blackholing-network-feature: | |
allOf: | |
- $ref: '#/components/schemas/blackholing-network-feature-partial' | |
- required: | |
- name | |
- required | |
- required_contact_types | |
- flags | |
- network_service | |
- type | |
title: BlackholingNetworkFeature | |
type: object | |
blackholing-network-feature-config: | |
allOf: | |
- $ref: '#/components/schemas/blackholing-network-feature-config-partial' | |
- required: | |
- managing_customer | |
- consuming_customer | |
- contacts | |
- network_feature | |
- network_service_config | |
- activated | |
- filtered_prefixes | |
- type | |
title: BlackholingNetworkFeatureConfig | |
type: object | |
blackholing-network-feature-config-input: | |
allOf: | |
- $ref: '#/components/schemas/blackholing-network-feature-config-input-partial' | |
- required: | |
- managing_customer | |
- consuming_customer | |
- contacts | |
- network_feature | |
- network_service_config | |
- activated | |
- filtered_prefixes | |
- type | |
title: BlackholingNetworkFeatureConfigInput | |
type: object | |
blackholing-network-feature-config-input-partial: | |
description: Blackholing Network Feature Config Request | |
properties: | |
activated: | |
type: boolean | |
consuming_customer: | |
description: 'The `id` of the customer consuming a service. | |
Used to be `owning_customer`. | |
' | |
example: '2381982' | |
type: string | |
contacts: | |
description: 'Polymorphic set of contacts. See the documentation | |
on the specific `required_contact_types` on what | |
contacts to provide. | |
' | |
example: | |
- c-impl:123 | |
- c-noc:331 | |
items: | |
type: string | |
type: array | |
contract_ref: | |
description: 'A reference to a contract. | |
' | |
example: contract:31824 | |
maxLength: 128 | |
nullable: true | |
type: string | |
external_ref: | |
description: Reference field, free to use for the API user. | |
example: IX:Service:23042 | |
maxLength: 128 | |
nullable: true | |
type: string | |
filtered_prefixes: | |
items: | |
type: string | |
type: array | |
id: | |
readOnly: true | |
type: string | |
ixp_specific_configuration: | |
maxLength: 2048 | |
nullable: true | |
type: string | |
managing_customer: | |
description: 'The `id` of the customer responsible for managing the service | |
via | |
the API. | |
Used to be `billing_customer`. | |
' | |
example: '238189294' | |
type: string | |
network_feature: | |
type: string | |
network_service_config: | |
type: string | |
purchase_order: | |
description: 'Purchase Order ID which will be displayed on the invoice. | |
' | |
example: 'Project: DC Moon' | |
maxLength: 80 | |
type: string | |
type: | |
example: blackholing | |
type: string | |
title: PartialBlackholingNetworkFeatureConfigInput | |
type: object | |
blackholing-network-feature-config-partial: | |
description: Blackholing Network Feature Config | |
properties: | |
activated: | |
type: boolean | |
consuming_customer: | |
description: 'The `id` of the customer consuming a service. | |
Used to be `owning_customer`. | |
' | |
example: '2381982' | |
type: string | |
contacts: | |
description: 'Polymorphic set of contacts. See the documentation | |
on the specific `required_contact_types` on what | |
contacts to provide. | |
' | |
example: | |
- c-impl:123 | |
- c-noc:331 | |
items: | |
type: string | |
type: array | |
contract_ref: | |
description: 'A reference to a contract. | |
' | |
example: contract:31824 | |
maxLength: 128 | |
nullable: true | |
type: string | |
external_ref: | |
description: Reference field, free to use for the API user. | |
example: IX:Service:23042 | |
maxLength: 128 | |
nullable: true | |
type: string | |
filtered_prefixes: | |
items: | |
type: string | |
type: array | |
id: | |
readOnly: true | |
type: string | |
ixp_specific_configuration: | |
maxLength: 2048 | |
nullable: true | |
type: string | |
managing_customer: | |
description: 'The `id` of the customer responsible for managing the service | |
via | |
the API. | |
Used to be `billing_customer`. | |
' | |
example: '238189294' | |
type: string | |
network_feature: | |
type: string | |
network_service_config: | |
type: string | |
purchase_order: | |
description: 'Purchase Order ID which will be displayed on the invoice. | |
' | |
example: 'Project: DC Moon' | |
maxLength: 80 | |
type: string | |
state: | |
enum: | |
- requested | |
- allocated | |
- testing | |
- production | |
- decommission_requested | |
- decommissioned | |
- archived | |
- error | |
- operator | |
- scheduled | |
readOnly: true | |
type: string | |
status: | |
items: | |
$ref: '#/components/schemas/status' | |
type: array | |
type: | |
example: blackholing | |
type: string | |
title: PartialBlackholingNetworkFeatureConfig | |
type: object | |
blackholing-network-feature-config-update: | |
allOf: | |
- $ref: '#/components/schemas/blackholing-network-feature-config-update-partial' | |
- required: | |
- managing_customer | |
- consuming_customer | |
- activated | |
- filtered_prefixes | |
- type | |
title: BlackholingNetworkFeatureConfigUpdate | |
type: object | |
blackholing-network-feature-config-update-partial: | |
description: Blackholing Network Feature Config Update | |
properties: | |
activated: | |
type: boolean | |
consuming_customer: | |
description: 'The `id` of the customer consuming a service. | |
Used to be `owning_customer`. | |
' | |
example: '2381982' | |
type: string | |
external_ref: | |
description: Reference field, free to use for the API user. | |
example: IX:Service:23042 | |
maxLength: 128 | |
nullable: true | |
type: string | |
filtered_prefixes: | |
items: | |
type: string | |
type: array | |
ixp_specific_configuration: | |
maxLength: 2048 | |
nullable: true | |
type: string | |
managing_customer: | |
description: 'The `id` of the customer responsible for managing the service | |
via | |
the API. | |
Used to be `billing_customer`. | |
' | |
example: '238189294' | |
type: string | |
type: | |
example: blackholing | |
type: string | |
title: PartialBlackholingNetworkFeatureConfigUpdate | |
type: object | |
blackholing-network-feature-partial: | |
description: Blackholing Network Feature | |
properties: | |
flags: | |
description: 'A list of IXP specific feature flags. This can be used | |
to see if e.g. RPKI hard filtering is available.' | |
items: | |
$ref: '#/components/schemas/ixp-specific-feature-flag' | |
type: array | |
id: | |
readOnly: true | |
type: string | |
name: | |
maxLength: 80 | |
type: string | |
network_service: | |
type: string | |
required: | |
type: boolean | |
required_contact_types: | |
description: 'The configuration will require at least one of each of the | |
specified contact types. | |
They can be assigned in the `contacts` list property of the | |
network feature configuration.' | |
items: | |
type: string | |
type: array | |
type: | |
example: blackholing | |
type: string | |
title: PartialBlackholingNetworkFeature | |
type: object | |
closed-user-group-network-product: | |
allOf: | |
- $ref: '#/components/schemas/closed-user-group-network-product-partial' | |
- required: | |
- name | |
- type | |
title: ClosedUserGroupNetworkProduct | |
type: object | |
closed-user-group-network-product-partial: | |
description: Closed User Group Network Product | |
properties: | |
id: | |
readOnly: true | |
type: string | |
name: | |
description: Name of the product | |
maxLength: 80 | |
type: string | |
type: | |
example: closed_user_group | |
type: string | |
title: PartialClosedUserGroupNetworkProduct | |
type: object | |
closed-user-group-network-service: | |
allOf: | |
- $ref: '#/components/schemas/closed-user-group-network-service-partial' | |
- required: | |
- managing_customer | |
- consuming_customer | |
- contacts | |
- product | |
- required_contact_types | |
- type | |
title: ClosedUserGroupNetworkService | |
type: object | |
closed-user-group-network-service-config: | |
allOf: | |
- $ref: '#/components/schemas/closed-user-group-network-service-config-partial' | |
- required: | |
- network_service | |
- outer_vlan | |
- managing_customer | |
- consuming_customer | |
- contacts | |
- connection | |
- type | |
title: ClosedUserGroupNetworkServiceConfig | |
type: object | |
closed-user-group-network-service-config-input: | |
allOf: | |
- $ref: '#/components/schemas/closed-user-group-network-service-config-input-partial' | |
- required: | |
- managing_customer | |
- consuming_customer | |
- network_service | |
- outer_vlan | |
- contacts | |
- connection | |
- type | |
title: ClosedUserGroupNetworkServiceConfigInput | |
type: object | |
closed-user-group-network-service-config-input-partial: | |
description: Closed User Group Network Service Config Request | |
properties: | |
capacity: | |
description: 'The capacity of the service in Mbps. If set to Null, | |
the maximum capacity will be used. | |
That means, the service can consume up | |
to the total bandwidth of the `connection`. | |
Typically the service is charged based on the capacity.' | |
minimum: 1 | |
nullable: true | |
type: integer | |
connection: | |
description: 'The id of the connection to use for this service config. This | |
associates the service to a LAG. All traffic comming in on the | |
connection with the correct VLAN-ID will be transported to this | |
service.' | |
type: string | |
consuming_customer: | |
description: 'The `id` of the customer consuming a service. | |
Used to be `owning_customer`. | |
' | |
example: '2381982' | |
type: string | |
contacts: | |
description: 'Polymorphic set of contacts. See the documentation | |
on the specific `required_contact_types` on what | |
contacts to provide. | |
' | |
example: | |
- c-impl:123 | |
- c-noc:331 | |
items: | |
type: string | |
type: array | |
contract_ref: | |
description: 'A reference to a contract. | |
' | |
example: contract:31824 | |
maxLength: 128 | |
nullable: true | |
type: string | |
external_ref: | |
description: Reference field, free to use for the API user. | |
example: IX:Service:23042 | |
maxLength: 128 | |
nullable: true | |
type: string | |
id: | |
readOnly: true | |
type: string | |
inner_vlan: | |
description: This is a VLAN ID. | |
format: int32 | |
maximum: 4096 | |
minimum: 0 | |
nullable: true | |
type: integer | |
macs: | |
items: | |
type: string | |
readOnly: true | |
type: array | |
managing_customer: | |
description: 'The `id` of the customer responsible for managing the service | |
via | |
the API. | |
Used to be `billing_customer`. | |
' | |
example: '238189294' | |
type: string | |
network_feature_configs: | |
description: 'A list of ids of network feature configurations. | |
' | |
example: | |
- '12356' | |
- '43829' | |
items: | |
type: string | |
readOnly: true | |
type: array | |
network_service: | |
description: The id of the network service to configure. | |
type: string | |
outer_vlan: | |
description: 'Request a vlan from a set of ranges. | |
A range is represented as a list of integers. | |
The range has a max length of 2. | |
A set of ranges is a list of lists. | |
In case only one bound in the range is present, | |
it is interpreted as the exact value. That means that `[23]` is | |
equivalent to `[23, 23]`. | |
To just let the platform choose for you, provide all | |
possible ranges. `[ [0, 4096] ]`. | |
' | |
items: | |
items: | |
format: int32 | |
maximum: 4094 | |
minimum: 0 | |
type: integer | |
type: array | |
type: array | |
purchase_order: | |
description: 'Purchase Order ID which will be displayed on the invoice. | |
' | |
example: 'Project: DC Moon' | |
maxLength: 80 | |
type: string | |
type: | |
example: closed_user_group | |
type: string | |
title: PartialClosedUserGroupNetworkServiceConfigInput | |
type: object | |
closed-user-group-network-service-config-partial: | |
description: Closed User Group Network Service Config | |
properties: | |
capacity: | |
description: 'The capacity of the service in Mbps. If set to Null, | |
the maximum capacity will be used. | |
That means, the service can consume up | |
to the total bandwidth of the `connection`. | |
Typically the service is charged based on the capacity.' | |
minimum: 1 | |
nullable: true | |
type: integer | |
connection: | |
description: 'The id of the connection to use for this service config. This | |
associates the service to a LAG. All traffic comming in on the | |
connection with the correct VLAN-ID will be transported to this | |
service.' | |
type: string | |
consuming_customer: | |
description: 'The `id` of the customer consuming a service. | |
Used to be `owning_customer`. | |
' | |
example: '2381982' | |
type: string | |
contacts: | |
description: 'Polymorphic set of contacts. See the documentation | |
on the specific `required_contact_types` on what | |
contacts to provide. | |
' | |
example: | |
- c-impl:123 | |
- c-noc:331 | |
items: | |
type: string | |
type: array | |
contract_ref: | |
description: 'A reference to a contract. | |
' | |
example: contract:31824 | |
maxLength: 128 | |
nullable: true | |
type: string | |
external_ref: | |
description: Reference field, free to use for the API user. | |
example: IX:Service:23042 | |
maxLength: 128 | |
nullable: true | |
type: string | |
id: | |
readOnly: true | |
type: string | |
inner_vlan: | |
description: This is a VLAN ID. | |
format: int32 | |
maximum: 4096 | |
minimum: 0 | |
nullable: true | |
type: integer | |
macs: | |
items: | |
type: string | |
readOnly: true | |
type: array | |
managing_customer: | |
description: 'The `id` of the customer responsible for managing the service | |
via | |
the API. | |
Used to be `billing_customer`. | |
' | |
example: '238189294' | |
type: string | |
network_feature_configs: | |
description: 'A list of ids of network feature configurations. | |
' | |
example: | |
- '12356' | |
- '43829' | |
items: | |
type: string | |
readOnly: true | |
type: array | |
network_service: | |
description: The id of the configured network service. | |
type: string | |
outer_vlan: | |
description: 'A vlan id, where `0` is untagged. | |
Any value > 0 will be the tagged vlan. | |
' | |
example: 300 | |
format: int32 | |
maximum: 4096 | |
minimum: 0 | |
type: integer | |
purchase_order: | |
description: 'Purchase Order ID which will be displayed on the invoice. | |
' | |
example: 'Project: DC Moon' | |
maxLength: 80 | |
type: string | |
state: | |
enum: | |
- requested | |
- allocated | |
- testing | |
- production | |
- decommission_requested | |
- decommissioned | |
- archived | |
- error | |
- operator | |
- scheduled | |
readOnly: true | |
type: string | |
status: | |
items: | |
$ref: '#/components/schemas/status' | |
type: array | |
type: | |
example: closed_user_group | |
type: string | |
title: PartialClosedUserGroupNetworkServiceConfig | |
type: object | |
closed-user-group-network-service-config-update: | |
allOf: | |
- $ref: '#/components/schemas/closed-user-group-network-service-config-update-partial' | |
- required: | |
- managing_customer | |
- consuming_customer | |
- contacts | |
- connection | |
- type | |
title: ClosedUserGroupNetworkServiceConfigUpdate | |
type: object | |
closed-user-group-network-service-config-update-partial: | |
description: Closed User Group Network Service Update | |
properties: | |
capacity: | |
description: 'The capacity of the service in Mbps. If set to Null, | |
the maximum capacity will be used. | |
That means, the service can consume up | |
to the total bandwidth of the `connection`. | |
Typically the service is charged based on the capacity.' | |
minimum: 1 | |
nullable: true | |
type: integer | |
connection: | |
description: 'The id of the connection to use for this service config. This | |
associates the service to a LAG. All traffic comming in on the | |
connection with the correct VLAN-ID will be transported to this | |
service.' | |
type: string | |
consuming_customer: | |
description: 'The `id` of the customer consuming a service. | |
Used to be `owning_customer`. | |
' | |
example: '2381982' | |
type: string | |
contacts: | |
description: 'Polymorphic set of contacts. See the documentation | |
on the specific `required_contact_types` on what | |
contacts to provide. | |
' | |
example: | |
- c-impl:123 | |
- c-noc:331 | |
items: | |
type: string | |
type: array | |
contract_ref: | |
description: 'A reference to a contract. | |
' | |
example: contract:31824 | |
maxLength: 128 | |
nullable: true | |
type: string | |
external_ref: | |
description: Reference field, free to use for the API user. | |
example: IX:Service:23042 | |
maxLength: 128 | |
nullable: true | |
type: string | |
id: | |
readOnly: true | |
type: string | |
inner_vlan: | |
description: This is a VLAN ID. | |
format: int32 | |
maximum: 4096 | |
minimum: 0 | |
nullable: true | |
type: integer | |
macs: | |
items: | |
type: string | |
readOnly: true | |
type: array | |
managing_customer: | |
description: 'The `id` of the customer responsible for managing the service | |
via | |
the API. | |
Used to be `billing_customer`. | |
' | |
example: '238189294' | |
type: string | |
network_feature_configs: | |
description: 'A list of ids of network feature configurations. | |
' | |
example: | |
- '12356' | |
- '43829' | |
items: | |
type: string | |
readOnly: true | |
type: array | |
outer_vlan: | |
description: 'Request a vlan from a set of ranges. | |
A range is represented as a list of integers. | |
The range has a max length of 2. | |
A set of ranges is a list of lists. | |
In case only one bound in the range is provided, | |
it is interpreted as the exact value. `[23]` is | |
equivalent to `[23, 23]`. | |
To just let the platform choose for you, provide all | |
possible ranges. `[ [0, 4096] ]`. | |
' | |
items: | |
items: | |
format: int32 | |
maximum: 4096 | |
minimum: 0 | |
type: integer | |
type: array | |
type: array | |
purchase_order: | |
description: 'Purchase Order ID which will be displayed on the invoice. | |
' | |
example: 'Project: DC Moon' | |
maxLength: 80 | |
type: string | |
type: | |
example: closed_user_group | |
type: string | |
title: PartialClosedUserGroupNetworkServiceConfigUpdate | |
type: object | |
closed-user-group-network-service-partial: | |
description: Closed User Group Network Service | |
properties: | |
consuming_customer: | |
description: 'The `id` of the customer consuming a service. | |
Used to be `owning_customer`. | |
' | |
example: '2381982' | |
type: string | |
contacts: | |
description: 'Polymorphic set of contacts. See the documentation | |
on the specific `required_contact_types` on what | |
contacts to provide. | |
' | |
example: | |
- c-impl:123 | |
- c-noc:331 | |
items: | |
type: string | |
type: array | |
contract_ref: | |
description: 'A reference to a contract. | |
' | |
example: contract:31824 | |
maxLength: 128 | |
nullable: true | |
type: string | |
external_ref: | |
description: Reference field, free to use for the API user. | |
example: IX:Service:23042 | |
maxLength: 128 | |
nullable: true | |
type: string | |
id: | |
readOnly: true | |
type: string | |
managing_customer: | |
description: 'The `id` of the customer responsible for managing the service | |
via | |
the API. | |
Used to be `billing_customer`. | |
' | |
example: '238189294' | |
type: string | |
network_features: | |
items: | |
type: string | |
readOnly: true | |
type: array | |
product: | |
type: string | |
purchase_order: | |
description: 'Purchase Order ID which will be displayed on the invoice. | |
' | |
example: 'Project: DC Moon' | |
maxLength: 80 | |
type: string | |
required_contact_types: | |
description: 'The configuration will require at least one of each of the | |
specified contact types. | |
They can be assigned in the `contacts` list property of the | |
config.' | |
items: | |
type: string | |
type: array | |
type: | |
example: closed_user_group | |
type: string | |
title: PartialClosedUserGroupNetworkService | |
type: object | |
cloud-network-product: | |
allOf: | |
- $ref: '#/components/schemas/cloud-network-product-partial' | |
- required: | |
- name | |
- zone | |
- handover_point | |
- provider | |
- type | |
title: CloudNetworkProduct | |
type: object | |
cloud-network-product-partial: | |
description: Cloud Network Product | |
properties: | |
handover_point: | |
maxLength: 80 | |
type: string | |
id: | |
readOnly: true | |
type: string | |
name: | |
description: Name of the product | |
maxLength: 80 | |
type: string | |
provider: | |
type: string | |
type: | |
example: cloud | |
type: string | |
zone: | |
maxLength: 80 | |
type: string | |
title: PartialCloudNetworkProduct | |
type: object | |
cloud-network-service: | |
allOf: | |
- $ref: '#/components/schemas/cloud-network-service-partial' | |
- required: | |
- managing_customer | |
- consuming_customer | |
- contacts | |
- product | |
- required_contact_types | |
- cloud_provider_name | |
- type | |
title: CloudNetworkService | |
type: object | |
cloud-network-service-config: | |
allOf: | |
- $ref: '#/components/schemas/cloud-network-service-config-partial' | |
- required: | |
- network_service | |
- outer_vlan | |
- managing_customer | |
- consuming_customer | |
- contacts | |
- connection | |
- cloud_key | |
- type | |
title: CloudNetworkServiceConfig | |
type: object | |
cloud-network-service-config-input: | |
allOf: | |
- $ref: '#/components/schemas/cloud-network-service-config-input-partial' | |
- required: | |
- managing_customer | |
- consuming_customer | |
- network_service | |
- outer_vlan | |
- contacts | |
- connection | |
- cloud_key | |
- type | |
title: CloudNetworkServiceConfigInput | |
type: object | |
cloud-network-service-config-input-partial: | |
description: Cloud Network Service Config Request | |
properties: | |
capacity: | |
description: 'The capacity of the service in Mbps. If set to Null, | |
the maximum capacity will be used. | |
That means, the service can consume up | |
to the total bandwidth of the `connection`. | |
Typically the service is charged based on the capacity.' | |
minimum: 1 | |
nullable: true | |
type: integer | |
cloud_key: | |
maxLength: 512 | |
type: string | |
connection: | |
description: 'The id of the connection to use for this service config. This | |
associates the service to a LAG. All traffic comming in on the | |
connection with the correct VLAN-ID will be transported to this | |
service.' | |
type: string | |
consuming_customer: | |
description: 'The `id` of the customer consuming a service. | |
Used to be `owning_customer`. | |
' | |
example: '2381982' | |
type: string | |
contacts: | |
description: 'Polymorphic set of contacts. See the documentation | |
on the specific `required_contact_types` on what | |
contacts to provide. | |
' | |
example: | |
- c-impl:123 | |
- c-noc:331 | |
items: | |
type: string | |
type: array | |
contract_ref: | |
description: 'A reference to a contract. | |
' | |
example: contract:31824 | |
maxLength: 128 | |
nullable: true | |
type: string | |
external_ref: | |
description: Reference field, free to use for the API user. | |
example: IX:Service:23042 | |
maxLength: 128 | |
nullable: true | |
type: string | |
id: | |
readOnly: true | |
type: string | |
inner_vlan: | |
description: This is a VLAN ID. | |
format: int32 | |
maximum: 4096 | |
minimum: 0 | |
nullable: true | |
type: integer | |
managing_customer: | |
description: 'The `id` of the customer responsible for managing the service | |
via | |
the API. | |
Used to be `billing_customer`. | |
' | |
example: '238189294' | |
type: string | |
network_feature_configs: | |
description: 'A list of ids of network feature configurations. | |
' | |
example: | |
- '12356' | |
- '43829' | |
items: | |
type: string | |
readOnly: true | |
type: array | |
network_service: | |
description: The id of the network service to configure. | |
type: string | |
outer_vlan: | |
description: 'Request a vlan from a set of ranges. | |
A range is represented as a list of integers. | |
The range has a max length of 2. | |
A set of ranges is a list of lists. | |
In case only one bound in the range is present, | |
it is interpreted as the exact value. That means that `[23]` is | |
equivalent to `[23, 23]`. | |
To just let the platform choose for you, provide all | |
possible ranges. `[ [0, 4096] ]`. | |
' | |
items: | |
items: | |
format: int32 | |
maximum: 4094 | |
minimum: 0 | |
type: integer | |
type: array | |
type: array | |
purchase_order: | |
description: 'Purchase Order ID which will be displayed on the invoice. | |
' | |
example: 'Project: DC Moon' | |
maxLength: 80 | |
type: string | |
type: | |
example: cloud | |
type: string | |
title: PartialCloudNetworkServiceConfigInput | |
type: object | |
cloud-network-service-config-partial: | |
description: Cloud Network Service Config | |
properties: | |
capacity: | |
description: 'The capacity of the service in Mbps. If set to Null, | |
the maximum capacity will be used. | |
That means, the service can consume up | |
to the total bandwidth of the `connection`. | |
Typically the service is charged based on the capacity.' | |
minimum: 1 | |
nullable: true | |
type: integer | |
cloud_key: | |
maxLength: 512 | |
type: string | |
connection: | |
description: 'The id of the connection to use for this service config. This | |
associates the service to a LAG. All traffic comming in on the | |
connection with the correct VLAN-ID will be transported to this | |
service.' | |
type: string | |
consuming_customer: | |
description: 'The `id` of the customer consuming a service. | |
Used to be `owning_customer`. | |
' | |
example: '2381982' | |
type: string | |
contacts: | |
description: 'Polymorphic set of contacts. See the documentation | |
on the specific `required_contact_types` on what | |
contacts to provide. | |
' | |
example: | |
- c-impl:123 | |
- c-noc:331 | |
items: | |
type: string | |
type: array | |
contract_ref: | |
description: 'A reference to a contract. | |
' | |
example: contract:31824 | |
maxLength: 128 | |
nullable: true | |
type: string | |
external_ref: | |
description: Reference field, free to use for the API user. | |
example: IX:Service:23042 | |
maxLength: 128 | |
nullable: true | |
type: string | |
id: | |
readOnly: true | |
type: string | |
inner_vlan: | |
description: This is a VLAN ID. | |
format: int32 | |
maximum: 4096 | |
minimum: 0 | |
nullable: true | |
type: integer | |
managing_customer: | |
description: 'The `id` of the customer responsible for managing the service | |
via | |
the API. | |
Used to be `billing_customer`. | |
' | |
example: '238189294' | |
type: string | |
network_feature_configs: | |
description: 'A list of ids of network feature configurations. | |
' | |
example: | |
- '12356' | |
- '43829' | |
items: | |
type: string | |
readOnly: true | |
type: array | |
network_service: | |
description: The id of the configured network service. | |
type: string | |
outer_vlan: | |
description: 'A vlan id, where `0` is untagged. | |
Any value > 0 will be the tagged vlan. | |
' | |
example: 300 | |
format: int32 | |
maximum: 4096 | |
minimum: 0 | |
type: integer | |
purchase_order: | |
description: 'Purchase Order ID which will be displayed on the invoice. | |
' | |
example: 'Project: DC Moon' | |
maxLength: 80 | |
type: string | |
state: | |
enum: | |
- requested | |
- allocated | |
- testing | |
- production | |
- decommission_requested | |
- decommissioned | |
- archived | |
- error | |
- operator | |
- scheduled | |
readOnly: true | |
type: string | |
status: | |
items: | |
$ref: '#/components/schemas/status' | |
type: array | |
type: | |
example: cloud | |
type: string | |
title: PartialCloudNetworkServiceConfig | |
type: object | |
cloud-network-service-config-update: | |
allOf: | |
- $ref: '#/components/schemas/cloud-network-service-config-update-partial' | |
- required: | |
- managing_customer | |
- consuming_customer | |
- contacts | |
- connection | |
- cloud_key | |
- type | |
title: CloudNetworkServiceConfigUpdate | |
type: object | |
cloud-network-service-config-update-partial: | |
description: Cloud Network Service Config Update | |
properties: | |
capacity: | |
description: 'The capacity of the service in Mbps. If set to Null, | |
the maximum capacity will be used. | |
That means, the service can consume up | |
to the total bandwidth of the `connection`. | |
Typically the service is charged based on the capacity.' | |
minimum: 1 | |
nullable: true | |
type: integer | |
cloud_key: | |
maxLength: 512 | |
type: string | |
connection: | |
description: 'The id of the connection to use for this service config. This | |
associates the service to a LAG. All traffic comming in on the | |
connection with the correct VLAN-ID will be transported to this | |
service.' | |
type: string | |
consuming_customer: | |
description: 'The `id` of the customer consuming a service. | |
Used to be `owning_customer`. | |
' | |
example: '2381982' | |
type: string | |
contacts: | |
description: 'Polymorphic set of contacts. See the documentation | |
on the specific `required_contact_types` on what | |
contacts to provide. | |
' | |
example: | |
- c-impl:123 | |
- c-noc:331 | |
items: | |
type: string | |
type: array | |
contract_ref: | |
description: 'A reference to a contract. | |
' | |
example: contract:31824 | |
maxLength: 128 | |
nullable: true | |
type: string | |
external_ref: | |
description: Reference field, free to use for the API user. | |
example: IX:Service:23042 | |
maxLength: 128 | |
nullable: true | |
type: string | |
id: | |
readOnly: true | |
type: string | |
inner_vlan: | |
description: This is a VLAN ID. | |
format: int32 | |
maximum: 4096 | |
minimum: 0 | |
nullable: true | |
type: integer | |
managing_customer: | |
description: 'The `id` of the customer responsible for managing the service | |
via | |
the API. | |
Used to be `billing_customer`. | |
' | |
example: '238189294' | |
type: string | |
network_feature_configs: | |
description: 'A list of ids of network feature configurations. | |
' | |
example: | |
- '12356' | |
- '43829' | |
items: | |
type: string | |
readOnly: true | |
type: array | |
outer_vlan: | |
description: 'Request a vlan from a set of ranges. | |
A range is represented as a list of integers. | |
The range has a max length of 2. | |
A set of ranges is a list of lists. | |
In case only one bound in the range is provided, | |
it is interpreted as the exact value. `[23]` is | |
equivalent to `[23, 23]`. | |
To just let the platform choose for you, provide all | |
possible ranges. `[ [0, 4096] ]`. | |
' | |
items: | |
items: | |
format: int32 | |
maximum: 4096 | |
minimum: 0 | |
type: integer | |
type: array | |
type: array | |
purchase_order: | |
description: 'Purchase Order ID which will be displayed on the invoice. | |
' | |
example: 'Project: DC Moon' | |
maxLength: 80 | |
type: string | |
type: | |
example: cloud | |
type: string | |
title: PartialCloudNetworkServiceConfigUpdate | |
type: object | |
cloud-network-service-partial: | |
description: Cloud Network Service | |
properties: | |
cloud_provider_name: | |
type: string | |
consuming_customer: | |
description: 'The `id` of the customer consuming a service. | |
Used to be `owning_customer`. | |
' | |
example: '2381982' | |
type: string | |
contacts: | |
description: 'Polymorphic set of contacts. See the documentation | |
on the specific `required_contact_types` on what | |
contacts to provide. | |
' | |
example: | |
- c-impl:123 | |
- c-noc:331 | |
items: | |
type: string | |
type: array | |
contract_ref: | |
description: 'A reference to a contract. | |
' | |
example: contract:31824 | |
maxLength: 128 | |
nullable: true | |
type: string | |
external_ref: | |
description: Reference field, free to use for the API user. | |
example: IX:Service:23042 | |
maxLength: 128 | |
nullable: true | |
type: string | |
id: | |
readOnly: true | |
type: string | |
managing_customer: | |
description: 'The `id` of the customer responsible for managing the service | |
via | |
the API. | |
Used to be `billing_customer`. | |
' | |
example: '238189294' | |
type: string | |
network_features: | |
items: | |
type: string | |
readOnly: true | |
type: array | |
product: | |
type: string | |
purchase_order: | |
description: 'Purchase Order ID which will be displayed on the invoice. | |
' | |
example: 'Project: DC Moon' | |
maxLength: 80 | |
type: string | |
required_contact_types: | |
description: 'The configuration will require at least one of each of the | |
specified contact types. | |
They can be assigned in the `contacts` list property of the | |
config.' | |
items: | |
type: string | |
type: array | |
type: | |
example: cloud | |
type: string | |
title: PartialCloudNetworkService | |
type: object | |
cloud-provider: | |
allOf: | |
- $ref: '#/components/schemas/cloud-provider-partial' | |
- required: | |
- name | |
title: CloudProvider | |
type: object | |
cloud-provider-partial: | |
description: Cloud Provider | |
properties: | |
id: | |
readOnly: true | |
type: string | |
name: | |
maxLength: 80 | |
type: string | |
title: PartialCloudProvider | |
type: object | |
connection: | |
allOf: | |
- $ref: '#/components/schemas/connection-partial' | |
- required: | |
- managing_customer | |
- consuming_customer | |
- contacts | |
- mode | |
title: Connection | |
type: object | |
connection-partial: | |
description: Connection | |
properties: | |
consuming_customer: | |
description: 'The `id` of the customer consuming a service. | |
Used to be `owning_customer`. | |
' | |
example: '2381982' | |
type: string | |
contacts: | |
description: 'Polymorphic set of contacts. See the documentation | |
on the specific `required_contact_types` on what | |
contacts to provide. | |
' | |
example: | |
- c-impl:123 | |
- c-noc:331 | |
items: | |
type: string | |
type: array | |
contract_ref: | |
description: 'A reference to a contract. | |
' | |
example: contract:31824 | |
maxLength: 128 | |
nullable: true | |
type: string | |
demarcs: | |
description: 'Reference to the demarcs belonging to this connection. Typically | |
all demarcs within one connection are distributed over the same | |
device. | |
' | |
example: | |
- ID23 | |
- '42' | |
- '5' | |
items: | |
type: string | |
type: array | |
external_ref: | |
description: Reference field, free to use for the API user. | |
example: IX:Service:23042 | |
maxLength: 128 | |
nullable: true | |
type: string | |
id: | |
readOnly: true | |
type: string | |
lacp_timeout: | |
description: 'This sets the LACP Timeout mode. Both ends of the connections | |
need | |
to be configured the same. | |
' | |
enum: | |
- slow | |
- fast | |
example: slow | |
nullable: true | |
type: string | |
managing_customer: | |
description: 'The `id` of the customer responsible for managing the service | |
via | |
the API. | |
Used to be `billing_customer`. | |
' | |
example: '238189294' | |
type: string | |
mode: | |
description: 'Sets the mode of the connection. The mode can be: | |
- `lag_lacp`: connection is build as a LAG with LACP enabled | |
- `lag_static`: connection is build as LAG with static configuration | |
- `flex_ethernet`: connect is build as a FlexEthernet channel | |
- `standalone`: only one demarc is allowed in this connection without | |
any bundling. | |
' | |
enum: | |
- lag_lacp | |
- lag_static | |
- flex_ethernet | |
- standalone | |
example: lag_lacp | |
type: string | |
name: | |
maxLength: 80 | |
type: string | |
purchase_order: | |
description: 'Purchase Order ID which will be displayed on the invoice. | |
' | |
example: 'Project: DC Moon' | |
maxLength: 80 | |
type: string | |
speed: | |
description: 'Shows the total bandwidth of the connection in Mbit/s. | |
' | |
example: '20000' | |
minimum: 0 | |
nullable: true | |
type: integer | |
state: | |
enum: | |
- requested | |
- allocated | |
- testing | |
- production | |
- decommission_requested | |
- decommissioned | |
- archived | |
- error | |
- operator | |
- scheduled | |
readOnly: true | |
type: string | |
status: | |
items: | |
$ref: '#/components/schemas/status' | |
type: array | |
title: PartialConnection | |
type: object | |
connection-request: | |
allOf: | |
- $ref: '#/components/schemas/connection-request-partial' | |
- required: | |
- managing_customer | |
- consuming_customer | |
- contacts | |
- mode | |
title: ConnectionRequest | |
type: object | |
connection-request-partial: | |
description: Connection Request | |
properties: | |
consuming_customer: | |
description: 'The `id` of the customer consuming a service. | |
Used to be `owning_customer`. | |
' | |
example: '2381982' | |
type: string | |
contacts: | |
description: 'Polymorphic set of contacts. See the documentation | |
on the specific `required_contact_types` on what | |
contacts to provide. | |
' | |
example: | |
- c-impl:123 | |
- c-noc:331 | |
items: | |
type: string | |
type: array | |
contract_ref: | |
description: 'A reference to a contract. | |
' | |
example: contract:31824 | |
maxLength: 128 | |
nullable: true | |
type: string | |
external_ref: | |
description: Reference field, free to use for the API user. | |
example: IX:Service:23042 | |
maxLength: 128 | |
nullable: true | |
type: string | |
id: | |
readOnly: true | |
type: string | |
lacp_timeout: | |
description: 'This sets the LACP Timeout mode. Both ends of the connections | |
need | |
to be configured the same. | |
' | |
enum: | |
- slow | |
- fast | |
example: slow | |
nullable: true | |
type: string | |
managing_customer: | |
description: 'The `id` of the customer responsible for managing the service | |
via | |
the API. | |
Used to be `billing_customer`. | |
' | |
example: '238189294' | |
type: string | |
mode: | |
description: 'Sets the mode of the connection. The mode can be: | |
- `lag_lacp`: connection is build as a LAG with LACP enabled | |
- `lag_static`: connection is build as LAG with static configuration | |
- `flex_ethernet`: connect is build as a FlexEthernet channel | |
- `standalone`: only one demarc is allowed in this connection without | |
any bundling. | |
' | |
enum: | |
- lag_lacp | |
- lag_static | |
- flex_ethernet | |
- standalone | |
example: lag_lacp | |
type: string | |
purchase_order: | |
description: 'Purchase Order ID which will be displayed on the invoice. | |
' | |
example: 'Project: DC Moon' | |
maxLength: 80 | |
type: string | |
speed: | |
description: 'Shows the total bandwidth of the connection in Mbit/s. | |
' | |
example: '20000' | |
minimum: 0 | |
nullable: true | |
type: integer | |
title: PartialConnectionRequest | |
type: object | |
connection-update: | |
allOf: | |
- $ref: '#/components/schemas/connection-update-partial' | |
- required: | |
- managing_customer | |
- consuming_customer | |
- contacts | |
- mode | |
title: ConnectionUpdate | |
type: object | |
connection-update-partial: | |
description: Connection Update | |
properties: | |
consuming_customer: | |
description: 'The `id` of the customer consuming a service. | |
Used to be `owning_customer`. | |
' | |
example: '2381982' | |
type: string | |
contacts: | |
description: 'Polymorphic set of contacts. See the documentation | |
on the specific `required_contact_types` on what | |
contacts to provide. | |
' | |
example: | |
- c-impl:123 | |
- c-noc:331 | |
items: | |
type: string | |
type: array | |
contract_ref: | |
description: 'A reference to a contract. | |
' | |
example: contract:31824 | |
maxLength: 128 | |
nullable: true | |
type: string | |
external_ref: | |
description: Reference field, free to use for the API user. | |
example: IX:Service:23042 | |
maxLength: 128 | |
nullable: true | |
type: string | |
id: | |
readOnly: true | |
type: string | |
lacp_timeout: | |
description: 'This sets the LACP Timeout mode. Both ends of the connections | |
need | |
to be configured the same. | |
' | |
enum: | |
- slow | |
- fast | |
example: slow | |
nullable: true | |
type: string | |
managing_customer: | |
description: 'The `id` of the customer responsible for managing the service | |
via | |
the API. | |
Used to be `billing_customer`. | |
' | |
example: '238189294' | |
type: string | |
mode: | |
description: 'Sets the mode of the connection. The mode can be: | |
- `lag_lacp`: connection is build as a LAG with LACP enabled | |
- `lag_static`: connection is build as LAG with static configuration | |
- `flex_ethernet`: connect is build as a FlexEthernet channel | |
- `standalone`: only one demarc is allowed in this connection without | |
any bundling. | |
' | |
enum: | |
- lag_lacp | |
- lag_static | |
- flex_ethernet | |
- standalone | |
example: lag_lacp | |
type: string | |
purchase_order: | |
description: 'Purchase Order ID which will be displayed on the invoice. | |
' | |
example: 'Project: DC Moon' | |
maxLength: 80 | |
type: string | |
speed: | |
description: 'Shows the total bandwidth of the connection in Mbit/s. | |
' | |
example: '20000' | |
minimum: 0 | |
nullable: true | |
type: integer | |
title: PartialConnectionUpdate | |
type: object | |
contact: | |
description: Polymorphic Contact | |
discriminator: | |
mapping: | |
billing: '#/components/schemas/billing-contact' | |
implementation: '#/components/schemas/implementation-contact' | |
legal: '#/components/schemas/legal-contact' | |
noc: '#/components/schemas/noc-contact' | |
peering: '#/components/schemas/peering-contact' | |
propertyName: type | |
oneOf: | |
- $ref: '#/components/schemas/legal-contact' | |
- $ref: '#/components/schemas/noc-contact' | |
- $ref: '#/components/schemas/peering-contact' | |
- $ref: '#/components/schemas/implementation-contact' | |
- $ref: '#/components/schemas/billing-contact' | |
title: Contact | |
contact-partial: | |
description: Polymorphic Contact | |
discriminator: | |
mapping: | |
billing: '#/components/schemas/billing-contact-partial' | |
implementation: '#/components/schemas/implementation-contact-partial' | |
legal: '#/components/schemas/legal-contact-partial' | |
noc: '#/components/schemas/noc-contact-partial' | |
peering: '#/components/schemas/peering-contact-partial' | |
propertyName: type | |
oneOf: | |
- $ref: '#/components/schemas/legal-contact-partial' | |
- $ref: '#/components/schemas/noc-contact-partial' | |
- $ref: '#/components/schemas/peering-contact-partial' | |
- $ref: '#/components/schemas/implementation-contact-partial' | |
- $ref: '#/components/schemas/billing-contact-partial' | |
title: Contact (partial) | |
contactable-object: | |
allOf: | |
- $ref: '#/components/schemas/contactable-object-partial' | |
- required: | |
- contacts | |
title: ContactableObject | |
type: object | |
contactable-object-partial: | |
description: Contactable | |
properties: | |
contacts: | |
description: 'Polymorphic set of contacts. See the documentation | |
on the specific `required_contact_types` on what | |
contacts to provide. | |
' | |
example: | |
- c-impl:123 | |
- c-noc:331 | |
items: | |
type: string | |
type: array | |
title: PartialContactableObject | |
type: object | |
customer: | |
allOf: | |
- $ref: '#/components/schemas/customer-partial' | |
- required: | |
- name | |
title: Customer | |
type: object | |
customer-input: | |
allOf: | |
- $ref: '#/components/schemas/customer-input-partial' | |
- required: | |
- name | |
title: CustomerInput | |
type: object | |
customer-input-partial: | |
description: Customer Request | |
properties: | |
external_ref: | |
description: Reference field, free to use for the API user. | |
example: IX:Service:23042 | |
maxLength: 80 | |
nullable: true | |
type: string | |
id: | |
maxLength: 80 | |
readOnly: true | |
type: string | |
name: | |
description: 'Name of customer, how it gets represented | |
in all customer lists. | |
' | |
example: Moonpeer Inc. | |
maxLength: 80 | |
type: string | |
parent: | |
description: 'The `id` of a parent customer. Can be used for creating | |
a customer hierachy. | |
' | |
example: IX:Customer:231 | |
nullable: true | |
type: string | |
title: PartialCustomerInput | |
type: object | |
customer-partial: | |
description: Customer | |
properties: | |
external_ref: | |
description: Reference field, free to use for the API user. | |
example: IX:Service:23042 | |
maxLength: 80 | |
nullable: true | |
type: string | |
id: | |
maxLength: 80 | |
readOnly: true | |
type: string | |
name: | |
description: 'Name of customer, how it gets represented | |
in all customer lists. | |
' | |
example: Moonpeer Inc. | |
maxLength: 80 | |
type: string | |
parent: | |
description: 'The `id` of a parent customer. Can be used for creating | |
a customer hierachy. | |
' | |
example: IX:Customer:231 | |
nullable: true | |
type: string | |
state: | |
enum: | |
- requested | |
- allocated | |
- testing | |
- production | |
- decommission_requested | |
- decommissioned | |
- archived | |
- error | |
- operator | |
- scheduled | |
readOnly: true | |
type: string | |
status: | |
items: | |
$ref: '#/components/schemas/status' | |
type: array | |
title: PartialCustomer | |
type: object | |
customer-update: | |
allOf: | |
- $ref: '#/components/schemas/customer-update-partial' | |
- required: | |
- name | |
title: CustomerUpdate | |
type: object | |
customer-update-partial: | |
description: Customer Update Request | |
properties: | |
external_ref: | |
description: Reference field, free to use for the API user. | |
example: IX:Service:23042 | |
maxLength: 80 | |
nullable: true | |
type: string | |
id: | |
maxLength: 80 | |
readOnly: true | |
type: string | |
name: | |
description: 'Name of customer, how it gets represented | |
in all customer lists. | |
' | |
example: Moonpeer Inc. | |
maxLength: 80 | |
type: string | |
parent: | |
description: 'The `id` of a parent customer. Can be used for creating | |
a customer hierachy. | |
' | |
example: IX:Customer:231 | |
nullable: true | |
type: string | |
title: PartialCustomerUpdate | |
type: object | |
demarcation-point: | |
allOf: | |
- $ref: '#/components/schemas/demarcation-point-partial' | |
- required: | |
- managing_customer | |
- consuming_customer | |
- contacts | |
- media_type | |
- pop | |
title: DemarcationPoint | |
type: object | |
demarcation-point-partial: | |
description: Demarc | |
properties: | |
connection: | |
nullable: true | |
type: string | |
consuming_customer: | |
description: 'The `id` of the customer consuming a service. | |
Used to be `owning_customer`. | |
' | |
example: '2381982' | |
type: string | |
contacts: | |
description: 'Polymorphic set of contacts. See the documentation | |
on the specific `required_contact_types` on what | |
contacts to provide. | |
' | |
example: | |
- c-impl:123 | |
- c-noc:331 | |
items: | |
type: string | |
type: array | |
contract_ref: | |
description: 'A reference to a contract. | |
' | |
example: contract:31824 | |
maxLength: 128 | |
nullable: true | |
type: string | |
external_ref: | |
description: Reference field, free to use for the API user. | |
example: IX:Service:23042 | |
maxLength: 128 | |
nullable: true | |
type: string | |
id: | |
readOnly: true | |
type: string | |
managing_customer: | |
description: 'The `id` of the customer responsible for managing the service | |
via | |
the API. | |
Used to be `billing_customer`. | |
' | |
example: '238189294' | |
type: string | |
media_type: | |
description: 'The media type of the interface. | |
See the device''s capabilities to see what types | |
are available. | |
' | |
example: 10GBASE-LR | |
maxLength: 20 | |
type: string | |
name: | |
description: Name of the demarcation point (set by the IXP) | |
maxLength: 80 | |
readOnly: true | |
type: string | |
pop: | |
type: string | |
purchase_order: | |
description: 'Purchase Order ID which will be displayed on the invoice. | |
' | |
example: 'Project: DC Moon' | |
maxLength: 80 | |
type: string | |
speed: | |
minimum: 0 | |
nullable: true | |
readOnly: true | |
type: integer | |
state: | |
enum: | |
- requested | |
- allocated | |
- testing | |
- production | |
- decommission_requested | |
- decommissioned | |
- archived | |
- error | |
- operator | |
- scheduled | |
readOnly: true | |
type: string | |
status: | |
items: | |
$ref: '#/components/schemas/status' | |
type: array | |
title: PartialDemarcationPoint | |
type: object | |
demarcation-point-request: | |
allOf: | |
- $ref: '#/components/schemas/demarcation-point-request-partial' | |
- required: | |
- managing_customer | |
- consuming_customer | |
- contacts | |
- pop | |
- media_type | |
title: DemarcationPointRequest | |
type: object | |
demarcation-point-request-partial: | |
description: Demarc Request | |
properties: | |
connection: | |
nullable: true | |
type: string | |
consuming_customer: | |
description: 'The `id` of the customer consuming a service. | |
Used to be `owning_customer`. | |
' | |
example: '2381982' | |
type: string | |
contacts: | |
description: 'Polymorphic set of contacts. See the documentation | |
on the specific `required_contact_types` on what | |
contacts to provide. | |
' | |
example: | |
- c-impl:123 | |
- c-noc:331 | |
items: | |
type: string | |
type: array | |
contract_ref: | |
description: 'A reference to a contract. | |
' | |
example: contract:31824 | |
maxLength: 128 | |
nullable: true | |
type: string | |
external_ref: | |
description: Reference field, free to use for the API user. | |
example: IX:Service:23042 | |
maxLength: 128 | |
nullable: true | |
type: string | |
id: | |
readOnly: true | |
type: string | |
managing_customer: | |
description: 'The `id` of the customer responsible for managing the service | |
via | |
the API. | |
Used to be `billing_customer`. | |
' | |
example: '238189294' | |
type: string | |
media_type: | |
description: 'The media type of the interface. | |
See the device''s capabilities to see what types | |
are available. | |
' | |
example: 10GBASE-LR | |
maxLength: 20 | |
type: string | |
pop: | |
type: string | |
purchase_order: | |
description: 'Purchase Order ID which will be displayed on the invoice. | |
' | |
example: 'Project: DC Moon' | |
maxLength: 80 | |
type: string | |
speed: | |
minimum: 0 | |
nullable: true | |
readOnly: true | |
type: integer | |
title: PartialDemarcationPointRequest | |
type: object | |
demarcation-point-update: | |
allOf: | |
- $ref: '#/components/schemas/demarcation-point-update-partial' | |
- required: | |
- managing_customer | |
- consuming_customer | |
- contacts | |
title: DemarcationPointUpdate | |
type: object | |
demarcation-point-update-partial: | |
description: Demarc Update | |
properties: | |
connection: | |
nullable: true | |
type: string | |
consuming_customer: | |
description: 'The `id` of the customer consuming a service. | |
Used to be `owning_customer`. | |
' | |
example: '2381982' | |
type: string | |
contacts: | |
description: 'Polymorphic set of contacts. See the documentation | |
on the specific `required_contact_types` on what | |
contacts to provide. | |
' | |
example: | |
- c-impl:123 | |
- c-noc:331 | |
items: | |
type: string | |
type: array | |
contract_ref: | |
description: 'A reference to a contract. | |
' | |
example: contract:31824 | |
maxLength: 128 | |
nullable: true | |
type: string | |
external_ref: | |
description: Reference field, free to use for the API user. | |
example: IX:Service:23042 | |
maxLength: 128 | |
nullable: true | |
type: string | |
id: | |
readOnly: true | |
type: string | |
managing_customer: | |
description: 'The `id` of the customer responsible for managing the service | |
via | |
the API. | |
Used to be `billing_customer`. | |
' | |
example: '238189294' | |
type: string | |
purchase_order: | |
description: 'Purchase Order ID which will be displayed on the invoice. | |
' | |
example: 'Project: DC Moon' | |
maxLength: 80 | |
type: string | |
speed: | |
minimum: 0 | |
nullable: true | |
readOnly: true | |
type: integer | |
title: PartialDemarcationPointUpdate | |
type: object | |
device: | |
allOf: | |
- $ref: '#/components/schemas/device-partial' | |
- required: | |
- name | |
title: Device | |
type: object | |
device-capability: | |
allOf: | |
- $ref: '#/components/schemas/device-capability-partial' | |
- title: DeviceCapability | |
type: object | |
device-capability-partial: | |
description: Device Capability | |
properties: | |
availability: | |
description: 'Count of available ports on device | |
' | |
example: 23 | |
format: int32 | |
maximum: 2147483647 | |
minimum: 0 | |
readOnly: true | |
type: integer | |
max_lag: | |
description: Maximum count of ports which can be bundled to a max_lag | |
example: 8 | |
format: int32 | |
maximum: 32767 | |
minimum: 0 | |
readOnly: true | |
type: integer | |
media_type: | |
description: 'The media type of the port (e.g. 1000BASE-LX, 10GBASE-LR, | |
...) | |
' | |
example: 1000BASE-LX | |
maxLength: 20 | |
readOnly: true | |
type: string | |
qinq_capable: | |
description: 'Ports supports inner vlan tag (QinQ) | |
' | |
example: true | |
readOnly: true | |
type: boolean | |
speed: | |
description: 'Speed of port in Mbit/s | |
' | |
example: 1000 | |
readOnly: true | |
type: integer | |
title: PartialDeviceCapability | |
type: object | |
device-connection: | |
allOf: | |
- $ref: '#/components/schemas/device-connection-partial' | |
- required: | |
- max_capacity | |
- device | |
- connected_device | |
title: DeviceConnection | |
type: object | |
device-connection-partial: | |
description: Device Connection | |
properties: | |
connected_device: | |
type: string | |
device: | |
type: string | |
id: | |
readOnly: true | |
type: string | |
max_capacity: | |
format: int32 | |
maximum: 2147483647 | |
minimum: 0 | |
type: integer | |
title: PartialDeviceConnection | |
type: object | |
device-partial: | |
description: Device | |
properties: | |
capabilities: | |
items: | |
$ref: '#/components/schemas/device-capability' | |
type: array | |
id: | |
readOnly: true | |
type: string | |
name: | |
description: 'Name of the device | |
' | |
example: edge2.moon.space-ix.net | |
maxLength: 180 | |
type: string | |
physical_facility: | |
description: 'Identifier of the facilitiy where the device | |
is physically based.' | |
readOnly: true | |
type: string | |
title: PartialDevice | |
type: object | |
e-line-network-product: | |
allOf: | |
- $ref: '#/components/schemas/e-line-network-product-partial' | |
- required: | |
- name | |
- type | |
title: ELineNetworkProduct | |
type: object | |
e-line-network-product-partial: | |
description: E-Line Network Product | |
properties: | |
id: | |
readOnly: true | |
type: string | |
name: | |
description: Name of the product | |
maxLength: 80 | |
type: string | |
type: | |
example: eline | |
type: string | |
title: PartialELineNetworkProduct | |
type: object | |
e-line-network-service: | |
allOf: | |
- $ref: '#/components/schemas/e-line-network-service-partial' | |
- required: | |
- managing_customer | |
- consuming_customer | |
- contacts | |
- product | |
- required_contact_types | |
- type | |
title: ELineNetworkService | |
type: object | |
e-line-network-service-config: | |
allOf: | |
- $ref: '#/components/schemas/e-line-network-service-config-partial' | |
- required: | |
- network_service | |
- outer_vlan | |
- managing_customer | |
- consuming_customer | |
- contacts | |
- connection | |
- type | |
title: ELineNetworkServiceConfig | |
type: object | |
e-line-network-service-config-input: | |
allOf: | |
- $ref: '#/components/schemas/e-line-network-service-config-input-partial' | |
- required: | |
- managing_customer | |
- consuming_customer | |
- network_service | |
- outer_vlan | |
- contacts | |
- connection | |
- type | |
title: ELineNetworkServiceConfigInput | |
type: object | |
e-line-network-service-config-input-partial: | |
description: ELine Network Service Config Request | |
properties: | |
capacity: | |
description: 'The capacity of the service in Mbps. If set to Null, | |
the maximum capacity will be used. | |
That means, the service can consume up | |
to the total bandwidth of the `connection`. | |
Typically the service is charged based on the capacity.' | |
minimum: 1 | |
nullable: true | |
type: integer | |
connection: | |
description: 'The id of the connection to use for this service config. This | |
associates the service to a LAG. All traffic comming in on the | |
connection with the correct VLAN-ID will be transported to this | |
service.' | |
type: string | |
consuming_customer: | |
description: 'The `id` of the customer consuming a service. | |
Used to be `owning_customer`. | |
' | |
example: '2381982' | |
type: string | |
contacts: | |
description: 'Polymorphic set of contacts. See the documentation | |
on the specific `required_contact_types` on what | |
contacts to provide. | |
' | |
example: | |
- c-impl:123 | |
- c-noc:331 | |
items: | |
type: string | |
type: array | |
contract_ref: | |
description: 'A reference to a contract. | |
' | |
example: contract:31824 | |
maxLength: 128 | |
nullable: true | |
type: string | |
external_ref: | |
description: Reference field, free to use for the API user. | |
example: IX:Service:23042 | |
maxLength: 128 | |
nullable: true | |
type: string | |
id: | |
readOnly: true | |
type: string | |
inner_vlan: | |
description: This is a VLAN ID. | |
format: int32 | |
maximum: 4096 | |
minimum: 0 | |
nullable: true | |
type: integer | |
managing_customer: | |
description: 'The `id` of the customer responsible for managing the service | |
via | |
the API. | |
Used to be `billing_customer`. | |
' | |
example: '238189294' | |
type: string | |
network_feature_configs: | |
description: 'A list of ids of network feature configurations. | |
' | |
example: | |
- '12356' | |
- '43829' | |
items: | |
type: string | |
readOnly: true | |
type: array | |
network_service: | |
description: The id of the network service to configure. | |
type: string | |
outer_vlan: | |
description: 'Request a vlan from a set of ranges. | |
A range is represented as a list of integers. | |
The range has a max length of 2. | |
A set of ranges is a list of lists. | |
In case only one bound in the range is present, | |
it is interpreted as the exact value. That means that `[23]` is | |
equivalent to `[23, 23]`. | |
To just let the platform choose for you, provide all | |
possible ranges. `[ [0, 4096] ]`. | |
' | |
items: | |
items: | |
format: int32 | |
maximum: 4094 | |
minimum: 0 | |
type: integer | |
type: array | |
type: array | |
purchase_order: | |
description: 'Purchase Order ID which will be displayed on the invoice. | |
' | |
example: 'Project: DC Moon' | |
maxLength: 80 | |
type: string | |
type: | |
example: eline | |
type: string | |
title: PartialELineNetworkServiceConfigInput | |
type: object | |
e-line-network-service-config-partial: | |
description: ELine Network Service Config | |
properties: | |
capacity: | |
description: 'The capacity of the service in Mbps. If set to Null, | |
the maximum capacity will be used. | |
That means, the service can consume up | |
to the total bandwidth of the `connection`. | |
Typically the service is charged based on the capacity.' | |
minimum: 1 | |
nullable: true | |
type: integer | |
connection: | |
description: 'The id of the connection to use for this service config. This | |
associates the service to a LAG. All traffic comming in on the | |
connection with the correct VLAN-ID will be transported to this | |
service.' | |
type: string | |
consuming_customer: | |
description: 'The `id` of the customer consuming a service. | |
Used to be `owning_customer`. | |
' | |
example: '2381982' | |
type: string | |
contacts: | |
description: 'Polymorphic set of contacts. See the documentation | |
on the specific `required_contact_types` on what | |
contacts to provide. | |
' | |
example: | |
- c-impl:123 | |
- c-noc:331 | |
items: | |
type: string | |
type: array | |
contract_ref: | |
description: 'A reference to a contract. | |
' | |
example: contract:31824 | |
maxLength: 128 | |
nullable: true | |
type: string | |
external_ref: | |
description: Reference field, free to use for the API user. | |
example: IX:Service:23042 | |
maxLength: 128 | |
nullable: true | |
type: string | |
id: | |
readOnly: true | |
type: string | |
inner_vlan: | |
description: This is a VLAN ID. | |
format: int32 | |
maximum: 4096 | |
minimum: 0 | |
nullable: true | |
type: integer | |
managing_customer: | |
description: 'The `id` of the customer responsible for managing the service | |
via | |
the API. | |
Used to be `billing_customer`. | |
' | |
example: '238189294' | |
type: string | |
network_feature_configs: | |
description: 'A list of ids of network feature configurations. | |
' | |
example: | |
- '12356' | |
- '43829' | |
items: | |
type: string | |
readOnly: true | |
type: array | |
network_service: | |
description: The id of the configured network service. | |
type: string | |
outer_vlan: | |
description: 'A vlan id, where `0` is untagged. | |
Any value > 0 will be the tagged vlan. | |
' | |
example: 300 | |
format: int32 | |
maximum: 4096 | |
minimum: 0 | |
type: integer | |
purchase_order: | |
description: 'Purchase Order ID which will be displayed on the invoice. | |
' | |
example: 'Project: DC Moon' | |
maxLength: 80 | |
type: string | |
state: | |
enum: | |
- requested | |
- allocated | |
- testing | |
- production | |
- decommission_requested | |
- decommissioned | |
- archived | |
- error | |
- operator | |
- scheduled | |
readOnly: true | |
type: string | |
status: | |
items: | |
$ref: '#/components/schemas/status' | |
type: array | |
type: | |
example: eline | |
type: string | |
title: PartialELineNetworkServiceConfig | |
type: object | |
e-line-network-service-config-update: | |
allOf: | |
- $ref: '#/components/schemas/e-line-network-service-config-update-partial' | |
- required: | |
- managing_customer | |
- consuming_customer | |
- contacts | |
- connection | |
- type | |
title: ELineNetworkServiceConfigUpdate | |
type: object | |
e-line-network-service-config-update-partial: | |
description: ELine Network Service Config Update | |
properties: | |
capacity: | |
description: 'The capacity of the service in Mbps. If set to Null, | |
the maximum capacity will be used. | |
That means, the service can consume up | |
to the total bandwidth of the `connection`. | |
Typically the service is charged based on the capacity.' | |
minimum: 1 | |
nullable: true | |
type: integer | |
connection: | |
description: 'The id of the connection to use for this service config. This | |
associates the service to a LAG. All traffic comming in on the | |
connection with the correct VLAN-ID will be transported to this | |
service.' | |
type: string | |
consuming_customer: | |
description: 'The `id` of the customer consuming a service. | |
Used to be `owning_customer`. | |
' | |
example: '2381982' | |
type: string | |
contacts: | |
description: 'Polymorphic set of contacts. See the documentation | |
on the specific `required_contact_types` on what | |
contacts to provide. | |
' | |
example: | |
- c-impl:123 | |
- c-noc:331 | |
items: | |
type: string | |
type: array | |
contract_ref: | |
description: 'A reference to a contract. | |
' | |
example: contract:31824 | |
maxLength: 128 | |
nullable: true | |
type: string | |
external_ref: | |
description: Reference field, free to use for the API user. | |
example: IX:Service:23042 | |
maxLength: 128 | |
nullable: true | |
type: string | |
id: | |
readOnly: true | |
type: string | |
inner_vlan: | |
description: This is a VLAN ID. | |
format: int32 | |
maximum: 4096 | |
minimum: 0 | |
nullable: true | |
type: integer | |
managing_customer: | |
description: 'The `id` of the customer responsible for managing the service | |
via | |
the API. | |
Used to be `billing_customer`. | |
' | |
example: '238189294' | |
type: string | |
network_feature_configs: | |
description: 'A list of ids of network feature configurations. | |
' | |
example: | |
- '12356' | |
- '43829' | |
items: | |
type: string | |
readOnly: true | |
type: array | |
outer_vlan: | |
description: 'Request a vlan from a set of ranges. | |
A range is represented as a list of integers. | |
The range has a max length of 2. | |
A set of ranges is a list of lists. | |
In case only one bound in the range is provided, | |
it is interpreted as the exact value. `[23]` is | |
equivalent to `[23, 23]`. | |
To just let the platform choose for you, provide all | |
possible ranges. `[ [0, 4096] ]`. | |
' | |
items: | |
items: | |
format: int32 | |
maximum: 4096 | |
minimum: 0 | |
type: integer | |
type: array | |
type: array | |
purchase_order: | |
description: 'Purchase Order ID which will be displayed on the invoice. | |
' | |
example: 'Project: DC Moon' | |
maxLength: 80 | |
type: string | |
type: | |
example: eline | |
type: string | |
title: PartialELineNetworkServiceConfigUpdate | |
type: object | |
e-line-network-service-partial: | |
description: E-Line Network Service | |
properties: | |
consuming_customer: | |
description: 'The `id` of the customer consuming a service. | |
Used to be `owning_customer`. | |
' | |
example: '2381982' | |
type: string | |
contacts: | |
description: 'Polymorphic set of contacts. See the documentation | |
on the specific `required_contact_types` on what | |
contacts to provide. | |
' | |
example: | |
- c-impl:123 | |
- c-noc:331 | |
items: | |
type: string | |
type: array | |
contract_ref: | |
description: 'A reference to a contract. | |
' | |
example: contract:31824 | |
maxLength: 128 | |
nullable: true | |
type: string | |
external_ref: | |
description: Reference field, free to use for the API user. | |
example: IX:Service:23042 | |
maxLength: 128 | |
nullable: true | |
type: string | |
id: | |
readOnly: true | |
type: string | |
managing_customer: | |
description: 'The `id` of the customer responsible for managing the service | |
via | |
the API. | |
Used to be `billing_customer`. | |
' | |
example: '238189294' | |
type: string | |
network_features: | |
items: | |
type: string | |
readOnly: true | |
type: array | |
product: | |
type: string | |
purchase_order: | |
description: 'Purchase Order ID which will be displayed on the invoice. | |
' | |
example: 'Project: DC Moon' | |
maxLength: 80 | |
type: string | |
required_contact_types: | |
description: 'The configuration will require at least one of each of the | |
specified contact types. | |
They can be assigned in the `contacts` list property of the | |
config.' | |
items: | |
type: string | |
type: array | |
type: | |
example: eline | |
type: string | |
title: PartialELineNetworkService | |
type: object | |
event: | |
allOf: | |
- $ref: '#/components/schemas/event-partial' | |
- required: | |
- serial | |
- type | |
- payload | |
- timestamp | |
title: Event | |
type: object | |
event-partial: | |
description: Event | |
properties: | |
customer: | |
readOnly: true | |
type: string | |
payload: | |
type: object | |
serial: | |
type: integer | |
timestamp: | |
format: date-time | |
type: string | |
type: | |
type: string | |
title: PartialEvent | |
type: object | |
exchange-lan-network-product: | |
properties: | |
type: | |
type: string | |
allOf: | |
- $ref: '#/components/schemas/exchange-lan-network-product-partial' | |
required: | |
- name | |
- type | |
title: ExchangeLanNetworkProduct | |
type: object | |
exchange-lan-network-product-partial: | |
description: Exchange Lan Network Product | |
properties: | |
id: | |
readOnly: true | |
type: string | |
metro_area: | |
description: 'The metro area the product is available | |
' | |
example: MUC | |
maxLength: 3 | |
nullable: true | |
type: string | |
name: | |
description: Name of the product | |
maxLength: 80 | |
type: string | |
type: | |
example: exchange_lan | |
type: string | |
required: | |
- type | |
title: PartialExchangeLanNetworkProduct | |
type: object | |
exchange-lan-network-service: | |
properties: | |
type: | |
type: string | |
allOf: | |
- $ref: '#/components/schemas/exchange-lan-network-service-partial' | |
required: | |
- managing_customer | |
- consuming_customer | |
- contacts | |
- product | |
- required_contact_types | |
- name | |
- metro_area | |
- type | |
title: ExchangeLanNetworkService | |
type: object | |
exchange-lan-network-service-config: | |
properties: | |
type: | |
type: string | |
allOf: | |
- $ref: '#/components/schemas/exchange-lan-network-service-config-partial' | |
required: | |
- network_service | |
- outer_vlan | |
- managing_customer | |
- consuming_customer | |
- contacts | |
- connection | |
- type | |
title: ExchangeLanNetworkServiceConfig | |
type: object | |
exchange-lan-network-service-config-input: | |
properties: | |
type: | |
type: string | |
allOf: | |
- $ref: '#/components/schemas/exchange-lan-network-service-config-input-partial' | |
required: | |
- managing_customer | |
- consuming_customer | |
- network_service | |
- outer_vlan | |
- contacts | |
- connection | |
- type | |
title: ExchangeLanNetworkServiceConfigInput | |
type: object | |
exchange-lan-network-service-config-input-partial: | |
description: Exchange Lan Network Service Config Request | |
properties: | |
asns: | |
items: | |
format: int64 | |
maximum: 4294967295 | |
minimum: 0 | |
type: integer | |
type: array | |
capacity: | |
description: 'The capacity of the service in Mbps. If set to Null, | |
the maximum capacity will be used. | |
That means, the service can consume up | |
to the total bandwidth of the `connection`. | |
Typically the service is charged based on the capacity.' | |
minimum: 1 | |
nullable: true | |
type: integer | |
connection: | |
description: 'The id of the connection to use for this service config. This | |
associates the service to a LAG. All traffic comming in on the | |
connection with the correct VLAN-ID will be transported to this | |
service.' | |
type: string | |
consuming_customer: | |
description: 'The `id` of the customer consuming a service. | |
Used to be `owning_customer`. | |
' | |
example: '2381982' | |
type: string | |
contacts: | |
description: 'Polymorphic set of contacts. See the documentation | |
on the specific `required_contact_types` on what | |
contacts to provide. | |
' | |
example: | |
- c-impl:123 | |
- c-noc:331 | |
items: | |
type: string | |
type: array | |
contract_ref: | |
description: 'A reference to a contract. | |
' | |
example: contract:31824 | |
maxLength: 128 | |
nullable: true | |
type: string | |
external_ref: | |
description: Reference field, free to use for the API user. | |
example: IX:Service:23042 | |
maxLength: 128 | |
nullable: true | |
type: string | |
id: | |
readOnly: true | |
type: string | |
inner_vlan: | |
description: This is a VLAN ID. | |
format: int32 | |
maximum: 4096 | |
minimum: 0 | |
nullable: true | |
type: integer | |
ips: | |
items: | |
type: string | |
readOnly: true | |
type: array | |
macs: | |
items: | |
type: string | |
type: array | |
managing_customer: | |
description: 'The `id` of the customer responsible for managing the service | |
via | |
the API. | |
Used to be `billing_customer`. | |
' | |
example: '238189294' | |
type: string | |
network_feature_configs: | |
description: 'A list of ids of network feature configurations. | |
' | |
example: | |
- '12356' | |
- '43829' | |
items: | |
type: string | |
readOnly: true | |
type: array | |
network_service: | |
description: The id of the network service to configure. | |
type: string | |
outer_vlan: | |
description: 'Request a vlan from a set of ranges. | |
A range is represented as a list of integers. | |
The range has a max length of 2. | |
A set of ranges is a list of lists. | |
In case only one bound in the range is present, | |
it is interpreted as the exact value. That means that `[23]` is | |
equivalent to `[23, 23]`. | |
To just let the platform choose for you, provide all | |
possible ranges. `[ [0, 4096] ]`. | |
' | |
items: | |
items: | |
format: int32 | |
maximum: 4094 | |
minimum: 0 | |
type: integer | |
type: array | |
type: array | |
purchase_order: | |
description: 'Purchase Order ID which will be displayed on the invoice. | |
' | |
example: 'Project: DC Moon' | |
maxLength: 80 | |
type: string | |
type: | |
example: exchange_lan | |
type: string | |
required: | |
- type | |
title: PartialExchangeLanNetworkServiceConfigInput | |
type: object | |
exchange-lan-network-service-config-partial: | |
description: Exchange Lan Network Service Config | |
properties: | |
asns: | |
items: | |
format: int64 | |
maximum: 4294967295 | |
minimum: 0 | |
type: integer | |
type: array | |
capacity: | |
description: 'The capacity of the service in Mbps. If set to Null, | |
the maximum capacity will be used. | |
That means, the service can consume up | |
to the total bandwidth of the `connection`. | |
Typically the service is charged based on the capacity.' | |
minimum: 1 | |
nullable: true | |
type: integer | |
connection: | |
description: 'The id of the connection to use for this service config. This | |
associates the service to a LAG. All traffic comming in on the | |
connection with the correct VLAN-ID will be transported to this | |
service.' | |
type: string | |
consuming_customer: | |
description: 'The `id` of the customer consuming a service. | |
Used to be `owning_customer`. | |
' | |
example: '2381982' | |
type: string | |
contacts: | |
description: 'Polymorphic set of contacts. See the documentation | |
on the specific `required_contact_types` on what | |
contacts to provide. | |
' | |
example: | |
- c-impl:123 | |
- c-noc:331 | |
items: | |
type: string | |
type: array | |
contract_ref: | |
description: 'A reference to a contract. | |
' | |
example: contract:31824 | |
maxLength: 128 | |
nullable: true | |
type: string | |
external_ref: | |
description: Reference field, free to use for the API user. | |
example: IX:Service:23042 | |
maxLength: 128 | |
nullable: true | |
type: string | |
id: | |
readOnly: true | |
type: string | |
inner_vlan: | |
description: This is a VLAN ID. | |
format: int32 | |
maximum: 4096 | |
minimum: 0 | |
nullable: true | |
type: integer | |
ips: | |
items: | |
type: string | |
readOnly: true | |
type: array | |
macs: | |
items: | |
type: string | |
type: array | |
managing_customer: | |
description: 'The `id` of the customer responsible for managing the service | |
via | |
the API. | |
Used to be `billing_customer`. | |
' | |
example: '238189294' | |
type: string | |
network_feature_configs: | |
description: 'A list of ids of network feature configurations. | |
' | |
example: | |
- '12356' | |
- '43829' | |
items: | |
type: string | |
readOnly: true | |
type: array | |
network_service: | |
description: The id of the configured network service. | |
type: string | |
outer_vlan: | |
description: 'A vlan id, where `0` is untagged. | |
Any value > 0 will be the tagged vlan. | |
' | |
example: 300 | |
format: int32 | |
maximum: 4096 | |
minimum: 0 | |
type: integer | |
purchase_order: | |
description: 'Purchase Order ID which will be displayed on the invoice. | |
' | |
example: 'Project: DC Moon' | |
maxLength: 80 | |
type: string | |
state: | |
enum: | |
- requested | |
- allocated | |
- testing | |
- production | |
- decommission_requested | |
- decommissioned | |
- archived | |
- error | |
- operator | |
- scheduled | |
readOnly: true | |
type: string | |
status: | |
items: | |
$ref: '#/components/schemas/status' | |
type: array | |
type: | |
example: exchange_lan | |
type: string | |
required: | |
- type | |
title: PartialExchangeLanNetworkServiceConfig | |
type: object | |
exchange-lan-network-service-config-update: | |
properties: | |
type: | |
type: string | |
allOf: | |
- $ref: '#/components/schemas/exchange-lan-network-service-config-update-partial' | |
required: | |
- managing_customer | |
- consuming_customer | |
- contacts | |
- connection | |
- type | |
title: ExchangeLanNetworkServiceConfigUpdate | |
type: object | |
exchange-lan-network-service-config-update-partial: | |
description: Exchange Lan Network Service Config Update | |
properties: | |
asns: | |
items: | |
format: int64 | |
maximum: 4294967295 | |
minimum: 0 | |
type: integer | |
type: array | |
capacity: | |
description: 'The capacity of the service in Mbps. If set to Null, | |
the maximum capacity will be used. | |
That means, the service can consume up | |
to the total bandwidth of the `connection`. | |
Typically the service is charged based on the capacity.' | |
minimum: 1 | |
nullable: true | |
type: integer | |
connection: | |
description: 'The id of the connection to use for this service config. This | |
associates the service to a LAG. All traffic comming in on the | |
connection with the correct VLAN-ID will be transported to this | |
service.' | |
type: string | |
consuming_customer: | |
description: 'The `id` of the customer consuming a service. | |
Used to be `owning_customer`. | |
' | |
example: '2381982' | |
type: string | |
contacts: | |
description: 'Polymorphic set of contacts. See the documentation | |
on the specific `required_contact_types` on what | |
contacts to provide. | |
' | |
example: | |
- c-impl:123 | |
- c-noc:331 | |
items: | |
type: string | |
type: array | |
contract_ref: | |
description: 'A reference to a contract. | |
' | |
example: contract:31824 | |
maxLength: 128 | |
nullable: true | |
type: string | |
external_ref: | |
description: Reference field, free to use for the API user. | |
example: IX:Service:23042 | |
maxLength: 128 | |
nullable: true | |
type: string | |
id: | |
readOnly: true | |
type: string | |
inner_vlan: | |
description: This is a VLAN ID. | |
format: int32 | |
maximum: 4096 | |
minimum: 0 | |
nullable: true | |
type: integer | |
ips: | |
items: | |
type: string | |
readOnly: true | |
type: array | |
macs: | |
items: | |
type: string | |
type: array | |
managing_customer: | |
description: 'The `id` of the customer responsible for managing the service | |
via | |
the API. | |
Used to be `billing_customer`. | |
' | |
example: '238189294' | |
type: string | |
network_feature_configs: | |
description: 'A list of ids of network feature configurations. | |
' | |
example: | |
- '12356' | |
- '43829' | |
items: | |
type: string | |
readOnly: true | |
type: array | |
outer_vlan: | |
description: 'Request a vlan from a set of ranges. | |
A range is represented as a list of integers. | |
The range has a max length of 2. | |
A set of ranges is a list of lists. | |
In case only one bound in the range is provided, | |
it is interpreted as the exact value. `[23]` is | |
equivalent to `[23, 23]`. | |
To just let the platform choose for you, provide all | |
possible ranges. `[ [0, 4096] ]`. | |
' | |
items: | |
items: | |
format: int32 | |
maximum: 4096 | |
minimum: 0 | |
type: integer | |
type: array | |
type: array | |
purchase_order: | |
description: 'Purchase Order ID which will be displayed on the invoice. | |
' | |
example: 'Project: DC Moon' | |
maxLength: 80 | |
type: string | |
type: | |
example: exchange_lan | |
type: string | |
required: | |
- type | |
title: PartialExchangeLanNetworkServiceConfigUpdate | |
type: object | |
exchange-lan-network-service-partial: | |
description: Exchange Lan Network Service | |
properties: | |
consuming_customer: | |
description: 'The `id` of the customer consuming a service. | |
Used to be `owning_customer`. | |
' | |
example: '2381982' | |
type: string | |
contacts: | |
description: 'Polymorphic set of contacts. See the documentation | |
on the specific `required_contact_types` on what | |
contacts to provide. | |
' | |
example: | |
- c-impl:123 | |
- c-noc:331 | |
items: | |
type: string | |
type: array | |
contract_ref: | |
description: 'A reference to a contract. | |
' | |
example: contract:31824 | |
maxLength: 128 | |
nullable: true | |
type: string | |
external_ref: | |
description: Reference field, free to use for the API user. | |
example: IX:Service:23042 | |
maxLength: 128 | |
nullable: true | |
type: string | |
id: | |
readOnly: true | |
type: string | |
ips: | |
items: | |
type: string | |
readOnly: true | |
type: array | |
ixfdb_ixid: | |
description: id of ixfdb | |
nullable: true | |
type: integer | |
managing_customer: | |
description: 'The `id` of the customer responsible for managing the service | |
via | |
the API. | |
Used to be `billing_customer`. | |
' | |
example: '238189294' | |
type: string | |
metro_area: | |
description: '3 Letter (IATA) Airport Code of the MetroArea where | |
the exchange lan network service is available. | |
' | |
example: FRA | |
maxLength: 3 | |
type: string | |
name: | |
description: Exchange dependend service name, will be shown on the invoice. | |
maxLength: 40 | |
type: string | |
network_features: | |
items: | |
type: string | |
readOnly: true | |
type: array | |
peeringdb_ixid: | |
description: PeeringDB ixid | |
nullable: true | |
type: integer | |
product: | |
type: string | |
purchase_order: | |
description: 'Purchase Order ID which will be displayed on the invoice. | |
' | |
example: 'Project: DC Moon' | |
maxLength: 80 | |
type: string | |
required_contact_types: | |
description: 'The configuration will require at least one of each of the | |
specified contact types. | |
They can be assigned in the `contacts` list property of the | |
config.' | |
items: | |
type: string | |
type: array | |
type: | |
example: exchange_lan | |
type: string | |
required: | |
- type | |
title: PartialExchangeLanNetworkService | |
type: object | |
facility: | |
allOf: | |
- $ref: '#/components/schemas/facility-partial' | |
- required: | |
- name | |
- metro_area | |
- address_country | |
- address_locality | |
- address_region | |
- postal_code | |
- street_address | |
- organisation_name | |
title: Facility | |
type: object | |
facility-partial: | |
description: Facility | |
properties: | |
address_country: | |
description: 'ISO 3166-1 alpha-2 country code, for example DE | |
' | |
example: US | |
maxLength: 2 | |
type: string | |
address_locality: | |
description: The locality/city. For example, Mountain View. | |
example: Mountain View | |
maxLength: 80 | |
type: string | |
address_region: | |
description: The region. For example, CA | |
example: CA | |
maxLength: 80 | |
type: string | |
cluster: | |
description: Group of facilities within the same building/campus | |
example: 60 Hudson, NYC | |
maxLength: 80 | |
nullable: true | |
type: string | |
id: | |
readOnly: true | |
type: string | |
metro_area: | |
description: '3 Letter (IATA) Airport Code of the MetroArea where the DC | |
is in. | |
' | |
example: FRA | |
maxLength: 3 | |
type: string | |
name: | |
description: 'Name of the Datacenter, how the DC calls itself. | |
' | |
example: Crater DC Moon 1 | |
maxLength: 80 | |
type: string | |
organisation_name: | |
description: Name of Datacenter operator | |
example: Moon Datacenters | |
maxLength: 80 | |
type: string | |
peeringdb_facility_id: | |
description: '[PeeringDB](https://www.peeringdb.com) facitlity ID, | |
can be extracted from the url https://www.peeringdb.com/fac/$id | |
' | |
example: 103 | |
format: int32 | |
maximum: 2147483647 | |
minimum: 0 | |
nullable: true | |
type: integer | |
postal_code: | |
description: A postal code. For example, 9404 | |
example: '9409' | |
maxLength: 18 | |
type: string | |
street_address: | |
description: The street address. For example, 1600 Amphitheatre Pkwy. | |
example: 1600 Amphitheatre Pkwy. | |
maxLength: 80 | |
type: string | |
title: PartialFacility | |
type: object | |
implementation-contact: | |
properties: | |
type: | |
type: string | |
allOf: | |
- $ref: '#/components/schemas/implementation-contact-partial' | |
required: | |
- managing_customer | |
- consuming_customer | |
- name | |
- type | |
title: ImplementationContact | |
type: object | |
implementation-contact-partial: | |
description: Implementation Contact Response | |
properties: | |
consuming_customer: | |
description: 'The `id` of the customer consuming a service. | |
Used to be `owning_customer`. | |
' | |
example: '2381982' | |
type: string | |
email: | |
description: Email address of the implementation contact. | |
example: [email protected] | |
maxLength: 80 | |
type: string | |
external_ref: | |
description: Reference field, free to use for the API user. | |
example: IX:Service:23042 | |
maxLength: 128 | |
nullable: true | |
type: string | |
id: | |
maxLength: 80 | |
readOnly: true | |
type: string | |
legal_company_name: | |
description: 'Name of the company the implentation person is | |
working for, e.g. a third party company. | |
' | |
example: Moonoc Network Services LLS. | |
maxLength: 80 | |
nullable: true | |
type: string | |
managing_customer: | |
description: 'The `id` of the customer responsible for managing the service | |
via | |
the API. | |
Used to be `billing_customer`. | |
' | |
example: '238189294' | |
type: string | |
name: | |
description: Name of implementation contact | |
example: John Dough | |
maxLength: 80 | |
type: string | |
telephone: | |
description: The telephone number in E.164 Phone Number Formatting | |
example: '+442071838750' | |
maxLength: 80 | |
nullable: true | |
type: string | |
type: | |
example: implementation | |
type: string | |
required: | |
- type | |
title: PartialImplementationContact | |
type: object | |
inline-ip-address: | |
allOf: | |
- $ref: '#/components/schemas/inline-ip-address-partial' | |
- required: | |
- managing_customer | |
- consuming_customer | |
- address | |
- prefix_length | |
- fqdn | |
- valid_not_before | |
- valid_not_after | |
title: InlineIpAddress | |
type: object | |
inline-ip-address-partial: | |
description: IP-Address (Inline) | |
properties: | |
address: | |
type: string | |
consuming_customer: | |
description: 'The `id` of the customer consuming a service. | |
Used to be `owning_customer`. | |
' | |
example: '2381982' | |
type: string | |
external_ref: | |
description: Reference field, free to use for the API user. | |
example: IX:Service:23042 | |
maxLength: 128 | |
nullable: true | |
type: string | |
fqdn: | |
type: string | |
managing_customer: | |
description: 'The `id` of the customer responsible for managing the service | |
via | |
the API. | |
Used to be `billing_customer`. | |
' | |
example: '238189294' | |
type: string | |
prefix_length: | |
format: int32 | |
maximum: 128 | |
minimum: 0 | |
type: integer | |
valid_not_after: | |
format: date-time | |
type: string | |
valid_not_before: | |
format: date-time | |
type: string | |
title: PartialInlineIpAddress | |
type: object | |
invoiceable-object: | |
allOf: | |
- $ref: '#/components/schemas/invoiceable-object-partial' | |
- required: | |
- contacts | |
title: InvoiceableObject | |
type: object | |
invoiceable-object-partial: | |
description: Invoiceable | |
properties: | |
contacts: | |
description: 'Polymorphic set of contacts. See the documentation | |
on the specific `required_contact_types` on what | |
contacts to provide. | |
' | |
example: | |
- c-impl:123 | |
- c-noc:331 | |
items: | |
type: string | |
type: array | |
contract_ref: | |
description: 'A reference to a contract. | |
' | |
example: contract:31824 | |
maxLength: 128 | |
nullable: true | |
type: string | |
purchase_order: | |
description: 'Purchase Order ID which will be displayed on the invoice. | |
' | |
example: 'Project: DC Moon' | |
maxLength: 80 | |
type: string | |
title: PartialInvoiceableObject | |
type: object | |
ip-address: | |
allOf: | |
- $ref: '#/components/schemas/ip-address-partial' | |
- required: | |
- managing_customer | |
- consuming_customer | |
title: IpAddress | |
type: object | |
ip-address-partial: | |
description: IP-Address | |
properties: | |
address: | |
description: 'IPv4 or IPv6 Address in the following format: | |
- IPv4: [dot-decimal notation](https://en.wikipedia.org/wiki/Dot-decimal_notation) | |
- IPv6: | |
' | |
example: 23.142.52.0 | |
readOnly: true | |
type: string | |
consuming_customer: | |
description: 'The `id` of the customer consuming a service. | |
Used to be `owning_customer`. | |
' | |
example: '2381982' | |
type: string | |
external_ref: | |
description: Reference field, free to use for the API user. | |
example: IX:Service:23042 | |
maxLength: 128 | |
nullable: true | |
type: string | |
fqdn: | |
maxLength: 100 | |
nullable: true | |
type: string | |
id: | |
readOnly: true | |
type: string | |
managing_customer: | |
description: 'The `id` of the customer responsible for managing the service | |
via | |
the API. | |
Used to be `billing_customer`. | |
' | |
example: '238189294' | |
type: string | |
prefix_length: | |
description: 'The CIDR ip prefix length | |
' | |
example: 23 | |
format: int32 | |
maximum: 128 | |
minimum: 0 | |
readOnly: true | |
type: integer | |
valid_not_after: | |
format: date-time | |
readOnly: true | |
type: string | |
valid_not_before: | |
format: date-time | |
readOnly: true | |
type: string | |
version: | |
enum: | |
- 4 | |
- 6 | |
readOnly: true | |
type: integer | |
title: PartialIpAddress | |
type: object | |
ixp-router-network-feature: | |
allOf: | |
- $ref: '#/components/schemas/ixp-router-network-feature-partial' | |
- required: | |
- name | |
- required | |
- required_contact_types | |
- flags | |
- network_service | |
- asn | |
- fqdn | |
- type | |
title: IXPRouterNetworkFeature | |
type: object | |
ixp-router-network-feature-config: | |
allOf: | |
- $ref: '#/components/schemas/ixp-router-network-feature-config-partial' | |
- required: | |
- managing_customer | |
- consuming_customer | |
- contacts | |
- network_feature | |
- network_service_config | |
- max_prefix | |
- bgp_session_type | |
- type | |
title: IXPRouterNetworkFeatureConfig | |
type: object | |
ixp-router-network-feature-config-input: | |
allOf: | |
- $ref: '#/components/schemas/ixp-router-network-feature-config-input-partial' | |
- required: | |
- managing_customer | |
- consuming_customer | |
- contacts | |
- network_feature | |
- network_service_config | |
- max_prefix | |
- bgp_session_type | |
- type | |
title: IXPRouterNetworkFeatureConfigInput | |
type: object | |
ixp-router-network-feature-config-input-partial: | |
description: IXP Router Network Feature Config Request | |
properties: | |
bgp_session_type: | |
enum: | |
- active | |
- passive | |
type: string | |
consuming_customer: | |
description: 'The `id` of the customer consuming a service. | |
Used to be `owning_customer`. | |
' | |
example: '2381982' | |
type: string | |
contacts: | |
description: 'Polymorphic set of contacts. See the documentation | |
on the specific `required_contact_types` on what | |
contacts to provide. | |
' | |
example: | |
- c-impl:123 | |
- c-noc:331 | |
items: | |
type: string | |
type: array | |
contract_ref: | |
description: 'A reference to a contract. | |
' | |
example: contract:31824 | |
maxLength: 128 | |
nullable: true | |
type: string | |
external_ref: | |
description: Reference field, free to use for the API user. | |
example: IX:Service:23042 | |
maxLength: 128 | |
nullable: true | |
type: string | |
id: | |
readOnly: true | |
type: string | |
managing_customer: | |
description: 'The `id` of the customer responsible for managing the service | |
via | |
the API. | |
Used to be `billing_customer`. | |
' | |
example: '238189294' | |
type: string | |
max_prefix: | |
minimum: 0 | |
type: integer | |
network_feature: | |
type: string | |
network_service_config: | |
type: string | |
password: | |
maxLength: 128 | |
nullable: true | |
type: string | |
purchase_order: | |
description: 'Purchase Order ID which will be displayed on the invoice. | |
' | |
example: 'Project: DC Moon' | |
maxLength: 80 | |
type: string | |
type: | |
example: ixp_router | |
type: string | |
title: PartialIXPRouterNetworkFeatureConfigInput | |
type: object | |
ixp-router-network-feature-config-partial: | |
description: IXP Router Network Feature Config | |
properties: | |
bgp_session_type: | |
enum: | |
- active | |
- passive | |
type: string | |
consuming_customer: | |
description: 'The `id` of the customer consuming a service. | |
Used to be `owning_customer`. | |
' | |
example: '2381982' | |
type: string | |
contacts: | |
description: 'Polymorphic set of contacts. See the documentation | |
on the specific `required_contact_types` on what | |
contacts to provide. | |
' | |
example: | |
- c-impl:123 | |
- c-noc:331 | |
items: | |
type: string | |
type: array | |
contract_ref: | |
description: 'A reference to a contract. | |
' | |
example: contract:31824 | |
maxLength: 128 | |
nullable: true | |
type: string | |
external_ref: | |
description: Reference field, free to use for the API user. | |
example: IX:Service:23042 | |
maxLength: 128 | |
nullable: true | |
type: string | |
id: | |
readOnly: true | |
type: string | |
managing_customer: | |
description: 'The `id` of the customer responsible for managing the service | |
via | |
the API. | |
Used to be `billing_customer`. | |
' | |
example: '238189294' | |
type: string | |
max_prefix: | |
minimum: 0 | |
type: integer | |
network_feature: | |
type: string | |
network_service_config: | |
type: string | |
password: | |
maxLength: 128 | |
nullable: true | |
type: string | |
purchase_order: | |
description: 'Purchase Order ID which will be displayed on the invoice. | |
' | |
example: 'Project: DC Moon' | |
maxLength: 80 | |
type: string | |
state: | |
enum: | |
- requested | |
- allocated | |
- testing | |
- production | |
- decommission_requested | |
- decommissioned | |
- archived | |
- error | |
- operator | |
- scheduled | |
readOnly: true | |
type: string | |
status: | |
items: | |
$ref: '#/components/schemas/status' | |
type: array | |
type: | |
example: ixp_router | |
type: string | |
title: PartialIXPRouterNetworkFeatureConfig | |
type: object | |
ixp-router-network-feature-config-update: | |
allOf: | |
- $ref: '#/components/schemas/ixp-router-network-feature-config-update-partial' | |
- required: | |
- managing_customer | |
- consuming_customer | |
- max_prefix | |
- bgp_session_type | |
- type | |
title: IXPRouterNetworkFeatureConfigUpdate | |
type: object | |
ixp-router-network-feature-config-update-partial: | |
description: IXP Router Network Feature Config Update | |
properties: | |
bgp_session_type: | |
enum: | |
- active | |
- passive | |
type: string | |
consuming_customer: | |
description: 'The `id` of the customer consuming a service. | |
Used to be `owning_customer`. | |
' | |
example: '2381982' | |
type: string | |
external_ref: | |
description: Reference field, free to use for the API user. | |
example: IX:Service:23042 | |
maxLength: 128 | |
nullable: true | |
type: string | |
managing_customer: | |
description: 'The `id` of the customer responsible for managing the service | |
via | |
the API. | |
Used to be `billing_customer`. | |
' | |
example: '238189294' | |
type: string | |
max_prefix: | |
minimum: 0 | |
type: integer | |
password: | |
maxLength: 128 | |
nullable: true | |
type: string | |
type: | |
example: ixp_router | |
type: string | |
title: PartialIXPRouterNetworkFeatureConfigUpdate | |
type: object | |
ixp-router-network-feature-partial: | |
description: IXP Router Network Feature | |
properties: | |
asn: | |
minimum: 0 | |
type: integer | |
flags: | |
description: 'A list of IXP specific feature flags. This can be used | |
to see if e.g. RPKI hard filtering is available.' | |
items: | |
$ref: '#/components/schemas/ixp-specific-feature-flag' | |
type: array | |
fqdn: | |
maxLength: 80 | |
type: string | |
id: | |
readOnly: true | |
type: string | |
ips: | |
items: | |
type: string | |
readOnly: true | |
type: array | |
name: | |
maxLength: 80 | |
type: string | |
network_service: | |
type: string | |
required: | |
type: boolean | |
required_contact_types: | |
description: 'The configuration will require at least one of each of the | |
specified contact types. | |
They can be assigned in the `contacts` list property of the | |
network feature configuration.' | |
items: | |
type: string | |
type: array | |
type: | |
example: ixp_router | |
type: string | |
title: PartialIXPRouterNetworkFeature | |
type: object | |
ixp-specific-feature-flag: | |
allOf: | |
- $ref: '#/components/schemas/ixp-specific-feature-flag-partial' | |
- required: | |
- name | |
- description | |
title: IXPSpecificFeatureFlag | |
type: object | |
ixp-specific-feature-flag-partial: | |
description: IXP-Specific Feature Flag | |
properties: | |
description: | |
description: 'The description of the feature flag. | |
' | |
example: RPKI Hard Filtering is available | |
maxLength: 80 | |
type: string | |
name: | |
description: 'The name of the feature flag. | |
' | |
example: RPKI | |
maxLength: 20 | |
type: string | |
title: PartialIXPSpecificFeatureFlag | |
type: object | |
legal-contact: | |
properties: | |
type: | |
type: string | |
allOf: | |
- $ref: '#/components/schemas/legal-contact-partial' | |
required: | |
- managing_customer | |
- consuming_customer | |
- legal_company_name | |
- address_country | |
- address_locality | |
- postal_code | |
- street_address | |
- type | |
title: LegalContact | |
type: object | |
legal-contact-partial: | |
description: Legal Contact Response | |
required: | |
- type | |
properties: | |
address_country: | |
description: ISO 3166-1 alpha-2 country code, for example DE | |
example: US | |
maxLength: 2 | |
type: string | |
address_locality: | |
description: The locality/city. For example, Mountain View. | |
example: Mountain View | |
maxLength: 40 | |
type: string | |
address_region: | |
description: The region. For example, CA | |
example: CA | |
maxLength: 80 | |
nullable: true | |
type: string | |
consuming_customer: | |
description: 'The `id` of the customer consuming a service. | |
Used to be `owning_customer`. | |
' | |
example: '2381982' | |
type: string | |
email: | |
description: 'The email of the legal company entity. | |
' | |
example: [email protected] | |
maxLength: 80 | |
type: string | |
external_ref: | |
description: Reference field, free to use for the API user. | |
example: IX:Service:23042 | |
maxLength: 128 | |
nullable: true | |
type: string | |
id: | |
maxLength: 80 | |
readOnly: true | |
type: string | |
legal_company_name: | |
description: 'The official name of the organization, | |
e.g. the registered company name. | |
' | |
example: Example Inc. | |
maxLength: 80 | |
type: string | |
managing_customer: | |
description: 'The `id` of the customer responsible for managing the service | |
via | |
the API. | |
Used to be `billing_customer`. | |
' | |
example: '238189294' | |
type: string | |
post_office_box_number: | |
description: The post office box number for PO box addresses. | |
example: 2335232 | |
maxLength: 18 | |
nullable: true | |
type: string | |
postal_code: | |
description: A postal code. For example, 9404 | |
example: 9409 | |
maxLength: 24 | |
type: string | |
street_address: | |
description: The street address. For example, 1600 Amphitheatre Pkwy. | |
example: 1600 Amphitheatre Pkwy. | |
maxLength: 80 | |
type: string | |
type: | |
example: legal | |
type: string | |
title: PartialLegalContact | |
type: object | |
mac-address: | |
allOf: | |
- $ref: '#/components/schemas/mac-address-partial' | |
- required: | |
- managing_customer | |
- consuming_customer | |
- address | |
title: MacAddress | |
type: object | |
mac-address-partial: | |
description: MAC-Address | |
properties: | |
address: | |
description: 'MAC Address Value, formatted hexadecimal values with colons. | |
' | |
example: 42:23:bc:8e:b8:b0 | |
type: string | |
consuming_customer: | |
description: 'The `id` of the customer consuming a service. | |
Used to be `owning_customer`. | |
' | |
example: '2381982' | |
type: string | |
external_ref: | |
description: Reference field, free to use for the API user. | |
example: IX:Service:23042 | |
maxLength: 128 | |
nullable: true | |
type: string | |
id: | |
readOnly: true | |
type: string | |
managing_customer: | |
description: 'The `id` of the customer responsible for managing the service | |
via | |
the API. | |
Used to be `billing_customer`. | |
' | |
example: '238189294' | |
type: string | |
valid_not_after: | |
format: date-time | |
nullable: true | |
type: string | |
valid_not_before: | |
format: date-time | |
nullable: true | |
type: string | |
title: PartialMacAddress | |
type: object | |
network-feature: | |
description: Polymorphic Network Feature | |
discriminator: | |
mapping: | |
route_server: '#/components/schemas/route-server-network-feature' | |
propertyName: type | |
oneOf: | |
- $ref: '#/components/schemas/route-server-network-feature' | |
title: NetworkFeature | |
network-feature-config: | |
description: Polymorphic Network Feature Config | |
discriminator: | |
mapping: | |
route_server: '#/components/schemas/route-server-network-feature-config' | |
propertyName: type | |
oneOf: | |
- $ref: '#/components/schemas/route-server-network-feature-config' | |
title: NetworkFeatureConfig | |
network-feature-config-input: | |
description: Polymorphic Network Feature Config Request | |
discriminator: | |
mapping: | |
route_server: '#/components/schemas/route-server-network-feature-config-input' | |
propertyName: type | |
oneOf: | |
- $ref: '#/components/schemas/route-server-network-feature-config-input' | |
title: NetworkFeatureConfigInput | |
network-feature-config-input-partial: | |
description: Polymorphic Network Feature Config Request | |
discriminator: | |
mapping: | |
route_server: '#/components/schemas/route-server-network-feature-config-input-partial' | |
propertyName: type | |
oneOf: | |
- $ref: '#/components/schemas/route-server-network-feature-config-input-partial' | |
title: NetworkFeatureConfigInput (partial) | |
network-feature-config-partial: | |
description: Polymorphic Network Feature Config | |
discriminator: | |
mapping: | |
route_server: '#/components/schemas/route-server-network-feature-config-partial' | |
propertyName: type | |
oneOf: | |
- $ref: '#/components/schemas/route-server-network-feature-config-partial' | |
title: NetworkFeatureConfig (partial) | |
network-feature-config-update: | |
description: Polymorphic Network Feauture Config Update | |
discriminator: | |
mapping: | |
route_server: '#/components/schemas/route-server-network-feature-config-update' | |
propertyName: type | |
oneOf: | |
- $ref: '#/components/schemas/route-server-network-feature-config-update' | |
title: NetworkFeatureConfigUpdate | |
network-feature-config-update-partial: | |
description: Polymorphic Network Feauture Config Update | |
discriminator: | |
mapping: | |
route_server: '#/components/schemas/route-server-network-feature-config-update-partial' | |
propertyName: type | |
oneOf: | |
- $ref: '#/components/schemas/route-server-network-feature-config-update-partial' | |
title: NetworkFeatureConfigUpdate (partial) | |
network-feature-partial: | |
description: Polymorphic Network Feature | |
discriminator: | |
mapping: | |
route_server: '#/components/schemas/route-server-network-feature-partial' | |
propertyName: type | |
oneOf: | |
- $ref: '#/components/schemas/route-server-network-feature-partial' | |
title: NetworkFeature (partial) | |
network-service: | |
description: Polymorphic Network Services | |
discriminator: | |
mapping: | |
exchange_lan: '#/components/schemas/exchange-lan-network-service' | |
propertyName: type | |
oneOf: | |
- $ref: '#/components/schemas/exchange-lan-network-service' | |
title: NetworkService | |
network-service-config: | |
description: Polymorphic Network Service Config | |
discriminator: | |
mapping: | |
exchange_lan: '#/components/schemas/exchange-lan-network-service-config' | |
propertyName: type | |
oneOf: | |
- $ref: '#/components/schemas/exchange-lan-network-service-config' | |
title: NetworkServiceConfig | |
network-service-config-input: | |
description: Polymorhic Network Service Config Request | |
discriminator: | |
mapping: | |
exchange_lan: '#/components/schemas/exchange-lan-network-service-config-input' | |
propertyName: type | |
oneOf: | |
- $ref: '#/components/schemas/exchange-lan-network-service-config-input' | |
title: NetworkServiceConfigInput | |
network-service-config-input-partial: | |
description: Polymorhic Network Service Config Request | |
discriminator: | |
mapping: | |
exchange_lan: '#/components/schemas/exchange-lan-network-service-config-input-partial' | |
propertyName: type | |
oneOf: | |
- $ref: '#/components/schemas/exchange-lan-network-service-config-input-partial' | |
title: NetworkServiceConfigInput (partial) | |
network-service-config-partial: | |
description: Polymorphic Network Service Config | |
discriminator: | |
mapping: | |
exchange_lan: '#/components/schemas/exchange-lan-network-service-config-partial' | |
propertyName: type | |
oneOf: | |
- $ref: '#/components/schemas/exchange-lan-network-service-config-partial' | |
title: NetworkServiceConfig (partial) | |
network-service-config-update: | |
description: Polymorphic Network Service Config | |
discriminator: | |
mapping: | |
exchange_lan: '#/components/schemas/exchange-lan-network-service-config-update' | |
propertyName: type | |
oneOf: | |
- $ref: '#/components/schemas/exchange-lan-network-service-config-update' | |
title: NetworkServiceConfigUpdate | |
network-service-config-update-partial: | |
description: Polymorphic Network Service Config | |
discriminator: | |
mapping: | |
exchange_lan: '#/components/schemas/exchange-lan-network-service-config-update-partial' | |
propertyName: type | |
oneOf: | |
- $ref: '#/components/schemas/exchange-lan-network-service-config-update-partial' | |
title: NetworkServiceConfigUpdate (partial) | |
network-service-partial: | |
description: Polymorphic Network Services | |
discriminator: | |
mapping: | |
exchange_lan: '#/components/schemas/exchange-lan-network-service-partial' | |
propertyName: type | |
oneOf: | |
- $ref: '#/components/schemas/exchange-lan-network-service-partial' | |
title: NetworkService (partial) | |
noc-contact: | |
properties: | |
type: | |
type: string | |
allOf: | |
- $ref: '#/components/schemas/noc-contact-partial' | |
required: | |
- managing_customer | |
- consuming_customer | |
- type | |
title: NocContact | |
type: object | |
noc-contact-partial: | |
description: NOC Contact Response | |
properties: | |
consuming_customer: | |
description: 'The `id` of the customer consuming a service. | |
Used to be `owning_customer`. | |
' | |
example: '2381982' | |
type: string | |
email: | |
description: 'The email of the NOC. Typically noc@<customer> | |
' | |
example: [email protected] | |
maxLength: 80 | |
type: string | |
external_ref: | |
description: Reference field, free to use for the API user. | |
example: IX:Service:23042 | |
maxLength: 128 | |
nullable: true | |
type: string | |
id: | |
maxLength: 80 | |
readOnly: true | |
type: string | |
managing_customer: | |
description: 'The `id` of the customer responsible for managing the service | |
via | |
the API. | |
Used to be `billing_customer`. | |
' | |
example: '238189294' | |
type: string | |
telephone: | |
description: The telephone number in E.164 Phone Number Formatting | |
example: '+442071838750' | |
maxLength: 40 | |
nullable: true | |
type: string | |
type: | |
example: noc | |
type: string | |
required: | |
- type | |
title: PartialNocContact | |
type: object | |
ownable-object: | |
allOf: | |
- $ref: '#/components/schemas/ownable-object-partial' | |
- required: | |
- managing_customer | |
- consuming_customer | |
title: OwnableObject | |
type: object | |
ownable-object-partial: | |
description: Ownable | |
properties: | |
consuming_customer: | |
description: 'The `id` of the customer consuming a service. | |
Used to be `owning_customer`. | |
' | |
example: '2381982' | |
type: string | |
external_ref: | |
description: Reference field, free to use for the API user. | |
example: IX:Service:23042 | |
maxLength: 128 | |
nullable: true | |
type: string | |
managing_customer: | |
description: 'The `id` of the customer responsible for managing the service | |
via | |
the API. | |
Used to be `billing_customer`. | |
' | |
example: '238189294' | |
type: string | |
title: PartialOwnableObject | |
type: object | |
peering-contact: | |
properties: | |
type: | |
type: string | |
allOf: | |
- $ref: '#/components/schemas/peering-contact-partial' | |
required: | |
- managing_customer | |
- consuming_customer | |
- type | |
title: PeeringContact | |
type: object | |
peering-contact-partial: | |
description: Peering Contact Response | |
properties: | |
consuming_customer: | |
description: 'The `id` of the customer consuming a service. | |
Used to be `owning_customer`. | |
' | |
example: '2381982' | |
type: string | |
email: | |
description: 'The peering email of the customer. Typically peering@<customer> | |
' | |
example: [email protected] | |
maxLength: 80 | |
type: string | |
external_ref: | |
description: Reference field, free to use for the API user. | |
example: IX:Service:23042 | |
maxLength: 128 | |
nullable: true | |
type: string | |
id: | |
maxLength: 80 | |
readOnly: true | |
type: string | |
managing_customer: | |
description: 'The `id` of the customer responsible for managing the service | |
via | |
the API. | |
Used to be `billing_customer`. | |
' | |
example: '238189294' | |
type: string | |
type: | |
example: peering | |
type: string | |
required: | |
- type | |
title: PartialPeeringContact | |
type: object | |
point-of-presence: | |
allOf: | |
- $ref: '#/components/schemas/point-of-presence-partial' | |
- required: | |
- name | |
- reachable_facilities | |
- available_devices | |
title: PointOfPresence | |
type: object | |
point-of-presence-device: | |
allOf: | |
- $ref: '#/components/schemas/point-of-presence-device-partial' | |
- title: PointOfPresenceDevice | |
type: object | |
point-of-presence-device-partial: | |
description: Device with `presence` annotation | |
properties: | |
id: | |
readOnly: true | |
type: string | |
presence: | |
readOnly: true | |
type: string | |
title: PartialPointOfPresenceDevice | |
type: object | |
point-of-presence-partial: | |
description: Point Of Presence | |
properties: | |
available_devices: | |
items: | |
type: string | |
type: array | |
id: | |
readOnly: true | |
type: string | |
name: | |
maxLength: 40 | |
type: string | |
physical_facility: | |
readOnly: true | |
type: string | |
reachable_facilities: | |
items: | |
type: string | |
type: array | |
title: PartialPointOfPresence | |
type: object | |
problem: | |
allOf: | |
- $ref: '#/components/schemas/problem-partial' | |
- required: | |
- type | |
title: Problem | |
type: object | |
problem-partial: | |
description: Problem | |
properties: | |
detail: | |
description: 'A human-readable explanation specific to this | |
occurrence of the problem.' | |
type: string | |
instance: | |
description: 'A URI reference that identifies the specific | |
occurrence of the problem. It may or may not yield | |
further information if dereferenced.' | |
type: string | |
status: | |
description: 'The HTTP status code ([RFC7231], Section 6) | |
generated by the origin server for this occurrence | |
of the problem.' | |
minimum: 100 | |
type: integer | |
title: | |
description: 'A short, human-readable summary of the problem type. | |
It SHOULD NOT change from occurrence to | |
occurrence of the problem, except for purposes | |
of localization (e.g., using proactive content | |
negotiation; see [RFC7231], Section 3.4). | |
' | |
example: Some fields have validation errors. | |
type: string | |
type: | |
description: 'A URI reference (see RFC3986) that identifies the | |
problem type. | |
This specification encourages that, when | |
dereferenced, it provide human-readable documentation | |
for the problem type (e.g., using HTML | |
[W3C.REC-html5-20141028]). | |
When this member is not present, its value is assumed | |
to be "about:blank". | |
' | |
example: about:blank | |
type: string | |
title: PartialProblem | |
type: object | |
product: | |
description: Polymorphic Product | |
discriminator: | |
mapping: | |
exchange_lan: '#/components/schemas/exchange-lan-network-product' | |
propertyName: type | |
oneOf: | |
- $ref: '#/components/schemas/exchange-lan-network-product' | |
title: Product | |
product-partial: | |
description: Polymorphic Product | |
discriminator: | |
mapping: | |
exchange_lan: '#/components/schemas/exchange-lan-network-product-partial' | |
propertyName: type | |
oneOf: | |
- $ref: '#/components/schemas/exchange-lan-network-product-partial' | |
title: Product (partial) | |
refresh-token-request: | |
allOf: | |
- $ref: '#/components/schemas/refresh-token-request-partial' | |
- required: | |
- refresh_token | |
title: RefreshTokenRequest | |
type: object | |
refresh-token-request-partial: | |
description: RefreshTokenRequest | |
properties: | |
refresh_token: | |
type: string | |
title: PartialRefreshTokenRequest | |
type: object | |
route-server-network-feature: | |
properties: | |
type: | |
type: string | |
allOf: | |
- $ref: '#/components/schemas/route-server-network-feature-partial' | |
required: | |
- name | |
- required | |
- required_contact_types | |
- flags | |
- network_service | |
- asn | |
- fqdn | |
- looking_glass_url | |
- address_families | |
- available_bgp_session_types | |
- type | |
title: RouteServerNetworkFeature | |
type: object | |
route-server-network-feature-config: | |
properties: | |
type: | |
type: string | |
allOf: | |
- $ref: '#/components/schemas/route-server-network-feature-config-partial' | |
required: | |
- managing_customer | |
- consuming_customer | |
- contacts | |
- network_feature | |
- network_service_config | |
- asn | |
- session_mode | |
- bgp_session_type | |
- type | |
title: RouteServerNetworkFeatureConfig | |
type: object | |
route-server-network-feature-config-input: | |
properties: | |
type: | |
type: string | |
allOf: | |
- $ref: '#/components/schemas/route-server-network-feature-config-input-partial' | |
required: | |
- managing_customer | |
- consuming_customer | |
- contacts | |
- network_feature | |
- network_service_config | |
- asn | |
- session_mode | |
- bgp_session_type | |
- type | |
title: RouteServerNetworkFeatureConfigInput | |
type: object | |
route-server-network-feature-config-input-partial: | |
description: Route Server Network Feature Config Request | |
properties: | |
as_set_v4: | |
description: 'AS-Set of the customer for IPv4 prefix filtering. | |
This is used to generate | |
filters on the router servers. | |
Only valid referenced prefixes within the AS-Set | |
are allowed inbound to the route server. All other routes are | |
filtered. | |
This field is *required* with session mode `public` | |
if the route server network feature supports the `af_inet` | |
address family. | |
Important: The format has to be: "AS-SET@IRR". IRR is the database | |
where the AS-SET is registred. Typically used IRR''s are RADB, RIPE, | |
NTTCOM, APNIC, ALTDB, LEVEL3, ARIN, AFRINIC, LACNIC | |
' | |
example: MOON-AS@RIPE | |
maxLength: 100 | |
nullable: true | |
type: string | |
as_set_v6: | |
description: 'AS-Set of the customer for IPv6. This is used to generate | |
filters | |
on the router servers. Only valid referenced prefixes within | |
the AS-Set are allowed inbound to the route server. | |
All other routes are filtered. | |
This field is *required* with session mode `public` | |
if the route server network feature supports the `af_inet6` | |
address family. | |
Important: The format has to be: "AS-SET@IRR". IRR is the database | |
where the AS-SET is registred. Typically used IRR''s are RADB, RIPE, | |
NTTCOM, APNIC, ALTDB, LEVEL3, ARIN, AFRINIC, LACNIC | |
' | |
example: MOON-AS@RIPE | |
maxLength: 100 | |
nullable: true | |
type: string | |
asn: | |
description: 'The ASN of the peer. | |
' | |
example: 4200000023 | |
format: int64 | |
maximum: 4294967295 | |
minimum: 0 | |
type: integer | |
bgp_session_type: | |
description: 'The session type describes which of the both parties will | |
open the | |
connection. If set to passive, the customer router needs to open | |
the connection. If its set to active, the route server will open | |
the connection. The standard behavior on most IX''s is passive. | |
' | |
enum: | |
- active | |
- passive | |
example: passive | |
type: string | |
consuming_customer: | |
description: 'The `id` of the customer consuming a service. | |
Used to be `owning_customer`. | |
' | |
example: '2381982' | |
type: string | |
contacts: | |
description: 'Polymorphic set of contacts. See the documentation | |
on the specific `required_contact_types` on what | |
contacts to provide. | |
' | |
example: | |
- c-impl:123 | |
- c-noc:331 | |
items: | |
type: string | |
type: array | |
contract_ref: | |
description: 'A reference to a contract. | |
' | |
example: contract:31824 | |
maxLength: 128 | |
nullable: true | |
type: string | |
external_ref: | |
description: Reference field, free to use for the API user. | |
example: IX:Service:23042 | |
maxLength: 128 | |
nullable: true | |
type: string | |
id: | |
readOnly: true | |
type: string | |
insert_ixp_asn: | |
description: 'Insert the ASN of the IXP into the AS path. This function | |
is only | |
used in special cases. In 99% of all cases, it should be false. | |
' | |
type: boolean | |
managing_customer: | |
description: 'The `id` of the customer responsible for managing the service | |
via | |
the API. | |
Used to be `billing_customer`. | |
' | |
example: '238189294' | |
type: string | |
max_prefix_v4: | |
description: 'Announcing more than `max_prefix` IPv4 prefixes the bgp | |
session will be droped. | |
' | |
example: 5000 | |
minimum: 0 | |
nullable: true | |
type: integer | |
max_prefix_v6: | |
description: 'Announcing more than `max_prefix` IPv6 prefixes the bgp | |
session will be droped. | |
' | |
example: 5000 | |
minimum: 0 | |
nullable: true | |
type: integer | |
network_feature: | |
type: string | |
network_service_config: | |
type: string | |
password: | |
description: The cleartext BGP session password | |
example: bgp-session-test-23 | |
maxLength: 128 | |
type: string | |
purchase_order: | |
description: 'Purchase Order ID which will be displayed on the invoice. | |
' | |
example: 'Project: DC Moon' | |
maxLength: 80 | |
type: string | |
session_mode: | |
description: 'Set the session mode with the routeserver. | |
' | |
enum: | |
- public | |
- collector | |
example: public | |
type: string | |
type: | |
example: route_server | |
type: string | |
required: | |
- type | |
title: PartialRouteServerNetworkFeatureConfigInput | |
type: object | |
route-server-network-feature-config-partial: | |
description: Route Server Network Feature Config | |
properties: | |
as_set_v4: | |
description: 'AS-Set of the customer for IPv4 prefix filtering. | |
This is used to generate | |
filters on the router servers. | |
Only valid referenced prefixes within the AS-Set | |
are allowed inbound to the route server. All other routes are | |
filtered. | |
This field is *required* with session mode `public` | |
if the route server network feature supports the `af_inet` | |
address family. | |
Important: The format has to be: "AS-SET@IRR". IRR is the database | |
where the AS-SET is registred. Typically used IRR''s are RADB, RIPE, | |
NTTCOM, APNIC, ALTDB, LEVEL3, ARIN, AFRINIC, LACNIC | |
' | |
example: MOON-AS@RIPE | |
maxLength: 100 | |
nullable: true | |
type: string | |
as_set_v6: | |
description: 'AS-Set of the customer for IPv6. This is used to generate | |
filters | |
on the router servers. Only valid referenced prefixes within | |
the AS-Set are allowed inbound to the route server. | |
All other routes are filtered. | |
This field is *required* with session mode `public` | |
if the route server network feature supports the `af_inet6` | |
address family. | |
Important: The format has to be: "AS-SET@IRR". IRR is the database | |
where the AS-SET is registred. Typically used IRR''s are RADB, RIPE, | |
NTTCOM, APNIC, ALTDB, LEVEL3, ARIN, AFRINIC, LACNIC | |
' | |
example: MOON-AS@RIPE | |
maxLength: 100 | |
nullable: true | |
type: string | |
asn: | |
description: 'The ASN of the peer. | |
' | |
example: 4200000023 | |
format: int64 | |
maximum: 4294967295 | |
minimum: 0 | |
type: integer | |
bgp_session_type: | |
description: 'The session type describes which of the both parties will | |
open the | |
connection. If set to passive, the customer router needs to open | |
the connection. If its set to active, the route server will open | |
the connection. The standard behavior on most IX''s is passive. | |
' | |
enum: | |
- active | |
- passive | |
example: passive | |
type: string | |
consuming_customer: | |
description: 'The `id` of the customer consuming a service. | |
Used to be `owning_customer`. | |
' | |
example: '2381982' | |
type: string | |
contacts: | |
description: 'Polymorphic set of contacts. See the documentation | |
on the specific `required_contact_types` on what | |
contacts to provide. | |
' | |
example: | |
- c-impl:123 | |
- c-noc:331 | |
items: | |
type: string | |
type: array | |
contract_ref: | |
description: 'A reference to a contract. | |
' | |
example: contract:31824 | |
maxLength: 128 | |
nullable: true | |
type: string | |
external_ref: | |
description: Reference field, free to use for the API user. | |
example: IX:Service:23042 | |
maxLength: 128 | |
nullable: true | |
type: string | |
id: | |
readOnly: true | |
type: string | |
insert_ixp_asn: | |
description: 'Insert the ASN of the IXP into the AS path. This function | |
is only | |
used in special cases. In 99% of all cases, it should be false. | |
' | |
type: boolean | |
managing_customer: | |
description: 'The `id` of the customer responsible for managing the service | |
via | |
the API. | |
Used to be `billing_customer`. | |
' | |
example: '238189294' | |
type: string | |
max_prefix_v4: | |
description: 'Announcing more than `max_prefix` IPv4 prefixes the bgp | |
session will be droped. | |
' | |
example: 5000 | |
minimum: 0 | |
nullable: true | |
type: integer | |
max_prefix_v6: | |
description: 'Announcing more than `max_prefix` IPv6 prefixes the bgp | |
session will be droped. | |
' | |
example: 5000 | |
minimum: 0 | |
nullable: true | |
type: integer | |
network_feature: | |
type: string | |
network_service_config: | |
type: string | |
password: | |
description: The cleartext BGP session password | |
example: bgp-session-test-23 | |
maxLength: 128 | |
type: string | |
purchase_order: | |
description: 'Purchase Order ID which will be displayed on the invoice. | |
' | |
example: 'Project: DC Moon' | |
maxLength: 80 | |
type: string | |
session_mode: | |
description: 'Set the session mode with the routeserver. | |
' | |
enum: | |
- public | |
- collector | |
example: public | |
type: string | |
state: | |
enum: | |
- requested | |
- allocated | |
- testing | |
- production | |
- decommission_requested | |
- decommissioned | |
- archived | |
- error | |
- operator | |
- scheduled | |
readOnly: true | |
type: string | |
status: | |
items: | |
$ref: '#/components/schemas/status' | |
type: array | |
type: | |
example: route_server | |
type: string | |
required: | |
- type | |
title: PartialRouteServerNetworkFeatureConfig | |
type: object | |
route-server-network-feature-config-update: | |
properties: | |
type: | |
type: string | |
allOf: | |
- $ref: '#/components/schemas/route-server-network-feature-config-update-partial' | |
required: | |
- managing_customer | |
- consuming_customer | |
- asn | |
- session_mode | |
- bgp_session_type | |
- type | |
title: RouteServerNetworkFeatureConfigUpdate | |
type: object | |
route-server-network-feature-config-update-partial: | |
description: Route Server Network Feature Config Update | |
properties: | |
as_set_v4: | |
description: 'AS-Set of the customer for IPv4 prefix filtering. | |
This is used to generate | |
filters on the router servers. | |
Only valid referenced prefixes within the AS-Set | |
are allowed inbound to the route server. All other routes are | |
filtered. | |
This field is *required* with session mode `public` | |
if the route server network feature supports the `af_inet` | |
address family. | |
Important: The format has to be: "AS-SET@IRR". IRR is the database | |
where the AS-SET is registred. Typically used IRR''s are RADB, RIPE, | |
NTTCOM, APNIC, ALTDB, LEVEL3, ARIN, AFRINIC, LACNIC | |
' | |
example: MOON-AS@RIPE | |
maxLength: 100 | |
nullable: true | |
type: string | |
as_set_v6: | |
description: 'AS-Set of the customer for IPv6. This is used to generate | |
filters | |
on the router servers. Only valid referenced prefixes within | |
the AS-Set are allowed inbound to the route server. | |
All other routes are filtered. | |
This field is *required* with session mode `public` | |
if the route server network feature supports the `af_inet6` | |
address family. | |
Important: The format has to be: "AS-SET@IRR". IRR is the database | |
where the AS-SET is registred. Typically used IRR''s are RADB, RIPE, | |
NTTCOM, APNIC, ALTDB, LEVEL3, ARIN, AFRINIC, LACNIC | |
' | |
example: MOON-AS@RIPE | |
maxLength: 100 | |
nullable: true | |
type: string | |
asn: | |
description: 'The ASN of the peer. | |
' | |
example: 4200000023 | |
format: int64 | |
maximum: 4294967295 | |
minimum: 0 | |
type: integer | |
bgp_session_type: | |
description: 'The session type describes which of the both parties will | |
open the | |
connection. If set to passive, the customer router needs to open | |
the connection. If its set to active, the route server will open | |
the connection. The standard behavior on most IX''s is passive. | |
' | |
enum: | |
- active | |
- passive | |
example: passive | |
type: string | |
consuming_customer: | |
description: 'The `id` of the customer consuming a service. | |
Used to be `owning_customer`. | |
' | |
example: '2381982' | |
type: string | |
external_ref: | |
description: Reference field, free to use for the API user. | |
example: IX:Service:23042 | |
maxLength: 128 | |
nullable: true | |
type: string | |
insert_ixp_asn: | |
description: 'Insert the ASN of the IXP into the AS path. This function | |
is only | |
used in special cases. In 99% of all cases, it should be false. | |
' | |
type: boolean | |
managing_customer: | |
description: 'The `id` of the customer responsible for managing the service | |
via | |
the API. | |
Used to be `billing_customer`. | |
' | |
example: '238189294' | |
type: string | |
max_prefix_v4: | |
description: 'Announcing more than `max_prefix` IPv4 prefixes the bgp | |
session will be droped. | |
' | |
example: 5000 | |
minimum: 0 | |
nullable: true | |
type: integer | |
max_prefix_v6: | |
description: 'Announcing more than `max_prefix` IPv6 prefixes the bgp | |
session will be droped. | |
' | |
example: 5000 | |
minimum: 0 | |
nullable: true | |
type: integer | |
password: | |
description: The cleartext BGP session password | |
example: bgp-session-test-23 | |
maxLength: 128 | |
type: string | |
session_mode: | |
description: 'Set the session mode with the routeserver. | |
' | |
enum: | |
- public | |
- collector | |
example: public | |
type: string | |
type: | |
example: route_server | |
type: string | |
required: | |
- type | |
title: PartialRouteServerNetworkFeatureConfigUpdate | |
type: object | |
route-server-network-feature-partial: | |
description: Route Server Network Feature | |
properties: | |
address_families: | |
description: 'When creating a route server feature config, remember | |
to specify which address family or families to use. | |
' | |
items: | |
enum: | |
- af_inet | |
- af_inet6 | |
type: string | |
type: array | |
asn: | |
minimum: 0 | |
type: integer | |
available_bgp_session_types: | |
description: 'The route server provides the following session modes. | |
' | |
items: | |
enum: | |
- active | |
- passive | |
type: string | |
type: array | |
flags: | |
description: 'A list of IXP specific feature flags. This can be used | |
to see if e.g. RPKI hard filtering is available.' | |
items: | |
$ref: '#/components/schemas/ixp-specific-feature-flag' | |
type: array | |
fqdn: | |
description: 'The FQDN of the route server. | |
' | |
example: rs1.moon-ix.net | |
maxLength: 80 | |
type: string | |
id: | |
readOnly: true | |
type: string | |
ips: | |
items: | |
type: string | |
readOnly: true | |
type: array | |
looking_glass_url: | |
description: 'The url of the looking glass. | |
' | |
example: https://lg.moon-ix.net/rs1 | |
type: string | |
name: | |
maxLength: 80 | |
type: string | |
network_service: | |
type: string | |
required: | |
type: boolean | |
required_contact_types: | |
description: 'The configuration will require at least one of each of the | |
specified contact types. | |
They can be assigned in the `contacts` list property of the | |
network feature configuration.' | |
items: | |
type: string | |
type: array | |
type: | |
example: route_server | |
type: string | |
required: | |
- type | |
title: PartialRouteServerNetworkFeature | |
type: object | |
stateful-object: | |
allOf: | |
- $ref: '#/components/schemas/stateful-object-partial' | |
- title: StatefulObject | |
type: object | |
stateful-object-partial: | |
description: A stateful object | |
properties: | |
state: | |
enum: | |
- requested | |
- allocated | |
- testing | |
- production | |
- decommission_requested | |
- decommissioned | |
- archived | |
- error | |
- operator | |
- scheduled | |
readOnly: true | |
type: string | |
status: | |
items: | |
$ref: '#/components/schemas/status' | |
type: array | |
title: PartialStatefulObject | |
type: object | |
status: | |
allOf: | |
- $ref: '#/components/schemas/status-partial' | |
- required: | |
- severity | |
- tag | |
- message | |
- attrs | |
- timestamp | |
title: Status | |
type: object | |
status-partial: | |
description: Status Message | |
properties: | |
attrs: | |
type: object | |
message: | |
type: string | |
severity: | |
description: 'We are using syslog severity levels: 0 = Emergency, | |
1 = Alert, 2 = Critical, 3 = Error, 4 = Warning, | |
5 = Notice, 6 = Informational, 7 = Debug. | |
' | |
example: 2 | |
format: int32 | |
maximum: 7 | |
minimum: 0 | |
type: integer | |
tag: | |
type: string | |
timestamp: | |
format: date-time | |
type: string | |
title: PartialStatus | |
type: object | |
info: | |
contact: | |
email: [email protected] | |
url: https://ix-api.net | |
description: This API allows to config/change/delete Internet Exchange services | |
title: IX-API | |
version: 1.0.3 | |
openapi: 3.0.0 | |
paths: | |
/auth/refresh: | |
post: | |
description: 'Reauthenticate the API user, issue a new `access_token` | |
and `refresh_token` pair by providing the `refresh_token` | |
in the request body.' | |
operationId: auth_refresh | |
requestBody: | |
content: | |
application/json: | |
schema: | |
$ref: '#/components/schemas/refresh-token-request' | |
description: '' | |
responses: | |
'200': | |
content: | |
application/json: | |
schema: | |
$ref: '#/components/schemas/auth-tokens' | |
description: AuthToken | |
'400': | |
content: | |
application/json: | |
schema: | |
allOf: | |
- $ref: '#/components/schemas/problem' | |
- properties: | |
status: | |
example: 400 | |
title: | |
example: Some fields did not validate. | |
type: | |
enum: | |
- http://localhost:8000/api/docs/v1/problems/validation-error | |
type: string | |
type: object | |
type: object | |
description: ValidationError | |
'401': | |
content: | |
application/json: | |
schema: | |
allOf: | |
- $ref: '#/components/schemas/problem' | |
- properties: | |
status: | |
example: 401 | |
title: | |
example: Authentication Credentials Invalid | |
type: | |
enum: | |
- http://localhost:8000/api/docs/v1/problems/authentication-error | |
- http://localhost:8000/api/docs/v1/problems/signature-expired | |
- http://localhost:8000/api/docs/v1/problems/not-authenticated | |
type: string | |
type: object | |
type: object | |
description: Authentication | |
tags: | |
- auth | |
/auth/token: | |
post: | |
description: Authenticate a customer identified by `api_key` and `api_secret`. | |
operationId: auth_token | |
requestBody: | |
content: | |
application/json: | |
schema: | |
$ref: '#/components/schemas/auth-token-request' | |
description: '' | |
responses: | |
'200': | |
content: | |
application/json: | |
schema: | |
$ref: '#/components/schemas/auth-tokens' | |
description: AuthToken | |
'400': | |
content: | |
application/json: | |
schema: | |
allOf: | |
- $ref: '#/components/schemas/problem' | |
- properties: | |
status: | |
example: 400 | |
title: | |
example: Some fields did not validate. | |
type: | |
enum: | |
- http://localhost:8000/api/docs/v1/problems/validation-error | |
type: string | |
type: object | |
type: object | |
description: ValidationError | |
'401': | |
content: | |
application/json: | |
schema: | |
allOf: | |
- $ref: '#/components/schemas/problem' | |
- properties: | |
status: | |
example: 401 | |
title: | |
example: Authentication Credentials Invalid | |
type: | |
enum: | |
- http://localhost:8000/api/docs/v1/problems/authentication-error | |
- http://localhost:8000/api/docs/v1/problems/signature-expired | |
- http://localhost:8000/api/docs/v1/problems/not-authenticated | |
type: string | |
type: object | |
type: object | |
description: Authentication | |
tags: | |
- auth | |
/connections: | |
get: | |
description: List all `connection`s. | |
operationId: connections_list | |
parameters: | |
- description: Filter by name | |
in: query | |
name: name | |
required: false | |
schema: | |
type: string | |
- description: Filter by external_ref | |
in: query | |
name: external_ref | |
required: false | |
schema: | |
type: string | |
- description: Filter by managing_customer | |
in: query | |
name: managing_customer | |
required: false | |
schema: | |
type: string | |
- description: Filter by consuming_customer | |
in: query | |
name: consuming_customer | |
required: false | |
schema: | |
type: string | |
- description: Filter by purchase_order | |
in: query | |
name: purchase_order | |
required: false | |
schema: | |
type: string | |
- description: Filter by contract_ref | |
in: query | |
name: contract_ref | |
required: false | |
schema: | |
type: string | |
- description: Filter by id | |
explode: false | |
in: query | |
name: id | |
required: false | |
schema: | |
example: id1,id2,id3 | |
items: | |
type: string | |
type: array | |
style: form | |
- description: Filter by state | |
in: query | |
name: state | |
required: false | |
schema: | |
type: string | |
- description: Filter by state__is_not | |
in: query | |
name: state__is_not | |
required: false | |
schema: | |
type: string | |
- description: Filter by mode | |
in: query | |
name: mode | |
required: false | |
schema: | |
type: string | |
- description: Filter by mode__is_not | |
in: query | |
name: mode__is_not | |
required: false | |
schema: | |
type: string | |
- description: Filter by demarc | |
in: query | |
name: demarc | |
required: false | |
schema: | |
type: string | |
responses: | |
'200': | |
content: | |
application/json: | |
schema: | |
items: | |
$ref: '#/components/schemas/connection' | |
type: array | |
description: '' | |
'401': | |
content: | |
application/json: | |
schema: | |
allOf: | |
- $ref: '#/components/schemas/problem' | |
- properties: | |
status: | |
example: 401 | |
title: | |
example: Authentication Credentials Invalid | |
type: | |
enum: | |
- http://localhost:8000/api/docs/v1/problems/authentication-error | |
- http://localhost:8000/api/docs/v1/problems/signature-expired | |
type: string | |
type: object | |
type: object | |
description: Authentication | |
'403': | |
content: | |
application/json: | |
schema: | |
allOf: | |
- $ref: '#/components/schemas/problem' | |
- properties: | |
status: | |
example: 403 | |
title: | |
example: You do not have permission to perform this action. | |
type: | |
enum: | |
- http://localhost:8000/api/docs/v1/problems/permission-denied | |
type: string | |
type: object | |
type: object | |
description: PermissionDenied | |
tags: | |
- connections | |
/connections/{id}: | |
get: | |
description: Read a `connection`. | |
operationId: connections_read | |
parameters: | |
- description: Get by id | |
in: path | |
name: id | |
required: true | |
schema: | |
description: '' | |
title: '' | |
type: string | |
responses: | |
'200': | |
content: | |
application/json: | |
schema: | |
$ref: '#/components/schemas/connection' | |
description: Connection | |
'401': | |
content: | |
application/json: | |
schema: | |
allOf: | |
- $ref: '#/components/schemas/problem' | |
- properties: | |
status: | |
example: 401 | |
title: | |
example: Authentication Credentials Invalid | |
type: | |
enum: | |
- http://localhost:8000/api/docs/v1/problems/authentication-error | |
- http://localhost:8000/api/docs/v1/problems/signature-expired | |
type: string | |
type: object | |
type: object | |
description: Authentication | |
'403': | |
content: | |
application/json: | |
schema: | |
allOf: | |
- $ref: '#/components/schemas/problem' | |
- properties: | |
status: | |
example: 403 | |
title: | |
example: You do not have permission to perform this action. | |
type: | |
enum: | |
- http://localhost:8000/api/docs/v1/problems/permission-denied | |
type: string | |
type: object | |
type: object | |
description: PermissionDenied | |
'404': | |
content: | |
application/json: | |
schema: | |
allOf: | |
- $ref: '#/components/schemas/problem' | |
- properties: | |
status: | |
example: 404 | |
title: | |
example: Not found. | |
type: | |
enum: | |
- http://localhost:8000/api/docs/v1/problems/not-found | |
type: string | |
type: object | |
type: object | |
description: NotFound | |
tags: | |
- connections | |
/contacts: | |
get: | |
description: List available contacts managed by the authorized customer | |
operationId: contacts_list | |
parameters: | |
- description: Filter by external_ref | |
in: query | |
name: external_ref | |
required: false | |
schema: | |
type: string | |
- description: Filter by managing_customer | |
in: query | |
name: managing_customer | |
required: false | |
schema: | |
type: string | |
- description: Filter by consuming_customer | |
in: query | |
name: consuming_customer | |
required: false | |
schema: | |
type: string | |
- description: Filter by purchase_order | |
in: query | |
name: purchase_order | |
required: false | |
schema: | |
type: string | |
- description: Filter by contract_ref | |
in: query | |
name: contract_ref | |
required: false | |
schema: | |
type: string | |
- description: Filter by id | |
explode: false | |
in: query | |
name: id | |
required: false | |
schema: | |
example: id1,id2,id3 | |
items: | |
type: string | |
type: array | |
style: form | |
- description: Filter by type | |
in: query | |
name: type | |
required: false | |
schema: | |
enum: | |
- legal | |
- noc | |
- implementation | |
- billing | |
- peering | |
type: string | |
responses: | |
'200': | |
content: | |
application/json: | |
schema: | |
items: | |
$ref: '#/components/schemas/contact' | |
type: array | |
description: '' | |
'401': | |
content: | |
application/json: | |
schema: | |
allOf: | |
- $ref: '#/components/schemas/problem' | |
- properties: | |
status: | |
example: 401 | |
title: | |
example: Authentication Credentials Invalid | |
type: | |
enum: | |
- http://localhost:8000/api/docs/v1/problems/authentication-error | |
- http://localhost:8000/api/docs/v1/problems/signature-expired | |
type: string | |
type: object | |
type: object | |
description: Authentication | |
'403': | |
content: | |
application/json: | |
schema: | |
allOf: | |
- $ref: '#/components/schemas/problem' | |
- properties: | |
status: | |
example: 403 | |
title: | |
example: You do not have permission to perform this action. | |
type: | |
enum: | |
- http://localhost:8000/api/docs/v1/problems/permission-denied | |
type: string | |
type: object | |
type: object | |
description: PermissionDenied | |
tags: | |
- contacts | |
post: | |
description: 'Create a new contact. | |
Please remember to set the correct `type` of the contact | |
when sending the request. Available types are `noc`, `billing`, | |
`legal` and `implementation`.' | |
operationId: contacts_create | |
requestBody: | |
content: | |
application/json: | |
schema: | |
$ref: '#/components/schemas/contact' | |
description: '' | |
responses: | |
'201': | |
content: | |
application/json: | |
schema: | |
$ref: '#/components/schemas/contact' | |
description: Polymorphic Contact | |
'400': | |
content: | |
application/json: | |
schema: | |
allOf: | |
- $ref: '#/components/schemas/problem' | |
- properties: | |
status: | |
example: 400 | |
title: | |
example: Some fields did not validate. | |
type: | |
enum: | |
- http://localhost:8000/api/docs/v1/problems/validation-error | |
type: string | |
type: object | |
type: object | |
description: ValidationError | |
'401': | |
content: | |
application/json: | |
schema: | |
allOf: | |
- $ref: '#/components/schemas/problem' | |
- properties: | |
status: | |
example: 401 | |
title: | |
example: Authentication Credentials Invalid | |
type: | |
enum: | |
- http://localhost:8000/api/docs/v1/problems/authentication-error | |
- http://localhost:8000/api/docs/v1/problems/signature-expired | |
type: string | |
type: object | |
type: object | |
description: Authentication | |
'403': | |
content: | |
application/json: | |
schema: | |
allOf: | |
- $ref: '#/components/schemas/problem' | |
- properties: | |
status: | |
example: 403 | |
title: | |
example: You do not have permission to perform this action. | |
type: | |
enum: | |
- http://localhost:8000/api/docs/v1/problems/permission-denied | |
type: string | |
type: object | |
type: object | |
description: PermissionDenied | |
tags: | |
- contacts | |
/contacts/{id}: | |
delete: | |
description: Remove a contact | |
operationId: contacts_delete | |
parameters: | |
- description: Get by id | |
in: path | |
name: id | |
required: true | |
schema: | |
description: '' | |
title: '' | |
type: string | |
responses: | |
'200': | |
content: | |
application/json: | |
schema: | |
$ref: '#/components/schemas/contact' | |
description: Polymorphic Contact | |
'401': | |
content: | |
application/json: | |
schema: | |
allOf: | |
- $ref: '#/components/schemas/problem' | |
- properties: | |
status: | |
example: 401 | |
title: | |
example: Authentication Credentials Invalid | |
type: | |
enum: | |
- http://localhost:8000/api/docs/v1/problems/authentication-error | |
- http://localhost:8000/api/docs/v1/problems/signature-expired | |
type: string | |
type: object | |
type: object | |
description: Authentication | |
'403': | |
content: | |
application/json: | |
schema: | |
allOf: | |
- $ref: '#/components/schemas/problem' | |
- properties: | |
status: | |
example: 403 | |
title: | |
example: You do not have permission to perform this action. | |
type: | |
enum: | |
- http://localhost:8000/api/docs/v1/problems/permission-denied | |
type: string | |
type: object | |
type: object | |
description: PermissionDenied | |
'404': | |
content: | |
application/json: | |
schema: | |
allOf: | |
- $ref: '#/components/schemas/problem' | |
- properties: | |
status: | |
example: 404 | |
title: | |
example: Not found. | |
type: | |
enum: | |
- http://localhost:8000/api/docs/v1/problems/not-found | |
type: string | |
type: object | |
type: object | |
description: NotFound | |
tags: | |
- contacts | |
get: | |
description: Get a contact by it's id | |
operationId: contacts_read | |
parameters: | |
- description: Get by id | |
in: path | |
name: id | |
required: true | |
schema: | |
description: '' | |
title: '' | |
type: string | |
responses: | |
'200': | |
content: | |
application/json: | |
schema: | |
$ref: '#/components/schemas/contact' | |
description: Polymorphic Contact | |
'401': | |
content: | |
application/json: | |
schema: | |
allOf: | |
- $ref: '#/components/schemas/problem' | |
- properties: | |
status: | |
example: 401 | |
title: | |
example: Authentication Credentials Invalid | |
type: | |
enum: | |
- http://localhost:8000/api/docs/v1/problems/authentication-error | |
- http://localhost:8000/api/docs/v1/problems/signature-expired | |
type: string | |
type: object | |
type: object | |
description: Authentication | |
'403': | |
content: | |
application/json: | |
schema: | |
allOf: | |
- $ref: '#/components/schemas/problem' | |
- properties: | |
status: | |
example: 403 | |
title: | |
example: You do not have permission to perform this action. | |
type: | |
enum: | |
- http://localhost:8000/api/docs/v1/problems/permission-denied | |
type: string | |
type: object | |
type: object | |
description: PermissionDenied | |
'404': | |
content: | |
application/json: | |
schema: | |
allOf: | |
- $ref: '#/components/schemas/problem' | |
- properties: | |
status: | |
example: 404 | |
title: | |
example: Not found. | |
type: | |
enum: | |
- http://localhost:8000/api/docs/v1/problems/not-found | |
type: string | |
type: object | |
type: object | |
description: NotFound | |
tags: | |
- contacts | |
patch: | |
description: Update parts of a contact | |
operationId: contacts_partial_update | |
parameters: | |
- description: Get by id | |
in: path | |
name: id | |
required: true | |
schema: | |
description: '' | |
title: '' | |
type: string | |
requestBody: | |
content: | |
application/json: | |
schema: | |
$ref: '#/components/schemas/contact-partial' | |
description: '' | |
responses: | |
'200': | |
content: | |
application/json: | |
schema: | |
$ref: '#/components/schemas/contact' | |
description: Polymorphic Contact | |
'400': | |
content: | |
application/json: | |
schema: | |
allOf: | |
- $ref: '#/components/schemas/problem' | |
- properties: | |
status: | |
example: 400 | |
title: | |
example: Some fields did not validate. | |
type: | |
enum: | |
- http://localhost:8000/api/docs/v1/problems/validation-error | |
type: string | |
type: object | |
type: object | |
description: ValidationError | |
'401': | |
content: | |
application/json: | |
schema: | |
allOf: | |
- $ref: '#/components/schemas/problem' | |
- properties: | |
status: | |
example: 401 | |
title: | |
example: Authentication Credentials Invalid | |
type: | |
enum: | |
- http://localhost:8000/api/docs/v1/problems/authentication-error | |
- http://localhost:8000/api/docs/v1/problems/signature-expired | |
type: string | |
type: object | |
type: object | |
description: Authentication | |
'403': | |
content: | |
application/json: | |
schema: | |
allOf: | |
- $ref: '#/components/schemas/problem' | |
- properties: | |
status: | |
example: 403 | |
title: | |
example: You do not have permission to perform this action. | |
type: | |
enum: | |
- http://localhost:8000/api/docs/v1/problems/permission-denied | |
type: string | |
type: object | |
type: object | |
description: PermissionDenied | |
'404': | |
content: | |
application/json: | |
schema: | |
allOf: | |
- $ref: '#/components/schemas/problem' | |
- properties: | |
status: | |
example: 404 | |
title: | |
example: Not found. | |
type: | |
enum: | |
- http://localhost:8000/api/docs/v1/problems/not-found | |
type: string | |
type: object | |
type: object | |
description: NotFound | |
tags: | |
- contacts | |
put: | |
description: Update a contact | |
operationId: contacts_update | |
parameters: | |
- description: Get by id | |
in: path | |
name: id | |
required: true | |
schema: | |
description: '' | |
title: '' | |
type: string | |
requestBody: | |
content: | |
application/json: | |
schema: | |
$ref: '#/components/schemas/contact' | |
description: '' | |
responses: | |
'200': | |
content: | |
application/json: | |
schema: | |
$ref: '#/components/schemas/contact' | |
description: Polymorphic Contact | |
'400': | |
content: | |
application/json: | |
schema: | |
allOf: | |
- $ref: '#/components/schemas/problem' | |
- properties: | |
status: | |
example: 400 | |
title: | |
example: Some fields did not validate. | |
type: | |
enum: | |
- http://localhost:8000/api/docs/v1/problems/validation-error | |
type: string | |
type: object | |
type: object | |
description: ValidationError | |
'401': | |
content: | |
application/json: | |
schema: | |
allOf: | |
- $ref: '#/components/schemas/problem' | |
- properties: | |
status: | |
example: 401 | |
title: | |
example: Authentication Credentials Invalid | |
type: | |
enum: | |
- http://localhost:8000/api/docs/v1/problems/authentication-error | |
- http://localhost:8000/api/docs/v1/problems/signature-expired | |
type: string | |
type: object | |
type: object | |
description: Authentication | |
'403': | |
content: | |
application/json: | |
schema: | |
allOf: | |
- $ref: '#/components/schemas/problem' | |
- properties: | |
status: | |
example: 403 | |
title: | |
example: You do not have permission to perform this action. | |
type: | |
enum: | |
- http://localhost:8000/api/docs/v1/problems/permission-denied | |
type: string | |
type: object | |
type: object | |
description: PermissionDenied | |
'404': | |
content: | |
application/json: | |
schema: | |
allOf: | |
- $ref: '#/components/schemas/problem' | |
- properties: | |
status: | |
example: 404 | |
title: | |
example: Not found. | |
type: | |
enum: | |
- http://localhost:8000/api/docs/v1/problems/not-found | |
type: string | |
type: object | |
type: object | |
description: NotFound | |
tags: | |
- contacts | |
/customers: | |
get: | |
description: 'Retrieve a list of customers. | |
This includes all customers the current authorized customer | |
is managing and the current customer itself.' | |
operationId: customers_list | |
parameters: | |
- description: Filter by parent | |
in: query | |
name: parent | |
required: false | |
schema: | |
type: string | |
- description: Filter by external_ref | |
in: query | |
name: external_ref | |
required: false | |
schema: | |
type: string | |
- description: Filter by name | |
in: query | |
name: name | |
required: false | |
schema: | |
type: string | |
- description: Filter by id | |
explode: false | |
in: query | |
name: id | |
required: false | |
schema: | |
example: id1,id2,id3 | |
items: | |
type: string | |
type: array | |
style: form | |
- description: Filter by state | |
in: query | |
name: state | |
required: false | |
schema: | |
type: string | |
- description: Filter by state__is_not | |
in: query | |
name: state__is_not | |
required: false | |
schema: | |
type: string | |
responses: | |
'200': | |
content: | |
application/json: | |
schema: | |
items: | |
$ref: '#/components/schemas/customer' | |
type: array | |
description: '' | |
'401': | |
content: | |
application/json: | |
schema: | |
allOf: | |
- $ref: '#/components/schemas/problem' | |
- properties: | |
status: | |
example: 401 | |
title: | |
example: Authentication Credentials Invalid | |
type: | |
enum: | |
- http://localhost:8000/api/docs/v1/problems/authentication-error | |
- http://localhost:8000/api/docs/v1/problems/signature-expired | |
type: string | |
type: object | |
type: object | |
description: Authentication | |
'403': | |
content: | |
application/json: | |
schema: | |
allOf: | |
- $ref: '#/components/schemas/problem' | |
- properties: | |
status: | |
example: 403 | |
title: | |
example: You do not have permission to perform this action. | |
type: | |
enum: | |
- http://localhost:8000/api/docs/v1/problems/permission-denied | |
type: string | |
type: object | |
type: object | |
description: PermissionDenied | |
tags: | |
- customers | |
post: | |
description: 'Create a new customer. | |
Please remember that a customer may require some `contacts` | |
to be created. Otherwise it will stay in an `error` state.' | |
operationId: customers_create | |
requestBody: | |
content: | |
application/json: | |
schema: | |
$ref: '#/components/schemas/customer-input' | |
description: '' | |
responses: | |
'201': | |
content: | |
application/json: | |
schema: | |
$ref: '#/components/schemas/customer' | |
description: Customer | |
'400': | |
content: | |
application/json: | |
schema: | |
allOf: | |
- $ref: '#/components/schemas/problem' | |
- properties: | |
status: | |
example: 400 | |
title: | |
example: Some fields did not validate. | |
type: | |
enum: | |
- http://localhost:8000/api/docs/v1/problems/validation-error | |
type: string | |
type: object | |
type: object | |
description: ValidationError | |
'401': | |
content: | |
application/json: | |
schema: | |
allOf: | |
- $ref: '#/components/schemas/problem' | |
- properties: | |
status: | |
example: 401 | |
title: | |
example: Authentication Credentials Invalid | |
type: | |
enum: | |
- http://localhost:8000/api/docs/v1/problems/authentication-error | |
- http://localhost:8000/api/docs/v1/problems/signature-expired | |
type: string | |
type: object | |
type: object | |
description: Authentication | |
'403': | |
content: | |
application/json: | |
schema: | |
allOf: | |
- $ref: '#/components/schemas/problem' | |
- properties: | |
status: | |
example: 403 | |
title: | |
example: You do not have permission to perform this action. | |
type: | |
enum: | |
- http://localhost:8000/api/docs/v1/problems/permission-denied | |
type: string | |
type: object | |
type: object | |
description: PermissionDenied | |
tags: | |
- customers | |
/customers/{id}: | |
get: | |
description: Get a single customer. | |
operationId: customers_read | |
parameters: | |
- description: Get by id | |
in: path | |
name: id | |
required: true | |
schema: | |
description: '' | |
title: '' | |
type: string | |
responses: | |
'200': | |
content: | |
application/json: | |
schema: | |
$ref: '#/components/schemas/customer' | |
description: Customer | |
'401': | |
content: | |
application/json: | |
schema: | |
allOf: | |
- $ref: '#/components/schemas/problem' | |
- properties: | |
status: | |
example: 401 | |
title: | |
example: Authentication Credentials Invalid | |
type: | |
enum: | |
- http://localhost:8000/api/docs/v1/problems/authentication-error | |
- http://localhost:8000/api/docs/v1/problems/signature-expired | |
type: string | |
type: object | |
type: object | |
description: Authentication | |
'403': | |
content: | |
application/json: | |
schema: | |
allOf: | |
- $ref: '#/components/schemas/problem' | |
- properties: | |
status: | |
example: 403 | |
title: | |
example: You do not have permission to perform this action. | |
type: | |
enum: | |
- http://localhost:8000/api/docs/v1/problems/permission-denied | |
type: string | |
type: object | |
type: object | |
description: PermissionDenied | |
'404': | |
content: | |
application/json: | |
schema: | |
allOf: | |
- $ref: '#/components/schemas/problem' | |
- properties: | |
status: | |
example: 404 | |
title: | |
example: Not found. | |
type: | |
enum: | |
- http://localhost:8000/api/docs/v1/problems/not-found | |
type: string | |
type: object | |
type: object | |
description: NotFound | |
tags: | |
- customers | |
patch: | |
description: Update some fields of a customer. | |
operationId: customers_partial_update | |
parameters: | |
- description: Get by id | |
in: path | |
name: id | |
required: true | |
schema: | |
description: '' | |
title: '' | |
type: string | |
requestBody: | |
content: | |
application/json: | |
schema: | |
$ref: '#/components/schemas/customer-update-partial' | |
description: '' | |
responses: | |
'200': | |
content: | |
application/json: | |
schema: | |
$ref: '#/components/schemas/customer' | |
description: Customer | |
'400': | |
content: | |
application/json: | |
schema: | |
allOf: | |
- $ref: '#/components/schemas/problem' | |
- properties: | |
status: | |
example: 400 | |
title: | |
example: Some fields did not validate. | |
type: | |
enum: | |
- http://localhost:8000/api/docs/v1/problems/validation-error | |
type: string | |
type: object | |
type: object | |
description: ValidationError | |
'401': | |
content: | |
application/json: | |
schema: | |
allOf: | |
- $ref: '#/components/schemas/problem' | |
- properties: | |
status: | |
example: 401 | |
title: | |
example: Signature Expired Error | |
type: | |
enum: | |
- http://localhost:8000/api/docs/v1/problems/signature-expired | |
- http://localhost:8000/api/docs/v1/problems/authentication-error | |
type: string | |
type: object | |
type: object | |
description: SignatureExpired | |
'403': | |
content: | |
application/json: | |
schema: | |
allOf: | |
- $ref: '#/components/schemas/problem' | |
- properties: | |
status: | |
example: 403 | |
title: | |
example: You do not have permission to perform this action. | |
type: | |
enum: | |
- http://localhost:8000/api/docs/v1/problems/permission-denied | |
type: string | |
type: object | |
type: object | |
description: PermissionDenied | |
'404': | |
content: | |
application/json: | |
schema: | |
allOf: | |
- $ref: '#/components/schemas/problem' | |
- properties: | |
status: | |
example: 404 | |
title: | |
example: Not found. | |
type: | |
enum: | |
- http://localhost:8000/api/docs/v1/problems/not-found | |
type: string | |
type: object | |
type: object | |
description: NotFound | |
tags: | |
- customers | |
put: | |
description: Update a customer. | |
operationId: customers_update | |
parameters: | |
- description: Get by id | |
in: path | |
name: id | |
required: true | |
schema: | |
description: '' | |
title: '' | |
type: string | |
requestBody: | |
content: | |
application/json: | |
schema: | |
$ref: '#/components/schemas/customer-update' | |
description: '' | |
responses: | |
'200': | |
content: | |
application/json: | |
schema: | |
$ref: '#/components/schemas/customer' | |
description: Customer | |
'400': | |
content: | |
application/json: | |
schema: | |
allOf: | |
- $ref: '#/components/schemas/problem' | |
- properties: | |
status: | |
example: 400 | |
title: | |
example: Some fields did not validate. | |
type: | |
enum: | |
- http://localhost:8000/api/docs/v1/problems/validation-error | |
type: string | |
type: object | |
type: object | |
description: ValidationError | |
'401': | |
content: | |
application/json: | |
schema: | |
allOf: | |
- $ref: '#/components/schemas/problem' | |
- properties: | |
status: | |
example: 401 | |
title: | |
example: Authentication Credentials Invalid | |
type: | |
enum: | |
- http://localhost:8000/api/docs/v1/problems/authentication-error | |
- http://localhost:8000/api/docs/v1/problems/signature-expired | |
type: string | |
type: object | |
type: object | |
description: Authentication | |
'403': | |
content: | |
application/json: | |
schema: | |
allOf: | |
- $ref: '#/components/schemas/problem' | |
- properties: | |
status: | |
example: 403 | |
title: | |
example: You do not have permission to perform this action. | |
type: | |
enum: | |
- http://localhost:8000/api/docs/v1/problems/permission-denied | |
type: string | |
type: object | |
type: object | |
description: PermissionDenied | |
'404': | |
content: | |
application/json: | |
schema: | |
allOf: | |
- $ref: '#/components/schemas/problem' | |
- properties: | |
status: | |
example: 404 | |
title: | |
example: Not found. | |
type: | |
enum: | |
- http://localhost:8000/api/docs/v1/problems/not-found | |
type: string | |
type: object | |
type: object | |
description: NotFound | |
tags: | |
- customers | |
/demarcs: | |
get: | |
description: List all `demarc`s. | |
operationId: demarcs_list | |
parameters: | |
- description: Filter by name | |
in: query | |
name: name | |
required: false | |
schema: | |
type: string | |
- description: Filter by external_ref | |
in: query | |
name: external_ref | |
required: false | |
schema: | |
type: string | |
- description: Filter by speed | |
in: query | |
name: speed | |
required: false | |
schema: | |
type: integer | |
- description: Filter by connection | |
in: query | |
name: connection | |
required: false | |
schema: | |
type: string | |
- description: Filter by managing_customer | |
in: query | |
name: managing_customer | |
required: false | |
schema: | |
type: string | |
- description: Filter by consuming_customer | |
in: query | |
name: consuming_customer | |
required: false | |
schema: | |
type: string | |
- description: Filter by purchase_order | |
in: query | |
name: purchase_order | |
required: false | |
schema: | |
type: string | |
- description: Filter by contract_ref | |
in: query | |
name: contract_ref | |
required: false | |
schema: | |
type: string | |
- description: Filter by id | |
explode: false | |
in: query | |
name: id | |
required: false | |
schema: | |
example: id1,id2,id3 | |
items: | |
type: string | |
type: array | |
style: form | |
- description: 'Filter by state | |
' | |
example: production | |
in: query | |
name: state | |
required: false | |
schema: | |
type: string | |
- description: 'Filter by media type (e.g. 10GBASE-LR") | |
' | |
example: 10GBASE-LR | |
in: query | |
name: media_type | |
required: false | |
schema: | |
type: string | |
- description: 'Filter elements not in a specific state. | |
' | |
example: error | |
in: query | |
name: state__is_not | |
required: false | |
schema: | |
type: string | |
- description: 'Filter by point of presence (PoP). | |
' | |
example: '23' | |
in: query | |
name: pop | |
required: false | |
schema: | |
type: string | |
responses: | |
'200': | |
content: | |
application/json: | |
schema: | |
items: | |
$ref: '#/components/schemas/demarcation-point' | |
type: array | |
description: '' | |
'401': | |
content: | |
application/json: | |
schema: | |
allOf: | |
- $ref: '#/components/schemas/problem' | |
- properties: | |
status: | |
example: 401 | |
title: | |
example: Authentication Credentials Invalid | |
type: | |
enum: | |
- http://localhost:8000/api/docs/v1/problems/authentication-error | |
- http://localhost:8000/api/docs/v1/problems/signature-expired | |
type: string | |
type: object | |
type: object | |
description: Authentication | |
'403': | |
content: | |
application/json: | |
schema: | |
allOf: | |
- $ref: '#/components/schemas/problem' | |
- properties: | |
status: | |
example: 403 | |
title: | |
example: You do not have permission to perform this action. | |
type: | |
enum: | |
- http://localhost:8000/api/docs/v1/problems/permission-denied | |
type: string | |
type: object | |
type: object | |
description: PermissionDenied | |
tags: | |
- demarcs | |
/demarcs/{id}: | |
get: | |
description: Read a `demarc`. | |
operationId: demarcs_read | |
parameters: | |
- description: Get by id | |
in: path | |
name: id | |
required: true | |
schema: | |
description: '' | |
title: '' | |
type: string | |
responses: | |
'200': | |
content: | |
application/json: | |
schema: | |
$ref: '#/components/schemas/demarcation-point' | |
description: Demarc | |
'401': | |
content: | |
application/json: | |
schema: | |
allOf: | |
- $ref: '#/components/schemas/problem' | |
- properties: | |
status: | |
example: 401 | |
title: | |
example: Authentication Credentials Invalid | |
type: | |
enum: | |
- http://localhost:8000/api/docs/v1/problems/authentication-error | |
- http://localhost:8000/api/docs/v1/problems/signature-expired | |
type: string | |
type: object | |
type: object | |
description: Authentication | |
'403': | |
content: | |
application/json: | |
schema: | |
allOf: | |
- $ref: '#/components/schemas/problem' | |
- properties: | |
status: | |
example: 403 | |
title: | |
example: You do not have permission to perform this action. | |
type: | |
enum: | |
- http://localhost:8000/api/docs/v1/problems/permission-denied | |
type: string | |
type: object | |
type: object | |
description: PermissionDenied | |
'404': | |
content: | |
application/json: | |
schema: | |
allOf: | |
- $ref: '#/components/schemas/problem' | |
- properties: | |
status: | |
example: 404 | |
title: | |
example: Not found. | |
type: | |
enum: | |
- http://localhost:8000/api/docs/v1/problems/not-found | |
type: string | |
type: object | |
type: object | |
description: NotFound | |
tags: | |
- demarcs | |
/devices: | |
get: | |
description: List available devices | |
operationId: devices_list | |
parameters: | |
- description: Filter by name | |
in: query | |
name: name | |
required: false | |
schema: | |
type: string | |
- description: Filter by id | |
explode: false | |
in: query | |
name: id | |
required: false | |
schema: | |
example: id1,id2,id3 | |
items: | |
type: string | |
type: array | |
style: form | |
- description: Filter by capability_media_type | |
in: query | |
name: capability_media_type | |
required: false | |
schema: | |
type: string | |
- description: Filter by capability_speed | |
in: query | |
name: capability_speed | |
required: false | |
schema: | |
type: integer | |
- description: Filter by capability_speed__lt | |
in: query | |
name: capability_speed__lt | |
required: false | |
schema: | |
type: integer | |
- description: Filter by capability_speed__lte | |
in: query | |
name: capability_speed__lte | |
required: false | |
schema: | |
type: integer | |
- description: Filter by capability_speed__gt | |
in: query | |
name: capability_speed__gt | |
required: false | |
schema: | |
type: integer | |
- description: Filter by capability_speed__gte | |
in: query | |
name: capability_speed__gte | |
required: false | |
schema: | |
type: integer | |
- description: Filter by facility | |
in: query | |
name: facility | |
required: false | |
schema: | |
type: string | |
- description: Filter by product | |
in: query | |
name: product | |
required: false | |
schema: | |
type: string | |
responses: | |
'200': | |
content: | |
application/json: | |
schema: | |
items: | |
$ref: '#/components/schemas/device' | |
type: array | |
description: '' | |
'401': | |
content: | |
application/json: | |
schema: | |
allOf: | |
- $ref: '#/components/schemas/problem' | |
- properties: | |
status: | |
example: 401 | |
title: | |
example: Authentication Credentials Invalid | |
type: | |
enum: | |
- http://localhost:8000/api/docs/v1/problems/authentication-error | |
- http://localhost:8000/api/docs/v1/problems/signature-expired | |
type: string | |
type: object | |
type: object | |
description: Authentication | |
'403': | |
content: | |
application/json: | |
schema: | |
allOf: | |
- $ref: '#/components/schemas/problem' | |
- properties: | |
status: | |
example: 403 | |
title: | |
example: You do not have permission to perform this action. | |
type: | |
enum: | |
- http://localhost:8000/api/docs/v1/problems/permission-denied | |
type: string | |
type: object | |
type: object | |
description: PermissionDenied | |
tags: | |
- devices | |
/devices/{id}: | |
get: | |
description: Get a specific device identified by id | |
operationId: devices_read | |
parameters: | |
- description: Get by id | |
in: path | |
name: id | |
required: true | |
schema: | |
description: '' | |
title: '' | |
type: string | |
responses: | |
'200': | |
content: | |
application/json: | |
schema: | |
$ref: '#/components/schemas/device' | |
description: Device | |
'401': | |
content: | |
application/json: | |
schema: | |
allOf: | |
- $ref: '#/components/schemas/problem' | |
- properties: | |
status: | |
example: 401 | |
title: | |
example: Authentication Credentials Invalid | |
type: | |
enum: | |
- http://localhost:8000/api/docs/v1/problems/authentication-error | |
- http://localhost:8000/api/docs/v1/problems/signature-expired | |
type: string | |
type: object | |
type: object | |
description: Authentication | |
'403': | |
content: | |
application/json: | |
schema: | |
allOf: | |
- $ref: '#/components/schemas/problem' | |
- properties: | |
status: | |
example: 403 | |
title: | |
example: You do not have permission to perform this action. | |
type: | |
enum: | |
- http://localhost:8000/api/docs/v1/problems/permission-denied | |
type: string | |
type: object | |
type: object | |
description: PermissionDenied | |
'404': | |
content: | |
application/json: | |
schema: | |
allOf: | |
- $ref: '#/components/schemas/problem' | |
- properties: | |
status: | |
example: 404 | |
title: | |
example: Not found. | |
type: | |
enum: | |
- http://localhost:8000/api/docs/v1/problems/not-found | |
type: string | |
type: object | |
type: object | |
description: NotFound | |
tags: | |
- devices | |
/facilities: | |
get: | |
description: Get a (filtered) list of `facilities`. | |
operationId: facilities_list | |
parameters: | |
- description: Filter by metro_area | |
in: query | |
name: metro_area | |
required: false | |
schema: | |
type: string | |
- description: Filter by address_country | |
in: query | |
name: address_country | |
required: false | |
schema: | |
type: string | |
- description: Filter by address_locality | |
in: query | |
name: address_locality | |
required: false | |
schema: | |
type: string | |
- description: Filter by postal_code | |
in: query | |
name: postal_code | |
required: false | |
schema: | |
type: string | |
- description: Filter by id | |
explode: false | |
in: query | |
name: id | |
required: false | |
schema: | |
example: id1,id2,id3 | |
items: | |
type: string | |
type: array | |
style: form | |
- description: Filter by cluster | |
in: query | |
name: cluster | |
required: false | |
schema: | |
type: string | |
- description: Filter by device | |
in: query | |
name: device | |
required: false | |
schema: | |
type: string | |
- description: Filter by capability_speed | |
in: query | |
name: capability_speed | |
required: false | |
schema: | |
type: integer | |
- description: Filter by capability_speed__lt | |
in: query | |
name: capability_speed__lt | |
required: false | |
schema: | |
type: integer | |
- description: Filter by capability_speed__lte | |
in: query | |
name: capability_speed__lte | |
required: false | |
schema: | |
type: integer | |
- description: Filter by capability_speed__gt | |
in: query | |
name: capability_speed__gt | |
required: false | |
schema: | |
type: integer | |
- description: Filter by capability_speed__gte | |
in: query | |
name: capability_speed__gte | |
required: false | |
schema: | |
type: integer | |
- description: Filter by organisation_name | |
in: query | |
name: organisation_name | |
required: false | |
schema: | |
type: string | |
responses: | |
'200': | |
content: | |
application/json: | |
schema: | |
items: | |
$ref: '#/components/schemas/facility' | |
type: array | |
description: '' | |
'401': | |
content: | |
application/json: | |
schema: | |
allOf: | |
- $ref: '#/components/schemas/problem' | |
- properties: | |
status: | |
example: 401 | |
title: | |
example: Authentication Credentials Invalid | |
type: | |
enum: | |
- http://localhost:8000/api/docs/v1/problems/authentication-error | |
- http://localhost:8000/api/docs/v1/problems/signature-expired | |
type: string | |
type: object | |
type: object | |
description: Authentication | |
'403': | |
content: | |
application/json: | |
schema: | |
allOf: | |
- $ref: '#/components/schemas/problem' | |
- properties: | |
status: | |
example: 403 | |
title: | |
example: You do not have permission to perform this action. | |
type: | |
enum: | |
- http://localhost:8000/api/docs/v1/problems/permission-denied | |
type: string | |
type: object | |
type: object | |
description: PermissionDenied | |
tags: | |
- facilities | |
/facilities/{id}: | |
get: | |
description: Retrieve a facility by id | |
operationId: facilities_read | |
parameters: | |
- description: Get by id | |
in: path | |
name: id | |
required: true | |
schema: | |
description: '' | |
title: '' | |
type: string | |
responses: | |
'200': | |
content: | |
application/json: | |
schema: | |
$ref: '#/components/schemas/facility' | |
description: Facility | |
'401': | |
content: | |
application/json: | |
schema: | |
allOf: | |
- $ref: '#/components/schemas/problem' | |
- properties: | |
status: | |
example: 401 | |
title: | |
example: Authentication Credentials Invalid | |
type: | |
enum: | |
- http://localhost:8000/api/docs/v1/problems/authentication-error | |
- http://localhost:8000/api/docs/v1/problems/signature-expired | |
type: string | |
type: object | |
type: object | |
description: Authentication | |
'403': | |
content: | |
application/json: | |
schema: | |
allOf: | |
- $ref: '#/components/schemas/problem' | |
- properties: | |
status: | |
example: 403 | |
title: | |
example: You do not have permission to perform this action. | |
type: | |
enum: | |
- http://localhost:8000/api/docs/v1/problems/permission-denied | |
type: string | |
type: object | |
type: object | |
description: PermissionDenied | |
'404': | |
content: | |
application/json: | |
schema: | |
allOf: | |
- $ref: '#/components/schemas/problem' | |
- properties: | |
status: | |
example: 404 | |
title: | |
example: Not found. | |
type: | |
enum: | |
- http://localhost:8000/api/docs/v1/problems/not-found | |
type: string | |
type: object | |
type: object | |
description: NotFound | |
tags: | |
- facilities | |
/ips: | |
get: | |
description: List all ip addresses (and prefixes) | |
operationId: ips_list | |
parameters: | |
- description: Filter by fqdn | |
in: query | |
name: fqdn | |
required: false | |
schema: | |
type: string | |
- description: Filter by version | |
in: query | |
name: version | |
required: false | |
schema: | |
type: integer | |
- description: Filter by prefix_length | |
in: query | |
name: prefix_length | |
required: false | |
schema: | |
type: integer | |
- description: Filter by valid_not_before | |
in: query | |
name: valid_not_before | |
required: false | |
schema: | |
format: date-time | |
type: string | |
- description: Filter by valid_not_after | |
in: query | |
name: valid_not_after | |
required: false | |
schema: | |
format: date-time | |
type: string | |
- description: Filter by exchange_lan_network_service | |
in: query | |
name: exchange_lan_network_service | |
required: false | |
schema: | |
type: string | |
- description: Filter by route_server_network_feature | |
in: query | |
name: route_server_network_feature | |
required: false | |
schema: | |
type: string | |
- description: Filter by ixp_router_network_feature | |
in: query | |
name: ixp_router_network_feature | |
required: false | |
schema: | |
type: string | |
- description: Filter by exchange_lan_network_service_config | |
in: query | |
name: exchange_lan_network_service_config | |
required: false | |
schema: | |
type: string | |
- description: Filter by blackholing_network_feature_config | |
in: query | |
name: blackholing_network_feature_config | |
required: false | |
schema: | |
type: string | |
- description: Filter by managing_customer | |
in: query | |
name: managing_customer | |
required: false | |
schema: | |
type: string | |
- description: Filter by consuming_customer | |
in: query | |
name: consuming_customer | |
required: false | |
schema: | |
type: string | |
- description: Filter by id | |
explode: false | |
in: query | |
name: id | |
required: false | |
schema: | |
example: id1,id2,id3 | |
items: | |
type: string | |
type: array | |
style: form | |
- description: Filter by network_service | |
in: query | |
name: network_service | |
required: false | |
schema: | |
type: string | |
- description: Filter by network_service_config | |
in: query | |
name: network_service_config | |
required: false | |
schema: | |
type: string | |
- description: Filter by network_feature | |
in: query | |
name: network_feature | |
required: false | |
schema: | |
type: string | |
- description: Filter by network_feature_config | |
in: query | |
name: network_feature_config | |
required: false | |
schema: | |
type: string | |
responses: | |
'200': | |
content: | |
application/json: | |
schema: | |
items: | |
$ref: '#/components/schemas/ip-address' | |
type: array | |
description: '' | |
'401': | |
content: | |
application/json: | |
schema: | |
allOf: | |
- $ref: '#/components/schemas/problem' | |
- properties: | |
status: | |
example: 401 | |
title: | |
example: Authentication Credentials Invalid | |
type: | |
enum: | |
- http://localhost:8000/api/docs/v1/problems/authentication-error | |
- http://localhost:8000/api/docs/v1/problems/signature-expired | |
type: string | |
type: object | |
type: object | |
description: Authentication | |
'403': | |
content: | |
application/json: | |
schema: | |
allOf: | |
- $ref: '#/components/schemas/problem' | |
- properties: | |
status: | |
example: 403 | |
title: | |
example: You do not have permission to perform this action. | |
type: | |
enum: | |
- http://localhost:8000/api/docs/v1/problems/permission-denied | |
type: string | |
type: object | |
type: object | |
description: PermissionDenied | |
tags: | |
- ips | |
/ips/{id}: | |
get: | |
description: Get a signle ip addresses object. | |
operationId: ips_read | |
parameters: | |
- description: Get by id | |
in: path | |
name: id | |
required: true | |
schema: | |
description: '' | |
title: '' | |
type: string | |
responses: | |
'200': | |
content: | |
application/json: | |
schema: | |
$ref: '#/components/schemas/ip-address' | |
description: IP-Address | |
'401': | |
content: | |
application/json: | |
schema: | |
allOf: | |
- $ref: '#/components/schemas/problem' | |
- properties: | |
status: | |
example: 401 | |
title: | |
example: Authentication Credentials Invalid | |
type: | |
enum: | |
- http://localhost:8000/api/docs/v1/problems/authentication-error | |
- http://localhost:8000/api/docs/v1/problems/signature-expired | |
type: string | |
type: object | |
type: object | |
description: Authentication | |
'403': | |
content: | |
application/json: | |
schema: | |
allOf: | |
- $ref: '#/components/schemas/problem' | |
- properties: | |
status: | |
example: 403 | |
title: | |
example: You do not have permission to perform this action. | |
type: | |
enum: | |
- http://localhost:8000/api/docs/v1/problems/permission-denied | |
type: string | |
type: object | |
type: object | |
description: PermissionDenied | |
'404': | |
content: | |
application/json: | |
schema: | |
allOf: | |
- $ref: '#/components/schemas/problem' | |
- properties: | |
status: | |
example: 404 | |
title: | |
example: Not found. | |
type: | |
enum: | |
- http://localhost:8000/api/docs/v1/problems/not-found | |
type: string | |
type: object | |
type: object | |
description: NotFound | |
tags: | |
- ips | |
patch: | |
description: 'Update parts of an ip address. | |
As with the `PUT` opertaion, IP addresses, where you | |
don''t have update rights, will yield a `resource access denied` | |
error when attempting an update.' | |
operationId: ips_partial_update | |
parameters: | |
- description: Get by id | |
in: path | |
name: id | |
required: true | |
schema: | |
description: '' | |
title: '' | |
type: string | |
requestBody: | |
content: | |
application/json: | |
schema: | |
$ref: '#/components/schemas/ip-address-partial' | |
description: '' | |
responses: | |
'200': | |
content: | |
application/json: | |
schema: | |
$ref: '#/components/schemas/ip-address' | |
description: IP-Address | |
'400': | |
content: | |
application/json: | |
schema: | |
allOf: | |
- $ref: '#/components/schemas/problem' | |
- properties: | |
status: | |
example: 400 | |
title: | |
example: Some fields did not validate. | |
type: | |
enum: | |
- http://localhost:8000/api/docs/v1/problems/validation-error | |
type: string | |
type: object | |
type: object | |
description: ValidationError | |
'401': | |
content: | |
application/json: | |
schema: | |
allOf: | |
- $ref: '#/components/schemas/problem' | |
- properties: | |
status: | |
example: 401 | |
title: | |
example: Authentication Credentials Invalid | |
type: | |
enum: | |
- http://localhost:8000/api/docs/v1/problems/authentication-error | |
- http://localhost:8000/api/docs/v1/problems/signature-expired | |
type: string | |
type: object | |
type: object | |
description: Authentication | |
'403': | |
content: | |
application/json: | |
schema: | |
allOf: | |
- $ref: '#/components/schemas/problem' | |
- properties: | |
status: | |
example: 403 | |
title: | |
example: You do not have permission to perform this action. | |
type: | |
enum: | |
- http://localhost:8000/api/docs/v1/problems/permission-denied | |
type: string | |
type: object | |
type: object | |
description: PermissionDenied | |
'404': | |
content: | |
application/json: | |
schema: | |
allOf: | |
- $ref: '#/components/schemas/problem' | |
- properties: | |
status: | |
example: 404 | |
title: | |
example: Not found. | |
type: | |
enum: | |
- http://localhost:8000/api/docs/v1/problems/not-found | |
type: string | |
type: object | |
type: object | |
description: NotFound | |
tags: | |
- ips | |
put: | |
description: 'Update an ip address object. | |
You can only update | |
IP addresses within your current scope. Not all | |
addresses you can read you can update.' | |
operationId: ips_update | |
parameters: | |
- description: Get by id | |
in: path | |
name: id | |
required: true | |
schema: | |
description: '' | |
title: '' | |
type: string | |
requestBody: | |
content: | |
application/json: | |
schema: | |
$ref: '#/components/schemas/ip-address' | |
description: '' | |
responses: | |
'200': | |
content: | |
application/json: | |
schema: | |
$ref: '#/components/schemas/ip-address' | |
description: IP-Address | |
'400': | |
content: | |
application/json: | |
schema: | |
allOf: | |
- $ref: '#/components/schemas/problem' | |
- properties: | |
status: | |
example: 400 | |
title: | |
example: Some fields did not validate. | |
type: | |
enum: | |
- http://localhost:8000/api/docs/v1/problems/validation-error | |
type: string | |
type: object | |
type: object | |
description: ValidationError | |
'401': | |
content: | |
application/json: | |
schema: | |
allOf: | |
- $ref: '#/components/schemas/problem' | |
- properties: | |
status: | |
example: 401 | |
title: | |
example: Authentication Credentials Invalid | |
type: | |
enum: | |
- http://localhost:8000/api/docs/v1/problems/authentication-error | |
- http://localhost:8000/api/docs/v1/problems/signature-expired | |
type: string | |
type: object | |
type: object | |
description: Authentication | |
'403': | |
content: | |
application/json: | |
schema: | |
allOf: | |
- $ref: '#/components/schemas/problem' | |
- properties: | |
status: | |
example: 403 | |
title: | |
example: You do not have permission to perform this action. | |
type: | |
enum: | |
- http://localhost:8000/api/docs/v1/problems/permission-denied | |
type: string | |
type: object | |
type: object | |
description: PermissionDenied | |
'404': | |
content: | |
application/json: | |
schema: | |
allOf: | |
- $ref: '#/components/schemas/problem' | |
- properties: | |
status: | |
example: 404 | |
title: | |
example: Not found. | |
type: | |
enum: | |
- http://localhost:8000/api/docs/v1/problems/not-found | |
type: string | |
type: object | |
type: object | |
description: NotFound | |
tags: | |
- ips | |
/macs: | |
get: | |
description: List all mac addresses managed by the authorized customer. | |
operationId: macs_list | |
parameters: | |
- description: Filter by address | |
in: query | |
name: address | |
required: false | |
schema: | |
type: string | |
- description: Filter by assigned_at | |
in: query | |
name: assigned_at | |
required: false | |
schema: | |
format: date-time | |
type: string | |
- description: Filter by valid_not_before | |
in: query | |
name: valid_not_before | |
required: false | |
schema: | |
format: date-time | |
type: string | |
- description: Filter by valid_not_after | |
in: query | |
name: valid_not_after | |
required: false | |
schema: | |
format: date-time | |
type: string | |
- description: Filter by managing_customer | |
in: query | |
name: managing_customer | |
required: false | |
schema: | |
type: string | |
- description: Filter by consuming_customer | |
in: query | |
name: consuming_customer | |
required: false | |
schema: | |
type: string | |
- description: Filter by id | |
explode: false | |
in: query | |
name: id | |
required: false | |
schema: | |
example: id1,id2,id3 | |
items: | |
type: string | |
type: array | |
style: form | |
- description: Filter by network_service_config | |
in: query | |
name: network_service_config | |
required: false | |
schema: | |
type: string | |
responses: | |
'200': | |
content: | |
application/json: | |
schema: | |
items: | |
$ref: '#/components/schemas/mac-address' | |
type: array | |
description: '' | |
'401': | |
content: | |
application/json: | |
schema: | |
allOf: | |
- $ref: '#/components/schemas/problem' | |
- properties: | |
status: | |
example: 401 | |
title: | |
example: Authentication Credentials Invalid | |
type: | |
enum: | |
- http://localhost:8000/api/docs/v1/problems/authentication-error | |
- http://localhost:8000/api/docs/v1/problems/signature-expired | |
type: string | |
type: object | |
type: object | |
description: Authentication | |
'403': | |
content: | |
application/json: | |
schema: | |
allOf: | |
- $ref: '#/components/schemas/problem' | |
- properties: | |
status: | |
example: 403 | |
title: | |
example: You do not have permission to perform this action. | |
type: | |
enum: | |
- http://localhost:8000/api/docs/v1/problems/permission-denied | |
type: string | |
type: object | |
type: object | |
description: PermissionDenied | |
tags: | |
- macs | |
post: | |
description: Create a new mac address. | |
operationId: macs_create | |
requestBody: | |
content: | |
application/json: | |
schema: | |
$ref: '#/components/schemas/mac-address' | |
description: '' | |
responses: | |
'201': | |
content: | |
application/json: | |
schema: | |
$ref: '#/components/schemas/mac-address' | |
description: MAC-Address | |
'400': | |
content: | |
application/json: | |
schema: | |
allOf: | |
- $ref: '#/components/schemas/problem' | |
- properties: | |
status: | |
example: 400 | |
title: | |
example: Some fields did not validate. | |
type: | |
enum: | |
- http://localhost:8000/api/docs/v1/problems/validation-error | |
type: string | |
type: object | |
type: object | |
description: ValidationError | |
'401': | |
content: | |
application/json: | |
schema: | |
allOf: | |
- $ref: '#/components/schemas/problem' | |
- properties: | |
status: | |
example: 401 | |
title: | |
example: Authentication Credentials Invalid | |
type: | |
enum: | |
- http://localhost:8000/api/docs/v1/problems/authentication-error | |
- http://localhost:8000/api/docs/v1/problems/signature-expired | |
type: string | |
type: object | |
type: object | |
description: Authentication | |
'403': | |
content: | |
application/json: | |
schema: | |
allOf: | |
- $ref: '#/components/schemas/problem' | |
- properties: | |
status: | |
example: 403 | |
title: | |
example: You do not have permission to perform this action. | |
type: | |
enum: | |
- http://localhost:8000/api/docs/v1/problems/permission-denied | |
type: string | |
type: object | |
type: object | |
description: PermissionDenied | |
tags: | |
- macs | |
/macs/{id}: | |
delete: | |
description: Remove a mac address | |
operationId: macs_delete | |
parameters: | |
- description: Get by id | |
in: path | |
name: id | |
required: true | |
schema: | |
description: '' | |
title: '' | |
type: string | |
responses: | |
'200': | |
content: | |
application/json: | |
schema: | |
$ref: '#/components/schemas/mac-address' | |
description: MAC-Address | |
'401': | |
content: | |
application/json: | |
schema: | |
allOf: | |
- $ref: '#/components/schemas/problem' | |
- properties: | |
status: | |
example: 401 | |
title: | |
example: Authentication Credentials Invalid | |
type: | |
enum: | |
- http://localhost:8000/api/docs/v1/problems/authentication-error | |
- http://localhost:8000/api/docs/v1/problems/signature-expired | |
type: string | |
type: object | |
type: object | |
description: Authentication | |
'403': | |
content: | |
application/json: | |
schema: | |
allOf: | |
- $ref: '#/components/schemas/problem' | |
- properties: | |
status: | |
example: 403 | |
title: | |
example: You do not have permission to perform this action. | |
type: | |
enum: | |
- http://localhost:8000/api/docs/v1/problems/permission-denied | |
type: string | |
type: object | |
type: object | |
description: PermissionDenied | |
'404': | |
content: | |
application/json: | |
schema: | |
allOf: | |
- $ref: '#/components/schemas/problem' | |
- properties: | |
status: | |
example: 404 | |
title: | |
example: Not found. | |
type: | |
enum: | |
- http://localhost:8000/api/docs/v1/problems/not-found | |
type: string | |
type: object | |
type: object | |
description: NotFound | |
tags: | |
- macs | |
get: | |
description: Get a signle mac address by id | |
operationId: macs_read | |
parameters: | |
- description: Get by id | |
in: path | |
name: id | |
required: true | |
schema: | |
description: '' | |
title: '' | |
type: string | |
responses: | |
'200': | |
content: | |
application/json: | |
schema: | |
$ref: '#/components/schemas/mac-address' | |
description: MAC-Address | |
'401': | |
content: | |
application/json: | |
schema: | |
allOf: | |
- $ref: '#/components/schemas/problem' | |
- properties: | |
status: | |
example: 401 | |
title: | |
example: Authentication Credentials Invalid | |
type: | |
enum: | |
- http://localhost:8000/api/docs/v1/problems/authentication-error | |
- http://localhost:8000/api/docs/v1/problems/signature-expired | |
type: string | |
type: object | |
type: object | |
description: Authentication | |
'403': | |
content: | |
application/json: | |
schema: | |
allOf: | |
- $ref: '#/components/schemas/problem' | |
- properties: | |
status: | |
example: 403 | |
title: | |
example: You do not have permission to perform this action. | |
type: | |
enum: | |
- http://localhost:8000/api/docs/v1/problems/permission-denied | |
type: string | |
type: object | |
type: object | |
description: PermissionDenied | |
'404': | |
content: | |
application/json: | |
schema: | |
allOf: | |
- $ref: '#/components/schemas/problem' | |
- properties: | |
status: | |
example: 404 | |
title: | |
example: Not found. | |
type: | |
enum: | |
- http://localhost:8000/api/docs/v1/problems/not-found | |
type: string | |
type: object | |
type: object | |
description: NotFound | |
tags: | |
- macs | |
/network-feature-configs: | |
get: | |
description: Get all network feature configs. | |
operationId: network-feature-configs_list | |
parameters: | |
- description: Filter by network_feature | |
in: query | |
name: network_feature | |
required: false | |
schema: | |
type: string | |
- description: Filter by purchase_order | |
in: query | |
name: purchase_order | |
required: false | |
schema: | |
type: string | |
- description: Filter by contract_ref | |
in: query | |
name: contract_ref | |
required: false | |
schema: | |
type: string | |
- description: Filter by external_ref | |
in: query | |
name: external_ref | |
required: false | |
schema: | |
type: string | |
- description: Filter by managing_customer | |
in: query | |
name: managing_customer | |
required: false | |
schema: | |
type: string | |
- description: Filter by consuming_customer | |
in: query | |
name: consuming_customer | |
required: false | |
schema: | |
type: string | |
- description: Filter by id | |
explode: false | |
in: query | |
name: id | |
required: false | |
schema: | |
example: id1,id2,id3 | |
items: | |
type: string | |
type: array | |
style: form | |
- description: Filter by state | |
in: query | |
name: state | |
required: false | |
schema: | |
type: string | |
- description: Filter by state__is_not | |
in: query | |
name: state__is_not | |
required: false | |
schema: | |
type: string | |
- description: Filter by service_config | |
in: query | |
name: service_config | |
required: false | |
schema: | |
type: string | |
- description: Filter by type | |
in: query | |
name: type | |
required: false | |
schema: | |
enum: | |
- route_server | |
type: string | |
responses: | |
'200': | |
content: | |
application/json: | |
schema: | |
items: | |
$ref: '#/components/schemas/network-feature-config' | |
type: array | |
description: '' | |
'401': | |
content: | |
application/json: | |
schema: | |
allOf: | |
- $ref: '#/components/schemas/problem' | |
- properties: | |
status: | |
example: 401 | |
title: | |
example: Authentication Credentials Invalid | |
type: | |
enum: | |
- http://localhost:8000/api/docs/v1/problems/authentication-error | |
- http://localhost:8000/api/docs/v1/problems/signature-expired | |
type: string | |
type: object | |
type: object | |
description: Authentication | |
'403': | |
content: | |
application/json: | |
schema: | |
allOf: | |
- $ref: '#/components/schemas/problem' | |
- properties: | |
status: | |
example: 403 | |
title: | |
example: You do not have permission to perform this action. | |
type: | |
enum: | |
- http://localhost:8000/api/docs/v1/problems/permission-denied | |
type: string | |
type: object | |
type: object | |
description: PermissionDenied | |
tags: | |
- network-feature-configs | |
post: | |
description: 'Create a new feature configuration. | |
Remeber to provide a feature `type` and the id of the | |
`network_feature` you want to configure. | |
Additionally you have to provide the `network_service_config` | |
where you want to use the network feature. | |
You can query the available features from the | |
`/api/v1/network-features` resource.' | |
operationId: network-feature-configs_create | |
requestBody: | |
content: | |
application/json: | |
schema: | |
$ref: '#/components/schemas/network-feature-config-input' | |
description: '' | |
responses: | |
'201': | |
content: | |
application/json: | |
schema: | |
$ref: '#/components/schemas/network-feature-config' | |
description: Polymorphic Network Feature Config | |
'400': | |
content: | |
application/json: | |
schema: | |
allOf: | |
- $ref: '#/components/schemas/problem' | |
- properties: | |
status: | |
example: 400 | |
title: | |
example: Some fields did not validate. | |
type: | |
enum: | |
- http://localhost:8000/api/docs/v1/problems/validation-error | |
type: string | |
type: object | |
type: object | |
description: ValidationError | |
'401': | |
content: | |
application/json: | |
schema: | |
allOf: | |
- $ref: '#/components/schemas/problem' | |
- properties: | |
status: | |
example: 401 | |
title: | |
example: Authentication Credentials Invalid | |
type: | |
enum: | |
- http://localhost:8000/api/docs/v1/problems/authentication-error | |
- http://localhost:8000/api/docs/v1/problems/signature-expired | |
type: string | |
type: object | |
type: object | |
description: Authentication | |
'403': | |
content: | |
application/json: | |
schema: | |
allOf: | |
- $ref: '#/components/schemas/problem' | |
- properties: | |
status: | |
example: 403 | |
title: | |
example: You do not have permission to perform this action. | |
type: | |
enum: | |
- http://localhost:8000/api/docs/v1/problems/permission-denied | |
type: string | |
type: object | |
type: object | |
description: PermissionDenied | |
tags: | |
- network-feature-configs | |
/network-feature-configs/{id}: | |
delete: | |
description: Remove a network feature config | |
operationId: network-feature-configs_delete | |
parameters: | |
- description: Get by id | |
in: path | |
name: id | |
required: true | |
schema: | |
description: '' | |
title: '' | |
type: string | |
responses: | |
'200': | |
content: | |
application/json: | |
schema: | |
$ref: '#/components/schemas/network-feature-config' | |
description: Polymorphic Network Feature Config | |
'401': | |
content: | |
application/json: | |
schema: | |
allOf: | |
- $ref: '#/components/schemas/problem' | |
- properties: | |
status: | |
example: 401 | |
title: | |
example: Authentication Credentials Invalid | |
type: | |
enum: | |
- http://localhost:8000/api/docs/v1/problems/authentication-error | |
- http://localhost:8000/api/docs/v1/problems/signature-expired | |
type: string | |
type: object | |
type: object | |
description: Authentication | |
'403': | |
content: | |
application/json: | |
schema: | |
allOf: | |
- $ref: '#/components/schemas/problem' | |
- properties: | |
status: | |
example: 403 | |
title: | |
example: You do not have permission to perform this action. | |
type: | |
enum: | |
- http://localhost:8000/api/docs/v1/problems/permission-denied | |
type: string | |
type: object | |
type: object | |
description: PermissionDenied | |
'404': | |
content: | |
application/json: | |
schema: | |
allOf: | |
- $ref: '#/components/schemas/problem' | |
- properties: | |
status: | |
example: 404 | |
title: | |
example: Not found. | |
type: | |
enum: | |
- http://localhost:8000/api/docs/v1/problems/not-found | |
type: string | |
type: object | |
type: object | |
description: NotFound | |
tags: | |
- network-feature-configs | |
get: | |
description: Get a single network feature config | |
operationId: network-feature-configs_read | |
parameters: | |
- description: Get by id | |
in: path | |
name: id | |
required: true | |
schema: | |
description: '' | |
title: '' | |
type: string | |
responses: | |
'200': | |
content: | |
application/json: | |
schema: | |
$ref: '#/components/schemas/network-feature-config' | |
description: Polymorphic Network Feature Config | |
'401': | |
content: | |
application/json: | |
schema: | |
allOf: | |
- $ref: '#/components/schemas/problem' | |
- properties: | |
status: | |
example: 401 | |
title: | |
example: Authentication Credentials Invalid | |
type: | |
enum: | |
- http://localhost:8000/api/docs/v1/problems/authentication-error | |
- http://localhost:8000/api/docs/v1/problems/signature-expired | |
type: string | |
type: object | |
type: object | |
description: Authentication | |
'403': | |
content: | |
application/json: | |
schema: | |
allOf: | |
- $ref: '#/components/schemas/problem' | |
- properties: | |
status: | |
example: 403 | |
title: | |
example: You do not have permission to perform this action. | |
type: | |
enum: | |
- http://localhost:8000/api/docs/v1/problems/permission-denied | |
type: string | |
type: object | |
type: object | |
description: PermissionDenied | |
'404': | |
content: | |
application/json: | |
schema: | |
allOf: | |
- $ref: '#/components/schemas/problem' | |
- properties: | |
status: | |
example: 404 | |
title: | |
example: Not found. | |
type: | |
enum: | |
- http://localhost:8000/api/docs/v1/problems/not-found | |
type: string | |
type: object | |
type: object | |
description: NotFound | |
tags: | |
- network-feature-configs | |
patch: | |
description: Update parts of the network feature config | |
operationId: network-feature-configs_partial_update | |
parameters: | |
- description: Get by id | |
in: path | |
name: id | |
required: true | |
schema: | |
description: '' | |
title: '' | |
type: string | |
requestBody: | |
content: | |
application/json: | |
schema: | |
$ref: '#/components/schemas/network-feature-config-update' | |
description: '' | |
responses: | |
'200': | |
content: | |
application/json: | |
schema: | |
$ref: '#/components/schemas/network-feature-config' | |
description: Polymorphic Network Feature Config | |
'400': | |
content: | |
application/json: | |
schema: | |
allOf: | |
- $ref: '#/components/schemas/problem' | |
- properties: | |
status: | |
example: 400 | |
title: | |
example: Some fields did not validate. | |
type: | |
enum: | |
- http://localhost:8000/api/docs/v1/problems/validation-error | |
type: string | |
type: object | |
type: object | |
description: ValidationError | |
'401': | |
content: | |
application/json: | |
schema: | |
allOf: | |
- $ref: '#/components/schemas/problem' | |
- properties: | |
status: | |
example: 401 | |
title: | |
example: Authentication Credentials Invalid | |
type: | |
enum: | |
- http://localhost:8000/api/docs/v1/problems/authentication-error | |
- http://localhost:8000/api/docs/v1/problems/signature-expired | |
type: string | |
type: object | |
type: object | |
description: Authentication | |
'403': | |
content: | |
application/json: | |
schema: | |
allOf: | |
- $ref: '#/components/schemas/problem' | |
- properties: | |
status: | |
example: 403 | |
title: | |
example: You do not have permission to perform this action. | |
type: | |
enum: | |
- http://localhost:8000/api/docs/v1/problems/permission-denied | |
type: string | |
type: object | |
type: object | |
description: PermissionDenied | |
'404': | |
content: | |
application/json: | |
schema: | |
allOf: | |
- $ref: '#/components/schemas/problem' | |
- properties: | |
status: | |
example: 404 | |
title: | |
example: Not found. | |
type: | |
enum: | |
- http://localhost:8000/api/docs/v1/problems/not-found | |
type: string | |
type: object | |
type: object | |
description: NotFound | |
tags: | |
- network-feature-configs | |
put: | |
description: Update a network feature configuration | |
operationId: network-feature-configs_update | |
parameters: | |
- description: Get by id | |
in: path | |
name: id | |
required: true | |
schema: | |
description: '' | |
title: '' | |
type: string | |
requestBody: | |
content: | |
application/json: | |
schema: | |
$ref: '#/components/schemas/network-feature-config-update' | |
description: '' | |
responses: | |
'200': | |
content: | |
application/json: | |
schema: | |
$ref: '#/components/schemas/network-feature-config' | |
description: Polymorphic Network Feature Config | |
'400': | |
content: | |
application/json: | |
schema: | |
allOf: | |
- $ref: '#/components/schemas/problem' | |
- properties: | |
status: | |
example: 400 | |
title: | |
example: Some fields did not validate. | |
type: | |
enum: | |
- http://localhost:8000/api/docs/v1/problems/validation-error | |
type: string | |
type: object | |
type: object | |
description: ValidationError | |
'401': | |
content: | |
application/json: | |
schema: | |
allOf: | |
- $ref: '#/components/schemas/problem' | |
- properties: | |
status: | |
example: 401 | |
title: | |
example: Authentication Credentials Invalid | |
type: | |
enum: | |
- http://localhost:8000/api/docs/v1/problems/authentication-error | |
- http://localhost:8000/api/docs/v1/problems/signature-expired | |
type: string | |
type: object | |
type: object | |
description: Authentication | |
'403': | |
content: | |
application/json: | |
schema: | |
allOf: | |
- $ref: '#/components/schemas/problem' | |
- properties: | |
status: | |
example: 403 | |
title: | |
example: You do not have permission to perform this action. | |
type: | |
enum: | |
- http://localhost:8000/api/docs/v1/problems/permission-denied | |
type: string | |
type: object | |
type: object | |
description: PermissionDenied | |
'404': | |
content: | |
application/json: | |
schema: | |
allOf: | |
- $ref: '#/components/schemas/problem' | |
- properties: | |
status: | |
example: 404 | |
title: | |
example: Not found. | |
type: | |
enum: | |
- http://localhost:8000/api/docs/v1/problems/not-found | |
type: string | |
type: object | |
type: object | |
description: NotFound | |
tags: | |
- network-feature-configs | |
/network-features: | |
get: | |
description: List available network features. | |
operationId: network-features_list | |
parameters: | |
- description: Filter by name | |
in: query | |
name: name | |
required: false | |
schema: | |
type: string | |
- description: Filter by id | |
explode: false | |
in: query | |
name: id | |
required: false | |
schema: | |
example: id1,id2,id3 | |
items: | |
type: string | |
type: array | |
style: form | |
- description: Filter by required | |
in: query | |
name: required | |
required: false | |
schema: | |
type: string | |
- description: Filter by network_service | |
in: query | |
name: network_service | |
required: false | |
schema: | |
type: string | |
- description: Filter by type | |
in: query | |
name: type | |
required: false | |
schema: | |
enum: | |
- route_server | |
type: string | |
responses: | |
'200': | |
content: | |
application/json: | |
schema: | |
items: | |
$ref: '#/components/schemas/network-feature' | |
type: array | |
description: '' | |
'401': | |
content: | |
application/json: | |
schema: | |
allOf: | |
- $ref: '#/components/schemas/problem' | |
- properties: | |
status: | |
example: 401 | |
title: | |
example: Authentication Credentials Invalid | |
type: | |
enum: | |
- http://localhost:8000/api/docs/v1/problems/authentication-error | |
- http://localhost:8000/api/docs/v1/problems/signature-expired | |
type: string | |
type: object | |
type: object | |
description: Authentication | |
'403': | |
content: | |
application/json: | |
schema: | |
allOf: | |
- $ref: '#/components/schemas/problem' | |
- properties: | |
status: | |
example: 403 | |
title: | |
example: You do not have permission to perform this action. | |
type: | |
enum: | |
- http://localhost:8000/api/docs/v1/problems/permission-denied | |
type: string | |
type: object | |
type: object | |
description: PermissionDenied | |
tags: | |
- network-features | |
/network-features/{id}: | |
get: | |
description: Get a single network feature by it's id | |
operationId: network-features_read | |
parameters: | |
- description: Get by id | |
in: path | |
name: id | |
required: true | |
schema: | |
description: '' | |
title: '' | |
type: string | |
responses: | |
'200': | |
content: | |
application/json: | |
schema: | |
$ref: '#/components/schemas/network-feature' | |
description: Polymorphic Network Feature | |
'401': | |
content: | |
application/json: | |
schema: | |
allOf: | |
- $ref: '#/components/schemas/problem' | |
- properties: | |
status: | |
example: 401 | |
title: | |
example: Authentication Credentials Invalid | |
type: | |
enum: | |
- http://localhost:8000/api/docs/v1/problems/authentication-error | |
- http://localhost:8000/api/docs/v1/problems/signature-expired | |
type: string | |
type: object | |
type: object | |
description: Authentication | |
'403': | |
content: | |
application/json: | |
schema: | |
allOf: | |
- $ref: '#/components/schemas/problem' | |
- properties: | |
status: | |
example: 403 | |
title: | |
example: You do not have permission to perform this action. | |
type: | |
enum: | |
- http://localhost:8000/api/docs/v1/problems/permission-denied | |
type: string | |
type: object | |
type: object | |
description: PermissionDenied | |
'404': | |
content: | |
application/json: | |
schema: | |
allOf: | |
- $ref: '#/components/schemas/problem' | |
- properties: | |
status: | |
example: 404 | |
title: | |
example: Not found. | |
type: | |
enum: | |
- http://localhost:8000/api/docs/v1/problems/not-found | |
type: string | |
type: object | |
type: object | |
description: NotFound | |
tags: | |
- network-features | |
/network-service-configs: | |
get: | |
description: Get all `network-service-config`s. | |
operationId: network-service-configs_list | |
parameters: | |
- description: Filter by inner_vlan | |
in: query | |
name: inner_vlan | |
required: false | |
schema: | |
type: integer | |
- description: Filter by outer_vlan | |
in: query | |
name: outer_vlan | |
required: false | |
schema: | |
type: integer | |
- description: Filter by capacity | |
in: query | |
name: capacity | |
required: false | |
schema: | |
type: integer | |
- description: Filter by external_ref | |
in: query | |
name: external_ref | |
required: false | |
schema: | |
type: string | |
- description: Filter by connection | |
in: query | |
name: connection | |
required: false | |
schema: | |
type: string | |
- description: Filter by managing_customer | |
in: query | |
name: managing_customer | |
required: false | |
schema: | |
type: string | |
- description: Filter by consuming_customer | |
in: query | |
name: consuming_customer | |
required: false | |
schema: | |
type: string | |
- description: Filter by purchase_order | |
in: query | |
name: purchase_order | |
required: false | |
schema: | |
type: string | |
- description: Filter by contract_ref | |
in: query | |
name: contract_ref | |
required: false | |
schema: | |
type: string | |
- description: Filter by id | |
explode: false | |
in: query | |
name: id | |
required: false | |
schema: | |
example: id1,id2,id3 | |
items: | |
type: string | |
type: array | |
style: form | |
- description: Filter by state | |
in: query | |
name: state | |
required: false | |
schema: | |
type: string | |
- description: Filter by state__is_not | |
in: query | |
name: state__is_not | |
required: false | |
schema: | |
type: string | |
- description: Filter by service | |
in: query | |
name: service | |
required: false | |
schema: | |
type: string | |
- description: Filter by type | |
in: query | |
name: type | |
required: false | |
schema: | |
enum: | |
- exchange_lan | |
type: string | |
responses: | |
'200': | |
content: | |
application/json: | |
schema: | |
items: | |
$ref: '#/components/schemas/network-service-config' | |
type: array | |
description: '' | |
'401': | |
content: | |
application/json: | |
schema: | |
allOf: | |
- $ref: '#/components/schemas/problem' | |
- properties: | |
status: | |
example: 401 | |
title: | |
example: Authentication Credentials Invalid | |
type: | |
enum: | |
- http://localhost:8000/api/docs/v1/problems/authentication-error | |
- http://localhost:8000/api/docs/v1/problems/signature-expired | |
type: string | |
type: object | |
type: object | |
description: Authentication | |
'403': | |
content: | |
application/json: | |
schema: | |
allOf: | |
- $ref: '#/components/schemas/problem' | |
- properties: | |
status: | |
example: 403 | |
title: | |
example: You do not have permission to perform this action. | |
type: | |
enum: | |
- http://localhost:8000/api/docs/v1/problems/permission-denied | |
type: string | |
type: object | |
type: object | |
description: PermissionDenied | |
tags: | |
- network-service-configs | |
post: | |
description: Create a `network-service-config`. | |
operationId: network-service-configs_create | |
requestBody: | |
content: | |
application/json: | |
schema: | |
$ref: '#/components/schemas/network-service-config-input' | |
description: '' | |
responses: | |
'201': | |
content: | |
application/json: | |
schema: | |
$ref: '#/components/schemas/network-service-config' | |
description: Polymorphic Network Service Config | |
'400': | |
content: | |
application/json: | |
schema: | |
allOf: | |
- $ref: '#/components/schemas/problem' | |
- properties: | |
status: | |
example: 400 | |
title: | |
example: Some fields did not validate. | |
type: | |
enum: | |
- http://localhost:8000/api/docs/v1/problems/validation-error | |
type: string | |
type: object | |
type: object | |
description: ValidationError | |
'401': | |
content: | |
application/json: | |
schema: | |
allOf: | |
- $ref: '#/components/schemas/problem' | |
- properties: | |
status: | |
example: 401 | |
title: | |
example: Authentication Credentials Invalid | |
type: | |
enum: | |
- http://localhost:8000/api/docs/v1/problems/authentication-error | |
- http://localhost:8000/api/docs/v1/problems/signature-expired | |
type: string | |
type: object | |
type: object | |
description: Authentication | |
'403': | |
content: | |
application/json: | |
schema: | |
allOf: | |
- $ref: '#/components/schemas/problem' | |
- properties: | |
status: | |
example: 403 | |
title: | |
example: You do not have permission to perform this action. | |
type: | |
enum: | |
- http://localhost:8000/api/docs/v1/problems/permission-denied | |
type: string | |
type: object | |
type: object | |
description: PermissionDenied | |
tags: | |
- network-service-configs | |
/network-service-configs/{id}: | |
delete: | |
description: Deconfigure the network service | |
operationId: network-service-configs_delete | |
parameters: | |
- description: Get by id | |
in: path | |
name: id | |
required: true | |
schema: | |
description: '' | |
title: '' | |
type: string | |
responses: | |
'200': | |
content: | |
application/json: | |
schema: | |
$ref: '#/components/schemas/network-service-config' | |
description: Polymorphic Network Service Config | |
'401': | |
content: | |
application/json: | |
schema: | |
allOf: | |
- $ref: '#/components/schemas/problem' | |
- properties: | |
status: | |
example: 401 | |
title: | |
example: Authentication Credentials Invalid | |
type: | |
enum: | |
- http://localhost:8000/api/docs/v1/problems/authentication-error | |
- http://localhost:8000/api/docs/v1/problems/signature-expired | |
type: string | |
type: object | |
type: object | |
description: Authentication | |
'403': | |
content: | |
application/json: | |
schema: | |
allOf: | |
- $ref: '#/components/schemas/problem' | |
- properties: | |
status: | |
example: 403 | |
title: | |
example: You do not have permission to perform this action. | |
type: | |
enum: | |
- http://localhost:8000/api/docs/v1/problems/permission-denied | |
type: string | |
type: object | |
type: object | |
description: PermissionDenied | |
'404': | |
content: | |
application/json: | |
schema: | |
allOf: | |
- $ref: '#/components/schemas/problem' | |
- properties: | |
status: | |
example: 404 | |
title: | |
example: Not found. | |
type: | |
enum: | |
- http://localhost:8000/api/docs/v1/problems/not-found | |
type: string | |
type: object | |
type: object | |
description: NotFound | |
tags: | |
- network-service-configs | |
get: | |
description: Get a `network-service-config` | |
operationId: network-service-configs_read | |
parameters: | |
- description: Get by id | |
in: path | |
name: id | |
required: true | |
schema: | |
description: '' | |
title: '' | |
type: string | |
responses: | |
'200': | |
content: | |
application/json: | |
schema: | |
$ref: '#/components/schemas/network-service-config' | |
description: Polymorphic Network Service Config | |
'401': | |
content: | |
application/json: | |
schema: | |
allOf: | |
- $ref: '#/components/schemas/problem' | |
- properties: | |
status: | |
example: 401 | |
title: | |
example: Authentication Credentials Invalid | |
type: | |
enum: | |
- http://localhost:8000/api/docs/v1/problems/authentication-error | |
- http://localhost:8000/api/docs/v1/problems/signature-expired | |
type: string | |
type: object | |
type: object | |
description: Authentication | |
'403': | |
content: | |
application/json: | |
schema: | |
allOf: | |
- $ref: '#/components/schemas/problem' | |
- properties: | |
status: | |
example: 403 | |
title: | |
example: You do not have permission to perform this action. | |
type: | |
enum: | |
- http://localhost:8000/api/docs/v1/problems/permission-denied | |
type: string | |
type: object | |
type: object | |
description: PermissionDenied | |
'404': | |
content: | |
application/json: | |
schema: | |
allOf: | |
- $ref: '#/components/schemas/problem' | |
- properties: | |
status: | |
example: 404 | |
title: | |
example: Not found. | |
type: | |
enum: | |
- http://localhost:8000/api/docs/v1/problems/not-found | |
type: string | |
type: object | |
type: object | |
description: NotFound | |
tags: | |
- network-service-configs | |
patch: | |
description: Update parts of an exisiting `network-service-config` | |
operationId: network-service-configs_partial_update | |
parameters: | |
- description: Get by id | |
in: path | |
name: id | |
required: true | |
schema: | |
description: '' | |
title: '' | |
type: string | |
requestBody: | |
content: | |
application/json: | |
schema: | |
$ref: '#/components/schemas/network-service-config-update-partial' | |
description: '' | |
responses: | |
'200': | |
content: | |
application/json: | |
schema: | |
$ref: '#/components/schemas/network-service-config' | |
description: Polymorphic Network Service Config | |
'400': | |
content: | |
application/json: | |
schema: | |
allOf: | |
- $ref: '#/components/schemas/problem' | |
- properties: | |
status: | |
example: 400 | |
title: | |
example: Some fields did not validate. | |
type: | |
enum: | |
- http://localhost:8000/api/docs/v1/problems/validation-error | |
type: string | |
type: object | |
type: object | |
description: ValidationError | |
'401': | |
content: | |
application/json: | |
schema: | |
allOf: | |
- $ref: '#/components/schemas/problem' | |
- properties: | |
status: | |
example: 401 | |
title: | |
example: Authentication Credentials Invalid | |
type: | |
enum: | |
- http://localhost:8000/api/docs/v1/problems/authentication-error | |
- http://localhost:8000/api/docs/v1/problems/signature-expired | |
type: string | |
type: object | |
type: object | |
description: Authentication | |
'403': | |
content: | |
application/json: | |
schema: | |
allOf: | |
- $ref: '#/components/schemas/problem' | |
- properties: | |
status: | |
example: 403 | |
title: | |
example: You do not have permission to perform this action. | |
type: | |
enum: | |
- http://localhost:8000/api/docs/v1/problems/permission-denied | |
type: string | |
type: object | |
type: object | |
description: PermissionDenied | |
'404': | |
content: | |
application/json: | |
schema: | |
allOf: | |
- $ref: '#/components/schemas/problem' | |
- properties: | |
status: | |
example: 404 | |
title: | |
example: Not found. | |
type: | |
enum: | |
- http://localhost:8000/api/docs/v1/problems/not-found | |
type: string | |
type: object | |
type: object | |
description: NotFound | |
tags: | |
- network-service-configs | |
put: | |
description: Update an exisiting `network-service-config` | |
operationId: network-service-configs_update | |
parameters: | |
- description: Get by id | |
in: path | |
name: id | |
required: true | |
schema: | |
description: '' | |
title: '' | |
type: string | |
requestBody: | |
content: | |
application/json: | |
schema: | |
$ref: '#/components/schemas/network-service-config-update' | |
description: '' | |
responses: | |
'200': | |
content: | |
application/json: | |
schema: | |
$ref: '#/components/schemas/network-service-config' | |
description: Polymorphic Network Service Config | |
'400': | |
content: | |
application/json: | |
schema: | |
allOf: | |
- $ref: '#/components/schemas/problem' | |
- properties: | |
status: | |
example: 400 | |
title: | |
example: Some fields did not validate. | |
type: | |
enum: | |
- http://localhost:8000/api/docs/v1/problems/validation-error | |
type: string | |
type: object | |
type: object | |
description: ValidationError | |
'401': | |
content: | |
application/json: | |
schema: | |
allOf: | |
- $ref: '#/components/schemas/problem' | |
- properties: | |
status: | |
example: 401 | |
title: | |
example: Authentication Credentials Invalid | |
type: | |
enum: | |
- http://localhost:8000/api/docs/v1/problems/authentication-error | |
- http://localhost:8000/api/docs/v1/problems/signature-expired | |
type: string | |
type: object | |
type: object | |
description: Authentication | |
'403': | |
content: | |
application/json: | |
schema: | |
allOf: | |
- $ref: '#/components/schemas/problem' | |
- properties: | |
status: | |
example: 403 | |
title: | |
example: You do not have permission to perform this action. | |
type: | |
enum: | |
- http://localhost:8000/api/docs/v1/problems/permission-denied | |
type: string | |
type: object | |
type: object | |
description: PermissionDenied | |
'404': | |
content: | |
application/json: | |
schema: | |
allOf: | |
- $ref: '#/components/schemas/problem' | |
- properties: | |
status: | |
example: 404 | |
title: | |
example: Not found. | |
type: | |
enum: | |
- http://localhost:8000/api/docs/v1/problems/not-found | |
type: string | |
type: object | |
type: object | |
description: NotFound | |
tags: | |
- network-service-configs | |
/network-services: | |
get: | |
description: List available `network-services`. | |
operationId: network-services_list | |
parameters: | |
- description: Filter by product | |
in: query | |
name: product | |
required: false | |
schema: | |
type: string | |
- description: Filter by managing_customer | |
in: query | |
name: managing_customer | |
required: false | |
schema: | |
type: string | |
- description: Filter by consuming_customer | |
in: query | |
name: consuming_customer | |
required: false | |
schema: | |
type: string | |
- description: Filter by purchase_order | |
in: query | |
name: purchase_order | |
required: false | |
schema: | |
type: string | |
- description: Filter by contract_ref | |
in: query | |
name: contract_ref | |
required: false | |
schema: | |
type: string | |
- description: Filter by id | |
explode: false | |
in: query | |
name: id | |
required: false | |
schema: | |
example: id1,id2,id3 | |
items: | |
type: string | |
type: array | |
style: form | |
- description: Filter by pop | |
in: query | |
name: pop | |
required: false | |
schema: | |
type: string | |
- description: Filter by type | |
in: query | |
name: type | |
required: false | |
schema: | |
enum: | |
- exchange_lan | |
- closed_user_group | |
- eline | |
- cloud | |
type: string | |
responses: | |
'200': | |
content: | |
application/json: | |
schema: | |
items: | |
$ref: '#/components/schemas/network-service' | |
type: array | |
description: '' | |
'401': | |
content: | |
application/json: | |
schema: | |
allOf: | |
- $ref: '#/components/schemas/problem' | |
- properties: | |
status: | |
example: 401 | |
title: | |
example: Authentication Credentials Invalid | |
type: | |
enum: | |
- http://localhost:8000/api/docs/v1/problems/authentication-error | |
- http://localhost:8000/api/docs/v1/problems/signature-expired | |
type: string | |
type: object | |
type: object | |
description: Authentication | |
'403': | |
content: | |
application/json: | |
schema: | |
allOf: | |
- $ref: '#/components/schemas/problem' | |
- properties: | |
status: | |
example: 403 | |
title: | |
example: You do not have permission to perform this action. | |
type: | |
enum: | |
- http://localhost:8000/api/docs/v1/problems/permission-denied | |
type: string | |
type: object | |
type: object | |
description: PermissionDenied | |
tags: | |
- network-services | |
/network-services/{id}: | |
get: | |
description: Get a specific `network-service` by id | |
operationId: network-services_read | |
parameters: | |
- description: Get by id | |
in: path | |
name: id | |
required: true | |
schema: | |
description: '' | |
title: '' | |
type: string | |
responses: | |
'200': | |
content: | |
application/json: | |
schema: | |
$ref: '#/components/schemas/network-service' | |
description: Polymorphic Network Services | |
'401': | |
content: | |
application/json: | |
schema: | |
allOf: | |
- $ref: '#/components/schemas/problem' | |
- properties: | |
status: | |
example: 401 | |
title: | |
example: Authentication Credentials Invalid | |
type: | |
enum: | |
- http://localhost:8000/api/docs/v1/problems/authentication-error | |
- http://localhost:8000/api/docs/v1/problems/signature-expired | |
type: string | |
type: object | |
type: object | |
description: Authentication | |
'403': | |
content: | |
application/json: | |
schema: | |
allOf: | |
- $ref: '#/components/schemas/problem' | |
- properties: | |
status: | |
example: 403 | |
title: | |
example: You do not have permission to perform this action. | |
type: | |
enum: | |
- http://localhost:8000/api/docs/v1/problems/permission-denied | |
type: string | |
type: object | |
type: object | |
description: PermissionDenied | |
'404': | |
content: | |
application/json: | |
schema: | |
allOf: | |
- $ref: '#/components/schemas/problem' | |
- properties: | |
status: | |
example: 404 | |
title: | |
example: Not found. | |
type: | |
enum: | |
- http://localhost:8000/api/docs/v1/problems/not-found | |
type: string | |
type: object | |
type: object | |
description: NotFound | |
tags: | |
- network-services | |
/pops: | |
get: | |
description: List all PoPs | |
operationId: pops_list | |
parameters: | |
- description: Filter by id | |
explode: false | |
in: query | |
name: id | |
required: false | |
schema: | |
example: id1,id2,id3 | |
items: | |
type: string | |
type: array | |
style: form | |
- description: Filter by physical_facility | |
in: query | |
name: physical_facility | |
required: false | |
schema: | |
type: string | |
- description: Filter by reachable_facility | |
in: query | |
name: reachable_facility | |
required: false | |
schema: | |
type: string | |
- description: Filter by reachable_devices | |
explode: false | |
in: query | |
name: reachable_devices | |
required: false | |
schema: | |
example: id1,id2,id3 | |
items: | |
type: string | |
type: array | |
style: form | |
responses: | |
'200': | |
content: | |
application/json: | |
schema: | |
items: | |
$ref: '#/components/schemas/point-of-presence' | |
type: array | |
description: '' | |
'401': | |
content: | |
application/json: | |
schema: | |
allOf: | |
- $ref: '#/components/schemas/problem' | |
- properties: | |
status: | |
example: 401 | |
title: | |
example: Authentication Credentials Invalid | |
type: | |
enum: | |
- http://localhost:8000/api/docs/v1/problems/authentication-error | |
- http://localhost:8000/api/docs/v1/problems/signature-expired | |
type: string | |
type: object | |
type: object | |
description: Authentication | |
'403': | |
content: | |
application/json: | |
schema: | |
allOf: | |
- $ref: '#/components/schemas/problem' | |
- properties: | |
status: | |
example: 403 | |
title: | |
example: You do not have permission to perform this action. | |
type: | |
enum: | |
- http://localhost:8000/api/docs/v1/problems/permission-denied | |
type: string | |
type: object | |
type: object | |
description: PermissionDenied | |
tags: | |
- pops | |
/pops/{id}: | |
get: | |
description: Get a demarcation point | |
operationId: pops_read | |
parameters: | |
- description: Get by id | |
in: path | |
name: id | |
required: true | |
schema: | |
description: '' | |
title: '' | |
type: string | |
responses: | |
'200': | |
content: | |
application/json: | |
schema: | |
$ref: '#/components/schemas/point-of-presence' | |
description: Point Of Presence | |
'401': | |
content: | |
application/json: | |
schema: | |
allOf: | |
- $ref: '#/components/schemas/problem' | |
- properties: | |
status: | |
example: 401 | |
title: | |
example: Authentication Credentials Invalid | |
type: | |
enum: | |
- http://localhost:8000/api/docs/v1/problems/authentication-error | |
- http://localhost:8000/api/docs/v1/problems/signature-expired | |
type: string | |
type: object | |
type: object | |
description: Authentication | |
'403': | |
content: | |
application/json: | |
schema: | |
allOf: | |
- $ref: '#/components/schemas/problem' | |
- properties: | |
status: | |
example: 403 | |
title: | |
example: You do not have permission to perform this action. | |
type: | |
enum: | |
- http://localhost:8000/api/docs/v1/problems/permission-denied | |
type: string | |
type: object | |
type: object | |
description: PermissionDenied | |
'404': | |
content: | |
application/json: | |
schema: | |
allOf: | |
- $ref: '#/components/schemas/problem' | |
- properties: | |
status: | |
example: 404 | |
title: | |
example: Not found. | |
type: | |
enum: | |
- http://localhost:8000/api/docs/v1/problems/not-found | |
type: string | |
type: object | |
type: object | |
description: NotFound | |
tags: | |
- pops | |
/products: | |
get: | |
description: List all (filtered) products available on the platform | |
operationId: products_list | |
parameters: | |
- description: Filter by name | |
in: query | |
name: name | |
required: false | |
schema: | |
type: string | |
- description: Filter by name__contains | |
in: query | |
name: name__contains | |
required: false | |
schema: | |
type: string | |
- description: Filter by id | |
explode: false | |
in: query | |
name: id | |
required: false | |
schema: | |
example: id1,id2,id3 | |
items: | |
type: string | |
type: array | |
style: form | |
- description: Filter by metro_area | |
in: query | |
name: metro_area | |
required: false | |
schema: | |
type: string | |
- description: Filter by provider | |
in: query | |
name: provider | |
required: false | |
schema: | |
type: string | |
- description: Filter by handover_point | |
in: query | |
name: handover_point | |
required: false | |
schema: | |
type: string | |
- description: Filter by zone | |
in: query | |
name: zone | |
required: false | |
schema: | |
type: string | |
- description: Filter by device | |
in: query | |
name: device | |
required: false | |
schema: | |
type: string | |
- description: Filter by type | |
in: query | |
name: type | |
required: false | |
schema: | |
enum: | |
- exchange_lan | |
type: string | |
responses: | |
'200': | |
content: | |
application/json: | |
schema: | |
items: | |
$ref: '#/components/schemas/product' | |
type: array | |
description: '' | |
'401': | |
content: | |
application/json: | |
schema: | |
allOf: | |
- $ref: '#/components/schemas/problem' | |
- properties: | |
status: | |
example: 401 | |
title: | |
example: Authentication Credentials Invalid | |
type: | |
enum: | |
- http://localhost:8000/api/docs/v1/problems/authentication-error | |
- http://localhost:8000/api/docs/v1/problems/signature-expired | |
type: string | |
type: object | |
type: object | |
description: Authentication | |
'403': | |
content: | |
application/json: | |
schema: | |
allOf: | |
- $ref: '#/components/schemas/problem' | |
- properties: | |
status: | |
example: 403 | |
title: | |
example: You do not have permission to perform this action. | |
type: | |
enum: | |
- http://localhost:8000/api/docs/v1/problems/permission-denied | |
type: string | |
type: object | |
type: object | |
description: PermissionDenied | |
tags: | |
- products | |
/products/{id}: | |
get: | |
description: Get a specific product by id | |
operationId: products_read | |
parameters: | |
- description: Get by id | |
in: path | |
name: id | |
required: true | |
schema: | |
description: '' | |
title: '' | |
type: string | |
responses: | |
'200': | |
content: | |
application/json: | |
schema: | |
$ref: '#/components/schemas/product' | |
description: Polymorphic Product | |
'401': | |
content: | |
application/json: | |
schema: | |
allOf: | |
- $ref: '#/components/schemas/problem' | |
- properties: | |
status: | |
example: 401 | |
title: | |
example: Authentication Credentials Invalid | |
type: | |
enum: | |
- http://localhost:8000/api/docs/v1/problems/authentication-error | |
- http://localhost:8000/api/docs/v1/problems/signature-expired | |
type: string | |
type: object | |
type: object | |
description: Authentication | |
'403': | |
content: | |
application/json: | |
schema: | |
allOf: | |
- $ref: '#/components/schemas/problem' | |
- properties: | |
status: | |
example: 403 | |
title: | |
example: You do not have permission to perform this action. | |
type: | |
enum: | |
- http://localhost:8000/api/docs/v1/problems/permission-denied | |
type: string | |
type: object | |
type: object | |
description: PermissionDenied | |
'404': | |
content: | |
application/json: | |
schema: | |
allOf: | |
- $ref: '#/components/schemas/problem' | |
- properties: | |
status: | |
example: 404 | |
title: | |
example: Not found. | |
type: | |
enum: | |
- http://localhost:8000/api/docs/v1/problems/not-found | |
type: string | |
type: object | |
type: object | |
description: NotFound | |
tags: | |
- products | |
tags: | |
- description: 'Open an authorized session with the IX-API by | |
sending an `api_key` and `api_secret` pair to the | |
`/api/v1/tokens` resource. | |
This is equivalent to a ''login'' endpoint. | |
Upon success, you will receive an `access_token` and | |
a `refreh_token`. The refresh token can be used for | |
regenerating the lifetime limited access token. | |
Use the `access_token` as `Bearer` in your `Authorziation` header | |
for getting access to the API. | |
The `auth_token` (and `refresh_token`) have limited lifetimes. | |
As both are JWTs, you can directy get this information from them. | |
When the session (`access_token`) expires, you can (within | |
the lifetime of the `refresh_token`) reauthenticate by | |
providing only the `refresh_token`. | |
Make a `POST` request to the `/api/v1/auth/refresh` resource.' | |
name: auth | |
- description: 'A `Connection` is a functional group of physical connections | |
collected together into a LAG (aka trunk). | |
A `connection` with only one `demarc` can be also configured as | |
standalone which means no LAG configuration on the switch.' | |
name: connections | |
- description: 'A `Contact` is a role undertaking a specific responsibility within | |
a | |
customer, typically a department or agent of the customer company. | |
These can be `implementation`,`noc`, `legal`, `peering` or `billing`. | |
A contact is bound to the customer by the `consuming_customer` | |
property.' | |
name: contacts | |
- description: 'A `Customer` is a company using services from an IXP. The customers | |
can have a hierarchy. A customer can have subcustomers. Each customer needs | |
to have different contacts, depending on the exchange and the service he | |
wants to use. | |
For a customer to become operational, you need to provide a | |
`legal` contact.' | |
name: customers | |
- description: 'A `Demarc` (demarcation point) is the point at which customer and | |
IXP networks meet, eg a physical port / socket, generally with a | |
specified bandwidth. | |
Demarcs are listed on a LoA (Letter of Authorisation). | |
Exchange customers need this information to order a cross connect | |
from the datacenter operator to be interconnected to the exchange. | |
Due to the reason a `demarc` is patched to a switch, it comes with | |
necessary extra informations like speed and optics `type`. | |
A `demarc` is always associated to one `pop`.' | |
name: demarcs | |
- description: 'A `Device` is a network hardware device, typically a Switch, which | |
is located at a specified facility and connected to one or more | |
PoPs. | |
They may be physically located at their related PoPs or remotely | |
available.' | |
name: devices | |
- description: 'A `Facility` is a data centre, with a determined physical address, | |
from which a defined set of PoPs can be accessed' | |
name: facilities | |
- description: 'An `IP` is a IPv4 or 6 addresses, with a given validity period. | |
Some services require IP addresses to work. | |
When you are joining an `exchange_lan` network service | |
for example, addresses on the peering lan will be assigned | |
to you.' | |
name: ips | |
- description: 'A `MAC` is a MAC addresses with a given validity period. | |
Some services require MAC addresses to work. | |
The address itself can not be updated after creation. | |
However: It can be expired by changing the `valid_not_before` | |
and `valid_not_after` properties.' | |
name: macs | |
- description: 'A `NetworkFeatureConfig` is a customer''s configuration for usage | |
of | |
a `NetworkFeature`' | |
name: network-feature-configs | |
- description: '`NetworkFeatures` are functionality made available to customers | |
within a `NetworkService`. | |
Certain features may need to be configured by a customer to use that | |
service. | |
This can be for example a `route server` on an `exchange lan`. | |
Some of these features are mandatory to configure if you | |
want to access the platform. Which of these features you have to | |
configure you can query using: `/api/v1/network-features?required=true`' | |
name: network-features | |
- description: 'A `NetworkServiceConfig` is a customer''s configuration for usage | |
of a `NetworkService`, eg the configuration of a (subset of a) | |
connection for that customer''s traffic | |
The `type` of the config determines the service you are | |
configuring. | |
You can find the services available to you on the platform, | |
by querying the `/api/v1/network-services` resource.' | |
name: network-service-configs | |
- description: 'A `NetworkService` is an instances of a `Product` accessible by one | |
or multiple users, depending on the type of product | |
For example, each Exchange Network LAN is considered as a shared | |
instance of the related LAN''s `Product`' | |
name: network-services | |
- description: 'A `PoP` is a location within a Facility which is connected to a | |
single Network Infrastructure and has defined reachability of other | |
facilities. | |
A single room may contain multiple PoPs, each linking to a different | |
infrastructure.' | |
name: pops | |
- description: 'A `Product` is a network or peering-related product of a defined | |
type sold by an IXP to its `Customers`' | |
name: products |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment