How to Deploy a Flask API

No Dockerfile needed. Just a runtime and a command.

What you're building

A simple Flask API with a health check and an endpoint, deployed on PromptShip with gunicorn.

Your Flask app

# app.py
import os
from flask import Flask, jsonify

app = Flask(__name__)

@app.route("/health")
def health():
    return jsonify({"status": "ok"})

@app.route("/api/hello")
def hello():
    return jsonify({"message": "Hello from PromptShip!"})

if __name__ == "__main__":
    port = int(os.environ.get("PORT", 8080))
    app.run(host="0.0.0.0", port=port)

Your requirements.txt:

flask
gunicorn

How do I deploy it?

Just ask your AI assistant. It calls the PromptShip MCP tools for you:

Deploy my Flask API from github.com/me/my-flask-api as a Python 3.12 app called my-flask-api.
create_app(
  name: "my-flask-api",
  github_repo: "github.com/me/my-flask-api"
)
configure_app(
  app_name: "my-flask-api",
  runtime: "python:3.12",
  port: 8000
)
configure_process(
  app_name: "my-flask-api",
  process_name: "web",
  process_type: "web",
  command: "gunicorn app:app --bind 0.0.0.0:$PORT"
)
deploy_app(app_name: "my-flask-api", branch: "main")

Your API is live at https://my-flask-api-dev.promptship.dev

How do I add a database?

Ask for Postgres and DATABASE_URL is injected automatically:

Add a Postgres database to my-flask-api and redeploy.
attach_postgres(app_name: "my-flask-api", environment: "dev", tier: "pg-1")
deploy_app(app_name: "my-flask-api", branch: "main")

Next steps