GET /v1/user/details?user_id=<you>
Your account profile, dual-profile flags, verification state.
API
Personal API keys for every account. Pull your shifts into Replit, automate from Claude Code, sync your schedule into Notion, build anything you want. We auto-provision a key for everyone, sign in and copy it from your settings.
Reference
Every endpoint, every request shape, every response schema, generated directly from the live legacy API service so docs and code stay in sync.
Interactive. Browse, click into endpoints, paste your Bearer key, hit Try it out. Best for exploring or testing a call.
Read-only, three-pane layout. Better for reading top-to-bottom, sharing a link to a specific endpoint, or printing.
Raw OpenAPI 3 spec. Feed it to openapi-generator, oapi-codegen, or any Claude/ChatGPT to generate a client SDK in your language of choice.
Authentication
Every API request to https://api.shiftsee.com/v1/* requires an Authorization header with your personal API key. The key resolves to your user account; permissions match what you can do in the app.
GET https://api.shiftsee.com/v1/user/details
Authorization: Bearer ssk_live_a1b2c3d4e5f6...
Content-Type: application/json
Quick start
Find your key in User Settings → API key. Then:
curl https://api.shiftsee.com/v1/shifter/of_user \
-H "Authorization: Bearer $SHIFTSEE_API_KEY" \
-H "Content-Type: application/json"
import httpx, os
key = os.environ["SHIFTSEE_API_KEY"]
r = httpx.get(
"https://api.shiftsee.com/v1/shifter/of_user",
headers={"Authorization": f"Bearer {key}"},
)
print(r.json())
const key = process.env.SHIFTSEE_API_KEY;
const res = await fetch("https://api.shiftsee.com/v1/shifter/of_user", {
headers: { "Authorization": `Bearer ${key}` },
});
console.log(await res.json());
Common endpoints
Below is a handful of endpoints that map directly to typical personal-integration use cases. The full schema lives in the OpenAPI spec; any client generator (openapi-generator, oasdiff, etc) consumes it directly.
GET /v1/user/details?user_id=<you>Your account profile, dual-profile flags, verification state.
GET /v1/shifter/of_user?user_id=<you>Your shifter profile (slug, public details, ratings).
GET /v1/business/of_user?user_id=<you>Every business you own, with default-business flag.
POST /v1/shift_request/list_of_requestsFilterable list of your shift requests by date / status / role / counterparty.
POST /v1/request_authorization/list_of_requestsYour connections (incoming, outgoing, accepted) for either side.
GET /v1/messaging/inboxUnified inbox: direct + request-tab + pinned threads.
POST /v1/messaging/messagesSend a message to a connected counterparty.
POST /v1/help/searchSearch the help corpus the same way the in-app helper does.
Need the full spec? Sign in and head to /admin#/api-docs if you have admin access, or email api@shiftsee.com for the OpenAPI dump.
Plug it in
Add SHIFTSEE_API_KEY as a Secret. Every request reads from process.env or os.environ. Done.
Tell Claude what you want to build, paste the curl example above as context. The OpenAPI spec gives full type info.
Use any HTTP-based automation tool (Make, Zapier, n8n) to sync your schedule, payments, or messages out.
"Get URL contents" with the Authorization header turns ShiftSee into a personal data source on your phone.
Apps Script + UrlFetchApp pulls your shift list into a sheet for accounting, tax prep, or cap-table-style reporting.
Build anything: a personal earnings tracker, a rate-trend chart, a Slack reminder bot. The platform is yours.
Safety
The full key is shown once at creation or regenerate. After that we only show the first 12 characters as a prefix for identification. Never paste a key into a public repo, a public chat, or a screenshot. If a key leaks, click Regenerate in your settings, that revokes the old key immediately and mints a new one.
Demo accounts never receive persistent API keys. Public demos run in a separate synthetic-data environment with short-lived browser sessions; use a real account and a scoped personal key for integrations.
Limits
Personal API keys are rate-limited to 600 requests / 5 minutes per key. AI agents do not need to request access: the MCP server can register verified users itself. Company integrations can self-register in the External Partner API portal for OAuth and scoped credentials.
Developer preview
This repository includes a 32-tool local MCP server for command-based stdio clients. It starts without a key, registers email-verified business and shifter accounts, keeps encrypted multi-account sessions, records AI passports and shift deliverables, and remains compatible with personal API keys. See the onboarding flow and exact safety boundary.