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!
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
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.
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.
a year ago
Hey Gabriel!
Do you have any themes or extensions on to modify the colors? Looks a bit off
a year ago
Tokens can be created per project in the project settings

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
a year ago
Where does it take you?
a year ago
🤨
a year ago
Hmm
a year ago
yeah that is weird.
takes me here https://railway.com/workspace/plans
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?
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
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
i may not be doing this in the ideal fashion either if you have tips
a year ago
Just looks like your request is a little borked
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 ^^
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
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
a year ago
What's not working with it?
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

where in the docs did you find to use this
mutation updateService {
serviceInstanceUpdate(
serviceId: "service-id",
input: {
rootDirectory: "directory"
}
)
}
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
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
a year ago
Where did you get the method you’re using from?
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
a year ago
The documentation’s hyperlinking is broken but you can find it in the playground
a year ago
a year ago
Is this issue good to be marked as solved?
[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
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




