CertRent CertRent 안심하고 임대하세요

CertRent Open API

필요할 때 바로, 인증된 임차인.

임차인을 등록하고 동의를 요청한 뒤 은행 인증 소득, 임대료 납부 이력, 신원, 소유권을 확인한 임대인 추천인 정보를 읽으세요 — 하나의 REST API로. 모든 응답에는 동의 영수증과 지역별 심사 규정이 함께 제공됩니다.

샌드박스 키는 즉시 발급되며 영원히 무료입니다. 라이브 키에는 간단한 검토가 필요합니다.

한 번 인증하고 어디에나 신청하세요

등록한 임차인은 본인이 계속 보유하는 프로필 하나를 만듭니다. 다른 매물에서 이미 인증을 마친 임차인이라면 요청이 수 초 만에 승인될 수 있습니다 — 재심사도, 추가 비용도 없습니다.

설계부터 임차인 허락 기반

임차인이 범위와 기간을 정해 부여한 동의 없이는 인증된 정보를 읽을 수 없습니다. 모든 동의는 양측이 감사할 수 있는 동의 영수증을 생성합니다.

응답에 담긴 규정 준수 정보

어떤 엔드포인트에서든 뉴욕시 또는 로스앤젤레스에 적용되는 규정을 조회할 수 있습니다 — 수수료 상한, 소득 출처 차별 금지, 공정 기회 심사 시점, 불리한 조치 고지 의무 — 그리고 불리한 조치를 API로 제출하세요.

빠른 시작

처음부터 심사 판단까지

샌드박스에서는 임차인을 등록하면 완전히 인증된 가상 임차인이 즉시 생성됩니다 — 실제 신청자가 한 명도 없이 전체 연동을 구축할 수 있습니다.

1. 임차인 등록 (무료)

POST /renters
curl -X POST https://certrent.com/api/v1/renters \
  -H "Authorization: Bearer ck_test_…" \
  -H "Content-Type: application/json" \
  -d '{
    "email": "applicant@example.com",
    "name": "Dana Ruiz",
    "property": "120 W 45th St",
    "unit": "7B",
    "market": "nyc",
    "external_id": "your-crm-id-4471"
  }'
$res = Http::withToken('ck_test_…')
    ->post('https://certrent.com/api/v1/renters', [
        'email' => 'applicant@example.com',
        'name' => 'Dana Ruiz',
        'property' => '120 W 45th St',
        'unit' => '7B',
        'market' => 'nyc',
        'external_id' => 'your-crm-id-4471',
    ])->json();

$renterId = $res['id'];
const res = await fetch('https://certrent.com/api/v1/renters', {
  method: 'POST',
  headers: {
    Authorization: 'Bearer ck_test_…',
    'Content-Type': 'application/json',
  },
  body: JSON.stringify({
    email: 'applicant@example.com',
    name: 'Dana Ruiz',
    property: '120 W 45th St',
    unit: '7B',
    market: 'nyc',
    external_id: 'your-crm-id-4471',
  }),
});
const renter = await res.json();
import requests

renter = requests.post(
    'https://certrent.com/api/v1/renters',
    headers={'Authorization': 'Bearer ck_test_…'},
    json={
        'email': 'applicant@example.com',
        'name': 'Dana Ruiz',
        'property': '120 W 45th St',
        'unit': '7B',
        'market': 'nyc',
        'external_id': 'your-crm-id-4471',
    },
).json()

2. 임차인에게 동의 요청

POST /renters/{id}/access-requests
curl -X POST https://certrent.com/api/v1/renters/42/access-requests \
  -H "Authorization: Bearer ck_test_…" \
  -H "Content-Type: application/json" \
  -d '{
    "scopes": ["read:identity","read:income","read:rent_history","read:decision"],
    "purpose": "Tenant screening for 120 W 45th St, Unit 7B",
    "expires_in_days": 30
  }'
Http::withToken('ck_test_…')->post("https://certrent.com/api/v1/renters/{$renterId}/access-requests", [
    'scopes' => ['read:identity', 'read:income', 'read:rent_history', 'read:decision'],
    'purpose' => 'Tenant screening for 120 W 45th St, Unit 7B',
    'expires_in_days' => 30,
]);
await fetch(`https://certrent.com/api/v1/renters/${renter.id}/access-requests`, {
  method: 'POST',
  headers: { Authorization: 'Bearer ck_test_…', 'Content-Type': 'application/json' },
  body: JSON.stringify({
    scopes: ['read:identity', 'read:income', 'read:rent_history', 'read:decision'],
    purpose: 'Tenant screening for 120 W 45th St, Unit 7B',
    expires_in_days: 30,
  }),
});
requests.post(
    f"https://certrent.com/api/v1/renters/{renter['id']}/access-requests",
    headers={'Authorization': 'Bearer ck_test_…'},
    json={
        'scopes': ['read:identity', 'read:income', 'read:rent_history', 'read:decision'],
        'purpose': 'Tenant screening for 120 W 45th St, Unit 7B',
        'expires_in_days': 30,
    },
)

3. 판단 정보 읽기

GET /renters/{id}/decision?rent=3200
curl "https://certrent.com/api/v1/renters/42/decision?rent=3200" \
  -H "Authorization: Bearer ck_test_…"
$decision = Http::withToken('ck_test_…')
    ->get("https://certrent.com/api/v1/renters/{$renterId}/decision", ['rent' => 3200])
    ->json();
const decision = await (await fetch(
  `https://certrent.com/api/v1/renters/${renter.id}/decision?rent=3200`,
  { headers: { Authorization: 'Bearer ck_test_…' } },
)).json();
decision = requests.get(
    f"https://certrent.com/api/v1/renters/{renter['id']}/decision",
    headers={'Authorization': 'Bearer ck_test_…'},
    params={'rent': 3200},
).json()

판단 정보 객체

인증된 사실과 부담 가능성 비율을 제공합니다 — 점수도, 승인/거절 판정도 제공하지 않습니다. 결정은 언제나 귀사의 몫입니다.

{
  "profile_id": 318,
  "completeness": 100,
  "rentready": true,
  "verified": { "identity": true, "income": true, "rent_history": true, "references": true },
  "income": { "monthly_income_verified": 9400.0, "method": "bank_connected" },
  "affordability": {
    "status": "meets_standard",
    "rent": 3200.0,
    "income_to_rent_ratio": 2.94,
    "rent_to_income_percent": 34.0,
    "max_affordable_rent": 3133.33
  },
  "rent_history": { "months_observed": 12, "on_time_payments": 12, "observed_rent": 2820.0 },
  "references": { "total": 2, "ownership_verified": 2 },
  "confidence": { "level": "high", "income_method": "bank_connected" },
  "signals": [
    { "code": "income_bank_connected", "severity": "info",
      "message": "Income was read directly from the renter's bank …" }
  ],
  "consent": { "grant_id": 77, "expires_at": "2026-08-25T14:02:11+00:00" }
}

레퍼런스

엔드포인트

기본 URL https://certrent.com/api/v1 · Bearer 인증

메서드 경로 키 범위 기능 설명
GET /me 클라이언트, 키 범위, 요금 및 현재 사용량입니다.
GET /usage?period=YYYY-MM 청구 기간의 과금 사용량입니다.
GET /compliance?market=nyc|la 해당 지역에 적용되는 심사 규정과 의무입니다.
POST /renters renters:write 임차인을 등록하고 초대합니다. 무료입니다.
GET /renters renters:read 등록한 임차인 목록을 조회합니다. 상태, 이메일 또는 external_id로 필터링할 수 있습니다.
GET /renters/{id} renters:read 임차인 연결 1건과 그 상태입니다.
POST /renters/{id}/reinvite renters:write 초대 이메일을 다시 보냅니다.
DELETE /renters/{id} renters:write 연결을 삭제합니다. 임차인의 계정은 절대 삭제되지 않습니다.
POST /renters/{id}/access-requests renters:write 임차인에게 특정 범위에 대한 동의를 요청합니다.
GET /access-grants/{id} renters:read 동의 상태, 범위 및 만료 정보입니다.
GET /access-grants/{id}/receipt renters:read 기계가 읽을 수 있는 동의 영수증입니다.
DELETE /access-grants/{id} renters:write 더 이상 필요하지 않은 접근 권한을 해제합니다.
GET /renters/{id}/decision renters:read 심사 판단 정보 객체입니다. 라이브에서는 사용량이 과금됩니다.
GET /renters/{id}/profile renters:read 동의된 전체 프로필입니다. 라이브에서는 사용량이 과금됩니다.
GET/POST /webhooks renters:read / webhooks:write 엔드포인트를 조회하거나 생성합니다.
PATCH/DELETE /webhooks/{id} webhooks:write 엔드포인트를 수정하거나 삭제합니다.
POST /webhooks/{id}/test webhooks:write 서명된 테스트 이벤트를 보냅니다.
GET /webhooks/{id}/deliveries renters:read 전송한 내용과 결과를 확인하세요.
POST /adverse-actions renters:write 거절 또는 조건부 제안 기록을 제출합니다.
GET /adverse-actions renters:read 불리한 조치 이력입니다.

읽기 권한과 쓰기 권한은 별도로 승인됩니다. renters:read 권한만 있는 키는 심사는 가능하지만 등록은 할 수 없습니다.

동의 범위

이 권한은 저희가 아니라 임차인이 부여합니다. 허용 범위를 벗어난 정보는 응답에 아예 포함되지 않습니다.

read:identity
인증된 신원 (이름, 인증 상태 — 신분증 서류는 절대 제공되지 않음)
read:income
은행 인증 소득 및 부담 가능성
read:rent_history
임대료 납부 이력
read:references
소유권을 인증한 임대인 추천인
read:decision
전체 RentReady 판단 요약

웹훅

모든 전송에는 CertRent-Signature 헤더가 포함됩니다: t={timestamp},v1={엔드포인트 시크릿으로 "{timestamp}.{raw body}"를 계산한 HMAC-SHA256}. 페이로드를 신뢰하기 전에 검증하세요. 실패 시 백오프를 적용해 최대 6회까지 재시도합니다.

renter.invited
임차인이 등록되어 인증 초대를 받았습니다.
renter.registered
초대받은 임차인이 CertRent 계정을 만들었습니다.
renter.verified
임차인이 인증 항목(또는 전체)을 완료했습니다.
renter.income_updated
임차인의 은행 연결 소득이 변경되었습니다.
grant.created
임차인이 프로필을 귀사와 공유하는 데 동의했습니다.
grant.revoked
임차인이 이전에 부여한 동의를 취소했습니다.
rent_report.updated
임차인의 임대료 보고 상태가 변경되었습니다.

두 가지 환경

  • ck_test_… — 샌드박스. 즉시 발급되며 영원히 무료입니다. 등록하면 인증된 가상 임차인이 생성되고 동의도 자동으로 부여되므로 전체 흐름을 처음부터 끝까지 구축할 수 있습니다. 실제 사람은 절대 포함되지 않습니다.
  • ck_live_… — 라이브. 회사와 사용 목적을 간단히 검토한 후 발급됩니다. 실제 임차인, 실제 동의, 사용량 과금.

샌드박스와 라이브 데이터는 절대 섞이지 않습니다: 키는 자신의 환경만 볼 수 있습니다.

요금

비용이 드는 것은 한 가지뿐입니다: 인증 프로필 읽기.

문의하기

  • ✓ 임차인 등록 및 초대 — 무료입니다.
  • ✓ 동의 요청, 웹훅, 규정 조회 — 무료입니다.
  • ✓ 몇 번을 조회하든 임차인 1명당 월 1회만 청구됩니다.
  • ✓ 샌드박스 — 영원히 무료.

자주 묻는 질문

임차인 심사를 위한 API가 있나요?

네. CertRent Open API를 이용하면 부동산 관리 회사가 자체 임대 관리 소프트웨어 안에서 표준 REST 인터페이스와 시크릿 키로 신청자를 심사할 수 있습니다. 샌드박스 키는 즉시 발급되며 무료이고, 라이브 접근은 간단한 검토를 거쳐 부여됩니다.

API로 신청자의 소득을 어떻게 인증하나요?

CertRent는 업로드된 서류가 아니라 임차인 본인의 은행 연결에서 소득을 읽어오므로 위조할 급여명세서 자체가 없습니다. 연동 시스템이 신청자를 등록하고, 신청자가 동의하면, 인증된 월 소득과 함께 심사 대상 임대료 대비 부담 가능성 비율을 받게 됩니다.

프로필을 보려면 임차인의 동의가 반드시 필요한가요?

네, 언제나 필요합니다. 해당 임차인이 어떤 항목을 얼마 동안 볼 수 있는지 선택해 귀사의 요청을 승인하기 전까지는 인증된 정보를 전혀 읽을 수 없습니다. 승인할 때마다 동의 영수증이 생성되며, 임차인은 언제든지 접근 권한을 취소할 수 있습니다.

임차인 심사 API의 비용은 얼마인가요?

임차인 등록, 초대, 웹훅 수신, 규정 조회는 모두 무료입니다. 비용은 인증 프로필을 읽을 때만 발생하며, 신청자 1명당 월 1회 청구됩니다. 샌드박스는 영원히 무료입니다.

검증된 프로필 하나를 여러 임대인에게 재사용할 수 있나요?

바로 그것이 이 네트워크의 핵심입니다. 임차인은 검증된 프로필 하나를 만들어 모든 신청에 재사용하므로, 다른 매물에서 이미 인증을 마친 신청자는 재심사와 추가 비용 없이 수 초 만에 요청을 승인할 수 있습니다.

시작할 준비가 되셨나요?

가입하고 샌드박스 키를 복사한 뒤 몇 분 만에 첫 호출을 해보세요.