Listrak Files API
The Files API from Listrak — 2 operation(s) for files.
The Files API from Listrak — 2 operation(s) for files.
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-files-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 Files API
version: 1.0.0
x-logo:
url: images/logo.png
description: 'Operations tagged Files across 2 of this provider''s published API definitions: listrak-media-files-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: Files
paths:
/v1/directories/{directoryId}/files:
post:
tags:
- Files
summary: Create a file
operationId: createFile
parameters:
- name: directoryId
in: path
required: true
schema:
pattern: ^-?(?:0|[1-9]\d*)$
type: integer
format: int32
requestBody:
content:
multipart/form-data:
schema:
required:
- contents
- name
type: object
allOf:
- type: object
properties:
contents:
$ref: '#/components/schemas/IFormFile'
- type: object
properties:
name:
type: string
required: true
responses:
'201':
description: Created
content:
application/json:
schema:
$ref: '#/components/schemas/FileResponse'
'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();
client.BaseAddress = new Uri("https://api.listrak.com/media/");
client.DefaultRequestHeaders.Add("Authorization", "Bearer " + token);
var response = await client.PostAsJsonAsync("v1/directories/{directoryId}/files", );'
- 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}/files', [\n 'headers' => ['Authorization' => 'Bearer ' . $accessToken]\n]);"
servers:
- url: https://api.listrak.com/media
/v1/directories/{directoryId}/files/{fileId}:
put:
tags:
- Files
summary: Update the file name or move it to a different directory
operationId: updateFile
parameters:
- name: directoryId
in: path
required: true
schema:
pattern: ^-?(?:0|[1-9]\d*)$
type: integer
format: int32
- name: fileId
in: path
required: true
schema:
pattern: ^-?(?:0|[1-9]\d*)$
type: integer
format: int32
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/UpdateFileRequest'
required: true
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/FileResponse'
'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}/files/{fileId}\", new\n {\n Name = null,\n NewDirectoryId = 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}/files/{fileId}', [\n 'headers' => ['Authorization' => 'Bearer ' . $accessToken],\n 'json' => $jsonBody\n]);"
delete:
tags:
- Files
summary: Delete the file
operationId: deleteFile
parameters:
- name: directoryId
in: path
required: true
schema:
pattern: ^-?(?:0|[1-9]\d*)$
type: integer
format: int32
- name: fileId
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}/files/{fileId}");'
- 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}/files/{fileId}', [\n 'headers' => ['Authorization' => 'Bearer ' . $accessToken]\n]);"
servers:
- url: https://api.listrak.com/media
components:
schemas:
FileResponse:
required:
- status
- data
type: object
properties:
status:
pattern: ^-?(?:0|[1-9]\d*)$
type:
- integer
- string
format: int32
data:
oneOf:
- type: 'null'
- $ref: '#/components/schemas/File'
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'
UpdateFileRequest:
required:
- name
- newDirectoryId
type: object
properties:
name:
type:
- 'null'
- string
newDirectoryId:
pattern: ^-?(?:0|[1-9]\d*)$
type:
- 'null'
- integer
- string
format: int32
example:
name: new-name.png
newDirectoryId: 7
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
IFormFile:
type: string
format: binary
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-files-api-openapi.yml
- listrak-media-openapi.json
x-amazon-apigateway-security-policy: TLS_1_0
x-tagGroups:
- name: API Reference
tags:
- Events
- EventConfigurations