{ "operationId": "check-domain-availability", "method": "GET", "path": "/v2/studio/vercel/domain/check", "summary": "Check if a custom subdomain is available", "description": "Checks whether a custom *.neynar.app subdomain is available for assignment. Validates format, checks reserved names, and verifies no other active deployment is using it. Note: Studio CU is tracked based on LLM token usage, not per API call.", "tags": [ "studio" ], "parameters": [ { "name": "fid", "in": "query", "required": true, "description": "Farcaster ID of the requesting user", "schema": { "example": 3, "format": "int32", "minimum": 0, "type": "integer" } }, { "name": "subdomain", "in": "query", "required": true, "description": "The desired subdomain (without .neynar.app suffix). Must be 3-63 characters, lowercase alphanumeric and hyphens only.", "schema": { "maxLength": 63, "minLength": 3, "pattern": "^[a-z0-9]([a-z0-9-]*[a-z0-9])?$", "type": "string" } } ], "requestBody": null, "responses": { "200": { "description": "Success", "schema": { "properties": { "available": { "description": "Whether the subdomain is available", "type": "boolean" }, "domain": { "description": "The full domain (e.g., myapp.neynar.app)", "type": "string" }, "reason": { "description": "Reason why the subdomain is unavailable (e.g., \"reserved\", \"taken\")", "type": "string" } }, "required": [ "available", "domain" ], "type": "object" }, "example": null }, "400": { "description": "Bad Request", "schema": { "properties": { "error": { "type": "string" }, "success": { "enum": [ false ], "type": "boolean" } }, "required": [ "success", "error" ], "type": "object" }, "example": null }, "500": { "description": "Server Error", "schema": { "properties": { "error": { "type": "string" }, "success": { "enum": [ false ], "type": "boolean" } }, "required": [ "success", "error" ], "type": "object" }, "example": null } } }