> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://es.megaport.ferndocs.com/es/llms.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://es.megaport.ferndocs.com/es/_mcp/server.

# Eventos de Mantenimiento

GET https://api.megaport.com/ens/v1/status/maintenance

Devuelve detalles sobre eventos de mantenimiento, filtrados por el valor de estado especificado.

La siguiente información se devuelve para eventos de mantenimiento en la respuesta, con algunos campos siendo opcionales e incluidos solo bajo ciertas condiciones. Por ejemplo, `cancelReason` se devuelve solo si el evento está cancelado.

- `eventId` - Número de ticket contra el cual se crea un evento particular.
    
- `state` - Estado actual del evento.
    
- `startTime` - Hora de inicio del evento en formato UTC ISO 8601 (yyyy-MM-dd'T'HH:mm:ss.SSSX).
    
- `endTime` - Hora de finalización del evento en formato UTC ISO 8601 (yyyy-MM-dd'T'HH:mm:ss.SSSX).
    
- `impact` - Impacto del evento en los servicios, si lo hubiera.
    
- `purpose` - Razón por la cual se crea este evento.
    
- `cancelReason` - Campo devuelto si el evento está cancelado, indicando la razón de la cancelación.
    
- `eventType` - Si el evento se crea con poco aviso, el tipo de evento es "Emergency"; de lo contrario, es un evento "Planned".
    
- `services` - Lista de servicios afectados por el evento, que contiene los UUID cortos de los servicios.

Reference: https://es.megaport.ferndocs.com/es/api-reference/maintenance-and-outage-events/maintenance-events

## Servers

- `https://api.megaport.com` (Entorno de producción, default)
- `https://api-staging.megaport.com` (Entorno de pruebas (solo pruebas, se restablece cada 24 horas))

## Request

### Query parameters

- `state` (string, optional) — Filtrar por el estado del evento de mantenimiento. Los valores para el estado son "Completado", "Cancelado", "Programado" y "En ejecución". Si no especifica un valor, el valor predeterminado es "En ejecución". Los valores no distinguen entre mayúsculas y minúsculas. (Opcional).

## Response

### 200

Eventos de Mantenimiento - Programados / Eventos de Mantenimiento - Cuenta Administrada / Eventos de Mantenimiento - Cuenta Administrada / Eventos de Mantenimiento - Programados

- `list of EnsV1StatusMaintenanceGetResponsesContentApplicationJsonSchemaItems`

## Types

### EnsV1StatusMaintenanceGetResponsesContentApplicationJsonSchemaItems

- `cancelReason` (string, optional)
- `endTime` (string, optional)
- `eventId` (string, optional)
- `eventType` (string, optional)
- `impact` (string, optional)
- `purpose` (string, optional)
- `services` (list of string, optional)
- `startTime` (string, optional)
- `state` (string, optional)

## Examples

### Maintenance Events - Managed Account

**Response**

```json
[
  {
    "endTime": "2024-05-24T09:42:00.000Z",
    "eventId": "CSS-1234",
    "eventType": "Emergency",
    "impact": "There will be minor impact on services.",
    "purpose": "Services will become more effective",
    "services": [
      "f06c80bc",
      "0746e9a3"
    ],
    "startTime": "2024-05-24T09:12:00.000Z",
    "state": "Scheduled"
  },
  {
    "cancelReason": "Not Needed",
    "endTime": "2024-05-24T09:42:00.000Z",
    "eventId": "CSS-1235",
    "eventType": "Emergency",
    "impact": "There will be minor impact on services.",
    "purpose": "Services will become more effective",
    "services": [
      "f06c80bc",
      "0746e9a3"
    ],
    "startTime": "2024-05-24T09:12:00.000Z",
    "state": "Cancelled"
  }
]
```

**SDK Code**

```python Maintenance Events - Managed Account
import requests

url = "https://api.megaport.com/ens/v1/status/maintenance"

response = requests.get(url)

print(response.json())
```

```javascript Maintenance Events - Managed Account
const url = 'https://api.megaport.com/ens/v1/status/maintenance';
const options = {method: 'GET'};

try {
  const response = await fetch(url, options);
  const data = await response.json();
  console.log(data);
} catch (error) {
  console.error(error);
}
```

```go Maintenance Events - Managed Account
package main

import (
	"fmt"
	"net/http"
	"io"
)

func main() {

	url := "https://api.megaport.com/ens/v1/status/maintenance"

	req, _ := http.NewRequest("GET", url, nil)

	res, _ := http.DefaultClient.Do(req)

	defer res.Body.Close()
	body, _ := io.ReadAll(res.Body)

	fmt.Println(res)
	fmt.Println(string(body))

}
```

```ruby Maintenance Events - Managed Account
require 'uri'
require 'net/http'

url = URI("https://api.megaport.com/ens/v1/status/maintenance")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Get.new(url)

response = http.request(request)
puts response.read_body
```

```java Maintenance Events - Managed Account
import com.mashape.unirest.http.HttpResponse;
import com.mashape.unirest.http.Unirest;

HttpResponse<String> response = Unirest.get("https://api.megaport.com/ens/v1/status/maintenance")
  .asString();
```

```php Maintenance Events - Managed Account
<?php
require_once('vendor/autoload.php');

$client = new \GuzzleHttp\Client();

$response = $client->request('GET', 'https://api.megaport.com/ens/v1/status/maintenance');

echo $response->getBody();
```

```csharp Maintenance Events - Managed Account
using RestSharp;

var client = new RestClient("https://api.megaport.com/ens/v1/status/maintenance");
var request = new RestRequest(Method.GET);
IRestResponse response = client.Execute(request);
```

```swift Maintenance Events - Managed Account
import Foundation

let request = NSMutableURLRequest(url: NSURL(string: "https://api.megaport.com/ens/v1/status/maintenance")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "GET"

let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
  if (error != nil) {
    print(error as Any)
  } else {
    let httpResponse = response as? HTTPURLResponse
    print(httpResponse)
  }
})

dataTask.resume()
```

### Maintenance Events - Scheduled

**Response**

```json
[
  {
    "endTime": "2024-05-24T09:42:00.000Z",
    "eventId": "CSS-1234",
    "eventType": "Emergency",
    "impact": "There will be minor impact on services.",
    "purpose": "Services will become more effective",
    "services": [
      "f06c80bc",
      "0746e9a3"
    ],
    "startTime": "2024-05-24T09:12:00.000Z",
    "state": "Scheduled"
  },
  {
    "cancelReason": "Not Needed",
    "endTime": "2024-05-24T09:42:00.000Z",
    "eventId": "CSS-1235",
    "eventType": "Emergency",
    "impact": "There will be minor impact on services.",
    "purpose": "Services will become more effective",
    "services": [
      "f06c80bc",
      "0746e9a3"
    ],
    "startTime": "2024-05-24T09:12:00.000Z",
    "state": "Cancelled"
  }
]
```

**SDK Code**

```python Maintenance Events - Scheduled
import requests

url = "https://api.megaport.com/ens/v1/status/maintenance"

response = requests.get(url)

print(response.json())
```

```javascript Maintenance Events - Scheduled
const url = 'https://api.megaport.com/ens/v1/status/maintenance';
const options = {method: 'GET'};

try {
  const response = await fetch(url, options);
  const data = await response.json();
  console.log(data);
} catch (error) {
  console.error(error);
}
```

```go Maintenance Events - Scheduled
package main

import (
	"fmt"
	"net/http"
	"io"
)

func main() {

	url := "https://api.megaport.com/ens/v1/status/maintenance"

	req, _ := http.NewRequest("GET", url, nil)

	res, _ := http.DefaultClient.Do(req)

	defer res.Body.Close()
	body, _ := io.ReadAll(res.Body)

	fmt.Println(res)
	fmt.Println(string(body))

}
```

```ruby Maintenance Events - Scheduled
require 'uri'
require 'net/http'

url = URI("https://api.megaport.com/ens/v1/status/maintenance")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Get.new(url)

response = http.request(request)
puts response.read_body
```

```java Maintenance Events - Scheduled
import com.mashape.unirest.http.HttpResponse;
import com.mashape.unirest.http.Unirest;

HttpResponse<String> response = Unirest.get("https://api.megaport.com/ens/v1/status/maintenance")
  .asString();
```

```php Maintenance Events - Scheduled
<?php
require_once('vendor/autoload.php');

$client = new \GuzzleHttp\Client();

$response = $client->request('GET', 'https://api.megaport.com/ens/v1/status/maintenance');

echo $response->getBody();
```

```csharp Maintenance Events - Scheduled
using RestSharp;

var client = new RestClient("https://api.megaport.com/ens/v1/status/maintenance");
var request = new RestRequest(Method.GET);
IRestResponse response = client.Execute(request);
```

```swift Maintenance Events - Scheduled
import Foundation

let request = NSMutableURLRequest(url: NSURL(string: "https://api.megaport.com/ens/v1/status/maintenance")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "GET"

let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
  if (error != nil) {
    print(error as Any)
  } else {
    let httpResponse = response as? HTTPURLResponse
    print(httpResponse)
  }
})

dataTask.resume()
```