---
title: "Request DSA code execution [single]"
method: POST
path: "/public/request-dsa-code-execution"
tags: ["DSA"]
---

# Request DSA code execution [single]

`POST /public/request-dsa-code-execution`

Request a single DSA code execution. Please note that if you are running SQLite, you must pass `additionalFilesAsZip` as a ZIP file that must contain `db.sqlite` file (exact name) when unzipped.

Authentication with the "FERMION-API-KEY" header is required to use this endpoint.

Rate limit: Maximum 5000 requests in a window of 1m.

## Request body

- object
  - `data` object[], required
    - `data` object, required
      - `language` 'C' | 'Cpp' | 'Java' | 'Python' | 'Nodejs' | 'Sqlite_3_48_0' | 'Golang_1_19' | 'Rust_1_87' | 'Dotnet_8' | 'Mysql_8', required — Programming language for code execution
      - `runConfig` object, required — Configuration for code execution environment and test cases
        - `customMatcherToUseForExpectedOutput` union
          - 'ExactMatch' | 'IgnoreWhitespaceAtStartAndEnd' | 'IgnoreWhitespaceAtStartAndEndCaseInsensitive' | 'IgnoreWhitespaceAtStartAndEndForEveryLine' | 'IgnoreWhitespaceAtStartAndEndForEveryLineCaseInsensitive'
          - unknown
          - unknown
        - `expectedOutputAsBase64UrlEncoded` union
          - string
          - unknown
          - unknown
        - `stdinStringAsBase64UrlEncoded` union
          - string
          - unknown
          - unknown
        - `callbackUrlOnExecutionCompletion` union
          - string, uri — Provide a URL on which Fermion would sent a POST request with the result in body after execution is completed
          - unknown
          - unknown
        - `shouldEnablePerProcessAndThreadCpuTimeLimit` boolean
        - `shouldEnablePerProcessAndThreadMemoryLimit` boolean
        - `shouldAllowInternetAccess` boolean
        - `compilerFlagString` string
        - `maxFileSizeInKilobytesFilesCreatedOrModified` number
        - `stackSizeLimitInKilobytes` number
        - `cpuTimeLimitInMilliseconds` integer
        - `wallTimeLimitInMilliseconds` integer
        - `memoryLimitInKilobyte` integer
        - `maxProcessesAndOrThreads` integer
      - `sourceCodeAsBase64UrlEncoded` string, required — Source code to execute, encoded as base64url
      - `additionalFilesAsZip` union — Optional additional files as a ZIP archive. Required for SQLite with db.sqlite file.
        - object
          - `type` 'base64url-encoding', required — Encoding type for the additional files
          - `base64UrlEncodedZip` string, required — ZIP file containing additional files (e.g., db.sqlite for SQLite), encoded as base64url
        - unknown
        - unknown

## Response `200`

API Response Body

- object[]
  - `output` union, required
    - object
      - `status` 'ok', required
      - `data` object, required
        - `taskId` string, required — Unique identifier for the execution task, use this to get results
    - object
      - `status` 'error', required
      - `errorMessage` string, required

---

[API](https://skmtc.net/fermion/apis/fermion-backend-api.md) · [All operations](https://skmtc.net/fermion/apis/fermion-backend-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/fermion/fermion-backend-api/revisions/7ce364c8820b/schema)
