Files
zkldi_Tachi/old-docs/docs/api/routes/sessions.md
T
zk e363bd2532 docs: migrate from mkdocs to mdbook (#1558)
* docs: migrate from mkdocs to mdbook

- Rename old mkdocs docs/ to old-docs/ for reference
- Set up new docs/ with mdbook (book.toml + src/ tree)
- Mirror full nav structure from mkdocs.yml into SUMMARY.md
- Add Justfile-docs with docs-serve, docs-build, docs-check, docs-install recipes
- Import Justfile-docs from root Justfile
- Rewrite .github/workflows/docs.yml: build step uses taiki-e/install-action
  to install mdbook, split into separate build + deploy jobs, PR builds
  run the check step too

* ci(docs): pin actions to SHAs, install mdbook via release binary

* ci(docs): install mdbook from apt instead of curling a release binary

* dev: replace mkdocs python stack with mdbook in dev image

* ci(docs): apt only works on Debian; restore release binary install for Ubuntu CI

* docs: fix duplicate file entries in SUMMARY.md

* docs: remove docs-install recipe

* docs: remove site-url from book.toml to fix asset loading

* dev: install mdbook from upstream release binary, not Debian apt

The Debian package (0.4.x+ds) strips bundled font assets, leaving the
built site without fonts/fonts.css. Use the upstream tarball (same as CI)
so the theme is complete. Handles x86_64 and aarch64.

* docs: vendor mdbook tarballs in dev/mdbook/, install from there

Dockerfile.dev uses COPY + tar to install the right arch at build time.
CI extracts the x86_64 tarball directly from the checkout.
No network access required for either — and no stripped-fonts Debian package.

* fix: unwritten
2026-05-22 20:43:07 +01:00

3.1 KiB

Session Endpoints


Get a specific session

GET /api/v1/sessions/:sessionID

Parameters

None.

Response

Property Type Description
session SessionDocument The session document at this ID.
scores Array<ScoreDocument> The score documents involved in this session.
songs Array<SongDocument> The songs these score documents belong to.
charts Array<ChartDocument> The charts these score documents belong to.
user UserDocument The user that made this session.

Example

Request

GET /api/v1/sessions/Qe7b00261b1d3ba8e5c9ee4e76e77ea9f07d9493b

Response

{
	user: {
		id: 1,
		username: "zkldi",
		// ...
	},
	session: {
		sessionID: "Qe7b00261b1d3ba8e5c9ee4e76e77ea9f07d9493b",
		scores: [{
			scoreID: "foo",
			// ...
		}],
		name: "my session",
		// ...
	},
	scores: [{
		scoreID: "foo",
		songID: 1,
		chartID: "foo_chartID",
	}],
	songs: [{
		id: 1,
		// ...
	}],
	charts: [{
		chartID: "foo_chartID",
		songID: 1
		// ...
	}]
}

Modify a session

PATCH /api/v1/sessions/:sessionID

Permissions

  • customise_session
  • Must be the owner of this session.

Parameters

Property Type Description
name (optional) String A new name for this session. This must be between 3 and 80 characters. If not present, no update will be made to the session name.
desc (optional) String A new description for this session. This must be between 3 and 120 characters. If not present, no update to the description will be made.
highlight (optional) boolean Whether this session is highlighted or not. If not present, no change will be made to the highlighted status.

!!! info Although all these fields are optional, making a request without any of them is a 400 error.

Response

Property Type Description
<body> SessionDocument The new session document, after modifications.

Example

Request

PATCH /api/v1/sessions/Qe7b00261b1d3ba8e5c9ee4e76e77ea9f07d9493b
{
	"name": "new session name"
}

Response

{
	"name": "new session name",
	"desc": "old session desc",
	"highlighted": false
	// ...
}