API v1 Map

The following sections are named after top-level endpoints in the v1 API. HTTP Methods for each endpoint are given in hierarchical fashion with descriptions and examples where available, as exposed through the v1 API metadata.

Note that, in examples, '<>' implies the name of a resource specific to your Matillion ETL instance such as the name of a project or job. You are required to give the URL-encoded version of the resource name where appropriate. For example, if checking running tasks in project 'Up To Date' and group 'Test'

http://<instance address>/rest/v1/group/name/Test/project/name/Up To Date/task/running

Must become

http://<instance address>/rest/v1/group/name/Test/project/name/Up%20To%Date/task/running



audit

  • GET   
    e.g. http://<instance address>/rest/v1/audit

  • GET   /export
    e.g. http://<instance address>/rest/v1/audit/audit/export?offset=0&limit=25

     

 

apiprofile

  • POST   /revert
    Revert the selected API profile.
    e.g. http://<instance address>/rest/v1/apiprofile/name/<>/revert

  • GET   /export
    Export the selected API profile.
    e.g. http://<instance address>/rest/v1/apiprofile/name/<>/export

  • POST   /import
    Import a file to the selected API profile.
    e.g. http://<instance address>/rest/v1/apiprofile/name/<>/import WITH POST DATA arg0

  • GET   /canRevert
    Ask if the selected API profile can be reverted.
    e.g. http://<instance address>/rest/v1/apiprofile/name/<>/canRevert

  • DELETE
    Delete the selected API profile via DELETE request.

  • GET   /file/export
    Export all files in the selected API profile.
    e.g. http://<instance address>/rest/v1/apiprofile/name/<>/file/export

  • GET   
    Get the selected API profile.
    e.g. http://<instance address>/rest/v1/apiprofile/name/<>

  • GET   /properties
    Get the properties of the selected API profile.
    e.g. http://<instance address>/rest/v1/apiprofile/name/<>/properties

  • POST   /properties
    Set the properties of the selected API profile.
    e.g. http://<instance address>/rest/v1/apiprofile/name/<>/properties WITH POST DATA arg0

  • POST   /delete
    Delete the selected API profile.
    e.g. http://<instance address>/rest/v1/apiprofile/name/<>/delete

  • GET   /file
    List the files in the selected API profile.
    e.g. http://<instance address>/rest/v1/apiprofile/name/<>/file

  • PATH   /file/name/{filename}
    e.g. http://<instance address>/rest/v1/apiprofile/name/<>/file/name/<filename>

    • GET   /export
      Export the selected file.
      e.g. http://<instance address>/rest/v1/apiprofile/name/<>/file/name/<>/export

    • POST   /revert
      Revert the selected file.
      e.g. http://<instance address>/rest/v1/apiprofile/name/<>/file/name/<>/revert

    • DELETE
      Delete the selected file via DELETE request.

    • GET   /get
      Get the selected API profile.
      e.g. http://<instance address>/rest/v1/apiprofile/name/<>/file/name/<>/get

    • POST   /delete
      Delete the selected file.
      e.g. http://<instance address>/rest/v1/apiprofile/name/<>/file/name/<>/delete

    • GET   /test
      Test the selected file.
      e.g. http://<instance address>/rest/v1/apiprofile/name/<>/file/name/<>/test

  • GET   /test
    Test the files in the selected API profile.
    e.g. http://<instance address>/rest/v1/apiprofile/name/<>/test

 

credential

  • GET   
    e.g. http://<instance address>/rest/v1/credential

  • PATH   /aws
    API for Amazon Web Services credentials
    e.g. http://<instance address>/rest/v1/credential/credential/aws

    • POST   /update
      Takes a body containing name, access key and secret key and updates this credential
      e.g. http://<instance address>/rest/v1/credential/aws/name/<>/update WITH POST DATA arg0

    • POST   /updateFromExport
      Takes a body containing an exported credential and updates this credential
      e.g. http://<instance address>/rest/v1/credential/aws/name/<>/updateFromExport WITH POST DATA arg0

    • DELETE
      Deletes the current credential

    • POST   /delete
      Deletes the current credential
      e.g. http://<instance address>/rest/v1/credential/aws/name/<>/delete

    • GET   /test
      Tests the current credential
      e.g. http://<instance address>/rest/v1/credential/aws/name/<>/test

    • GET   /export
      Exports the current credential
      e.g. http://<instance address>/rest/v1/credential/aws/name/<>/export

  • PATH   /gcp
    API for Google Cloud Platform credentials
    e.g. http://<instance address>/rest/v1/credential/credential/gcp

    • POST   /update
      Takes a body containing name and private key and updates this credential
      e.g. http://<instance address>/rest/v1/credential/gcp/name/<>/update WITH POST DATA arg0

    • POST   /updateFromExport
      Takes a body containing an exported credential and updates this credential
      e.g. http://<instance address>/rest/v1/credential/gcp/name/<>/updateFromExport WITH POST DATA arg0

    • DELETE
      Deletes the current credential

    • POST   /delete
      Deletes the current credential
      e.g. http://<instance address>/rest/v1/credential/gcp/name/<>/delete

    • GET   /test
      Tests the current credential
      e.g. http://<instance address>/rest/v1/credential/gcp/name/<>/test

    • GET   /export
      Exports the current credential
      e.g. http://<instance address>/rest/v1/credential/gcp/name/<>/export


driver

  • PATH   /
    Retrieves a list of drivers
    e.g. http://<instance address>/rest/v1/driver

 

group

  • PATH   /project
    Allows accessing Project APIs
    e.g. http://<instance address>/rest/v1/group/name/<>/project

    • POST   /delete
      Deletes a project via GET
      e.g. http://<instance address>/rest/v1/group/name/<>/project/name/<>/delete

       

    • POST   /import
      Import a Project with its Schedules, Environments, Versions and Variables
      e.g. http://<instance address>/rest/v1/group/name/project/import WITH POST DATA <ExportContainer>

       

    • PATH   /schedule
      Allows accessing Schedule APIs
      e.g. http://<instance address>/rest/v1/group/name/<>/project/name/<>/schedule

      • PATH   /schedule
        Allows accessing Schedule APIs
        e.g. http://<instance address>/rest/v1/group/name/<>/project/name/<>/schedule

        • POST   /delete
          Deletes this schedule
          e.g. http://<instance address>/rest/v1/group/name/<>/project/name/<>/schedule/name/<>/delete

        • POST   /update
          e.g. http://<instance address>/rest/v1/group/name/<>/project/name/<>/schedule/name/<>/update?ignoreUnresolved=false WITH POST DATA arg1

        • DELETE
          Deletes this schedule

        • GET   /name
          Gets the name of the schedule
          e.g. http://<instance address>/rest/v1/group/name/<>/project/name/<>/schedule/name/<>/name

        • GET   /id
          Gets the Queue ID of the schedule
          e.g. http://<instance address>/rest/v1/group/name/<>/project/name/<>/schedule/name/<>/id

        • GET   /export
          Produces an export container containing this schedule
          e.g. http://<instance address>/rest/v1/group/name/<>/project/name/<>/schedule/name/<>/export

      • PATH   /version
        Allows accessing Version APIs
        e.g. http://<instance address>/rest/v1/group/name/<>/project/name/<>/version

        • PATH   /job
          e.g. http://<instance address>/rest/v1/group/name/<>/project/name/<>/version/name/<>/job

          • POST   /run
            Run an Orchestration Job, where variable overrides can be passed in the body.
            e.g. http://<instance address>/rest/v1/group/name/<>/project/name/<>/version/name/<>/job/name/<>/run?environmentName=<environmentName> WITH POST DATA arg0

          • POST   /delete
            Deletes this Job
            e.g. http://<instance address>/rest/v1/group/name/<>/project/name/<>/version/name/<>/job/name/<>/delete

          • DELETE
            Deletes this Job

          • GET   /export
            e.g. http://<instance address>/rest/v1/group/name/<>/project/name/<>/version/name/<>/job/name/<>/export

        • POST   /delete
          Deletes this Version
          e.g. http://<instance address>/rest/v1/group/name/<>/project/name/<>/version/name/<>/delete

        • GET   /orchestration
          e.g. http://<instance address>/rest/v1/group/name/<>/project/name/<>/version/name/<>/orchestration

        • GET   /transformation
          e.g. http://<instance address>/rest/v1/group/name/<>/project/name/<>/version/name/<>/transformation

        • DELETE
          Deletes this Version

        • GET   /name
          e.g. http://<instance address>/rest/v1/group/name/<>/project/name/<>/version/name/<>/name

        • GET   /id
          e.g. http://<instance address>/rest/v1/group/name/<>/project/name/<>/version/name/<>/id

        • GET   /export
          e.g. http://<instance address>/rest/v1/group/name/<>/project/name/<>/version/name/<>/export

      • PATH   /task
        e.g. http://<instance address>/rest/v1/group/name/<>/project/name/<>/task

        • GET   /running
          e.g. http://<instance address>/rest/v1/group/name/<>/project/name/<>/task/running

        • GET   /history
          e.g. http://<instance address>/rest/v1/group/name/<>/project/name/<>/task/history?since=<since>

        • PATH   /id/{taskID:\\d+}
          e.g. http://<instance address>/rest/v1/group/name/<>/project/name/<>/task/id/<taskID>

        • PATH   /instance
          e.g. http://<instance address>/rest/v1/group/name/<>/project/name/<>/task/instance?taskID=<taskID>

      • PATH   /environment
        Allows accessing Environment APIs
        e.g. http://<instance address>/rest/v1/group/name/<>/project/name/<>/environment

        • GET   /id
          Gets the ID of the current environment
          e.g. http://<instance address>/rest/v1/group/name/<>/project/name/<>/environment/name/<>/id

        • GET   /export
          Download the current environment in an export container
          e.g. http://<instance address>/rest/v1/group/name/<>/project/name/<>/environment/name/<>/export

        • POST   /update
          Update the current environment by importing updated environment
          e.g. http://<instance address>/rest/v1/group/name/<>/project/name/<>/environment/name/<>/update WITH POST DATA arg0

        • PATH   /variable
          Download the current environment in an export container
          e.g. http://<instance address>/rest/v1/group/name/<>/project/name/<>/environment/name/<>/variable

          • POST   /delete
            Delete the current variable
            e.g. http://<instance address>/rest/v1/group/name/<>/project/name/<>/environment/name/<>/variable/name/<>/delete

          • POST   /set/value/{variableValue}
            Set new value for current Environment Variable
            e.g. http://<instance address>/rest/v1/group/name/<>/project/name/<>/environment/name/<>/variable/name/<>/set/value/<variableValue>

          • POST   /set/instance
            Set new value for current environment variable
            e.g. http://<instance address>/rest/v1/group/name/<>/project/name/<>/environment/name/<>/variable/name/<>/set/instance?variableValue=<variableValue>

          • DELETE
            Delete the current variable

          • GET   /value
            Returns default value for current environment variable
            e.g. http://<instance address>/rest/v1/group/name/<>/project/name/<>/environment/name/<>/variable/name/<>/value

        • GET   /test
          Test the current environment
          e.g. http://<instance address>/rest/v1/group/name/<>/project/name/<>/environment/name/<>/test

        • GET   /name
          Gets the name of the current environment
          e.g. http://<instance address>/rest/v1/group/name/<>/project/name/<>/environment/name/<>/name

      • GET   /name
        Gets the name of the current project
        e.g. http://<instanceaddress>/rest/v1/group/name/<>/project/name/<>/name

      • DELETE
        Deletes a project via DELETE

      • GET   /id
        Gets the id of the current project
        e.g. http://<instanceaddress>/rest/v1/group/name/<>/project/name/<>/id

      • GET   /export
        Export a Project with its Schedules, Passwords, Environments, Versions and Variables
        e.g. http://<instanceaddress>/rest/v1/group/name/<>/project/name/<>/export

    • DELETE
      Deletes this Project Group

    • POST   /delete
      Deletes this Project Group
      e.g. http://<instance address>/rest/v1/group/name/<>/delete

    • POST   /import
      Import an entire Project Group
      e.g. http://<instance address>/rest/v1/group/import WITH POST DATA <ExportContainer>

       

    • PATH   /password
      e.g. http://<instance address>/rest/v1/group/name/<>/password

      • POST   /delete
        Deletes the given password.
        e.g. http://<instanceaddress>/rest/v1/group/name/<>/password/name/<>/delete

      • POST   /updateFromExport
        Supply password as already encoded since password will be created as is.
        e.g. http://<instanceaddress>/rest/v1/group/name/<>/password/name/<>/updateFromExport WITH POST DATA arg0

      • DELETE
        Deletes the given password.

      • GET
        Exports the given password
        e.g. http://<instanceaddress>/rest/v1/group/name/<>/password/name/Testexport

      • POST   /update
        Supply password as plaintext as it will encode via encryptionType provided.
        e.g. http://<instanceaddress>/rest/v1/group/name/<>/password/name/<>/update WITH POST DATA arg0

      • POST   /create
        Supply password as plaintext to be Encoded by standard set in EncryptionType.
        e.g. http://<instanceaddress>/rest/v1/group/name/<>/password/create
      • POST   /import
        Import password via ExportContainer. Supply password as already encoded since password will be created as is.​
        e.g. http://<instanceaddress>/rest/v1/group/name/<>/password/import

      • GET   /get
        Returns the password.
        e.g. http://<instanceaddress>/rest/v1/group/name/<>/password/name/<>/get

      • GET   /name
        Gets the name of the password.
        e.g. http://<instanceaddress>/rest/v1/group/name/<>/password/name/<>/name

      • GET   /id
        Gets the ID of the password.
        e.g. http://<instanceaddress>/rest/v1/group/name/<>/password/name/<>/id

    • GET   /name
      Return the Name of the Project Group
      e.g. http://<instance address>/rest/v1/group/name/<>/name

    • GET   /id
      Return the ID of the Project Group
      e.g. http://<instance address>/rest/v1/group/name/<>/id

    • GET   /export
      Export a Project Group with its Passwords and Projects
      e.g. http://<instance address>/rest/v1/group/name/<>/export

     

    oauth

    • GET   /properties
      Get the properties of the selected OAuth.
      e.g. http://<instance address>/rest/v1/oauth/name/<>/properties

    • POST   /import
      Import one or more OAuths
      e.g. http://<instance address>/rest/v1/oauth/import

    • GET   /id
      Get the ID of the selected OAuth.
      e.g. http://<instance address>/rest/v1/oauth/name/<>/id

    • GET   /name
      Get the name of the selected OAuth.
      e.g. http://<instance address>/rest/v1/oauth/name/<>/name

    • DELETE
      Delete the selected OAuth.

    • GET   /type
      Get the type of the selected OAuth.
      e.g. http://<instance address>/rest/v1/oauth/name/<>/type

    • GET   /status
      Get the status of the selected OAuth.
      e.g. http://<instance address>/rest/v1/oauth/name/<>/status

    • GET   /settings
      Get the settings of the selected OAuth.
      e.g. http://<instance address>/rest/v1/oauth/name/<>/settings

    • POST   /delete
      Delete the selected OAuth.
      e.g. http://<instance address>/rest/v1/oauth/name/<>/delete

    • GET   /export
      Export the current OAuth.
      e.g. http://<instance address>/rest/v1/oauth/name/<>/export


    queue

    • GET   /test
      Test the queue
      e.g. http://<instance address>/rest/v1/queue/queue/test

    • GET   /export
      Import a queue from an export container
      e.g. http://<instance address>/rest/v1/queue/queue/export

    • POST   /import
      Export the queue
      e.g. http://<instance address>/rest/v1/queue/queue/import?ignoreUnresolved=false WITH POST DATA arg1


    task

    • PATH   /id/{taskID:\\d+}
      e.g. http://<instance address>/rest/v1/task/task/id/<taskID>

    • PATH   /instance
      e.g. http://<instance address>/rest/v1/task/task/instance?taskID=<taskID>

    • GET   /task
      e.g. http://<instance address>/rest/v1/task

permission

  • PATH   /group
    e.g. http://<instance address>/rest/v1/permission/permission/group

    • PATH   /roles
      e.g. http://<instance address>/rest/v1/permission/group/name/<>/roles

      • POST   /add
        Add a role to the selected permission group.
        e.g. http://<instance address>/rest/v1/permission/group/name/<>/roles/add WITH POST DATA arg0

      • POST   /remove
        Remove a role from the selected permission group.
        e.g. http://<instance address>/rest/v1/permission/group/name/<>/roles/remove WITH POST DATA arg0

      • GET   /get
        Get the list of roles assigned to the selected permission group.
        e.g. http://<instance address>/rest/v1/permission/group/name/<>/roles/get

    • GET   /parent
      Get the parent Group ID of the selected permission group.
      e.g. http://<instance address>/rest/v1/permission/group/name/<>/parent

    • DELETE
      Delete the selected permission group via a HTTP DELETE request.

    • GET   /export
      Export the selected permission group.
      e.g. http://<instance address>/rest/v1/permission/group/name/<>/export

    • POST   /update
      Update the selected permission group.
      e.g. http://<instance address>/rest/v1/permission/group/name/<>/update WITH POST DATA arg0

    • POST   /delete
      Delete the selected permission group via a HTTP POST request.
      e.g. http://<instance address>/rest/v1/permission/group/name/<>/delete

  • PATH   /user
    e.g. http://<instance address>/rest/v1/permission/permission/user

  • PATH   /global
    e.g. http://<instance address>/rest/v1/permission/permission/global

    • POST   /import
      Import one or more group permissions.
      e.g. http://<instance address>/rest/v1/permission/global/import WITH POST DATA arg0

    • PATH   /instance
      e.g. http://<instance address>/rest/v1/permission/global/instance?groupName=<groupName>

    • GET   /export
      Export all permissions for every group.
      e.g. http://<instance address>/rest/v1/permission/global/export

    • GET   /group
      List all group permission
      e.g. http://<instance address>/rest/v1/permission/global/group

    • PATH   /group/name/{group}
      e.g. http://<instance address>/rest/v1/permission/global/group/name/<group>

      • GET   /export
        Export all permissions for the selected group.
        e.g. http://<instance address>/rest/v1/permission/global/group/name/<>/export

      • POST   /clear
        Reset permissions for the selected group.
        e.g. http://<instance address>/rest/v1/permission/global/group/name/<>/clear

      • GET   /permission
        List permission in the selected group.
        e.g. http://<instance address>/rest/v1/permission/global/group/name/<>/permission

      • PATH   /permission/name/{permission}
        e.g. http://<instance address>/rest/v1/permission/global/group/name/<>/permission/name/<permission>

        • GET   /get
          Get the selected permission.
          e.g. http://<instance address>/rest/v1/permission/global/group/name/<>/permission/name/<>/get

        • POST   /update
          Update the selected permission. (DEFAULT, GRANTED, FORBIDDEN)
          e.g. http://<instance address>/rest/v1/permission/global/group/name/<>/permission/name/<>/update WITH POST DATA arg0

 

notice

  • PATH   /notice
    ​e.g. http://<instance address>/rest/v1/notice

    • GET   /notice/
      List all notices
      ​e.g. http://<instance address>/rest/v1/notice/

    • PATH   /notice/id/{id}
      Get notice by ID
      ​e.g. http://<instance address>/rest/v1/notice/instance?id=<id>

    • POST   /notice/create
      Create a notice
      ​e.g. http://<instance address>/rest/v1/notice/create

      ​​​
    • PATH   /notice/id/{id}
      ​e.g. http://<instance address>/rest/v1/notice/id/<id>​

      • DELETE      /notice/id/{id}
        Delete a notice.

      • GET   /notice/id/{id}/get
        Get a notice.
        e.g. http://<instance address>/rest/v1/notice/id/{id}/get

      • POST   /notice/id/{id}/delete
        Delete a notice.
        e.g. http://<instance address>/rest/v1/notice/id/{id}/delete

 

userconfig

  • POST   /userconfig/import
    Import  user configuration
    e.g. http://<instance address>/rest/v1/userconfig/import WITH POST DATA arg0

  • GET   /userconfig/export
    Export user configuration
    e.g. http://<instance address>/rest/v1/userconfig/export

  • PATH   /userconfig/import
    Get a user configuration by name
    e.g. http://<instance address>/rest/v1/userconfig/user/instance?userName=<username>

  • GET   /userconfig/user
    Retrieve a list of all users
    e.g. http://<instance address>/rest/v1/userconfig/user

  • POST   /update
    Supply password as plaintext as it will encode via encryptionType provided.
    e.g. http://<instanceaddress>/rest/v1/group/name/<>/password/name/<>/update WITH POST DATA arg0