POST
/
v1
/
file-upload
curl --request POST \
  --url https://api.eka.care/v1/file-upload \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '{
  "extraData": {
    "mode": "dictation",
    "input_language": [
      "en-US"
    ]
  }
}'
{
  "uploadData": {
    "url": "https://m-prod-ekascribe-batch.s3.amazonaws.com/",
    "fields": {
      "x-amz-meta-extraData": {
        "mode": "dictation",
        "input_language": [
          "en-US"
        ]
      },
      "key": "EC_173210496011417/EC_173210496011417/txn_301/20250617_105524/${filename}",
      "x-amz-algorithm": "AWS4-HMAC-SHA256",
      "x-amz-credential": "ASIAYES5P2B2ZIB4II4R/20250617/ap-south-1/s3/aws4_request",
      "x-amz-date": "20250617T105524Z",
      "x-amz-security-token": "IQoJb3JpZ2luX2VjEIv//////////wEaCmFwLXNvdXRoLTEiRjBEAiB77A+/VTqjBAGvBUSiKpjSCM2XRu3qMm0lb2UYnEzcmgIgEO7Lb9ZDtFWrI4WAMXgG2EQsE85c/pOjCl7rR7GVjVUq9wIIdBABGgw1NTk2MTU1NjE4NDUiDHUTfWybBKCmARd9JyrUAprkJ56YiznWCgp37mRb73TA7ErbWRcDSoeJd4CO8hKF7DpyEI5tGlinQY99KyFRDw5Sl7TY0VM4SB56bENebUq31+P6TigiTe1I9Fe8c5MFJoJiPmYN31J1pUD76Cu+g6PPVKJ1XMHzSVa+pR0ZldRBuBGlxAi/8yjRsciSPtgqlH4kOSbE9G5xNCQ5Ph6LN9nfngodOSoBBioe2gEWl3JYMWcbkdcW2YNwxkDjzb8ZyD2RakQRD25bGnYXCez4YlQa0x1HXNzUts7/mJDbfXaxHfosH0zevwvDjdSI1J71jJSr/G5yyzmYZn6HJYT4ZoxxE+t1cT4m9HZ1A5il9idupmFZocOQp86+3Q54TprJ0NemFZMSUhv8oWnmLYSPlMQ4C9UjViEZ7R/TMT0PwiLoleS5yvEiNiXfHagdxnlYoNAdOAmbmsfUAC3qeMtCuEpPfqwwvZHFwgY6nwE/+BNXMBRBCapqUEXAeCH+kSmPxCZUWl6KKvfxjAS3sG1LVBk5fc4z2Xn0dCklL7d7VT/Bg7LvOBEe7OnjRJNdjINK9fPUAKo7TM3uSDb6ryCQ2NHhTuVp6Z9hqYuKwN41QfmLjoMUhk3ViEjfWQrCFAz/WR1Q8imYPYHO4geakzDwLfhA79WhillxFUE9PDPYqMlLCXa2wD7SbEh25Gs=",
      "policy": "eyJleHBpcmF0aW9uIjogIjIwMjUtMDYtMTdUMTE6NTU6MjRaIiwgImNvbmRpdGlvbnMiOiBbWyJzdGFydHMtd2l0aCIsICIka2V5IiwgIkVDXzE3MzIxMDQ5NjAxMTQxNy9FQ18xNzMyMTA0OTYwMTE0MTcvdHhuXzMwMS8yMDI1MDYxN18xMDU1MjQvIl0sIFsiY29udGVudC1sZW5ndGgtcmFuZ2UiLCAwLCA1MzY4NzA5MTIwXSwgWyJzdGFydHMtd2l0aCIsICIkeC1hbXotbWV0YS1tb2RlIiwgIiJdLCBbInN0YXJ0cy13aXRoIiwgIiR4LWFtei1tZXRhLWlucHV0X2xhbmd1YWdlIiwgIiJdLCB7ImJ1Y2tldCI6ICJtLXByb2QtZWthc2NyaWJlLWJhdGNoIn0sIFsic3RhcnRzLXdpdGgiLCAiJGtleSIsICJFQ18xNzMyMTA0OTYwMTE0MTcvRUNfMTczMjEwNDk2MDExNDE3L3R4bl8zMDEvMjAyNTA2MTdfMTA1NTI0LyJdLCB7IngtYW16LWFsZ29yaXRobSI6ICJBV1M0LUhNQUMtU0hBMjU2In0sIHsieC1hbXotY3JlZGVudGlhbCI6ICJBU0lBWUVTNVAyQjJaSUI0SUk0Ui8yMDI1MDYxNy9hcC1zb3V0aC0xL3MzL2F3czRfcmVxdWVzdCJ9LCB7IngtYW16LWRhdGUiOiAiMjAyNTA2MTdUMTA1NTI0WiJ9LCB7IngtYW16LXNlY3VyaXR5LXRva2VuIjogIklRb0piM0pwWjJsdVgyVmpFSXYvLy8vLy8vLy8vd0VhQ21Gd0xYTnZkWFJvTFRFaVJqQkVBaUI3N0ErL1ZUcWpCQUd2QlVTaUtwalNDTTJYUnUzcU1tMGxiMlVZbkV6Y21nSWdFTzdMYjlaRHRGV3JJNFdBTVhnRzJFUXNFODVjL3BPakNsN3JSN0dWalZVcTl3SUlkQkFCR2d3MU5UazJNVFUxTmpFNE5EVWlESFVUZld5YkJLQ21BUmQ5SnlyVUFwcmtKNTZZaXpuV0NncDM3bVJiNzNUQTdFcmJXUmNEU29lSmQ0Q084aEtGN0RweUVJNXRHbGluUVk5OUt5RlJEdzVTbDdUWTBWTTRTQjU2YkVOZWJVcTMxK1A2VGlnaVRlMUk5RmU4YzVNRkpvSmlQbVlOMzFKMXBVRDc2Q3UrZzZQUFZLSjFYTUh6U1ZhK3BSMFpsZFJCdUJHbHhBaS84eWpSc2NpU1B0Z3FsSDRrT1NiRTlHNXhOQ1E1UGg2TE45bmZuZ29kT1NvQkJpb2UyZ0VXbDNKWU1XY2JrZGNXMllOd3hrRGp6YjhaeUQyUmFrUVJEMjViR25ZWENlejRZbFFhMHgxSFhOelV0czcvbUpEYmZYYXhIZm9zSDB6ZXZ3dkRqZFNJMUo3MWpKU3IvRzV5eXptWVpuNkhKWVQ0Wm94eEUrdDFjVDRtOUhaMUE1aWw5aWR1cG1GWm9jT1FwODYrM1E1NFRwckowTmVtRlpNU1VodjhvV25tTFlTUGxNUTRDOVVqVmlFWjdSL1RNVDBQd2lMb2xlUzV5dkVpTmlYZkhhZ2R4bmxZb05BZE9BbWJtc2ZVQUMzcWVNdEN1RXBQZnF3d3ZaSEZ3Z1k2bndFLytCTlhNQlJCQ2FwcVVFWEFlQ0gra1NtUHhDWlVXbDZLS3ZmeGpBUzNzRzFMVkJrNWZjNHoyWG4wZENrbEw3ZDdWVC9CZzdMdk9CRWU3T25qUkpOZGpJTks5ZlBVQUtvN1RNM3VTRGI2cnlDUTJOSGhUdVZwNlo5aHFZdUt3TjQxUWZtTGpvTVVoazNWaUVqZldRckNGQXovV1IxUThpbVlQWUhPNGdlYWt6RHdMZmhBNzlXaGlsbHhGVUU5UERQWXFNbExDWGEyd0Q3U2JFaDI1R3M9In1dfQ==",
      "x-amz-signature": "c5ed7f0d5fd7d39945193dd7d7b1c8e8706f0efbdca541202301bdc841d50044"
    }
  },
  "folderPath": "EC_173210496011417/EC_173210496011417/txn_301/20250617_105524/",
  "txn_id": "txn_301"
}

Path Parameters

  • txn_id: The session ID for which the file is being uploaded.
  • action: The action to be performed for the file upload, typically “default” or “ekascribe”.

Response:

structured as follows:

"uploadData" : {
    "url" : "https://m-prod-ekascribe-batch.s3.amazonaws.com/",
    "fields" : {
        "x-amz-meta-mode" : "dictation",
        "x-amz-meta-input_language" : [ "en-US" ],
        "key" : "EC_173210496011417/EC_173210496011417/txn_301/20250617_105524/${filename}",
        "x-amz-algorithm" : "AWS4-HMAC-SHA256",
        "x-amz-credential" : "ASIAYES5P2B2ZIB4II4R/20250617/ap-south-1/s3/aws4_request",
        "x-amz-date" : "20250617T105524Z",
        "x-amz-security-token" : "IQoJb3JpZ2luX2VjEIv//////////wEaCmFwLXNvdXRoLTEiRjBEAiB77A+/VTqjBAGvBUSiKpjSCM2XRu3qMm0lb2UYnEzcmgIgEO7Lb9ZDtFWrI4WAMXgG2EQsE85c/pOjCl7rR7GVjVUq9wIIdBABGgw1NTk2MTU1NjE4NDUiDHUTfWybBKCmARd9JyrUAprkJ56YiznWCgp37mRb73TA7ErbWRcDSoeJd4CO8hKF7DpyEI5tGlinQY99KyFRDw5Sl7TY0VM4SB56bENebUq31+P6TigiTe1I9Fe8c5MFJoJiPmYN31J1pUD76Cu+g6PPVKJ1XMHzSVa+pR0ZldRBuBGlxAi/8yjRsciSPtgqlH4kOSbE9G5xNCQ5Ph6LN9nfngodOSoBBioe2gEWl3JYMWcbkdcW2YNwxkDjzb8ZyD2RakQRD25bGnYXCez4YlQa0x1HXNzUts7/mJDbfXaxHfosH0zevwvDjdSI1J71jJSr/G5yyzmYZn6HJYT4ZoxxE+t1cT4m9HZ1A5il9idupmFZocOQp86+3Q54TprJ0NemFZMSUhv8oWnmLYSPlMQ4C9UjViEZ7R/TMT0PwiLoleS5yvEiNiXfHagdxnlYoNAdOAmbmsfUAC3qeMtCuEpPfqwwvZHFwgY6nwE/+BNXMBRBCapqUEXAeCH+kSmPxCZUWl6KKvfxjAS3sG1LVBk5fc4z2Xn0dCklL7d7VT/Bg7LvOBEe7OnjRJNdjINK9fPUAKo7TM3uSDb6ryCQ2NHhTuVp6Z9hqYuKwN41QfmLjoMUhk3ViEjfWQrCFAz/WR1Q8imYPYHO4geakzDwLfhA79WhillxFUE9PDPYqMlLCXa2wD7SbEh25Gs=",
        "policy" : "eyJleHBpcmF0aW9uIjogIjIwMjUtMDYtMTdUMTE6NTU6MjRaIiwgImNvbmRpdGlvbnMiOiBbWyJzdGFydHMtd2l0aCIsICIka2V5IiwgIkVDXzE3MzIxMDQ5NjAxMTQxNy9FQ18xNzMyMTA0OTYwMTE0MTcvdHhuXzMwMS8yMDI1MDYxN18xMDU1MjQvIl0sIFsiY29udGVudC1sZW5ndGgtcmFuZ2UiLCAwLCA1MzY4NzA5MTIwXSwgWyJzdGFydHMtd2l0aCIsICIkeC1hbXotbWV0YS1tb2RlIiwgIiJdLCBbInN0YXJ0cy13aXRoIiwgIiR4LWFtei1tZXRhLWlucHV0X2xhbmd1YWdlIiwgIiJdLCB7ImJ1Y2tldCI6ICJtLXByb2QtZWthc2NyaWJlLWJhdGNoIn0sIFsic3RhcnRzLXdpdGgiLCAiJGtleSIsICJFQ18xNzMyMTA0OTYwMTE0MTcvRUNfMTczMjEwNDk2MDExNDE3L3R4bl8zMDEvMjAyNTA2MTdfMTA1NTI0LyJdLCB7IngtYW16LWFsZ29yaXRobSI6ICJBV1M0LUhNQUMtU0hBMjU2In0sIHsieC1hbXotY3JlZGVudGlhbCI6ICJBU0lBWUVTNVAyQjJaSUI0SUk0Ui8yMDI1MDYxNy9hcC1zb3V0aC0xL3MzL2F3czRfcmVxdWVzdCJ9LCB7IngtYW16LWRhdGUiOiAiMjAyNTA2MTdUMTA1NTI0WiJ9LCB7IngtYW16LXNlY3VyaXR5LXRva2VuIjogIklRb0piM0pwWjJsdVgyVmpFSXYvLy8vLy8vLy8vd0VhQ21Gd0xYTnZkWFJvTFRFaVJqQkVBaUI3N0ErL1ZUcWpCQUd2QlVTaUtwalNDTTJYUnUzcU1tMGxiMlVZbkV6Y21nSWdFTzdMYjlaRHRGV3JJNFdBTVhnRzJFUXNFODVjL3BPakNsN3JSN0dWalZVcTl3SUlkQkFCR2d3MU5UazJNVFUxTmpFNE5EVWlESFVUZld5YkJLQ21BUmQ5SnlyVUFwcmtKNTZZaXpuV0NncDM3bVJiNzNUQTdFcmJXUmNEU29lSmQ0Q084aEtGN0RweUVJNXRHbGluUVk5OUt5RlJEdzVTbDdUWTBWTTRTQjU2YkVOZWJVcTMxK1A2VGlnaVRlMUk5RmU4YzVNRkpvSmlQbVlOMzFKMXBVRDc2Q3UrZzZQUFZLSjFYTUh6U1ZhK3BSMFpsZFJCdUJHbHhBaS84eWpSc2NpU1B0Z3FsSDRrT1NiRTlHNXhOQ1E1UGg2TE45bmZuZ29kT1NvQkJpb2UyZ0VXbDNKWU1XY2JrZGNXMllOd3hrRGp6YjhaeUQyUmFrUVJEMjViR25ZWENlejRZbFFhMHgxSFhOelV0czcvbUpEYmZYYXhIZm9zSDB6ZXZ3dkRqZFNJMUo3MWpKU3IvRzV5eXptWVpuNkhKWVQ0Wm94eEUrdDFjVDRtOUhaMUE1aWw5aWR1cG1GWm9jT1FwODYrM1E1NFRwckowTmVtRlpNU1VodjhvV25tTFlTUGxNUTRDOVVqVmlFWjdSL1RNVDBQd2lMb2xlUzV5dkVpTmlYZkhhZ2R4bmxZb05BZE9BbWJtc2ZVQUMzcWVNdEN1RXBQZnF3d3ZaSEZ3Z1k2bndFLytCTlhNQlJCQ2FwcVVFWEFlQ0gra1NtUHhDWlVXbDZLS3ZmeGpBUzNzRzFMVkJrNWZjNHoyWG4wZENrbEw3ZDdWVC9CZzdMdk9CRWU3T25qUkpOZGpJTks5ZlBVQUtvN1RNM3VTRGI2cnlDUTJOSGhUdVZwNlo5aHFZdUt3TjQxUWZtTGpvTVVoazNWaUVqZldRckNGQXovV1IxUThpbVlQWUhPNGdlYWt6RHdMZmhBNzlXaGlsbHhGVUU5UERQWXFNbExDWGEyd0Q3U2JFaDI1R3M9In1dfQ==",
        "x-amz-signature" : "c5ed7f0d5fd7d39945193dd7d7b1c8e8706f0efbdca541202301bdc841d50044"
    }
},
"folderPath" : "EC_173210496011417/EC_173210496011417/txn_301/20250617_105524/",
"txn_id" : "txn_301"

Process Overview

  1. Request Presigned URL: Call this endpoint to get folderPath and uploadData
  2. Upload File: Use the returned uploadData and folderPath to upload your file to S3 using multipart form data

Sample Python Example to Upload File using Presigned URL

import requests

# Values from presigned URL response
url = "https://m-prod-ekascribe-batch.s3.amazonaws.com/"
folder_path = "EC_173210496011417/EC_173210496011417/txn_301/20250617_105524/"
filename = "sample_audio.wav"   # Replace with your actual file name
key = folder_path + filename

fields = {
    "x-amz-meta-mode": "dictation",
    "x-amz-meta-input_language": "en-US",
    "key": key,
    "x-amz-algorithm": "AWS4-HMAC-SHA256",
    "x-amz-credential": "<your-credential>",
    "x-amz-date": "<your-date>",
    "x-amz-security-token": "<your-token>",
    "policy": "<your-policy>",
    "x-amz-signature": "<your-signature>",
}

files = {
    "file": open(filename, "rb")
}

response = requests.post(url, data=fields, files=files)

print("Upload status:", response.status_code)

Authorizations

Authorization
string
header
required

Bearer authentication header of the form Bearer <token>, where <token> is your auth token.

Query Parameters

txn_id
string

Transaction ID for the file upload

Example:

"txn_301"

action
string

Action for the file upload

Example:

"default"

Body

application/json

Response

200
application/json

Presigned URL generated successfully

The response is of type object.