Accesso e sessioni
MarkdownMetodi, campi delle richieste e risposte.
Guida completa
La sezione contiene 14 metodi. Apri un metodo per vedere condizioni di accesso, campi della richiesta e risposta.
| Metodo e percorso | Descrizione | Accesso |
|---|---|---|
POST /api/v1/auth/forgot-password | Richiesta di reimpostazione della password | Senza autenticazione; le condizioni aggiuntive sono indicate nel metodo |
POST /api/v1/auth/login | Accesso con email e password | Senza autenticazione; le condizioni aggiuntive sono indicate nel metodo |
POST /api/v1/auth/login/2fa | Completamento dell’accesso con TOTP | Senza autenticazione; le condizioni aggiuntive sono indicate nel metodo |
POST /api/v1/auth/logout | Uscita e revoca del refresh token | Senza autenticazione; le condizioni aggiuntive sono indicate nel metodo |
GET /api/v1/auth/me | Utente corrente, saldo e limiti | Token dell’area personale |
POST /api/v1/auth/passkey/login/begin | Avvio dell’accesso con passkey | Senza autenticazione; le condizioni aggiuntive sono indicate nel metodo |
POST /api/v1/auth/passkey/login/finish | Completamento dell’accesso con passkey | Senza autenticazione; le condizioni aggiuntive sono indicate nel metodo |
POST /api/v1/auth/refresh | Rinnovo dei token | Senza autenticazione; le condizioni aggiuntive sono indicate nel metodo |
POST /api/v1/auth/register | Registrazione | Senza autenticazione; le condizioni aggiuntive sono indicate nel metodo |
POST /api/v1/auth/reset-password | Reimpostazione della password | Senza autenticazione; le condizioni aggiuntive sono indicate nel metodo |
POST /api/v1/auth/revoke-all-sessions | Revoca di tutte le sessioni | Token dell’area personale |
POST /api/v1/auth/send-verify-code | Invio del codice di conferma | Senza autenticazione; le condizioni aggiuntive sono indicate nel metodo |
POST /api/v1/auth/validate-invitation-code | Verifica dell’invito | Senza autenticazione; le condizioni aggiuntive sono indicate nel metodo |
POST /api/v1/auth/validate-promo-code | Verifica del codice promozionale | Senza autenticazione; le condizioni aggiuntive sono indicate nel metodo |
POST /api/v1/auth/forgot-password — Richiesta di reimpostazione della password
Accesso: senza autenticazione; le condizioni aggiuntive sono indicate nel metodo
Limite di frequenza: 5 richieste in 60 secondi da un indirizzo.
/api/v1/auth/forgot-passwordCampi JSON / modulo
| Il campo | Tipo | Obbligatorio | Verifica / descrizione |
|---|---|---|---|
email | string | sì | required,email |
turnstile_token | string | no |
{
"email": "PLACEHOLDER_EMAIL (string)",
"turnstile_token": "PLACEHOLDER_TURNSTILE_TOKEN (string)"
}PLACEHOLDER indica il tuo input e il suo tipo. Sostituisci i valori e mantieni solo i campi facoltativi necessari; i segnaposto stringa non vanno inviati al posto di numeri, boolean, oggetti o array.
Schema della richiesta: ForgotPasswordRequest
Risposta
La risposta JSON contiene code, message e data. Il contenuto di data è descritto negli schemi sotto.
Schemi dei dati della risposta: ForgotPasswordResponse. Campi e tipi sono nelle pagine «Schemi dei dati».
{
"code": 0,
"message": "success",
"data": {
"message": "PLACEHOLDER_MESSAGE (string)"
}
}Particolarità: L’operazione modifica lo stato o prosegue un’autorizzazione monouso; l’esempio descrive il contratto e non viene eseguito.
POST /api/v1/auth/login — Accesso con email e password
Accesso: senza autenticazione; le condizioni aggiuntive sono indicate nel metodo
La disponibilità della funzione e le condizioni aggiuntive di accesso sono verificate quando la richiesta viene eseguita.
Limite di frequenza: 20 richieste in 60 secondi da un indirizzo.
/api/v1/auth/loginCampi JSON / modulo
| Il campo | Tipo | Obbligatorio | Verifica / descrizione |
|---|---|---|---|
email | string | sì | required,email |
password | string | sì | required |
turnstile_token | string | no |
{
"email": "PLACEHOLDER_EMAIL (string)",
"password": "PLACEHOLDER_PASSWORD (string)",
"turnstile_token": "PLACEHOLDER_TURNSTILE_TOKEN (string)"
}PLACEHOLDER indica il tuo input e il suo tipo. Sostituisci i valori e mantieni solo i campi facoltativi necessari; i segnaposto stringa non vanno inviati al posto di numeri, boolean, oggetti o array.
Schema della richiesta: LoginRequest
Risposta
La risposta JSON contiene code, message e data. Il contenuto di data è descritto negli schemi sotto.
Schemi dei dati della risposta: TotpLoginResponse, User, AuthResponse. Campi e tipi sono nelle pagine «Schemi dei dati».
Se sono possibili più varianti di risposta, i campi sono elencati in schemi separati; non vanno uniti in un unico oggetto.
Particolarità: L’operazione modifica lo stato o prosegue un’autorizzazione monouso; l’esempio descrive il contratto e non viene eseguito.
POST /api/v1/auth/login/2fa — Completamento dell’accesso con TOTP
Accesso: senza autenticazione; le condizioni aggiuntive sono indicate nel metodo
La disponibilità della funzione e le condizioni aggiuntive di accesso sono verificate quando la richiesta viene eseguita.
Limite di frequenza: 20 richieste in 60 secondi da un indirizzo.
/api/v1/auth/login/2faCampi JSON / modulo
| Il campo | Tipo | Obbligatorio | Verifica / descrizione |
|---|---|---|---|
temp_token | string | sì | required |
totp_code | string | sì | required,len=6 |
{
"temp_token": "PLACEHOLDER_TEMP_TOKEN (string)",
"totp_code": "PLACEHOLDER_TOTP_CODE (string)"
}PLACEHOLDER indica il tuo input e il suo tipo. Sostituisci i valori e mantieni solo i campi facoltativi necessari; i segnaposto stringa non vanno inviati al posto di numeri, boolean, oggetti o array.
Schema della richiesta: Login2FARequest
Risposta
La risposta JSON contiene code, message e data. Il contenuto di data è descritto negli schemi sotto.
Schemi dei dati della risposta: User, AuthResponse. Campi e tipi sono nelle pagine «Schemi dei dati».
Se sono possibili più varianti di risposta, i campi sono elencati in schemi separati; non vanno uniti in un unico oggetto.
Particolarità: L’operazione modifica lo stato o prosegue un’autorizzazione monouso; l’esempio descrive il contratto e non viene eseguito.
POST /api/v1/auth/logout — Uscita e revoca del refresh token
Accesso: senza autenticazione; le condizioni aggiuntive sono indicate nel metodo
/api/v1/auth/logoutCampi JSON / modulo
| Il campo | Tipo | Obbligatorio | Verifica / descrizione |
|---|---|---|---|
refresh_token | string | no | ; Facoltativo: revocare il token di rinnovo specificato |
{
"refresh_token": "PLACEHOLDER_REFRESH_TOKEN (string)"
}PLACEHOLDER indica il tuo input e il suo tipo. Sostituisci i valori e mantieni solo i campi facoltativi necessari; i segnaposto stringa non vanno inviati al posto di numeri, boolean, oggetti o array.
Schema della richiesta: LogoutRequest
Risposta
La risposta JSON contiene code, message e data. Il contenuto di data è descritto negli schemi sotto.
Schemi dei dati della risposta: LogoutResponse. Campi e tipi sono nelle pagine «Schemi dei dati».
{
"code": 0,
"message": "success",
"data": {
"message": "PLACEHOLDER_MESSAGE (string)"
}
}Particolarità: L’operazione modifica lo stato o prosegue un’autorizzazione monouso; l’esempio descrive il contratto e non viene eseguito.
GET /api/v1/auth/me — Utente corrente, saldo e limiti
Accesso: token dell’area personale
/api/v1/auth/mecurl --fail-with-body "https://ailoot.ai/api/v1/auth/me" \
-H "Authorization: Bearer $TOKEN"Il corpo della richiesta non è necessario. Passa i parametri indicati sopra nell’URL.
Risposta
La risposta JSON contiene code, message e data. Il contenuto di data è descritto negli schemi sotto.
Schemi dei dati della risposta: User, UserProfileResponse. Campi e tipi sono nelle pagine «Schemi dei dati».
{
"code": 0,
"message": "success",
"data": {
"id": "PLACEHOLDER_ID (integer)",
"email": "PLACEHOLDER_EMAIL (string)",
"username": "PLACEHOLDER_USERNAME (string)",
"role": "PLACEHOLDER_ROLE (string)",
"balance": "PLACEHOLDER_BALANCE (number)",
"frozen_balance": "PLACEHOLDER_FROZEN_BALANCE (number)",
"concurrency": "PLACEHOLDER_CONCURRENCY (integer)",
"status": "PLACEHOLDER_STATUS (string)",
"last_active_at": "PLACEHOLDER_LAST_ACTIVE_AT (string)",
"created_at": "PLACEHOLDER_CREATED_AT (string)",
"updated_at": "PLACEHOLDER_UPDATED_AT (string)",
"deleted_at": "PLACEHOLDER_DELETED_AT (string)",
"balance_notify_enabled": "PLACEHOLDER_BALANCE_NOTIFY_ENABLED (boolean)",
"balance_notify_threshold_type": "PLACEHOLDER_BALANCE_NOTIFY_THRESHOLD_TYPE (string)",
"balance_notify_threshold": "PLACEHOLDER_BALANCE_NOTIFY_THRESHOLD (number)",
"balance_notify_extra_emails": "PLACEHOLDER_BALANCE_NOTIFY_EXTRA_EMAILS (array)",
"total_recharged": "PLACEHOLDER_TOTAL_RECHARGED (number)",
"rpm_limit": "PLACEHOLDER_RPM_LIMIT (integer)",
"api_keys": "PLACEHOLDER_API_KEYS (array)",
"avatar_url": "PLACEHOLDER_AVATAR_URL (string)",
"email_bound": "PLACEHOLDER_EMAIL_BOUND (boolean)"
}
}Particolarità: Tutti i dati personali e gli oggetti sono limitati al soggetto JWT.
Particolarità: I limiti di spesa delle chiavi (quota, quota_used) arrivano nella risposta delle chiavi, non nel profilo. frozen_balance è l’importo riservato e non va considerato saldo libero.
POST /api/v1/auth/passkey/login/begin — Avvio dell’accesso con passkey
Accesso: senza autenticazione; le condizioni aggiuntive sono indicate nel metodo
La disponibilità della funzione e le condizioni aggiuntive di accesso sono verificate quando la richiesta viene eseguita.
Limite di frequenza: 20 richieste in 60 secondi da un indirizzo.
/api/v1/auth/passkey/login/beginCampi JSON / modulo
| Il campo | Tipo | Obbligatorio | Verifica / descrizione |
|---|---|---|---|
turnstile_token | string | no |
{
"turnstile_token": "PLACEHOLDER_TURNSTILE_TOKEN (string)"
}PLACEHOLDER indica il tuo input e il suo tipo. Sostituisci i valori e mantieni solo i campi facoltativi necessari; i segnaposto stringa non vanno inviati al posto di numeri, boolean, oggetti o array.
Schema della richiesta: PasskeyBeginLoginRequest
Risposta
La risposta JSON contiene code, message e data. Il contenuto di data è descritto negli schemi sotto.
Schemi dei dati della risposta: PasskeyOptionsResponse. Campi e tipi sono nelle pagine «Schemi dei dati».
{
"code": 0,
"message": "success",
"data": {
"session_token": "PLACEHOLDER_SESSION_TOKEN (string)",
"options": "PLACEHOLDER_OPTIONS (any)"
}
}Particolarità: L’operazione modifica lo stato o prosegue un’autorizzazione monouso; l’esempio descrive il contratto e non viene eseguito.
Particolarità: credential è ottenuto da navigator.credentials; session_token da begin. Corpo di Finish <=65536 byte; registrazione ed eliminazione richiedono la password.
POST /api/v1/auth/passkey/login/finish — Completamento dell’accesso con passkey
Accesso: senza autenticazione; le condizioni aggiuntive sono indicate nel metodo
La disponibilità della funzione e le condizioni aggiuntive di accesso sono verificate quando la richiesta viene eseguita.
Limite di frequenza: 20 richieste in 60 secondi da un indirizzo.
/api/v1/auth/passkey/login/finishCampi JSON / modulo
| Il campo | Tipo | Obbligatorio | Verifica / descrizione |
|---|---|---|---|
session_token | string | sì | required |
name | string | no | |
credential | object | sì | required |
{
"session_token": "PLACEHOLDER_SESSION_TOKEN (string)",
"name": "PLACEHOLDER_NAME (string)",
"credential": "PLACEHOLDER_CREDENTIAL (object)"
}PLACEHOLDER indica il tuo input e il suo tipo. Sostituisci i valori e mantieni solo i campi facoltativi necessari; i segnaposto stringa non vanno inviati al posto di numeri, boolean, oggetti o array.
Schema della richiesta: PasskeyFinishRequest
Risposta
La risposta JSON contiene code, message e data. Il contenuto di data è descritto negli schemi sotto.
Schemi dei dati della risposta: User, AuthResponse. Campi e tipi sono nelle pagine «Schemi dei dati».
Se sono possibili più varianti di risposta, i campi sono elencati in schemi separati; non vanno uniti in un unico oggetto.
Particolarità: L’operazione modifica lo stato o prosegue un’autorizzazione monouso; l’esempio descrive il contratto e non viene eseguito.
Particolarità: credential è ottenuto da navigator.credentials; session_token da begin. Corpo di Finish <=65536 byte; registrazione ed eliminazione richiedono la password.
POST /api/v1/auth/refresh — Rinnovo dei token
Accesso: senza autenticazione; le condizioni aggiuntive sono indicate nel metodo
La disponibilità della funzione e le condizioni aggiuntive di accesso sono verificate quando la richiesta viene eseguita.
Limite di frequenza: 30 richieste in 60 secondi da un indirizzo.
/api/v1/auth/refreshCampi JSON / modulo
| Il campo | Tipo | Obbligatorio | Verifica / descrizione |
|---|---|---|---|
refresh_token | string | sì | required |
{
"refresh_token": "PLACEHOLDER_REFRESH_TOKEN (string)"
}PLACEHOLDER indica il tuo input e il suo tipo. Sostituisci i valori e mantieni solo i campi facoltativi necessari; i segnaposto stringa non vanno inviati al posto di numeri, boolean, oggetti o array.
Schema della richiesta: RefreshTokenRequest
Risposta
La risposta JSON contiene code, message e data. Il contenuto di data è descritto negli schemi sotto.
Schemi dei dati della risposta: RefreshTokenResponse. Campi e tipi sono nelle pagine «Schemi dei dati».
{
"code": 0,
"message": "success",
"data": {
"access_token": "PLACEHOLDER_ACCESS_TOKEN (string)",
"refresh_token": "PLACEHOLDER_REFRESH_TOKEN (string)",
"expires_in": "PLACEHOLDER_EXPIRES_IN (integer)",
"token_type": "PLACEHOLDER_TOKEN_TYPE (string)"
}
}Particolarità: L’operazione modifica lo stato o prosegue un’autorizzazione monouso; l’esempio descrive il contratto e non viene eseguito.
POST /api/v1/auth/register — Registrazione
Accesso: senza autenticazione; le condizioni aggiuntive sono indicate nel metodo
Limite di frequenza: 5 richieste in 60 secondi da un indirizzo.
/api/v1/auth/registerCampi JSON / modulo
| Il campo | Tipo | Obbligatorio | Verifica / descrizione |
|---|---|---|---|
email | string | sì | required,email |
password | string | sì | required,min=6 |
verify_code | string | no | |
turnstile_token | string | no | |
promo_code | string | no | ; Codice promozionale di registrazione |
invitation_code | string | no | ; Codice invito |
{
"email": "PLACEHOLDER_EMAIL (string)",
"password": "PLACEHOLDER_PASSWORD (string)",
"verify_code": "PLACEHOLDER_VERIFY_CODE (string)",
"turnstile_token": "PLACEHOLDER_TURNSTILE_TOKEN (string)",
"promo_code": "PLACEHOLDER_PROMO_CODE (string)",
"invitation_code": "PLACEHOLDER_INVITATION_CODE (string)"
}PLACEHOLDER indica il tuo input e il suo tipo. Sostituisci i valori e mantieni solo i campi facoltativi necessari; i segnaposto stringa non vanno inviati al posto di numeri, boolean, oggetti o array.
Schema della richiesta: RegisterRequest
Risposta
La risposta JSON contiene code, message e data. Il contenuto di data è descritto negli schemi sotto.
Schemi dei dati della risposta: User, AuthResponse. Campi e tipi sono nelle pagine «Schemi dei dati».
Se sono possibili più varianti di risposta, i campi sono elencati in schemi separati; non vanno uniti in un unico oggetto.
Particolarità: L’operazione modifica lo stato o prosegue un’autorizzazione monouso; l’esempio descrive il contratto e non viene eseguito.
POST /api/v1/auth/reset-password — Reimpostazione della password
Accesso: senza autenticazione; le condizioni aggiuntive sono indicate nel metodo
Limite di frequenza: 10 richieste in 60 secondi da un indirizzo.
/api/v1/auth/reset-passwordCampi JSON / modulo
| Il campo | Tipo | Obbligatorio | Verifica / descrizione |
|---|---|---|---|
email | string | sì | required,email |
token | string | sì | required |
new_password | string | sì | required,min=6 |
{
"email": "PLACEHOLDER_EMAIL (string)",
"token": "PLACEHOLDER_TOKEN (string)",
"new_password": "PLACEHOLDER_NEW_PASSWORD (string)"
}PLACEHOLDER indica il tuo input e il suo tipo. Sostituisci i valori e mantieni solo i campi facoltativi necessari; i segnaposto stringa non vanno inviati al posto di numeri, boolean, oggetti o array.
Schema della richiesta: ResetPasswordRequest
Risposta
La risposta JSON contiene code, message e data. Il contenuto di data è descritto negli schemi sotto.
Schemi dei dati della risposta: ResetPasswordResponse. Campi e tipi sono nelle pagine «Schemi dei dati».
{
"code": 0,
"message": "success",
"data": {
"message": "PLACEHOLDER_MESSAGE (string)"
}
}Particolarità: L’operazione modifica lo stato o prosegue un’autorizzazione monouso; l’esempio descrive il contratto e non viene eseguito.
POST /api/v1/auth/revoke-all-sessions — Revoca di tutte le sessioni
Accesso: token dell’area personale
/api/v1/auth/revoke-all-sessionsIl corpo della richiesta non è necessario.
Risposta
La risposta JSON contiene code, message e data. Il contenuto di data è descritto negli schemi sotto.
Schemi dei dati della risposta: RevokeAllSessionsResponse. Campi e tipi sono nelle pagine «Schemi dei dati».
{
"code": 0,
"message": "success",
"data": {
"message": "PLACEHOLDER_MESSAGE (string)"
}
}Particolarità: Tutti i dati personali e gli oggetti sono limitati al soggetto JWT.
Particolarità: L’operazione modifica lo stato o prosegue un’autorizzazione monouso; l’esempio descrive il contratto e non viene eseguito.
POST /api/v1/auth/send-verify-code — Invio del codice di conferma
Accesso: senza autenticazione; le condizioni aggiuntive sono indicate nel metodo
Limite di frequenza: 5 richieste in 60 secondi da un indirizzo.
/api/v1/auth/send-verify-codeCampi JSON / modulo
| Il campo | Tipo | Obbligatorio | Verifica / descrizione |
|---|---|---|---|
email | string | sì | required,email |
turnstile_token | string | no |
{
"email": "PLACEHOLDER_EMAIL (string)",
"turnstile_token": "PLACEHOLDER_TURNSTILE_TOKEN (string)"
}PLACEHOLDER indica il tuo input e il suo tipo. Sostituisci i valori e mantieni solo i campi facoltativi necessari; i segnaposto stringa non vanno inviati al posto di numeri, boolean, oggetti o array.
Schema della richiesta: SendVerifyCodeRequest
Risposta
La risposta JSON contiene code, message e data. Il contenuto di data è descritto negli schemi sotto.
Schemi dei dati della risposta: SendVerifyCodeResponse. Campi e tipi sono nelle pagine «Schemi dei dati».
{
"code": 0,
"message": "success",
"data": {
"message": "PLACEHOLDER_MESSAGE (string)",
"countdown": "PLACEHOLDER_COUNTDOWN (integer)"
}
}Particolarità: L’operazione modifica lo stato o prosegue un’autorizzazione monouso; l’esempio descrive il contratto e non viene eseguito.
POST /api/v1/auth/validate-invitation-code — Verifica dell’invito
Accesso: senza autenticazione; le condizioni aggiuntive sono indicate nel metodo
La disponibilità della funzione e le condizioni aggiuntive di accesso sono verificate quando la richiesta viene eseguita.
Limite di frequenza: 10 richieste in 60 secondi da un indirizzo.
/api/v1/auth/validate-invitation-codeCampi JSON / modulo
| Il campo | Tipo | Obbligatorio | Verifica / descrizione |
|---|---|---|---|
code | string | sì | required |
{
"code": "PLACEHOLDER_CODE (string)"
}PLACEHOLDER indica il tuo input e il suo tipo. Sostituisci i valori e mantieni solo i campi facoltativi necessari; i segnaposto stringa non vanno inviati al posto di numeri, boolean, oggetti o array.
Schema della richiesta: ValidateInvitationCodeRequest
Risposta
La risposta JSON contiene code, message e data. Il contenuto di data è descritto negli schemi sotto.
Schemi dei dati della risposta: ValidateInvitationCodeResponse. Campi e tipi sono nelle pagine «Schemi dei dati».
{
"code": 0,
"message": "success",
"data": {
"valid": "PLACEHOLDER_VALID (boolean)",
"error_code": "PLACEHOLDER_ERROR_CODE (string)"
}
}Particolarità: il metodo verifica l’invito e non consuma il codice; l’esempio descrive il contratto e non viene eseguito.
POST /api/v1/auth/validate-promo-code — Verifica del codice promozionale
Accesso: senza autenticazione; le condizioni aggiuntive sono indicate nel metodo
La disponibilità della funzione e le condizioni aggiuntive di accesso sono verificate quando la richiesta viene eseguita.
Limite di frequenza: 10 richieste in 60 secondi da un indirizzo.
/api/v1/auth/validate-promo-codeCampi JSON / modulo
| Il campo | Tipo | Obbligatorio | Verifica / descrizione |
|---|---|---|---|
code | string | sì | required |
{
"code": "PLACEHOLDER_CODE (string)"
}PLACEHOLDER indica il tuo input e il suo tipo. Sostituisci i valori e mantieni solo i campi facoltativi necessari; i segnaposto stringa non vanno inviati al posto di numeri, boolean, oggetti o array.
Schema della richiesta: ValidatePromoCodeRequest
Risposta
La risposta JSON contiene code, message e data. Il contenuto di data è descritto negli schemi sotto.
Schemi dei dati della risposta: ValidatePromoCodeResponse. Campi e tipi sono nelle pagine «Schemi dei dati».
{
"code": 0,
"message": "success",
"data": {
"valid": "PLACEHOLDER_VALID (boolean)",
"bonus_amount": "PLACEHOLDER_BONUS_AMOUNT (number)",
"error_code": "PLACEHOLDER_ERROR_CODE (string)",
"message": "PLACEHOLDER_MESSAGE (string)"
}
}Particolarità: il metodo verifica il codice promozionale e non accredita il bonus; l’esempio descrive il contratto e non viene eseguito.
Accesso e sessioni · 2FA
POST /api/v1/auth/login → data
data.requires_2fa === true→ TotpLoginResponse →data.temp_token→POST /api/v1/auth/login/2fa·{"temp_token": "…", "totp_code": "…"}→data.access_tokendata.access_token→ AuthResponse →Authorization: Bearer $TOKEN
totp_code: string, len = 6. temp_token ≠ access_token. User