Tutte le risorse
    Documentazione

    Documentazione API

    Integra SkyGIS nei tuoi flussi di lavoro con la nostra API RESTful. Automatizza i caricamenti, gestisci i progetti ed estrai i dati da codice.

    Autenticazione

    Tutte le richieste API richiedono un Bearer token. Puoi generare le chiavi API nelle impostazioni del tuo account, in Developer → API Keys.

    curl -H "Authorization: Bearer YOUR_API_KEY" \
         https://api.skygis.io/v1/projects
    Limiti di frequenza: piano gratuito: 100 richieste/ora. Core: 1.000/ora. Plus: 10.000/ora. Enterprise: limiti personalizzati.

    Progetti

    Elenca i progetti

    GET /v1/projects
    
    Response:
    {
      "data": [
        {
          "id": "proj_abc123",
          "name": "Highway Survey Q1",
          "created_at": "2025-01-15T10:30:00Z",
          "storage_bytes": 5368709120,
          "status": "active"
        }
      ],
      "meta": { "total": 12, "page": 1 }
    }

    Crea un progetto

    POST /v1/projects
    Content-Type: application/json
    
    {
      "name": "Bridge Inspection 2025",
      "description": "Quarterly scan of Main St bridge",
      "crs": "EPSG:32632",
      "tags": ["bridge", "infrastructure"]
    }

    Elimina un progetto

    DELETE /v1/projects/:project_id

    Elimina definitivamente un progetto e tutti i dati associati. L'operazione non può essere annullata.

    Caricamenti

    Carica un file

    POST /v1/projects/:project_id/uploads
    Content-Type: multipart/form-data
    
    file: <binary>
    format: "e57"    // optional, auto-detected
    crs: "EPSG:4326" // optional, from file metadata

    Restituisce un ID di caricamento per seguire lo stato dell'elaborazione. I file di grandi dimensioni vengono caricati automaticamente a blocchi.

    Controlla lo stato dell'elaborazione

    GET /v1/uploads/:upload_id
    
    Response:
    {
      "id": "upl_xyz789",
      "status": "processing", // queued | processing | ready | failed
      "progress": 0.65,
      "points_processed": 142000000,
      "estimated_completion": "2025-01-15T10:45:00Z"
    }

    Misure

    Crea una misura

    POST /v1/projects/:project_id/measurements
    Content-Type: application/json
    
    {
      "type": "distance",
      "points": [
        { "x": 548234.12, "y": 5765432.89, "z": 312.45 },
        { "x": 548267.34, "y": 5765445.12, "z": 314.22 }
      ]
    }
    
    Response:
    {
      "id": "meas_001",
      "type": "distance",
      "result": { "value": 35.28, "unit": "meters" }
    }

    Condivisione

    Crea un link di condivisione

    POST /v1/projects/:project_id/shares
    Content-Type: application/json
    
    {
      "permissions": ["view", "measure"],
      "expires_at": "2025-06-01T00:00:00Z",
      "password": "optional-password"
    }

    Webhook

    Iscriviti agli eventi per ricevere notifiche in tempo reale quando un'elaborazione termina, un progetto viene condiviso o si raggiungono determinate soglie di spazio di archiviazione.

    POST /v1/webhooks
    Content-Type: application/json
    
    {
      "url": "https://your-app.com/webhooks/skygis",
      "events": ["upload.ready", "upload.failed", "project.shared"]
    }

    SDK e librerie

    • Python - pip install skygis
    • JavaScript/TypeScript - npm install @skygis/sdk
    • CLI - brew install skygis-cli