---
title: "Sign In"
method: POST
path: "/api/v2/{portalId}/auth/signin"
tags: ["Auth"]
---

# Sign In

`POST /api/v2/{portalId}/auth/signin`

## Request

- Base URL: `https://portal-api.magna.so`
- URL: `https://portal-api.magna.so/api/v2/{portalId}/auth/signin`
- Auth: none declared

Authenticates a user by verifying the signed message from their wallet. Returns a JWT access token upon successful verification.

## Path parameters

- `portalId` string, uuid, required

## Request body

- object
  - `wallet` string, required: wallet address to login with
  - `platform` 'EVM' | 'MOVE' | 'SOLANA' | 'OTHER', required
  - `message` string, required: message that was signed
  - `signature` string, required: signed message from the wallet owner

## Response `200`

Ok

- object: Ok
  - `accessToken` string, required: JWT access token for authenticated requests
  - `expiration` string, date-time, required: access token expiration date
  - `submissionInfo` object, nullable, required
    - `claimWallet` string, nullable, required: the wallet address used for claiming
    - `submitted` boolean, required: whether the submission was confirmed
    - `pohPassed` boolean, nullable, required: whether the proof of humanity check was passed
    - `accounts` object[], required: list of eligible account values
      - `value` string, required: eligible account value
      - `type` 'EMAIL' | 'X_HANDLE' | 'WALLET' | 'DISCORD', required: eligible account type
      - `isEligible` boolean, required: whether the account is eligible
      - `description` string, nullable, required: optional description for the account eligibility

## Other responses

- `400`: Client Error
- `401`: Unauthorized
- `500`: Server Error
- `502`: Upstream Error — the portal configuration service could not be reached. Safe to retry.

---

[API](https://skmtc.dev/magna/apis/magna-portal-api.md) - [All operations](https://skmtc.dev/magna/apis/magna-portal-api/llms.txt) - [OpenAPI document](https://skmtc.dev/magna/apis/magna-portal-api/revisions/50f736d73198?raw)
