cURL
curl -X POST https://apx.didit.me/auth/v2/programmatic/login/ \
-H "Content-Type: application/json" \
-d '{
"email": "you@yourdomain.com",
"password": "MyStr0ng!Pass"
}'from didit import Didit
# This call needs no API key.
client = Didit()
result = client.account.login(
email="you@yourdomain.com",
password="MyStr0ng!Pass",
)
print(result)import Didit from "@didit-protocol/sdk-node";
// This call needs no API key.
const didit = new Didit();
const result = await didit.account.login({
email: "you@yourdomain.com",
password: "MyStr0ng!Pass",
});
console.log(result);ctx := context.Background()
// This call needs no API key.
client := didit.NewClient()
result, err := client.Account.Login(ctx, didit.LoginRequest{
Email: "you@yourdomain.com",
Password: "MyStr0ng!Pass",
})
if err != nil {
log.Fatal(err)
}
fmt.Printf("%+v\n", result)import me.didit.Didit;
import me.didit.types.LoginRequest;
// This call needs no API key.
Didit client = new Didit();
var result = client.account().login(LoginRequest.builder()
.email("you@yourdomain.com")
.password("MyStr0ng!Pass")
.build());
System.out.println(result);<?php
require 'vendor/autoload.php';
use Didit\DiditClient;
// This call needs no API key.
$didit = new DiditClient();
$result = $didit->account->login([
'email' => 'you@yourdomain.com',
'password' => 'MyStr0ng!Pass',
]);
print_r($result->toArray());require "didit"
# This call needs no API key.
didit = Didit::Client.new
result = didit.account.login(
email: "you@yourdomain.com",
password: "MyStr0ng!Pass"
)
puts result.to_husing System;
using System.Text.Json;
using Didit;
// This call needs no API key.
using var client = new DiditClient();
var result = await client.Account.LoginAsync(new LoginRequest
{
Email = "you@yourdomain.com",
Password = "MyStr0ng!Pass",
});
Console.WriteLine(JsonSerializer.Serialize(result));{
"access_token": "eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9...",
"refresh_token": "eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9...",
"expires_in": 86400,
"message": "Login successful"
}API d'autenticació (programàtica)
Login programàtic: API de tokens d'accés
Endpoint POST /programmatic/login/ de Didit per a autenticació headless: retorna tokens d’accés directament, sense 2FA. Preparat per a agents i MCP.
POST
/
programmatic
/
login
/
cURL
curl -X POST https://apx.didit.me/auth/v2/programmatic/login/ \
-H "Content-Type: application/json" \
-d '{
"email": "you@yourdomain.com",
"password": "MyStr0ng!Pass"
}'from didit import Didit
# This call needs no API key.
client = Didit()
result = client.account.login(
email="you@yourdomain.com",
password="MyStr0ng!Pass",
)
print(result)import Didit from "@didit-protocol/sdk-node";
// This call needs no API key.
const didit = new Didit();
const result = await didit.account.login({
email: "you@yourdomain.com",
password: "MyStr0ng!Pass",
});
console.log(result);ctx := context.Background()
// This call needs no API key.
client := didit.NewClient()
result, err := client.Account.Login(ctx, didit.LoginRequest{
Email: "you@yourdomain.com",
Password: "MyStr0ng!Pass",
})
if err != nil {
log.Fatal(err)
}
fmt.Printf("%+v\n", result)import me.didit.Didit;
import me.didit.types.LoginRequest;
// This call needs no API key.
Didit client = new Didit();
var result = client.account().login(LoginRequest.builder()
.email("you@yourdomain.com")
.password("MyStr0ng!Pass")
.build());
System.out.println(result);<?php
require 'vendor/autoload.php';
use Didit\DiditClient;
// This call needs no API key.
$didit = new DiditClient();
$result = $didit->account->login([
'email' => 'you@yourdomain.com',
'password' => 'MyStr0ng!Pass',
]);
print_r($result->toArray());require "didit"
# This call needs no API key.
didit = Didit::Client.new
result = didit.account.login(
email: "you@yourdomain.com",
password: "MyStr0ng!Pass"
)
puts result.to_husing System;
using System.Text.Json;
using Didit;
// This call needs no API key.
using var client = new DiditClient();
var result = await client.Account.LoginAsync(new LoginRequest
{
Email = "you@yourdomain.com",
Password = "MyStr0ng!Pass",
});
Console.WriteLine(JsonSerializer.Serialize(result));{
"access_token": "eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9...",
"refresh_token": "eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9...",
"expires_in": 86400,
"message": "Login successful"
}Cos
application/json
Resposta
Inici de sessió satisfactori. Retorna un parell de JWT nou. Utilitza l'access_token com a Authorization: Bearer <token> a /organizations/me/... per consultar l'org_id, l'app_id i l'api_key. Quan el compte té una aplicació d'autenticació o una clau d'accés (passkey), la resposta inclou 2fa_required: true i un temp_token en comptes de tokens.
Darrera modificació el 7 de novembre del 2026