Railway API Token Permissions Issue
appsgenerated-wq
FREEOP

a year ago

Hi! I'm getting a 400 "Problem processing request" error when trying to create services via the GraphQL API.

What works:

✅ Project access: { project(id: "f942a2cc-2975-4d34-9083-zzzzzzzzzzzzz") { id name } } returns successfully

✅ API token authentication works

What fails:

❌ User API: { user { id name email } }

❌ Services API: { project(id: "...") { services { id name } } }

❌ Service creation: serviceCreate mutation

Error: {"errors":[{"message":"Problem processing request","traceId":"..."}]}

Question: Do I need a different token type (Account vs Project token) or different permissions to create services? The current token can access the project but seems to have limited scope.

Project: luminous-edtion (f942a2cc-2975-4d34-9083-dzzzzzzzzz8c)

Thanks for reading!

Solved$20 Bounty

78 Replies

a year ago

Account token or project token should work here. Do you have multiple environments in this project?


a year ago

Which are you using btw, account or project


appsgenerated-wq
FREEOP

a year ago

1420237841258254386


appsgenerated-wq
FREEOP

a year ago

i generated token from account settings


appsgenerated-wq
FREEOP

a year ago

im developing a no code application which should deploy the backend to railway.

the repos are successfully built, but im having trouble auto deploying to railway.


a year ago

Have you tried using a project scoped token instead? Just to test.


appsgenerated-wq
FREEOP

a year ago

is this only for paid version?


appsgenerated-wq
FREEOP

a year ago

1420238309770137630


appsgenerated-wq
FREEOP

a year ago

clicking verify account takes you to plans page


a year ago

@Error


a year ago

@gabriel Do NOT click that.


a year ago

Well hmmm


a year ago

This is on Railway? That's some crazy contrast for a Railway page.


appsgenerated-wq
FREEOP

a year ago

its the hdr from my screen shot


a year ago

Hey Gabriel!

Do you have any themes or extensions on to modify the colors? Looks a bit off


appsgenerated-wq
FREEOP

a year ago

1420238737287155792


a year ago

Tokens can be created per project in the project settings

1420238752034328607


a year ago

Want to make sure you arent entering sensitive information anywhere other then railway 😁


a year ago

Ah. I guess it is required to verify for this.


a year ago

Verification shouldn't charge you anything


appsgenerated-wq
FREEOP

a year ago

it doesnt take me to a verify page.


appsgenerated-wq
FREEOP

a year ago

where do i verify?


a year ago

Where does it take you?


appsgenerated-wq
FREEOP

a year ago

1420239036949463091


a year ago

🤨


a year ago

Hmm


appsgenerated-wq
FREEOP

a year ago

haha maybe slight routing issue


a year ago

yeah that is weird.


appsgenerated-wq
FREEOP

a year ago

better screenshot if it helps


appsgenerated-wq
FREEOP

a year ago

1420239226217304094


appsgenerated-wq
FREEOP

a year ago


a year ago

this happens when Railway deems your github account too suspicious to allow you to host code on it freely

Looks like you may need to upgrade


a year ago

Looks like limited trials cant create project tokens


a year ago

I asked on your behalf and found out that Railway has given exceptions to this rule before, and I'm sure Railway would be happy to support your needs. On that note, I recommend you email billing@railway.app from the email you use on Railway and explain your use case and the problem you're facing and they might be able to help you.

You can email them if you need. But regardless account tokens should totally work


a year ago

Can you share your exact GraphQL request?


appsgenerated-wq
FREEOP

a year ago

Our GraphQL request:

mutation CreateService($input: ServiceCreateInput!) {

serviceCreate(input: $input) {

id

name

}

}

Variables:

{

"input": {

"projectId": "f942a2cc-2975-4d34-9083-d594cd07e48c",

"name": "no-code-app-8bb7d85c-ddac-4b00-b6de-2ad1cb4c3d23",

"type": "WEB_SERVICE"

}

}

Headers:

Authorization: Bearer [token]

Content-Type: application/json


appsgenerated-wq
FREEOP

a year ago

maybe for context. im building no code application. i currently have generations going to repos and i need to host the backend for each corresponding repo.


a year ago

Testing on my own


appsgenerated-wq
FREEOP

a year ago

i may not be doing this in the ideal fashion either if you have tips


appsgenerated-wq
FREEOP

a year ago

i tried the cli first, but i didnt have success


a year ago

Just looks like your request is a little borked


appsgenerated-wq
FREEOP

a year ago

i have it setup for render, but have limitation that i cannot make hosting for each repo without paying (they limit to one). i honestly dont want to pay unless i actually plan to release it

i cannot use a multi tenat structure with what im using for the generated backends


a year ago

Sending you the correct one


a year ago

mutation serviceCreate {
  serviceCreate(
    input: {
      projectId: "7f46c0f9-0597-4cc4-887d-b4e34923a37b"
      source: { image: "postgres" }
      name: "Hello world"
    }
  ) {
    id
  }
}

Here you go! You can see where I set the image, you can change that to repo to be a source link. Name and projectId are a given. No query variables required.


a year ago

@gabriel ^^


appsgenerated-wq
FREEOP

a year ago

Thank you! 🙏

got past the mutation structure issue, but now hitting a new 400 error during service creation. The logs show our request is correct but Railway returns a generic "Problem processing request" error with no details.

Our request:

mutation serviceCreate {

serviceCreate(

input: {

projectId: "f942a2cc-2975-4d34-9083-zzzzzzzzREMOVEDzzzzz"

source: {

repo: "https://github.com/.............REMOVED"

rootDirectory: "backend"

}

name: "no-code-app-xyz"

}

) { id }

}

Error: {"errors":[{"message":"Problem processing request","traceId":"3755196274180473766"}]}

Repository is public, has frontend/, backend/, README.md structure

I think the generic err could be because im not verified/paid user?


a year ago

It's because rootDirectory isn't actually a valid option


appsgenerated-wq
FREEOP

a year ago

source: { repo: "railwayapp-templates/django" }

Do I just add /backend like this?


a year ago

No... I'm trying to figure out how to do this


a year ago

mutation updateService {
  serviceInstanceUpdate(
        serviceId: "service-id",
        input: {
            rootDirectory: "directory"
        }
  ) 
}

You'll have to do it in two requests


a year ago

Not sure why that spacing got all weird but


a year ago

You get it


appsgenerated-wq
FREEOP

a year ago

sorry for the late response, i dont believe that it working


a year ago

What's not working with it?


appsgenerated-wq
FREEOP

a year ago

am i setting the root dir correctly?

mutation updateService {

serviceInstanceUpdate(

serviceId: "ea40ba6e-bd1b-4221-a4b9-d9ZZZZZZZ534",

input: {

rootDirectory: "backend"

}

) {

id

}

}


a year ago

Yep, it works for me. Are you sure you're using the service ID and not the project ID?


a year ago

1420510523761627207


appsgenerated-wq
FREEOP

a year ago

where in the docs did you find to use this

mutation updateService {

serviceInstanceUpdate(

serviceId: "service-id",

input: {

rootDirectory: "directory"

}

)

}


appsgenerated-wq
FREEOP

a year ago

const createMutation = mutation serviceCreate { serviceCreate( input: { projectId: "${this.projectId}" source: { repo: "${repoPath}" } name: "${serviceName}" } ) { id } } ;

const updateMutation = `
  mutation updateService {
    serviceInstanceUpdate(
      serviceId: "${serviceId}",
      input: {
        rootDirectory: "${rootDir}"
      }
    ) {
      id
    }
  }
`;

const mutation = `
  mutation SetEnvironmentVariables($input: ServiceEnvironmentVariablesInput!) {
    serviceEnvironmentVariables(input: $input) {
      id
      name
    }
  }
`;

a year ago

I looked at the schema



appsgenerated-wq
FREEOP

a year ago

ok it does work like this const updateMutation = mutation updateService { serviceInstanceUpdate( serviceId: "${serviceId}", input: { rootDirectory: "${rootDir}" } ) } ;


a year ago

That should work, yes


appsgenerated-wq
FREEOP

a year ago

the issue is now the env var one <:mildpanic:804271964587819059>


a year ago

Where did you get the method you’re using from?


appsgenerated-wq
FREEOP

a year ago

chatting with copilot


a year ago

Well hopefully this is a lesson


a year ago

I’m scrolling through possible methods on the actual docs right now, you can too


a year ago

VariableCollectionUpsertInput

I believe this is what you need to use


appsgenerated-wq
FREEOP

a year ago

yes ive been using the docs, but they are kinda brief tbh


a year ago

The documentation’s hyperlinking is broken but you can find it in the playground



appsgenerated-wq
FREEOP

a year ago

oh i see now. thank you!


a year ago

Is this issue good to be marked as solved?


appsgenerated-wq
FREEOP

a year ago

[SERVER] Response: {"error":"Generation failed","message":"App deployment failed: Failed to create Railway web service: Railway GraphQL error: Your account is on a limited plan. Please visit railway.com/account/plans for details."}

yea seems its not going to work as the free plan though, going to reach out to billing@railway.app


appsgenerated-wq
FREEOP

a year ago

i appreciate your responses. do you work for railway?


a year ago

Yep, if that's your error then you'll have to do that.


a year ago

I do nopt


Status changed to Solved noahd 11 months ago


Welcome!

Sign in to your Railway account to join the conversation.

Loading...