tomodachi-share/API.md
trafficlunar 196f9d4640 feat: public search and mii data API routes
- also with an API reference that is not done
2025-11-16 21:23:04 +00:00

3 KiB
Raw Blame History

TomodachiShare API Reference

Welcome to the TomodachiShare API Reference! Some routes may require authentication (see Protected section - TODO).

Schema properties marked with a * are required.

Public Endpoints

Search Miis

GET /api/search?q={query}

Searches Miis by name, tags, and description.

Query Parameters

Name Type Required Description
q string Yes The text to search for. Matches names, tags, and descriptions.
sort string No Sorting mode: likes, newest, oldest, or random.
tags string No Comma-separated list of tags. Example: anime,frieren.
gender string No Gender filter: MALE or FEMALE.
limit number No Number of results per page (1-100).
page number No Page number. Defaults to 1.
seed number No Seed used for random sorting to ensure unique results per page.

Examples

https://tomodachishare.com/api/search?q={query}
https://tomodachishare.com/api/search?q=frieren&sort=random&tags=anime,frieren&gender=MALE&limit=20&page=1&seed=1204

Response

Returns an array of Mii IDs:

[1, 204, 295, 1024]

Get Mii Image / QR Code / Metadata Image

GET /mii/{id}/image?type={type}

Retrieves the Mii image, QR code, or metadata graphic.

Path & Query Parameters

Name Type Required Description
id number Yes The Miis ID.
type string Yes One of: mii, qr-code, metadata.

Examples

https://tomodachishare.com/mii/1/image?type=mii
https://tomodachishare.com/mii/2/image?type=qr-code
https://tomodachishare.com/mii/3/image?type=metadata

Response

Returns the image file.


Get Mii Data

GET /mii/{id}/data

Fetches metadata for a specific Mii.

Path Parameters

Name Type Required Description
id number Yes The Miis ID.

Example

https://tomodachishare.com/mii/1/data

Response

{
	"id": 1,
	"name": "Frieren",
	"imageCount": 3,
	"tags": ["anime", "frieren"],
	"description": "Frieren from 'Frieren: Beyond Journey's End'\r\nThe first Mii on the site!",
	"firstName": "Frieren",
	"lastName": "the Slayer",
	"gender": "FEMALE",
	"islandName": "Wuhu",
	"allowedCopying": false,
	"createdAt": "2025-05-04T12:29:41Z",
	"user": {
		"id": 1,
		"username": "trafficlunar",
		"name": "trafficlunar"
	},
	"likes": 29
}

Protected Endpoints

TODO