shieldAdmin

Admin level management

List levels (admin)

get

Paginated level list with search. Requires GitHub OAuth.

Authorizations
AuthorizationstringRequired

GitHub OAuth2 session-based authentication (via browser cookies)

Query parameters
pageintegerOptionalDefault: 1
limitintegerOptionalDefault: 10
qstringOptional

Search query (searches name, author, ID)

Responses
chevron-right
200

Admin level listing

application/json
totalintegerRequired
pageintegerRequired
limitintegerRequired
totalPagesintegerRequired
get
/api/admin/levels

Update a level

put

Update level metadata. Requires GitHub OAuth or a valid one-time token.

Authorizations
AuthorizationstringRequired

GitHub OAuth2 session-based authentication (via browser cookies)

Path parameters
idintegerRequired

Level ID

Query parameters
tokenstringOptional

One-time admin token (alternative to OAuth)

Body
namestringOptional
authorstringOptional
sunintegerOptional
is_waterinteger · enumOptionalPossible values:
difficultyintegerOptional
favoritesintegerOptional
playsintegerOptional
featuredinteger · enumOptionalPossible values:
featured_atinteger · nullableOptional
Responses
chevron-right
200

Level updated

application/json
successbooleanRequiredExample: true
put
/api/admin/levels/{id}

Delete a level

delete

Permanently deletes a level, its file, and all associated data. Requires GitHub OAuth or a valid one-time token.

Authorizations
AuthorizationstringRequired

GitHub OAuth2 session-based authentication (via browser cookies)

Path parameters
idintegerRequired

Level ID

Query parameters
tokenstringOptional

One-time admin token (alternative to OAuth)

Responses
chevron-right
200

Level deleted

application/json
successbooleanRequiredExample: true
delete
/api/admin/levels/{id}

Generate a one-time token for a level

post

Creates a single-use token scoped to a specific level, allowing unauthenticated edit/delete access.

Authorizations
AuthorizationstringRequired

GitHub OAuth2 session-based authentication (via browser cookies)

Path parameters
idintegerRequired

Level ID

Responses
chevron-right
200

Token generated

application/json
tokenstringRequiredExample: token_abc123...
level_idintegerRequired
post
/api/admin/levels/{id}/token

Feature a level

post

Marks a level as featured. Requires GitHub OAuth.

Authorizations
AuthorizationstringRequired

GitHub OAuth2 session-based authentication (via browser cookies)

Path parameters
idintegerRequired

Level ID

Responses
chevron-right
200

Level featured

application/json
successbooleanRequiredExample: true
post
/api/admin/levels/{id}/feature

Unfeature a level

delete

Removes the featured status from a level. Requires GitHub OAuth.

Authorizations
AuthorizationstringRequired

GitHub OAuth2 session-based authentication (via browser cookies)

Path parameters
idintegerRequired

Level ID

Responses
chevron-right
200

Level unfeatured

application/json
successbooleanRequiredExample: true
delete
/api/admin/levels/{id}/feature

Last updated