본문으로 건너뛰기

지원자

지원한 사람과 연락처.

지원자는 워크스페이스의 채용 공고에 지원했거나, 고객사의 ATS에서 들어온 사람입니다. Tahoe에 있는 모든 사람 가운데 지원자는 데이터를 보유하는 근거가 가장 분명합니다. 스스로 지원했고, 모든 레코드의 provenance 블록이 그 사실을 보여 줍니다.

GET/applicantsapplicants:read

워크스페이스의 지원자를 최근 수정된 순서로 보여 줍니다.

파라미터타입설명
emailstring지원자가 입력한 이메일과 정확히 일치하는 지원자를 찾습니다.
has_applicationsboolean지원서가 있는(또는 없는) 지원자만 반환합니다.
updated_aftertimestamp이 시점 이후 변경된 지원자만 반환합니다. 증분 동기화에 쓰세요.
limitinteger기본값 25, 최대 100.
cursorstring이전 페이지에서 받은 값입니다. 같은 필터를 함께 보내세요.
요청
curl "https://tahoe.workonward.com/api/partner/v1/applicants?updated_after=2026-09-01T00:00:00Z&limit=100" \
  -H "Authorization: Bearer $TAHOE_API_KEY"
응답
{
  "object": "list",
  "data": [
    {
      "object": "applicant",
      "id": "apl_5Nx3jLm7Qd2s",
      "workspace_id": "wsp_4Kd8sPm2Qx7L",
      "full_name": "Jordan Rivera",
      "location": "Columbus, Ohio",
      "linkedin_url": "https://www.linkedin.com/in/jordan-rivera-1a2b3c",
      "github_url": null,
      "portfolio_url": null,
      "created_at": "2026-09-02T14:21:09.115Z",
      "updated_at": "2026-09-07T09:44:31.002Z",
      "provenance": {
        "origin": "applicant",
        "acquisition": "inbound_application",
        "provider": null,
        "owner_workspace_id": "wsp_4Kd8sPm2Qx7L",
        "first_seen_at": "2026-09-02T14:21:09.115Z",
        "last_seen_at": "2026-09-07T09:44:31.002Z",
        "consent": {
          "basis": "candidate_submitted",
          "candidate_facing_notice": true,
          "unsubscribed": false,
          "suppressed": false
        },
        "licence": {
          "redistributable": false,
          "note": "Submitted by the candidate to a specific employer for a specific role."
        }
      },
      "external_refs": [],
      "links": {
        "self": "/api/partner/v1/applicants/apl_5Nx3jLm7Qd2s",
        "applications": "/api/partner/v1/applicants/apl_5Nx3jLm7Qd2s/applications",
        "resumes": "/api/partner/v1/applicants/apl_5Nx3jLm7Qd2s/resumes",
        "contact_info": "/api/partner/v1/applicants/apl_5Nx3jLm7Qd2s/contact-info"
      }
    }
  ],
  "has_more": true,
  "next_cursor": "cur_eyJrIjoiMjAyNi0wOS0wN1QwOTo0NDozMVoi..."
}

provenance 블록

사람을 나타내는 모든 레코드, 즉 지원자, 소싱한 프로필, 공유 인재풀 프로필에 이 블록이 있습니다. 레코드가 어디서 왔는지, Tahoe가 어떤 근거로 보유하는지 알려 주며, 컴플라이언스 팀이 판단 기준으로 삼을 필드입니다.

필드의미
origin이 사람이 속한 그룹입니다. applicant, ats_import(고객사 ATS에서 가져온 지원자), sourced, shared_pool 중 하나입니다.
acquisition레코드가 들어온 경로입니다. 예: inbound_application, ats_sync.
providerATS에서 가져온 경우 그 ATS입니다. Tahoe에서 지원한 사람은 null입니다.
owner_workspace_id레코드가 속한 워크스페이스입니다.
first_seen_at, last_seen_atTahoe가 이 레코드를 처음 확인한 시점과 마지막으로 확인한 시점입니다.
consent.basiscandidate_submitted, customer_provided, legitimate_interest_sourcing, public_profile 중 하나입니다.
consent.candidate_facing_notice데이터를 수집할 때 본인이 고지를 받았는지 여부입니다. 지원자만 true입니다.
consent.unsubscribed연락받지 않겠다고 요청했습니다. 어떤 스코프를 가졌든 반드시 지켜 주세요.
consent.suppressed이 사람이 처리 중단 통지 대상인지 여부입니다. 전체 기록은 삭제(소거) 피드에 있습니다.
licence.redistributable항상 false입니다.
licence.note데이터의 출처를 한 줄로 밝힌 문장입니다.

external_refs

ATS 연결을 통해 들어온 지원자라면, 그 시스템에서의 ID가 여기에 들어 있습니다. HR 시스템이 이름으로 추측하지 않고 Tahoe 지원자를 자체 레코드와 연결할 때 필요한 값입니다.

Greenhouse에서 가져온 지원자
"external_refs": [
  {
    "system": "greenhouse",
    "type": "candidate",
    "id": "48213097",
    "connection_id": "ci_7Kd2mXq4Rp8v",
    "link_origin": "import",
    "last_synced_at": "2026-09-07T03:00:11.408Z"
  }
]

system과 id를 함께 기준으로 연결하세요. connection_id는 고객사의 ATS 연결을 식별하는 값으로, 직접 호출할 일은 없습니다. Tahoe에서 지원한 지원자는 빈 배열입니다.

GET/applicants/{applicant_handle}applicants:read

목록 행과 같은 형태의 지원자 한 명입니다.

GET/applicants/{applicant_handle}/applicationsapplications:read

이 사람이 워크스페이스에서 낸 모든 지원서를 지원서 엔드포인트와 같은 객체로 반환합니다. 스코프에 주의하세요. 돌려받는 것이 지원서이므로 applications:read가 필요합니다.

GET/applicants/{applicant_handle}/resumesresume:read

이 사람이 보낸 모든 이력서로, 지원서마다 하나씩입니다. 지원서마다 무료 기간이 따로 시작되므로 이력서마다 resume_access 블록이 따로 있습니다. 같은 사람이라도 다운로드할 수 있는 이력서와 잠긴 이력서가 함께 있을 수 있습니다.

응답
{
  "object": "list",
  "data": [
    {
      "object": "resume",
      "id": "res_6Qm2xKd4Rp8v",
      "application_id": "app_6Qm2xKd4Rp8v",
      "job_id": "job_7Kd2mXq4Rp8v",
      "filename": "jordan-rivera-resume.pdf",
      "mime": "application/pdf",
      "bytes": 184320,
      "parse_status": "parsed",
      "has_parsed_profile": true,
      "resume_access": {
        "state": "open",
        "free_until": "2026-12-01T14:21:09.115Z",
        "view_until": "2026-12-31T14:21:09.115Z",
        "state_changes_at": "2026-12-01T14:21:09.115Z",
        "unlock_credits": 50,
        "can_view": true,
        "can_download": true
      },
      "links": {
        "detail": "/api/partner/v1/applications/app_6Qm2xKd4Rp8v/resume",
        "download": "/api/partner/v1/applications/app_6Qm2xKd4Rp8v/resume/download"
      }
    }
  ],
  "has_more": false,
  "next_cursor": null
}

GET/applicants/{applicant_handle}/contact-infocontact:read

지원자가 입력한 이메일 주소를 반환하고, 키에 contact:phone:read도 있다면 전화번호도 반환합니다. 전화 스코프가 없으면 phones가 restricted에 표시되므로 “권한 없음”과 “전화번호 없음”을 구분할 수 있습니다.

요청
curl https://tahoe.workonward.com/api/partner/v1/applicants/apl_5Nx3jLm7Qd2s/contact-info \
  -H "Authorization: Bearer $TAHOE_API_KEY"
응답(일부 생략)
{
  "object": "contact_info",
  "subject": { "object": "applicant", "id": "apl_5Nx3jLm7Qd2s" },
  "emails": [
    {
      "value": "[email protected]",
      "kind": "submitted",
      "status": "found",
      "verified_at": null,
      "source": {
        "object": "applicant",
        "id": "apl_5Nx3jLm7Qd2s",
        "workspace_id": "wsp_4Kd8sPm2Qx7L"
      },
      "licence": { "redistributable": false }
    }
  ],
  "phones": [],
  "unsubscribed": false,
  "restricted": ["phones"],
  "restricted_reason": {
    "phones": "scope_required:contact:phone:read"
  }
}

각 값에는 그 값이 나온 레코드의 provenance 블록도 붙습니다. 지원자의 연락처는 지원자가 직접 제공한 것이므로 크레딧이 차감되지 않습니다. 그래도 개인 데이터이므로, 반환되는 값마다 일일 개인 데이터 한도에서 1건이 차감되고 감사 로그에 기록됩니다.

관련 이벤트

applicant.created, applicant.updated, applicant.deleted, applicant.unsubscribed가 있으며, 모두 applicants:read에 속합니다. applicant.unsubscribed를 가장 먼저 처리하세요. 연락을 원하지 않는다고 요청한 사람에게 이메일을 그만 보내야 한다는 것을 이 이벤트로 알 수 있습니다. 변경 피드를 참고하세요.