Mcp
MCP tools (JSON-RPC 2.0, stateless 2026-07-28) — call tools; only tools/call is billable.
curl -X GET "https://example.com/.well-known/jwks.json"{
"keys": [
{
"alg": "string",
"e": "string",
"kid": "string",
"kty": "string",
"n": "string",
"use": "string"
}
]
}{
"error": "string",
"error_description": "string"
}curl -X GET "https://example.com/.well-known/oauth-authorization-server"{
"authorization_endpoint": "string",
"code_challenge_methods_supported": [
"string"
],
"grant_types_supported": [
"string"
],
"issuer": "string",
"jwks_uri": "string",
"response_types_supported": [
"string"
],
"scopes_supported": [
"string"
],
"token_endpoint": "string",
"token_endpoint_auth_methods_supported": [
"string"
]
}curl -X GET "https://example.com/.well-known/oauth-protected-resource"{
"authorization_servers": [
"string"
],
"bearer_methods_supported": [
"string"
],
"scopes_supported": [
"string"
]
}/authorizeQuery Parameters
Buyer API key (vnb-sk-* / vai-sk-*)
Exact-match http/https callback URL
Must be 'code'
Requested scope
Opaque client state, round-tripped to the callback
43-char base64url PKCE challenge (mandatory)
Must be 'S256'
Response Body
text/html
text/html
text/html
curl -X GET "https://example.com/authorize?client_id=string&redirect_uri=string&response_type=code&code_challenge=string&code_challenge_method=S256""string"{
"error": "string",
"error_description": "string"
}{
"error": "string",
"error_description": "string"
}/authorizeRequest Body
application/x-www-form-urlencoded
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
text/html
text/html
text/html
text/html
curl -X POST "https://example.com/authorize" \ -H "Content-Type: application/x-www-form-urlencoded" \ -d 'email=string&password=string&client_id=string&redirect_uri=string&code_challenge=string&code_challenge_method=string'"string""string"{
"error": "string",
"error_description": "string"
}{
"error": "string",
"error_description": "string"
}/oauth/tokenRequest Body
application/x-www-form-urlencoded
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
application/json
application/json
application/json
application/json
curl -X POST "https://example.com/oauth/token" \ -H "Content-Type: application/x-www-form-urlencoded" \ -d 'grant_type=string&client_id=string'{
"access_token": "string",
"expires_in": 0,
"refresh_token": "string",
"scope": "string",
"token_type": "string"
}{
"error": "string",
"error_description": "string"
}{
"error": "string",
"error_description": "string"
}{
"error": "string",
"error_description": "string"
}{
"error": "string",
"error_description": "string"
}/v1-beta/mcp/{username}/{appname}Path Parameters
Publisher username (the developer's public identifier)
App name, unique per publisher
Header Parameters
Must be 2026-07-28
JSON-RPC method name (e.g., tools/call)
Tool/resource/prompt name for routing
Request Body
application/json
JSON-RPC 2.0 request to proxy to the publisher
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
application/json
application/json
application/json
application/json
application/json
application/json
application/json
application/json
application/json
curl -X POST "https://example.com/v1-beta/mcp/string/string" \ -H "Authorization: string" \ -H "MCP-Protocol-Version: 2026-07-28" \ -H "Mcp-Method: tools/call" \ -H "Mcp-Name: tools/call" \ -H "Content-Type: application/json" \ -d '{}'{}{
"error": {
"code": "string",
"message": "string",
"status": 0
}
}{
"error": {
"code": "string",
"message": "string",
"status": 0
}
}{
"error": {
"code": "string",
"message": "string",
"status": 0
}
}{
"error": {
"code": "string",
"message": "string",
"status": 0
}
}{
"error": {
"code": "string",
"message": "string",
"status": 0
}
}{
"error": {
"code": "string",
"message": "string",
"status": 0
}
}{
"error": {
"code": "string",
"message": "string",
"status": 0
}
}{
"error": {
"code": "string",
"message": "string",
"status": 0
}
}{
"error": {
"code": "string",
"message": "string",
"status": 0
}
}