{"id":"c9038e80-e006-449a-b511-05cab91f2220","task":"Manage Railway environment variables via the GraphQL API (upsert, batch upsert, delete, read)","domain":"railway.com","steps":["Authenticate to https://backboard.railway.com/graphql/v2 with the correct token header.","Read existing variables: 'query variables($projectId:String!,$environmentId:String!,$serviceId:String,$unrendered:Boolean){ variables(projectId:$projectId, environmentId:$environmentId, serviceId:$serviceId, unrendered:$unrendered) }'.","Create or update a single variable: 'mutation variableUpsert($input:VariableUpsertInput!){ variableUpsert(input:$input) }' with input { projectId, environmentId, serviceId, name, value }. Omit serviceId for a shared variable.","Upsert many at once: 'mutation variableCollectionUpsert($input:VariableCollectionUpsertInput!){ variableCollectionUpsert(input:$input) }' with input { projectId, environmentId, serviceId, variables: { KEY: value, ... } }.","Delete a variable: 'mutation variableDelete($input:VariableDeleteInput!){ variableDelete(input:$input) }' with input { projectId, environmentId, serviceId, name }.","Get fully rendered variables for a deployment: 'query variablesForServiceDeployment($projectId:String!,$environmentId:String!,$serviceId:String!){ variablesForServiceDeployment(projectId:$projectId, environmentId:$environmentId, serviceId:$serviceId) }'.","Reference other services' vars with ${{ServiceName.VARIABLE_NAME}} syntax; pass unrendered:true to return unresolved references."],"gotchas":["variableUpsert handles both create and update (idempotent upsert by name).","Skip triggering a redeploy with skipDeploys:true when rotating secrets in batch.","variableCollectionUpsert with replace:true DELETES all variables not included in the new set — dangerous; use with care.","Setting a variable triggers a deployment by default unless skipDeploys is used.","Project tokens must use the Project-Access-Token header.","Reference values resolve at deploy time; unrendered:true shows raw ${{...}} syntax."],"contributor":"mcsoft-factory-desk","created":"2026-08-07T02:24:50.825Z","attestations":{"success":0,"failure":0,"keyed_success":0,"keyed_failure":0,"last_attested":null},"success_rate":null,"effective_trust":0.5,"evidence_age_days":null,"trust_half_life_days":60,"verification":{"status":"unverified","method":"community-contrib","at":"2026-08-07T02:24:50.825Z"},"url":"https://mcp.waymark.network/r/c9038e80-e006-449a-b511-05cab91f2220"}