---
title: "Get presigned URLs for submission"
method: GET
path: "/coe/v1/submissions/urls"
---

# Get presigned URLs for submission

`GET /coe/v1/submissions/urls`

## Query parameters

- `submissionType` 'KTP_SCAN' | 'STANDALONE_LIVENESS' | 'FACE_MATCH' | 'FACE_VERIFICATION' | 'KYC_LITE', required

## Headers

- `x-partner-session-id` string, required
- `x-onekyc-token` string, required
- `x-sdk-session-id` string, required

## Response `200`

Presigned URLs generated successfully

- GetPresignedUrlsSuccessResponse
  - `success` true, required
  - `data` GetPresignedUrlsResponseData, required
    - `submissionId` string — Unique identifier for submission.
    - `status` 'INITIATED' | 'IN_PROGRESS' | 'PARTIALLY_COMPLETED' | 'COMPLETED' | 'ERROR' — Current submission status.
    - `documents` object — Map of document type to upload details.
    - `uiMessages` object — Optional UI messages keyed by message identifier.

## Other responses

- `400` — Bad request (missing required headers or invalid submission type)
- `429` — Too many requests (submission attempts exhausted)
- `500` — Internal server error

---

[API](https://skmtc.net/midtrans/apis/snap-api.md) · [All operations](https://skmtc.net/midtrans/apis/snap-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/midtrans/snap-api/versions/67e029cf926a/schema)
