Listrak Directories API
The Directories API from Listrak — 2 operation(s) for directories.
The Directories API from Listrak — 2 operation(s) for directories.
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
find_apisBrowse and filter every API in the catalog.get_api_artifactsOne API's artifacts, grouped by type.get_openapiThe primary OpenAPI for this API.find_similar_apisAPIs that look like this one.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.curl "https://apis.io/api/v1/apis/listrak-directories-api"
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
openapi: 3.2.0
info:
title: Listrak Directories API
version: 1.0.0
x-logo:
url: images/logo.png
description: 'Operations tagged Directories across 2 of this provider''s published API definitions: listrak-media-directories-api-openapi.yml, listrak-media-openapi.json. Each path carries the servers of the definition it was published in.'
servers:
- url: https://api.listrak.com/media
security:
- Bearer: []
tags:
- name: Directories
paths:
/v1/directories:
get:
tags:
- Directories
summary: List the top level directories
operationId: listTopLevelDirectories
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/DirectorySummaryResponse'
'401':
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
example:
status: 401
error: ERROR_UNAUTHORIZED
message: Authorization was denied for this request.
'403':
description: Forbidden
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
example:
status: 403
error: ERROR_FORBIDDEN
message: You do not have permission to access this resource.
'500':
description: Internal Server Error
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
example:
status: 500
error: ERROR_INTERNAL
message: An unexpected error occurred.
x-codeSamples:
- lang: C#
source: 'var client = new HttpClient();
client.BaseAddress = new Uri("https://api.listrak.com/media/");
client.DefaultRequestHeaders.Add("Authorization", "Bearer " + token);
var response = await client.GetAsync("v1/directories");'
- lang: PHP
source: "$client = new \\GuzzleHttp\\Client([\n 'base_uri' => 'https://api.listrak.com/media/'\n]);\n\n$res = $client->request('GET', 'v1/directories', [\n 'headers' => ['Authorization' => 'Bearer ' . $accessToken]\n]);"
servers:
- url: https://api.listrak.com/media
/v1/directories/{directoryId}:
get:
tags:
- Directories
summary: List subdirectories and files
operationId: listDirectoryContents
parameters:
- name: directoryId
in: path
required: true
schema:
pattern: ^-?(?:0|[1-9]\d*)$
type: integer
format: int32
- name: subdirectoriesPageNumber
in: query
schema:
pattern: ^-?(?:0|[1-9]\d*)$
type:
- integer
- string
format: int32
- name: subdirectoriesPageSize
in: query
schema:
pattern: ^-?(?:0|[1-9]\d*)$
type:
- integer
- string
format: int32
- name: filesPageNumber
in: query
schema:
pattern: ^-?(?:0|[1-9]\d*)$
type:
- integer
- string
format: int32
- name: filesPageSize
in: query
schema:
pattern: ^-?(?:0|[1-9]\d*)$
type:
- integer
- string
format: int32
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/DirectoryContentsResponse'
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
example:
status: 400
error: ERROR_INVALID_PARAMETER
message: The request is invalid.
'401':
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
example:
status: 401
error: ERROR_UNAUTHORIZED
message: Authorization was denied for this request.
'403':
description: Forbidden
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
example:
status: 403
error: ERROR_FORBIDDEN
message: You do not have permission to access this resource.
'404':
description: Not Found
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
example:
status: 404
error: ERROR_NOT_FOUND
message: The requested resource was not found.
'500':
description: Internal Server Error
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
example:
status: 500
error: ERROR_INTERNAL
message: An unexpected error occurred.
x-codeSamples:
- lang: C#
source: 'var client = new HttpClient();
client.BaseAddress = new Uri("https://api.listrak.com/media/");
client.DefaultRequestHeaders.Add("Authorization", "Bearer " + token);
var response = await client.GetAsync("v1/directories/{directoryId}");'
- lang: PHP
source: "$client = new \\GuzzleHttp\\Client([\n 'base_uri' => 'https://api.listrak.com/media/'\n]);\n\n$res = $client->request('GET', 'v1/directories/{directoryId}', [\n 'headers' => ['Authorization' => 'Bearer ' . $accessToken]\n]);"
post:
tags:
- Directories
summary: Create a directory
operationId: createDirectory
parameters:
- name: directoryId
in: path
required: true
schema:
pattern: ^-?(?:0|[1-9]\d*)$
type: integer
format: int32
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/CreateDirectoryRequest'
required: true
responses:
'201':
description: Created
content:
application/json:
schema:
$ref: '#/components/schemas/DirectoryResponse'
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
example:
status: 400
error: ERROR_INVALID_PARAMETER
message: The request is invalid.
'401':
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
example:
status: 401
error: ERROR_UNAUTHORIZED
message: Authorization was denied for this request.
'403':
description: Forbidden
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
example:
status: 403
error: ERROR_FORBIDDEN
message: You do not have permission to access this resource.
'404':
description: Not Found
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
example:
status: 404
error: ERROR_NOT_FOUND
message: The requested resource was not found.
'409':
description: Conflict
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
example:
status: 409
error: ERROR_CONFLICT
message: The resource conflicts with an existing resource.
'500':
description: Internal Server Error
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
example:
status: 500
error: ERROR_INTERNAL
message: An unexpected error occurred.
x-codeSamples:
- lang: C#
source: "var client = new HttpClient();\n\nclient.BaseAddress = new Uri(\"https://api.listrak.com/media/\");\nclient.DefaultRequestHeaders.Add(\"Authorization\", \"Bearer \" + token);\n\nvar response = await client.PostAsJsonAsync(\"v1/directories/{directoryId}\", new\n {\n Name = null\n });"
- lang: PHP
source: "$client = new \\GuzzleHttp\\Client([\n 'base_uri' => 'https://api.listrak.com/media/'\n]);\n\n$res = $client->request('POST', 'v1/directories/{directoryId}', [\n 'headers' => ['Authorization' => 'Bearer ' . $accessToken],\n 'json' => $jsonBody\n]);"
put:
tags:
- Directories
summary: Update the directory name or move it to a different directory
operationId: updateDirectory
parameters:
- name: directoryId
in: path
required: true
schema:
pattern: ^-?(?:0|[1-9]\d*)$
type: integer
format: int32
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/UpdateDirectoryRequest'
required: true
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/DirectoryResponse'
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
example:
status: 400
error: ERROR_INVALID_PARAMETER
message: The request is invalid.
'401':
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
example:
status: 401
error: ERROR_UNAUTHORIZED
message: Authorization was denied for this request.
'403':
description: Forbidden
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
example:
status: 403
error: ERROR_FORBIDDEN
message: You do not have permission to access this resource.
'404':
description: Not Found
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
example:
status: 404
error: ERROR_NOT_FOUND
message: The requested resource was not found.
'409':
description: Conflict
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
example:
status: 409
error: ERROR_CONFLICT
message: The resource conflicts with an existing resource.
'500':
description: Internal Server Error
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
example:
status: 500
error: ERROR_INTERNAL
message: An unexpected error occurred.
x-codeSamples:
- lang: C#
source: "var client = new HttpClient();\n\nclient.BaseAddress = new Uri(\"https://api.listrak.com/media/\");\nclient.DefaultRequestHeaders.Add(\"Authorization\", \"Bearer \" + token);\n\nvar response = await client.PutAsJsonAsync(\"v1/directories/{directoryId}\", new\n {\n Name = null,\n NewParentId = null\n });"
- lang: PHP
source: "$client = new \\GuzzleHttp\\Client([\n 'base_uri' => 'https://api.listrak.com/media/'\n]);\n\n$res = $client->request('PUT', 'v1/directories/{directoryId}', [\n 'headers' => ['Authorization' => 'Bearer ' . $accessToken],\n 'json' => $jsonBody\n]);"
delete:
tags:
- Directories
summary: Delete the directory
operationId: deleteDirectory
parameters:
- name: directoryId
in: path
required: true
schema:
pattern: ^-?(?:0|[1-9]\d*)$
type: integer
format: int32
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/SuccessResponse'
'401':
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
example:
status: 401
error: ERROR_UNAUTHORIZED
message: Authorization was denied for this request.
'403':
description: Forbidden
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
example:
status: 403
error: ERROR_FORBIDDEN
message: You do not have permission to access this resource.
'404':
description: Not Found
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
example:
status: 404
error: ERROR_NOT_FOUND
message: The requested resource was not found.
'500':
description: Internal Server Error
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
example:
status: 500
error: ERROR_INTERNAL
message: An unexpected error occurred.
x-codeSamples:
- lang: C#
source: 'var client = new HttpClient();
client.BaseAddress = new Uri("https://api.listrak.com/media/");
client.DefaultRequestHeaders.Add("Authorization", "Bearer " + token);
var response = await client.DeleteAsync("v1/directories/{directoryId}");'
- lang: PHP
source: "$client = new \\GuzzleHttp\\Client([\n 'base_uri' => 'https://api.listrak.com/media/'\n]);\n\n$res = $client->request('DELETE', 'v1/directories/{directoryId}', [\n 'headers' => ['Authorization' => 'Bearer ' . $accessToken]\n]);"
servers:
- url: https://api.listrak.com/media
components:
schemas:
Page:
required:
- pageNumber
- pageSize
- totalCount
type: object
properties:
pageNumber:
pattern: ^-?(?:0|[1-9]\d*)$
type:
- integer
- string
format: int32
pageSize:
pattern: ^-?(?:0|[1-9]\d*)$
type:
- integer
- string
format: int32
totalCount:
pattern: ^-?(?:0|[1-9]\d*)$
type:
- integer
- string
format: int32
example:
pageNumber: 1
pageSize: 100
totalCount: 12
CreateDirectoryRequest:
required:
- name
type: object
properties:
name:
type: string
example:
name: Product Photos
DirectoryResponse:
required:
- status
- data
type: object
properties:
status:
pattern: ^-?(?:0|[1-9]\d*)$
type:
- integer
- string
format: int32
data:
oneOf:
- type: 'null'
- $ref: '#/components/schemas/Directory'
UpdateDirectoryRequest:
required:
- name
- newParentId
type: object
properties:
name:
type:
- 'null'
- string
newParentId:
pattern: ^-?(?:0|[1-9]\d*)$
type:
- 'null'
- integer
- string
format: int32
example:
name: Updated Name
newParentId: 7
SuccessResponse:
required:
- status
- data
type: object
properties:
status:
pattern: ^-?(?:0|[1-9]\d*)$
type:
- integer
- string
format: int32
data: {}
File:
required:
- id
- directoryId
- name
- publicUrl
- size
- uploadDate
type: object
properties:
id:
pattern: ^-?(?:0|[1-9]\d*)$
type:
- integer
- string
format: int32
directoryId:
pattern: ^-?(?:0|[1-9]\d*)$
type:
- integer
- string
format: int32
name:
type: string
publicUrl:
type: string
size:
pattern: ^-?(?:0|[1-9]\d*)$
type:
- integer
- string
format: int64
uploadDate:
type: string
format: date-time
example:
id: 501
directoryId: 42
name: banner.png
publicUrl: https://mediacdn.listrak.com/12345/banner.png
size: 204800
uploadDate: '2026-06-01T14:32:00Z'
DirectorySummary:
required:
- id
- name
type: object
properties:
id:
pattern: ^-?(?:0|[1-9]\d*)$
type:
- integer
- string
format: int32
name:
type: string
example:
id: 1
name: My Company
DirectoryContents:
required:
- subdirectories
- files
- subdirectoriesPage
- filesPage
type: object
properties:
subdirectories:
type: array
items:
$ref: '#/components/schemas/Directory'
files:
type: array
items:
$ref: '#/components/schemas/File'
subdirectoriesPage:
$ref: '#/components/schemas/Page'
filesPage:
$ref: '#/components/schemas/Page'
ErrorResponse:
required:
- status
- error
- message
type: object
properties:
status:
pattern: ^-?(?:0|[1-9]\d*)$
type:
- integer
- string
format: int32
error:
type: string
message:
type: string
DirectorySummaryResponse:
required:
- status
- data
type: object
properties:
status:
pattern: ^-?(?:0|[1-9]\d*)$
type:
- integer
- string
format: int32
data:
type:
- 'null'
- array
items:
$ref: '#/components/schemas/DirectorySummary'
Directory:
required:
- id
- parentId
- name
type: object
properties:
id:
pattern: ^-?(?:0|[1-9]\d*)$
type:
- integer
- string
format: int32
parentId:
pattern: ^-?(?:0|[1-9]\d*)$
type:
- 'null'
- integer
- string
format: int32
name:
type: string
example:
id: 42
parentId: 7
name: Product Photos
DirectoryContentsResponse:
required:
- status
- data
type: object
properties:
status:
pattern: ^-?(?:0|[1-9]\d*)$
type:
- integer
- string
format: int32
data:
oneOf:
- type: 'null'
- $ref: '#/components/schemas/DirectoryContents'
securitySchemes:
Bearer:
type: http
description: Pass the Listrak auth token in the Authorization header.
scheme: bearer
bearerFormat: Listrak encrypted token
x-refined-from:
- listrak-media-directories-api-openapi.yml
- listrak-media-openapi.json
x-amazon-apigateway-security-policy: TLS_1_0
x-tagGroups:
- name: API Reference
tags:
- Events
- EventConfigurations