Prolific submissionFeedbackUpload API

The submissionFeedbackUpload API from Prolific — 1 operation(s) for submissionfeedbackupload.

OpenAPI Specification

prolific-submissionfeedbackupload-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: API Reference aiTaskBuilder submissionFeedbackUpload API
  version: 1.0.0
servers:
- url: https://api.prolific.com
  description: Production
tags:
- name: submissionFeedbackUpload
paths:
  /api/v1/submissions/signals/upload-url/{filename}:
    get:
      operationId: get-submission-feedback-upload-url
      summary: Request a feedback upload URL
      description: "Request a temporary, pre-signed URL to upload a feedback file for your completed studies.\n\nThis is the first step of a two-step upload process:\n  1. Call this endpoint to receive a pre-signed `upload_url`.\n  2. Upload your file directly to that URL with an HTTP `PUT` request before it expires.\n\n<Note>\n  Supported file formats are CSV, XLS, XLSX, JSON, TXT and PDF. The maximum file size is 5GB. Please check the [supported file formats](/api-reference/submission-feedback-upload#supported-file-formats) section for more details.\n</Note>"
      tags:
      - submissionFeedbackUpload
      parameters:
      - name: filename
        in: path
        description: The name of the file you want to upload, including its extension (e.g. `participant_feedback.csv`).
        required: true
        schema:
          type: string
      - name: workspace_id
        in: query
        description: The ID of the Prolific workspace the feedback belongs to.
        required: true
        schema:
          type: string
      - name: Authorization
        in: header
        description: 'The Prolific API uses API token to authenticate requests. You can create an API token directly from your settings.


          Your API token does not have an expiry date and carries full permission, so be sure to keep them secure.


          If your token is leaked, delete it and create a new one directly in the app.


          In your requests add `Authorization` header with the value `Token <your token>`.'
        required: true
        schema:
          type: string
      responses:
        '201':
          description: Pre-signed upload URL generated successfully.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Submission Feedback Upload_GetSubmissionFeedbackUploadUrl_Response_201'
        '400':
          description: Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
components:
  schemas:
    ErrorDetail:
      type: object
      properties:
        status:
          type: integer
          description: Status code as in the http standards
        error_code:
          type: integer
          description: Internal error code
        title:
          type: string
          description: Error title
        detail:
          $ref: '#/components/schemas/ErrorDetailDetail'
          description: Error detail
        additional_information:
          type: string
          description: Optional extra information
        traceback:
          type: string
          description: Optional debug information
        interactive:
          type: boolean
      required:
      - status
      - error_code
      - title
      - detail
      title: ErrorDetail
    ErrorDetailDetail:
      oneOf:
      - type: string
      - type: array
        items:
          type: string
      - $ref: '#/components/schemas/ErrorDetailDetail2'
      description: Error detail
      title: ErrorDetailDetail
    ApiV1SubmissionsSignalsUploadUrlFilenameGetResponsesContentApplicationJsonSchemaHttpMethod:
      type: string
      enum:
      - PUT
      description: The HTTP method to use when uploading to `upload_url`.
      title: ApiV1SubmissionsSignalsUploadUrlFilenameGetResponsesContentApplicationJsonSchemaHttpMethod
    Error:
      type: object
      properties:
        error:
          $ref: '#/components/schemas/ErrorDetail'
      required:
      - error
      title: Error
    Submission Feedback Upload_GetSubmissionFeedbackUploadUrl_Response_201:
      type: object
      properties:
        upload_url:
          type: string
          description: The temporary, pre-signed URL to upload your file to with an HTTP `PUT` request.
        http_method:
          $ref: '#/components/schemas/ApiV1SubmissionsSignalsUploadUrlFilenameGetResponsesContentApplicationJsonSchemaHttpMethod'
          description: The HTTP method to use when uploading to `upload_url`.
        expires_at:
          type: string
          format: date-time
          description: The time at which the pre-signed `upload_url` expires.
      title: Submission Feedback Upload_GetSubmissionFeedbackUploadUrl_Response_201
    ErrorDetailDetail2:
      type: object
      properties:
        any_field:
          type: array
          items:
            type: string
          description: Name of the field with a validation error and as a value an array with the error descriptions
      description: All fields with validation errors
      title: ErrorDetailDetail2
  securitySchemes:
    token:
      type: apiKey
      in: header
      name: Authorization
      description: 'The Prolific API uses API token to authenticate requests. You can create an API token directly from your settings.


        Your API token does not have an expiry date and carries full permission, so be sure to keep them secure.


        If your token is leaked, delete it and create a new one directly in the app.


        In your requests add `Authorization` header with the value `Token <your token>`.'