Account API Token returns Not Authorized
mbilalev0-alt
HOBBYOP

2 hours ago

Hello Railway Support,

My Account API Token "MIA_RAILWAY_CONTROL" is rejected by the Railway Public GraphQL API.

  • Workspace: My Projects
  • Plan: Active Hobby
  • Token type: Account Token
  • Created under Account Settings → Tokens with “No workspace” selected.

Endpoint: https://backboard.railway.com/graphql/v2

Authentication: Authorization: Bearer [TOKEN]

Test query: "query { me { name email } }"

Result: HTTP 200, "Not Authorized", data: null.

Other valid GraphQL queries return the same authorization error.

I have verified that the saved token matches the token in Railway.

Could you investigate why this Account Token is rejected despite my active Hobby plan?

Please check for an account-level authentication or subscription issue.

Thank you.

$20 Bounty

5 Replies

Railway
BOT

2 hours ago

A "Not Authorized" on query { me { name email } } means the API didn't accept that token as an account-scoped token. Either it is scoped to a workspace, or the token being sent isn't recognised, for example because it was mistyped, truncated, or deleted. Your plan and subscription don't affect this query.

To see which case you're in, open your account tokens page and look at the Scope column for that token. It reads Account for an account token and shows a workspace name for a workspace token. If the token isn't listed at all, it no longer exists on this account. The me query only works with a token created with "No workspace" selected.

You can also send query { apiToken { workspaces { id name } } } with the same Bearer header. If the token is live, this returns every workspace you belong to for an account token, or just the one workspace for a workspace token.


Status changed to Awaiting User Response Railway • about 2 hours ago


Railway

A "Not Authorized" on `query { me { name email } }` means the API didn't accept that token as an account-scoped token. Either it is scoped to a workspace, or the token being sent isn't recognised, for example because it was mistyped, truncated, or deleted. Your plan and subscription don't affect this query. To see which case you're in, open [your account tokens page](https://railway.com/account/tokens) and look at the Scope column for that token. It reads `Account` for an account token and shows a workspace name for a workspace token. If the token isn't listed at all, it no longer exists on this account. The `me` query only works with a token created with "No workspace" selected. You can also send `query { apiToken { workspaces { id name } } }` with the same Bearer header. If the token is live, this returns every workspace you belong to for an account token, or just the one workspace for a workspace token.

mbilalev0-alt
HOBBYOP

2 hours ago

Thank you for your response.

I confirm that the token was created under Account Settings → Tokens with “No workspace” selected.

The token is named MIA_RAILWAY_CONTROL and is still visible in my account.

Could a Railway support engineer please review this case? The valid Account Token is still returning “Not Authorized”.

I would appreciate assistance from a human support specialist.


Status changed to Awaiting Railway Response Railway • about 2 hours ago


Railway
BOT

2 hours ago

This thread has been opened as a bounty so the community can help solve it.

Status changed to Open Railway • about 2 hours ago


mbilalev0-alt
HOBBYOP

2 hours ago

Результат: авторизация отклонена.

  • HTTP-статус: 200.
  • Ответ Railway: Not Authorized на поле me (INTERNAL_SERVER_ERROR), data: null. Запрос выполнен через существующий узел «Railway API: чтение» с Credential «Header Auth account 4» (execution 3676).

Тот же отказ был на прежнем токене. Это значит, что токен, который сейчас лежит в Credential, Railway по запросу me не авторизует. Поле me в схеме есть, и ошибки схемы нет.

Что остаётся неизвестным

  • Сохранён ли в Credential именно новый токен, или n8n ещё держит старое значение. Credential я не читал.
  • Какой тип у этого токена и как оформлен заголовок. Проверить это без расшифровки секрета нельзя.

Как я это сделал без новых узлов

Узлы и workflow не добавлял и не менял. Я запустил тест существующей цепочки, где вместо выходных данных узла «Запрос Railway» подставил запрос me. Пины действуют только в этом тестовом запуске и в workflow не сохраняются.

Черновик и активные версии не менял и не публиковал: Ops_Miya 7f864c9a…, Мия 99de8fb8…. Управляющие операции Railway остаются заблокированными.

Что стоит проверить вам

  1. Что новый токен сохранён именно в Credential «Header Auth account 4» и поле Value начинается с Bearer .
  2. Что токен создан как Account Token в Railway: Account Settings → Tokens, а не в Workspace или Project.
  3. Что для токена не включён режим «No workspace», который ограничивает его правами только на личные данные.

mbilalev0-alt
HOBBYOP

2 hours ago

Hello Railway Support,

I created a new Account API Token named "MIA_ACCOUNT_API" under Account Settings → Tokens with “No workspace” selected.

The token is saved in my existing n8n Credential with the header format:

"Authorization: Bearer [TOKEN]"

I tested it using the valid query:

"query { me { name email } }"

Result:

  • HTTP 200
  • "Not Authorized"
  • "data: null"
  • n8n execution ID: 3676

The same error occurred with both my previous and new tokens.

Could you please investigate why my Account API Token is being rejected? Please verify the token's actual type and account-level authorization on your side.

I have not shared the token value.

Thank you.


I'd make sure the auth headers are correctly being passed into the request on the n8n side.

I'm able to successfully run query { me { name email } } on my API client with a freshly minted unscoped token.


Welcome!

Sign in to your Railway account to join the conversation.

Loading...