Return a specific I9 submission for an employee
curl --request GET \
--url https://api.symmetry.com/i9/v1/employers/{employerId}/employees/{employeeId}/submissions/{submissionId} \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.symmetry.com/i9/v1/employers/{employerId}/employees/{employeeId}/submissions/{submissionId}"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.symmetry.com/i9/v1/employers/{employerId}/employees/{employeeId}/submissions/{submissionId}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.symmetry.com/i9/v1/employers/{employerId}/employees/{employeeId}/submissions/{submissionId}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.symmetry.com/i9/v1/employers/{employerId}/employees/{employeeId}/submissions/{submissionId}"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.symmetry.com/i9/v1/employers/{employerId}/employees/{employeeId}/submissions/{submissionId}")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.symmetry.com/i9/v1/employers/{employerId}/employees/{employeeId}/submissions/{submissionId}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"submission": {
"auditLogs": [
{
"actorId": 148,
"actorType": "employee",
"details": {},
"eventName": "employee_submission_created",
"request": {
"referrer": "https://domain.com/forms/i9/submission/new",
"remoteIp": "2601:2c1:8501:c480:552a:9fcf:f83c:4203",
"serverName": "domain.com",
"url": "https://domain.com/i9_submission",
"userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/139.0.0.0 Safari/537.36"
},
"serverTimestamp": "2025-09-16T11:43:30-07:00"
},
{
"actorId": 4505551,
"actorType": "user",
"details": {
"actorName": "John Doe"
},
"eventName": "admin_countersign",
"serverTimestamp": "2025-09-16T21:59:58-06:00"
},
{
"actorId": 0,
"details": {
"actorName": "API User"
},
"eventName": "api_reverify_created",
"request": {
"referrer": "null",
"remoteIp": "76.30.145.118",
"serverName": "domain.com",
"url": "https://domain.com/api/i9/submissions/20/begin_reverify",
"userAgent": "Apache-HttpClient/5.4.3 (Java/21.0.6)"
},
"serverTimestamp": "2025-09-16T22:00:40-06:00"
},
{
"actorId": 0,
"details": {
"actorName": "API User"
},
"eventName": "api_reverify_created",
"request": {
"referrer": "null",
"remoteIp": "76.30.145.118",
"serverName": "domain.com",
"url": "https://domain.com/api/i9/submissions/20/begin_reverify",
"userAgent": "Apache-HttpClient/5.4.3 (Java/21.0.6)"
},
"serverTimestamp": "2025-09-16T22:11:24-06:00"
}
],
"authRepRejected": false,
"countersignable": true,
"countersigned": true,
"documentFileName": "Form I-9.pdf",
"documentName": "Form I-9",
"documentVerificationResult": "completed",
"fields": {
"businessCity": "Scottsdale",
"businessName": "Company 1",
"businessState": "AZ",
"businessStreetAddress1": "14350 N 87th St",
"businessZip": "85260-2662",
"citizenshipDesignation": "citizen",
"city": "some-city",
"dateOfBirth": "1987-08-23",
"emailAddress": "johndoe@example.com",
"employeeSignDate": "2025-09-16",
"employeeStartDate": "2025-09-22",
"employerCertifyDate": "2025-09-16",
"employerFirstName": "John",
"employerLastName": "Doe",
"employerTitle": "Mr",
"firstName": "John",
"lastName": "Doe",
"otherNames": "N/A",
"socialSecurityNumber": "889-75-5987",
"state": "AZ",
"streetAddress1": "123 Somewhere ST",
"telephoneNumber": "223-223-1231",
"usedAltProcedure": "false",
"zipCode": "12345"
},
"id": 20,
"isCurrentSubmissionOfAssignment": true,
"isExpired": false,
"isReverified": false,
"reverifyExists": true,
"reverifyInProgress": true,
"status": "accepted",
"statusChangedAt": "2025-09-17T03:59:58Z",
"submittedAt": "2025-09-16T18:43:29Z",
"verificationDocuments": [
{
"documentNumber": "588386945",
"documentTitle": "U.S. Passport",
"documentationKey": "us_passport",
"expirationDate": "03/28/2029",
"fileFrontContentType": "image/jpeg",
"fileFrontFilename": "U.S. Passport.jpeg",
"issuingAuthority": "Department of State",
"listIndex": 0,
"listKey": "a",
"receipt": false
}
],
"zipFile": "base64ZipFile"
}
}Return a specific I9 submission for an employee.
GET
/
v1
/
employers
/
{employerId}
/
employees
/
{employeeId}
/
submissions
/
{submissionId}
Return a specific I9 submission for an employee
curl --request GET \
--url https://api.symmetry.com/i9/v1/employers/{employerId}/employees/{employeeId}/submissions/{submissionId} \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.symmetry.com/i9/v1/employers/{employerId}/employees/{employeeId}/submissions/{submissionId}"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.symmetry.com/i9/v1/employers/{employerId}/employees/{employeeId}/submissions/{submissionId}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.symmetry.com/i9/v1/employers/{employerId}/employees/{employeeId}/submissions/{submissionId}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.symmetry.com/i9/v1/employers/{employerId}/employees/{employeeId}/submissions/{submissionId}"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.symmetry.com/i9/v1/employers/{employerId}/employees/{employeeId}/submissions/{submissionId}")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.symmetry.com/i9/v1/employers/{employerId}/employees/{employeeId}/submissions/{submissionId}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"submission": {
"auditLogs": [
{
"actorId": 148,
"actorType": "employee",
"details": {},
"eventName": "employee_submission_created",
"request": {
"referrer": "https://domain.com/forms/i9/submission/new",
"remoteIp": "2601:2c1:8501:c480:552a:9fcf:f83c:4203",
"serverName": "domain.com",
"url": "https://domain.com/i9_submission",
"userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/139.0.0.0 Safari/537.36"
},
"serverTimestamp": "2025-09-16T11:43:30-07:00"
},
{
"actorId": 4505551,
"actorType": "user",
"details": {
"actorName": "John Doe"
},
"eventName": "admin_countersign",
"serverTimestamp": "2025-09-16T21:59:58-06:00"
},
{
"actorId": 0,
"details": {
"actorName": "API User"
},
"eventName": "api_reverify_created",
"request": {
"referrer": "null",
"remoteIp": "76.30.145.118",
"serverName": "domain.com",
"url": "https://domain.com/api/i9/submissions/20/begin_reverify",
"userAgent": "Apache-HttpClient/5.4.3 (Java/21.0.6)"
},
"serverTimestamp": "2025-09-16T22:00:40-06:00"
},
{
"actorId": 0,
"details": {
"actorName": "API User"
},
"eventName": "api_reverify_created",
"request": {
"referrer": "null",
"remoteIp": "76.30.145.118",
"serverName": "domain.com",
"url": "https://domain.com/api/i9/submissions/20/begin_reverify",
"userAgent": "Apache-HttpClient/5.4.3 (Java/21.0.6)"
},
"serverTimestamp": "2025-09-16T22:11:24-06:00"
}
],
"authRepRejected": false,
"countersignable": true,
"countersigned": true,
"documentFileName": "Form I-9.pdf",
"documentName": "Form I-9",
"documentVerificationResult": "completed",
"fields": {
"businessCity": "Scottsdale",
"businessName": "Company 1",
"businessState": "AZ",
"businessStreetAddress1": "14350 N 87th St",
"businessZip": "85260-2662",
"citizenshipDesignation": "citizen",
"city": "some-city",
"dateOfBirth": "1987-08-23",
"emailAddress": "johndoe@example.com",
"employeeSignDate": "2025-09-16",
"employeeStartDate": "2025-09-22",
"employerCertifyDate": "2025-09-16",
"employerFirstName": "John",
"employerLastName": "Doe",
"employerTitle": "Mr",
"firstName": "John",
"lastName": "Doe",
"otherNames": "N/A",
"socialSecurityNumber": "889-75-5987",
"state": "AZ",
"streetAddress1": "123 Somewhere ST",
"telephoneNumber": "223-223-1231",
"usedAltProcedure": "false",
"zipCode": "12345"
},
"id": 20,
"isCurrentSubmissionOfAssignment": true,
"isExpired": false,
"isReverified": false,
"reverifyExists": true,
"reverifyInProgress": true,
"status": "accepted",
"statusChangedAt": "2025-09-17T03:59:58Z",
"submittedAt": "2025-09-16T18:43:29Z",
"verificationDocuments": [
{
"documentNumber": "588386945",
"documentTitle": "U.S. Passport",
"documentationKey": "us_passport",
"expirationDate": "03/28/2029",
"fileFrontContentType": "image/jpeg",
"fileFrontFilename": "U.S. Passport.jpeg",
"issuingAuthority": "Department of State",
"listIndex": 0,
"listKey": "a",
"receipt": false
}
],
"zipFile": "base64ZipFile"
}
}Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Response
OK
Submission details response
Submission details
Show child attributes
Show child attributes
⌘I

