Skip to main content
POST
https://sajuapi.dev
/
v1
/
profiles
프로필 생성
curl --request POST \
  --url https://sajuapi.dev/v1/profiles \
  --header 'Content-Type: application/json' \
  --header 'X-API-Key: <api-key>' \
  --data '
{
  "external_id": "<string>",
  "name": "<string>",
  "birth_year": 123,
  "birth_month": 123,
  "birth_day": 123,
  "birth_hour": 123,
  "gender": "<string>"
}
'
v1 Enterprise API (Coming Soon)이 엔드포인트는 Enterprise 버전에서 제공될 예정입니다. 현재는 v0 API를 사용하세요.
새 사용자 프로필을 생성합니다. 민감한 정보(이름, 생년월일)는 AES-256-GCM으로 암호화되어 저장됩니다. 프로필 생성 시 사주팔자(四柱八字)가 자동으로 계산되어 day_master, day_master_element, weakest_element 필드에 저장됩니다.
동일한 external_id로 프로필이 이미 존재하면 409 Conflict 에러가 발생합니다.

Request Body 파라미터

external_id
string
클라이언트 시스템의 사용자 ID입니다. 내 상점에서 관리하는 사용자를 식별하는 데 사용됩니다. 최대 길이는 255자입니다.
name
string
required
사용자 이름입니다. 최대 길이는 20자입니다. 이 값은 암호화되어 저장됩니다.
birth_year
integer
required
출생 연도입니다. 1900에서 2100 사이의 값이어야 합니다.
birth_month
integer
required
출생 월입니다. 1에서 12 사이의 값이어야 합니다.
birth_day
integer
required
출생 일입니다. 1에서 31 사이의 값이어야 합니다.
birth_hour
integer
출생 시입니다. 0에서 23 사이의 값이어야 합니다. 시주(時柱) 계산에 사용됩니다. 값을 넣지 않으면 시주 없이 연주, 월주, 일주만 계산됩니다.
gender
string
required
성별입니다. male 또는 female 중 하나입니다. 대운(大運) 계산에 사용됩니다.

Response

성공

프로필 생성에 성공하면 Profile 객체가 돌아옵니다. 민감한 정보는 마스킹되어 반환됩니다.

실패

프로필 생성에 실패하면 HTTP 상태 코드와 함께 에러 객체가 돌아옵니다.
상태 코드에러 타입설명
400validation_error요청 데이터가 유효하지 않음
401authentication_errorAPI 키가 유효하지 않음
409conflict동일한 external_id의 프로필이 이미 존재함
429rate_limited요청 한도 초과

요청 예시

curl -X POST https://api.sajuapi.dev/v1/profiles \
  -H "X-API-Key: bs_live_xxx" \
  -H "Content-Type: application/json" \
  -d '{
    "external_id": "user_12345",
    "name": "김철수",
    "birth_year": 1990,
    "birth_month": 3,
    "birth_day": 15,
    "birth_hour": 14,
    "gender": "male"
  }'

응답 예시

{
  "id": "prf_abc123def456",
  "external_id": "user_12345",
  "name": "김**",
  "birth_year": "19**",
  "gender": "male",
  "day_master": "병화",
  "day_master_element": "fire",
  "weakest_element": "water",
  "created_at": "2025-01-15T09:00:00Z",
  "updated_at": "2025-01-15T09:00:00Z"
}

Profile 객체

필드타입설명
idstring프로필 ID입니다. prf_ 접두사로 시작합니다.
external_idstring클라이언트 시스템의 사용자 ID입니다.
namestring사용자 이름입니다. 마스킹되어 반환됩니다. (예: 김**)
birth_yearstring출생 연도입니다. 마스킹되어 반환됩니다. (예: 19**)
genderstring성별입니다. male 또는 female 중 하나입니다.
day_masterstring일주(日柱)입니다. 갑목, 을목, 병화, 정화, 무토, 기토, 경금, 신금, 임수, 계수 중 하나입니다.
day_master_elementstring일주의 오행입니다. wood, fire, earth, metal, water 중 하나입니다.
weakest_elementstring가장 약한 오행입니다. 사주에서 가장 부족한 원소를 나타냅니다.
created_atstring프로필 생성 시간입니다. ISO 8601 형식입니다.
updated_atstring프로필 수정 시간입니다. ISO 8601 형식입니다.