Providers API
GET
/public/studio/providers Public List all approved, published service providers. Supports filtering by specialty and featured status.
Query parameters
| specialty | Filter by specialty (e.g. DEVELOPMENT) |
| featured | true/false — show only featured providers |
| page | Page number (default: 1) |
| limit | Items per page (default: 20, max: 100) |
cURL example
curl https://studio-registry.example.invalid/public/studio/providers?featured=true Response (200)
{
"data": [
{
"slug": "foobar-studio",
"name": "Foobar Studio",
"headline": "Design. Build. Ship.",
"specialties": ["DEVELOPMENT", "DESIGN", "DEVOPS"],
"featured": true,
"publishedAt": "2026-05-29T00:00:00.000Z"
}
],
"total": 1,
"page": 1,
"limit": 20
} GET
/public/studio/providers/:slug Public Get a single provider's public profile by slug.
cURL example
curl https://studio-registry.example.invalid/public/studio/providers/foobar-studio PATCH
/provider/studio/listing API Key Update your own provider listing. Only allowed fields are accepted; name and slug changes require admin approval.
Request body
| headline | Short tagline |
| description | Full description |
| specialties | Array of specialty strings |
| websiteUrl | Provider website URL |
| logoUrl | Logo image URL |
| bannerUrl | Banner image URL |
cURL example
curl -X PATCH https://studio-registry.example.invalid/provider/studio/listing \
-H "Authorization: Bearer ysk_prov_your_key" \
-H "Content-Type: application/json" \
-d '{"headline": "Design. Build. Ship.", "description": "Updated."}' POST
/provider/studio/listing/publish API Key Make your listing publicly visible. Sets publicProfile=true and publishedAt to now.
POST
/provider/studio/listing/unpublish API Key Hide your listing from public view. Sets publicProfile=false. Existing clients are unaffected.