애플리케이션이 INNORIX와 통신하려면 먼저 인증해야 합니다. Exacoola는 로그인으로 발급받은 액세스 토큰(JWT) 으로 인증합니다. 기본 URL은 https://app.innorix.com 입니다.
- 로그인 (
POST /api/auth/login) — 계정으로 로그인해 액세스 토큰과 리프레시 토큰을 발급받습니다. - API 키 발급 (
POST /api/auth/api-keys) — 일반 사용자 API 키를 발급합니다.x-api-key헤더로 사용합니다. (명령 자동화(command automation)의 외부 트리거 전용 키는 이와 별개로GET /api/command/generate-api-key로 발급합니다 — Automate File Transfers 참고.)
인증이 필요한 API 호출에는 다음 두 헤더를 함께 보냅니다.
Authorization: Bearer <ACCESS_TOKEN>
x-workspace-id: <WORKSPACE_ID>
로그인
POST /api/auth/login — 사용자 로그인
curl -X POST https://app.innorix.com/api/auth/login \
-H "Content-Type: application/json" \
-d '{
"email": "<YOUR_EMAIL>",
"password": "<YOUR_PASSWORD>"
}'
응답:
{
"status_code": 200,
"message": "success",
"data": {
"user": {
"email": "user@example.com",
"userName": "User Name",
"userId": "usr_abc123",
"state": "1",
"accessToken": "<ACCESS_TOKEN>",
"refreshToken": "<REFRESH_TOKEN>"
}
}
}
data.user.accessToken을 이후 요청의 Authorization: Bearer 헤더에 사용합니다. 액세스 토큰이 만료되면 POST /api/auth/token/refresh로 새 토큰을 발급받습니다.
API 키 발급 (명령 자동화용)
POST /api/auth/api-keys — 로그인한 사용자의 API 키 생성
curl -X POST https://app.innorix.com/api/auth/api-keys \
-H "Authorization: Bearer <ACCESS_TOKEN>" \
-H "x-workspace-id: <WORKSPACE_ID>"
응답:
{
"status_code": 200,
"message": "success",
"data": {
"apiKey": "a3f2c1..."
}
}
발급된 apiKey는 명령 자동화 트리거 요청에서 x-api-key 헤더로 사용합니다. 키 폐기는 DELETE /api/auth/api-keys에 body { "apiKey": "a3f2c1..." }를 넣어 호출합니다.
토큰 갱신 · 세션 관리
액세스 토큰이 만료되면 리프레시 토큰으로 새 토큰을 발급받습니다. 리프레시 토큰은 X-Refresh-Token 헤더로 전달합니다.
POST /api/auth/token/refresh — 세션 토큰 갱신
curl -X POST https://app.innorix.com/api/auth/token/refresh \
-H "X-Refresh-Token: <REFRESH_TOKEN>"
응답:
{
"status_code": 200,
"message": "success",
"data": {
"accessToken": "<NEW_ACCESS_TOKEN>",
"refreshToken": "<NEW_REFRESH_TOKEN>",
"expiresIn": 3600,
"userId": "usr_abc123",
"email": "user@example.com",
"userName": "User Name"
}
}
그 밖의 세션 관리 엔드포인트:
| 목적 | 메서드 · 경로 |
|---|---|
| 세션 토큰 갱신 (deprecated 별칭) | POST /api/auth/token |
| 로그아웃 | POST /api/auth/logout (헤더: X-Refresh-Token) |
| API 키 폐기 | DELETE /api/auth/api-keys (body: { "apiKey": "a3f2c1..." }) |