---
title: "Get SFTP batch session status"
method: GET
path: "/api/v1/claims/sftp/status/{session_id}"
tags: ["Open API", "Claims SFTP Input Method"]
---

# Get SFTP batch session status

`GET /api/v1/claims/sftp/status/{session_id}`

## Request

- Base URL: `https://developer.claimmind.life` (the document declares no server; this is the origin it was published from)
- URL: `https://developer.claimmind.life/api/v1/claims/sftp/status/{session_id}`
- Auth: none declared. Required headers: `X-API-Key`

Get real-time processing status for an SFTP batch session.

    **Use Case:** Track progress of bulk claim submissions uploaded via SFTP.

    **Authentication:** API Key (X-API-Key header)
    **Required Scope:** `claims:read`

    **Integration Pattern:**
    1. Upload files to SFTP folder
    2. Call POST /claims/sftp/submit to trigger processing
    3. Poll this endpoint for progress updates
    4. Use returned session_id to track batch

    **Response Fields:**
    - batch_id (optional): Filter results for a specific batch
    - session_id: Unique batch identifier
    - status: PENDING | PROCESSING | COMPLETED | COMPLETED_WITH_ERRORS
    - batch_total: Total number of batches
    - current_batch: Currently processing batch number
    - sep_in_batch: Number of claims in current batch
    - finished: Boolean indicating if processing is complete
    - temporal_workflow_id: Internal workflow tracking ID
    - claim_list: Array of claims with their processing status

    **Polling Strategy:**
    - Poll every 10-30 seconds while status is PROCESSING
    - Stop polling when status is COMPLETED or FAILED
    - Alternative: Configure webhooks to avoid polling

    **Webhook Alternative:**
    Configure webhook to receive batch.completed event automatically.

    **Example Response:**
    ```json
    {
        "session_id": "sftp-session-20260122-001",
        "status": "PROCESSING",
        "batch_total": 3,
        "current_batch": 2,
        "sep_in_batch": 10,
        "finished": False,
        "temporal_workflow_id": "wf-temporal-batch-123",
        "claim_list": [
            {
                "claim_id": "CLM-001",
                "status": "COMPLETED",
                "files": ["claim.pdf"]
            },
            {
                "claim_id": "CLM-002",
                "status": "PROCESSING",
                "files": ["claim.pdf", "lab.pdf"]
            }
        ]
    }
    ```

    **Error Responses:**
    - 401: Invalid API key
    - 403: API key lacks claims:read scope
    - 404: Session ID not found
    - 500: Server error retrieving status

    **Integration Tips:**
    - Use exponential backoff for polling (10s, 20s, 30s)
    - Cache session_id for correlation with your system
    - Configure webhooks to eliminate polling overhead

## Path parameters

- `session_id` string, required

## Query parameters

- `batch_id` integer: Optional batch ID to filter results for a specific batch

## Headers

- `X-API-Key` string, required

## Response `200`

Session status retrieved successfully

- SftpSessionStatusResponse
  - `session_id` string, required
  - `status` string, required
  - `summary` object, required
  - `claims` ClaimTrace[], required
    - `claim_id` string, required
    - `external_claim_id` string, nullable
    - `batch_id` integer, required
    - `status` string, required
    - `folder_name` string, nullable
    - `current_step` string, nullable
    - `steps` AppSchemasSftpSchemasProcessingStep[]
      - `step_number` integer, required
      - `process_name` string, required
      - `status` string, required
    - `last_updated` string, date-time, nullable

## Other responses

- `403`: Insufficient permissions
- `404`: Session not found
- `422`: Validation Error

---

[API](https://skmtc.dev/claimmind/apis/claimmind-open-api-service.md) - [All operations](https://skmtc.dev/claimmind/apis/claimmind-open-api-service/llms.txt) - [OpenAPI document](https://skmtc.dev/claimmind/apis/claimmind-open-api-service/revisions/ee8bfbeadb8a?raw)
