-
Notifications
You must be signed in to change notification settings - Fork 0
Endpoints
- Pagination applies to all list endpoints unless noted:
- Query:
limit,offset - Response:
items,limit,offset,total,has_more
- Query:
- Taxonomy slugs must match Site Taxonomy.
- Invalid
section_slugorsubsection_slugreturns400 Bad Request.
-
GET /v1/homepagereturns homepage buckets.- Sorting rule for all buckets:
- primary:
published_at DESC - secondary:
is_featured DESC
- primary:
- Bucket sizing:
-
new: 13 stories -
developing_stories: 5 stories -
columns: 5 stories (parent section =columns) -
major_sections: each section gets 5 stories
-
- Sorting rule for all buckets:
-
GET /v1/authorsreturns paginated authors- Query params
limit: intoffset: int-
sort_by: string— one ofdisplay_name,created_at,updated_at -
sort_direction: string—asc,desc -
article_id: int— optional author filter by article
- Query params
-
POST /v1/authorscreate author- Body (
AuthorInput)display_name: stringfirst_name?: stringlast_name?: stringemail?: string
- Body (
-
GET /v1/authors/{id}get author by id -
PUT /v1/authors/{id}replace author -
PATCH /v1/authors/{id}partial update author -
DELETE /v1/authors/{id}delete author -
GET /v1/authors/{id}/articlespaginated articles by author- Query params
limit: intoffset: intcategories: string[]-
sort_by: string— one oftitle,slug,created_at,published_at,status -
sort_direction: string—asc,desc -
status: string—draft,published
- Query params
-
GET /v1/articlesreturns paginated articles- Query params
limit: intoffset: intcategories: string[]-
sort_by: string— one oftitle,slug,created_at,published_at,status -
sort_direction: string—asc,desc author_id: int-
status: string—draft,published
- Query params
-
GET /v1/articles/{id}get article object -
POST /v1/articlescreate article -
PUT /v1/articles/{id}replace article -
PATCH /v1/articles/{id}update article -
DELETE /v1/articles/{id}delete article
-
Allowed
section_slugvalues:-
news,sports,opinion,columns,entertainment,comics-puzzles
-
-
Allowed
subsection_slugvalues:-
academic-transformation,politics,transit,crime-policy-violations -
mens-basketball,womens-basketball,big-5,philly-sports,field-hockey,mens-soccer,womens-soccer -
science-tech,from-the-editor -
the-love-triangle,tri-this-sweet-treat -
movies,music,happening-in-philly,cooking,books,gaming,listicles -
political-cartoons,crossword,sudoku
-
-
GET /v1/sections/{section_slug}/articlespaginated section feed- Includes articles from all subsections under the section.
- Query params
limit: intoffset: intauthor_id?: int-
status?: string—draft,published -
sort_by?: string— one oftitle,slug,created_at,published_at,status -
sort_direction?: string—asc,desc
-
GET /v1/subsections/{subsection_slug}/articlespaginated subsection feed- Query params
limit: intoffset: intauthor_id?: int-
status?: string—draft,published -
sort_by?: string— one oftitle,slug,created_at,published_at,status -
sort_direction?: string—asc,desc
- Query params
-
GET /v1/mediareturns a paginated list of media assets- Query params
limit: intoffset: int-
query: string(search by filename) -
mime_type: string(example:image/jpeg) -
sort_by: string— one offile_name,created_at,updated_at,size_bytes -
sort_direction: string—asc,desc
- Response item shape:
MediaOverview
- Query params
-
POST /v1/mediacreate media metadata record- Body (
MediaInput)file_name: stringurl: stringmime_type: stringalt_text?: stringcaption?: string
- Response shape:
Media
- Body (
-
GET /v1/media/{id}get media asset- Response shape:
Media
- Response shape:
-
PUT /v1/media/{id}replace media metadata- Body: same as
MediaInput - Response shape:
Media
- Body: same as
-
PATCH /v1/media/{id}partial update media metadata- Body (
MediaPatch)file_name?: stringalt_text?: stringcaption?: string
- Response shape:
Media
- Body (
-
DELETE /v1/media/{id}delete media asset- Response:
204 No Content
- Response:
-
GET /v1/media/galleryfrontend gallery endpoint- Query params
limit: intoffset: intquery?: stringmime_type?: string-
sort_by?: string— one offile_name,created_at,updated_at,size_bytes -
sort_direction?: string—asc,desc
- Returns lightweight gallery cards (shape aligned to
MediaOverview) optimized for UI grids.
- Query params