> ## Documentation Index
> Fetch the complete documentation index at: https://www.worldmonitor.app/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# GetPointPasses

> GetPointPasses returns every imaging pass whose footprint covers a point over the last 7 days and the next 72 hours, each with one tier, and the archive images matched to them. The point is rounded to 0.01 degrees and the response names the point used. PRO-gated. Requires entitlement tier >= 1.



## OpenAPI

````yaml /api/worldmonitor.openapi.yaml get /api/orbital/v1/get-point-passes
openapi: 3.1.0
info:
  title: WorldMonitor API
  description: >-
    Unified OpenAPI bundle spanning all WorldMonitor services. Versioning and
    deprecation policy: https://www.worldmonitor.app/api-versioning.md (HTML:
    https://www.worldmonitor.app/docs/api-versioning)
  contact:
    name: WorldMonitor
    email: support@worldmonitor.app
  version: 1.0.0
servers:
  - url: https://api.worldmonitor.app
security:
  - WorldMonitorKey: []
  - ApiKeyHeader: []
paths:
  /api/orbital/v1/get-point-passes:
    get:
      tags:
        - OrbitalService
      summary: GetPointPasses
      description: >-
        GetPointPasses returns every imaging pass whose footprint covers a point
        over the last 7 days and the next 72 hours, each with one tier, and the
        archive images matched to them. The point is rounded to 0.01 degrees and
        the response names the point used. PRO-gated. Requires entitlement tier
        >= 1.
      operationId: GetPointPasses
      parameters:
        - name: lat
          in: query
          description: Latitude in decimal degrees, -90 to 90.
          required: false
          example: 40.7128
          schema:
            type: number
            format: double
        - name: lon
          in: query
          description: Longitude in decimal degrees, -180 to 180.
          required: false
          example: -74.006
          schema:
            type: number
            format: double
        - name: jmespath
          in: query
          description: >-
            Optional JMESPath expression applied server-side to project or
            reduce the JSON response before it is returned (mirrors the MCP
            jmespath argument). Invalid expressions, expressions larger than
            1024 UTF-8 bytes, or projections that exceed the 256 KB output cap
            return HTTP 400 with a {_jmespath_error, original_keys} envelope.
            Grammar and worked examples:
            https://www.worldmonitor.app/docs/mcp-jmespath.
          required: false
          example: keys(@)
          schema:
            type: string
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              example:
                acquisitions:
                  - archives:
                      - example
                    cloudCoverPct: 1.5
                    endMs: 1
                    imageUrl: https://example.com/worldmonitor
                    itemIds:
                      - example
                archiveStatus: example
                catalogFetchedAt: 1717200000000
                computedAt: 1717200000000
                failedSources:
                  - archive: example
                    httpStatus: 1
                    reason: example
              schema:
                $ref: >-
                  #/components/schemas/worldmonitor_orbital_v1_GetPointPassesResponse
        '400':
          description: Validation error
          content:
            application/json:
              schema:
                oneOf:
                  - $ref: '#/components/schemas/ValidationError'
                  - $ref: '#/components/schemas/JmespathProjectionError'
        '401':
          description: Missing or invalid API key.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UnauthorizedError'
        '403':
          description: PRO entitlement access denied.
          headers:
            X-Billing-Verification:
              description: >-
                Present when the 403 is a billing-provider-confirmed
                subscription lapse (value subscription_lapsed, matching the body
                `code`).
              schema:
                type: string
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ForbiddenError'
        '429':
          description: Rate limit exceeded.
          headers:
            X-RateLimit-Limit:
              description: Maximum requests allowed in the active rate-limit window.
              schema:
                type: string
            X-RateLimit-Remaining:
              description: Requests remaining in the active rate-limit window.
              schema:
                type: string
            X-RateLimit-Reset:
              description: >-
                Unix epoch milliseconds when the active rate-limit window
                resets.
              schema:
                type: string
            Retry-After:
              description: Seconds to wait before retrying the request.
              schema:
                type: string
          content:
            application/json:
              schema:
                oneOf:
                  - $ref: '#/components/schemas/Error'
                  - $ref: '#/components/schemas/RateLimitError'
        '503':
          description: >-
            Service unavailable. Billing-verification responses include code and
            X-Billing-Verification; other gateway infrastructure failures use
            the generic GatewayError shape.
          headers:
            Retry-After:
              description: Seconds to wait before retrying (1-60).
              schema:
                type: string
            X-Billing-Verification:
              description: >-
                Billing-verification state that produced this response (matches
                the body `code`).
              schema:
                type: string
            X-Validation-Mode:
              description: >-
                Present with value degraded when user API-key validation is
                temporarily unavailable.
              schema:
                type: string
            X-RateLimit-Mode:
              description: >-
                Present with value degraded when a fail-closed rate-limit
                dependency is unavailable.
              schema:
                type: string
          content:
            application/json:
              schema:
                oneOf:
                  - $ref: '#/components/schemas/BillingVerificationError'
                  - $ref: '#/components/schemas/GatewayError'
        default:
          description: Gateway or handler error response.
          content:
            application/json:
              schema:
                oneOf:
                  - $ref: '#/components/schemas/Error'
                  - $ref: '#/components/schemas/GatewayError'
      security:
        - WorldMonitorKey: []
        - ApiKeyHeader: []
        - BearerAuth: []
components:
  schemas:
    worldmonitor_orbital_v1_GetPointPassesResponse:
      type: object
      properties:
        point:
          $ref: '#/components/schemas/worldmonitor_orbital_v1_OrbitalPoint'
        windowStartMs:
          type: integer
          format: int64
          description: >-
            Search window, as Unix epoch milliseconds.. Warning: Values > 2^53
            may lose precision in JavaScript
        windowEndMs:
          type: integer
          format: int64
          description: 'Warning: Values > 2^53 may lose precision in JavaScript'
        computedAt:
          type: integer
          format: int64
          description: >-
            When the passes were computed, as Unix epoch milliseconds; past and
            future are judged against it.. Warning: Values > 2^53 may lose
            precision in JavaScript
        inventoryVersion:
          type: string
          description: Version of the sensor-profile inventory used.
        catalogFetchedAt:
          type: integer
          format: int64
          description: >-
            When the orbit elements were fetched, as Unix epoch milliseconds; 0
            with no catalog.. Warning: Values > 2^53 may lose precision in
            JavaScript
        stale:
          type: boolean
          description: >-
            True when the orbit catalog is missing or older than its freshness
            limit.
        passes:
          type: array
          items:
            $ref: '#/components/schemas/worldmonitor_orbital_v1_PointPass'
        outOfFootprintPasses:
          type: integer
          format: int32
          description: >-
            Passes in range whose footprint misses the point; they are counted,
            not listed.
        acquisitions:
          type: array
          items:
            $ref: '#/components/schemas/worldmonitor_orbital_v1_ImageAcquisition'
        archiveStatus:
          type: string
          description: >-
            "complete" when every archive answered, "partial" when one failed
            and the passes it serves keep geometry tiers.
        failedSources:
          type: array
          items:
            $ref: '#/components/schemas/worldmonitor_orbital_v1_ArchiveSourceFailure'
        unansweredProfiles:
          type: array
          items:
            type: string
            description: >-
              Missions whose every archive failed, so their passes could not be
              confirmed or ruled out.
      description: >-
        GetPointPassesResponse lists imaging passes over the rounded point for
        the last 7 days and the next 72 hours, with the archive images matched
        to them.
    ValidationError:
      type: object
      properties:
        violations:
          type: array
          items:
            $ref: '#/components/schemas/FieldViolation'
          description: List of validation violations
      required:
        - violations
      description: >-
        ValidationError is returned when request validation fails. It contains a
        list of field violations describing what went wrong.
    JmespathProjectionError:
      description: >-
        Returned when a REST jmespath projection is invalid or exceeds the
        expression/output byte limits.
      properties:
        _jmespath_error:
          description: Projection error discriminator and details.
          type: string
        original_keys:
          description: Top-level keys or shape of the unprojected response.
          items:
            type: string
          type: array
      required:
        - _jmespath_error
        - original_keys
      type: object
    UnauthorizedError:
      type: object
      properties:
        error:
          type: string
          description: Human-readable error message.
      required:
        - error
      description: >-
        Returned when the API key is missing, malformed, or lacks current API
        access.
    ForbiddenError:
      type: object
      properties:
        error:
          type: string
          description: Human-readable entitlement failure reason.
        code:
          type: string
          enum:
            - subscription_lapsed
          description: >-
            Machine-readable denial code, present when the 403 is a
            billing-provider-confirmed subscription lapse (mirrored in the
            X-Billing-Verification response header).
        requiredTier:
          type: integer
          format: int32
          description: Minimum entitlement tier required for this endpoint.
        currentTier:
          type: integer
          format: int32
          description: Caller entitlement tier when known.
        planKey:
          type: string
          description: Caller plan key when known.
      required:
        - error
      description: >-
        Returned when a PRO-gated endpoint denies access because the caller has
        no resolved authenticated user, entitlements cannot be verified, or the
        caller lacks the required entitlement tier.
    Error:
      type: object
      properties:
        message:
          type: string
          description: Error message (e.g., 'user not found', 'database connection failed')
      description: >-
        Error is returned when a handler encounters an error. It contains a
        simple error message that the developer can customize.
    RateLimitError:
      type: object
      description: Returned when a gateway or handler rate limit rejects the request.
      properties:
        error:
          type: string
          description: Human-readable rate-limit failure reason.
      required:
        - error
    BillingVerificationError:
      type: object
      description: >-
        Returned with HTTP 503 when paid access cannot be confirmed right now:
        the billing provider is re-verifying a recently expired subscription, or
        the entitlement backend is unreachable. Retryable — honor Retry-After.
      properties:
        error:
          type: string
          description: Human-readable billing-verification failure reason.
        code:
          type: string
          enum:
            - renewal_verification_pending
            - renewal_verification_failed
            - entitlement_verification_unavailable
          description: >-
            Machine-readable billing-verification state, mirrored in the
            X-Billing-Verification response header.
        requiredTier:
          type: integer
          format: int32
          description: >-
            Minimum entitlement tier required for this endpoint, when the denial
            came from a tier gate.
      required:
        - error
        - code
    GatewayError:
      type: object
      description: >-
        Returned by gateway infrastructure errors before an RPC handler runs,
        such as origin, routing, method, authentication, or quota checks.
      properties:
        error:
          oneOf:
            - type: string
            - type: object
              additionalProperties: true
          description: Gateway error reason or structured gateway failure details.
      required:
        - error
    worldmonitor_orbital_v1_OrbitalPoint:
      type: object
      properties:
        lat:
          type: number
          format: double
        lon:
          type: number
          format: double
      description: OrbitalPoint is a point in decimal degrees.
    worldmonitor_orbital_v1_PointPass:
      type: object
      properties:
        noradId:
          type: integer
          format: int32
        name:
          type: string
          description: Satellite name as published, e.g. "SENTINEL-2C".
        profileId:
          type: string
          description: Id of the sensor profile the satellite belongs to.
        category:
          type: string
          description: >-
            Sensor category, e.g. open-optical, open-radar, weather-polar,
            commercial-radar, military, crewed-station.
        timeMs:
          type: integer
          format: int64
          description: >-
            Time of closest approach, as Unix epoch milliseconds.. Warning:
            Values > 2^53 may lose precision in JavaScript
        opportunity:
          type: boolean
          description: 'True for a future pass: a chance to image, never an image.'
        groundDistanceKm:
          type: number
          format: double
          description: Ground distance from the sub-satellite point to the point, km.
        side:
          type: string
          description: >-
            Side of the ground track the point lies on, facing the direction of
            travel: "left" or "right".
        elevationDeg:
          type: number
          format: double
          description: Elevation of the satellite seen from the point, degrees.
        incidenceDeg:
          type: number
          format: double
          description: Incidence angle at the point, degrees from vertical.
        sunElevationDeg:
          type: number
          format: double
          description: Sun elevation at the point at pass time, degrees.
        edgeOfSwath:
          type: boolean
          description: >-
            True when the point is within 5 km of the footprint edge, so whether
            it was imaged is uncertain.
        coverage:
          type: boolean
          description: >-
            True when the mission acquires over this point at all (land and
            coasts for the open missions).
        tier:
          type: string
          description: >-
            One of confirmed-image, likely-imaged, within-reach,
            capability-overhead, daily-mosaic, passed-overhead, opportunity.
        tierNote:
          type: string
          description: >-
            "not-in-archive" when the archive answered without this pass after
            its publication delay; empty otherwise.
        orbitAgeDays:
          type: number
          format: double
          description: >-
            Days between the pass and the epoch of the orbit elements it was
            computed from.
        acquisitionKey:
          type: string
          description: >-
            Key of the archive acquisition this pass produced; empty when none
            matched.
      description: >-
        PointPass is one pass of a profiled imaging satellite whose footprint
        covers the point.
    worldmonitor_orbital_v1_ImageAcquisition:
      type: object
      properties:
        key:
          type: string
        profileId:
          type: string
          description: 'Sensor profile: sentinel-2, sentinel-1 or landsat.'
        platform:
          type: string
          description: Platform, e.g. "sentinel-2c" or "landsat-9".
        orbit:
          type: integer
          format: int32
          description: Relative orbit, or the Landsat WRS path; 0 when unknown.
        startMs:
          type: integer
          format: int64
          description: >-
            Sensing span, as Unix epoch milliseconds.. Warning: Values > 2^53
            may lose precision in JavaScript
        endMs:
          type: integer
          format: int64
          description: 'Warning: Values > 2^53 may lose precision in JavaScript'
        itemIds:
          type: array
          items:
            type: string
            description: Archive item ids that make up the acquisition.
        archives:
          type: array
          items:
            type: string
            description: 'Archives holding it: earth-search, planetary-computer.'
        cloudCoverPct:
          type: number
          format: double
          description: >-
            Scene cloud cover in percent, for optical acquisitions that report
            it.
        resolutionM:
          type: number
          format: double
          description: Native resolution, metres.
        imageUrl:
          type: string
          description: >-
            Public image of the acquisition: a crop around the point when the
            archive can render one, else a whole-scene preview; empty when
            neither exists.
        passNoradId:
          type: integer
          format: int32
          description: >-
            NORAD id of the pass that produced it; 0 for an image no computed
            pass explains.
        passTimeMs:
          type: integer
          format: int64
          description: >-
            Time of that pass, as Unix epoch milliseconds; 0 when unmatched..
            Warning: Values > 2^53 may lose precision in JavaScript
      description: >-
        ImageAcquisition is one archive acquisition at the point. Overlapping
        tiles and copies of one acquisition count once.
    worldmonitor_orbital_v1_ArchiveSourceFailure:
      type: object
      properties:
        archive:
          type: string
          description: earth-search or planetary-computer.
        reason:
          type: string
          description: network, http-status, invalid-response or aborted.
        httpStatus:
          type: integer
          format: int32
          description: Upstream HTTP status for http-status failures; 0 otherwise.
      description: >-
        ArchiveSourceFailure names an archive that gave no answer. It carries no
        URL.
    FieldViolation:
      type: object
      properties:
        field:
          type: string
          description: >-
            The field path that failed validation (e.g., 'user.email' for nested
            fields). For header validation, this will be the header name (e.g.,
            'X-API-Key')
        description:
          type: string
          description: >-
            Human-readable description of the validation violation (e.g., 'must
            be a valid email address', 'required field missing')
      required:
        - field
        - description
      description: FieldViolation describes a single validation error for a specific field.
  securitySchemes:
    WorldMonitorKey:
      type: apiKey
      in: header
      name: X-WorldMonitor-Key
      description: User-issued WorldMonitor API key.
    ApiKeyHeader:
      type: apiKey
      in: header
      name: X-Api-Key
      description: Alias header for the WorldMonitor API key (X-WorldMonitor-Key).
    BearerAuth:
      type: http
      scheme: bearer
      description: >-
        Bearer token: a Clerk-issued JWT for browser session flows, passed as
        Authorization: Bearer <token>.

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.