Toutes les ressources
    Documentation

    Documentation de l’API

    Intégrez SkyGIS à vos workflows avec notre API REST. Automatisez les imports, gérez les projets et extrayez les données par programmation.

    Authentification

    Toutes les requêtes API nécessitent un jeton Bearer. Générez des clés API depuis les paramètres de votre compte, sous Developer → API Keys.

    curl -H "Authorization: Bearer YOUR_API_KEY" \
         https://api.skygis.io/v1/projects
    Limites de requêtes : offre gratuite, 100 requêtes/heure ; Core, 1 000/heure ; Plus, 10 000/heure ; Enterprise, limites personnalisées.

    Projets

    Lister les projets

    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 }
    }

    Créer un projet

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

    Supprimer un projet

    DELETE /v1/projects/:project_id

    Supprime définitivement un projet et toutes les données associées. Cette action est irréversible.

    Imports

    Importer un fichier

    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

    Renvoie un identifiant d’import permettant de suivre l’état du traitement. Les fichiers volumineux sont automatiquement importés par blocs.

    Vérifier l’état du traitement

    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"
    }

    Mesures

    Créer une mesure

    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" }
    }

    Partage

    Créer un lien de partage

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

    Webhooks

    Abonnez-vous à des événements pour être notifié en temps réel lorsqu’un traitement se termine, qu’un projet est partagé ou qu’un seuil de stockage est atteint.

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

    SDK et bibliothèques

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