{"name":"dots.id","description":"Identity provider, username service, MCP context tools, and per-user sync/data plane.","issuer":"https://www.dots.id","openapi":"https://www.dots.id/openapi.json","llms_txt":"https://www.dots.id/llms.txt","install":"https://www.dots.id/install","install_instructions":"https://www.dots.id/install/llms.txt","webmcp":{"docs":"https://www.dots.id/docs/webmcp","pages":["https://www.dots.id/install","https://www.dots.id/developers"],"tools":["dots.install_guide","dots.registration_requirements","dots.register_app"],"status":"experimental"},"mcp":"https://www.dots.id/mcp","mcp_server_card":"https://www.dots.id/.well-known/mcp/server-card.json","oauth":{"openid_configuration":"https://www.dots.id/.well-known/openid-configuration","authorization_server":"https://www.dots.id/.well-known/oauth-authorization-server","protected_resource":"https://www.dots.id/.well-known/oauth-protected-resource","registration":"https://www.dots.id/api/oauth/register","authorization":"https://www.dots.id/api/oauth/authorize","device_authorization":"https://www.dots.id/api/oauth/device","device_verification":"https://www.dots.id/oauth/device","token":"https://www.dots.id/api/oauth/token","userinfo":"https://www.dots.id/api/oauth/userinfo","grant_types":["authorization_code","refresh_token","urn:ietf:params:oauth:grant-type:device_code"]},"developer_portal":"https://www.dots.id/developers","agent_skills":"https://www.dots.id/.well-known/agent-skills/index.json","scoped_permissions":{"issuer":"https://www.dots.id","documentation":"https://www.dots.id/developers","openapi":"https://www.dots.id/openapi.json","oauth_discovery":"https://www.dots.id/.well-known/openid-configuration","scopes":[{"name":"openid","title":"OpenID","description":"Verify your identity","claims":["sub","iss","aud","exp","iat","auth_time"],"required":true},{"name":"profile","title":"Profile","description":"Access your username and basic profile info","claims":["username","name","picture","updated_at","color","color_source","vibe_entitled","vibe_product_id","vibe_price_id","subscription_status"],"required":false},{"name":"username:create","title":"Create Username","description":"Check availability and create your permanent dots.id username","claims":[],"required":false},{"name":"email","title":"Email","description":"Access your email address","claims":["email","email_verified"],"required":false},{"name":"purchases:read","title":"Read Purchases","description":"Check your verified purchase history for rewards and access to this app","claims":[],"required":false},{"name":"wallet","title":"Wallet","description":"Access your connected wallet address","claims":["wallet_address","wallet_type"],"required":false},{"name":"social:twitter","title":"Twitter/X Account","description":"Access your connected Twitter/X username","claims":["twitter_username","twitter_name"],"required":false},{"name":"social:instagram","title":"Instagram Account","description":"Access your connected Instagram username","claims":["instagram_username","instagram_name"],"required":false},{"name":"social:google","title":"Google Account","description":"Access your connected Google account info","claims":["google_email","google_name"],"required":false},{"name":"listen","title":"Listen","description":"Read connected listening sources and recent plays","claims":["listen"],"required":false},{"name":"foodboard:read","title":"Read Saved Food Places","description":"Import food places saved by your dots extension into Foodboard","claims":[],"required":false},{"name":"chat:read","title":"Read Dots Chats","description":"Read messages and shared context in rooms that explicitly grant this app access","claims":[],"required":false},{"name":"chat:write","title":"Use Dots Chats","description":"Send as you in rooms granting this app permission, respond to invitations, and create chats with 30-day read/send app access","claims":[],"required":false},{"name":"worlds:read","title":"Read Your Worlds","description":"Read your world memberships and content available to members","claims":[],"required":false},{"name":"worlds:write","title":"Join and Leave Worlds","description":"Accept or decline your world invitations and leave worlds","claims":[],"required":false},{"name":"worlds:admin","title":"Manage Your Worlds","description":"Create private worlds and manage channels, members and content in worlds you administer","claims":[],"required":false},{"name":"data:read","title":"Read Data","description":"Read data this app has stored in your personal database","claims":[],"required":false},{"name":"data:write","title":"Write Data","description":"Store data in your personal database","claims":[],"required":false},{"name":"files:read","title":"Read Files","description":"List and download files in this app's dots-blob namespace","claims":[],"required":false},{"name":"files:write","title":"Write Files","description":"Upload, move, and delete files in this app's dots-blob namespace","claims":[],"required":false},{"name":"files:share","title":"Share Files","description":"Share files with dots people, orgs, and groups","claims":[],"required":false},{"name":"demotapes:read","title":"Read Shared Sounds","description":"List and download your shared Demotapes audio across connected music apps","claims":[],"required":false},{"name":"demotapes:write","title":"Add Shared Sounds","description":"Add audio to your shared Demotapes library for connected music apps","claims":[],"required":false},{"name":"code:read","title":"Read Account Code","description":"Read source code and history across your account code repository","claims":[],"required":false},{"name":"code:write","title":"Write Account Code","description":"Create your code repository, save code revisions and authorize agent branches","claims":[],"required":false},{"name":"context:read","title":"Read Context","description":"Read context created by this app and notes explicitly shared with you","claims":[],"required":false},{"name":"context:read:all","title":"Read Context Across Apps","description":"Read your context, notes and history across all connected apps; requires context:read","claims":[],"required":false},{"name":"notes:share","title":"Share Notes","description":"Invite people or agents to specific notes, with an expiry and revocation","claims":[],"required":false},{"name":"context:write","title":"Write Context","description":"Append to your dots context and history","claims":[],"required":false},{"name":"pute:read","title":"Read Credits","description":"See your pute credit balance","claims":[],"required":false},{"name":"pute:spend","title":"Spend Credits","description":"Spend pute credits on your behalf","claims":[],"required":false},{"name":"pute:topup","title":"Top Up Credits","description":"Start a checkout to add pute credits to your balance","claims":[],"required":false},{"name":"mcp:use","title":"Use MCP Connections","description":"Call MCP servers connected to your dots identity","claims":[],"required":false},{"name":"cosign","title":"Co-sign","description":"Vouch for others and co-sign them into your dots org","claims":[],"required":false},{"name":"delegate","title":"Delegate","description":"Grant scoped, capped access to other dots or agents on your behalf","claims":[],"required":false},{"name":"org:act","title":"Act for Org","description":"Take whitelisted actions as a dots org you belong to","claims":["org_id","org_role"],"required":false},{"name":"org:admin","title":"Org Admin","description":"Manage members, roles, and grants for a dots org","claims":["org_id","org_role"],"required":false},{"name":"offline_access","title":"Offline Access","description":"Maintain access when you are not actively using the app","claims":[],"required":false}]},"apis":[{"name":"OAuth / OIDC","path":"/api/oauth/*","docs":"https://www.dots.id/docs/api#oauth"},{"name":"Device sign-in (RFC 8628)","path":"/api/oauth/device","docs":"https://www.dots.id/docs/api#device"},{"name":"Identity bootstrap","path":"/api/identity/bootstrap","scopes":["openid","context:read"]},{"name":"Username service","path":"/api/identity/username","scopes":["username:create"]},{"name":"Portable context","path":"/api/identity/context","scopes":["context:read","context:write"]},{"name":"MCP tools","path":"/mcp","scopes":["context:read","context:write"]},{"name":"Credits (pute)","path":"/api/pute/*","scopes":["pute:read","pute:spend","pute:topup"]},{"name":"Files","path":"/api/files","scopes":["files:read","files:write","files:share"]},{"name":"Per-app data (Turso)","path":"/api/oauth/data","scopes":["data:read","data:write"]}]}