Skip to main content
GET
/
v1
/
files
List files
curl --request GET \
  --url https://api-eu.flexportal.io/v1/files \
  --header 'Authorization: Bearer <token>' \
  --header 'Tenant-ID: <tenant-id>'
{
  "files": [
    {
      "fileId": "<string>",
      "tenantId": "<string>",
      "orderId": "<string>",
      "type": "<string>",
      "category": "generated",
      "filename": "<string>",
      "contentType": "<string>",
      "fileSize": 123,
      "storagePath": "<string>",
      "uploadedBy": "<string>",
      "createdAt": "<string>",
      "updatedAt": "<string>",
      "originalFilename": "<string>",
      "metadata": {}
    }
  ],
  "count": 123,
  "limit": 123,
  "offset": 123,
  "filters": {
    "orderId": "<string>",
    "type": "<string>"
  }
}

Overview

Retrieve a list of files associated with orders, subscriptions, or your tenant. Files include contracts, invoices, uploaded documents, and other attachments.

File Types

TypeDescription
contractSubscription contract documents
invoiceBilling invoices
documentGeneral uploaded documents
attachmentOrder or subscription attachments

Common Use Cases

Order Documents

Retrieve contracts and documents for an order

Customer Portal

Display documents for customer self-service

Invoice History

List invoices for a customer or subscription

Document Management

Manage uploaded documents and attachments

Filtering Files

# Get files for an order
GET /v1/files?orderId=ord_abc123

# Get files by type
GET /v1/files?type=contract

# Get invoices for a customer
GET /v1/files?customerId=cust_abc123&type=invoice

Response Fields

FieldDescription
fileIdUnique file identifier
fileNameOriginal file name
fileTypeType: contract, invoice, document, attachment
mimeTypeMIME type (e.g., application/pdf)
sizeFile size in bytes
orderIdAssociated order (if applicable)
customerIdAssociated customer
createdAtUpload timestamp

Example: Get Order Documents

async function getOrderDocuments(orderId) {
  const { files } = await listFiles({ orderId });

  return files.map(file => ({
    name: file.fileName,
    type: file.fileType,
    size: `${(file.size / 1024).toFixed(1)} KB`
  }));
}

Authorizations

Authorization
string
header
required

API key obtained from FlexPortal dashboard

Headers

Tenant-ID
string
required

Your tenant identifier

Query Parameters

orderId
string

Filter by order ID

type
string

Filter by file type

limit
string

Items per page (default: 50)

Response

200 - application/json

List of files

files
object[]
required
count
number
required
limit
number
offset
number
filters
object