Skip to content

[BUG] Querying historic.flight_positions.get_full() with an explicitly constructed Boundary() box sends an invalid request. #15

@kcexn

Description

@kcexn

Describe the bug

Querying historic.flight_positions.get_full() with an explicitly constructed Boundary() box sends an invalid request.

The response status code is 400 Bad Request URL and the request has URL params: <historic flight-positions path URL>?timestamp=<timestamp>&bounds=%7B%27north%27%3A%20-36.7%2C%20%27south%27%3A%20-36.8%2C%20%27west%27%3A%20144.3%2C%20%27east%27%3A%20144.4%7D

I think the request should have URL params: <historic flight-positions path URL>?timestamp=<timestamp>&bounds=-36.7%2C-36.8%2C144.3%2C144.4

To Reproduce

Running this raises a BadRequestError exception.

from fr24sdk.client import Client
from fr24sdk.resources.historic.positions import Boundary

with Client() as client:
    flights = client.historic.flight_positions.get_full(
        "2025-09-18T00:45:00Z",
        bounds=Boundary(north=-36.7, south=-36.8, west=144.3, east=144.4),
    )

Expected behavior

Running the provided snippet should make a correct API request towards the flight-radar API.

Additional context

The problem can be worked around by using a string instead of a Boundary, but this is no longer type safe and the API doesn't validate that north >= south so the following runs without reporting an error:

flights = client.historic.flight_positions.get_full(
  "2025-09-18T00:45:00Z", bounds="-36.8,-36.7,144.3,144.4"
)

Metadata

Metadata

Assignees

Labels

bugSomething isn't working

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions