EchoMark Public API (1.0.0)

Download OpenAPI specification:

This is the documentation for the EchoMark Public REST API. The EchoMark API requires that you have an existing EchoMark account, and that you have an API Client created within your EchoMark account. Administrators can create an API Client within the EchoMark web application EchoMark Public Rest API Implementation Guide.

All API endpoints require a JWT token to authenticate with. To get a JWT token for authentication, call the following endpoint with your client Id and client secret:

POST https://api.echomark.com/auth/oauth2/token
HEADERS: {
Authorization: Basic <Base64(ClientId:ClientSecret)>
}
BODY (x-www-form-urlencoded): {
grant_type: client_credentials,
audience: https://api.echomark.com/api,
resource: https://api.echomark.com/api
}

This will return an access token in the JSON response, or will return an error.

Once you have your token, you can add it as an authorization header for all of your requests to the EchoMark api: Authorization: Bearer <AccessToken>

Please contact https://support.echomark.com if you have any questions or difficulty with the API.

upload

Endpoints related to uploading documents

Gets a pre-signed URL to use to upload a new original

Gets a single pre-signed upload URL.

Authorizations:
echomark_auth

Responses

Response samples

Content type
application/json
{}

Gets a set of pre-signed URLs for uploading a multi-part original

Returns a single URL for small files, or a set of part URLs for multi-part uploads, based on fileSizeInMb.

Authorizations:
echomark_auth
Request Body schema:
required
fileSizeInMb
required
number > 0

The size of the file in megabytes

Responses

Request samples

Content type
{
  • "fileSizeInMb": 1
}

Response samples

Content type
application/json
Example
{}

Communicate completion of a file upload to a presigned URL.

Provide the upload ID that was used to generate the presigned URL.

Authorizations:
echomark_auth
Request Body schema:
required
uploadId
required
string <uuid> ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA...

The original upload ID returned by a call to upload-url

mediaType
required
string

The media type of the file. EchoMark can mark the following types: application/pdf, image/gif, image/tiff, image/jpeg, image/png. Other media types are accepted but may not be markable.

fileName
required
string

The name of the file being uploaded

uploadType
string
Enum: "ORIGINAL" "ANALYSIS" "NOT_MARKABLE_ORIGINAL"

The type of upload being performed

artifactType
string
Enum: "SOURCE" "IMAGE" "TEXT"

If the type is "Analysis" then this should describe the type of artifact being uploaded

Array of objects
fileShareLinkId
string

The link Id if this was a shared Secure View document

Responses

Request samples

Content type
{
  • "uploadId": "ef523ba8-509e-47af-8e2c-5fa751596497",
  • "mediaType": "application/pdf",
  • "fileName": "string",
  • "uploadType": "ORIGINAL",
  • "artifactType": "SOURCE",
  • "parts": [
    ],
  • "fileShareLinkId": "string"
}

Response samples

Content type
application/json
{
  • "originalId": "00000000-0000-0000-0000-000000000000",
  • "analysisId": "00000000-0000-0000-0000-000000000000"
}

batch

Endpoints for batch handling.

Gets a set of upload URLs to use to upload multiple new originals

Gets a list of pre-signed URLs, one for each file in the request body.

Authorizations:
echomark_auth
Request Body schema:
required
required
Array of objects

Responses

Request samples

Content type
{
  • "requests": [
    ]
}

Response samples

Content type
application/json
{
  • "results": [
    ]
}

Communicates the completion of a set of files to their presigned upload URLs.

Provide the upload Id that was used to generate each pre-signed URL.

Authorizations:
echomark_auth
Request Body schema:
required
required
Array of objects

Responses

Request samples

Content type
{
  • "requests": [
    ]
}

Response samples

Content type
application/json
{
  • "results": [
    ]
}

Gets the status and (optionally) original ID for the requested upload ID(s).

Provide the upload Id(s) that were used to generate the pre-signed URLs. Original ID is only included when the status is COMPLETED.

Authorizations:
echomark_auth
Request Body schema:
required
required
Array of objects

Responses

Request samples

Content type
{
  • "requests": [
    ]
}

Response samples

Content type
application/json
{
  • "results": [
    ]
}

mark

Endpoints for marking and polling on the status of marked copies.

Request a new marked copy for one or more recipients

Each recipient receives a unique marked copy of the original.

Authorizations:
echomark_auth
Request Body schema:
required
originalId
required
string <uuid> ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA...

The original ID that was returned by a call to submit-upload

recipients
required
Array of strings

The recipient(s) that will be receiving the marked copy(ies). If there is more than one recipient listed, each recipient will get a unique marked copy.

markingPolicyId
string <uuid> ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA...

The marking policy ID to use. If none is supplied, the default marking policy will be used.

Responses

Request samples

Content type
{
  • "originalId": "79a226e4-4741-4758-a168-c02ba021e138",
  • "recipients": [
    ],
  • "markingPolicyId": "9f56dda2-5570-4751-a9ff-4203724629a5"
}

Response samples

Content type
application/json
[
  • {
    }
]

Gets the status and (optionally) download URL for the specified marked copy.

Returns a status, and a download URL once one is available.

Authorizations:
echomark_auth
path Parameters
markedCopyId
required
string <uuid>

The markedCopyId path parameter.

Responses

Response samples

Content type
application/json
{}