Skip to the content.

Enterprise Mission Assurance Support Service (eMASS)

eMASS is a government owned web-based application with a broad range of services for comprehensive fully integrated cybersecurity management. Features include dashboard reporting, controls scorecard measurement, and the generation of a system security authorization package. eMASS provides an integrated suite of authorization capabilities and prevents cyber attacks by establishing strict process control mechanisms for obtaining authorization decisions.

This document provides instruction on how to register the eMASS API (eMASSer) to use with an eMASS Web-Based Application.

INTRODUCTION

The Enterprise Mission Assurance Support Service (eMASS) web Application Programming Interface (API) enables users to perform assessments and complete actions associated with system records.

GETTING STARTED

REGISTER EXTERNAL APPLICATION

Authentication requires a PKI-valid/trusted client certificate and an API key. To obtain an API key, client applications submit an API client registration [POST] to {url}/api/api-key. Every call to the eMASS API will require the use of your client certificate and API key. The API key must be provided in the request header for all endpoint calls (“api-key”). If the API receives an untrusted certificate, a 403 forbidden response code will be returned. If an invalid api-key or combination of client certificate and api-key from the registered account) is received, a 401 unauthorized response code will be returned.

APPROVE API CLIENT FOR ACTIONABLE REQUESTS

The eMASS web API supports client applications to take actionable requests (PUT, POST, DELETE). This section is for actionable requests-only and does not apply to the Registration endpoint and all GET requests. For actionable requests, some organizations’ policies require an API client application to take action on behalf of an existing user account with permissions. Your client application’s API account may be setup to require taking action on behalf of a user’s account. In this configuration, Users can grant permissions for the client from their eMASS User Profile in the API Data Access card by selecting a checkbox for the applicable client and clicking [Save].

![eMASS Data Access Card](/images/emass_data_access_card.jpg)

VERSIONING

Versioning will be specified through a query string parameter (?api-version=1.0) or request header (api-version:1.0). If no version is specified, then the system will default to the latest version. Available versions will follow the format #.0 and include the latest update from that version. E.g. using api-version:1.0 will return results from 1.2 or the latest available corresponding 1.# version. All responses will include headers with information about any deprecated versions. A deprecated API version will be maintained for 6 months before the version is no longer available for use.

The following deprecated API versions are currently available:

REQUEST HEADERS

Available request headers are depicted in the following table:

Available Request Headers
key Example Value Description
`api-key` api-key f32516cc-57d3-43f5-9e16-8f86780a4cce This API key must be provided in the request header for all endpoint calls.
`user-uid` 1647389405 Unique user identifier for identity provider of the Agency. This key is required in the request header for POST, PUT, and DELETE endpoint calls when an API client account is configured to require taking action on behalf of a user account per organizational policy.
Notes:
  • For DoD, this is the DoD ID Number (EDIPI) on their DoD CAC.
  • For certain integrations, the user-uid header is not required.