Todos los recursos
    Documentación

    Documentación de la API

    Integre SkyGIS en sus flujos de trabajo con nuestra API REST. Automatice las subidas, gestione proyectos y extraiga datos mediante programación.

    Autenticación

    Todas las peticiones a la API requieren un token Bearer. Genere las claves de API en la configuración de su cuenta, en Developer → API Keys.

    curl -H "Authorization: Bearer YOUR_API_KEY" \
         https://api.skygis.io/v1/projects
    Límites de peticiones: Plan gratuito: 100 peticiones/hora. Core: 1.000/hora. Plus: 10.000/hora. Enterprise: límites personalizados.

    Proyectos

    Listar proyectos

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

    Crear un proyecto

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

    Eliminar un proyecto

    DELETE /v1/projects/:project_id

    Elimina de forma permanente un proyecto y todos sus datos asociados. Esta acción no se puede deshacer.

    Subidas

    Subir un archivo

    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

    Devuelve un ID de subida para hacer el seguimiento del estado de procesamiento. Los archivos grandes se suben automáticamente por fragmentos.

    Consultar el estado de procesamiento

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

    Mediciones

    Crear una medición

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

    Compartir

    Crear un enlace compartido

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

    Webhooks

    Suscríbase a eventos para recibir notificaciones en tiempo real cuando finalice un procesamiento, se comparta un proyecto o se alcancen determinados umbrales de almacenamiento.

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

    SDK y bibliotecas

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