The API is mapped to run at https://api.region.mft.progress.com Where region will vary depending on your location.

Core endpoints

The following endpoints support core Automate MFT operations, including license retrieval, task execution, and task run monitoring.
Table 1. Core endpoints

Resource

Description

GET /v1/licenses/current

Returns basic license plan and usage for the current tenant, such as tier/plan, start/end dates, and counters such as task executions.

POST /v1/tasks/{TaskID}/start

or

POST /v1/tasks/start?name={TaskName}

Starts a task immediately. It is the equivalent to Run now in the UI. It returns a TaskRunID that you can use to poll status.

It has two variants: start task by {TaskID} and start task by {TaskName}. If needed, you can find the TaskID in the task details page of a task definition.

Optionally, include Task Parameters in the request body as JSON key–value pairs. These parameters will be passed to the task as it executes. If the task was defined to use parameters of the same name, the task will use the values as passed in the API call. These parameters will override any tenant-level or task-level parameters using the same name for this particular task run.

GET /v1/task-runs/{TaskRunID}

Polls the current state of the run, such as queued, running, success, orfailed, and returns selected execution details (agent info, start/finish timestamps, file stats after completion).

POST /v1/oauth/token

Gets a token that will be part of each REST call to the other APIs.

To get this token, a JWT needs to be created based on a private key. See the sample code for examples.

Reporting endpoints

Automate MFT provides endpoints for retrieving reporting data programmatically. These endpoints allow access to task run data, file activity, and audit logs.
Table 2. Reporting endpoints

Resource

Description

GET /v1/reports/file-activity

Retrieves the File Activity report data.

GET /v1/reports/task-runs

Retrieves the Task Run report data.

POST /v1/reports/audit-logs

Starts generation of an Audit Logs report. The request body should contain a JSON object with the properties outlined in the table below.

GET /v1/reports/audit-logs/{report_id}

Retrieves Audit Logs data.

DELETE /v1/reports/audit-logs/{report_id}

Deletes Audit Logs.

Query parameters for reporting endpoints

The reporting endpoints support filtering, sorting, and pagination through query parameters.

GET /v1/reports/task-runs

The following query parameters can be used with the GET /v1/reports/task-runs endpoint.
Table 3. Task-runs query parameters

Query Parameter

Repeatable

Description

skip

No

Pagination offset. Default: 0.

take

No

Number of records to return. Maximum: 200.

start

No

Start date and time as a UTC ISO timestamp.

end

No

End date and time as a UTC ISO timestamp.

taskRunId

No

Filter results by a specific task run ID.

sortBy

No

Sort by one of: taskName, queuedTime, startTime, filesTransferred, totalTransferredBytes, or startedBy.

sortDesc

No

Sort order. Specify true for descending order or false for ascending order.

taskIds

Yes

Filter results by one or more task IDs.

keywords

Yes

Filter results by one or more search keywords.

folderIdsFilter

Yes

Filter results by one or more folder IDs.

status

Yes

Filter by status: success, failure, cancelled, or noTransfers.

startedBy

No

Filter by the user or process that started the task.

startedByTypes

Yes

Filter by starter type: User, Schedule, PostTaskRun, or ApiKey.

GET /v1/reports/file-activity

The following query parameters can be used with the GET /v1/reports/file-activity endpoint.
Table 4. File-activity query parameters

Query Parameter

Repeatable

Description

skip

No

Pagination offset. Default: 0.

take

No

Number of records to return. Maximum: 200.

start

No

Start date and time as a UTC ISO timestamp.

end

No

End date and time as a UTC ISO timestamp.

taskRunId

No

Filter results by a specific task run ID.

sortBy

No

Sort by one of: activityTime, taskName, sourceFilename, activity, size, sourcePath, or destinationPath.

sortDesc

No

Sort order. Specify true for descending order or false for ascending order.

taskIds

Yes

Filter results by one or more task IDs.

keywords

Yes

Filter results by one or more search keywords.

folderIdsFilter

Yes

Filter results by one or more folder IDs.

status

Yes

Filter by status: success or failure.

Note: Parameters marked as repeatable can be specified multiple times in a request.

POST /v1/reports/audit-logs

When using POST /v1/reports/audit-logs, the request body should contain a JSON object with the following properties:
Table 5. json object properties

Property

Type

Description

type

int

0 = JSON, 1 = CSV

start

string

UTC ISO timestamp

end

string

UTC ISO timestamp

actor

string|null

Email substring filter (max 320 chars)

actorType

string

"All", "User", or "ApiKey"

actions

string[]

Subset of: Get, Create, Update, Delete

resources

string[]

Subset of: Task, Endpoint, AuthenticationMethod, Schedule, Agent, Folder, KeyCert, Script, Parameter, Tag, User, Role, Report, IdentityProvider, PublicKey, Membership, TenantSetting, AuditLog, System

outcomes

string[]

Subset of: Success, Error

sourceIp

string|null

IPv4 or IPv6 filter

Sample scripts

The following sample scripts demonstrate how to use the Reporting API and Task API endpoints using Python:
  • Report sample demonstrates creating, monitoring, downloading, and deleting operational reports.
  • Audit log sample demonstrates creating, monitoring, downloading, and deleting audit log reports.
  • Start task sample demonstrates authenticating and starting a task through the Tasks API.
These samples are provided as reference implementations and can be adapted to suit your environment and automation requirements.