- Previous: Controlled Document Management API
- Up: Overview
- Next: Document Portal API
eTMF API
The eTMF API allows you to import documents to a study and query details of your studies. These APIs require the Egnyte.etmf scope.
List Studies
This endpoint is used to get a list of the studies the current user has access to.
Request Parameters in the Request Body
Request Examples
GET /pubapi/v1/etmf/studies HTTP/1.1 Host: apidemo.egnyte.com Authorization: Bearer 68zc95e3xv954u6k3hbnma3q
Response
A successful request will return an HTTP 200 status code with an JSON response body.
{ "studies": [ { "systemId": "eee92526-53ce-45be-bdce-7263567c9e78", "id": "DEM-81", "name": "Demo 81 Study", "description": "Acme Tx is conducting a study to evaluate the impact of DEM-81 on...", "status": "ACTIVE" } ] }
List Filing Levels
This endpoint is used to get a list of filing levels the current user has access to for a given study.
Request Parameters in the URL
Parameter | Description | Required | Possible Values |
---|---|---|---|
studyId | The system ID of the study you would like to fetch the filing levels for | Yes | String example: eee92526-53ce-45be-bdce-7263567c9e78 |
Request Examples
GET /v1/etmf/studies/eee92526-53ce-45be-bdce-7263567c9e78/filing-levels HTTP/1.1 Host: apidemo.egnyte.com Authorization: Bearer 68zc95e3xv954u6k3hbnma3q
Response
A successful request will return an HTTP 200 status code with a JSON response body.
{ "trial": { "systemId": "2f47005e-76d1-42e7-857c-926ca5723e18", "status": "ACTIVE", "countries": [ { "systemId": "5ccfd52a-75f9-49c5-b2e0-177862699ed0", "code": "POL", "status": "ACTIVE", "sites": [ { "systemId": "ab650679-ac09-4e1e-afd9-13de225ec4af", "id": "WAW_01", "status": "ACTIVE" } ] } ] } }
List Artifacts and Milestones
This endpoint is used to get a list of the artifacts and milestones available for a specific filing level
Request Parameters
Parameter | Description | Required | Possible Values |
---|---|---|---|
studyId | The system ID of the study you would like to fetch artifacts and milestones for. Included as a segment of the request path. | Yes | String example: eee92526-53ce-45be-bdce-7263567c9e78 |
filingLevel | The type of filing level. Included as a URL parameter. | Yes | One of the values: trial, country, site |
filingLevelId | The system ID of the filing level. Included as a URL parameter. | Yes | String example: 2f47005e-76d1-42e7-857c-926ca5723e18 |
Request Examples
GET /v1/etmf/studies/eee92526-53ce-45be-bdce-7263567c9e78/artifacts?filingLevel=trial&filingLevelId=2f47005e-76d1-42e7-857c-926ca5723e18 HTTP/1.1 Host: apidemo.egnyte.com Authorization: Bearer 68zc95e3xv954u6k3hbnma3q
Response
A successful request will return an HTTP 200 status code with a JSON response body.
{ "artifacts": [ { "referenceModelArtifactId": "001", "number": "01.01.01", "name": "Trial Master File Plan", "isUnblinded": false, "milestoneNumber": 2 } ], "milestones": [ { "id": "aa9b50b7-f8ad-4cdd-a401-a6d23ee06568", "name": "Clinical Infrastructure Ready", "number": 2, "status": "ACTIVE" } ] }
List Documents
This endpoint is used to get a list of the documents for a specific filing level
Request Parameters
Parameter | Description | Required | Possible Values |
---|---|---|---|
studyId | The system ID of the study you would like to fetch documents for. Included as segment of the request path. | Yes | String example: eee92526-53ce-45be-bdce-7263567c9e78 |
filingLevel.type | The type of filing level. Included as a URL parameter. | Yes | One of the values: TRIAL, COUNTRY, SITE |
filingLevel.countryId | The system ID of the country | No | String example: 2f47005e-76d1-42e7-857c-926ca5723e18 |
filingLevel.siteId | The system ID of the site | No | String example: dd0b0154-f36e-4c5f-9480-caf24a72ddbc |
zone | Filter by the zone associated with the artifact of the document, including both the zone number and name. | No | String example: 02 Central Trial Documents |
artifact | Filter by the artifact associated with the document, including both the artifact number and name. | No | String example: 02.01.01 Investigator's Brochure |
status | Filter by the status of the document. | No | One of the values: DRAFT, IN_QC, APPROVED, REJECTED |
limit | Maximum number of documents returned. | No Default: 20 |
Positive Integer between 1 and 200 |
offset | Zero-based index of the first document returned. Used for pagination. Included as a URL parameter. | No Default: 0 |
Integer |
Request Examples
POST /v1/etmf/studies/eee92526-53ce-45be-bdce-7263567c9e78/documents/listing?filingLevel=trial&filingLevelId=2f47005e-76d1-42e7-857c-926ca5723e18 HTTP/1.1 Host: apidemo.egnyte.com Authorization: Bearer 68zc95e3xv954u6k3hbnma3q Content-Type: application/json { "filingLevel": { "type": "SITE", "siteId": "b53884cf-2bc0-4830-abba-a54c67c25a65" }, "zone": "02 Central Trial Documents", "artifact": "02.01.01 Investigator's Brochure", "status": "DRAFT", "limit": 100, "offset": 0 }
Response
A successful request will return an HTTP 200 status code with a JSON response body.
{ "documents": [ { "studyId": "ab650679-ac09-4e1e-afd9-13de225ec4af", "id": "ab650679-ac09-4e1e-afd9-13de225ec4af", "artifact": { "artifactNumber": "02.01.01", "artifactName": "Investigator's Brochure", "sectionNumber": "02.01", "sectionName": "Product and Trial Documentation", "zoneNumber": "02", "zone": "Central Trial Documents", "referenceModelArtifactId": "31", "isUnblinded": false }, "milestone": { "name": "Clinical Infrastructure Ready", "number": 2, "id": "45f8cb40-0d8e-4f82-89c3-3708e4b0210d" }, "filingLevel": { "type": "TRIAL" }, "file": { "name": "Investigator Brochure v1 - 2024-02-14.docx", "entryId": "17c79408-6faf-4ba4-8be1-0b77a7511e60", "groupId": "aa5f47a4-4a02-425b-88ec-dcbe7fa7c2c2" }, "qualityControl": { "dueOn": "2025-04-12T14:08:14.812Z", "status": "DRAFT" } } ], "offset": 0, "hasMore": true }
Add Documents
This endpoint is used to add a document to a study. The document must be present in the Egnyte file system before this API can be used.
Request Parameters
Parameter | Description | Required | Possible Values |
---|---|---|---|
studyId | The system ID of the study you would like to fetch documents for. Included as segment of the request path. | Yes | String example: eee92526-53ce-45be-bdce-7263567c9e78 |
filingLevel.type | The type of filing level. Included as a URL parameter. | Yes | One of the values: TRIAL, COUNTRY, SITE |
filingLevel.systemId | The system ID of the filing level the document should be added to | Yes | String example: 2f47005e-76d1-42e7-857c-926ca5723e18 |
classification.referenceModelArtifactId | The ID of the artifact the file should be classified as | No | String example: 001 |
classification.milestoneId | The milestone id of the milestone the file should be associated with | No | String example: c8cfa0dd-dda3-4089-962d-3d33bb6ae448 |
classification.unblinded | Filter by the unblinded status of the document. | No, only required when the document is unclassified | Boolean |
sourceFile.groupId | The groupId of the file in the file system | No | String example: 35ed2e11-35e8-4712-b78f-98aceb780ef8 |
Request Examples
POST /v1/etmf/studies/eee92526-53ce-45be-bdce-7263567c9e78/documents HTTP/1.1 Host: apidemo.egnyte.com Authorization: Bearer 68zc95e3xv954u6k3hbnma3q Content-Type: application/json { "filingLevel": { "systemId": "aa9b50b7-f8ad-4cdd-a401-a6d23ee06568", "type": "TRIAL" }, "classification": { "referenceModelArtifactId": "001", "milestoneId": "c8cfa0dd-dda3-4089-962d-3d33bb6ae448" }, "sourceFile": { "groupId": "35ed2e11-35e8-4712-b78f-98aceb780ef8" } }
Response
A successful request will return an HTTP 200 status code with a JSON response body.
{ "id": "aa9b50b7-f8ad-4cdd-a401-a6d23ee06568", "file": { "groupId": "35ed2e11-35e8-4712-b78f-98aceb780ef8", "entryId": "5c8598b6-1ab4-45e5-b534-4b60caeddabd", "path": "/Shared/__eTMF__/STD-001_STAGING/Trial Binder/Artifacts/01 First Country RA Approval/02 Central Trial Documents/02.01 Product and Trial Documentation/02.01.01 Investigator's Brochure/example.pdf" } }
- Previous: Controlled Document Management API
- Up: Overview
- Next: Document Portal API
Docs Navigation
- Overview
- Getting Started
- Authentication
- Best Practices
- File System API
- Permissions API
- Events API
- Search API
- Links API
- Workflow API
- User Management API
- Group Management API
- Audit Reporting API v2
- Trash API
- Comments API
- Metadata API
- Embedded UI API
- Bookmarks API
- User Insights API
- Folder Options API
- Project Folder API
- Controlled Document Management API
- eTMF API
- Document Portal API
- Mobile Development
- Other Applications
- UI Integration Framework
- Webhooks
- Secure and Govern API
- Audit Reporting API V1
- MSP API