Railway

Railway is a cloud application deployment platform (PaaS) that builds, deploys, and scales services, databases, and cron jobs from a Git repository or Docker image. Its programmatic surface is a GraphQL-first Public API served at https://backboard.railway.com/graphql/v2 - the same API that powers the Railway dashboard. There is no REST API; all queries and mutations are issued as GraphQL POST requests, and real-time build, deployment, and environment log streams are delivered as GraphQL subscriptions over a WebSocket endpoint at wss://backboard.railway.com/graphql/v2.

13 APIs 0 Features
DeploymentPaaSCloudInfrastructureGraphQLDevOps

APIs

Railway Projects API

GraphQL operations for creating, reading, updating, and deleting Railway projects - the top-level container for services and environments. Queries include project and projects; ...

Railway Services API

GraphQL operations for managing services and their per-environment service instances. Queries include service and serviceInstance; mutations include serviceCreate, serviceUpdate...

Railway Deployments API

GraphQL operations for triggering and managing deployments. Queries include deployment and deployments; mutations include serviceInstanceDeployV2, serviceInstanceRedeploy, deplo...

Railway Environments API

GraphQL operations for isolated project environments (for example production and staging). Queries include environment and environments; mutations include environmentCreate, env...

Railway Variables API

GraphQL operations for service and environment configuration variables. Queries include variables; mutations include variableUpsert, variableDelete, and variableCollectionUpsert...

Railway Volumes API

GraphQL operations for persistent volumes attached to services. Queries include volume; mutations include volumeCreate, volumeUpdate, volumeDelete, and volumeInstanceUpdate for ...

Railway Plugins API

GraphQL operations for legacy plugins (managed database add-ons such as Postgres, MySQL, Redis, and MongoDB). Queries include plugin; mutations include pluginCreate, pluginUpdat...

Railway Custom Domains API

GraphQL operations for attaching custom and Railway-provided domains to a service. Queries include customDomain and domains; mutations include customDomainCreate, customDomainDe...

Railway TCP Proxies API

GraphQL operations for exposing a service over raw TCP. Queries include tcpProxies; mutations include tcpProxyCreate and tcpProxyDelete.

Railway Usage and Metrics API

GraphQL operations for reading resource consumption and cost. Queries include usage, estimatedUsage, and metrics for per-service vCPU, memory, network egress, and disk utilization.

Railway Teams and Workspaces API

GraphQL operations for the authenticated account, its workspaces, teams, and members. Queries include me, workspace, and workspaces; mutations include workspaceUpdate and teamMe...

Railway Webhooks API

GraphQL operations for project webhooks that notify external URLs of deployment status changes. Queries include projectWebhooks; mutations include webhookCreate, webhookUpdate, ...

Railway Logs API

GraphQL log surface for builds, deployments, environments, and HTTP traffic. Available both as point-in-time queries (buildLogs, deploymentLogs, environmentLogs, httpLogs) and a...

Collections

GraphQL

Railway GraphQL Public API

Railway is a cloud application deployment platform (PaaS). Its entire programmatic surface is a **GraphQL API** - there is no REST API. The Public API is the same API that power...

GRAPHQL

Pricing Plans

Rate Limits

Railway App Rate Limits

6 limits

RATE LIMITS

FinOps

Event Specifications

Railway GraphQL Subscriptions (WebSocket)

AsyncAPI 2.6 description of Railway's **real-time log streaming** surface. Unlike many providers in this catalog, Railway **does** publish a documented public WebSocket transpor...

ASYNCAPI

Resources

🔗
TrustCenter
TrustCenter
🔗
DomainSecurity
DomainSecurity
👥
GitHubOrganization
GitHubOrganization
🔗
LinkedIn
LinkedIn
🔗
Website
Website
🔗
Documentation
Documentation
🔗
Plans
Plans
🔗
RateLimits
RateLimits
🔗
FinOps
FinOps
📰
Blog
Blog

Sources

Raw ↑
opencollection: 1.0.0
info:
  name: Railway GraphQL Public API
  version: '2.0'
request:
  auth:
    type: bearer
    token: '{{railwayToken}}'
items:
- info:
    name: Account
    type: folder
  items:
  - info:
      name: me - current account
      type: http
    http:
      method: POST
      url: https://backboard.railway.com/graphql/v2
      headers:
      - name: Content-Type
        value: application/json
      body:
        type: json
        data: '{"query":"query { me { id name email } }"}'
    docs: Returns the authenticated Railway account.
- info:
    name: Projects
    type: folder
  items:
  - info:
      name: project - get a project
      type: http
    http:
      method: POST
      url: https://backboard.railway.com/graphql/v2
      headers:
      - name: Content-Type
        value: application/json
      body:
        type: json
        data: '{"query":"query project($id: String!) { project(id: $id) { id name } }","variables":{"id":""}}'
    docs: Fetch a project by id.
  - info:
      name: projectCreate - create a project
      type: http
    http:
      method: POST
      url: https://backboard.railway.com/graphql/v2
      headers:
      - name: Content-Type
        value: application/json
      body:
        type: json
        data: '{"query":"mutation projectCreate($input: ProjectCreateInput!) { projectCreate(input: $input) { id name } }","variables":{"input":{"name":"my-project"}}}'
    docs: Create a new project.
- info:
    name: Services
    type: folder
  items:
  - info:
      name: serviceCreate - create a service
      type: http
    http:
      method: POST
      url: https://backboard.railway.com/graphql/v2
      headers:
      - name: Content-Type
        value: application/json
      body:
        type: json
        data: '{"query":"mutation serviceCreate($input: ServiceCreateInput!) { serviceCreate(input: $input) { id name } }","variables":{"input":{"projectId":""}}}'
    docs: Create a service in a project.
- info:
    name: Deployments
    type: folder
  items:
  - info:
      name: serviceInstanceDeployV2 - deploy
      type: http
    http:
      method: POST
      url: https://backboard.railway.com/graphql/v2
      headers:
      - name: Content-Type
        value: application/json
      body:
        type: json
        data: '{"query":"mutation serviceInstanceDeployV2($serviceId: String!, $environmentId: String!) { serviceInstanceDeployV2(serviceId:
          $serviceId, environmentId: $environmentId) }","variables":{"serviceId":"","environmentId":""}}'
    docs: Trigger a deployment of a service instance.
- info:
    name: Variables
    type: folder
  items:
  - info:
      name: variableUpsert - set a variable
      type: http
    http:
      method: POST
      url: https://backboard.railway.com/graphql/v2
      headers:
      - name: Content-Type
        value: application/json
      body:
        type: json
        data: '{"query":"mutation variableUpsert($input: VariableUpsertInput!) { variableUpsert(input: $input) }","variables":{"input":{"projectId":"","environmentId":"","name":"KEY","value":"value"}}}'
    docs: Create or update a configuration variable.
- info:
    name: Logs
    type: folder
  items:
  - info:
      name: deploymentLogs - query logs
      type: http
    http:
      method: POST
      url: https://backboard.railway.com/graphql/v2
      headers:
      - name: Content-Type
        value: application/json
      body:
        type: json
        data: '{"query":"query deploymentLogs($deploymentId: String!) { deploymentLogs(deploymentId: $deploymentId) { timestamp
          message severity } }","variables":{"deploymentId":""}}'
    docs: Fetch point-in-time deployment logs. For real-time streaming, use the deploymentLogs GraphQL subscription over wss://backboard.railway.com/graphql/v2.
bundled: true