arazzo: 1.0.1
info:
title: WeatherAPI Sports Events with Weather
summary: Resolve a location, list its upcoming sports events, then fetch current weather context.
description: >-
Combines upcoming sports fixtures with live weather for the surrounding
location. A free-text query is resolved through the search/autocomplete
endpoint, the sports endpoint lists upcoming football, cricket, and golf
events near the resolved location, and a current weather call adds the live
conditions that fans and organizers care about. Every step spells out its
request inline so the flow can be read and executed without opening the
underlying OpenAPI description.
version: 1.0.0
sourceDescriptions:
- name: geoApi
url: ../openapi/weatherapi-geo-api-openapi.yml
type: openapi
- name: sportsApi
url: ../openapi/weatherapi-sports-api-openapi.yml
type: openapi
- name: weatherApi
url: ../openapi/weatherapi-weather-api-openapi.yml
type: openapi
workflows:
- workflowId: sports-events-weather
summary: Search a location, list its sports events, and add current weather.
description: >-
Resolves the query into a location, lists upcoming sports events for it, and
retrieves current weather for the same location.
inputs:
type: object
required:
- query
properties:
query:
type: string
description: Partial city name, postcode, or coordinates to search for.
steps:
- stepId: searchLocation
description: Resolve the free-text query into the best matching location.
operationId: searchLocations
parameters:
- name: q
in: query
value: $inputs.query
successCriteria:
- condition: $statusCode == 200
outputs:
matchedId: $response.body#/0/id
matchedName: $response.body#/0/name
- stepId: getSports
description: >-
List upcoming football, cricket, and golf events for the resolved
location.
operationId: getSports
parameters:
- name: q
in: query
value: id:$steps.searchLocation.outputs.matchedId
successCriteria:
- condition: $statusCode == 200
outputs:
football: $response.body#/football
cricket: $response.body#/cricket
golf: $response.body#/golf
- stepId: getCurrent
description: Fetch current weather context for the same resolved location.
operationId: getCurrentWeather
parameters:
- name: q
in: query
value: id:$steps.searchLocation.outputs.matchedId
successCriteria:
- condition: $statusCode == 200
outputs:
tempC: $response.body#/current/temp_c
condition: $response.body#/current/condition/text
outputs:
matchedName: $steps.searchLocation.outputs.matchedName
football: $steps.getSports.outputs.football
cricket: $steps.getSports.outputs.cricket
golf: $steps.getSports.outputs.golf
tempC: $steps.getCurrent.outputs.tempC
condition: $steps.getCurrent.outputs.condition
Discovery needs no key. Ratings and market analysis are Pro.
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.