Lemonbase Open API (1.1.0)

Download OpenAPI specification:Download

레몬베이스 Open API를 활용하여 구성원 데이터를 레몬베이스로 가져오거나 내보낼 수 있습니다. 기존 ERP나 HR 솔루션과의 연동을 통해 구성원 정보를 손쉽게 관리하세요.
레몬베이스 Open API에 접근하려면 유효한 API Key 값이 필요합니다.

API Key 발급 절차

1. 소유자 또는 연동 관리 권한이 있는 어드민 계정으로 레몬베이스에 접속 후, “어드민 > 연동 관리 > Lemonbase API 연동” 선택
2. 우측상단의 “API 키” 생성 버튼 선택
API 키는 레몬베이스 고객사별로 발급이 가능하며, 발급된 API 키를 통해 구성원 데이터에 접근 가능하기 때문에 보안에 매우 유의하여야 함.

API 호출 시 인증 방법

API 호출 시 헤더에 HTTP_AUTHORIZATION: Bearer {API Key}를 전달하세요.

API 호출 시 주의사항

'API Playbook' 문서를 참고하세요.

Error Code

정상 응답 시 200 OK를 반환하며, 에러 발생 시 Error Code를 반환합니다.
Error Code 리스트는 'Error Code' 문서를 참고하세요.

Change Log

API 변경 사항은 'Change Log' 문서를 참고하세요.

organizations

조직 관리 API

전체 조직 정보 가져오기

전체 조직 정보 가져오기

Authorizations:
basicAuthNone
query Parameters
codes
string

조회 시, 조직 코드로 필터링. 여러 개의 조직 코드를 콤마(,)로 구분하여 전달 가능

entity_ids
string

조회 시, 조직의 entity_id로 필터링. 여러 개의 entity_id를 콤마(,)로 구분하여 전달 가능

leader_emails
string

조회 시, 조직 리더의 이메일로 필터링. 여러 개의 이메일을 콤마(,)로 구분하여 전달 가능

leader_entity_ids
string

조회 시, 조직 리더의 entity_id로 필터링. 여러 개의 entity_id를 콤마(,)로 구분하여 전달 가능

limit
required
integer
Default: 50

limit(<=50)

names
string

조회 시, 조직 이름으로 필터링. 여러 개의 조직 이름을 콤마(,)로 구분하여 전달 가능

offset
required
integer
Default: 0

offset(>=0)

Responses

Response samples

Content type
application/json
[
  • {
    }
]

새로운 조직 생성하기

새로운 조직 생성하기

Authorizations:
basicAuthNone
Request Body schema:
name
required
string <= 64 characters

생성할 조직명

code
required
string <= 64 characters

생성할 조직의 조직 코드

object (leader)
parent_organization_code
required
string <= 64 characters

생성할 조직의 상위 조직의 조직 코드

add_leader_to_organization
string
Default: "NONE"
Enum: "NONE" "MAIN" "SUB"

리더의 소속 지정 옵션 (NONE: 조직 소속 변경 없음, MAIN: 주조직, SUB: 겸직조직, 기본값: NONE)

  • NONE - NONE
  • MAIN - MAIN
  • SUB - SUB
assign_leader_as_evaluator
boolean
Default: true

리더를 평가권자로 지정할 것인지 여부 (기본값: True)

Responses

Request samples

Content type
{
  • "name": "string",
  • "code": "string",
  • "leader": {
    },
  • "parent_organization_code": "string",
  • "add_leader_to_organization": "NONE",
  • "assign_leader_as_evaluator": true
}

Response samples

Content type
application/json
{
  • "entity_id": "8161163a-f227-466f-bc01-090a01e80165",
  • "name": "string",
  • "leader": {
    },
  • "code": "string",
  • "assign_leader_as_evaluator": true
}

특정 조직 정보 가져오기

특정 조직 정보 가져오기

Authorizations:
basicAuthNone
path Parameters
entity_id
required
string

조회할 조직의 entity_id

Responses

Response samples

Content type
application/json
{
  • "entity_id": "8161163a-f227-466f-bc01-090a01e80165",
  • "name": "string",
  • "leader": {
    },
  • "code": "string",
  • "assign_leader_as_evaluator": true
}

조직 정보 수정하기

조직 정보 수정하기

Authorizations:
basicAuthNone
path Parameters
entity_id
required
string

수정할 조직의 entity_id

Request Body schema:
name
required
string <= 64 characters

수정할 조직명

code
required
string <= 64 characters

수정할 조직의 조직 코드

object (leader)
parent_organization_code
required
string <= 64 characters

수정할 조직의 상위 조직의 조직 코드

add_leader_to_organization
string
Default: "NONE"
Enum: "NONE" "MAIN" "SUB"

리더의 소속 지정 옵션 (NONE: 조직 소속 변경 없음, MAIN: 주조직, SUB: 겸직조직, 기본값: NONE)

  • NONE - NONE
  • MAIN - MAIN
  • SUB - SUB
assign_leader_as_evaluator
boolean

리더를 평가권자로 지정할 것인지 여부

Responses

Request samples

Content type
{
  • "name": "string",
  • "code": "string",
  • "leader": {
    },
  • "parent_organization_code": "string",
  • "add_leader_to_organization": "NONE",
  • "assign_leader_as_evaluator": true
}

Response samples

Content type
application/json
{
  • "entity_id": "8161163a-f227-466f-bc01-090a01e80165",
  • "name": "string",
  • "leader": {
    },
  • "code": "string",
  • "assign_leader_as_evaluator": true
}

조직 삭제하기

조직 삭제하기

Authorizations:
basicAuthNone
path Parameters
entity_id
required
string

삭제할 조직의 entity_id

query Parameters
delete_descendants
boolean
Default: false

하위 조직을 모두 삭제할지 여부 (기본값: false, false인 경우 하위 조직은 상위로 재배치)

Responses

여러 조직 정보 변경하기

여러 조직 정보를 신규 입력 및 변경하기

Authorizations:
basicAuthNone
Request Body schema:
required
Array of objects (OrganizationUpdateOrCreateRequest)

Responses

Request samples

Content type
{
  • "organizations": [
    ]
}

Response samples

Content type
application/json
{
  • "created": {
    },
  • "updated": {
    }
}

특정 조직 정보 가져오기 (조직 코드)

특정 조직 정보 가져오기 (조직 코드)

Authorizations:
basicAuthNone
path Parameters
code
required
string

수정할 조직의 조직 코드

Responses

Response samples

Content type
application/json
{
  • "entity_id": "8161163a-f227-466f-bc01-090a01e80165",
  • "name": "string",
  • "leader": {
    },
  • "code": "string",
  • "assign_leader_as_evaluator": true
}

조직 정보 수정하기 (조직 코드)

조직 정보 수정하기 (조직 코드)

Authorizations:
basicAuthNone
path Parameters
code
required
string

수정할 조직의 조직 코드

Request Body schema:
name
required
string <= 64 characters

수정할 조직명

code
required
string <= 64 characters

수정할 조직의 조직 코드

object (leader)
parent_organization_code
required
string <= 64 characters

수정할 조직의 상위 조직의 조직 코드

add_leader_to_organization
string
Default: "NONE"
Enum: "NONE" "MAIN" "SUB"

리더의 소속 지정 옵션 (NONE: 조직 소속 변경 없음, MAIN: 주조직, SUB: 겸직조직, 기본값: NONE)

  • NONE - NONE
  • MAIN - MAIN
  • SUB - SUB
assign_leader_as_evaluator
boolean

리더를 평가권자로 지정할 것인지 여부

Responses

Request samples

Content type
{
  • "name": "string",
  • "code": "string",
  • "leader": {
    },
  • "parent_organization_code": "string",
  • "add_leader_to_organization": "NONE",
  • "assign_leader_as_evaluator": true
}

Response samples

Content type
application/json
{
  • "entity_id": "8161163a-f227-466f-bc01-090a01e80165",
  • "name": "string",
  • "leader": {
    },
  • "code": "string",
  • "assign_leader_as_evaluator": true
}

조직 삭제하기 (조직 코드)

조직 삭제하기 (조직 코드)

Authorizations:
basicAuthNone
path Parameters
code
required
string

삭제할 조직의 조직 코드

query Parameters
delete_descendants
boolean
Default: false

하위 조직을 모두 삭제할지 여부 (기본값: false, false인 경우 하위 조직은 상위로 재배치)

Responses

최상위 조직 정보 조회하기

최상위 조직 정보 조회하기

Authorizations:
basicAuthNone

Responses

Response samples

Content type
application/json
{
  • "entity_id": "8161163a-f227-466f-bc01-090a01e80165",
  • "name": "string",
  • "leader": {
    },
  • "code": "string",
  • "assign_leader_as_evaluator": true
}

persons

구성원 관리 API

전체 구성원 정보 가져오기

전체 구성원 정보 가져오기

Authorizations:
basicAuthNone
query Parameters
account_status
string

조회 시, account_status로 필터링.

email
string

조회 시, email로 필터링. 여러 개의 email을 콤마(,)로 구분하여 전달 가능

employee_number
string

조회 시, employee_number로 필터링. 여러 개의 employee_number을 콤마(,)로 구분하여 전달 가능

limit
required
integer
Default: 50

limit(<=50)

offset
required
integer
Default: 0

offset(>=0)

Responses

Response samples

Content type
application/json
[
  • {
    }
]

특정 구성원 정보 추가하기

특정 구성원 정보 추가하기

Authorizations:
basicAuthNone
Request Body schema:
first_name
required
string (First Name)

이름

last_name
required
string (Last Name)

nickname
string or null (Nickname)
Default: ""

호칭

employee_number
string or null (Employee Number)
Default: null

사번

birth_date
string or null (Birth Date)
Default: null

생년월일

required
object (OpenAPIUserRequestBody)
required
object (OpenAPIEmploymentRequestBody)
required
object (OpenAPIContactRequestBody)
account_status
string (Account Status)
Default: "ACTIVE"

계정 상태

required
OpenAPIOrganizationRequestBody (object) or OpenAPIOrganizationRequestBody (object) (OpenAPIOrganizationRequestBody)

entity_id 또는 code 중 하나는 반드시 입력해야 합니다.

Array of OpenAPIOrganizationRequestBody (object) or OpenAPIOrganizationRequestBody (object) (Sub Organizations)

겸직 조직 정보

Responses

Request samples

Content type
{
  • "first_name": "string",
  • "last_name": "string",
  • "nickname": "",
  • "employee_number": null,
  • "birth_date": null,
  • "user": {
    },
  • "employment": {
    },
  • "contact": {
    },
  • "account_status": "ACTIVE",
  • "main_organization": {
    },
  • "sub_organizations": [
    ]
}

Response samples

Content type
application/json
{
  • "entity_id": "8161163a-f227-466f-bc01-090a01e80165",
  • "user": {
    },
  • "employee_number": "string",
  • "birth_date": "2019-08-24",
  • "first_name": "string",
  • "last_name": "string",
  • "nickname": "string",
  • "avatar_url": "string",
  • "invitation_status": "UNINVITED",
  • "account_status": "ACTIVE",
  • "employment": {
    },
  • "contact": {
    },
  • "main_organization": {
    },
  • "sub_organizations": [
    ],
  • "deleted_at": "2019-08-24T14:15:22"
}

특정 구성원 정보 가져오기

특정 구성원 정보 가져오기

Authorizations:
basicAuthNone
path Parameters
entity_id
required
string

조회할 구성원의 entity_id

Responses

Response samples

Content type
application/json
{
  • "entity_id": "8161163a-f227-466f-bc01-090a01e80165",
  • "user": {
    },
  • "employee_number": "string",
  • "birth_date": "2019-08-24",
  • "first_name": "string",
  • "last_name": "string",
  • "nickname": "string",
  • "avatar_url": "string",
  • "invitation_status": "UNINVITED",
  • "account_status": "ACTIVE",
  • "employment": {
    },
  • "contact": {
    },
  • "main_organization": {
    },
  • "sub_organizations": [
    ],
  • "deleted_at": "2019-08-24T14:15:22"
}

특정 구성원 정보 수정하기

특정 구성원 정보 수정하기

Authorizations:
basicAuthNone
path Parameters
entity_id
required
string

수정할 구성원의 entity_id

Request Body schema:
employee_number
string or null <= 64 characters

구성원 사원 번호

birth_date
string or null <date>

구성원 생년월일

first_name
required
string <= 32 characters

구성원 이름

last_name
required
string <= 32 characters

구성원 성

nickname
string <= 64 characters

구성원 별명

account_status
required
string
Enum: "ACTIVE" "INACTIVE"

구성원 계정 상태

  • ACTIVE - ACTIVE
  • INACTIVE - INACTIVE
object (OpenAPIPersonInfoEmployment)
object (PersonInfoContact)

구성원의 연락처 정보(전화번호)를 포함

object

구성원 주 조직

Array of objects (PersonOrganization)

구성원 부 조직 목록

Responses

Request samples

Content type
{
  • "employee_number": "string",
  • "birth_date": "2019-08-24",
  • "first_name": "string",
  • "last_name": "string",
  • "nickname": "string",
  • "account_status": "ACTIVE",
  • "employment": {
    },
  • "contact": {
    },
  • "main_organization": {
    },
  • "sub_organizations": [
    ]
}

Response samples

Content type
application/json
{
  • "entity_id": "8161163a-f227-466f-bc01-090a01e80165",
  • "user": {
    },
  • "employee_number": "string",
  • "birth_date": "2019-08-24",
  • "first_name": "string",
  • "last_name": "string",
  • "nickname": "string",
  • "avatar_url": "string",
  • "invitation_status": "UNINVITED",
  • "account_status": "ACTIVE",
  • "employment": {
    },
  • "contact": {
    },
  • "main_organization": {
    },
  • "sub_organizations": [
    ],
  • "deleted_at": "2019-08-24T14:15:22"
}

여러 구성원 정보를 신규 입력 및 변경하기

여러 구성원 정보를 신규 입력 및 변경하기

Authorizations:
basicAuthNone
Request Body schema:
persons
Array of objects (Persons)
Default: []

Responses

Request samples

Content type
{
  • "persons": [
    ]
}

Response samples

Content type
application/json
{
  • "created": {
    },
  • "updated": {
    }
}

특정 구성원 정보 가져오기 (이메일)

특정 구성원 정보 가져오기 (이메일)

Authorizations:
basicAuthNone
path Parameters
email
required
string

조회할 구성원의 이메일

Responses

Response samples

Content type
application/json
{
  • "entity_id": "8161163a-f227-466f-bc01-090a01e80165",
  • "user": {
    },
  • "employee_number": "string",
  • "birth_date": "2019-08-24",
  • "first_name": "string",
  • "last_name": "string",
  • "nickname": "string",
  • "avatar_url": "string",
  • "invitation_status": "UNINVITED",
  • "account_status": "ACTIVE",
  • "employment": {
    },
  • "contact": {
    },
  • "main_organization": {
    },
  • "sub_organizations": [
    ],
  • "deleted_at": "2019-08-24T14:15:22"
}

특정 구성원 정보 수정하기 (이메일)

특정 구성원 정보 수정하기 (이메일)

Authorizations:
basicAuthNone
path Parameters
email
required
string

수정할 구성원의 이메일

Request Body schema:
employee_number
string or null <= 64 characters

구성원 사원 번호

birth_date
string or null <date>

구성원 생년월일

first_name
required
string <= 32 characters

구성원 이름

last_name
required
string <= 32 characters

구성원 성

nickname
string <= 64 characters

구성원 별명

account_status
required
string
Enum: "ACTIVE" "INACTIVE"

구성원 계정 상태

  • ACTIVE - ACTIVE
  • INACTIVE - INACTIVE
object (OpenAPIPersonInfoEmployment)
object (PersonInfoContact)

구성원의 연락처 정보(전화번호)를 포함

object

구성원 주 조직

Array of objects (PersonOrganization)

구성원 부 조직 목록

Responses

Request samples

Content type
{
  • "employee_number": "string",
  • "birth_date": "2019-08-24",
  • "first_name": "string",
  • "last_name": "string",
  • "nickname": "string",
  • "account_status": "ACTIVE",
  • "employment": {
    },
  • "contact": {
    },
  • "main_organization": {
    },
  • "sub_organizations": [
    ]
}

Response samples

Content type
application/json
{
  • "entity_id": "8161163a-f227-466f-bc01-090a01e80165",
  • "user": {
    },
  • "employee_number": "string",
  • "birth_date": "2019-08-24",
  • "first_name": "string",
  • "last_name": "string",
  • "nickname": "string",
  • "avatar_url": "string",
  • "invitation_status": "UNINVITED",
  • "account_status": "ACTIVE",
  • "employment": {
    },
  • "contact": {
    },
  • "main_organization": {
    },
  • "sub_organizations": [
    ],
  • "deleted_at": "2019-08-24T14:15:22"
}

manager-relations

평가권자 관계 관리 API

조직도 기반 평가권자 자동 지정

조직도 기반으로 평가권자를 자동 지정하고 DB에 저장합니다. (전체 활성 구성원 대상)

요청 파라미터

  • preserve_user_modified (boolean, optional, default: true)
    • true: 기존에 직접 지정한 평가권자 관계는 유지하고, 그 외만 조직도 기반으로 자동 지정합니다.
    • false: 모든 평가권자 관계를 조직도 기반으로 새로 지정합니다. 기존에 직접 지정한 항목도 덮어씁니다.
Authorizations:
basicAuthNone
Request Body schema:
preserve_user_modified
boolean (Preserve User Modified)
Default: true

Responses

Request samples

Content type
{
  • "preserve_user_modified": true
}