KELI 정보플랫폼 Open API
연동 개발 가이드
외부 유관기관 시스템 연동을 위한 REST API 명세서
개요
KELI 정보플랫폼 Open API는 정보플랫폼에 게시된 자료를 외부 시스템에서 조회·다운로드하고,
승인된 유관기관은 보유 자료를 등록·수정·삭제할 수 있도록 제공하는 REST API입니다.
API 유형
| 유형코드 | 유형명 | 설명 | HTTP 메서드 |
| 2 |
자료 조회·다운로드 API |
외부 시스템이 정보플랫폼 게시 자료를 조회하고 첨부파일을 다운로드 |
GET |
| 1 |
자료 등록·관리 API |
승인된 기관이 보유 자료를 정보플랫폼에 등록·수정·삭제 |
GET / POST |
엔드포인트 목록
| 유형 | 메서드 | 경로 | 설명 |
| Type 2 | GET | /openapi/data?action=get | 자료 목록 조회 |
| Type 2 | GET | /openapi/data/{dataSn}?action=get | 자료 상세 조회 |
| Type 2 | GET | /openapi/data/{dataSn}/file?action=get | 첨부파일 목록 조회 |
| Type 2 | GET | /openapi/data/{dataSn}/file/{atchFileSn}?action=download | 첨부파일 다운로드 |
| Type 1 | GET | /openapi/data/my?action=get | 내 자료 목록 조회 |
| Type 1 | GET | /openapi/data/my/{dataSn}?action=get | 내 자료 상세 조회 |
| Type 1 | GET | /openapi/data/my/{dataSn}/file?action=get | 내 자료 첨부파일 목록 조회 |
| Type 1 | POST | /openapi/data?action=post | 자료 등록 |
| Type 1 | POST | /openapi/data/{dataSn}?action=put | 자료 수정 |
| Type 1 | POST | /openapi/data/{dataSn}?action=delete | 자료 삭제 |
Base URL
https://www.keli.kr/info/neibis-api/v1
📌 실제 서버 주소는 담당자를 통해 별도 안내됩니다. API Key 발급 신청 승인 후 연동이 가능합니다.
📌 API Key 신청: 정보플랫폼 홈페이지 /pltfm/proj/118/openapi/aply/agre.do 에서 신청 가능합니다.
⚠️ Open API 테스트베드는 자료 조회·다운로드 API(Type 2)만 실행 제공합니다.
자료 등록·관리 API(Type 1)는 실제 저장·수정·삭제가 발생하는 운영 API입니다.
인증 방식
모든 API 요청 시 HTTP Header에 발급받은 API Key를 포함해야 합니다.
API Key는 신청 승인 후 마이페이지에서 확인할 수 있습니다.
요청 헤더
| 헤더명 | 필수 | 설명 | 예시 |
| X-Api-Key |
필수 |
발급받은 API Key 값 |
550e8400-e29b-41d4-a716-446655440000 |
| Content-Type |
필수* |
자료 등록·수정 시: multipart/form-data 그 외 GET 요청은 생략 가능 |
|
인증 실패 응답
API Key가 없거나 유효하지 않으면 HTTP 401을 반환합니다.
{
"icon": "warning",
"title": "",
"message": "API Key가 없거나 유효하지 않습니다.",
"data": { "code": "INVALID_API_KEY" }
}
⚠️ API Key는 신청서 단위로 1개가 발급됩니다. 유형(Type 1 / Type 2)별로 별도 발급되지 않습니다.
단, 호출 시 해당 유형에 대한 승인 권한이 없으면 인증 실패로 처리됩니다.
공통 응답 형식
API는 성공·오류 여부에 따라 아래 JSON 구조를 기본으로 응답합니다. 오류 응답은 공통으로 data.code를 함께 반환하며, 파일 다운로드 성공 시에만 파일 바이너리 데이터가 반환됩니다.
{
"icon": "success", // "success" | "warning" | "error"
"title": "",
"message": "메시지", // 처리 결과 메시지
"data": { ... } // 성공 시 API별 응답 데이터
}
오류 응답
{
"icon": "warning",
"title": "",
"message": "오류 메시지",
"data": {
"code": "ERROR_CODE"
}
}
| 필드 | 타입 | 설명 |
| icon | String | success: 성공 / warning: 비즈니스 오류 / error: 시스템 오류 |
| title | String | 알림 제목 (현재 미사용, 빈 문자열) |
| message | String | 처리 결과 메시지 (한국어) |
| data | Object / Array | 성공 시 API별 응답 데이터. 오류 시 {"code":"ERROR_CODE"} |
📌 HTTP 상태코드 정책: 입력 오류, 인증 실패, 권한 없음, 자료 없음은 실제 HTTP 상태코드(400/401/403/404)로 반환됩니다.
성공/실패 여부는 HTTP 상태코드와 응답 본문의 icon, data.code를 함께 확인하세요.
오류 코드
| HTTP 상태 | data.code | 상황 | message 예시 |
| 401 |
INVALID_API_KEY |
API Key 없음, 잘못된 Key, 미승인 Key |
API Key가 없거나 유효하지 않습니다. |
| 403 |
ENDPOINT_DISABLED |
현재 사용이 중단된 엔드포인트 호출 |
현재 사용이 중단된 API입니다. |
| 403 |
API_KEY_DISABLED |
API Key 잠금 |
API Key가 잠금 상태입니다. |
| 403 |
API_KEY_EXPIRED |
API Key 사용기간 만료 |
API Key 사용기간이 만료되었습니다. |
| 403 |
API_TYPE_FORBIDDEN |
API 유형 권한 없음 또는 유형 잠금 |
해당 API 유형 사용 권한이 없습니다. |
| 403 |
API_FUNC_FORBIDDEN |
API 기능 권한 없음 또는 기능 잠금 |
해당 API 기능 사용 권한이 없습니다. |
| 400 |
INVALID_PARAMETER |
필수 입력값 누락, 날짜 형식 오류, 실제 존재하지 않는 날짜 |
등록일 시작일(searchStartDt)은 실제 존재하는 날짜로 입력하세요. |
| 403 |
DOWNLOAD_FORBIDDEN |
첨부파일 다운로드 권한 없음 |
이용 권한이 없습니다. 홈페이지에서 이용 신청 후 이용하세요. |
| 404 |
DATA_NOT_FOUND |
자료 없음 또는 권한상 노출되지 않는 자료 |
자료를 찾을 수 없습니다. |
| 404 |
FILE_META_NOT_FOUND |
다운로드 대상 파일 메타 없음 |
파일 메타 정보를 찾을 수 없습니다. |
| 404 |
FILE_NOT_FOUND |
물리 파일 없음 |
파일을 찾을 수 없습니다. |
| 403 |
INST_AUTH_REQUIRED |
자료 등록·관리 API 호출 권한이 있는 유관기관 상태가 아님 |
승인된 유관기관 권한이 없습니다. |
| 403 |
OWNER_FORBIDDEN |
자료 수정·삭제 권한 없음 |
수정 권한이 없거나 자료를 찾을 수 없습니다. |
| 400 |
FILE_EXTENSION_DENIED |
허용되지 않은 첨부파일 형식 |
허용되지 않은 파일 형식입니다. |
| 400 |
FILE_SIZE_EXCEEDED |
첨부파일 용량 초과 |
첨부파일 용량은 최대 200MB를 초과할 수 없습니다. |
| 400 |
FILE_COUNT_EXCEEDED |
첨부파일 개수 초과 |
첨부파일은 최대 5개까지 등록할 수 있습니다. |
| 415 |
UNSUPPORTED_MEDIA_TYPE |
자료 등록·수정 요청 형식 오류 |
multipart/form-data 형식으로 요청하세요. |
| 500 |
INTERNAL_ERROR |
서버 처리 오류 |
자료 등록 중 오류가 발생하였습니다. |
HTTP 403 응답 예시
현재 사용이 중단된 엔드포인트 호출 시 HTTP 403 상태코드와 함께 다음 JSON이 반환됩니다.
{
"icon": "warning",
"title": "",
"message": "현재 사용이 중단된 API입니다.",
"data": { "code": "ENDPOINT_DISABLED" }
}
자료 조회·다운로드 API (Type 2)
정보플랫폼에 게시된 자료 목록, 상세 정보, 첨부파일 정보를 조회하고 다운로드하는 API입니다.
자료 공개범위와 API Key 사용자 권한에 따라 일부 자료 또는 첨부파일은 제한될 수 있습니다.
| 공개범위 | 목록/상세/파일목록 조회 | 첨부파일 다운로드 |
| 1 — 모두에게 공개 |
✅ 조회 가능 |
✅ API Key 인증만으로 가능 |
| 2 — 모두에게 공개 (첨부파일 이용제한) |
✅ 조회 가능 |
⚠️ 홈페이지에서 이용 신청 후 승인 필요 |
| 3 — 제한된 사람에게 공개 |
⚠️ API Key 사용자에게 개인/기관/그룹 권한이 있는 경우만 조회 가능 |
⚠️ API Key 사용자에게 개인/기관/그룹 권한 필요 |
📌 목록/상세/파일목록 조회도 기존 홈페이지 공개 정책을 따릅니다.
scope=3 자료는 권한이 있는 실제 API Key 사용자에게만 노출되며, 테스트베드 샘플키는 비회원으로 취급되어 노출되지 않습니다.
공개 자료 목록을 페이징하여 조회합니다.
Query Parameters
| 파라미터 | 타입 | 필수 | 기본값 | 설명 |
| pageIndex | int | 선택 | 1 | 페이지 번호 (1부터 시작) |
| pageItm | int | 선택 | 시스템 설정 | 페이지당 건수 (최대 30) |
| searchKeyword | String | 선택 | | 자료명·설명·키워드 검색 |
| searchStartDt | String | 선택 | | 등록일 시작일 (yyyy-MM-dd, 실제 존재하는 날짜) |
| searchEndDt | String | 선택 | | 등록일 종료일 (yyyy-MM-dd, 실제 존재하는 날짜) |
| dataLclsfCd | String | 선택 | | 대분류 코드로 필터 |
| dataMclsfCd | String | 선택 | | 중분류 코드로 필터 |
| dataTypeCd | String | 선택 | | 자료 유형 코드로 필터 |
응답 (성공)
{
"icon": "success",
"title": "",
"message": "조회되었습니다.",
"data": {
"list": [
{
"dataSn": 1234,
"dataNm": "2026년 직업훈련 가이드북",
"regInstNm": "고용노동교육원",
"dataLclsfCd": "1", // 교육자료 (코드 목록 참고)
"dataMclsfCd": "7", // 교육교재
"dataTypeCd": "1", // 일반(사진/텍스트)
"pblsYr": "2026",
"regDt": "2026-02-27 09:00:00",
"dataTrgtMltiplNm": ["일반", "공무원"],
"dataTpcMltiplNm": ["노사관계", "단체교섭"],
"dataSclsfMltiplNm": ["교육 프로그램"]
}
],
"totCnt": 150,
"pageIndex": 1,
"pageItm": 10
}
}
목록 항목 필드
| 필드명 | 타입 | 설명 |
| dataSn | int | 자료 일련번호 (상세조회·파일조회에 사용) |
| dataNm | String | 자료명 |
| regInstNm | String | 등록 기관명 |
| dataLclsfCd | String | 대분류 코드 |
| dataMclsfCd | String | 중분류 코드 |
| dataTypeCd | String | 자료 유형 코드 |
| pblsYr | String | 발행연도 |
| regDt | String | 등록일시 (yyyy-MM-dd HH:mm:ss) |
| dataTrgtMltiplNm | String[] | 이용 대상 이름 목록 (코드 목록 참고) |
| dataTpcMltiplNm | String[] | 주제/테마 이름 목록 (코드 목록 참고) |
| dataSclsfMltiplNm | String[] | 소분류 이름 목록 (해당 없으면 빈 배열 []) |
특정 자료의 상세 정보를 조회합니다.
Path Parameter
| 파라미터 | 타입 | 필수 | 설명 |
| dataSn | int | 필수 | 조회할 자료 일련번호 |
응답 (성공)
{
"icon": "success",
"title": "",
"message": "조회되었습니다.",
"data": {
"dataSn": 1234,
"dataNm": "2026년 직업훈련 가이드북",
"regInstNm": "고용노동교육원",
"dataLclsfCd": "1", // 교육자료 (코드 목록 참고)
"dataMclsfCd": "7", // 교육교재
"dataTypeCd": "1", // 일반(사진/텍스트)
"urlAddr": "https://www.example.go.kr/guide/2026",
"autNm": "고용노동교육원",
"pblsYr": "2026",
"explnCn": "직업훈련 참여자를 위한 종합 안내서입니다.",
"regDt": "2026-02-27 09:00:00",
"dataTrgtMltiplNm": ["일반", "공무원"],
"dataTpcMltiplNm": ["노사관계", "단체교섭"],
"dataSclsfMltiplNm": ["교육 프로그램"]
}
}
응답 필드
| 필드명 | 타입 | 설명 |
| dataSn | int | 자료 일련번호 |
| dataNm | String | 자료명 |
| regInstNm | String | 등록 기관명 |
| dataLclsfCd | String | 대분류 코드 (코드 목록 참고) |
| dataMclsfCd | String | 중분류 코드 (코드 목록 참고) |
| dataTypeCd | String | 자료 유형 코드 (코드 목록 참고) |
| urlAddr | String | 자료 URL |
| autNm | String | 저자/기관명 |
| pblsYr | String | 발행연도 |
| explnCn | String | 설명 내용 (HTML 문자열이 포함될 수 있음) |
| regDt | String | 등록일시 (yyyy-MM-dd HH:mm:ss) |
| dataTrgtMltiplNm | String[] | 이용 대상 이름 목록 (코드 목록 참고) |
| dataTpcMltiplNm | String[] | 주제/테마 이름 목록 (코드 목록 참고) |
| dataSclsfMltiplNm | String[] | 소분류 이름 목록 (해당 없으면 빈 배열 []) |
특정 자료에 첨부된 다운로드 가능한 파일 목록을 조회합니다. 화면 표시용 썸네일이나 내부 처리용 파일은 응답에 포함되지 않습니다.
Path Parameter
| 파라미터 | 타입 | 필수 | 설명 |
| dataSn | int | 필수 | 자료 일련번호 |
응답 (성공)
{
"icon": "success",
"title": "",
"message": "조회되었습니다.",
"data": [
{
"atchFileSn": 55, // 파일 일련번호 (다운로드 시 사용)
"atchFileNm": "가이드북.pdf",
"atchFileExtnNm": "pdf",
"atchFileSz": "2048576" // 파일 크기 (byte, 문자열)
}
]
}
응답 필드 (배열 항목)
| 필드명 | 타입 | 설명 |
| atchFileSn | int | 파일 일련번호 (다운로드 시 사용) |
| atchFileNm | String | 파일명 |
| atchFileExtnNm | String | 파일 확장자 |
| atchFileSz | String | 파일 크기 (byte, 문자열 형식) |
첨부파일을 파일 바이너리로 다운로드합니다.
Path Parameters
| 파라미터 | 타입 | 필수 | 설명 |
| dataSn | int | 필수 | 자료 일련번호 |
| atchFileSn | int | 필수 | 첨부파일 일련번호 |
응답 (성공)
| 헤더 | 값 |
| Content-Type | application/octet-stream |
| Content-Disposition | attachment; filename*=UTF-8''파일명.pdf |
| Content-Length | 파일 크기 (bytes) |
응답 Body: 파일 바이너리 데이터
⚠️ 응답 형식 주의: 이 엔드포인트는 오류 발생 시 application/octet-stream이 아닌 JSON을 반환합니다.
클라이언트에서 Content-Type 헤더로 성공/실패를 먼저 판별하세요.
오류 응답 형식 (공통)
{
"icon": "warning",
"title": "",
"message": "오류 메시지",
"data": { "code": "ERROR_CODE" } // 오류 코드 (아래 표 참고)
}
오류 코드 (data.code)
| HTTP 상태 | data.code | 상황 | message |
| 401 |
INVALID_API_KEY |
API Key 없거나 유효하지 않음 |
API Key가 없거나 유효하지 않습니다. |
| 403 |
ENDPOINT_DISABLED |
사용 중단된 엔드포인트 |
현재 사용이 중단된 API입니다. |
| 403 |
DOWNLOAD_FORBIDDEN |
첨부파일 다운로드 권한 없음 |
이용 권한이 없습니다. 홈페이지에서 이용 신청 후 이용하세요. |
| 404 |
DATA_NOT_FOUND / FILE_META_NOT_FOUND / FILE_NOT_FOUND |
자료 또는 파일 메타/실제 파일을 찾을 수 없음 |
자료를 찾을 수 없습니다. / 파일을 찾을 수 없습니다. |
📌 자료 조회·다운로드 API(Type 2) 오류 응답은 공통으로 data.code를 반환합니다.
다운로드 성공 시에만 JSON이 아닌 파일 바이너리를 반환합니다.
자료 등록·관리 API (Type 1)
승인된 유관기관이 자신의 자료를 정보플랫폼에 직접 등록·수정·삭제하는 API입니다.
API Key 승인뿐 아니라 유관기관 승인 상태와 승인된 신청자 본인 권한을 함께 확인합니다.
📌 신청 조건: 유관기관자료송신 API는 승인된 유관기관 참여신청이 있는 사용자만 신청·사용할 수 있습니다.
정보플랫폼자료수신API는 유관기관 승인 없이 신청할 수 있습니다.
⚠️ 자료 등록·수정·삭제 API는 호출 즉시 실제 데이터가 생성·변경·삭제됩니다.
등록·수정 요청은 multipart/form-data로 전송해야 하며, JSON 데이터는 data 파트에 담아 전송합니다.
📌 등록·수정 첨부파일은 최대 5개까지 허용됩니다. 파일 1개와 전체 첨부파일 합계 모두 200MB를 넘을 수 없으며, 파일 형식은 정보플랫폼 업로드 정책을 따릅니다.
승인된 신청자 본인이 등록한 자료 목록을 조회합니다.
게시 상태에 관계없이 신청자 본인 자료를 반환합니다.
Query Parameters
| 파라미터 | 타입 | 필수 | 기본값 | 설명 |
| pageIndex | int | 선택 | 1 | 페이지 번호 (1부터 시작) |
| pageItm | int | 선택 | 시스템 설정 | 페이지당 건수 (최대 30) |
| searchKeyword | String | 선택 | | 자료명 키워드 검색 |
| dataLclsfCd | String | 선택 | | 대분류 코드로 필터 |
| dataMclsfCd | String | 선택 | | 중분류 코드로 필터 |
| dataTypeCd | String | 선택 | | 자료 유형 코드로 필터 |
응답 (성공)
{
"icon": "success",
"title": "",
"message": "조회되었습니다.",
"data": {
"list": [
{
"dataSn": 1234,
"dataNm": "2026년 직업훈련 가이드북",
"dataRlsScopeCd": "1",
"dataLclsfCd": "1", // 교육자료 (코드 목록 참고)
"dataMclsfCd": "9", // 기타(교육자료)
"dataTypeCd": "1", // 일반(사진/텍스트)
"pblsYr": "2026",
"dataPstgSttsCd": "1", // 게시 처리 상태
"regDt": "2026-02-27 09:00:00"
}
],
"totCnt": 5,
"pageIndex": 1,
"pageItm": 10
}
}
목록 항목 필드
| 필드명 | 타입 | 설명 |
| dataSn | int | 자료 일련번호 (수정·삭제 시 사용) |
| dataNm | String | 자료명 |
| dataRlsScopeCd | String | 권한/제약 설정 값 |
| dataLclsfCd | String | 대분류 코드 (코드 목록 참고) |
| dataMclsfCd | String | 중분류 코드 (코드 목록 참고) |
| dataTypeCd | String | 자료 유형 코드 (코드 목록 참고) |
| pblsYr | String | 발행연도 |
| dataPstgSttsCd | String | 게시 처리 상태 코드. 등록·수정 직후에는 게시요청 상태로 처리됩니다. |
| regDt | Date | 등록일시 |
승인된 신청자 본인이 등록한 특정 자료의 상세 정보를 조회합니다.
다른 기관 또는 다른 신청자가 등록한 자료는 조회되지 않습니다.
Path Parameter
| 파라미터 | 타입 | 필수 | 설명 |
| dataSn | int | 필수 | 조회할 자료 일련번호 |
응답 (성공)
{
"icon": "success",
"title": "",
"message": "조회되었습니다.",
"data": {
"dataSn": 1234,
"dataNm": "2026년 직업훈련 가이드북",
"dataRlsScopeCd": "1",
"dataLclsfCd": "1", // 교육자료 (코드 목록 참고)
"dataMclsfCd": "9", // 기타(교육자료)
"dataSclsfMltiplCd": 0,
"dataSclsfMltiplIdVl": 0,
"dataTrgtMltiplCd": 1,
"dataTypeCd": "1", // 일반(사진/텍스트)
"dataTpcMltiplCd": 1,
"urlAddr": "https://www.example.go.kr/guide/2026",
"autNm": "고용노동교육원",
"pblsYr": "2026",
"explnCn": "직업훈련 참여자를 위한 종합 안내서입니다.",
"dataPstgSttsCd": "1",
"regDt": "2026-02-27 09:00:00"
}
}
승인된 신청자 본인이 등록한 자료의 첨부파일 목록을 조회합니다.
자료 수정 시 삭제할 첨부파일 일련번호(atchFileSn)를 확인할 때 사용합니다.
Path Parameter
| 파라미터 | 타입 | 필수 | 설명 |
| dataSn | int | 필수 | 자료 일련번호 |
응답 (성공)
{
"icon": "success",
"title": "",
"message": "조회되었습니다.",
"data": [
{
"atchFileSn": 55, // 수정 시 atchFileSnArr에 사용
"atchFileNm": "가이드북.pdf",
"atchFileExtnNm": "pdf",
"atchFileSz": "2048576" // 파일 크기 (byte, 문자열)
}
]
}
응답 필드 (배열 항목)
| 필드명 | 타입 | 설명 |
| atchFileSn | int | 첨부파일 일련번호. 자료 수정 시 atchFileSnArr에 사용 |
| atchFileNm | String | 파일명 |
| atchFileExtnNm | String | 파일 확장자 |
| atchFileSz | String | 파일 크기 (byte, 문자열 형식) |
새로운 자료를 정보플랫폼에 등록합니다. 첨부파일은 선택 사항입니다.
요청 헤더
| 헤더 | 값 |
| X-Api-Key | 발급받은 API Key |
| Content-Type | multipart/form-data |
Request Body (multipart/form-data)
| 파트명 | 타입 | 필수 | 설명 |
| data |
JSON (application/json) |
필수 |
자료 정보 JSON 객체 (아래 참고) |
| files |
File[] |
선택 |
첨부파일 목록 (복수 파일 가능, 최대 5개, 최대 200MB) |
data 파트 JSON 필드
| 필드명 | 타입 | 필수 | 설명 |
| dataNm | String | 필수 | 자료명 |
| dataRlsScopeCd | String | 필수 | 권한/제약 설정 값. 1: 모두에게 공개, 2: 신청/승인 후 이용가능. 대상 지정 공개는 송신 API에서 지원하지 않습니다. |
| dataLclsfCd | String | 필수 | 자료 대분류 코드 (코드 목록 참고) |
| dataTrgtMltiplCd | int | 필수 | 자료 대상 다중 코드 |
| urlAddr | String | 조건부 | 자료 URL 주소. 자료 유형이 YouTube 영상 또는 E-book이면 필수 |
| explnCn | String | 필수 | 자료 설명 내용 |
| dataMclsfCd | String | 선택 | 자료 중분류 코드 (코드 목록 참고) |
| dataTypeCd | String | 선택 | 자료 유형 코드 (코드 목록 참고) |
| autNm | String | 선택 | 저자/기관명 |
| pblsYr | String | 선택 | 발행연도 (예: 2026) |
📌 공개범위: 송신 API는 공개범위 1, 2를 지원합니다. 대상 지정 공개범위(3)는 현재 지원하지 않습니다.
요청 예시
# JSON 데이터 파트 (data)
# dataLclsfCd/dataMclsfCd: 코드 목록(부록) 참고
{
"dataNm": "2026년 직업훈련 가이드북",
"dataRlsScopeCd": "1",
"dataTrgtMltiplCd": 1,
"urlAddr": "https://www.example.go.kr/guide/2026",
"explnCn": "직업훈련 참여자를 위한 종합 안내서입니다.",
"dataLclsfCd": "1", // 교육자료
"dataMclsfCd": "9", // 기타(교육자료)
"dataTypeCd": "1", // 일반(사진/텍스트)
"autNm": "고용노동교육원",
"pblsYr": "2026"
}
응답 (성공)
{
"icon": "success",
"title": "",
"message": "자료가 등록되었습니다.",
"data": {
"dataSn": 1234 // 등록된 자료 일련번호 (수정·삭제 시 사용)
}
}
등록한 자료를 수정합니다. 승인된 신청자 본인이 등록한 자료만 수정 가능합니다.
Path Parameter
| 파라미터 | 타입 | 필수 | 설명 |
| dataSn | int | 필수 | 수정할 자료 일련번호 (등록 시 응답값) |
Request Body (multipart/form-data)
등록(action=post)과 동일한 data JSON 필드를 모두 사용할 수 있으며, 추가로 아래 필드도 지원합니다:
| 필드명 | 타입 | 필수 | 설명 |
| atchFileSnArr |
int[] |
선택 |
삭제할 기존 첨부파일 일련번호 목록 (파일 목록 조회 API의 atchFileSn 값 사용) 예: [11, 12] |
📌 파일 처리 방식: atchFileSnArr에 포함된 기존 파일이 먼저 삭제되고,
files 파트의 새 파일이 추가됩니다. 기존 파일을 유지하려면 atchFileSnArr에서 제외하세요.
응답 (성공)
{
"icon": "success",
"title": "",
"message": "자료가 수정되었습니다.",
"data": {
"dataSn": 1234
}
}
등록한 자료를 삭제합니다. 승인된 신청자 본인이 등록한 자료만 삭제 가능합니다. (논리 삭제)
Path Parameter
| 파라미터 | 타입 | 필수 | 설명 |
| dataSn | int | 필수 | 삭제할 자료 일련번호 |
Request Body
없음 (Body 불필요)
응답 (성공)
{
"icon": "success",
"title": "",
"message": "자료가 삭제되었습니다.",
"data": null
}
코드 목록
API 유형에 따라 서로 다른 분류 코드를 사용합니다.
자료 대분류 / 중분류 — Type 2 (정보플랫폼 자료)
자료 목록·상세 조회 시 dataLclsfCd, dataMclsfCd 필터 파라미터에 사용하며, 응답 데이터에도 동일 코드가 포함됩니다.
| 구분 | 코드값 | 코드명 | 상위 대분류 |
| 대분류 | 1 | 교육자료 | — |
| 대분류 | 3 | 연구자료 | — |
| 대분류 | 4 | 홍보자료 | — |
| 중분류 | 7 | 교육교재 | 교육자료 (1) |
| 중분류 | 8 | 교육 프로그램 | 교육자료 (1) |
| 중분류 | 9 | 기타(교육자료) | 교육자료 (1) |
| 중분류 | 10 | 교육동영상 | 교육자료 (1) |
| 중분류 | 15 | 카드뉴스 | 교육자료 (1) |
| 중분류 | 12 | 연구보고서 | 연구자료 (3) |
| 중분류 | 13 | 고용노동 교육브리프 | 연구자료 (3) |
| 중분류 | 16 | 기타(연구자료) | 연구자료 (3) |
| 중분류 | 17 | 홍보영상 | 홍보자료 (4) |
| 중분류 | 18 | 홍보자료 | 홍보자료 (4) |
| 중분류 | 19 | 기타(홍보자료) | 홍보자료 (4) |
소분류 (dataSclsfMltiplNm) — Type 2 전용
복수 선택 가능. API는 해당 이름 목록을 배열로 반환합니다. 소분류가 없는 경우 빈 배열 []을 반환합니다.
그룹 3 — 교육 프로그램 및 교재 (dataSclsfMltiplIdVl = 3)
그룹 4 — 교육동영상 (dataSclsfMltiplIdVl = 4)
| 비트값 | 코드명 |
| 1 | 직장 내 괴롭힘 |
| 2 | 청소년 청년 알바 노동권익 |
| 4 | 청소년 지도 |
| 8 | 소규모, 산업단지 사업주 교육 |
| 16 | 알면 좋은 노동법 |
| 32 | 노동 이야기 (가사, 돌봄, 배달, 공연 등) |
그룹 5 — 연구보고서 (dataSclsfMltiplIdVl = 5)
자료 대분류 / 중분류 — Type 1 (유관기관 자료)
자료 등록·수정 시 dataLclsfCd(대분류), dataMclsfCd(중분류) 파라미터에 사용합니다.
| 구분 | 코드값 | 코드명 | 상위 대분류 |
| 대분류 | 1 | 교육자료 | — |
| 대분류 | 3 | 연구자료 | — |
| 대분류 | 4 | 홍보자료 | — |
| 중분류 | 9 | 기타(교육자료) | 교육자료 (1) |
| 중분류 | 16 | 기타(연구자료) | 연구자료 (3) |
| 중분류 | 19 | 기타(홍보자료) | 홍보자료 (4) |
자료 유형 코드 (dataTypeCd)
Type 1·2 공통으로 사용합니다.
| 코드값 | 코드명 |
| 1 | 일반(사진/텍스트) |
| 2 | YouTube 영상 |
| 3 | E-book |
| 4 | 동영상 |
이용 대상 (dataTrgtMltiplNm)
복수 선택 가능. API는 해당 이름 목록을 배열로 반환합니다. 예: ["일반", "공무원"]
| 비트값 | 코드명 |
| 1 | 일반 |
| 2 | 학생 |
| 4 | 공무원 |
| 8 | 공공부문종사자 |
| 16 | 민간부문종사자 |
| 32 | 소규모사업장 |
| 64 | 전문강사 |
| 128 | 기타 |
주제/테마 (dataTpcMltiplNm)
복수 선택 가능. API는 해당 이름 목록을 배열로 반환합니다. 예: ["노사관계", "단체교섭"]
| 비트값 | 코드명 |
| 1 | 노사관계 |
| 2 | 단체교섭 |
| 4 | 인사노무관리 |
| 8 | 갈등관리 |
| 16 | 조직문화 |
| 32 | 리더십 |
| 64 | 상생협력 |
| 128 | 노동법 |
| 256 | 노동정책 |
| 512 | 워크숍 |
| 1024 | 권리보호 |
| 2048 | 청년고용 |
| 4096 | 플랫폼노동 |
| 8192 | 중소사업장 |
| 16384 | 재해예방 |
| 32768 | 공무원 |
| 65536 | 공무직 |
| 131072 | 교육공무원 |
| 262144 | 공공기관 |
| 524288 | 청소년/청년 |
| 1048576 | 강사양성 |
| 2097152 | 온라인교육 |
| 4194304 | 사례해설 |
호출 예제 (curl)
— 자료 조회·다운로드 API (Type 2) —
자료 목록 조회
curl -X GET \
"https://www.keli.kr/info/neibis-api/v1/openapi/data?action=get&pageIndex=1&pageItm=10&searchStartDt=2026-05-01&searchEndDt=2026-05-08&dataLclsfCd=1" \
-H "X-Api-Key: 550e8400-e29b-41d4-a716-446655440000"
자료 상세 조회
curl -X GET \
"https://www.keli.kr/info/neibis-api/v1/openapi/data/1234?action=get" \
-H "X-Api-Key: 550e8400-e29b-41d4-a716-446655440000"
첨부파일 목록 조회
curl -X GET \
"https://www.keli.kr/info/neibis-api/v1/openapi/data/1234/file?action=get" \
-H "X-Api-Key: 550e8400-e29b-41d4-a716-446655440000"
첨부파일 다운로드
curl -X GET \
"https://www.keli.kr/info/neibis-api/v1/openapi/data/1234/file/55?action=download" \
-H "X-Api-Key: 550e8400-e29b-41d4-a716-446655440000" \
-o "다운로드파일명.pdf"
— 자료 등록·관리 API (Type 1) —
내 자료 목록 조회
curl -X GET \
"https://www.keli.kr/info/neibis-api/v1/openapi/data/my?action=get&pageIndex=1&pageItm=10" \
-H "X-Api-Key: 550e8400-e29b-41d4-a716-446655440000"
내 자료 상세 조회
curl -X GET \
"https://www.keli.kr/info/neibis-api/v1/openapi/data/my/1234?action=get" \
-H "X-Api-Key: 550e8400-e29b-41d4-a716-446655440000"
내 자료 첨부파일 목록 조회
curl -X GET \
"https://www.keli.kr/info/neibis-api/v1/openapi/data/my/1234/file?action=get" \
-H "X-Api-Key: 550e8400-e29b-41d4-a716-446655440000"
자료 등록 (파일 없음)
curl -X POST \
"https://www.keli.kr/info/neibis-api/v1/openapi/data?action=post" \
-H "X-Api-Key: 550e8400-e29b-41d4-a716-446655440000" \
-F 'data={"dataNm":"가이드북","dataRlsScopeCd":"1","dataLclsfCd":"1","dataTrgtMltiplCd":1,"urlAddr":"https://example.go.kr","explnCn":"설명","dataTypeCd":"1"};type=application/json'
자료 등록 (파일 포함)
curl -X POST \
"https://www.keli.kr/info/neibis-api/v1/openapi/data?action=post" \
-H "X-Api-Key: 550e8400-e29b-41d4-a716-446655440000" \
-F 'data={"dataNm":"하계 특별과정 안내","dataRlsScopeCd":"1","dataLclsfCd":"1","dataTrgtMltiplCd":1,"urlAddr":"https://example.go.kr","explnCn":"설명"};type=application/json' \
-F "files=@/path/to/guide.pdf" \
-F "files=@/path/to/appendix.pdf"
자료 수정 (기존 파일 삭제 + 새 파일 추가)
curl -X POST \
"https://www.keli.kr/info/neibis-api/v1/openapi/data/1234?action=put" \
-H "X-Api-Key: 550e8400-e29b-41d4-a716-446655440000" \
-F 'data={"dataNm":"수정된 가이드북","dataRlsScopeCd":"1","dataLclsfCd":"1","dataTrgtMltiplCd":1,"urlAddr":"https://example.go.kr","explnCn":"수정된 설명","atchFileSnArr":[55]};type=application/json' \
-F "files=@/path/to/new_guide.pdf"
자료 삭제
curl -X POST \
"https://www.keli.kr/info/neibis-api/v1/openapi/data/1234?action=delete" \
-H "X-Api-Key: 550e8400-e29b-41d4-a716-446655440000"
변경 이력
| 버전 | 날짜 | 내용 |
| v1.0 |
2026. 05. 12. |
최초 배포 |