Skip to Content
APSO is in public beta. Get started
ManageService List

Service List

The service list is the /{workspace}/services view — the landing page for a workspace. It shows every service in the current workspace as a card, with search and filtering across the top and a Create Service action.

Layout

  • A header with the workspace title, a service count, search, and filters.
  • Below it, a responsive grid of service cards (one card per service).

The list renders every matching service at once — there is no pagination and no sort control. Cards appear in the order the workspace returns them. Search and filtering both run client-side over the services already loaded for the workspace, so results update instantly as you type.

The header shows the heading Services and a subtitle of the form {n} services in {workspace}. On the right is the Create Service button (a + icon), which opens the new-service flow at /{workspace}/services/new.

When a workspace has no services at all, the header is simplified to just the title and workspace name (search and filters are hidden); the create action then lives in the empty state below.

A single search box (Search services…) filters the list as you type. It matches, case-insensitively, on:

  • service name
  • service subdomain
  • service slug

There is no special query syntax — it is a substring match on those three fields.

Filters

A Filters button opens a dialog with two filters:

FilterOptions
StatusAll statuses, Active, Draft, Archived
TagAll tags, plus every tag defined in the workspace

Choose values and click Apply Filters (or Clear to reset). The Filters button shows a count badge of how many filters are active. Applied filters also appear as removable chips under the header (e.g. Status: Active ✕, Tag: billing ✕), and a Clear filters button resets everything except the search text.

The list view currently offers Status and Tag filters only. There are no date or owner filters, and no sort/order options.

Service card

Each card links to the service and summarizes its state.

  • Name — links to the schema editor (/services/{id}/editor).
  • Service status badgeActive, Draft, or Archived (see below).
  • Hosting badgeHosted (cloud) or Self-hosted (server), derived from the workspace subscription.
  • Deployed badge — shown when the service has an active Apso deployment.
  • Billing badge (hosted plans, deployed services) — Included or +${n}/mo depending on whether the service is within the plan’s included allotment.
  • Repository — when a GitHub repo is connected, the owner/repo and branch are shown.
  • Tags — up to two tag chips, then +N more.
  • Metadata row — entity count (from the schema), owner name (or Not assigned), and a relative timestamp (Deployed 2h ago for deployed hosted services, otherwise Updated 2h ago).
  • Actions menu () — context-dependent links: View Dashboard (hosted + deployed), Edit Schema, API Keys (hosted + deployed), Open API (when a deployed URL exists), and Settings.
  • Build status badge (hosted plans only) and the subdomain appear on the right.
  • Health dot (hosted plans only) — a colored dot reflecting deployment health.

Status, build status, and health are three different things

The list surfaces three independent state indicators. Do not conflate them — in particular, “Error” is a build status, not a service status.

Service status (the badge next to the name) — the lifecycle state of the service record:

StatusMeaning
ActiveLive/in-use service
DraftNot yet finalized
ArchivedRetired

Build status (hosted plans only, right side of the card) — the state of the most recent build/provision:

CategoryExamplesColor
Readybuild completegreen
Building / in progressscaffolding, provisioning, migratingyellow (pulsing)
Errora failed buildred
IntermediateDatabaseProvisioned, Scaffolded, StackCreated, …blue
New / pendingnot startedneutral

Deployment health (hosted plans only, the dot before the name) — the state of the active deployment: Live (green), Deploying (yellow, pulsing), Failed (red), Inactive/Not deployed (muted).

Empty and loading states

  • Loading — cards render as skeleton placeholders while services load.
  • No services in the workspace — a welcome state (Welcome to {workspace}) prompting you to create your first service, with the Create Service button.
  • No matches for the current filters — a “No services match your filters” state with a Clear all filters button.

Create Service

The Create Service button (header, or the empty-state button when the workspace has no services) navigates to /{workspace}/services/new. Creating a service requires an active workspace; the button is always available to workspace members from this view.

Last updated on