{ "_comment": "Template for defining a batch processing job", "job_name": "Example Batch Job", "_comment": "A descriptive name for the job", "description": "This is an example batch job that processes a list of user IDs.", "_comment": "A more detailed description of the job's purpose", "api_endpoint": "https://api.example.com/users/{user_id}", "_comment": "The API endpoint to be called for each item in the batch. Use {item_id} placeholders for substitutions.", "http_method": "GET", "_comment": "The HTTP method to use for the API calls (GET, POST, PUT, DELETE, PATCH)", "headers": { "_comment": "Optional headers to include in the API requests", "Content-Type": "application/json", "Authorization": "Bearer YOUR_API_KEY" }, "request_body_template": null, "_comment": "Optional template for the request body. Leave null for GET requests. Can use {item_id} placeholders.", "items": [ "user123", "user456", "user789", "user101", "user112" ], "_comment_items": "An array of item IDs to process in the batch", "item_id_key": null, "_comment": "If items is a list of objects, this is the key to use for the item ID. If null, items is treated as a list of IDs.", "max_concurrent_requests": 5, "_comment": "The maximum number of concurrent API requests to make", "retry_attempts": 3, "_comment": "The number of times to retry a failed API request", "retry_delay_seconds": 2, "_comment": "The delay in seconds between retry attempts", "success_codes": [ 200, 201 ], "_comment": "HTTP status codes that indicate a successful API call", "error_handling": "continue", "_comment": "How to handle errors: 'continue' to process all items, 'stop' to halt on first error", "callback_url": null, "_comment": "Optional URL to call when the job is complete, passing job status and results. e.g. https://your-app.com/batch-callback", "callback_method": "POST", "_comment": "The HTTP method for the callback URL (POST, PUT)", "callback_headers": { "_comment": "Optional headers for the callback request", "Content-Type": "application/json" }, "metadata": { "_comment": "Optional metadata to associate with the job. Useful for tracking or filtering jobs.", "owner": "team-alpha", "priority": "medium" } }