Skip to content

The rides the rider's friends are going to, night by night

GET
/me/friends
curl --request GET \
--url 'https://biiikes.com/api/me/friends?metro=pdx&from=2026-10-01&to=2026-10-07&close_friends_only=false' \
--header 'Authorization: Bearer <token>'

Night by night from from to to (at most 31 days) in one metro, the nights the rider’s friends are going to: the riders they follow and the riders they marked close. Asked with close_friends_only, the nights a close friend is going to. Riders the rider has only ridden with are not friends.

metro
required
string
/^[a-z0-9-]{2,32}$/
Example
pdx
from
required
string format: date
Example
2026-10-01
to
required
string format: date
Example
2026-10-07
close_friends_only
boolean
Example
false

Night by night

Media typeapplication/json

The nights the rider’s friends are going to, nights with a close friend first, and the riders the rider flagged on those nights.

object
nights
required
Array<object>

One night and the rider’s friends going to it, close friends first.

object
night
required

One date of one ride, as anybody may read it. Names no rider.

object
ride
required

The ride’s public id.

string
/^[a-z0-9]{4,32}$/
title
required
string
day
required
string format: date
meet_time
required

Local wall-clock time in the metro’s zone.

string | null
/^[0-2][0-9]:[0-5][0-9]$/
time_zone
required

The metro’s IANA zone.

string
status
required
string
Allowed values: on cancelled
cancellation_reason
required
string | null
past
required
boolean
going_count
required
integer
meeting
required

Where a night meets, exactly as the signed-out page shows it.

object
withheld
required

The leader marked the meeting point secret; nothing about where it is is published (decision 465).

boolean
place_name
required

Where the ride meets, as the page names it. Null when withheld.

string | null
neighbourhood
required

The district. For a withheld point, only when the leader chose to show it.

string | null
neighbourhood_slug
required

The district’s slug, which search’s where takes (decision 1196). Null where the neighbourhood is not shown or is a city rather than a district; names repeat across cities, slugs do not.

string | null
/^[a-z0-9-]{1,80}$/
url
required

The night’s page.

string format: uri
friends
required
Array<object>
>= 1 items

A friend going: somebody the rider follows or marked a close friend.

object
handle
required
string
name
required
string | null
close
required

The rider marked them a close friend.

boolean
following
required

The rider follows them.

boolean
flagged
required

The rider flagged them.

boolean
flagged
required
Array<object>

One night with riders the reader flagged going to it or confirmed. Only ever answered to the rider who made the flags; a flag shows even when the flagged rider blocked the reader.

object
ride
required
string
/^[a-z0-9]{4,32}$/
day
required
string format: date
riders
required
Array<object>
>= 1 items

A rider the reader flagged: their display name and handle, and nothing else.

object
handle
required
string
name
required
string | null
Example
{
"nights": [
{
"night": {
"ride": "zdh5pnp",
"title": "Forest Park Gravel",
"day": "2026-10-03",
"meet_time": "09:00",
"time_zone": "America/Los_Angeles",
"status": "on",
"cancellation_reason": null,
"past": false,
"going_count": 8,
"meeting": {
"withheld": false,
"place_name": "Jamison Square",
"neighbourhood": "Pearl District",
"neighbourhood_slug": "portland-pearl-district"
},
"url": "https://biiikes.com/pdx/forest-park-gravel-zdh5pnp/2026-10-03"
},
"friends": [
{
"handle": "samrides",
"name": "Sam",
"close": true,
"following": true,
"flagged": false
}
]
}
],
"flagged": [
{
"ride": "zdh5pnp",
"day": "2026-10-03",
"riders": [
{
"handle": "samrides",
"name": "Sam"
}
]
}
]
}

An input its schema refuses

Media typeapplication/json
object
error
required
string
Allowed values: invalid_request not_found invalid_key
input
required
string | null
detail
required
string | null
Example
{
"error": "invalid_request",
"input": "day",
"detail": "is not a date, YYYY-MM-DD"
}

No live token for this resource. WWW-Authenticate names the resource’s metadata.

No such metro

Media typeapplication/json
object
error
required
string
Allowed values: invalid_request not_found invalid_key
input
required
string | null
detail
required
string | null
Example
{
"error": "invalid_request",
"input": "day",
"detail": "is not a date, YYYY-MM-DD"
}