Sign in

SDK Quickstart

Install

bun add @yapture/studio-sdk
# or
npm install @yapture/studio-sdk

Initialize

import { StudioClient } from '@yapture/studio-sdk';

// Public endpoints (no auth needed)
const client = new StudioClient();

// Provider-authenticated (for managing your listing)
const providerClient = new StudioClient({
  apiKey: process.env.YAPTURE_STUDIO_API_KEY,
});

// Custom base URL (local dev)
const devClient = new StudioClient({
  apiKey: process.env.YAPTURE_STUDIO_API_KEY,
  baseUrl: 'http://localhost:5175',
});

First Request

// Browse public providers
const providers = await client.browse.list();
console.log(providers.data);

// Get a specific provider
const foobar = await client.browse.get('foobar-studio');
console.log(foobar.headline); // "Design. Build. Ship."

// Update your own listing (requires API key)
await providerClient.providers.update('your-slug', {
  headline: 'New tagline',
  description: 'Updated description.',
});

Error Handling

import { StudioClient, StudioApiError } from '@yapture/studio-sdk';

try {
  await client.providers.update('my-slug', { headline: 'New' });
} catch (err) {
  if (err instanceof StudioApiError) {
    console.error(`API error $${err.status}: $${err.message}`);
    console.error('Body:', err.body);
  }
}

Available Clients

client.browse

list(), get(), featured()

client.interest

submit(), verify()

client.providers

get(), update(), publish(), unpublish()

client.members

list(), invite(), remove()