API Reference

Complete reference for the Hallway REST API and SDK.

Authentication

All API requests require authentication using your API key. Include your key in the Authorization header:

Authorization: Bearer YOUR_API_KEY

Base URL

https://api.hallway.com/v1

Endpoints

Apps

GET /apps

List all your apps

curl -H "Authorization: Bearer YOUR_API_KEY" \
  https://api.hallway.com/v1/apps

GET /apps/:id

Get a specific app

curl -H "Authorization: Bearer YOUR_API_KEY" \
  https://api.hallway.com/v1/apps/app_123

POST /apps

Create a new app

curl -X POST \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"name": "my-app", "description": "My new app"}' \
  https://api.hallway.com/v1/apps

PUT /apps/:id

Update an app

curl -X PUT \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"description": "Updated description"}' \
  https://api.hallway.com/v1/apps/app_123

DELETE /apps/:id

Delete an app

curl -X DELETE \
  -H "Authorization: Bearer YOUR_API_KEY" \
  https://api.hallway.com/v1/apps/app_123

Deployments

GET /apps/:id/deployments

List deployments for an app

curl -H "Authorization: Bearer YOUR_API_KEY" \
  https://api.hallway.com/v1/apps/app_123/deployments

POST /apps/:id/deploy

Deploy an app

curl -X POST \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"environment": "production"}' \
  https://api.hallway.com/v1/apps/app_123/deploy

JavaScript/TypeScript SDK

Installation

npm install @hallway/sdk

Usage

import { HallwayClient } from '@hallway/sdk';

const client = new HallwayClient({
  apiKey: 'YOUR_API_KEY'
});

// List apps
const apps = await client.apps.list();

// Get an app
const app = await client.apps.get('app_123');

// Create an app
const newApp = await client.apps.create({
  name: 'my-app',
  description: 'My new app'
});

// Deploy an app
await client.apps.deploy('app_123', {
  environment: 'production'
});

Rate Limits

API requests are limited to:

  • • 1000 requests per hour for authenticated requests
  • • 60 requests per hour for unauthenticated requests

Rate limit information is included in response headers:

X-RateLimit-Limit: 1000
X-RateLimit-Remaining: 999
X-RateLimit-Reset: 1629823200

Error Codes

CodeDescription
200Success
201Created
400Bad Request
401Unauthorized
404Not Found
429Too Many Requests
500Internal Server Error