File API

List files of a project

Changed on
get/rest/api/v1/projects/{projectId}/files

Request

Path parameters

projectIdstring uuid required

Query parameters

typestring
namestring
allVersionsboolean
unusedboolean

Response

OK

deletedstring date-time

Set once the version has been deleted; the record survives for the audit trail, the bytes do not.

extensionstring

Lowercase extension without the dot.

fileNamestring

Sanitised original upload name.

fileType'EA_MT5' | 'EA_MT4' | 'INDICATOR_MT5' | 'INDICATOR_MT4' | 'LIBRARY_MT5' | 'LIBRARY_MT4' | 'PRESET' | 'DATA' | 'DLL'

Type of the file, which decides how it is validated and where it may be deployed.

idstring uuid

Identity of this version.

namestring

Sanitised stem. Together with fileType it identifies the file across versions.

projectIdstring uuid

Owning project.

reviewedboolean

True when staff reviewed the source of this exact version and built it. Only meaningful for EA and DLL files, and the only thing that can enable DLL imports.

reviewedAtstring date-time

When the review happened, null if never reviewed.

sha256string

SHA-256 of the content.

sizeBytesinteger

Size in bytes. Zero once the version has been deleted.

uploadedAtstring date-time

When this version was uploaded.

versioninteger

Version number, monotonic per name and type. A consumer always pins one; there is no implicit latest.

Example response

[
  {
    "extension": "ex5",
    "fileName": "MyTrendEA.ex5",
    "fileType": "EA_MT5",
    "name": "MyTrendEA",
    "referencedBy": [
      {
        "accountAlias": "FTMO 100k",
        "label": "MyTrendEA on EURUSD M15"
      }
    ],
    "sha256": "9f86d081884c7d659a2feaa0c55ad015a3bf4f1b2b0b822cd15d6c15b0f00a08",
    "sizeBytes": 412160,
    "version": 3
  }
]

Changes