Sound Transit · Capability

Sound Transit OneBusAway API — Routes

Sound Transit OneBusAway API — Routes. 4 operations. Lead operation: Get Route. Self-contained Naftiko capability covering one Sound Transit business surface.

Run with Naftiko Sound TransitRoutes

What You Can Do

GET
Getroute — Get Route
/v1/route/id-json
GET
Listroutesforagency — List Routes For Agency
/v1/routes-for-agency/id-json
GET
Listroutesforlocation — List Routes For Location
/v1/routes-for-location-json
GET
Getshape — Get Shape
/v1/shape/id-json

MCP Tools

get-route

Get Route

read-only idempotent
list-routes-agency

List Routes For Agency

read-only idempotent
list-routes-location

List Routes For Location

read-only idempotent
get-shape

Get Shape

read-only idempotent

Capability Spec

onebusaway-routes.yaml Raw ↑
naftiko: 1.0.0-alpha2
info:
  label: Sound Transit OneBusAway API — Routes
  description: 'Sound Transit OneBusAway API — Routes. 4 operations. Lead operation: Get Route. Self-contained Naftiko capability
    covering one Sound Transit business surface.'
  tags:
  - Sound Transit
  - Routes
  created: '2026-05-19'
  modified: '2026-05-19'
binds:
- namespace: env
  keys:
    SOUND_TRANSIT_API_KEY: SOUND_TRANSIT_API_KEY
capability:
  consumes:
  - type: http
    namespace: onebusaway-routes
    baseUri: https://api.pugetsound.onebusaway.org/api/where
    description: Sound Transit OneBusAway API — Routes business capability. Self-contained, no shared references.
    resources:
    - name: route-id}.json
      path: /route/{id}.json
      operations:
      - name: getroute
        method: GET
        description: Get Route
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: id
          in: path
          type: string
          description: Unique route identifier
          required: true
    - name: routes-for-agency-id}.json
      path: /routes-for-agency/{id}.json
      operations:
      - name: listroutesforagency
        method: GET
        description: List Routes For Agency
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: id
          in: path
          type: string
          description: Agency identifier
          required: true
    - name: routes-for-location.json
      path: /routes-for-location.json
      operations:
      - name: listroutesforlocation
        method: GET
        description: List Routes For Location
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: lat
          in: query
          type: number
          description: Latitude of the search location
          required: true
        - name: lon
          in: query
          type: number
          description: Longitude of the search location
          required: true
        - name: radius
          in: query
          type: integer
          description: Search radius in meters
        - name: query
          in: query
          type: string
          description: Route name search query
    - name: shape-id}.json
      path: /shape/{id}.json
      operations:
      - name: getshape
        method: GET
        description: Get Shape
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: id
          in: path
          type: string
          description: Shape identifier
          required: true
  exposes:
  - type: rest
    namespace: onebusaway-routes-rest
    port: 8080
    description: REST adapter for Sound Transit OneBusAway API — Routes. One Spectral-compliant resource per consumed operation,
      prefixed with /v1.
    resources:
    - path: /v1/route/id-json
      name: route-id-json
      description: REST surface for route-id}.json.
      operations:
      - method: GET
        name: getroute
        description: Get Route
        call: onebusaway-routes.getroute
        with:
          id: rest.id
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/routes-for-agency/id-json
      name: routes-for-agency-id-json
      description: REST surface for routes-for-agency-id}.json.
      operations:
      - method: GET
        name: listroutesforagency
        description: List Routes For Agency
        call: onebusaway-routes.listroutesforagency
        with:
          id: rest.id
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/routes-for-location-json
      name: routes-for-location-json
      description: REST surface for routes-for-location.json.
      operations:
      - method: GET
        name: listroutesforlocation
        description: List Routes For Location
        call: onebusaway-routes.listroutesforlocation
        with:
          lat: rest.lat
          lon: rest.lon
          radius: rest.radius
          query: rest.query
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/shape/id-json
      name: shape-id-json
      description: REST surface for shape-id}.json.
      operations:
      - method: GET
        name: getshape
        description: Get Shape
        call: onebusaway-routes.getshape
        with:
          id: rest.id
        outputParameters:
        - type: object
          mapping: $.
  - type: mcp
    namespace: onebusaway-routes-mcp
    port: 9090
    transport: http
    description: MCP adapter for Sound Transit OneBusAway API — Routes. One tool per consumed operation, routed inline through
      this capability's consumes block.
    tools:
    - name: get-route
      description: Get Route
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: onebusaway-routes.getroute
      with:
        id: tools.id
      outputParameters:
      - type: object
        mapping: $.
    - name: list-routes-agency
      description: List Routes For Agency
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: onebusaway-routes.listroutesforagency
      with:
        id: tools.id
      outputParameters:
      - type: object
        mapping: $.
    - name: list-routes-location
      description: List Routes For Location
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: onebusaway-routes.listroutesforlocation
      with:
        lat: tools.lat
        lon: tools.lon
        radius: tools.radius
        query: tools.query
      outputParameters:
      - type: object
        mapping: $.
    - name: get-shape
      description: Get Shape
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: onebusaway-routes.getshape
      with:
        id: tools.id
      outputParameters:
      - type: object
        mapping: $.