Skip to content

A team by its owner's wallet

GET
/api/teams/{address}
curl --request GET \
--url https://foxleague.ai/api/teams/example

Answers the team of a wallet. The team’s own session gets the full team with its formation, starting eleven, bench and overall. Everyone else gets the public view without them.

Who: anyone, with more for a session: the owner’s session sees the tactics. A session header that is present but invalid or expired is refused with 401, not treated as a visitor.

Refusals:

  • Team not found: the wallet has no team.

If the team cannot be read on our side, the answer is HTTP 500 with an empty body.

address
required
string

The wallet address of the team’s owner.

Success or a refusal: read success (the refusals are in the description).

Media type application/json
object
code

A machine-readable reason next to error, set only where the caller must act differently. tx_pending: the payment was not refused but could not be verified yet; keep the transaction hash and confirm again with the same hash, never pay twice.

string | null
data
One of:

A team as its owner sees it, with formation, lineup and bench.

object
badge

The team badge, usually an ipfs:// address (some older teams carry an inline image); null when none.

string | null
badge_ipfs_uri

The badge’s ipfs:// address; null when none.

string | null
coach_name

The coach name; null when not set.

string | null
created_at
required

When the team was created (RFC 3339).

string format: date-time
formation
required

The saved formation.

string
id
required

Team id.

integer format: int32
lineup
required

NFT nonces of the 11 starters, as an array. Empty until a lineup is saved.

name
required

Team name.

string
substitutes
required

NFT nonces of the bench, as an array.

team_overall

Average of the starters’ seven attributes; null until a lineup is saved.

number | null format: double
user_id
required

The owner’s user id.

integer format: int32
verified
required

true when the team carries the verified mark.

boolean
error

Why the request was refused, in plain words. Present when success is false.

string | null
success
required

true when the request did what it asked. false is a refusal: read error.

boolean
Example
{
"data": {
"badge": "ipfs://bafybeihkoviema7g3gxyt6la7vd5ho32ictqbilu3wnlo3rs7ewhnp7lly",
"badge_ipfs_uri": "ipfs://bafybeihkoviema7g3gxyt6la7vd5ho32ictqbilu3wnlo3rs7ewhnp7lly",
"coach_name": "Ada Moraru",
"created_at": "2026-09-16T08:02:44.517093Z",
"id": 398,
"name": "Fox Rovers",
"user_id": 412,
"verified": false
},
"success": true
}

No valid session. The body is plain text: Missing Authorization header, Invalid Authorization format, Invalid session token or Session expired or invalid. Sign in again.

Media type text/plain
string
Example
Session expired or invalid

The team could not be read on our side. The body is empty.