Skip to main content
POST
Registra un client pubblico con URL di callback esatti e un insieme limitato di autorizzazioni del prodotto.

Autenticazione

Nessuna. La registrazione non esegue l’accesso di un utente né autorizza una connessione all’account.

Corpo della richiesta

array
obbligatorio
Da 1 a 10 callback prima della rimozione dei duplicati.Numero minimo di elementi: 1. Numero massimo di elementi: 10.
string
Etichetta facoltativa del client; gli spazi iniziali e finali vengono rimossi prima del salvataggio e il valore deve rimanere non vuoto.Lunghezza minima: 1. Lunghezza massima: 120. Pattern: ^(?=.*\S)[^\u0000-\u001F\u007F]+$. Valore predefinito: “MCP client”.
field
Solo client pubblici.Valore obbligatorio: “none”. Valore predefinito: “none”.
union
Deve includere authorization_code; refresh_token è facoltativo. Se omesso o null, seleziona entrambi. I valori duplicati vengono rimossi.Valore predefinito: [“authorization_code”,“refresh_token”].
array
Elenco di valori. Consulta lo schema di input completo per la struttura degli elementi.Numero minimo di elementi: 1. Numero massimo di elementi: 1. Valore predefinito: [“code”].
string
Autorizzazioni di scopes_supported separate da spazi, che possono includere offline_access. I nomi non supportati e i valori composti solo da spazi vengono rifiutati; i duplicati vengono rimossi. Omettere scope o non indicare autorizzazioni di prodotto, ad esempio solo openid o solo offline_access, registra tutti gli scope di prodotto supportati. email richiede openid; email da solo viene rifiutato. Quando OpenID Connect è disponibile, la registrazione include openid ed email come capacità del client anche se scope è omesso. La registrazione non concede accesso; le autorizzazioni di identità richiedono una richiesta di autorizzazione esplicita e il consenso dell’utente.Lunghezza minima: 1. Lunghezza massima: 2048. Pattern: ^ *(?:account:read|usage:read|settings:read|settings:write|team:read|team:write|projects:read|projects:write|projects:delete|translations:write|transcription:read|transcription:write|subtitles:read|subtitles:write|tts:read|tts:write|voices:read|voices:write|images:read|images:write|thumbnails:read|thumbnails:write|folders:read|folders:write|glossary:read|glossary:write|webhooks:read|webhooks:write|publishing:read|publishing:write|offline_access|openid|email)(?: +(?:account:read|usage:read|settings:read|settings:write|team:read|team:write|projects:read|projects:write|projects:delete|translations:write|transcription:read|transcription:write|subtitles:read|subtitles:write|tts:read|tts:write|voices:read|voices:write|images:read|images:write|thumbnails:read|thumbnails:write|folders:read|folders:write|glossary:read|glossary:write|webhooks:read|webhooks:write|publishing:read|publishing:write|offline_access|openid|email))* *$.

Esempi di richiesta

Segui la codifica e l’autenticazione documentate per questa route. L’involucro e le regole di idempotenza dell’API delle azioni si applicano solo alle invocazioni di azioni.

Risposta

Metadati del client pubblico registrato. Salva client_id e usalo con il redirect_uri registrato esatto. Non viene emesso alcun client_secret.
HTTP 201

Intestazioni della risposta

Note sull’operazione

  • I parametri scalari riconosciuti devono essere forniti una sola volta come stringhe non vuote, senza caratteri di controllo ASCII o DEL. I campi ripetuti nella query o nel modulo vengono decodificati come array e rifiutati quando vengono letti come scalari.
  • Usa Content-Type application/json. Un corpo di registrazione con codifica URL viene rifiutato con la risposta OAuth invalid_request; i tipi multimediali non supportati possono essere rifiutati prima dal parser dell’integrazione.
  • Gli URI di reindirizzamento vengono conservati e confrontati esattamente. Le modifiche a maiuscole e minuscole, rappresentazione della porta, percorso, query o barra finale richiedono la registrazione di quell’URI esatto.
  • I callback HTTP accettano solo i nomi loopback letterali localhost, 127.0.0.1 e [::1]. Gli host di reti private, le grafie IP alternative, *.localhost e LOCALHOST in maiuscolo non sono ammessi.
  • L’unico callback con schema URI personalizzato accettato è esattamente cursor://anysphere.cursor-mcp/oauth/callback.
  • Ogni callback deve superare la convalida; un solo callback non valido comporta il rifiuto dell’intera registrazione. Sono rifiutati credenziali negli URL, spazi bianchi, caratteri di controllo, frammenti e barre rovesciate.
  • Il client può registrare qualsiasi ambito del prodotto supportato, ma l’utente deve approvare separatamente il sottoinsieme richiesto durante l’autorizzazione. La sola registrazione non concede accesso.
  • Sono supportati solo il grant authorization_code e il grant facoltativo refresh_token. Un client registrato senza refresh_token non riceve alcun refresh token.
  • I campi di metadati di primo livello sconosciuti vengono ignorati dall’implementazione corrente. I campi noti mantengono i vincoli indicati nello schema.
  • Il limite pubblico di registrazione è di 10 richieste ogni 10 minuti per IP del client, condiviso tra i worker. I corpi JSON sono limitati a 1 MiB.
  • Una registrazione riuscita restituisce HTTP 201.
  • openid ed email sono autorizzazioni di identità, separate da quelle del prodotto, accettate solo se dichiarate. email richiede openid. Durante l’autorizzazione iniziale, una richiesta con soli ambiti di identità usa le autorizzazioni di prodotto predefinite mostrate nella schermata di consenso.

Errori