### Install and use YouSpot clients Source: https://youspot.com/docs/overview.md Commands to run the CLI and install the SDKs. The CLI commands need no credential for anything except calling a tool. ```bash npx youspot ask "how do I connect an MCP client" npx youspot tools pip install youspot go get github.com/OnStartups/youspot-go gem install youspot ``` -------------------------------- ### Start a job with POST /api/jobs Source: https://youspot.com/docs/versioning.md Use this curl command to start a job over plain HTTP. It returns 202 Accepted with a Location header and Retry-After. Starting a kind that is already running reports the running job instead of queuing a second one. ```bash curl -i -X POST https://youspot.com/api/jobs \ -H "Authorization: Bearer $YOUSPOT_TOKEN" \ -H "Content-Type: application/json" \ -d '{"kind":"embed_objects"}' # HTTP/1.1 202 Accepted # Location: https://youspot.com/api/jobs/8413 # Retry-After: 5 ``` -------------------------------- ### Call MCP tool with bearer token Source: https://youspot.com/docs/api.md Posts a JSON-RPC request to the MCP endpoint with a bearer token to call a tool. The example calls search_connections with a query argument. ```bash curl -X POST https://youspot.com/mcp \ -H "Authorization: Bearer $YOUSPOT_TOKEN" \ -H "Content-Type: application/json" \ -d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"search_connections","arguments":{"query":"acme"}}}' ``` -------------------------------- ### Sandbox tools/call to YouSpot MCP without credentials Source: https://youspot.com/docs/mcp.md Use this curl command to test read tools against a demo account without signing up. The sandbox server at https://youspot.com/mcp/sandbox refuses write tools and returns answers shaped like a real account. The example calls search_graph_objects with query 'Meridian'. ```bash curl -X POST https://youspot.com/mcp/sandbox \ -H "Content-Type: application/json" \ -d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"search_graph_objects","arguments":{"query":"Meridian"}}}' ``` -------------------------------- ### POST /api/jobs Source: https://youspot.com/docs/versioning.md Starts a long-running job over plain HTTP. Returns 202 Accepted with a Location header pointing to the job. ```APIDOC ## POST /api/jobs ### Description Starts a new job. If a job of the same kind is already running, it returns the running job instead of queuing a second one. ### Method POST ### Endpoint /api/jobs ### Headers - **Authorization** (string) - Required - Bearer token for authentication. - **Content-Type** (string) - Required - Must be `application/json`. ### Request Body - **kind** (string) - Required - The type of job to start (e.g., `embed_objects`). ### Request Example ```json { "kind": "embed_objects" } ``` ### Response #### Success Response (202) - **Location** (string) - URL to poll for job status. - **Retry-After** (integer) - Seconds to wait before polling. #### Response Example ``` HTTP/1.1 202 Accepted Location: https://youspot.com/api/jobs/8413 Retry-After: 5 ``` ``` -------------------------------- ### Add YouSpot MCP server to Codex CLI Source: https://youspot.com/docs/mcp.md Use this command to add the YouSpot MCP server to Codex. It starts browser sign-in during the command; if sign-in is still needed, run 'codex mcp login youspot'. ```bash codex mcp add youspot --url https://youspot.com/mcp/v1 ``` -------------------------------- ### GET /mcp (deprecated path) Source: https://youspot.com/docs/versioning.md Shows the deprecation headers returned by the deprecated /mcp path, including the successor-version link. ```APIDOC ## GET /mcp ### Description Returns deprecation headers indicating the path is deprecated and pointing to the successor version. ### Method GET ### Endpoint /mcp ### Response #### Success Response (200) - **Deprecation** (string) - Always `true` for this deprecated path. - **Link** (string) - Header with `rel="successor-version"` naming the replacement path. #### Response Example ``` Deprecation: true Link: ; rel="successor-version" ``` ``` -------------------------------- ### GET /oauth/authorize Source: https://youspot.com/docs/authentication.md Consent endpoint. A signed-out person is sent through Clerk first, then shown what the client is asking for. ```APIDOC ## GET /oauth/authorize ### Description Consent endpoint. A signed-out person is sent through Clerk first, then shown what the client is asking for. ### Method GET ### Endpoint https://youspot.com/oauth/authorize ### Parameters #### Query Parameters - **response_type** (string) - Required - Must be `code`. - **client_id** (string) - Required - The client identifier. - **redirect_uri** (string) - Required - The redirect URI where the code is sent. - **scope** (string) - Required - Must be `linkedin`. - **code_challenge** (string) - Required - PKCE challenge. - **code_challenge_method** (string) - Required - Must be `S256`. - **state** (string) - Optional - Opaque value to maintain state. ### Response #### Success Response (302) Redirects to the redirect URI with a `code` and `state` parameter. #### Response Example HTTP/1.1 302 Found Location: https://example.com/callback?code=...&state=... ``` -------------------------------- ### GET /api/human/ Source: https://youspot.com/docs/api.md Retrieves a public member profile as JSON. No authentication is required. ```APIDOC ## GET /api/human/ ### Description Returns a public member profile as JSON. No authentication required. ### Method GET ### Endpoint /api/human/ ### Parameters #### Path Parameters - **username** (string) - Required - The username of the member. ### Response #### Success Response (200) - **profile** (object) - The public member profile. #### Response Example ```json { "username": "dharmesh", "name": "Dharmesh Shah", "headline": "Founder & CTO at HubSpot" } ``` ``` -------------------------------- ### GET /api/network/members Source: https://youspot.com/docs/api.md Returns a page of the public member directory. No authentication required. ```APIDOC ## GET /api/network/members ### Description Returns a page of the public member directory. No authentication required. ### Method GET ### Endpoint /api/network/members ### Parameters #### Query Parameters - **q** (string) - Optional - Search query to filter members. - **per_page** (integer) - Optional - Number of members per page. ### Response #### Success Response (200) - **members** (array) - List of member profiles. - **pagination** (object) - Pagination metadata. #### Response Example ```json { "members": [ { "username": "dharmesh", "name": "Dharmesh Shah" } ], "pagination": { "page": 1, "per_page": 20, "total": 100 } } ``` ``` -------------------------------- ### POST /api/batch Source: https://youspot.com/docs/api.md Runs up to 20 GET requests against the read endpoints in one round trip. Each item comes back with its own status and body (or text for markdown), in the order sent. The batch itself returns 200 once the envelope is valid. ```APIDOC ## POST /api/batch ### Description Runs up to 20 GET requests against the read endpoints in one round trip. Each item comes back with its own status and body (or text for markdown), in the order sent. The batch itself returns 200 once the envelope is valid. Each item still counts against its own endpoint's rate limit. ### Method POST ### Endpoint /api/batch ### Parameters #### Request Body - **requests** (array) - Required - List of batch request items. - **id** (string) - Required - Identifier for the request. - **path** (string) - Required - Path of the endpoint to call. - **query** (object) - Optional - Query parameters for the request. ### Request Example ```json { "requests": [ { "id": "dir", "path": "/api/network/members", "query": { "q": "consulting", "per_page": 5 } }, { "id": "me", "path": "/api/human/dharmesh" } ] } ``` ### Response #### Success Response (200) - **object** (string) - Always "batch". - **count** (integer) - Number of responses. - **responses** (array) - List of responses in order. - **id** (string) - Identifier of the request. - **status** (integer) - HTTP status of the individual request. - **body** (object) - Response body for JSON endpoints. - **text** (string) - Response text for markdown endpoints. #### Response Example ```json { "object": "batch", "count": 2, "responses": [ { "id": "dir", "status": 200, "body": {} }, { "id": "me", "status": 200, "body": {} } ] } ``` ``` -------------------------------- ### GET /api/human/.md Source: https://youspot.com/docs/api.md Retrieves a public member profile as markdown. No authentication required. ```APIDOC ## GET /api/human/.md ### Description Returns the same public member profile as markdown. No authentication required. ### Method GET ### Endpoint /api/human/.md ### Parameters #### Path Parameters - **username** (string) - Required - The username of the member. ### Response #### Success Response (200) - **profile** (markdown) - The public member profile in markdown format. #### Response Example ```markdown # Dharmesh Shah Founder & CTO at HubSpot ``` ``` -------------------------------- ### Batch request with curl Source: https://youspot.com/docs/api.md Sends up to 20 GET requests to read endpoints in one round trip. Each item returns its own status and body, and the batch returns 200 if the envelope is valid. Each item still counts against its endpoint's rate limit. ```bash curl -X POST https://youspot.com/api/batch \ -H "Content-Type: application/json" \ -d '{"requests":[ {"id":"dir","path":"/api/network/members","query":{"q":"consulting","per_page":5}}, {"id":"me","path":"/api/human/dharmesh"} ]}' # 200 { "object": "batch", "count": 2, "responses": [ { "id": "dir", "status": 200, "body": {...} }, { "id": "me", "status": 200, "body": {...} } ] } ``` -------------------------------- ### Authenticated tools/call to YouSpot MCP with bearer token Source: https://youspot.com/docs/mcp.md Use this curl command to call a tool that reads a member's own CRM. Requires an OAuth access token or member API token in the Authorization header. The example calls get_connections_summary. ```bash curl -X POST https://youspot.com/mcp/v1 \ -H "Authorization: Bearer $YOUSPOT_TOKEN" \ -H "Content-Type: application/json" \ -d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"get_connections_summary","arguments":{}}}' ``` -------------------------------- ### GET /api/human/.json Source: https://youspot.com/docs/api.md Retrieves a public member profile as JSON with an explicit .json extension. No authentication required. ```APIDOC ## GET /api/human/.json ### Description Returns the same public member profile as JSON, with an explicit .json extension. No authentication required. ### Method GET ### Endpoint /api/human/.json ### Parameters #### Path Parameters - **username** (string) - Required - The username of the member. ### Response #### Success Response (200) - **profile** (object) - The public member profile. #### Response Example ```json { "username": "dharmesh", "name": "Dharmesh Shah", "headline": "Founder & CTO at HubSpot" } ``` ``` -------------------------------- ### GET /api/jobs/{task_id} Source: https://youspot.com/docs/versioning.md Polls the status of a long-running job. Returns the job state and result when complete. ```APIDOC ## GET /api/jobs/{task_id} ### Description Retrieves the current status of a job. Poll until `terminal` is true; the response includes `Retry-After` with the interval to use while the job is running. ### Method GET ### Endpoint /api/jobs/{task_id} ### Path Parameters - **task_id** (integer) - Required - The job identifier. ### Headers - **Authorization** (string) - Required - Bearer token for authentication. ### Response #### Success Response (200) - **job_id** (integer) - The job identifier. - **kind** (string) - The type of job. - **state** (string) - Current state (e.g., `running`, `succeeded`). - **terminal** (boolean) - Whether the job has finished. - **result** (object) - Present when `state` is `succeeded`. - **Retry-After** (integer) - Seconds to wait before polling again (when not terminal). #### Response Example ```json { "job_id": 8412, "kind": "file_import", "state": "running", "terminal": false } ``` ``` -------------------------------- ### Call /mcp with a bearer token Source: https://youspot.com/docs/authentication.md Send a JSON-RPC request to the MCP endpoint using a member's API token or an OAuth access token. The token is passed in the Authorization header. The example uses the tools/list method. ```bash curl -X POST https://youspot.com/mcp \ -H "Authorization: Bearer $YOUSPOT_TOKEN" \ -H "Content-Type: application/json" \ -d '{"jsonrpc":"2.0","id":1,"method":"tools/list"}' ``` -------------------------------- ### Poll a job status with GET /api/jobs/ Source: https://youspot.com/docs/versioning.md Use this curl command to poll a job's status. The response includes job_id, kind, state, and terminal fields; while running, it carries Retry-After. ```bash curl https://youspot.com/api/jobs/8412 \ -H "Authorization: Bearer $YOUSPOT_TOKEN" # {"job_id":8412,"kind":"file_import","state":"running","terminal":false,...} ``` -------------------------------- ### Configure YouSpot MCP server for stdio clients Source: https://youspot.com/docs/mcp.md Use this JSON configuration for clients that only support stdio. It runs the @youspot/mcp package via npx and forwards messages to the remote server. Keep the token in secret settings, not in chat. ```json { "mcpServers": { "youspot": { "command": "npx", "args": ["-y", "@youspot/mcp"], "env": { "YOUSPOT_TOKEN": "..." } } } } ``` -------------------------------- ### Configure YouSpot MCP server in Cursor Source: https://youspot.com/docs/mcp.md Add this JSON configuration to ~/.cursor/mcp.json to connect Cursor to the YouSpot MCP server. ```json { "mcpServers": { "youspot": { "url": "https://youspot.com/mcp/v1" } } } ``` -------------------------------- ### Prompt to verify YouSpot tools in conversation Source: https://youspot.com/docs/mcp.md Use this prompt after connecting to verify that YouSpot tools are available and that account access works. A successful response from the Check connections (list_integrations) tool confirms the conversation can use YouSpot. Reading the public tool list, completing OAuth, or calling the endpoint from a terminal does not verify this. ```text Check the YouSpot tools available in this conversation. Use Check connections (list_integrations) to verify my account access. Tell me which call succeeded, what sources are connected, and 3 things you can help me do with the tools you actually have. ``` -------------------------------- ### POST /mcp/sandbox Source: https://youspot.com/docs/versioning.md Sandbox MCP server endpoint for testing. Supports idempotency and has a rate limit of 60 calls per minute per address. ```APIDOC ## POST /mcp/sandbox ### Description Sandbox MCP server for testing. Allows up to 60 calls per minute per address. Supports idempotency via the Idempotency-Key header. ### Method POST ### Endpoint /mcp/sandbox ### Headers - **Idempotency-Key** (string) - Optional - A unique string up to 255 characters to make retries safe. ### Request Body - **jsonrpc** (string) - Required - Must be `"2.0"`. - **method** (string) - Required - The MCP method to invoke. - **params** (object) - Optional - Parameters for the method. - **id** (string or number) - Required - Request identifier. ### Request Example ```json { "jsonrpc": "2.0", "method": "tools/call", "params": {}, "id": 1 } ``` ### Response #### Success Response (200) - **jsonrpc** (string) - Always `"2.0"`. - **result** (object) - The result of the method call. - **id** (string or number) - Echo of the request id. #### Response Example ```json { "jsonrpc": "2.0", "result": {}, "id": 1 } ``` ### Error Handling - **429** - Rate limit exceeded. Returns a JSON-RPC error with code -32003 and a `Retry-After` header. ``` -------------------------------- ### Query UCP profile for payment handlers and checkout status Source: https://youspot.com/docs/payments.md Use this curl command to fetch the UCP discovery profile and check the payment_handlers registry and checkout status. The output shows an empty registry and a status of "not_supported", indicating no agent payment handler is available. ```bash curl -s https://youspot.com/.well-known/ucp | jq '.ucp.payment_handlers, .checkout.status' # {} # "not_supported" ``` -------------------------------- ### POST /mcp Source: https://youspot.com/docs/api.md Posts JSON-RPC to the MCP tool surface with a bearer token. `tools/list` enumerates the available tools and `tools/call` runs one. ```APIDOC ## POST /mcp ### Description Posts JSON-RPC to the MCP tool surface with a bearer token. `tools/list` enumerates the available tools and `tools/call` runs one. ### Method POST ### Endpoint /mcp ### Authentication Bearer token required. Missing or expired token returns 401 with a `WWW-Authenticate: Bearer` header. ### Parameters #### Request Body - **jsonrpc** (string) - Required - JSON-RPC version, must be "2.0". - **id** (integer) - Required - Request identifier. - **method** (string) - Required - Method to call, e.g., "tools/list" or "tools/call". - **params** (object) - Required - Parameters for the method. - **name** (string) - Required for tools/call - Name of the tool to call. - **arguments** (object) - Required for tools/call - Arguments for the tool. ### Request Example ```json { "jsonrpc": "2.0", "id": 1, "method": "tools/call", "params": { "name": "search_connections", "arguments": { "query": "acme" } } } ``` ### Response #### Success Response (200) - **jsonrpc** (string) - JSON-RPC version. - **id** (integer) - Request identifier. - **result** (object) - Result of the tool call. - **isError** (boolean) - Indicates if the tool call failed. - **content** (array) - Tool output content. #### Error Response (401) - **WWW-Authenticate** (header) - Bearer realm with protected-resource metadata URL. #### Response Example ```json { "jsonrpc": "2.0", "id": 1, "result": { "isError": false, "content": [ { "type": "text", "text": "..." } ] } } ``` ``` -------------------------------- ### Send an idempotent POST to /oauth/register Source: https://youspot.com/docs/versioning.md Use this curl command to register an OAuth client with an Idempotency-Key header. The key is a UUID generated by uuidgen, and the request body includes redirect_uris and client_name. ```bash curl -X POST https://youspot.com/oauth/register \ -H "Idempotency-Key: $(uuidgen)" \ -H "Content-Type: application/json" \ -d '{"redirect_uris":["https://example.com/callback"],"client_name":"My agent"}' ``` -------------------------------- ### POST /oauth/register Source: https://youspot.com/docs/authentication.md Dynamic client registration (RFC 7591). Registration alone grants nothing. ```APIDOC ## POST /oauth/register ### Description Dynamic client registration (RFC 7591). Registration alone grants nothing. ### Method POST ### Endpoint https://youspot.com/oauth/register ### Parameters #### Request Body - **client_name** (string) - Required - The name of the client. - **redirect_uris** (array) - Required - List of allowed redirect URIs. - **token_endpoint_auth_method** (string) - Optional - Authentication method for the token endpoint. - **grant_types** (array) - Optional - List of grant types. - **response_types** (array) - Optional - List of response types. ### Request Example { "client_name": "My Agent", "redirect_uris": ["https://example.com/callback"], "token_endpoint_auth_method": "none", "grant_types": ["authorization_code", "refresh_token"], "response_types": ["code"] } ### Response #### Success Response (201) - **client_id** (string) - The client identifier. - **client_secret** (string) - The client secret (if issued). - **client_id_issued_at** (number) - Time of issuance. - **client_secret_expires_at** (number) - Expiration time. #### Response Example { "client_id": "...", "client_secret": "...", "client_id_issued_at": 0, "client_secret_expires_at": 0 } ``` -------------------------------- ### Unauthenticated tools/list call to YouSpot MCP Source: https://youspot.com/docs/mcp.md Use this curl command to handshake and read the tool list without a credential. The server answers initialize, ping, and tools/list without authentication. ```bash curl -X POST https://youspot.com/mcp/v1 \ -H "Content-Type: application/json" \ -d '{"jsonrpc":"2.0","id":1,"method":"tools/list"}' ``` -------------------------------- ### POST /mcp/v1 Source: https://youspot.com/docs/versioning.md The current MCP server endpoint. Supports idempotency via the Idempotency-Key header for safe retries. ```APIDOC ## POST /mcp/v1 ### Description Main endpoint for the MCP server. Accepts JSON-RPC requests and supports idempotency for write operations. ### Method POST ### Endpoint /mcp/v1 ### Headers - **Idempotency-Key** (string) - Optional - A unique string up to 255 characters to make retries safe. ### Request Body - **jsonrpc** (string) - Required - Must be `"2.0"`. - **method** (string) - Required - The MCP method to invoke. - **params** (object) - Optional - Parameters for the method. - **id** (string or number) - Required - Request identifier. ### Request Example ```json { "jsonrpc": "2.0", "method": "tools/call", "params": {}, "id": 1 } ``` ### Response #### Success Response (200) - **jsonrpc** (string) - Always `"2.0"`. - **result** (object) - The result of the method call. - **id** (string or number) - Echo of the request id. #### Response Example ```json { "jsonrpc": "2.0", "result": {}, "id": 1 } ``` ### Error Handling - **429** - Rate limit exceeded. Returns a JSON-RPC error with code -32003 and a `Retry-After` header. ``` -------------------------------- ### Add YouSpot MCP server to Claude Code Source: https://youspot.com/docs/mcp.md Use this command to add the YouSpot MCP server to Claude Code with HTTP transport. ```bash claude mcp add --transport http youspot https://youspot.com/mcp/v1 ``` -------------------------------- ### Check deprecation headers on /mcp Source: https://youspot.com/docs/versioning.md Use this curl command to see the Deprecation and Link headers on the deprecated /mcp path. The output shows the successor-version link to /mcp/v1. ```bash curl -sD - -o /dev/null https://youspot.com/mcp # Deprecation: true # Link: ; rel="successor-version" ``` -------------------------------- ### POST /oauth/token Source: https://youspot.com/docs/authentication.md Authorization code exchange and refresh. Refresh tokens rotate on use. ```APIDOC ## POST /oauth/token ### Description Authorization code exchange and refresh. Refresh tokens rotate on use. ### Method POST ### Endpoint https://youspot.com/oauth/token ### Parameters #### Request Body - **grant_type** (string) - Required - Either `authorization_code` or `refresh_token`. - **code** (string) - Required for authorization_code - The authorization code. - **redirect_uri** (string) - Required for authorization_code - The redirect URI used in the authorization request. - **client_id** (string) - Required - The client identifier. - **code_verifier** (string) - Required for authorization_code - The PKCE verifier. - **refresh_token** (string) - Required for refresh_token - The refresh token. ### Request Example { "grant_type": "authorization_code", "code": "...", "redirect_uri": "https://example.com/callback", "client_id": "...", "code_verifier": "..." } ### Response #### Success Response (200) - **access_token** (string) - The access token. - **token_type** (string) - Token type, e.g., `Bearer`. - **expires_in** (number) - Lifetime in seconds. - **refresh_token** (string) - The refresh token (rotated). - **scope** (string) - The scope granted. #### Response Example { "access_token": "...", "token_type": "Bearer", "expires_in": 3600, "refresh_token": "...", "scope": "linkedin" } ``` -------------------------------- ### POST /oauth/register Source: https://youspot.com/docs/versioning.md Registers an OAuth client. Supports idempotency via the Idempotency-Key header to safely retry requests. ```APIDOC ## POST /oauth/register ### Description Registers a new OAuth client. The request is idempotent when an Idempotency-Key header is provided. ### Method POST ### Endpoint /oauth/register ### Headers - **Idempotency-Key** (string) - Required - A unique string up to 255 characters (e.g., a UUID) to make retries safe. - **Content-Type** (string) - Required - Must be `application/json`. ### Request Body - **redirect_uris** (array of strings) - Required - List of allowed redirect URIs. - **client_name** (string) - Required - Name of the client. ### Request Example ```json { "redirect_uris": ["https://example.com/callback"], "client_name": "My agent" } ``` ### Response #### Success Response (200) - **client_id** (string) - The client identifier. - **client_secret** (string) - The client secret. #### Response Example ```json { "client_id": "...", "client_secret": "..." } ``` ### Error Handling - **422** - If the same Idempotency-Key is used with a different request body. ``` -------------------------------- ### Fetch markdown version of a page with curl Source: https://youspot.com/docs/overview.md Use curl to retrieve the markdown version of a page by appending .md to the URL or by sending the Accept: text/markdown header. ```bash curl https://youspot.com/pricing.md curl -H "Accept: text/markdown" https://youspot.com/pricing ``` -------------------------------- ### Fetch public profile with curl Source: https://youspot.com/docs/api.md Retrieves a public member profile as JSON without authentication. The endpoint returns the profile data for the specified username. ```bash curl https://youspot.com/api/human/dharmesh.json ``` -------------------------------- ### POST /mcp Source: https://youspot.com/docs/authentication.md The MCP endpoint for tool calls. Requires a bearer token (OAuth access token or API token). ```APIDOC ## POST /mcp ### Description The MCP endpoint for tool calls. Requires a bearer token (OAuth access token or API token). ### Method POST ### Endpoint https://youspot.com/mcp ### Headers - **Authorization** (string) - Required - Bearer token. - **Content-Type** (string) - Required - `application/json`. ### Request Body - **jsonrpc** (string) - Required - Must be `2.0`. - **id** (number) - Required - Request identifier. - **method** (string) - Required - The MCP method, e.g., `tools/list`. - **params** (object) - Optional - Method parameters. ### Request Example { "jsonrpc": "2.0", "id": 1, "method": "tools/list" } ### Response #### Success Response (200) - **jsonrpc** (string) - Version. - **id** (number) - Request identifier. - **result** (object) - The result of the method. #### Response Example { "jsonrpc": "2.0", "id": 1, "result": {} } ``` -------------------------------- ### POST /agent/identity Source: https://youspot.com/docs/authentication.md Determines what identity you can hold and who you are holding. No credential is needed to ask. ```APIDOC ## POST /agent/identity ### Description Determines what identity you can hold and who you are holding. No credential is needed to ask. ### Method POST ### Endpoint https://youspot.com/agent/identity ### Request Body - **type** (string) - Required - The identity type to check. Supported values: `anonymous`, `service_auth`. ### Request Example { "type": "anonymous" } ### Response #### Success Response (200) - **surfaces** (array) - List of surfaces that need no credential (for anonymous). - **member** (object) - The member whose access you are holding (for service_auth). - **credential_type** (string) - Whether the credential belongs to a person's AI client or to one of their cloud agents. #### Response Example { "surfaces": ["..."], "member": {}, "credential_type": "..." } ``` -------------------------------- ### POST /oauth/revoke Source: https://youspot.com/docs/authentication.md RFC 7009. Revoking either token kills the pair. 200 whether or not the token was live. ```APIDOC ## POST /oauth/revoke ### Description RFC 7009. Revoking either token kills the pair. 200 whether or not the token was live. ### Method POST ### Endpoint https://youspot.com/oauth/revoke ### Parameters #### Request Body - **token** (string) - Required - The token to revoke. - **token_type_hint** (string) - Optional - Hint of the token type (e.g., `access_token` or `refresh_token`). ### Request Example { "token": "...", "token_type_hint": "access_token" } ### Response #### Success Response (200) No content. #### Response Example HTTP/1.1 200 OK ``` === COMPLETE CONTENT === This response contains all available snippets from this library. No additional content exists. Do not make further requests.