Element5 API (2.1.2)

Download OpenAPI specification:

Element5 APIs enables the clients to invoke and monitor Element5 Workflows. The E5 APIs are protected by API keys and the keys would be shared during the onboarding process. Due to the long running nature of workflows the current state of the workflows can be tracked either by polling E5 APIs for status or exposing a webhook which will be notified about progress. The below sections highlight the APIs and events which would be relevant for the current engagement.

Authentication

ApiKeyAuth

API key provided by Element5 to authenticate and authorize the Element5 APIs

Security Scheme Type: API Key
Header parameter name: X-API-Key

Automation

Generic E5 Task related APIs and Webhooks

Task Events (Callbacks) Webhook

Due to the long running nature of workflows, Element5 has a webhook interface which sends out events at important junctures when a request is processed. The events would be posted to the Webhook URL which would be configured as part of the onboarding process. Assumption: The URLs and their access credentials would have been already shared to Element5 as part of the onboarding process.

Authorizations:
ApiKeyAuth
Request Body schema: application/json
required
eventName
string (Element5Events)
Enum: "task#queued" "task#started" "task#restarted" "task#progressed" "task#succeeded" "task#failed"
eventId
string <uuid>
createdAt
string <date-time> (DateString)

Date and time in ISO8601 format

TaskEvents (object)

Responses

Request samples

Content type
application/json
{
  • "eventName": "task#queued",
  • "eventId": "d6703cc8-9e79-415d-ac03-a4dc7f6ab43c",
  • "createdAt": "2017-07-21T17:32:28Z",
  • "eventPayload": {
    }
}

Object Store

Object Store related APIs

Fetch the file object

Fetch a file object by its object-id. The file may be delivered directly as binary content or via a redirect to a pre-signed URL.

Authorizations:
ApiKeyAuth
path Parameters
object-id
required
string <uuid>

Provide a object-id to fetch the file object

Responses

Response samples

Content type
application/json
{
  • "code": "401",
  • "message": "API key is missing or invalid"
}

Upload a file object

Upload a file to S3 storage. The file is stored in a date-based folder structure (YYYY/MM/DD). Returns file object ID and download URL. Requires file:write scope in the authorization token.

Authorizations:
None
Request Body schema: multipart/form-data
required
file
required
string <binary>

File to upload

Responses

Response samples

Content type
application/json
{}

Authorization

Authorization related APIs

Authorization Submission Request

All the necessary information required to submit an authorization. On receipt, the API performs a quick validation (not verification) of the request for correctness. On successful validation returns a taskId which can be used for tracking this request. Also, the task#queued event is triggered.

Authorizations:
ApiKeyAuth
Request Body schema: application/json

Submit Authorization Request Body

required
object (SubmitAuthorizationRequestPayload)

Responses

Request samples

Content type
application/json
{
  • "taskPayload": {
    }
}

Response samples

Content type
application/json
{
  • "taskId": "55dfe5e9-725a-4ce0-ba41-925e588623c2",
  • "taskName": "submit-authorization",
  • "createdAt": "2017-07-21T17:32:28Z",
  • "status": "queued"
}

Authorization Submission Request Status

Fetch the current status of a Authorization Submission Request. It takes the taskId, provided by the Authorization Submission Request, as input.

Authorizations:
ApiKeyAuth
path Parameters
task-id
required
string <uuid>

Provide a task id to retreive the Authorization Submission Request status

Responses

Response samples

Content type
application/json
Example
{
  • "taskId": "55dfe5e9-725a-4ce0-ba41-925e588623c2",
  • "taskName": "submit-authorization",
  • "createdAt": "2017-07-21T17:32:28Z",
  • "status": "processing",
  • "startedAt": "2017-07-21T17:32:28Z",
  • "attempt": 1
}

Eligibility

Eligibility related APIs

Eligibility Submission Request

All the necessary information required to submit an eligibility request. On receipt, the API performs a quick validation (not verification) of the request for correctness. On successful validation returns a taskId which can be used for tracking this request. Also, the task#queued event is triggered.

Authorizations:
ApiKeyAuth
Request Body schema: application/json

Submit Eligibility Request Body

required
object (SubmitEligibilityRequestPayload)

Responses

Request samples

Content type
application/json
{
  • "taskPayload": {
    }
}

Response samples

Content type
application/json
{
  • "taskId": "55dfe5e9-725a-4ce0-ba41-925e588623c2",
  • "taskName": "submit-eligibility",
  • "createdAt": "2017-07-21T17:32:28Z",
  • "status": "queued"
}

Eligibility Submission Request Status

Fetch the current status of an Eligibility Submission Request. It takes the taskId, provided by the Eligibility Submission Request, as input.

Authorizations:
ApiKeyAuth
path Parameters
task-id
required
string <uuid>

Provide a task id to retreive the Eligibility Submission Request status

Responses

Response samples

Content type
application/json
Example
{
  • "taskId": "55dfe5e9-725a-4ce0-ba41-925e588623c2",
  • "taskName": "submit-eligibility",
  • "createdAt": "2017-07-21T17:32:28Z",
  • "status": "processing",
  • "startedAt": "2017-07-21T17:32:28Z",
  • "attempt": 1
}

Process X12 Eligibility Transaction

All the necessary information required to process a X12 Eligibility Transaction. On receipt, the API performs a quick validation (not verification) of the request for correctness. On successful validation returns a taskId which can be used for tracking this request. Also, the task#queued event is triggered.

Authorizations:
ApiKeyAuth
Request Body schema: application/json

Process X12 Eligibility Transaction Request Body

required
object (ProcessX12EligibilityTransactionRequestPayload)

Responses

Request samples

Content type
application/json
{
  • "taskPayload": {
    }
}

Response samples

Content type
application/json
{
  • "taskId": "55dfe5e9-725a-4ce0-ba41-925e588623c2",
  • "taskName": "process-x12-eligibility-transaction",
  • "createdAt": "2017-07-21T17:32:28Z",
  • "status": "queued"
}

Process X12 Eligibility Transaction Status

Fetch the current status of an Process X12 Eligibility Transaction. It takes the taskId, provided by the Process X12 Eligibility Transaction, as input.

Authorizations:
ApiKeyAuth
path Parameters
task-id
required
string <uuid>

Provide a task id to retreive the Process X12 Eligibility Transaction status

Responses

Response samples

Content type
application/json
Example
{
  • "taskId": "55dfe5e9-725a-4ce0-ba41-925e588623c2",
  • "taskName": "process-x12-eligibility-transaction",
  • "createdAt": "2017-07-21T17:32:28Z",
  • "status": "processing",
  • "startedAt": "2017-07-21T17:32:28Z",
  • "attempt": 1
}