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"
}Auth API (программный)
API программного входа: токены аутентификации
POST /programmatic/login/ для headless-аутентификации в Didit. Выдаёт токены доступа без 2FA. Для AI-агентов и 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"
}Тело
application/json
Ответ
Вход выполнен успешно. Возвращает свежую пару JWT. Используйте access_token в качестве Authorization: Bearer <token> при вызовах к /organizations/me/..., чтобы получить org_id, app_id и api_key. Если в аккаунте настроено приложение-аутентификатор или ключ доступа, ответ содержит 2fa_required: true и temp_token вместо токенов.
Последнее изменение 7 ноября 2026 г.