File Management APIs File Resource

This service provides comprehensive file management operations including upload, download, delete, permissions, and metadata management.

Backup Pentaho system data

post

Performs a backup of the existing Pentaho System including content, schedules, users, roles, datasources, and the metastore.

Example Request:

POST pentaho/api/repo/files/backup

cURL Example:

curl -X POST \
  "http://localhost:8080/pentaho/api/repo/files/backup" \
  -H "Authorization: Basic YWRtaW46cGFzc3dvcmQ=" \
  -H "Content-Type: application/x-www-form-urlencoded" \
  -d "logFile=/path/to/export.log&logLevel=INFO&outputFile=/path/to/backup.zip"
Authorizations
AuthorizationstringRequired

HTTP Basic Authentication

Body
logFilestringOptional

Path to the log file for the backup operation

Example: /path/to/export.log
logLevelstringOptional

Log level for the backup operation

Example: INFO
outputFilestringOptional

Path for the output backup file

Example: /path/to/backup.zip
Responses
post
/repo/files/backup
POST /repo/files/backup HTTP/1.1
Host: 
Authorization: Basic username:password
Content-Type: application/x-www-form-urlencoded
Accept: */*
Content-Length: 86

"logFile='/path/to/export.log'&logLevel='INFO'&outputFile='/path/to/backup.zip'"
binary

System restore from backup

post

Performs a system restore of the Hitachi Vantara system. This includes content, schedules, users, roles, datasources, and the metastore.

Example Request:

POST pentaho/api/repo/files/systemRestore

cURL Example:

curl -X POST \
  "http://localhost:8080/pentaho/api/repo/files/systemRestore" \
  -H "Authorization: Basic YWRtaW46cGFzc3dvcmQ=" \
  -H "Content-Type: multipart/form-data" \
  -F "[email protected]" \
  -F "overwriteFile=true" \
  -F "applyAclSettings=true" \
  -F "overwriteAclSettings=true" \
  -F "logFile=/path/to/import.log" \
  -F "logLevel=INFO" \
  -F "backupBundlePath=/path/to/bundle"
Authorizations
AuthorizationstringRequired

HTTP Basic Authentication

Body
fileUploadstring · binaryRequired

The zip file generated using the backup endpoint, used to do a full system restore

overwriteFilestringOptional

The file to be imported

Example: /path/to/overwrite.zip
overwritestringOptional

Whether to overwrite existing files during restore. If kept at the default of true, overwrites any value found on the system with the matching value that is being imported. Values that exist on the system, but do not exist in the import will not be deleted. When the overwrite flag is equal to false, any value that is found in the import process that already exists will not be imported.

Example: true
applyAclSettingsstringOptional

Whether to apply ACL settings from the backup

Example: true
overwriteAclSettingsstringOptional

Whether to overwrite existing ACL settings

Example: true
logFilestringOptional

Path to the log file for the restore operation

Example: /path/to/import.log
logLevelstringOptional

Log level for the restore operation

Example: INFO
backupBundlePathstringOptional

Path to the backup bundle

Example: /path/to/bundle
Responses
post
/repo/files/systemRestore
POST /repo/files/systemRestore HTTP/1.1
Host: 
Authorization: Basic username:password
Content-Type: multipart/form-data
Accept: */*
Content-Length: 226

{
  "fileUpload": "binary",
  "overwriteFile": "/path/to/overwrite.zip",
  "overwrite": "true",
  "applyAclSettings": "true",
  "overwriteAclSettings": "true",
  "logFile": "/path/to/import.log",
  "logLevel": "INFO",
  "backupBundlePath": "/path/to/bundle"
}

No content

Move files to trash folder

put

Move a list of files to the user's trash folder.

Important Note: This end-point is not intended for concurrent execution by the same user or session. It facilitates the User Console deletion UI, and should not be used in a manner inconsistent with how that UI operates.

Example Request:

PUT pentaho/api/repo/files/delete

cURL Example:

curl -X PUT \
  "http://localhost:8080/pentaho/api/repo/files/delete" \
  -H "Authorization: Basic YWRtaW46cGFzc3dvcmQ=" \
  -H "Content-Type: text/plain" \
  -d "home:admin:file1.txt,home:admin:file2.txt"
Authorizations
AuthorizationstringRequired

HTTP Basic Authentication

Body
stringOptional

Comma separated list of the files to be moved to trash folder

Example: home:admin:file1.txt,home:admin:file2.txt
Responses
put
/repo/files/delete
PUT /repo/files/delete HTTP/1.1
Host: 
Authorization: Basic username:password
Content-Type: */*
Accept: */*
Content-Length: 43

"home:admin:file1.txt,home:admin:file2.txt"

No content

Permanently delete files from system

put

Permanently delete files from the repository system. This operation cannot be undone.

**Important Note: This end-point is not intended for concurrent execution by the same user or session. It facilitates the User Console deletion UI, and should not be used in a manner inconsistent with how that UI operates.

Example Request:

PUT pentaho/api/repo/files/deletepermanent

cURL Example:

curl -X PUT \
  "http://localhost:8080/pentaho/api/repo/files/deletepermanent" \
  -H "Authorization: Basic YWRtaW46cGFzc3dvcmQ=" \
  -H "Content-Type: text/plain" \
  -d "home:admin:file1.txt,home:admin:file2.txt"
Authorizations
AuthorizationstringRequired

HTTP Basic Authentication

Body
stringOptional

Comma separated list of the files to be deleted permanently

Example: home:admin:file1.txt,home:admin:file2.txt
Responses
put
/repo/files/deletepermanent
PUT /repo/files/deletepermanent HTTP/1.1
Host: 
Authorization: Basic username:password
Content-Type: */*
Accept: */*
Content-Length: 43

"home:admin:file1.txt,home:admin:file2.txt"

No content

Check if file exists

get

Checks if a file exists at the specified path in the repository.

Example Request:

GET pentaho/api/repo/exists?pathId=%2Fhome%2Fuser%2Ftest_file.wtr

cURL Example:

curl -X GET \
  "http://localhost:8080/pentaho/api/repo/files/exists?pathId=%2Fhome%2Fuser%2Ftest_file.wtr" \
  -H "Authorization: Basic YWRtaW46cGFzc3dvcmQ="
Authorizations
AuthorizationstringRequired

HTTP Basic Authentication

Query parameters
pathIdstringRequired

Encoded path of the repository file to check. Must be URL-encoded.

Example: home%2Fuser%2Ftest_file.wtr
Responses
get
/repo/files/exists
GET /repo/files/exists?pathId=home%2Fuser%2Ftest_file.wtr HTTP/1.1
Host: 
Authorization: Basic username:password
Accept: */*

No content

Get file or directory content

get

Takes a pathId and returns a JAX-RS Response object with the appropriate status code, header, and body containing the output stream based on the file located at the pathId.

Produces MediaType.WILDCARD (/) to support any content type based on the file being retrieved.

Example Request:

GET pentaho/api/repo/files/:jmeter-test:test_file_1.xml

cURL Example:

curl -X GET \
  "http://localhost:8080/pentaho/api/repo/files/jmeter-test:test_file_1.xml" \
  -H "Authorization: Basic YWRtaW46cGFzc3dvcmQ=" \
  -H "Accept: */*"
Authorizations
AuthorizationstringRequired

HTTP Basic Authentication

Path parameters
pathIdstringRequired

Colon separated path for the repository file

Example: jmeter-test:test_file_1.xml
Responses
get
/repo/files/{pathId}
GET /repo/files/{pathId} HTTP/1.1
Host: 
Authorization: Basic username:password
Accept: */*
binary

Create a new file

put

Creates a new file with the provided contents at a given path. Returns a JAX-RS Response object with the appropriate status code, header, and body.

Consumes MediaType.WILDCARD (/) to accept any content type for the file being created.

Example Request:

PUT /repo/files/:jmeter-test:test_file_1.xml

cURL Example:

curl -X PUT \
  "http://localhost:8080/pentaho/api/repo/files/jmeter-test:test_file_1.xml" \
  -H "Authorization: Basic YWRtaW46cGFzc3dvcmQ=" \
  -H "Content-Type: */*" \
  --data-binary @file_content.xml
Authorizations
AuthorizationstringRequired

HTTP Basic Authentication

Path parameters
pathIdstringRequired

The path from the root folder to the root node of the tree to return using colon characters in place of / or \ characters. To clarify /path/to/file, the encoded pathId would be :path:to:file

Example: jmeter-test:test_file_1.xml
Body
string · binaryOptional

An Input Stream with the contents of the file to be created

Responses
put
/repo/files/{pathId}
PUT /repo/files/{pathId} HTTP/1.1
Host: 
Authorization: Basic username:password
Content-Type: */*
Accept: */*
Content-Length: 8

"binary"

No content

Get file access control list

get

Retrieves the ACL settings of the requested repository file in either xml or json format.

Example Request:

GET pentaho/api/repo/files/:jmeter-test:test_file_1.xml/acl

cURL Example:

curl -X GET \
  "http://localhost:8080/pentaho/api/repo/files/:jmeter-test:test_file_1.xml/acl" \
  -H "Authorization: Basic YWRtaW46cGFzc3dvcmQ=" \
  -H "Accept: application/json"
Authorizations
AuthorizationstringRequired

HTTP Basic Authentication

Path parameters
pathIdstringRequired

Colon separated path for the repository file

Example: jmeter-test:test_file_1.xml
Responses
get
/repo/files/{pathId}/acl
GET /repo/files/{pathId}/acl HTTP/1.1
Host: 
Authorization: Basic username:password
Accept: */*
{
  "id": "acl-12345",
  "owner": "admin",
  "ownerType": 0,
  "inheriting": true,
  "entriesInheriting": true,
  "aces": [
    {
      "recipient": "user1",
      "recipientType": 0,
      "permissions": [
        0,
        1,
        2
      ]
    }
  ]
}

Update file access control list

put

This method is used to update and save the acls of the selected file to the repository. Supports both XML and JSON formats.

Example Request:

PUT pentaho/api/repo/files/:jmeter-test:test_file_1.xml/acl

cURL Example (JSON):

curl -X PUT \
  "http://localhost:8080/pentaho/api/repo/files/:jmeter-test:test_file_1.xml/acl" \
  -H "Authorization: Basic YWRtaW46cGFzc3dvcmQ=" \
  -H "Content-Type: application/json" \
  -d '{"entriesInheriting":true,"id":"d45d4972-989e-48d5-8bd0-f7024a77f08f","owner":"admin","ownerType":0}'

cURL Example (XML):

curl -X PUT \
  "http://localhost:8080/pentaho/api/repo/files/:jmeter-test:test_file_1.xml/acl" \
  -H "Authorization: Basic YWRtaW46cGFzc3dvcmQ=" \
  -H "Content-Type: application/xml" \
  -d '<?xml version="1.0" encoding="UTF-8" standalone="yes"?><repositoryFileAclDto><entriesInheriting>true</entriesInheriting><id>d45d4972-989e-48d5-8bd0-f7024a77f08f</id><owner>admin</owner><ownerType>0</ownerType></repositoryFileAclDto>'
Authorizations
AuthorizationstringRequired

HTTP Basic Authentication

Path parameters
pathIdstringRequired

Colon separated path for the repository file

Example: jmeter-test:test_file_1.xml
Body

Repository file access control list

idstringOptional

Unique identifier for the ACL

Example: acl-12345
ownerstringOptional

Owner of the file

Example: admin
ownerTypeintegerOptional

Type of owner (USER, ROLE)

Example: 0
inheritingbooleanOptional

Whether ACL inherits from parent

Example: true
entriesInheritingbooleanOptional

Whether entries inherit

Example: true
Responses
put
/repo/files/{pathId}/acl
PUT /repo/files/{pathId}/acl HTTP/1.1
Host: 
Authorization: Basic username:password
Content-Type: application/json
Accept: */*
Content-Length: 162

{
  "id": "acl-12345",
  "owner": "admin",
  "ownerType": 0,
  "inheriting": true,
  "entriesInheriting": true,
  "aces": [
    {
      "recipient": "user1",
      "recipientType": 0,
      "permissions": [
        0,
        1,
        2
      ]
    }
  ]
}

No content

Check whether the current user has specific permission on the selected repository file

get

Check whether the current user has specific permission on the selected repository file.

Example Request:

GET pentaho/api/repo/files/:jmeter-test:test_file_1.xml/canAccess?permissions=1

cURL Example:

curl -X GET \
  "http://localhost:8080/pentaho/api/repo/files/:jmeter-test:test_file_1.xml/canAccess?permissions=1" \
  -H "Authorization: Basic YWRtaW06cGFzc3dvcmQ="

Example Response:

true
Authorizations
AuthorizationstringRequired

HTTP Basic Authentication

Path parameters
pathIdstringRequired

Colon separated path for the repository file

Example: :jmeter-test:test_file_1.xml
Query parameters
permissionsstringOptional

Pipe separated list of permissions

Example: 1
Responses
get
/repo/files/{pathId}/canAccess
GET /repo/files/{pathId}/canAccess HTTP/1.1
Host: 
Authorization: Basic username:password
Accept: */*
true

Check file access permissions map

get

Checks whether the current user has permissions to the selected files. This can check for more than one permission at once but will only return true if all permissions checked are valid.

Example Request:

GET pentaho/api/repo/files/:jmeter-test:test_file_1.txt/canAccessMap?permissions=1

cURL Example:

curl -X GET \
  "http://localhost:8080/pentaho/api/repo/files/:jmeter-test:test_file_1.txt/canAccessMap?permissions=1" \
  -H "Authorization: Basic YWRtaW46cGFzc3dvcmQ=" \
  -H "Accept: application/json"
Authorizations
AuthorizationstringRequired

HTTP Basic Authentication

Path parameters
pathIdstringRequired

Colon separated path for the repository file

Example: home:admin:test_file_1.txt
Query parameters
permissionsstringRequired

Pipe separated permissions to be checked

Example: 1
Responses
get
/repo/files/{pathId}/canAccessMap
GET /repo/files/{pathId}/canAccessMap?permissions=1 HTTP/1.1
Host: 
Authorization: Basic username:password
Accept: */*
<settingsWrapper>
  <setting>
    <name>1</name>
    <value>true</value>
  </setting>
</settingsWrapper>

Download file or directory

get

Download the selected file or folder from the repository. In order to download file from the repository, the user needs to have Publish action. How the file comes down to the user and where it is saved is system and browser dependent.

Example Request:

GET pentaho/api/repo/files/:jmeter-test:test_file_1.xml/download?locale=de

cURL Example:

curl -X GET \
  "http://localhost:8080/pentaho/api/repo/files/:jmeter-test:test_file_1.xml/download?locale=de" \
  -H "Authorization: Basic YWRtaW46cGFzc3dvcmQ=" \
  -H "User-Agent: Mozilla/5.0" \
  -o test_file_1.xml

Example Response:

Encrypted file stream
Authorizations
AuthorizationstringRequired

HTTP Basic Authentication

Path parameters
pathIdstringRequired

Colon separated path for the repository file.

Example: :jmeter-test:test_file_1.xml
Query parameters
withManifeststringOptional

true or false (download file with manifest). Defaults to true (include manifest) if this string can't be directly parsed to 'false' (case sensitive). This argument is only used if a directory is being downloaded.

Example: true
Header parameters
user-agentstringOptional

A string representing the type of browser to use. Currently only applicable if contains 'FireFox' as FireFox requires a header with encoding information (UTF-8) and a quoted filename, otherwise encoding information is not supplied and the filename is not quoted.

Example: Mozilla/5.0
Responses
get
/repo/files/{pathId}/download
GET /repo/files/{pathId}/download HTTP/1.1
Host: 
Authorization: Basic username:password
Accept: */*
binary

Get file as inline content

get

Retrieves the file from the repository as inline. This is mainly used for css and dependent files for the html document.

Example Request:

GET pentaho/api/repo/files/:jmeter-test:test_file_1.xml/inline

cURL Example:

curl -X GET \
  "http://localhost:8080/pentaho/api/repo/files/:jmeter-test:test_file_1.xml/inline" \
  -H "Authorization: Basic YWRtaW46cGFzc3dvcmQ="

Example Response:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<repositoryFileAclDto>
  <entriesInheriting>true</entriesInheriting>
  <id>d45d4972-989e-48d5-8bd0-f7024a77f08f</id>
  <owner>admin</owner>
  <ownerType>0</ownerType>
</repositoryFileAclDto>
Authorizations
AuthorizationstringRequired

HTTP Basic Authentication

Path parameters
pathIdstringRequired

Colon separated path for the repository file

Example: :jmeter-test:test_file_1.xml
Responses
get
/repo/files/{pathId}/inline
GET /repo/files/{pathId}/inline HTTP/1.1
Host: 
Authorization: Basic username:password
Accept: */*
binary

Get file locale information

get

Retrieves the list of locale maps for the selected repository file.

Example Request:

GET pentaho/api/repo/files/:jmeter-test:test_file_1.xml/locales

cURL Example:

curl -X GET \
  "http://localhost:8080/pentaho/api/repo/files/:jmeter-test:test_file_1.xml/locales" \
  -H "Authorization: Basic YWRtaW46cGFzc3dvcmQ=" \
  -H "Accept: application/json"
Authorizations
AuthorizationstringRequired

HTTP Basic Authentication

Path parameters
pathIdstringRequired

Colon separated path for the repository file

Example: :jmeter-test:test_file_1.xml
Responses
get
/repo/files/{pathId}/locales
GET /repo/files/{pathId}/locales HTTP/1.1
Host: 
Authorization: Basic username:password
Accept: */*
{
  "localePropertiesMapEntries": [
    {
      "locale": "default",
      "properties": [
        {
          "key": "file.title",
          "value": "myFile"
        },
        {
          "key": "jcr:primaryType",
          "value": "nt:unstructured"
        },
        {
          "key": "title",
          "value": "myFile"
        },
        {
          "key": "file.description",
          "value": "myFile Description"
        }
      ]
    }
  ]
}

Get locale properties for a file

get

Retrieve the list of locale properties for a given locale.

Example Request:

GET pentaho/api/repo/files/:jmeter-test:test_file_1.xml/localeProperties?locale=ja

cURL Example:

curl -X GET \
  "http://localhost:8080/pentaho/api/repo/files/:jmeter-test:test_file_1.xml/localeProperties?locale=ja" \
  -H "Authorization: Basic YWRtaW46cGFzc3dvcmQ=" \
  -H "Accept: application/json"
Authorizations
AuthorizationstringRequired

HTTP Basic Authentication

Path parameters
pathIdstringRequired

Colon separated path for the repository file

Example: :jmeter-test:test_file_1.xml
Query parameters
localestringRequired

The specified locale

Example: ja
Responses
get
/repo/files/{pathId}/localeProperties
GET /repo/files/{pathId}/localeProperties?locale=ja HTTP/1.1
Host: 
Authorization: Basic username:password
Accept: */*
{
  "stringKeyStringValueDtoes": [
    {
      "key": "file.title",
      "value": "File Title"
    },
    {
      "key": "jcr:primaryType",
      "value": "nt:unstructured"
    },
    {
      "key": "title",
      "value": "File Title"
    }
  ]
}

Set locale properties for a file

put

Save list of locale properties for a given locale.

Example Request:

PUT pentaho/api/repo/files/:jmeter-test:test_file_1.xml/localeProperties?locale=ja

cURL Example:

curl -X PUT \
  "http://localhost:8080/pentaho/api/repo/files/:jmeter-test:test_file_1.xml/localeProperties?locale=ja" \
  -H "Authorization: Basic YWRtaW46cGFzc3dvcmQ=" \
  -H "Content-Type: application/xml" \
  -d '<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
  <stringKeyStringValueDtoes>
    <stringKeyStringValueDto>
      <key>file.title</key>
      <value>チャート選択リスト</value>
    </stringKeyStringValueDto>
    <stringKeyStringValueDto>
      <key>jcr:primaryType</key>
      <value>nt:unstructured</value>
    </stringKeyStringValueDto>
    <stringKeyStringValueDto>
      <key>file.description</key>
      <value>複数のチャートタイプを表示します</value>
    </stringKeyStringValueDto>
  </stringKeyStringValueDtoes>'

Example Response:

This response does not contain data.
Authorizations
AuthorizationstringRequired

HTTP Basic Authentication

Path parameters
pathIdstringRequired

Colon separated path for the repository file

Example: :jmeter-test:test_file_1.xml
Query parameters
localestringRequired

A string representation of the locale to set properties on

Example: ja
Body
Responses
put
/repo/files/{pathId}/localeProperties
PUT /repo/files/{pathId}/localeProperties?locale=ja HTTP/1.1
Host: 
Authorization: Basic username:password
Content-Type: application/json
Accept: */*
Content-Length: 228

{
  "stringKeyStringValueDtoes": [
    {
      "key": "file.title",
      "value": "チャート選択リスト"
    },
    {
      "key": "jcr:primaryType",
      "value": "nt:unstructured"
    },
    {
      "key": "file.description",
      "value": "複数のチャートタイプを表示します"
    }
  ]
}
<?xml version="1.0"?>
<object/>

Delete locale for a file

put

Delete the locale for the selected file.

Example Request:

PUT pentaho/api/repo/files/:jmeter-test:test_file_1.xml/deleteLocale?locale=ja

cURL Example:

curl -X PUT \
  "http://localhost:8080/pentaho/api/repo/files/:jmeter-test:test_file_1.xml/deleteLocale?locale=ja" \
  -H "Authorization: Basic YWRtaW46cGFzc3dvcmQ="

Example Response:

This response does not contain data.
Authorizations
AuthorizationstringRequired

HTTP Basic Authentication

Path parameters
pathIdstringRequired

Colon separated path for the repository file

Example: :jmeter-test:test_file_1.xml
Query parameters
localestringRequired

A string representations of the locale to be deleted

Example: ja
Responses
put
/repo/files/{pathId}/deleteLocale
PUT /repo/files/{pathId}/deleteLocale?locale=ja HTTP/1.1
Host: 
Authorization: Basic username:password
Accept: */*
<?xml version="1.0"?>
<object/>

Get directory children

get

Retrieve a list of child files from the selected repository path of the repository.

Example Request:

GET pentaho/api/repo/files/:jmeter-test/children

cURL Example:

curl -X GET \
  "http://localhost:8080/pentaho/api/repo/files/:jmeter-test/children" \
  -H "Authorization: Basic YWRtaW46cGFzc3dvcmQ=" \
  -H "Accept: application/json"
Authorizations
AuthorizationstringRequired

HTTP Basic Authentication

Path parameters
pathIdstringRequired

The path from the root folder to the root node of the tree to return using colon characters in place of / or \ characters. To clarify /path/to/file, the encoded pathId would be :path:to:file.

Example: :jmeter-test
Query parameters
filterstringOptional

Filter to be applied for search. The filter can be broken down into 3 parts; File types, Child Node Filter, and Member Filters. Each part is separated with a pipe (|) character. File Types are represented by a word phrase. This phrase is recognized as a file type phrase and processed accordingly. Valid File Type word phrases include "FILES", "FOLDERS", and "FILES_FOLDERS" and denote whether to return files, folders, or both files and folders, respectively. The Child Node Filter is a list of allowed names of files separated by the pipe (|) character. Each file name in the filter may be a full name or a partial name with one or more wildcard characters ("*"). The filter does not apply to root node. The Member Filter portion of the filter parameter allows the caller to specify which properties of the metadata to return. Member Filters start with "includeMembers=" or "excludeMembers=" followed by a list of comma separated field names that are to be included in, or, excluded from, the list. Valid field names can be found in org.pentaho.platform.repository2.unified.webservices#RepositoryFileAdapter. Omission of a member filter will return all members. It is invalid to both and includeMembers= and an excludeMembers= clause in the same service call.

showHiddenbooleanOptional

Include or exclude hidden files from the file list

Default: false
includeAclsbooleanOptional

Include permission information about the file in the output

Default: false
Responses
get
/repo/files/{pathId}/children
GET /repo/files/{pathId}/children HTTP/1.1
Host: 
Authorization: Basic username:password
Accept: */*
<repositoryFileTreeDto>
  <children>
    <file>
      <createdDate>1405356318621</createdDate>
      <fileSize>-1</fileSize>
      <folder>true</folder>
      <hidden>false</hidden>
      <id>fileId</id>
      <locale>en</locale>
      <locked>false</locked>
      <name>admin</name>
      <ownerType>-1</ownerType>
      <path>/path/to/dir</path>
      <title>admin</title>
      <versioned>false</versioned>
    </file>
  </children>
</repositoryFileTreeDto>

Get directory tree

get

Retrieve the recursive list of children of the selected repository file.

Example Request:

GET pentaho/api/repo/files/:public/tree?showHidden=false&filter=*|FILES&_=1389042244670

cURL Example:

curl -X GET \
  "http://localhost:8080/pentaho/api/repo/files/:public/tree?showHidden=false&filter=*|FILES&_=1389042244670" \
  -H "Authorization: Basic YWRtaW46cGFzc3dvcmQ=" \
  -H "Accept: application/json"
Authorizations
AuthorizationstringRequired

HTTP Basic Authentication

Path parameters
pathIdstringRequired

The path from the root folder to the root node of the tree to return using colon characters in place of / or \ characters. To clarify /path/to/file, the encoded pathId would be :path:to:file.

Example: :public
Query parameters
depthintegerOptional

How many level should the search go.

filterstringOptional

Filter to be applied for search. The filter can be broken down into 3 parts; File types, Child Node Filter, and Member Filters. Each part is separated with a pipe (|) character.

File Types are represented by a word phrase. This phrase is recognized as a file type phrase and processed accordingly. Valid File Type word phrases include "FILES", "FOLDERS", and "FILES_FOLDERS" and denote whether to return files, folders, or both files and folders, respectively.

The Child Node Filter is a list of allowed names of files separated by the pipe (|) character. Each file name in the filter may be a full name or a partial name with one or more wildcard characters ("*"). The filter does not apply to root node.

The Member Filter portion of the filter parameter allows the caller to specify which properties of the metadata to return. Member Filters start with "includeMembers=" or "excludeMembers=" followed by a list of comma separated field names that are to be included in, or, excluded from, the list. Valid field names can be found in org.pentaho.platform.repository2.unified.webservices#RepositoryFileAdapter. Omission of a member filter will return all members. It is invalid to both and includeMembers= and an excludeMembers= clause in the same service call.

Example: *|FILES
showHiddenbooleanOptional

Include or exclude hidden files from the file list.

Default: false
includeAclsbooleanOptional

Include permission information about the file in the output.

Default: false
includeSysDirsbooleanOptional

Include system directories in the output.

Default: false
Responses
get
/repo/files/{pathId}/tree
GET /repo/files/{pathId}/tree HTTP/1.1
Host: 
Authorization: Basic username:password
Accept: */*
{
  "children": [
    {
      "file": {
        "createdDate": 1405356318621,
        "fileSize": -1,
        "folder": true,
        "hidden": false,
        "id": "fileId",
        "locale": "en",
        "locked": false,
        "name": "admin",
        "ownerType": -1,
        "path": "/path/to/dir",
        "title": "admin",
        "versioned": false
      }
    }
  ]
}

Check administration permissions

get

Checks to see if the current user is an administer of the platform and returns a boolean response.

Example Request:

GET pentaho/api/repo/files/canAdminister

cURL Example:

curl -X GET \
  "http://localhost:8080/pentaho/api/repo/files/canAdminister" \
  -H "Authorization: Basic YWRtaW46cGFzc3dvcmQ="
Authorizations
AuthorizationstringRequired

HTTP Basic Authentication

Responses
get
/repo/files/canAdminister
GET /repo/files/canAdminister HTTP/1.1
Host: 
Authorization: Basic username:password
Accept: */*
200

Successfully returns a boolean value, either true or false

true

Check create permissions

get

Checks the users permission to determine if that user can create new content in the repository.

Example Request:

GET pentaho/api/repo/files/canCreate

cURL Example:

curl -X GET \
  "http://localhost:8080/pentaho/api/repo/files/canCreate" \
  -H "Authorization: Basic YWRtaW46cGFzc3dvcmQ="
Authorizations
AuthorizationstringRequired

HTTP Basic Authentication

Responses
get
/repo/files/canCreate
GET /repo/files/canCreate HTTP/1.1
Host: 
Authorization: Basic username:password
Accept: */*
200

Successfully returns true or false depending on the users permissions

true

Get reserved characters

get

Returns the list of reserved characters from the repository.

Example Request:

GET pentaho/api/repo/files/reservedCharacters

cURL Example:

curl -X GET \
  "http://localhost:8080/pentaho/api/repo/files/reservedCharacters" \
  -H "Authorization: Basic YWRtaW46cGFzc3dvcmQ="
Authorizations
AuthorizationstringRequired

HTTP Basic Authentication

Responses
get
/repo/files/reservedCharacters
GET /repo/files/reservedCharacters HTTP/1.1
Host: 
Authorization: Basic username:password
Accept: */*
200

Successfully returns a list of repositroy reserved characters

/ "

Get reserved characters for display

get

Returns the list of reserved characters from the repository.

Example Request:

GET pentaho/api/repo/files/reservedCharactersDisplay

cURL Example:

curl -X GET \
  "http://localhost:8080/pentaho/api/repo/files/reservedCharactersDisplay" \
  -H "Authorization: Basic YWRtaW46cGFzc3dvcmQ="
Authorizations
AuthorizationstringRequired

HTTP Basic Authentication

Responses
get
/repo/files/reservedCharactersDisplay
GET /repo/files/reservedCharactersDisplay HTTP/1.1
Host: 
Authorization: Basic username:password
Accept: */*
200

Successfully returns a list of repositroy reserved characters

/, \, \t, \r, \nF

Check edit permissions

get

Checks the users permission to determine if that user can edit an existing content in the repository.

Example Request:

GET pentaho/api/repo/files/canEdit

cURL Example:

curl -X GET \
  "http://localhost:8080/pentaho/api/repo/files/canEdit" \
  -H "Authorization: Basic YWRtaW46cGFzc3dvcmQ="
Authorizations
AuthorizationstringRequired

HTTP Basic Authentication

Responses
get
/repo/files/canEdit
GET /repo/files/canEdit HTTP/1.1
Host: 
Authorization: Basic username:password
Accept: */*
200

Successfully returns true or false depending on the users permissions

true

Rename file or directory

put

Rename the selected file.

Example Request:

PUT pentaho/api/repo/files/:jmeter-test:test_file_1.xml/rename?newName=test_file_8

cURL Example:

curl -X PUT \
  "http://localhost:8080/pentaho/api/repo/files/:jmeter-test:test_file_1.xml/rename?newName=test_file_8" \
  -H "Authorization: Basic YWRtaW46cGFzc3dvcmQ="
Authorizations
AuthorizationstringRequired

HTTP Basic Authentication

Path parameters
pathIdstringRequired

The path from the root folder to the root node of the tree to return using colon characters in place of / or \ characters. To clarify /path/to/file, the encoded pathId would be :path:to:file.

Example: :jmeter-test:test_file_1.xml
Query parameters
newNamestringRequired

String indicating the new name of the file.

Example: test_file_8
Responses
put
/repo/files/{pathId}/rename
PUT /repo/files/{pathId}/rename?newName=test_file_8 HTTP/1.1
Host: 
Authorization: Basic username:password
Accept: */*
This response does not contain data.

Get root directory properties

get

Retrieves the properties of the root directory.

Example Request:

GET pentaho/api/repo/files/properties

cURL Example:

curl -X GET \
  "http://localhost:8080/pentaho/api/repo/files/properties" \
  -H "Authorization: Basic YWRtaW46cGFzc3dvcmQ=" \
  -H "Accept: application/json"
Authorizations
AuthorizationstringRequired

HTTP Basic Authentication

Responses
get
/repo/files/properties
GET /repo/files/properties HTTP/1.1
Host: 
Authorization: Basic username:password
Accept: */*
{
  "createdDate": 1406731649407,
  "fileSize": -1,
  "folder": true,
  "hidden": false,
  "id": "6d93372c-4908-47af-9815-3aa6307e392c",
  "locale": "en",
  "locked": false,
  "name": "",
  "ownerType": -1,
  "path": "/",
  "title": "",
  "versioned": false
}

Get specific file properties

get

Retrieves the properties of a selected repository file.

Example Request:

GET pentaho/api/repo/files/:/properties

cURL Example:

curl -X GET \
  "http://localhost:8080/pentaho/api/repo/files/home:admin:report.prpt/properties" \
  -H "Authorization: Basic YWRtaW46cGFzc3dvcmQ=" \
  -H "Accept: application/json"
Authorizations
AuthorizationstringRequired

HTTP Basic Authentication

Path parameters
pathIdstringRequired

Colon separated path for the repository file.

Example: home:admin:report.prpt
Responses
get
/repo/files/{pathId}/properties
GET /repo/files/{pathId}/properties HTTP/1.1
Host: 
Authorization: Basic username:password
Accept: */*
{
  "createdDate": "1406732545857",
  "description": "description",
  "fileSize": "1234",
  "folder": "false",
  "hidden": "false",
  "id": "fileId",
  "lastModifiedDate": "1406732545858",
  "locale": "en",
  "localePropertiesMapEntries": [
    {
      "locale": "default",
      "properties": [
        {
          "key": "file.title",
          "value": "afile"
        },
        {
          "key": "description",
          "value": "afile.prpti"
        },
        {
          "key": "jcr:primaryType",
          "value": "nt:unstructured"
        },
        {
          "key": "title",
          "value": "afile"
        },
        {
          "key": "file.description",
          "value": "afile.prpti"
        }
      ]
    }
  ],
  "locked": "false",
  "name": "filename",
  "ownerType": "-1",
  "path": "pathToFile:filename",
  "title": "title",
  "versioned": "false"
}

Get file metadata

get

Retrieve the metadata of the selected file. Even though the hidden flag is a property of the file node itself, and not the metadata child, it is considered metadata from PUC and is included in the setMetadata call.

Example Request:

GET pentaho/api/repo/files/:jmeter-test:test_file_1.xml/metadata

cURL Example:

curl -X GET \
  "http://localhost:8080/pentaho/api/repo/files/home:admin:report.prpt/metadata" \
  -H "Authorization: Basic YWRtaW46cGFzc3dvcmQ=" \
  -H "Accept: application/json"
Authorizations
AuthorizationstringRequired

HTTP Basic Authentication

Path parameters
pathIdstringRequired

The path from the root folder to the root node of the tree to return using colon characters in place of / or \ characters. To clarify /path/to/file, the encoded pathId would be :path:to:file.

Example: :jmeter-test:test_file_1.xml
Responses
get
/repo/files/{pathId}/metadata
GET /repo/files/{pathId}/metadata HTTP/1.1
Host: 
Authorization: Basic username:password
Accept: */*
{
  "stringKeyStringValueDtoes": [
    {
      "key": "KEY",
      "value": "VALUE"
    }
  ]
}

Update file metadata

put

Store the metadata of the selected file. Even though the hidden flag is a property of the file node itself, and not the metadata child, it is considered metadata from PUC and is included in the setMetadata call.

Example Request:

PUT pentaho/api/repo/files/:jmeter-test:test_file_1.xml/metadata

cURL Example:

curl -X PUT \
  "http://localhost:8080/pentaho/api/repo/files/:jmeter-test:test_file_1.xml/metadata" \
  -H "Authorization: Basic YWRtaW46cGFzc3dvcmQ=" \
  -H "Content-Type: application/json" \
  -d '{
    "stringKeyStringValueDtoes": [
      {
        "key": "metadata.key.1",
        "value": "metadata.value.1"
      }
    ]
  }'
Authorizations
AuthorizationstringRequired

HTTP Basic Authentication

Path parameters
pathIdstringRequired

The path from the root folder to the root node of the tree to return using colon characters in place of / or \ characters. To clarify /path/to/file, the encoded pathId would be :path:to:file.

Example: :jmeter-test:test_file_1.xml
Body
anyOptional
Responses
put
/repo/files/{pathId}/metadata
PUT /repo/files/{pathId}/metadata HTTP/1.1
Host: 
Authorization: Basic username:password
Content-Type: application/json
Accept: */*
Content-Length: 83

{
  "stringKeyStringValueDtoes": [
    {
      "key": "metadata.key.1",
      "value": "metadata.value.1"
    }
  ]
}

No content

Create directory

put

Creates a new folder with the specified name.

Example Request:

PUT pentaho/api/repo/files/:public:jmeter-test-dir/createDir

cURL Example:

curl -X PUT \
  "http://localhost:8080/pentaho/api/repo/files/:public:jmeter-test-dir/createDir" \
  -H "Authorization: Basic YWRtaW46cGFzc3dvcmQ="
Authorizations
AuthorizationstringRequired

HTTP Basic Authentication

Path parameters
pathIdstringRequired

The path from the root folder to the root node of the tree to return using colon characters in place of / or \ characters. To clarify /path/to/file, the encoded pathId would be :path:to:file.

Example: :public:jmeter-test-dir
Responses
put
/repo/files/{pathId}/createDir
PUT /repo/files/{pathId}/createDir HTTP/1.1
Host: 
Authorization: Basic username:password
Accept: */*

No content

Get generated content

get

Retrieve the list of executed contents for a selected content from the repository.

Example Request:

GET pentaho/api/repo/files/:jmeter-test:test_file_1.xml/generatedContent?locale=de

cURL Example:

curl -X GET \
  "http://localhost:8080/pentaho/api/repo/files/:jmeter-test:test_file_1.xml/generatedContent?locale=de" \
  -H "Authorization: Basic YWRtaW46cGFzc3dvcmQ=" \
  -H "Accept: application/json"
Authorizations
AuthorizationstringRequired

HTTP Basic Authentication

Path parameters
pathIdstringRequired

Colon separated path for the destination for files to be copied.

Example: :jmeter-test:test_file_1.xml
Responses
get
/repo/files/{pathId}/generatedContent
GET /repo/files/{pathId}/generatedContent HTTP/1.1
Host: 
Authorization: Basic username:password
Accept: */*
200

Successfully retrieved the list of RepositoryFileDto objects.

{
  "repositoryFileDtoes": [
    {
      "createdDate": 1402911997019,
      "fileSize": 3461,
      "folder": false,
      "hidden": false,
      "id": "ff11ac89-7eda-4c03-aab1-e27f9048fd38",
      "lastModifiedDate": 1406647160536,
      "locale": "en",
      "localePropertiesMapEntries": [
        {
          "locale": "default",
          "properties": [
            {
              "key": "file.title",
              "value": "myFile"
            },
            {
              "key": "jcr:primaryType",
              "value": "nt:unstructured"
            },
            {
              "key": "title",
              "value": "myFile"
            },
            {
              "key": "file.description",
              "value": "myFile Description"
            }
          ]
        }
      ],
      "locked": false,
      "name": "myFile.prpt",
      "originalParentFolderPath": "/public/admin",
      "ownerType": -1,
      "path": "/public/admin/ff11ac89-7eda-4c03-aab1-e27f9048fd38",
      "title": "myFile",
      "versionId": "1.9",
      "versioned": true
    }
  ]
}

Get generated content for user

get

Retrieve the executed contents for a selected repository file and a given user.

Example Request:

GET pentaho/api/repo/files/:jmeter-test:test_file_1.xml/generatedContentForUser?user=admin

cURL Example:

curl -X GET \
  "http://localhost:8080/pentaho/api/repo/files/:jmeter-test:test_file_1.xml/generatedContentForUser?user=admin" \
  -H "Authorization: Basic YWRtaW46cGFzc3dvcmQ=" \
  -H "Accept: application/json"
Authorizations
AuthorizationstringRequired

HTTP Basic Authentication

Path parameters
pathIdstringRequired

Colon separated path for the destination for files to be copied.

Example: :jmeter-test:test_file_1.xml
Query parameters
userstringOptional

The username for the generated content folder.

Example: admin
Responses
get
/repo/files/{pathId}/generatedContentForUser
GET /repo/files/{pathId}/generatedContentForUser HTTP/1.1
Host: 
Authorization: Basic username:password
Accept: */*
{
  "children": [
    {
      "aclNode": false,
      "createdDate": 1406647160654,
      "creatorId": "admin",
      "deleted": false,
      "description": "Generated content for user admin",
      "fileSize": 2048,
      "folder": false,
      "hidden": false,
      "id": "ff11ac89-7eda-4c03-aab1-e27f9048fd38",
      "locale": "en",
      "locked": false,
      "name": "admin_output.pdf",
      "originalParentFolderPath": "/public/admin/generated",
      "ownerType": -1,
      "path": "/public/admin/generated/ff11ac89-7eda-4c03-aab1-e27f9048fd38",
      "title": "Generated Report for admin",
      "versionId": "1.0",
      "versioned": false
    },
    {
      "aclNode": false,
      "createdDate": 1406647220912,
      "creatorId": "admin",
      "deleted": false,
      "description": "Generated content for user admin",
      "fileSize": 1024,
      "folder": false,
      "hidden": false,
      "id": "bb22ac89-7eda-4c03-aab1-e27f9048fd99",
      "locale": "en",
      "locked": false,
      "name": "admin_data.xlsx",
      "originalParentFolderPath": "/public/admin/generated",
      "ownerType": -1,
      "path": "/public/admin/generated/bb22ac89-7eda-4c03-aab1-e27f9048fd99",
      "title": "Generated Data Export for admin",
      "versionId": "1.0",
      "versioned": false
    }
  ]
}

Check download permissions

get

Validates if a current user is authorized to download content from the given dir.

Example Request:

GET pentaho/api/repo/files/canDownload

cURL Example:

curl -X GET \
  "http://localhost:8080/pentaho/api/repo/files/canDownload" \
  -H "Authorization: Basic YWRtaW46cGFzc3dvcmQ="
Authorizations
AuthorizationstringRequired

HTTP Basic Authentication

Query parameters
dirPathstringOptional

to be validated for download action for the current user.

Default: ""
Responses
get
/repo/files/canDownload
GET /repo/files/canDownload HTTP/1.1
Host: 
Authorization: Basic username:password
Accept: */*
200

Returns a boolean response.

false

Check upload permissions

get

Validates if a current user is authorized to upload content to the given dir

Example Request:

GET pentaho/api/repo/files/canUpload

cURL Example:

curl -X GET \
  "http://localhost:8080/pentaho/api/repo/files/canUpload" \
  -H "Authorization: Basic YWRtaW46cGFzc3dvcmQ="
Authorizations
AuthorizationstringRequired

HTTP Basic Authentication

Query parameters
dirPathstringOptional

to be validated for upload action for the current user.

Default: ""
Responses
get
/repo/files/canUpload
GET /repo/files/canUpload HTTP/1.1
Host: 
Authorization: Basic username:password
Accept: */*
200

Returns a boolean response.

false

Get root children

get

Retrieve a list of child files from the root of the repository.

Example Request:

GET pentaho/api/repo/files/children?showHidden=false&filter=*|FILES&_=1389042244670

cURL Example:

curl -X GET \
  "http://localhost:8080/pentaho/api/repo/files/children?showHidden=false&filter=*|FILES" \
  -H "Authorization: Basic YWRtaW46cGFzc3dvcmQ=" \
  -H "Accept: application/json"
Authorizations
AuthorizationstringRequired

HTTP Basic Authentication

Query parameters
filterstringOptional

Filter to be applied for search. The filter can be broken down into 3 parts; File types, Child Node Filter, and Member Filters. Each part is separated with a pipe (|) character.

File Types are represented by a word phrase. This phrase is recognized as a file type phrase and processed accordingly. Valid File Type word phrases include "FILES", "FOLDERS", and "FILES_FOLDERS" and denote whether to return files, folders, or both files and folders, respectively.

The Child Node Filter is a list of allowed names of files separated by the pipe (|) character. Each file name in the filter may be a full name or a partial name with one or more wildcard characters ("*"). The filter does not apply to root node.

The Member Filter portion of the filter parameter allows the caller to specify which properties of the metadata to return. Member Filters start with "includeMembers=" or "excludeMembers=" followed by a list of comma separated field names that are to be included in, or, excluded from, the list. Valid field names can be found in org.pentaho.platform.repository2.unified.webservices#RepositoryFileAdapter. Omission of a member filter will return all members. It is invalid to both and includeMembers= and an excludeMembers= clause in the same service call.

Example: *|FILES
showHiddenbooleanOptional

Include or exclude hidden files from the file list.

Example: false
includeAclsbooleanOptional

Include permission information about the file in the output.

Default: false
Responses
get
/repo/files/children
GET /repo/files/children HTTP/1.1
Host: 
Authorization: Basic username:password
Accept: */*
{
  "children": [
    {
      "aclNode": false,
      "createdDate": 1389042244670,
      "creatorId": "admin",
      "deleted": false,
      "description": "Public folder for shared content",
      "fileSize": -1,
      "folder": true,
      "hidden": false,
      "id": "95dcf4d8-3011-4d8b-9716-7cc8c5de21b4",
      "locale": "en",
      "locked": false,
      "name": "public",
      "originalParentFolderPath": "/",
      "ownerType": -1,
      "path": "/public",
      "title": "Public",
      "versionId": "1.0",
      "versioned": false
    },
    {
      "aclNode": false,
      "createdDate": 1389042244671,
      "creatorId": "admin",
      "deleted": false,
      "description": "Home directories for users",
      "fileSize": -1,
      "folder": true,
      "hidden": false,
      "id": "a1bcf4d8-3011-4d8b-9716-7cc8c5de21c5",
      "locale": "en",
      "locked": false,
      "name": "home",
      "originalParentFolderPath": "/",
      "ownerType": -1,
      "path": "/home",
      "title": "Home",
      "versionId": "1.0",
      "versioned": false
    }
  ]
}

Get deleted files

get

Retrieve a list of files in the trash folder of the repository.

Example Request:

GET pentaho/api/repo/files/deleted

cURL Example:

curl -X GET \
  "http://localhost:8080/pentaho/api/repo/files/deleted" \
  -H "Authorization: Basic YWRtaW46cGFzc3dvcmQ=" \
  -H "Accept: application/json"
Authorizations
AuthorizationstringRequired

HTTP Basic Authentication

Responses
get
/repo/files/deleted
GET /repo/files/deleted HTTP/1.1
Host: 
Authorization: Basic username:password
Accept: */*
{
  "children": [
    {
      "createdDate": 1405356406448,
      "deletedDate": 1406573914167,
      "fileSize": 10477,
      "folder": false,
      "hidden": false,
      "id": "fileId",
      "lastModifiedDate": 1405356406448,
      "locale": "en",
      "localePropertiesMapEntries": [
        {
          "locale": "default",
          "properties": [
            {
              "key": "file.title",
              "value": "File Title"
            },
            {
              "key": "jcr:primaryType",
              "value": "nt:unstructured"
            },
            {
              "key": "title",
              "value": "filename"
            },
            {
              "key": "file.description",
              "value": ""
            }
          ]
        }
      ],
      "locked": false,
      "name": "filename.ext",
      "originalParentFolderPath": "/original/path/to/file",
      "ownerType": -1,
      "path": "/path/to/file",
      "title": "File Title",
      "versionId": "1.3",
      "versioned": true
    }
  ]
}

Check paths access list

post

Checks whether the current user has permissions to the provided list of paths.

Example Request:

POST pentaho/api/repo/files/pathsAccessList

cURL Example (JSON):

curl -X POST \
  "http://localhost:8080/pentaho/api/repo/files/pathsAccessList" \
  -H "Authorization: Basic YWRtaW46cGFzc3dvcmQ=" \
  -H "Content-Type: application/json" \
  -d '{
    "strings": ["/public", "/home/admin", "/etc"]
  }'

cURL Example (XML):

curl -X POST \
  "http://localhost:8080/pentaho/api/repo/files/pathsAccessList" \
  -H "Authorization: Basic YWRtaW46cGFzc3dvcmQ=" \
  -H "Content-Type: application/xml" \
  -d '<?xml version="1.0" encoding="UTF-8"?>
  <stringListWrapper>
    <strings>/public</strings>
    <strings>/home/admin</strings>
    <strings>/etc</strings>
  </stringListWrapper>'
Authorizations
AuthorizationstringRequired

HTTP Basic Authentication

Body

Wrapper for list of strings

stringListstring[]Optional

List of strings

Example: ["item1","item2","item3"]
Responses
post
/repo/files/pathsAccessList
POST /repo/files/pathsAccessList HTTP/1.1
Host: 
Authorization: Basic username:password
Content-Type: application/json
Accept: */*
Content-Length: 44

{
  "strings": [
    "/public",
    "/home/admin",
    "/etc"
  ]
}
{
  "settings": [
    {
      "name": "/public",
      "value": "1"
    },
    {
      "name": "/home/admin",
      "value": "1"
    },
    {
      "name": "/etc",
      "value": "0"
    }
  ]
}

Get repository tree

get

Retrieve the recursive list of files from root of the repository based on the filters provided.

Example Request:

GET pentaho/api/repo/files/tree?showHidden=false&filter=*|FILES&_=1389042244670

cURL Example:

curl -X GET \
  "http://localhost:8080/pentaho/api/repo/files/tree?showHidden=false&filter=*|FILES" \
  -H "Authorization: Basic YWRtaW46cGFzc3dvcmQ=" \
  -H "Accept: application/json"
Authorizations
AuthorizationstringRequired

HTTP Basic Authentication

Query parameters
depthintegerOptional

How many level should the search go.

filterstringOptional

Filter to be applied for search. The filter can be broken down into 3 parts; File types, Child Node Filter, and Member Filters. Each part is separated with a pipe (|) character.

File Types are represented by a word phrase. This phrase is recognized as a file type phrase and processed accordingly. Valid File Type word phrases include "FILES", "FOLDERS", and "FILES_FOLDERS" and denote whether to return files, folders, or both files and folders, respectively.

The Child Node Filter is a list of allowed names of files separated by the pipe (|) character. Each file name in the filter may be a full name or a partial name with one or more wildcard characters ("*"). The filter does not apply to root node.

The Member Filter portion of the filter parameter allows the caller to specify which properties of the metadata to return. Member Filters start with "includeMembers=" or "excludeMembers=" followed by a list of comma separated field names that are to be included in, or, excluded from, the list. Valid field names can be found in org.pentaho.platform.repository2.unified.webservices#RepositoryFileAdapter. Omission of a member filter will return all members. It is invalid to both and includeMembers= and an excludeMembers= clause in the same service call.

Example: *|FILES
showHiddenbooleanOptional

Include or exclude hidden files from the file list.

Example: false
includeAclsbooleanOptional

Include permission information about the file in the output.

Default: false
Responses
get
/repo/files/tree
GET /repo/files/tree HTTP/1.1
Host: 
Authorization: Basic username:password
Accept: */*
{
  "children": [
    {
      "file": {
        "createdDate": 1405356318621,
        "fileSize": -1,
        "folder": true,
        "hidden": false,
        "id": "fileId",
        "locale": "en",
        "locked": false,
        "name": "admin",
        "ownerType": -1,
        "path": "/path/to/dir",
        "title": "admin",
        "versioned": false
      }
    }
  ]
}

Was this helpful?