AirHub API
AirHub® Portal (Sandbox)
  1. Surface
AirHub API
  • Introduction
  • Authorization
    • Overview
    • Get Oauth Token
      POST
  • Advisories
    • Advisory
      POST
    • Get Advisories BBox
      GET
    • Get Advisories GeoJSON
      POST
  • Briefing
    • Overview
    • B4UFLY
      • What Is B4UFLY
      • The API Basics
      • Location vs Area
      • v1
        • B4UFLY Briefing by Area v1
        • B4UFLY Briefing by Location v1
      • v2
        • What's New in v2
        • B4UFLY Briefing by Area v2
        • B4UFLY Briefing by Location v2
  • LAANC SDSP
    • Overview
    • ASL Operations
      • List Operations
      • Create Operation
      • Get Operation
      • Delete Operation
      • Update Operation
    • LAANC Operations
      • Get Operation
      • Delete Operation
      • Create Operation
      • Update Operation
    • LAANC Authorizations
      • Rescinded and Invalid Operations
      • Submit Authorization
      • Get Authorization
      • Cancel Authorization
      • Cancel Invalid Authorization
      • Close Authorization
      • Acknowledge Rescinded Authorization
    • Operation v2
      POST
    • Create Ephemeral Operations
      POST
  • Risk
    • Get Hazard
      POST
    • Get Hazard Ground Type
      POST
    • Get Hazard Ground Risk
      POST
  • Aviation
    • Aviation
      POST
  • Surface
    • Overview
    • Suitability
      POST
    • Classification Surface
      POST
    • Surface v2 GeoJSON
      POST
    • Surface v2 Hexbin
      POST
  • Route
    • Route v2
  • Check
    • Check Airspace
    • Get Status
  • Elevation - NEW
    • Get List
  • Map Vector Tiles - NEW
    • Overview
    • Styled Tiles
    • Vector Tile
  • Flight
    • Get Flight Last Position QUERY
    • Get Flight Last Position INFO
  • Data Notification Subscribers
    • Get List
  • Schemas
    • Schemas
      • protobufAny
      • asloperationsvc.v1.FlightType
      • asloperationsvc.v1.CreateOperationRequest
      • authorizationsvc.v1.Authorization
      • protobufNullValue
      • ephemeralsvc.v1.ClaimEphemeralOperationResponse
      • asloperationsvc.v1.CreateOperationResponse
      • authorizationsvc.v1.Class
      • authorizationsvc.v1.AuthorizationService.SubmitAuthorizationBody
      • rpcStatus
      • ephemeralsvc.v1.CreateEphemeralOperationRequest
      • asloperationsvc.v1.DeleteOperationResponse
      • authorizationsvc.v1.FacilityMap
      • authorizationsvc.v1.CancelAuthorizationResponse
      • v1BriefingAreaRequest
      • v1Altitude
      • ephemeralsvc.v1.CreateEphemeralOperationResponse
      • authorizationsvc.v1.Status
      • authorizationsvc.v1.CancelInvalidAuthorizationResponse
      • v1AltitudeReference
      • ephemeralsvc.v1.EphemeralOperation
      • asloperationsvc.v1.GetOperationResponse
      • authorizationsvc.v1.SubmissionType
      • v1Units
      • v1AltitudeUnit
      • ephemeralsvc.v1.PointOfContact
      • asloperationsvc.v1.ListOperationsResponse
      • authorizationsvc.v1.CloseAuthorizationResponse
      • interussv1AltitudeReference
      • v1AuthorizationType
      • geompb.v1.AltitudeReference
      • asloperationsvc.v1.Operation
      • v1B4uflyAreaRequest
      • geompb.v1.AltitudeUnit
      • asloperationsvc.v1.OperationsService.UpdateOperationBody
      • authorizationsvc.v1.GetAuthorizationResponse
      • v1B4uflyAreaResponse
      • google.protobuf.Any
      • asloperationsvc.v1.UpdateOperationResponse
      • laancsvc.v1.Action
      • authorizationsvc.v1.InvalidRescindedOperationsResponse
      • v1B4uflyLocationRequest
      • google.protobuf.NullValue
      • laancsvc.v1.Candidate
      • authorizationsvc.v1.RescindAckResponse
      • v1B4uflyLocationResponse
      • google.rpc.Status
      • laancsvc.v1.DeleteOperationResponse
      • v1ContactInformation
      • laancsvc.v1.GetOperationResponse
      • v1BriefingLocationRequest
      • v1Event
      • laancsvc.v1.License
      • authorizationsvc.v1.SubmitAuthorizationResponse
      • v1Notice
      • laancsvc.v1.Notice
      • v1NoticeCode
      • providersvc.v1.ApprovalProvider
      • laancsvc.v1.Operation
      • v1NoticeDataSource
      • laancsvc.v1.OperationResponse
      • v1NoticeDataSubtype
      • laancsvc.v1.OperationService.CreateOperationBody
      • v1NoticeStatus
      • laancsvc.v1.OperationService.UpdateOperationBody
      • v1RuleCode
      • laancsvc.v1.PointOfContact
      • v1Schedule
      • laancsvc.v1.Reason
      • v1TimeOfUse
      • laancsvc.v1.UpdateOperationResponse
AirHub® Portal (Sandbox)
  1. Surface

Surface v2 Hexbin

Sandbox
https://airhub-api-sandbox.airspacelink.com
Sandbox
https://airhub-api-sandbox.airspacelink.com
POST
/v2/surface
Last modified:2025-07-15 16:22:57
Scope: surface:create
Combine authoritative data provided by Airspace Link with your own GIS data to deliver profile services tailored to your needs. Over 65 datasets that can be used as a feature within the surface engine to aggregate and process vast amounts of data. For a GeoJSON response, use the Surface v2 GeoJSON endpoint.
For more information see the Surface Overview.

Request

Header Params

Body Params application/json

Example
{
    "geometry": {
        "coordinates": [
            [
                [
                    -83.2428932189941,
                    42.2835320469015
                ],
                [
                    -83.2011795043945,
                    42.2835320469015
                ],
                [
                    -83.2011795043945,
                    42.3354533445451
                ],
                [
                    -83.2428932189941,
                    42.3354533445451
                ],
                [
                    -83.2428932189941,
                    42.2835320469015
                ]
            ]
        ],
        "type": "Polygon"
    },
    "layers": [
        {
            "code": "code",
            "where": [
                "AND",
                [
                    [
                        "=",
                        "some_field",
                        100
                    ],
                    [
                        "<=",
                        "another_field",
                        200
                    ]
                ]
            ]
        }
    ],
    "resolution": 10
}

Request Code Samples

Shell
JavaScript
Java
Swift
Go
PHP
Python
HTTP
C
C#
Objective-C
Ruby
OCaml
Dart
R
Request Request Example
Shell
JavaScript
Java
Swift
curl --location --request POST 'https://airhub-api-sandbox.airspacelink.com/v2/surface' \
--header 'Authorization: ' \
--header 'Content-Type: application/json;charset=UTF-8' \
--data-raw '{
    "geometry": {
        "coordinates": [
            [
                [
                    -83.2428932189941,
                    42.2835320469015
                ],
                [
                    -83.2011795043945,
                    42.2835320469015
                ],
                [
                    -83.2011795043945,
                    42.3354533445451
                ],
                [
                    -83.2428932189941,
                    42.3354533445451
                ],
                [
                    -83.2428932189941,
                    42.2835320469015
                ]
            ]
        ],
        "type": "Polygon"
    },
    "layers": [
        {
            "code": "code",
            "where": [
                "AND",
                [
                    [
                        "=",
                        "some_field",
                        100
                    ],
                    [
                        "<=",
                        "another_field",
                        200
                    ]
                ]
            ]
        }
    ],
    "resolution": 10
}'

Responses

🟢200Successful response
application/json
Body

Example
{
    "data": [
        {
            "hexes": [
                "872ab2554ffffff",
                "872ab2550ffffff"
            ],
            "props": {
                "type": "code"
            }
        }
    ],
    "message": "success",
    "statusCode": 200
}
🟠400Your request was invalid JSON or is using invalid types
🟠408Your request timed out; try reducing the size of the request
🟠422Part of your request had invalid values
🔴500Internal error reaching data
Modified at 2025-07-15 16:22:57
Previous
Surface v2 GeoJSON
Next
Route v2
Built with