Citra Space Edge API

The Edge API from Citra Space — 3 operation(s) for edge.

Operations 3

GET /edge/gps-jamming/interference Get Gps Jamming Interference #
GET /edge/operating-picture/satellites Get Operating Picture Satellites #
GET /edge/operating-picture/sensor-stats Get Operating Picture Sensor Stats #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/citra-space:citra-space-edge-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

citra-space-edge-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: SOICAT Edge API
  version: 0.1.0
tags:
- name: Edge
paths:
  /edge/gps-jamming/interference:
    get:
      description: Returns GPS interference levels per H3 hex cell.
      operationId: get_gps_jamming_interference_edge_gps_jamming_interference_get
      parameters:
      - in: header
        name: X-Scenario-Context
        required: false
        schema:
          anyOf:
          - format: uuid
            type: string
          - type: 'null'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GPSJammingResponse'
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      summary: Get Gps Jamming Interference
      tags:
      - Edge
  /edge/operating-picture/satellites:
    get:
      description: 'Slim batched satellite payload for the Operating Picture identity table + globe. Replaces the per-row `GET /satellites/{id}` fan-out: one request returns each requested satellite''s catalog scalars, elset/transmission counts, freshness epochs, and identity-confidence chip. Heavy nested arrays (full elsets, transmissions, aliases) stay on `GET /satellites/{id}` for the detail panel.'
      operationId: get_operating_picture_satellites_edge_operating_picture_satellites_get
      parameters:
      - description: Satellite IDs to load. Max 200 per request.
        in: query
        name: ids
        required: false
        schema:
          description: Satellite IDs to load. Max 200 per request.
          items:
            format: uuid
            type: string
          title: Ids
          type: array
      - in: header
        name: X-Scenario-Context
        required: false
        schema:
          anyOf:
          - format: uuid
            type: string
          - type: 'null'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OperatingPictureSatelliteList'
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      summary: Get Operating Picture Satellites
      tags:
      - Edge
  /edge/operating-picture/sensor-stats:
    get:
      description: Aggregate per-sensor observation stats for the Operating Picture's Sensor Status section. Returns a single response with the requested sensors' last_epoch, total_last_day, and (for optical) group_last_day subtotal restricted to the operator's selected group satellites.
      operationId: get_operating_picture_sensor_stats_edge_operating_picture_sensor_stats_get
      parameters:
      - description: Sensor IDs (telescope_id for optical, antenna_id for RF).
        in: query
        name: sensor_ids
        required: false
        schema:
          description: Sensor IDs (telescope_id for optical, antenna_id for RF).
          items:
            format: uuid
            type: string
          title: Sensor Ids
          type: array
      - description: Satellite IDs in the active Operating Picture groups.
        in: query
        name: group_satellite_ids
        required: false
        schema:
          description: Satellite IDs in the active Operating Picture groups.
          items:
            format: uuid
            type: string
          title: Group Satellite Ids
          type: array
      - description: Lookback window from now, in hours (default 24).
        in: query
        name: window_hours
        required: false
        schema:
          default: 24
          description: Lookback window from now, in hours (default 24).
          maximum: 168
          minimum: 1
          title: Window Hours
          type: integer
      - in: header
        name: X-Scenario-Context
        required: false
        schema:
          anyOf:
          - format: uuid
            type: string
          - type: 'null'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SensorStatsResponse'
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
      summary: Get Operating Picture Sensor Stats
      tags:
      - Edge
components:
  schemas:
    MissionCategory:
      enum:
      - Communications
      - Imaging
      - Science & Technology
      - Calibration
      - Spaceship
      - Navigation
      - Sigint
      - Meteorology
      - Radar Imaging
      - Early Warning
      - Earth Observation Science
      - Classified
      title: MissionCategory
      type: string
    GPSJammingResponse:
      properties:
        cells:
          items:
            items: false
            maxItems: 2
            minItems: 2
            prefixItems:
            - type: string
            - type: number
            type: array
          title: Cells
          type: array
        generatedAt:
          format: date-time
          title: Generatedat
          type: string
        resolution:
          title: Resolution
          type: integer
      required:
      - generatedAt
      - resolution
      - cells
      title: GPSJammingResponse
      type: object
    ManeuverStatus:
      enum:
      - unverified
      - verified
      - rejected
      title: ManeuverStatus
      type: string
    SensorObservationStats:
      description: 'Aggregate per-sensor stats for the Operating Picture''s Sensor

        Status section.


        `group_last_day` is the count restricted to the operator''s currently

        selected group satellites (via `group_satellite_ids`). It''s

        intentionally `None` for RF antennas because today''s `rf_capture`

        rows don''t carry `satellite_id` directly — they only join through

        the optional `task_id` — so the count would be misleadingly low

        whenever a capture wasn''t bound to a tasked observation. The UI

        renders that gap as an explicit "—" instead of "0".'
      properties:
        groupLastDay:
          anyOf:
          - type: integer
          - type: 'null'
        lastEpoch:
          anyOf:
          - format: date-time
            type: string
          - type: 'null'
        sensorId:
          format: uuid
          title: Sensorid
          type: string
        totalLastDay:
          default: 0
          title: Totallastday
          type: integer
      required:
      - sensorId
      title: SensorObservationStats
      type: object
    Sector:
      enum:
      - Commercial
      - Civil
      - Defense
      - Amateur
      title: Sector
      type: string
    SatelliteIdentityScore:
      description: 'Server-computed identity-confidence chip shown by the Operating

        Picture Satellite Identity table (and reusable by any other surface

        that wants the same NOMINAL/DEGRADED/CRITICAL signal).


        Derived from the same freshness signals that drive the table''s

        per-cell dots (orbit, observations, maneuver, stability) by

        ``soicat.services.identity_score``.'
      properties:
        confidence:
          title: Confidence
          type: integer
        label:
          enum:
          - NOMINAL
          - DEGRADED
          - CRITICAL
          - DECAYED
          title: Label
          type: string
        rationale:
          title: Rationale
          type: string
      required:
      - confidence
      - label
      - rationale
      title: SatelliteIdentityScore
      type: object
    SensorStatsResponse:
      description: Single response payload for `GET /edge/operating-picture/sensor-stats`.
      properties:
        stats:
          items:
            $ref: '#/components/schemas/SensorObservationStats'
          title: Stats
          type: array
        windowEnd:
          format: date-time
          title: Windowend
          type: string
        windowStart:
          format: date-time
          title: Windowstart
          type: string
      required:
      - windowStart
      - windowEnd
      - stats
      title: SensorStatsResponse
      type: object
    OperatingPictureSatellite:
      description: 'Slim satellite payload for the Operating Picture batched fetch.


        Returned by ``GET /edge/operating-picture/satellites?ids=...``. Holds

        only the fields the identity table and globe consume — full

        ``elsets`` / ``transmissions`` / ``aliases`` arrays stay on

        ``GET /satellites/{id}`` for the detail panel.


        Counts (``elset_count``, ``transmission_count``) replace

        ``len(elsets)`` / ``len(transmissions)`` so a row can render a chip

        without the heavy nested arrays.'
      properties:
        altitudeKm:
          anyOf:
          - type: number
          - type: 'null'
        bus:
          anyOf:
          - type: string
          - type: 'null'
        countryCode:
          anyOf:
          - type: string
          - type: 'null'
        countryIso:
          anyOf:
          - type: string
          - type: 'null'
        countryName:
          anyOf:
          - type: string
          - type: 'null'
        decayEpoch:
          anyOf:
          - type: string
          - type: 'null'
        elsetCount:
          default: 0
          title: Elsetcount
          type: integer
        id:
          format: uuid
          title: Id
          type: string
        identityScore:
          anyOf:
          - $ref: '#/components/schemas/SatelliteIdentityScore'
          - type: 'null'
        isStable:
          anyOf:
          - type: boolean
          - type: 'null'
        lastDoaEpoch:
          anyOf:
          - type: string
          - type: 'null'
        lastManeuverEpoch:
          anyOf:
          - type: string
          - type: 'null'
        lastManeuverStatus:
          anyOf:
          - $ref: '#/components/schemas/ManeuverStatus'
          - type: 'null'
        lastOpticalEpoch:
          anyOf:
          - type: string
          - type: 'null'
        lastOrbitRmsKm:
          anyOf:
          - type: number
          - type: 'null'
        lastRadarEpoch:
          anyOf:
          - type: string
          - type: 'null'
        launchDateEpoch:
          anyOf:
          - type: string
          - type: 'null'
        launchSiteName:
          anyOf:
          - type: string
          - type: 'null'
        manufacturer:
          anyOf:
          - type: string
          - type: 'null'
        mission:
          anyOf:
          - $ref: '#/components/schemas/MissionCategory'
          - type: 'null'
        name:
          anyOf:
          - type: string
          - type: 'null'
        noradCatId:
          anyOf:
          - type: integer
          - type: 'null'
        orbitRegime:
          anyOf:
          - type: string
          - type: 'null'
        owner:
          anyOf:
          - type: string
          - type: 'null'
        secondaryMission:
          anyOf:
          - $ref: '#/components/schemas/MissionCategory'
          - type: 'null'
        sector:
          anyOf:
          - $ref: '#/components/schemas/Sector'
          - type: 'null'
        semiMajorAxisKm:
          anyOf:
          - type: number
          - type: 'null'
        stabilityCalculatedAt:
          anyOf:
          - type: string
          - type: 'null'
        transmissionCount:
          default: 0
          title: Transmissioncount
          type: integer
      required:
      - id
      title: OperatingPictureSatellite
      type: object
    ValidationError:
      properties:
        ctx:
          type: object
        input: {}
        loc:
          items:
            oneOf:
            - type: string
            - format: int64
              type: integer
          type: array
        msg:
          type: string
        type:
          type: string
      required:
      - loc
      - msg
      - type
      type: object
    OperatingPictureSatelliteList:
      items:
        $ref: '#/components/schemas/OperatingPictureSatellite'
      title: OperatingPictureSatelliteList
      type: array
    HTTPValidationError:
      properties:
        detail:
          items:
            $ref: '#/components/schemas/ValidationError'
          type: array
      type: object
  securitySchemes:
    HTTPBearer:
      scheme: bearer
      type: http