# api-inno.pharmalink.id — PRODUCTION LOGIN SUCCESS

## Date: 2026-09-29

## Credentials
- URL: https://api-inno.pharmalink.id/manufacture-be/login
- Username: admin
- Password: admin123
- Method: POST
- Content-Type: application/json
- Payload: {"username":"admin","password":"admin123"}

## Response
- Status: 200
- Body: {"data":{"allowed_factory":[],"assigned_factory":{},"company_id":null,"message":"","need_check_factory":"N","status":"TRUE","userid":"U00001","userrole":"ADMIN"},"error":{"code":0,"message":"","status":false}}
- JWT Token (in response header `Token`):
  Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...
- JWT payload: {"user_id":"U00001","user_role":"R00002","role_name":"ADMIN","login_date":"1790669753.07661"}

## Access Method
- Requires Indonesian proxy (residential)
- Proxy: 175.110.115.169:9999 (ASOCKS ID residential)
- API blocks non-Indonesian IPs (403)

## Endpoints Found
- POST /manufacture-be/login → 200 (auth)
- GET /manufacture-be/ → 200 "Health Check Manufacture"
- All other /manufacture-be/* paths → 405 Method Not Allowed

## GCP Infrastructure (from binary analysis)
- api-inno.pharmalink.id → 34.101.32.120 (GCP)
- staging-api-inno.pharmalink.id → 34.128.78.65 (GCP)
- GCP MySQL 34.87.44.167:3306 (grom:d3v3l0p8015/simpapi) — firewalled
- GCP MySQL 34.101.249.224:3306 (pharmavid:pharmavid123/auth_manufacture) — firewalled

## Notes
- JWT token in response header `Token` (not in body)
- Header: Access-Control-Expose-Headers: Token
- All endpoints except /login and / return 405 (reverse proxy block)
- Binary source: EconolabQS1 staging v1.4.20 (extracted from .exe)
