Skip to content

API v1 - Audit

The API Audit endpoint retrieves the audit log in your Matillion ETL instance, and exports the data using the GET method.


Prerequisites

  • The API Audit endpoint is available for admin users of Matillion ETL, and Enterprise edition users registered with the Hub. For more information, read Enterprise.
  • To use Matillion ETL API services, you must know how to make REST API calls, either by employing a REST API GUI client such as Postman, or employing a command line interface (CLI) like cURL.
  • If you are new to Matillion ETL's API, read our Matillion API Introduction and explore the v1 API map.
  • Requires the Matillion ETL instance URL, the user's username and password, with appropriate permissions.

Using the API

Returns the audit log in a Matillion ETL instance by making a GET call with the form:

<InstanceAddress>/rest/v1/audit/<endpoint>

Note

<InstanceAddress>/rest/v1/audit/ is the base URI for the Audit API endpoints. Add the specific <endpoint> information for each function, documented in the below sections.

Where:

  • <InstanceAddress> is the URI of your Matillion ETL instance in the form http://host:port.
  • <endpoint> is the name of the API endpoint that accomplishes the task you want to perform. These endpoints are documented in the following sections.

GET audit

Returns the audit log in this Matillion ETL instance.

To return the audit log, make the following GET call:

<InstanceAddress>/rest/v1/audit

A successful GET call to the endpoint will return the following response from the server, in JSON format:

{
    "endpoints": [
        {
          "httpMethod": "PATH",
          "name": "AuditService",
          "children": [],
          "type": "AuditService"
        }....
      ],
      "dataTypes": []
        {},
        {
          "type": "EndpointArgumentStyle",
          "possibleValues": [
              "QUERY",
              "PATH",
              "DATA"
          ]
        },....
        {
          "type": "HttpMethod",
          "possibleValues": [
              "GET",
              "PUT",
              "POST",
              "DELETE",
              "PATH"
          ]
        },....
}

GET export

Export the audit log as a JSON file in this Matillion ETL instance. Each entry shows the user's actions, and any change the user has made will be logged in detail.

To export the audit log, make the following GET call:

<InstanceAddress>/rest/v1/audit/export

A successful GET call to the endpoint will return the following response from the server, in JSON format:

{
    "list": [
      {
        "id": 2135092,
        "specifier": "Project Group (Demonstration Projects) [2] - Project (John Smith) [44359] - Version (default) [44360] - Job (Salesforce Viewer) [1362467] - Components [2134634 (tmp_sf_demo), 2134653 (SQL 3), 2134662 (Aggregate 3)]",
        "commandType": "DeleteTransformationItems",
        "user": "ec2-user",
        "timestamp": 1592932292974
      },
      {
        "id": 2135065,
        "specifier": "Project Group (Demonstration Projects) [2] - Project (Ewan Mack) [1734452] - Version (default) [1734453] - Job (API ip-ranges) [2053039] - Component (API Query 0) [API Query] [2053043] - Parameter (Data Selection) [7]",
        "commandType": "SetParameterElements",
        "user": "ec2-user",
        "timestamp": 1592926214834
      },
    ],
    "offset": 0,
    "totalLength": 1344
}
  • id: The ID of the audited action.
  • specifier: A hierarchical path to the point of action. For example, if a user changes a component parameter, the specifier will give the parameter change, the component, the job, the version, and the project that it belongs to. This means the specifier can give a direct path to recreate the change the user made.
  • commandType: A quick reference for the type of action performed. Command type names are self-explanatory. For example, deleting a job creates the command type DeleteJobs, and creating an orchestration component creates the command type CreateOrchestrationComponent.
  • user: The name of the user who made this change.
  • timestamp: The time (based on the server's timezone) that the change occurred.