APIActive

Strapi REST API

REST API for Strapi 5 that supports population and field selection of content.

Open source page

Field note

What it does

Strapi's REST API returns content by default without relations; use populate and fields to control responses.

Capabilities

Available capabilities

Tags

Tags

Ways to use it

Ways to use it

rest

Not filed / https://docs.strapi.io/cms/api/rest

rest

Not filed / https://docs.strapi.io/cms/api/rest/populate-select

rest

Not filed / https://docs.strapi.io/cms/api/rest/relations

other

javascript / qs

other

Not filed / Not filed

rest

Not filed / https://docs.strapi.io/cms/api/rest/locale

npm

javascript / qs

rest

Not filed / Not filed

Product features

Product features

Comparison operators

Operators include $eq, $eqi, $ne, $nei, $lt, $lte, $gt, $gte, $in, $notIn, $between, $null and $notNull.

Connect relations

Partially connects new entities to a relation, with shorthand or longhand syntax.

Copy to clipboard

Copies the automatically generated query string URL.

Create a document

POST /api/:pluralApiId creates a document.

Create a new localized document

POST /api/restaurants?locale=fr creates a document for a specific locale.

Multi-level population

Populate relations several levels deep using nested populate syntax.

Delete a document

DELETE /api/:pluralApiId/:documentId deletes a document.

Delete a file

DELETE /api/upload/files/:id deletes a file from the Media Library.

Delete locale version

DELETE /api/restaurants/:documentId?locale=fr deletes a specific locale version.

Disconnect relations

Disconnects entities from a relation as a partial update.

Draft status on write requests

POST and PUT with status=draft create or update without publishing.

fields parameter

Return only specific fields with query results.

filters parameter

Filter the response using the filters object parameter.

Get all documents in a specific locale

GET /api/restaurants?locale=fr returns all documents for a given locale.

Get a document

GET /api/:pluralApiId/:documentId returns a single document.

Get a document in a specific locale

GET /api/restaurants/:documentId?locale=fr returns a specific document.

Get documents

GET /api/:pluralApiId returns a paginated list of documents.

Get a specific file

GET /api/upload/files/:id returns a specific file.

has-published-version

Selects documents with both a draft and a published version.

Implicit $and

Multiple fields in the filters object are implicitly combined with $and.

Interactive Query Builder

Generates REST API query string URLs automatically from endpoint and parameters as you type.

List files

GET /api/upload/files returns a flat array of all Media Library files, ignoring pagination.

locale parameter

Select a locale with the locale string parameter.

modified

Selects documents whose draft was edited since last published.

Multi-field sorting

Sort on multiple fields using a sort array with :asc or :desc order.

never-published

Selects documents never published in a given locale.

Offset-based pagination

Paginate with pagination[start] and pagination[limit] parameters.

Page-based pagination

Paginate with pagination[page] and pagination[pageSize] parameters.

Paginated file list

GET /api/upload/files/page returns files in a data array with meta.pagination.

pagination parameter

Page through entries using the pagination object parameter.

Part A: Create a new project with Strapi ​

Part B: Build your content structure with the Content-type Builder ​

Part C: Deploy to Strapi Cloud ​

Part D: Add content to your Strapi Cloud project with the Content Manager ​

Populate all

Use populate=* to populate all relations and fields one level deep.

populate parameter

Include relations, media fields, components, and dynamic zones in REST responses.

publicationFilter

Optional query parameter to filter documents by draft/published relationship.

publicationFilter parameter

Select documents by how their draft and published versions relate.

Publish a draft as-is

PUT with an empty data object publishes the draft without changing content.

Publish immediately by default

POST or PUT without status publishes the document immediately.

qs library parsing

Uses the qs library to parse and stringify nested JavaScript objects into query strings.

Quick Start Guide

Reorder relations

Reorder relations using positional arguments like before, after, start, or end.

Set relations

Sets entities to a specific set, overwriting all existing connections.

sort parameter

Sort the response using the sort string or array parameter.

status parameter

Select the Draft & Publish status with the status parameter.

status query parameter

Select draft or published versions in GET requests.

String operators

String operators include $contains, $notContains, $containsi, $notContainsi, $startsWith, $startsWithi, $endsWith and $endsWithi.

Update a document

PUT /api/:pluralApiId/:documentId updates a document.

Update fileInfo

POST /api/upload?id=x updates file metadata such as name, alternativeText and caption.

Update locale version

PUT /api/restaurants/:documentId?locale=fr updates an existing locale version.

Upload API

The Upload package exposes /api/upload endpoints.

Upload files

POST /api/upload accepts files as Buffer or Stream, optionally with a fileInfo object.

What's next? ​