# Get available train trips Returns a list of available train trips between the specified origin and destination stations on the given date, and allows for filtering by bicycle and dog allowances. Endpoint: GET /trips Version: 1.0.0 Security: OAuth2 ## Query parameters: - `origin` (string, required) The ID of the origin station Example: "efdbb9d1-02c2-4bc3-afb7-6788d8782b1e" - `destination` (string, required) The ID of the destination station Example: "b2e783e1-c824-4d63-b37a-d8d698862f1d" - `date` (string, required) The date and time of the trip in ISO 8601 format in origin station's timezone. Example: "2024-02-01T09:00:00Z" - `bicycles` (boolean) Only return trips where bicycles are known to be allowed - `dogs` (boolean) Only return trips where dogs are known to be allowed ## Response 200 fields (application/json): - `data` (array) The wrapper for a collection is an array of objects. - `data.id` (string) Unique identifier for the trip - `data.origin` (string) The starting station of the trip - `data.destination` (string) The destination station of the trip - `data.departure_time` (string) The date and time when the trip departs - `data.arrival_time` (string) The date and time when the trip arrives - `data.operator` (string) The name of the operator of the trip - `data.price` (number) The cost of the trip - `data.bicycles_allowed` (boolean) Indicates whether bicycles are allowed on the trip - `data.dogs_allowed` (boolean) Indicates whether dogs are allowed on the trip - `links` (object) A set of hypermedia links which serve as controls for the client. - `links.self` (string) - `links.next` (string) - `links.prev` (string) ## Response 400 fields (application/problem+json): - `type` (string) A URI reference that identifies the problem type Example: "https://example.com/probs/out-of-credit" - `title` (string) A short, human-readable summary of the problem type Example: "You do not have enough credit." - `detail` (string) A human-readable explanation specific to this occurrence of the problem Example: "Your current balance is 30, but that costs 50." - `instance` (string) A URI reference that identifies the specific occurrence of the problem Example: "/account/12345/msgs/abc" - `status` (integer) The HTTP status code Example: 400 ## Response 401 fields (application/problem+json): - `type` (string) A URI reference that identifies the problem type Example: "https://example.com/probs/out-of-credit" - `title` (string) A short, human-readable summary of the problem type Example: "You do not have enough credit." - `detail` (string) A human-readable explanation specific to this occurrence of the problem Example: "Your current balance is 30, but that costs 50." - `instance` (string) A URI reference that identifies the specific occurrence of the problem Example: "/account/12345/msgs/abc" - `status` (integer) The HTTP status code Example: 400 ## Response 403 fields (application/problem+json): - `type` (string) A URI reference that identifies the problem type Example: "https://example.com/probs/out-of-credit" - `title` (string) A short, human-readable summary of the problem type Example: "You do not have enough credit." - `detail` (string) A human-readable explanation specific to this occurrence of the problem Example: "Your current balance is 30, but that costs 50." - `instance` (string) A URI reference that identifies the specific occurrence of the problem Example: "/account/12345/msgs/abc" - `status` (integer) The HTTP status code Example: 400 ## Response 429 fields (application/problem+json): - `type` (string) A URI reference that identifies the problem type Example: "https://example.com/probs/out-of-credit" - `title` (string) A short, human-readable summary of the problem type Example: "You do not have enough credit." - `detail` (string) A human-readable explanation specific to this occurrence of the problem Example: "Your current balance is 30, but that costs 50." - `instance` (string) A URI reference that identifies the specific occurrence of the problem Example: "/account/12345/msgs/abc" - `status` (integer) The HTTP status code Example: 400 ## Response 500 fields (application/problem+json): - `type` (string) A URI reference that identifies the problem type Example: "https://example.com/probs/out-of-credit" - `title` (string) A short, human-readable summary of the problem type Example: "You do not have enough credit." - `detail` (string) A human-readable explanation specific to this occurrence of the problem Example: "Your current balance is 30, but that costs 50." - `instance` (string) A URI reference that identifies the specific occurrence of the problem Example: "/account/12345/msgs/abc" - `status` (integer) The HTTP status code Example: 400