Download OpenAPI specification:Download
The DISCO API provides direct communication between DISCO Ediscovery and your organization’s business intelligence solution, making it easier to see the big picture and take action on data from across your organization. With access to detailed information, you may estimate or reconcile an invoice, audit anomalies or discrepancies in your organization’s data usage, or manage data usage against a subscription cap or monthly budget. For clients who run their financial or operational analysis by aggregating data from different sources, this read-only API will enable simplified, on-demand access to DISCO Ediscovery data.
Each request requires a DISCO issued API Key and includes CIDR block verification. Organization managers have access to the API functionality via the Settings tab, where they can add or remove IPv4 CIDR formatted trusted sources which serve as the specific IP addresses permitted to access the API. Authorized users can also be managed in the Settings tab. An API key can be created to grant access to the API for those users first at the organization level, and secondarily at the per-authorized user level. Users must submit their API Key with each request.
The total of all API requests to all endpoints is limited to 100 per minute per customer organization.
All URIs listed below begin after the DNS domain name (e.g. https://api.csdisco.com). Due to the highly sensitive nature of our industry, all requests for a specific resource that would include some identifier will use POST methods and include the parameter in the body of the request.
URL paths and resource names are case-sensitive, e.g. /datasets/data-usage-changes, but the DNS name is case-insensitive, e.g. https://api.csdisco.com/. HTTP header parameters are case-insensitive, e.g. disco-api-key. Body parameter names are case-sensitive, e.g. start-date.
The header keys disco-api-key and organization-id must be provided by the user on every call. cURL Example
curl --header "disco-api-key: 1234-6789/12" --header "organization-id: 01234567" https://api.csdisco.com/datasets/data-usage-changes/metadata
All payloads should come in standard key/value format for all headers, and JSON format for POST body content.
All API calls return HTTP status 200 for success, or status 4xx which typically means an error by the client in forming the query, or status 5xx which means an internal error occurred.
The endpoints listed below are arranged into 3 different types - Datasets, Metrics, and Metadata. Dataset endpoints contain collections of raw data pertaining to a specific topic, such as data-usage change events over time. Metric endpoints are singular aggregated calculations within a raw dataset, such as reviewdb size at a specific time. Metadata endpoints present either the metadata fields of a particular dataset for example or provide lists of datasets or metrics available to be utilized. The following datatypes may appear in metadata:
Integer: currently not specified as 32-bit vs. 64-bit
string: UTF-8
timestamp: ISO-8601 format with timezone offset, e.g. "2023-01-01T00:00:00.000-05:00"
Provides a list of the available datasets.
organization-id required | string from the DISCO app user interface |
disco-api-key required | string from the DISCO app user interface |
content-type required | string application/json,text/csv |
{- "datasets": [
- "data-usage-changes"
]
}
Between 2 datetimes, each row returns a data change event (INGEST, PROMOTION, CULL) in bytes with relevant metadata.
dataset-name required | string Name of the dataset retrieved in this query |
organization-id required | string from the DISCO app user interface |
disco-api-key required | string from the DISCO app user interface |
content-type required | string application/json,text/csv |
start-date required | string DateTime (ISO-8601 format: "2023-01-01T00:00:00.000-05:00") |
end-date required | string DateTime (ISO-8601 format: "2023-01-01T00:00:00.000-05:00") |
header-row | boolean Applicable only for text/csv. Default true |
review-db | Array of strings A list of Review UUIDs to get data for. If absent, will return data for all Review DBs in the Org |
{- "start-date": "2020-01-30T14:30-05:00",
- "end-date": "2022-12-31T14:30-05:00",
- "header-row": false,
- "review-db": [
- "138de30cbe0d4263a1",
- "706209f55fb3457eb6"
]
}
{- "data-usage-changes": [
- {
- "review_db_name": "Remediation Test - 1"
}, - {
- "review_db_id": "706209f55fb3456"
}, - {
- "matter_name": "WindowsMatter"
}, - {
- "matter_id": ""
}, - {
- "session_key": "AFE378447B9B4FCDA73BB180"
}, - {
- "review_state": "ECA"
}, - {
- "session_operation": "INGEST"
}, - {
- "entry_type": "ADD"
}, - {
- "session_type": "NATIVE_INGEST"
}, - {
- "session_start": "2022-01-03T19:42:29.891Z"
}, - {
- "session_end": "2022-01-03T19:45:39.201Z"
}, - {
- "input_bytes": "405162"
}
]
}
Provides metadata for a dataset as a JSON object.
organization-id required | string from the DISCO app user interface |
disco-api-key required | string from the DISCO app user interface |
content-type required | string application/json,text/csv |
{- "data-usage-changes": [
- {
- "name": "review_db_name",
- "description": "The name of the review database",
- "type": "string"
}, - {
- "name": "review_db_id",
- "description": "The unique identifier of the review database",
- "type": "string"
}, - {
- "name": "matter_name",
- "description": "The name of the matter holding this review db",
- "type": "string"
}, - {
- "name": "matter_id",
- "description": "The unique identifier of the matter",
- "type": "string"
}, - {
- "name": "session_key",
- "description": "The unique identifier of the session causing this event",
- "type": "string"
}, - {
- "name": "review_state",
- "description": "One of the following: ECA, ACTIVE",
- "type": "string"
}, - {
- "name": "session_operation",
- "description": "One of the following: INGEST, PROMOTION, CULL, OVERLAY, REMEDIATION",
- "type": "string"
}, - {
- "name": "entry_type",
- "description": "One of the following: ADD, MOVE, REMOVE",
- "type": "string"
}, - {
- "name": "session_type",
- "description": "One of the following: NATIVE_INGEST, LOAD_FILE_INGEST",
- "type": "string"
}, - {
- "name": "session_start",
- "description": "The datetime of the start of the session",
- "type": "timestamp"
}, - {
- "name": "session_end",
- "description": "The datetime of the end of the session",
- "type": "timestamp"
}, - {
- "name": "input_bytes",
- "description": "The number of bytes that were changed",
- "type": "integer"
}
]
}
Provides a list of the currently supported metrics.
organization-id required | string from the DISCO app user interface |
disco-api-key required | string from the DISCO app user interface |
content-type required | string application/json,text/csv |
{- "metrics": [
- "metric-reviewdb-size"
]
}
Per requested date/time and (optional) reviewDdId, get the total size of each reviewDatabase in bytes. Each row returns the reviewDbId with its size and review_state.
organization-id required | string from the DISCO app user interface |
disco-api-key required | string from the DISCO app user interface |
content-type required | string application/json,text/csv |
content-type required | string This parameter must be provided in the HTTP headers. Valid values are [application/json, text/csv] |
end-date required | string DateTime in ISO-8601 format, e.g. "2023-01-01T00:00:00.000-05:00" |
review-db | Array of strings [{UUID-1}, {UUID-2}]. If absent, all review databases for the given Organization-Id will be returned |
{- "content-type": "application/json",
- "end-date": "2022-11-03T00:00-05:00",
- "review-db": [
- "138de30cbe0d4263a1f15fd",
- "706209f55fb3457eb6dbf6f"
]
}
{- "metric-reviewdb-size": [
- {
- "review_db_name": "WindowsXP",
- "matter_name": "WindowsMatter",
- "final_size": 123220,
- "matter_id": "",
- "review_db_id": "138de30cbe0d4263a1f15fd",
- "review_state": "ACTIVE"
}, - {
- "review_db_name": "Even vs Lazz",
- "matter_name": "EvenLazz",
- "final_size": 47444137,
- "matter_id": "",
- "review_db_id": "706209f55fb3457eb6db002",
- "review_state": "ECA"
}
]
}
Provides metadata for a dataset as a JSON object.
metric-name required | string Name of the metric to fetch |
organization-id required | string from the DISCO app user interface |
disco-api-key required | string from the DISCO app user interface |
content-type required | string application/json,text/csv |
{- "name": "metric-reviewdb-size",
- "description": "Size Metric for Review Databases",
- "availableAttributes": [
- "matter_id",
- "matter_name",
- "review_db_id",
- "review_db_name",
- "review_db_date_created",
- "review_state"
], - "aggregations": [
- {
- "name": "final_size",
- "type": "sum",
- "dataType": "integer",
- "unit": "byte"
}
], - "filterParameters": [
- {
- "name": "date-filter-param",
- "parameterType": "single",
- "dataType": "timestamp",
- "unit": "day"
}, - {
- "name": "review-db-filter-param",
- "parameterType": "collection",
- "dataType": "string"
}
], - "supportedFilters": [
- {
- "name": "end-date",
- "required": true,
- "paramRef": "date-filter-param"
}, - {
- "name": "review-db",
- "required": false,
- "paramRef": "review-db-filter-param"
}
]
}