Saltar al contenido principal
GET
/
v2
/
apps
/
{app_id}
/
network
/
performance
Rendimiento de red
curl --request GET \
  --url https://api.squarecloud.app/v2/apps/{app_id}/network/performance \
  --header 'Authorization: <authorization>'
import requests

url = "https://api.squarecloud.app/v2/apps/{app_id}/network/performance"

headers = {"Authorization": "<authorization>"}

response = requests.get(url, headers=headers)

print(response.text)
const options = {method: 'GET', headers: {Authorization: '<authorization>'}};

fetch('https://api.squarecloud.app/v2/apps/{app_id}/network/performance', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));
<?php

$curl = curl_init();

curl_setopt_array($curl, [
CURLOPT_URL => "https://api.squarecloud.app/v2/apps/{app_id}/network/performance",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: <authorization>"
],
]);

$response = curl_exec($curl);
$err = curl_error($curl);

curl_close($curl);

if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}
package main

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

func main() {

url := "https://api.squarecloud.app/v2/apps/{app_id}/network/performance"

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

req.Header.Add("Authorization", "<authorization>")

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

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

fmt.Println(string(body))

}
HttpResponse<String> response = Unirest.get("https://api.squarecloud.app/v2/apps/{app_id}/network/performance")
.header("Authorization", "<authorization>")
.asString();
require 'uri'
require 'net/http'

url = URI("https://api.squarecloud.app/v2/apps/{app_id}/network/performance")

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

request = Net::HTTP::Get.new(url)
request["Authorization"] = '<authorization>'

response = http.request(request)
puts response.read_body
{
  "status": "success",
  "response": {
    "summary": {
      "edge": { "p50": 42, "p95": 180, "p99": 320 },
      "origin": { "p50": 28, "p95": 150, "p99": 280 },
      "requests": 12450
    },
    "timeseries": [
      {
        "date": "2025-12-01T12:00:00.000Z",
        "requests": 540,
        "edge": { "p50": 41, "p95": 175, "p99": 310 },
        "origin": { "p50": 27, "p95": 148, "p99": 270 }
      }
    ],
    "countries": [
      { "type": "BR", "p50": 35, "p95": 160, "requests": 8200 },
      { "type": "US", "p50": 55, "p95": 210, "requests": 3100 }
    ],
    "colos": [
      {
        "type": "GRU",
        "city": "São Paulo",
        "country": "BR",
        "p50": 34,
        "p95": 158,
        "requests": 8100
      }
    ],
    "slowest_paths": [
      {
        "path": "/api/reports/generate",
        "p95": 820,
        "p99": 1500,
        "requests": 230
      }
    ]
  }
}
Devuelve los percentiles de tiempo de respuesta del edge y del origen (p50, p95, p99) de la aplicación durante una ventana de tiempo, además de desgloses por país, por colo y por las rutas más lentas. Útil para diagnosticar regresiones de latencia e identificar qué rutas o regiones son las más lentas.
Disponible únicamente en los planes Pro y Enterprise. Límite de tasa en caso de cache miss: 10 solicitudes por cada 60 segundos por propietario.
Authorization
string
requerido
La clave de API de tu cuenta. Puedes encontrarla en la configuración de tu cuenta.

Parámetros

app_id
string
requerido
El ID de la aplicación. Puedes encontrarlo en la URL del panel de tu aplicación.
start
string
requerido
Timestamp de inicio en formato ISO 8601 para la ventana de análisis.
end
string
requerido
Timestamp de fin en formato ISO 8601. Debe ser posterior a start.

Respuesta

status
string
Indica si la llamada fue exitosa. success si fue exitosa, error si no.
response
object
Percentiles de latencia y desgloses de la ventana.
{
  "status": "success",
  "response": {
    "summary": {
      "edge": { "p50": 42, "p95": 180, "p99": 320 },
      "origin": { "p50": 28, "p95": 150, "p99": 280 },
      "requests": 12450
    },
    "timeseries": [
      {
        "date": "2025-12-01T12:00:00.000Z",
        "requests": 540,
        "edge": { "p50": 41, "p95": 175, "p99": 310 },
        "origin": { "p50": 27, "p95": 148, "p99": 270 }
      }
    ],
    "countries": [
      { "type": "BR", "p50": 35, "p95": 160, "requests": 8200 },
      { "type": "US", "p50": 55, "p95": 210, "requests": 3100 }
    ],
    "colos": [
      {
        "type": "GRU",
        "city": "São Paulo",
        "country": "BR",
        "p50": 34,
        "p95": 158,
        "requests": 8100
      }
    ],
    "slowest_paths": [
      {
        "path": "/api/reports/generate",
        "p95": 820,
        "p99": 1500,
        "requests": 230
      }
    ]
  }
}