Metro Transit NexTrip API

The NexTrip API from Metro Transit — 8 operation(s) for nextrip.

OpenAPI Specification

metro-transit-nextrip-api-openapi.yml Raw ↑
openapi: 3.0.4
info:
  title: Service Alerts NexTrip API
  description: API for retrieving Transit Service Alerts
  version: '1'
tags:
- name: NexTrip
paths:
  /nextrip/{route_id}/{direction_id}/{place_code}:
    get:
      tags:
      - NexTrip
      parameters:
      - name: route_id
        in: path
        required: true
        schema:
          type: string
      - name: direction_id
        in: path
        required: true
        schema:
          type: integer
          format: int32
      - name: place_code
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NexTripResult'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
        '500':
          description: Internal Server Error
  /nextrip/{stop_id}:
    get:
      tags:
      - NexTrip
      parameters:
      - name: stop_id
        in: path
        required: true
        schema:
          type: integer
          format: int32
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NexTripResult'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
        '500':
          description: Internal Server Error
  /nextrip/agencies:
    get:
      tags:
      - NexTrip
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Agency'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
        '500':
          description: Internal Server Error
  /nextrip/directions/{route_id}:
    get:
      tags:
      - NexTrip
      parameters:
      - name: route_id
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Direction'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
        '500':
          description: Internal Server Error
  /nextrip/routes:
    get:
      tags:
      - NexTrip
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Route'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
        '500':
          description: Internal Server Error
  /nextrip/stopid/{street}:
    get:
      tags:
      - NexTrip
      parameters:
      - name: street
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                additionalProperties:
                  type: string
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
        '500':
          description: Internal Server Error
  /nextrip/stops/{route_id}/{direction_id}:
    get:
      tags:
      - NexTrip
      parameters:
      - name: route_id
        in: path
        required: true
        schema:
          type: string
      - name: direction_id
        in: path
        required: true
        schema:
          type: integer
          format: int32
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Place'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
        '500':
          description: Internal Server Error
  /nextrip/vehicles/{route_id}:
    get:
      tags:
      - NexTrip
      parameters:
      - name: route_id
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Vehicle'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
        '500':
          description: Internal Server Error
components:
  schemas:
    ProblemDetails:
      type: object
      properties:
        type:
          type: string
          nullable: true
        title:
          type: string
          nullable: true
        status:
          type: integer
          format: int32
          nullable: true
        detail:
          type: string
          nullable: true
        instance:
          type: string
          nullable: true
      additionalProperties: {}
    Route:
      type: object
      properties:
        route_id:
          type: string
          nullable: true
        agency_id:
          type: integer
          format: int32
        route_label:
          type: string
          nullable: true
      additionalProperties: false
    Departure:
      type: object
      properties:
        actual:
          type: boolean
        trip_id:
          type: string
          nullable: true
        stop_id:
          type: integer
          format: int32
        departure_text:
          type: string
          nullable: true
        departure_time:
          type: integer
          format: int64
        description:
          type: string
          nullable: true
        gate:
          type: string
          nullable: true
        route_id:
          type: string
          nullable: true
        route_short_name:
          type: string
          nullable: true
        direction_id:
          type: integer
          format: int32
        direction_text:
          type: string
          nullable: true
        terminal:
          type: string
          nullable: true
        agency_id:
          type: integer
          format: int32
        schedule_relationship:
          type: string
          nullable: true
      additionalProperties: false
    Vehicle:
      type: object
      properties:
        trip_id:
          type: string
          nullable: true
        direction_id:
          type: integer
          format: int32
        direction:
          type: string
          nullable: true
        location_time:
          type: integer
          format: int64
        route_id:
          type: string
          nullable: true
        terminal:
          type: string
          nullable: true
        latitude:
          type: number
          format: float
        longitude:
          type: number
          format: float
        bearing:
          type: number
          format: float
        odometer:
          type: number
          format: double
        speed:
          type: number
          format: float
      additionalProperties: false
    Stop:
      type: object
      properties:
        stop_id:
          type: integer
          format: int32
        latitude:
          type: number
          format: double
        longitude:
          type: number
          format: double
        description:
          type: string
          nullable: true
      additionalProperties: false
    Place:
      type: object
      properties:
        place_code:
          type: string
          nullable: true
        description:
          type: string
          nullable: true
      additionalProperties: false
    Agency:
      type: object
      properties:
        agency_id:
          type: integer
          format: int32
        agency_name:
          type: string
          nullable: true
      additionalProperties: false
    Direction:
      type: object
      properties:
        direction_id:
          type: integer
          format: int32
        direction_name:
          type: string
          nullable: true
      additionalProperties: false
    NexTripResult:
      type: object
      properties:
        stops:
          type: array
          items:
            $ref: '#/components/schemas/Stop'
          nullable: true
        alerts:
          type: array
          items:
            $ref: '#/components/schemas/AlertMessage'
          nullable: true
        departures:
          type: array
          items:
            $ref: '#/components/schemas/Departure'
          nullable: true
      additionalProperties: false
    AlertMessage:
      type: object
      properties:
        stop_closed:
          type: boolean
        alert_text:
          type: string
          nullable: true
      additionalProperties: false