Download OpenAPI specification:
REST endpoints for B2B customers to fetch translation, attendance, and notice-board confirmation records.
Read-only HTTP endpoints exposed to B2B customers (factory / shipyard partners). Each endpoint is scoped to a single organization via the caller's API key.
Every request must carry an x-api-key header. Keys are provisioned per
customer organization and bound to a fixed list of source IPs. Requests
from un-allowlisted IPs are rejected with 401 Unauthorized.
Each key is rate-limited independently.
All endpoints accept an email query parameter identifying the
"calling user" inside the customer's organization. Behaviour depends on
that user's role:
active): sees all rows for the
organization.A 404 Not Found is returned if email does not exist in the
organization.
Endpoints that return list payloads accept page (1-indexed, default 1)
and pageSize (default 20, max 100), and respond with a pagination
block. order accepts asc or desc (default desc).
Returns the list of translation session summaries for the organization.
| email required | string <email> Email of the calling user inside the customer organization. Determines scope — see "Authorization scoping" in the overview. |
| page | integer >= 1 Default: 1 1-indexed page number. |
| pageSize | integer [ 1 .. 100 ] Default: 20 Page size (max 100). |
| order | string Default: "desc" Enum: "asc" "desc" Sort direction. |
{- "data": [
- {
- "sessionId": 1234,
- "sessionUser": "홍길동",
- "summary": { },
- "createdAt": 1748213400000
}
], - "pagination": {
- "page": 1,
- "pageSize": 20,
- "totalCount": 137
}
}Returns the detailed source/target translation segments for one session.
| email required | string <email> Email of the calling user inside the customer organization. Determines scope — see "Authorization scoping" in the overview. |
| sessionId required | integer >= 1 ID of the translation session (from |
| page | integer >= 1 Default: 1 1-indexed page number. |
| pageSize | integer [ 1 .. 100 ] Default: 20 Page size (max 100). |
| order | string Default: "desc" Enum: "asc" "desc" Sort direction. |
{- "data": [
- {
- "id": 98765,
- "createdAt": 0,
- "source": {
- "locale": "ko",
- "text": "안녕하세요."
}, - "target": [
- {
- "locale": "ko",
- "text": "안녕하세요."
}
]
}
], - "pagination": {
- "page": 1,
- "pageSize": 20,
- "totalCount": 137
}
}Returns rows from the LMS attendance log (lms_attendance). One row
is one attendance event for one user. Managers see the full
organization log; regular members see only their own rows.
| email required | string <email> Email of the calling user inside the customer organization. Determines scope — see "Authorization scoping" in the overview. |
| startDate | string <date-time> Inclusive lower bound. ISO 8601 date or datetime
(e.g. |
| endDate | string <date-time> Inclusive upper bound. Same format as |
| page | integer >= 1 Default: 1 1-indexed page number. |
| pageSize | integer [ 1 .. 100 ] Default: 20 Page size (max 100). |
| order | string Default: "desc" Enum: "asc" "desc" Sort direction. |
{- "data": [
- {
- "id": 1407,
- "userId": 88421,
- "userEmail": "worker01@example.com",
- "userName": "김작업",
- "createdAt": 1748213400000
}
], - "pagination": {
- "page": 1,
- "pageSize": 20,
- "totalCount": 137
}
}Returns active (non-deleted) notice-board posts in the organization, with their latest version's title / content and the calling user's personal read/sign status against that latest version.
| email required | string <email> Email of the calling user inside the customer organization. Determines scope — see "Authorization scoping" in the overview. |
| page | integer >= 1 Default: 1 1-indexed page number. |
| pageSize | integer [ 1 .. 100 ] Default: 20 Page size (max 100). |
| order | string Default: "desc" Enum: "asc" "desc" Sort direction. |
{- "data": [
- {
- "boardId": 42,
- "title": "5월 안전공지",
- "content": "string",
- "createdAt": 0,
- "authorEmail": "user@example.com",
- "authorName": "string",
- "isRead": true,
- "isSignatured": true
}
], - "pagination": {
- "page": 1,
- "pageSize": 20,
- "totalCount": 137
}
}Returns each member's read/sign status against the latest version of one board post. Managers see all members; regular members see only their own row.
Note: when a board is edited a new version is created, and prior
signatures no longer count — read and signed always reflect
the latest version.
| email required | string <email> Email of the calling user inside the customer organization. Determines scope — see "Authorization scoping" in the overview. |
| boardId required | integer >= 1 ID of the board post (from |
| page | integer >= 1 Default: 1 1-indexed page number. |
| pageSize | integer [ 1 .. 100 ] Default: 20 Page size (max 100). |
| order | string Default: "desc" Enum: "asc" "desc" Sort direction. |
{- "board": {
- "boardId": 42,
- "boardVersionId": 88,
- "title": "string",
- "content": "string",
- "createdAt": 0
}, - "data": [
- {
- "userId": 88421,
- "userEmail": "user@example.com",
- "userName": "김작업",
- "departmentName": "안전팀",
- "read": true,
- "signed": true,
- "readAt": 0,
- "signedAt": 0
}
], - "pagination": {
- "page": 1,
- "pageSize": 20,
- "totalCount": 137
}
}