Skip to main content
GET
List apps

Authorizations

Authorization
string
header
required

Personal access token, sent as Authorization: Bearer <token>.

Query Parameters

workspace_id
string

ID of the workspace to list apps from. Omit to use your personal workspace. You must be a member of the workspace you request. Each request lists the apps in a single workspace.

fields
string

Comma-separated list of fields to return. For example, id,name,slug,status. Omit to receive the full app document.

sort
string

Single field to sort by, prefixed with - for descending. For example, -created_date returns newest first.

limit
integer

Maximum number of apps to return. Omit to return all the apps you can access.

Required range: 1 <= x <= 10000
skip
integer

Number of apps to skip before the page starts. Combine with limit to page through results.

Required range: x >= 0

Response

Successful Response

id
string | null

ID of the app.

Example:

"6820f3a4e7b91d003c45a1f2"

name
string | null

Display name of the app.

Example:

"My CRM"

slug
string | null

URL slug for the app, auto generated from the name and app ID or set to a custom value, or null if the app has no slug yet. The published URL is built from it.

Example:

"my-crm-3c45a1f2"

user_description
string | null

Description of the app, or null if none was set. An app created without a name gets a generated description once a build turn changes it.

Example:

"A CRM to track leads and deals"

created_by
string | null

Email of the user who created the app.

Example:

"developer@example.com"

created_date
string<date-time> | null

Time the app was created, as a UTC timestamp in ISO 8601 format.

Example:

"2026-08-01T09:15:00"

updated_date
string<date-time> | null

Time the app document was last written, as a UTC timestamp in ISO 8601 format.

Example:

"2026-08-02T14:30:00"

status
AppStatusResponse · object | null

The app's current build status. Poll while a build is in progress to watch it finish. This tracks building, not publishing.

last_deployed_at
string<date-time> | null

Time the app was last published, as a UTC timestamp in ISO 8601 format, or null if it has never been published.

Example:

"2026-08-02T14:30:00"

screenshot_url
string | null

URL of a screenshot of the published app. Captured shortly after each publish, so it can briefly lag or be null right after publishing.

Example:

"https://storage.base44.com/screenshots/6820f3a4e7b91d003c45a1f2.png"

preview_screenshot_url
string | null

URL of a preview screenshot taken before publishing, distinct from screenshot_url, or null if none has been captured.

Example:

"https://storage.base44.com/previews/6820f3a4e7b91d003c45a1f2.png"

main_branch_protected
boolean | null

Whether the app's main branch is protected, so changes to main must go through a branch that's merged back. Change it with Set main branch protection.

Example:

false

organization_id
string | null

ID of the workspace the app belongs to.

Example:

"67e0b12c4d8a3f005b21c9e4"

owner_id
string | null

ID of the user who owns the app. It starts as the creator and changes when ownership is transferred.

Example:

"6706af53b9c1e2004a37d85f"

app_type
string | null

Kind of app, set when it's created. One of user_app (a web app), user_agent (an AI agent), mobile_app (a native mobile app), user_game (a game), slide (a presentation), or imported_app (an app imported from an existing code repository). List apps returns it as stored, so an older agent app can report agent instead of user_agent, and some older apps don't include it. Get app always returns one of the values above.

Example:

"user_app"

public_settings
enum<string> | null

Who can open the published app. Each value is described under Update app, which also changes it.

Available options:
public_without_login,
public_with_login,
workspace_with_login,
private_with_login
Example:

"public_with_login"

auth_config
AppLoginMethods · object | null

Which login methods the app's login page offers. If the workspace enforces SSO for apps, the login page offers only SSO, whatever these are set to. Change them with Update app.

is_remixable
boolean | null

Whether others can remix the app. While it's true, the published app also shows the Base44 badge if public_settings is public_with_login or public_without_login.

Example:

false

hide_entity_created_by
boolean | null

Whether the app's entity records leave out the email of the user who created each one (created_by). Newer apps always leave the email out, whatever this is set to.

Example:

true

dev_environment_enabled
boolean | null

Whether test data is on, which gives the app a test database next to its live one.

Example:

false

logo_url
string | null

URL of the app's logo, or null if it has none. Set it with Set app logo or Generate app logo.

Example:

"https://storage.base44.com/6820f3a4e7b91d003c45a1f2/3f2504e0_logo.png"

social_image_url
string | null

URL of the image shown when the app is shared on social platforms, or null if none was set, in which case the logo is shown instead. Set it with Set social image.

Example:

"https://storage.base44.com/6820f3a4e7b91d003c45a1f2/7c9e6679_social.png"

is_unpublished
boolean | null

Whether the app was taken offline with Unpublish app and hasn't been published again since. While it's true, the published URL is offline and last_deployed_at still shows the last publish.

Example:

false