Injury Tracking Application API Documentation

Page 1 of 24

Injury Tracking Application API Documentation

Contents

Changelog....................................................................................................................................3

Introduction.................................................................................................................................5

Testing Your API Functionality .....................................................................................................5

Data Dictionary: Establishment fields..........................................................................................5

Request....................................................................................................................................5

Response .................................................................................................................................7

Data Dictionary: 300A Summary fields.........................................................................................8

Request....................................................................................................................................8

Response .................................................................................................................................9

Data Dictionary: Submission......................................................................................................10

Request..................................................................................................................................10

Response ...............................................................................................................................10

Additional Data Validations .......................................................................................................10

Authentication...........................................................................................................................12

Valid Actions with the API ......................................................................................................12

Using an Array of Objects..........................................................................................................12

Create Establishment(s).............................................................................................................13

Inputs ....................................................................................................................................13

Request..................................................................................................................................13

Response ...............................................................................................................................13

Get a List of Establishments.......................................................................................................14

Response ...............................................................................................................................14

Get a Specific Establishment......................................................................................................15

Inputs ....................................................................................................................................15

Response ...............................................................................................................................15

Edit Establishment(s) .................................................................................................................16

Inputs ....................................................................................................................................17

Request..................................................................................................................................17

Response ...............................................................................................................................17
Injury Tracking Application API Documentation

Page 2 of 24

Add Form 300A Data.................................................................................................................18

Inputs ....................................................................................................................................18

Request..................................................................................................................................19

Response ...............................................................................................................................19

Get Form 300A Data..................................................................................................................20

Response ...............................................................................................................................20

Edit Form 300A Data .................................................................................................................21

Inputs ....................................................................................................................................21

Request..................................................................................................................................21

Response ...............................................................................................................................21

Submit Form 300A Data for Establishment(s) ...........................................................................22

Inputs ....................................................................................................................................22

Request..................................................................................................................................23

Response ...............................................................................................................................23

Get a Specific Submission..........................................................................................................23

Inputs ....................................................................................................................................23

Response ...............................................................................................................................24
Injury Tracking Application API Documentation

Page 3 of 24

Changelog

2023-10-17

2019-09-09

2018-07-16

2018-06-14

• Updated size categories

• Updated accepted NAICS code years to include 2012, 2017, and 2022

• Added EIN definition to data dictionary

• Updated Request and Reponses to include EIN

• Update the Authentication section to include information about the 

new access tokens

• Added the “establishment_status” field to the Data Dictionary:

Establishment section

• Added “establishment_status” to the JSON body in the Edit

Establishment(s) example
Injury Tracking Application API Documentation

Page 4 of 24

2017-11-06 • Updated language around using the help desk form and including 

information

• Updated the information on submitting Forms 300 and 301.

• Corrected the URL under the Edit Form 300A section

• Changed “status” to “establishment_status” in the Create

Establishment response JSON object

• Changed “status” to “establishment_status” in the Edit

Establishment response JSON object

• Removed “year_filing_for” from the Form 300A Data Dictionary and

subsequent Form 300A request JSON objects

2017-08-10 • Added instructions for how to submit multiple JSON objects using an 

array

2017-08-01 • Added Testing/Sandbox environment information

2017-03-01 • Changed “Not Started” to “Not Added” in Establishment response

data dictionary

• Added a missing comma to the Create Establishment request JSON 

object

• Added a missing comma to the Edit Establishment(s) request JSON 

object

• Added establishment ID to the Edit Establishment(s) request JSON 

object

• Add https:// to all API calls

• Changed “no_injuries” to “no_injuries_illnesses” in the Add Form

300A Data API call JSON object

• Added a missing comma to the Add Form 300A Data request JSON 

object

• Added a missing comma to the Edit Form 300A Data request JSON 

object

• Changed “no_injuries” to “no_injuries_illnesses” in the Edit Form

300A Data API call JSON object

• Corrected the Annual Average Number of Employees needs to be 

greater than the total number of cases (Field G-J) additional 

validation edit check
Injury Tracking Application API Documentation

Page 5 of 24

Introduction

To report your establishment(s) injury and illness records via the API, you must make calls as specified 

below. This guide will define the fields and formats that are required to transmit information about the 

establishment and the summary data from Form 300A.

If your submit request is successful, you will receive a confirmation email listing the establishments 

that have been successfully submitted, meaning that OSHA considers the information to be complete.

If your submit request is not successful, you will receive a list of errors in the API response.

If you have any questions or problems, please use the contact form located at 

https://www.osha.gov/injuryreporting/ita/help-request-form. Additionally, when creating a help desk 

ticket related to API functionality, please include all relevant information related to your request URL, 

request body, and response.

Testing Your API Functionality

A testing/sandbox environment is available at https://preview.osha.gov/injuryreporting/ita 

which can be used to validate your API functionality. When testing your API on this 

testing/sandbox environment, you will need to use preview.osha.gov for each API call rather 

than www.osha.gov.

Please Note:

• Data submitted to this environment does not satisfy an employers’ requirement to

provide their injury and illness data to OSHA.

• Data submitted to this environment will be purged periodically.

Data Dictionary: Establishment fields

Request

These are the fields that make up the body of most of the Request API calls involving establishments. 

Additional fields that are specific to a given call will be detailed in line.

Data Element 

(Establishment)

Definition and Validations Format Length Required 

to

CREATE

Required 

to EDIT

Id Systemgenerated ID of 

establishment

Integer N/A No Yes

establishment_name The name of the establishment

reporting data. Must be unique.

Character 100 Yes No

ein An Employer Identification Number 

(EIN) is also known as Federal Tax 

Identification Number and a unique 

nine-digit number assigned by the 

IRS and is used to identify business 

entities operating in the United

States.

Character 9 No No
Injury Tracking Application API Documentation

Page 6 of 24

Data Element 

(Establishment)

Definition and Validations Format Length Required 

to

CREATE

Required 

to EDIT

company_name The name of the company that

owns the establishment.

Character 100 No No

street The street address of the 

establishment.

• Should not contain a PO 

Box address

Character 100 Yes No

city The city where the establishment is 

located.

Character 100 Yes No

state The state where the establishment 

is located.

• Enter the two-character 

postal code for the U.S. 

State or Territory in which 

the establishment is

located.

Character 2 Yes No

zip The fullzip code for the 

establishment.

• Must be a five or nine digit 

number

Text 9 Yes No

naics_code The North American Industry 

Classification System (NAICS) code 

which classifies an establishment’s 

business. Use a 2012, 2017, or 2022 

NAICS code. Find your code here: 

https://www.census.gov/naics/ 

• Must be a number and be 6 

digits in length

Integer 6 Yes No

industry_description Industry Description

• You may provide an 

industry description in 

addition to your NAICS 

code.

Character 300 No No

size The size of the establishment based 

on the maximum number of 

employees which worked there at

any point in the year you are 

submitting data for.

• Enter 1 if the establishment 

has < 20 employees

• Enter 21 if the 

establishment has 20-99

employees

• Enter 22 if the 

establishment has 100-249 

employees

• Enter 3 if the establishment 

has 250+ employees

Integer 2 Yes No
Injury Tracking Application API Documentation

Page 7 of 24

Data Element 

(Establishment)

Definition and Validations Format Length Required 

to

CREATE

Required 

to EDIT

establishment_type Identify if the establishment isfor a

state or local government.

• Enter 1 if the establishment 

is not a government entity

• Enter 2 if the establishment 

is a State Government 

entity

• Enter 3 if the establishment 

is a Local Government 

entity

Integer 1 No No

establishment_status Indicates if an establishment is 

active or has been removed by a 

user

• 1: Active

• 2: Removed (Inactive)

Integer 1 No No

Response

These are the fields that make up the body of most of the Response which is returned from the various 

Establishment API calls. Additional fields that are specific to a given call will be detailed in line.

Data Element 

(Establishment)

Definition and Validations

Id The system generated ID for an establishment

submission_status The step at which an establishment is in the data entry process.

• 1 if Not Added

• 2 if In Progress

• 3 if Submitted

Not Added indicates that an establishment has been created, but no 300A 

Summary data has been entered for it yet. In Progress indicates that an 

establishment and 300A Summary data has been entered for an establishment. 

Submitted indicates that the data entry has been completed for an establishment

and submitted to OSHA.

establishment_status Indicatesif an establishment is active or has been removed by a user

• 1: Active

• 2: Removed (Inactive)

years_submitted An array of yearsthat the establishment has submissionsfor

errors An array of errors that were discovered when creating or editing an 

establishment. Indicatesthat the establishment was not created or edited.

links An array of links that are associated with establishment:

• self: link pointing back at the establishment

• form300ALinks: an array of links to 300A forms filed for the 

establishment

• submissions: an array of links to submissionsfiled for establishment

success Indicates that the request to ITA service wasreceived and no fatal errors occurred
Injury Tracking Application API Documentation

Page 8 of 24

Data Dictionary: 300A Summary fields

Request

These are the fields that make up the body of most of the Request API calls involving the 300A Summary 

form. Additional fields that are specific to a given call will be detailed in line.

Data Element (300A) Definition and Validations Format Length Require 

d to 

CREATE

Require 

d to 

EDIT

Id System generated ID Integer N/A No Yes

annual_average_employees Annual Average Number of 

Employees

• Must be > 0 

• Must be a number

• Should be < 25,000

Integer 10 Yes No

total_hours_worked Total hours worked by all 

employees last year

• Must be > 0 

• Must be numeric

• total_hours_worked 

divided by 

annual_average_employee 

s must be < 8760

• total_hours_worked 

divided by 

annual_average_employee

s should be > 500

Integer 10 Yes No

no_injuries_illnesses Whetherthe establishment had any 

OSHA recordable injuries or 

illnesses during the year.

• Enter 1 if the 

establishment had injuries 

or illnesses

• Enter 2 if the

establishment did not have

injuries or illnesses

Integer 1 Yes No

total_deaths Total number of deaths(Form 300A 

Field G)

• Must be >= 0 

• Must be a number

Integer 10 Yes No

total_dafw_cases Total number of cases with days 

away from work (Form 300A Field 

H)

• Must be >= 0 

• Must be a number

Integer 10 Yes No

total_djtr_cases Total number of cases with job 

transfer or restriction (Form 300A 

Field I)

• Must be >= 0 

• Must be a number

Integer 10 Yes No
Injury Tracking Application API Documentation

Page 9 of 24

Data Element (300A) Definition and Validations Format Length Require

d to 

CREATE

Require

d to 

EDIT

total_other_cases Total number of other recordable

cases(Form 300A Field J)

• Must be >= 0 

• Must be a number

Integer 10 Yes No

total_dafw_days Total number of days away from 

work (Form 300A Field K)

• Must be >= 0 

• Must be a number

Integer 10 Yes No

total_djtr_days Total number of days of job transfer 

or restriction (Form 300A Field L)

• Must be >= 0 

• Must be a number

Integer 10 Yes No

total_injuries Total number of injuries(Form 

300A Field M(1))

• Must be >= 0 

• Must be a number

Integer 10 Yes No

total_skin_disorders Total number ofskin disorders 

(Form 300A Field M(2))

• Must be >= 0 

• Must be a number

Integer 10 Yes No

total_respiratory_condition 

s 

Total number of respiratory 

conditions (Form 300A Field M(3))

• Must be >= 0 

• Must be a number

Integer 10 Yes No

total_poisonings Total number of poisonings(Form 

300A Field M(4))

• Must be >= 0 

• Must be a number

Integer 10 Yes No

total_hearing_loss Total number of hearing loss(Form 

300A Field M(5))

• Must be >= 0 

• Must be a number

Integer 10 Yes No

total_other_illnesses Total number of all other illnesses 

(Form 300A Field M(6))

• Must be >= 0 

• Must be a number

Integer 10 Yes No

change_reason The reason why an establishment’s

injury and illnesssummary was

changed, if applicable

Charac

te r 

100 No No

Response

These are the fields that make up the body of most of the Responses which are returned from the 

various Establishment API calls. Additional fields that are specific to a given call will be detailed in line. 
Injury Tracking Application API Documentation

Page 10 of 24

Data Element (300A) Definition and Validations

Id The system generated ID for an 300A form

establishment_id The system generated ID for an establishment

year_filing_for The filing year the 300A form is being filed for

errors An array of errors that were discovered when analyzing the values provided for 

the 300A form. Indicates that the record was not created or edited

warnings An array of warnings that were discovered when analyzing the values provided 

for the 300A form

links An array of links that are associated with establishment:

• self: link pointing back to 300A form

• establishment: link pointing back to establishment that form belongsto

Data Dictionary: Submission

Request

These are the fields that make up the body of most of the Request which are inputs to the Submit API 

calls.

Data Element Definition and Validations Format Length Required

establishment_id Id of establishment you are trying to 

submit

Long n/a Yes

year_filing_for Year of submission Integer 4 Yes

change_reason The reason why an establishment’s

injury and illnesssummary wasresubmitted, if applicable

Character 100 No

Response

These are the fields that make up the body of most of the Response which is returned from the Submit 

API calls.

Data Element 

(Establishment)

Definition and Validations

Id The system generated ID for an 300A form

year_filing_for Year of submission

establishment_id The system generated ID for an establishment

form300A_id The system generated ID for a 300A form

links An array of links that are associated with submission:

• self: link to submission record

• establishment: link to establishment record

• form300A: link to 300A form for record

Additional Data Validations

In addition to the validations listed in the Data Dictionary, the following checks will be performed on your data to 

ensure that it is complete:
Injury Tracking Application API Documentation

Page 11 of 24

• The sum of Injury and Illness Types (Form 300A Fields M1-M6) must equal the sum of the Number of 

Cases (Form 300A Fields G-J).

• The Annual Average Number of Employees needs to be greater than the total number of cases (Field GJ).

• If there are cases with days away from work (Form 300A Field H), there must be days away from work 

(Form 300A Field K).

• If there are days away from work (Form 300A Field K), there must be cases with days away from work 

(Form 300A Field H).

• Days away from work (Form 300A Field K) must be higher than cases with days away from work (Form 

300A Field H).

• If there are cases with job transfer or restriction (Form 300A Field I), there must be days with job transfer 

or restriction (Form 300A Field L).

• If there are days with job transfer or restriction (Form 300A Field L), there must be cases with days away 

OR job transfer or restriction reported (Form 300A Field H or I).
Injury Tracking Application API Documentation

Page 12 of 24

Authentication

NOTE: The ITA API token system has been updated and the old token format is no longer valid starting 

July 2018. To continue using the API, users will need to login to ITA and get their updated token starting 

on July 19th, 2018.

To use the Injury Tracking Application (ITA) API service you will need an ITA API Token. To get this API 

token you will need to go to the OSHA ITA application, login, and navigate to the API Token page where 

you can view the API token associated with your ITA account. If you don’t have an account you will need 

to create an account. You will then need to use this API token as a bearer token in the request header of 

all API calls to the ITA system.

Performing a request from a command line with curl it would look like:

-H "Authorization: Bearer [ITA API Token]"

Valid Actions with the API

There are several valid actions you can perform using the ITA API, including:

1. Create one or more establishments

2. Get a list of establishments

3. Get a specific establishment

4. Edit one or more establishments

5. Add Form 300A data to one or more establishments

6. Get a specific Form 300A

7. Edit Form 300A data for one or more establishments

8. Create a submission

9. Get a specific submission record

To complete data entry for your establishment(s), you will need to follow the order of operations listed 

below:

1) Use the "Create Establishment(s)" POST request to create one or more establishments.

2) Use the "Add Form 300A Data" POST request to add Form 300A data to one or more 

establishments.

3) Use the "Submit Form 300A Data for Establishment(s)" POST request to submit the 300A data 

for one or more establishments.

Using an Array of Objects

In several of the below API requests, you have option of sending either a single JSON object (e.g., to 

create a single establishment) or multiple objects as an array (e.g., to create multiple establishments), 

however each example provided is depicted for a single object (e.g., to create a single establishment). 

To submit multiple objects using an array, the request need to be formatted as:

[ 

{ object one },

{ object two },

{ object n } 

] 
Injury Tracking Application API Documentation

Page 13 of 24

Create Establishment(s)

Create a new establishment for your account by sending a single establishment JSON object. You can 

create multiple establishments by sending an array of establishment objects.

URL: https://www.osha.gov/oshaApi/v1/establishments

Action: POST

Header: Authorization Bearer [ITA API token]

Inputs

(see Data Dictionary above)

Request

{ 

"establishment_name": "Store 1", 

"ein": {

"ein":"012345678"

},

"company": { 

"company_name": "ABC Company"

},

"address": { 

"street": "123 Main St", 

"city": "Washington", 

"state": "DC",

"zip": "123456789"

},

"naics": { 

"naics_code": "112210",

"industry_description": "Hog feedlots (except stockyards for 

transportation)"

},

"size": "2",

"establishment_type": "1"

} 

Response

{ 

"results": [ 

{ 

"id": "1234567"

"establishment_name": "Store 1",

"errors": "Errors will be here, if present", 

"ein": {

"ein":"012345678"

},

"size": "2",

"establishment_type": "1",
Injury Tracking Application API Documentation

Page 14 of 24

"submission_status": "1",

"establishment_status": "1", 

"address": {

"street": "123 Main St", 

"city": "Washington", 

"state": "DC",

"zip": "123456789"

},

"naics": { 

"naics_code": "112210",

"year": "2012",

"industry_description": " Hog feedlots (except stockyards for

transportation)"

},

"company": { 

"company_name": "ABC Company"

},

"created_timestamp": 1234567890,

"last_edited_timestamp": 0, 

"links": {

"self": "/oshaApi/v1/establishments/1234567"

} 

} 

],

"success": true

} 

Get a List of Establishments

Get a list of establishments for your account

URL: https://www.osha.gov/oshaApi/v1/establishments

Action: GET

Header: Authorization Bearer [ITA API Token]

Response

{ 

"results": [ 

{ 

"id": "2345678"

"establishment_name": "Store 2", 

"ein": {

"ein":"012345678"

},

"size": "2",

"establishment_type": "1",

"submission_status": "1",

"establishment_status": "1”,
Injury Tracking Application API Documentation

Page 15 of 24

"address": { 

"street": "234 Maple Ave", 

"city": "Washington", 

"state": "DC",

"zip": "123456789"

},

"naics": { 

"naics_code": "311212",

"naics_year": "2012", 

"industry_description": "Milling rice"

},

"company": { 

"company_name": "ABC Company"

},

"years_submitted:[ 

"2016"

],

"created_timestamp": 1234567890,

"last_edited_timestamp": 987654321, 

"links": {

"self": "/oshaApi/v1/establishments/2345678", 

"form300ALinks": [

"/oshaApi/v1/forms/form300A/1"

] 

} 

},

{ 

... another Establishment JSON object goes here

} 

],

"success": true

} 

Get a Specific Establishment

Get a specific establishment for your account

URL: https://www.osha.gov/oshaApi/v1/establishments/{establishment id goes here} 

Action: GET

Header: Authorization Bearer [ITA API Token]

Inputs

Data Element Definition and Validations Format Length Required

id The system generated establishment 

id

Integer N/A Yes

Response
Injury Tracking Application API Documentation

Page 16 of 24

{

"results": [

{

"id": "2345678"

"establishment_name": "Store 2", 

"ein": {

"ein":"012345678"

},

"size": "2",

"establishment_type": "1",

"submission_status": "1",

"establishment_status": "1", 

"address": {

"street": "234 Maple Ave", 

"city": "Washington", 

"state": "DC",

"zip": "123456789"

},

"naics": {

"naics_code": "311212",

"naics_year": "2012", 

"industry_description": "Milling rice"

},

"company": {

"company_name": "ABC Company"

},

"years_submitted:[ 

"2016"

],

"created_timestamp": 1234567890,

"last_edited_timestamp": 987654321, 

"links": {

"self": "/oshaApi/v1/establishments/2345678", 

"form300ALinks": [

"/oshaApi/v1/forms/form300A/1"

]

}

}

],

"success": true

}

Edit Establishment(s)

To edit a specific establishment, you will need to make a PATCH request to the ITA service with the 

authorization header set to the API token that belongs to your account. You will also need to include a 

JSON object with the ID of the establishment you want to edit as well as the field you want to edit. You 

can edit multiple fields at one time.
Injury Tracking Application API Documentation

Page 17 of 24

To edit multiple establishments, you need to include a JSON body of an array of valid establishment 

request objects with ID’s belonging to the establishments you are trying to edit. You can edit multiple 

fields of an establishment at one time.

URL: www.osha.gov/oshaApi/v1/establishments/{establishment id goes here} 

Action: PATCH

Header: Authorization Bearer [ITA API Token]

Inputs

(see Data Dictionary)

Request

{ 

"establishment_name": "Store 1", 

"ein": {

"ein":"012345678"

},

"id": "1234567",

"company": { 

"company_name": "ABC Company"

},

"address": { 

"street": "123 Main St", 

"city": "Washington", 

"state": "DC",

"zip": "123456789"

},

"naics": { 

"naics_code": "112120", 

"industry_description": "Dairy cattle farming"

},

"size": "2",

"establishment_type": "1",

"establishment_status": "1"

} 

Response

{ 

"results": [ 

{ 

"id": "1234567"

"establishment_name": "Store 1", 

"ein": {

"ein":"012345678"

},

"size": "2",

"establishment_type": "1",
Injury Tracking Application API Documentation

Page 18 of 24

"submission_status": "1",

"establishment_status": "1", 

"address": {

"street": "123 Main St", 

"city": "Washington", 

"state": "DC",

"zip": "123456789"

},

"naics": { 

"naics_code": "112120", 

"industry_description": "Dairy cattle farming

},

"company": { 

"company_name": "ABC Company"

},

"years_submitted:[ 

"2016"

],

"created_timestamp": 1234567890,

"last_edited_timestamp": 987654321, 

"links": {

"self": "/oshaApi/v1/establishments/1234567", 

"form300ALinks": [

"/oshaApi/v1/forms/form300A/1"

] 

} 

} 

],

"success": true

} 

Add Form 300A Data

To add Form 300A data to an establishment, you will need to make a POST request to the ITA service with 

the authorization header set to the API token that belongs to your account. You will also need to include 

a valid 300A data JSON object with the embedded establishment object's ID or name set to the 

establishment you are trying to create the form for.

To add Form 300A data to multiple establishments, you will need to include a JSON body of an array of 

valid 300A data JSON objects, with their embedded establishment objects having an ID or name set to the 

establishment that the 300A data is for.

URL: https://www.osha.gov/oshaApi/v1/forms/form300A

Action: POST

Header: Authorization Bearer [ITA API Token]

Inputs

Data Element Definition and Validations Format Length Required

id (in Request) The system generated establishment 

ID

Integer N/A Yes
Injury Tracking Application API Documentation

Page 19 of 24

Data Element Definition and Validations Format Length Required

id (in Response) The system generated ID of the 300A

object

Integer N/A Yes

establishment_id (in 

Response)

The system generated establishment 

ID

Integer N/A Yes

Request

{ 

"establishment": { 

"id": "1234567",

"establishment_name": "Store 1"

},

"annual_average_employees": "77",

"total_hours_worked": "152152",

"no_injuries_illnesses": "2",

"total_deaths": "0",

"total_dafw_cases": "3",

"total_djtr_cases": "1",

"total_other_cases": "2",

"total_dafw_days": "10",

"total_djtr_days": "5",

"total_injuries": "2",

"total_skin_disorders": "1",

"total_respiratory_conditions": "2",

"total_poisonings": "0",

"total_hearing_loss": "0",

"total_other_illnesses": "1"

} 

Response

{ 

"results": [ 

{ 

"id": "987654",

"establishment_id": "1234567",

"year_filing_for ": "2016",

"annual_average_employees": "77",

"total_hours_worked": "152152",

"no_injuries": "2",

"total_deaths": "0",

"total_dafw_cases": "3",

"total_djtr_cases": "1",

"total_other_cases": "2",

"total_dafw_days": "10",

"total_djtr_days": "5",

"total_injuries": "2",

"total_skin_disorders": "1",
Injury Tracking Application API Documentation

Page 20 of 24

"total_respiratory_conditions": "2",

"total_poisonings": "0",

"total_hearing_loss": "0",

"total_other_illnesses": "1", 

"links": {

"self": "/oshaApi/v1/forms/form300A/987654", 

"establishment": "/oshaApi/v1/establishments/1234567"

} 

} 

],

"success": true

} 

Get Form 300A Data

To get Form 300A data for an establishment, you will need to make a GET request to the ITA service with 

the authorization header set to the API token that belongs to your account. You will also need to include 

the ID at the end of the request URL that belongs to the specific Form 300A you are trying to retrieve.

URL: https://www.osha.gov/oshaAPi/v1/forms/form300A/{Form 300A id} 

Action: GET

Header: Authorization Bearer [ITA API Token]

Response

{ 

"results": [ 

{ 

"id": "456789",

"establishment_id": "2345678",

"year_filing_for ": "2016",

"annual_average_employees": "200",

"total_hours_worked": "395200",

"no_injuries": "1",

"total_deaths": "0",

"total_dafw_cases": "0",

"total_djtr_cases": "0",

"total_other_cases": "0",

"total_dafw_days": "0",

"total_djtr_days": "0",

"total_injuries": "0",

"total_skin_disorders": "0",

"total_respiratory_conditions": "0",

"total_poisonings": "0",

"total_hearing_loss": "0",

"total_other_illnesses": "0", 

"links": {

"self": "/oshaApi/v1/forms/form300A/456789", 

"establishment": "/oshaApi/v1/establishments/2345678"

} 
Injury Tracking Application API Documentation

Page 21 of 24

} 

],

"success": true

} 

Edit Form 300A Data

To edit Form 300A data for a specific establishment, you will need to make a PATCH request to the ITA 

Service with the authorization headerset to the API token that belongsto your account. You will also need 

to include the ID at the end of the URL request that belongs to the specific Form 300A you are trying to 

edit. You will also need to include a JSON body that includes the ID of the Form 300A you are trying to 

edit, as well as the field or fields with the edited information.

To edit Form 300A data for several establishments, you will need to include a JSON body with an array of 

objects each containing the ID of the Form 300A you want to edit, as well as the specific field or fields you 

want to edit.

URL: https://www.osha.gov/oshaApi/v1/forms/form300A/{Form 300A id } 

Action: PATCH

Header: Authorization Bearer [ITA API Token]

Inputs

(see Data Dictionary)

Request

{ 

"id": "456790",

"annual_average_employees": "200",

"total_hours_worked": "395200",

"no_injuries_illnesses": "2",

"total_deaths": "0",

"total_dafw_cases": "1",

"total_djtr_cases": "1",

"total_other_cases": "0",

"total_dafw_days": "10",

"total_djtr_days": "20",

"total_injuries": "2",

"total_skin_disorders": "0",

"total_respiratory_conditions": "0",

"total_poisonings": "0",

"total_hearing_loss": "0",

"total_other_illnesses": "0"

} 

Response

{ 

"results": [ 
Injury Tracking Application API Documentation

Page 22 of 24

{ 

"id": "456790",

"establishmentId": "2345678",

"year_filing_for ": "2016",

"annual_average_employees": "200",

"total_hours_worked": "395200",

"no_injuries": "2",

"total_deaths": "0",

"total_dafw_cases": "1",

"total_djtr_cases": "1",

"total_other_cases": "0",

"total_dafw_days": "10",

"total_djtr_days": "20",

"total_injuries": "2",

"total_skin_disorders": "0",

"total_respiratory_conditions": "0",

"total_poisonings": "0",

"total_hearing_loss": "0",

"total_other_illnesses": "0", 

"links": {

"self": "/oshaApi/v1/forms/form300A/456790", 

"establishment": "/oshaApi/v1/establishments/2345678"

} 

} 

],

"success": true

} 

Submit Form 300A Data for Establishment(s)

Once Establishment and 300A data have been transmitted, they must be formally submitted so that OSHA 

will know that the data entry is complete. This requires creating a submission object.

To create a single submission, you will need to make a POST request to the ITA service with the 

authorization header set to the API token that belongs to your account. To create multiple submissions in 

one call you will need to send a JSON body of an array of valid submission objects. You will also need to 

include a JSON body with all required fields.

To re-submit your data (to update or correct it), you will need to re-run the Submit POST request.

URL: https://www.osha.gov/oshaApi/v1/submissions

Action: POST

Header: Authorization Bearer [ITA API Token]

Inputs

Data Element Definition and Validations Format Length Required

id The system generated id for the 

Submission record

Long N/A Yes
Injury Tracking Application API Documentation

Page 23 of 24

Request

{ 

"establishment_id": "2345678",

"year_filing_for": "2016",

"change_reason": "Reason for resubmission, if applicable"

} 

Response

{ 

"results": [ 

{ 

"id": "900800",

"year_filing_for ": "2016", 

"establishment": {

... see results field of Establishment response object

},

"form300A": { 

... see results field of Form 300A Response Object

},

"created_username": "joesample", 

"time_stamp": 1487125329631, 

"links": {

"self": "/oshaApi/v1/submissions/1",

"establishment": "/oshaApi/v1/establishments/2345678", 

"form300A: "/oshaApi/forms/form300A/1"

} 

} 

],

"success": true

} 

Get a Specific Submission

To get a specific submission, you will need to make a GET request to the ITA service with the authorization 

header set to the API token that belongs to your account. You will also need to include the ID of the 

submission at the end of the URL request.

URL: https://www.osha.gov/oshaApi/v1/submissions/{Submission id} 

Action: GET

Header: Authorization Bearer [ITA API Token]

Inputs

Data Element Definition and Validations Format Length Required

id The system generated ID for the 

Submission record

Long N/A Yes
Injury Tracking Application API Documentation

Page 24 of 24

Response

{

"results": [

{

"id": "900800",

"year_filing_for ": "2016", 

"establishment": {

... see results field of Establishment response object

},

"form300A": {

... see results field of Form 300A Response Object

},

"created_username": "joesample", 

"time_stamp": 1487125329631, 

"links": {

"self": “/oshaApi/v1/submissions/900800, 

"establishment": "/oshaApi/v1/establishments/1", 

"form300A: "/oshaApi/v1/forms/form300A/1"

}

}

],

"success": true

}