Hilokal B2B API (1.0.0)

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.

Authentication

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.

Authorization scoping

All endpoints accept an email query parameter identifying the "calling user" inside the customer's organization. Behaviour depends on that user's role:

  • Manager / superAdmin (status = active): sees all rows for the organization.
  • Regular member: sees only their own rows (attendance) / confirmation status (board posts).

A 404 Not Found is returned if email does not exist in the organization.

Pagination

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).

Live Translation

Real-time translation session records.

List translation session summaries

Returns the list of translation session summaries for the organization.

Authorizations:
ApiKeyAuth
query Parameters
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.

Responses

Response samples

Content type
application/json
{
  • "data": [
    ],
  • "pagination": {
    }
}

List translations for one session

Returns the detailed source/target translation segments for one session.

Authorizations:
ApiKeyAuth
query Parameters
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 live-translation-summaries).

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.

Responses

Response samples

Content type
application/json
{
  • "data": [
    ],
  • "pagination": {
    }
}

TBM & Safety Attendance

TBM / safety-training attendance proofs (출석 증적).

List TBM / safety-training attendance records

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.

Authorizations:
ApiKeyAuth
query Parameters
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. 2026-05-01 or 2026-05-01T00:00:00Z).

endDate
string <date-time>

Inclusive upper bound. Same format as startDate.

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.

Responses

Response samples

Content type
application/json
{
  • "data": [
    ],
  • "pagination": {
    }
}

Notice Board

Notice-board posts and per-user confirmation records (공지사항 확인 증적).

List active notice-board posts

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.

Authorizations:
ApiKeyAuth
query Parameters
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.

Responses

Response samples

Content type
application/json
{
  • "data": [
    ],
  • "pagination": {
    }
}

List per-user read/sign confirmations for one board

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.

Authorizations:
ApiKeyAuth
query Parameters
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 boards).

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.

Responses

Response samples

Content type
application/json
{
  • "board": {
    },
  • "data": [
    ],
  • "pagination": {
    }
}