Create Claim Attachment JSON
/claim-attachments/file
This endpoint is in beta and is subject to change.
This endpoint returns a pre-signed URL that you can use to upload a claim attachment file to Stedi. You must complete this step before you can call the Submit Claim Attachment (275) JSON endpoint.
- Call this endpoint to initiate the file upload process.
- The endpoint returns a unique identifier for the attachment file (
attachmentId
) and a pre-signed URL (uploadURL
). Retain theattachmentId
so you can use it when submitting the attachment to the payer.
You only need to complete this step when submitting claims through Stedi's JSON APIs. If your system already generates X12 EDI, you can send attachments directly through the Submit Claim Attachment (275) Raw X12 endpoint instead.
This endpoint only supports unsolicited attachments.
Visit Claim attachments for a full how-to guide.
A Stedi API Key for authentication.
Body
The MIME type of the attachment file. For example: image/png
or application/pdf
.
application/pdf
image/tiff
image/jpeg
image/jpg
image/png
Response
CreateClaimAttachmentFile 201 response
Unique identifier for this attachment. You will use this ID to associate the attachment file with the claim when you submit it to the payer.
- Pattern:
^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$
- Required string length:
36
A pre-signed URL you can use to upload the file with a PUT
request. The PUT
request must include a Content-Type
header that matches the MIME type you specified for the attachment file.
- Required string length:
1 - 2000
curl --request POST \
--url "https://claims.us.stedi.com/2025-03-07/claim-attachments/file" \
--header "Authorization: <api_key>" \
--header "Content-Type: application/json" \
--data '{
"contentType": "application/pdf"
}'
const body = JSON.stringify({
"contentType": "application/pdf"
})
fetch("https://claims.us.stedi.com/2025-03-07/claim-attachments/file", {
headers: {
"Authorization": "<api_key>"
},
body
})
package main
import (
"fmt"
"net/http"
"io/ioutil"
"strings"
)
func main() {
url := "https://claims.us.stedi.com/2025-03-07/claim-attachments/file"
body := strings.NewReader(`{
"contentType": "application/pdf"
}`)
req, _ := http.NewRequest("POST", url, body)
req.Header.Add("Authorization", "<api_key>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := ioutil.ReadAll(res.Body)
fmt.Println(res)
fmt.Println(string(body))
}
import requests
url = "https://claims.us.stedi.com/2025-03-07/claim-attachments/file"
body = {
"contentType": "application/pdf"
}
response = requests.request("POST", url, json = body, headers = {
"Authorization": "<api_key>",
"Content-Type": "application/json"
})
print(response.text)
import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
import java.net.http.HttpResponse.BodyHandlers;
import java.time.Duration;
import java.net.http.HttpRequest.BodyPublishers;
var body = BodyPublishers.ofString("""{
"contentType": "application/pdf"
}""");
HttpClient client = HttpClient.newBuilder()
.connectTimeout(Duration.ofSeconds(10))
.build();
HttpRequest.Builder requestBuilder = HttpRequest.newBuilder()
.uri(URI.create("https://claims.us.stedi.com/2025-03-07/claim-attachments/file"))
.header("Content-Type", "application/json")
.header("Authorization", "<api_key>")
.POST(body)
.build();
try {
HttpResponse<String> response = client.send(requestBuilder.build(), BodyHandlers.ofString());
System.out.println("Status code: " + response.statusCode());
System.out.println("Response body: " + response.body());
} catch (Exception e) {
e.printStackTrace();
}
{
"message": "string",
"fieldList": [
{
"path": "string",
"message": "string"
}
]
}
{
"message": "string",
"code": "string"
}
{
"message": "string",
"code": "string"
}
{
"message": "string",
"code": "string"
}