Skip to content

Content Endpoint

GET /api/v1/partner/{airport}/content

Retrieve content for a specific airport. Returns pages, news, FAQs, amenities, shopping, dining, and more from the airport's website.

URL Parameters

ParameterTypeRequiredDescription
airportstringYesAirport code (e.g., DEN, SAN). Case-insensitive.

Query Parameters

ParameterTypeDefaultDescription
sizeinteger20Results per page (1–100)
frominteger0Pagination offset
qstringFull-text search query. Searches title, content, and excerpt fields.
contentTypestringFilter by content type (see Content Types below)
modifiedSinceISO 8601 dateOnly return content modified after this date
includeBodybooleantrueInclude full content body. Set to false for listing views.

Response Format

Success Response (200 OK)

json
{
  "success": true,
  "meta": {
    "partner": "Sprinklr",
    "partnerId": 14,
    "airport": "DEN",
    "airportName": "Denver International Airport",
    "timestamp": "2026-02-13T04:48:01.546Z",
    "responseTimeMs": 528
  },
  "pagination": {
    "size": 20,
    "from": 0,
    "total": 2789,
    "pages": 140,
    "hasMore": true
  },
  "results": [
    {
      "id": "wp_den_57606",
      "contentType": "shopping",
      "title": "Walker & William",
      "url": "/shop/walker-william/",
      "excerpt": "Walker & William is a family-owned artisan confectionery...",
      "content": "Full HTML content here...",
      "thumbnail": "https://www.flydenver.com/app/uploads/2026/02/logo.jpg",
      "language": "en",
      "lastModified": "2026-02-09T15:26:04.000Z",
      "metadata": {
        "location_detail": "Near Gate C33",
        "hours_of_operation": "Sun. - Fri.: 7 a.m. - 9 p.m.",
        "phone_number": "(720) 220-5656",
        "map_poi_id": 792
      }
    }
  ]
}

Response Fields

FieldTypeDescription
successbooleanWhether the request succeeded
meta.partnerstringYour partner organization name
meta.partnerIdnumberYour partner ID
meta.airportstringAirport code (uppercase)
meta.airportNamestringFull airport name
meta.timestampstringResponse timestamp (ISO 8601)
meta.responseTimeMsnumberServer processing time in milliseconds
pagination.sizenumberRequested page size
pagination.fromnumberCurrent offset
pagination.totalnumberTotal matching documents
pagination.pagesnumberTotal pages available
pagination.hasMorebooleanWhether more results exist
resultsarrayArray of content items

Content Item Fields

FieldTypeDescription
idstringUnique content identifier
contentTypestringContent type (see below)
titlestringContent title
urlstring or nullOriginal URL path on airport website
excerptstring or nullShort summary
contentstringFull HTML content (omitted if includeBody=false)
thumbnailstring or nullFeatured image URL
languagestringLanguage code (currently en)
lastModifiedstringLast update timestamp (ISO 8601)
metadataobject or nullAdditional structured data (varies by content type)

Content Types

TypeDescription
pageGeneral website pages
newsNews articles and press releases
faqFrequently asked questions
shoppingRetail stores
diningRestaurants and food vendors
amenityAirport amenities and services
parking-transportationParking and ground transportation
eventEvents and promotions
generalOther general content

Examples

Basic Request

bash
curl -X GET "https://app.flyfruition.com/api/v1/partner/DEN/content" \
  -H "x-partner-api-key: flyfru_pk_live_your_key"

Search for Content

bash
curl -X GET "https://app.flyfruition.com/api/v1/partner/DEN/content?q=parking&size=10" \
  -H "x-partner-api-key: flyfru_pk_live_your_key"

Filter by Content Type

bash
curl -X GET "https://app.flyfruition.com/api/v1/partner/DEN/content?contentType=dining&size=50" \
  -H "x-partner-api-key: flyfru_pk_live_your_key"

Pagination

bash
# Page 1
curl -X GET "https://app.flyfruition.com/api/v1/partner/DEN/content?size=20&from=0" \
  -H "x-partner-api-key: flyfru_pk_live_your_key"

# Page 2
curl -X GET "https://app.flyfruition.com/api/v1/partner/DEN/content?size=20&from=20" \
  -H "x-partner-api-key: flyfru_pk_live_your_key"

# Page 3
curl -X GET "https://app.flyfruition.com/api/v1/partner/DEN/content?size=20&from=40" \
  -H "x-partner-api-key: flyfru_pk_live_your_key"

Get Only Metadata (No Content Body)

bash
curl -X GET "https://app.flyfruition.com/api/v1/partner/DEN/content?includeBody=false" \
  -H "x-partner-api-key: flyfru_pk_live_your_key"

Incremental Sync (Modified Since)

bash
curl -X GET "https://app.flyfruition.com/api/v1/partner/DEN/content?modifiedSince=2026-02-01T00:00:00Z" \
  -H "x-partner-api-key: flyfru_pk_live_your_key"

Combined Search and Filter

bash
curl -X GET "https://app.flyfruition.com/api/v1/partner/DEN/content?q=store&contentType=shopping&size=10" \
  -H "x-partner-api-key: flyfru_pk_live_your_key"

Health Check

A public health endpoint is available (no authentication required):

bash
curl -X GET "https://app.flyfruition.com/api/v1/partner/health"

Response:

json
{
  "status": "healthy",
  "timestamp": "2026-02-13T04:48:03.303Z",
  "version": "v1",
  "services": {
    "database": { "status": "up", "latencyMs": 45 },
    "redis": { "status": "up", "latencyMs": 19 },
    "elasticsearch": { "status": "up", "latencyMs": 30 }
  }
}

Status values: healthy (all services operational), degraded (some services down), unhealthy (critical failure, returns 503).

FlyFruition Admin Documentation