# Download project template Download a Streamline project template ZIP file for initializing new automations. This template includes the basic structure and configuration files needed to create a new automation. #### Headers **`Authorization`** string required Bearer token authentication. Use either: - `Bearer ${FREDDY_API_KEY}` for API key authentication - `Bearer ${FREDDY_SESSION_TOKEN}` for session token authentication ## Returns A ZIP file containing the Streamline project template with the following structure: - `config.yaml` - Automation configuration file - `main.py` - Main automation script - `requirements.txt` - Python dependencies - `README.md` - Setup and usage instructions - `.streamline/` - Streamline-specific configuration directory Basic Request ```bash curl "https://api.aitronos.com/v1/streamline/templates/project" \ -H "Authorization: Bearer $FREDDY_SESSION_TOKEN" \ -o streamline-project-template.zip ``` ```python import os import requests session = os.environ["FREDDY_SESSION_TOKEN"] response = requests.get( "https://api.aitronos.com/v1/streamline/templates/project", headers={ "Authorization": f"Bearer {session}" } ) response.raise_for_status() # Save the ZIP file with open("streamline-project-template.zip", "wb") as f: f.write(response.content) ``` ```javascript const fs = require('fs'); const token = process.env.FREDDY_SESSION_TOKEN; const apiKey = process.env.FREDDY_API_KEY; const response = await fetch( "https://api.aitronos.com/v1/streamline/templates/project", { headers: { Authorization: `Bearer ${apiKey}` } } ); if (!response.ok) throw new Error("Request failed"); const buffer = await response.arrayBuffer(); fs.writeFileSync('streamline-project-template.zip', Buffer.from(buffer)); ``` **Response:** 200 OK Returns a ZIP file (binary content) containing the project template. 401 Unauthorized ```json { "success": false, "error": { "code": "UNAUTHORIZED", "message": "Missing or invalid session token", "status": 401, "trace_id": "req_320af89e" } } ``` 429 Rate Limit ```json { "success": false, "error": { "code": "RATE_LIMIT", "message": "Too many Streamline requests", "status": 429, "retry_after": 30, "trace_id": "req_f871efab" } } ``` 500 Server Error ```json { "success": false, "error": { "code": "INTERNAL_ERROR", "message": "Failed to generate template", "status": 500, "trace_id": "req_a1c02f47" } } ``` ## Related - [Download repository template](/docs/api-reference/streamline/templates-repository) - [Create via upload](/docs/api-reference/streamline/automations-create-upload) - [Create via Git](/docs/api-reference/streamline/automations-create-git)