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(프로그래밍 방식)
프로그래밍 방식 로그인 API: 헤드리스 인증 토큰
Didit의 POST /programmatic/login/은 2FA 없이 액세스 토큰을 직접 반환하는 헤드리스 인증 API입니다. 에이전트 네이티브, 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"
}응답
로그인 성공. 최신 JWT 쌍을 반환합니다. access_token을 Authorization: Bearer <token>으로 사용하여 /organizations/me/...에 대해 org_id, app_id 및 api_key를 조회할 수 있습니다. 계정에 인증 앱이나 패스키가 등록되어 있는 경우, 응답에 토큰 대신 2fa_required: true 및 temp_token이 포함됩니다.
마지막 수정일 2026년 11월 7일