Appen Download API
Generate and download reports for either a single job or an entire project, and download datasets from projects. - **Choose scope with exactly one of:** - jobId: download a Job-level report - projectId: download a Project-level report or dataset (Do not send both.) - **Required query parameters:** - type: the report you want to generate or dataset to download - filename: the output file name (e.g., report.csv) - **How it works:** - When you trigger the API for the first time, the API returns 202 (in progress). - **You must call the same endpoint again with the exact same query parameters** to check the status. Repeat the request every 2-5 seconds until you receive a 200 response. - When the report is ready for download, the API returns 200 and streams the file directly in the response body. - **No separate URL fetch is needed** - the file content is streamed directly when ready (200 response). - The file is automatically saved to the path specified in your curl `-o` flag or your API tool's save location. - **Supported report types:** **Job-level (use jobId):** - full: All individual judgments - json: JSON report with aggregated and raw judgments - aggregated: Aggregated results (requires request body; see below) - workset: Contributor (Workset) report - source: Original source data uploaded to the job - ai_detector_report_contributor_level - ai_detector_report_unit_level - test_question_report_contributor_level - k_alpha_report: Inter-annotator agreement (Krippendorff’s alpha) - contributor_scores_report: Contributor Scores Report **Project-level (use projectId):** - job_daily_report_project_level - contributor_report_project_level - source_report_project_level - json_report_project_level **Dataset Download (use projectId):** - DATA_SET: Unit View dataset with customizable unit selection and column filtering - JUDGMENT_DATA_SET: Judgment View dataset with customizable unit selection and column filtering - Supports filtering by unit IDs and column selection - Optional filter support with filterName and userId/akonId parameters - **Aggregated reports (type=aggregated, Job-level only):** - Provide a request body with aggregation rules for every judgment column: judgmentColumnAggregation: [ { judgmentColumn, aggregationAlgorithm, parameter? } ] - aggregationAlgorithm must be one of: - AGG (Best Answer) - AGG_X (Top # Answers) → requires parameter.numberOfAnswers - CAGG_X (Confidence Score) → requires parameter.minimumConfidence (0–1) - ALL (All Answers) - AVG (Numeric Average) - Example: choose one algorithm per column (e.g., "_meta", "ask_question_here"). - **File format:** - Most types return CSV files; type=json returns a JSON file. - The final file name uses the provided filename parameter. - **Authentication:** - Authorization: Token token=your-api-key - **Responses:** - 200: DONE with downloadableUrl (and Location header) - 202: Report generation in progress - 400/403/404/500: Error with details