IX-API
Emulate the IX-API in seconds. This API allows to configure/change/delete Internet Exchange services.
[01]
About
Mock the IX-API as a turnkey Mockzilla sim with 106 OpenAPI endpoints, realistic JSON payloads, no upstream signup or sandbox keys. This API allows to configure/change/delete Internet Exchange services. Methods: 61x GET, 16x POST, 11x DELETE, 9x PATCH, 9x PUT. Top resource groups: network-services, connections, network-service-configs, port-reservations. Hit https://api.justmocks.com/ix-api for the Mockzilla API Explorer landing and per-endpoint sample requests.
Endpoints
106 across 26 resource groups
Methods
GET 61 · POST 16 · PUT 9 · PATCH 9 · DEL 11 none deprecated
OpenAPI
3.0.0 spec version 2.5.0
Source spec
713 KB · YAML
[02]
Endpoints
| GET |
/account
|
Get the currently authenticated Account. Mocked via Mockzilla.
|
| GET |
/accounts
|
Retrieve a list of Accounts. This includes all accounts the currently authorized account is managing and the current account itself. Also discoverable accounts will be included, however sensitive properties, like address or external_ref will either not be present or redacted.
|
| POST |
/accounts
|
Create a new account.
|
| DEL |
/accounts/{id}
|
Accounts can be deleted, when all services and configs are decommissioned or the account is not longer referenced e.g. as a managing_account or billing_account. Deleting an account will cascade to contacts and role-assignments. The request will immediately fail, if the above preconditions are not met.
|
| GET |
/accounts/{id}
|
Get a single account.
|
| PATCH |
/accounts/{id}
|
Update an account. Available as a Mockzilla mock endpoint.
|
| PUT |
/accounts/{id}
|
DEPRECATION NOTICE: This operation will be removed in favor of using PATCH for all updates. Update the entire account.
|
| POST |
/auth/refresh
|
Reauthenticate the API user, issue a new access_token and refresh_token pair by providing the refresh_token in the request body.
|
| POST |
/auth/token
|
Authenticate an API user identified by api_key and api_secret.
|
| GET |
/availability-zones
|
List all availability zones available on the platform.
|
| GET |
/availability-zones/{id}
|
Get a single availability zone by id. Mockzilla mock: no signup, no API key.
|
| GET |
/connections
|
List all connections.
|
| POST |
/connections
|
Create a new connection and request ports allocation. Two workflows for allocating ports is supported and dependent on the cross_connect_initiator property of the corresponding product-offering: When the initiator is the subscriber, a Letter Of Authorization (LOA) can be downloaded from the /connection//loa resource. In case the exchange is the initiator, the LOA can be uploaded to this resource. Creating a connection will also create PortReservations. See the port_quantity and subscriber_side_demarcs attributes for details. Please refer to the internet exchange's api usage guide for implementation specific details.
|
| DEL |
/connections/{id}
|
Request decommissioning the connection. The cancellation policy of the connection applies here and is independent from the policy of the network-service and network-service-config using the connection. The connection will assume the state decommission_requested. Associated port-reservation will be also marked for decommissining and ports will be deallocated. The decommissioning request will not cascade to network services and configs.
|
| GET |
/connections/{id}
|
Read a connection.
|
| PATCH |
/connections/{id}
|
Update a connection. Served by the Mockzilla mock runtime.
|
| PUT |
/connections/{id}
|
DEPRECATION NOTICE: This operation will be removed in favor of using PATCH for all updates. Update a connection.
|
| GET |
/connections/{id}/cancellation-policy
|
The cancellation-policy can be queried to answer the questions: If I cancel my subscription, when will it be technically decommissioned? If I cancel my subscription, until what date will I be charged? When the query parameter decommision_at is not provided it will provide the first possible cancellation date and charge period if cancelled at above date. The granularity of the date field is a day, the start and end of which are to be interpreted by the IXP (some may use UTC, some may use their local time zone).
|
| GET |
/connections/{id}/loa
|
Download the Letter Of Authorization associated with the connection. In case of a subscriber initiated cross-connect, it will be provided by the exchange.
|
| POST |
/connections/{id}/loa
|
Upload a Letter Of Authorization for this connection. The LOA is valid for the entire connection and must include all ports.
|
| GET |
/connections/{id}/statistics
|
Read a Connections aggregated statistics. A start and end query parameter can be used to retrieve the aggregated traffic for a given window. In this case the key of the returned statistics is custom. With a given start and end window, the resolution for the aggregated data is chosen by the implementation. You need to check the accuracy attribute of the aggregate, to see if the data can be used for the desired usecase. The accuracy is the ratio of total samples to expected samples. If no start or end parameter is given, a sliding window is assumed and key value pairs of resolutions and aggregated statistics are returned. Mocked via Mockzilla.
|
| GET |
/connections/{id}/statistics/{aggregate}/timeseries
|
Read a Connections aggregated timeseries. The resolution is defined by the aggregate.
|
| GET |
/contacts
|
List available contacts managed by the authorized account.
|
| POST |
/contacts
|
Create a new contact.
|
| DEL |
/contacts/{id}
|
Remove a contact. Please note, that a contact can only be removed if it is not longer in use in a network service or config through a role assignment.
|
| GET |
/contacts/{id}
|
Get a contact by it's id. Available as a Mockzilla mock endpoint.
|
| PATCH |
/contacts/{id}
|
Update a contact.
|
| PUT |
/contacts/{id}
|
DEPRECATION NOTICE: This operation will be removed in favor of using PATCH for all updates. Update a contact.
|
| GET |
/devices
|
List available devices
|
| GET |
/devices/{id}
|
Get a specific device identified by id
|
| GET |
/extensions
|
List provider extensions to the IX-API. Mockzilla mock: no signup, no API key.
|
| GET |
/facilities
|
Get a (filtered) list of facilities.
|
| GET |
/facilities/{id}
|
Retrieve a facility by id
|
| GET |
/health
|
Get the IX-API service health status.
|
| GET |
/implementation
|
Get the API implementation details.
|
| GET |
/ips
|
List all ip addresses (and prefixes). Served by the Mockzilla mock runtime.
|
| POST |
/ips
|
Add an ip host address or network prefix.
|
| GET |
/ips/{id}
|
Get a single ip addresses by it's id.
|
| PATCH |
/ips/{id}
|
Update an ip address. You can only update IP addresses within your current scope. Not all addresses you can read you can update. If the ip address was allocated for you, you might not be able to change anything but the fqdn.
|
| PUT |
/ips/{id}
|
DEPRECATION NOTICE: This operation will be removed in favor of using PATCH for all updates. Update an ip address object. You can only update IP addresses within your current scope. Not all addresses you can read you can update. If the ip address was allocated for you, you might not be able to change anything but the fqdn.
|
| GET |
/macs
|
List all mac addresses managed by the authorized customer. Mocked via Mockzilla.
|
| POST |
/macs
|
Register a mac address.
|
| DEL |
/macs/{id}
|
Remove a mac address.
|
| GET |
/macs/{id}
|
Get a single mac address by it's id.
|
| GET |
/member-joining-rules
|
Get a list of joining rules
|
| POST |
/member-joining-rules
|
Create a member joining rule. Available as a Mockzilla mock endpoint.
|
| DEL |
/member-joining-rules/{id}
|
Delete a joining rule
|
| GET |
/member-joining-rules/{id}
|
Get a single rule
|
| PATCH |
/member-joining-rules/{id}
|
Update a joining rule
|
| PUT |
/member-joining-rules/{id}
|
DEPRECATION NOTICE: This operation will be removed in favor of using PATCH for all updates. Update a joining rule.
|
| GET |
/metro-area-networks
|
List all MetroAreaNetworks. Mockzilla mock: no signup, no API key.
|
| GET |
/metro-area-networks/{id}
|
Retrieve a MetroAreaNetwork
|
| GET |
/metro-areas
|
List all MetroAreas
|
| GET |
/metro-areas/{id}
|
Get a single MetroArea
|
| GET |
/network-feature-configs
|
Get all network feature configs.
|
| POST |
/network-feature-configs
|
Create a configuration for a NetworkFeature defined in the NetworkFeatures collection. Served by the Mockzilla mock runtime.
|
| DEL |
/network-feature-configs/{id}
|
Remove a network feature config. The network feature config will be marked as decommission_requested. Decommissioning a network feature config will not cascade to related services or service configs.
|
| GET |
/network-feature-configs/{id}
|
Get a single network feature config.
|
| PATCH |
/network-feature-configs/{id}
|
Update a network feature configuration.
|
| PUT |
/network-feature-configs/{id}
|
DEPRECATION NOTICE: This operation will be removed in favor of using PATCH for all updates. Update a network feature configuration
|
| GET |
/network-features
|
List available network features. Mocked via Mockzilla.
|
| GET |
/network-features/{id}
|
Get a single network feature by it's id.
|
| GET |
/network-service-configs
|
Get all network-service-configs.
|
| POST |
/network-service-configs
|
Create a network-service-config.
|
| DEL |
/network-service-configs/{id}
|
Request decommissioning the network service configuration. The network service config will assume the state decommission_requested. This will cascade to related resources like network-feature-configs.
|
| GET |
/network-service-configs/{id}
|
Get a network-service-config. Available as a Mockzilla mock endpoint.
|
| PATCH |
/network-service-configs/{id}
|
Update an exisiting network-service-config.
|
| PUT |
/network-service-configs/{id}
|
DEPRECATION NOTICE: This operation will be removed in favor of using PATCH for all updates. Update an exisiting network-service-config
|
| GET |
/network-service-configs/{id}/cancellation-policy
|
The cancellation-policy can be queried to answer the questions: If I cancel my subscription, when will it be technically decommissioned? If I cancel my subscription, until what date will I be charged? When the query parameter decommision_at is not provided it will provide the first possible cancellation date and charge period if cancelled at above date. The granularity of the date field is a day, the start and end of which are to be interpreted by the IXP (some may use UTC, some may use their local time zone).
|
| GET |
/network-service-configs/{id}/statistics
|
Read the aggregated statistics of a NetworkServiceConfig. A start and end query parameter can be used to retrieve the aggregated traffic for a given window. In this case the key of the returned statistics is custom. With a given start and end window, the resolution for the aggregated data is chosen by the implementation. You need to check the accuracy attribute of the aggregate, to see if the data can be used for the desired usecase. The accuracy is the ratio of total samples to expected samples. If no start or end parameter is given, a sliding window is assumed and key value pairs of resolutions and aggregated statistics are returned.
|
| GET |
/network-service-configs/{id}/statistics/{aggregate}/timeseries
|
Read a NetworkServiceConfigs aggregated timeseries. The resolution is defined by the aggregate. Mockzilla mock: no signup, no API key.
|
| GET |
/network-services
|
List available NetworkServices.
|
| POST |
/network-services
|
Create a new network service
|
| DEL |
/network-services/{id}
|
Request decomissioning of the network service. The network service will enter the state of decommission_requested. The request will cascade to related network service and feature configs. An optional request body can be provided to request a specific service termination date. If no date is given in the request body, it is assumed to be the earliest possible date. Possible values for decommission_at can be queried through the network_service_cancellation_policy_read operation. The response will contain the dates on which the changes will be effected.
|
| GET |
/network-services/{id}
|
Get a specific network-service by id.
|
| PATCH |
/network-services/{id}
|
Update a network service. Served by the Mockzilla mock runtime.
|
| PUT |
/network-services/{id}
|
DEPRECATION NOTICE: This operation will be removed in favor of using PATCH for all updates. Update a network service.
|
| GET |
/network-services/{id}/cancellation-policy
|
The cancellation-policy can be queried to answer the questions: If I cancel my service, when will it be technically decommissioned? If I cancel my service, until what date will I be charged? When the query parameter decommision_at is not provided it will provide the first possible cancellation date and charge period if cancelled at above date. The granularity of the date field is a day, the start and end of which are to be interpreted by the IXP (some may use UTC, some may use their local time zone).
|
| DEL |
/network-services/{id}/change-request
|
Retract or reject a change to the network service.
|
| GET |
/network-services/{id}/change-request
|
Get the change request.
|
| POST |
/network-services/{id}/change-request
|
Request a change to the network service. The B-side participant in a peer-to-peer network service (p2p_vc) can issue a change request, expressing a desired change in the capacity. The change is accepted when the A-side has configured the network service and config with the new bandwidth. This is done using the network_service_update, network_service_partial_update, network_service_config_update or network_service_config_partial_update operations by the A-side. These changes can sometimes require a change of the product offering. The product offering may only differ in bandwidth. The network service will change its state from production into production_change_pending. A change can by rejected (by the A-side) or retracted (by the B-side) using the network_service_change_request_destroy operation. Only one change request may be issued at a time. A change request by the A-side is not a valid request and will be rejected. Mocked via Mockzilla.
|
| GET |
/network-services/{id}/statistics
|
Read a NetworkServices aggregated statistics. A start and end query parameter can be used to retrieve the aggregated traffic for a given window. In this case the key of the returned statistics is custom. With a given start and end window, the resolution for the aggregated data is chosen by the implementation. You need to check the accuracy attribute of the aggregate, to see if the data can be used for the desired usecase. The accuracy is the ratio of total samples to expected samples. If no start or end parameter is given, a sliding window is assumed and key value pairs of resolutions and aggregated statistics are returned.
|
| GET |
/network-services/{id}/statistics/{aggregate}/timeseries
|
Read a NetworkServices aggregated timeseries. The resolution is defined by the aggregate.
|
| GET |
/pops
|
List all PoPs
|
| GET |
/pops/{id}
|
Get a single point of presence
|
| GET |
/port-reservations
|
List all port reservations. Available as a Mockzilla mock endpoint.
|
| POST |
/port-reservations
|
Create a new PortReservation. Two workflows for allocating ports is supported and dependent on the cross_connect_initiator property of the corresponding product-offering: Individual LOAs can be uploaded and downloaded for each PortAllocation using the endpoint /port-reservations/{id}/loa. Please refer to the internet exchange's api usage guide for implementation specific details.
|
| DEL |
/port-reservations/{id}
|
Request decommissioning the port-reservation. The associated port will be deallocated and removed from the connection.
|
| GET |
/port-reservations/{id}
|
Retrieve a PortReservation.
|
| PATCH |
/port-reservations/{id}
|
Update a port reservation.
|
| PUT |
/port-reservations/{id}
|
DEPRECATION NOTICE: This operation will be removed in favor of using PATCH for all updates. Update a port reservation. Mockzilla mock: no signup, no API key.
|
| GET |
/port-reservations/{id}/cancellation-policy
|
The cancellation-policy can be queried to answer the questions: If I cancel my subscription, when will it be technically decommissioned? If I cancel my subscription, until what date will I be charged? When the query parameter decommision_at is not provided it will provide the first possible cancellation date and charge period if cancelled at above date. The granularity of the date field is a day, the start and end of which are to be interpreted by the IXP (some may use UTC, some may use their local time zone).
|
| GET |
/port-reservations/{id}/loa
|
Download the Letter Of Authorization associated with the port-reservation. In case of a subscriber initiated cross-connect, it will be provided by the exchange.
|
| POST |
/port-reservations/{id}/loa
|
Upload a Letter Of Authorization for this PortReservation.
|
| GET |
/ports
|
List all ports.
|
| GET |
/ports/{id}
|
Retrieve a port. Served by the Mockzilla mock runtime.
|
| GET |
/ports/{id}/statistics
|
Read a Ports aggregated statistics. A start and end query parameter can be used to retrieve the aggregated traffic for a given window. In this case the key of the returned statistics is custom. With a given start and end window, the resolution for the aggregated data is chosen by the implementation. You need to check the accuracy attribute of the aggregate, to see if the data can be used for the desired usecase. The accuracy is the ratio of total samples to expected samples. If no start or end parameter is given, a sliding window is assumed and key value pairs of resolutions and aggregated statistics are returned.
|
| GET |
/ports/{id}/statistics/{aggregate}/timeseries
|
Read a Ports aggregated timeseries. The resolution is defined by the aggregate.
|
| GET |
/product-offerings
|
List all (filtered) products-offerings available on the platform
|
| GET |
/product-offerings/{id}
|
Get a single products-offering by id.
|
| GET |
/role-assignments
|
List all role assignments for a contact. Mocked via Mockzilla.
|
| POST |
/role-assignments
|
Assign a Role to a Contact. The contact needs to have all fields filled, which the role requires. If this is not the case a 400 UnableToFulfill will be returned.
|
| DEL |
/role-assignments/{id}
|
Remove a role assignment from a contact. If the contact is still in use with a given role required, this will yield an UnableToFulfill error.
|
| GET |
/role-assignments/{id}
|
Get a role assignment for a contact.
|
| GET |
/roles
|
List all roles available.
|
| GET |
/roles/{id}
|
Get a single Role. Available as a Mockzilla mock endpoint.
|