Content
Overview
Content represents files and documents stored in the Finale system. This collection manages uploaded files, attachments, and other binary content with associated metadata. Content items can be images, documents, PDFs, or any other file type that needs to be stored and referenced within the system.
Each content record tracks the physical file location, storage service, file size, and MIME type. The system stores files in cloud storage services and maintains metadata about each file for efficient retrieval and management. Content items are typically referenced by other entities - for example, products can have an image attachment through the imageTooltip field which returns a Content object containing the product's image file and metadata.
The content collection supports querying by contentUrl for direct lookup of specific files, as well as browsing all content with standard pagination. Files are stored externally with the fileUrl providing the actual download location, while the contentUrl serves as the unique identifier within Finale.
Content metadata includes descriptive information like description and timestamps (createdDate, lastUpdatedDate) that help track when files were uploaded or modified. Content types and document types (contentTypeId, documentTypeId) provide categorization for different kinds of files, enabling filtering and organization of stored content.
The serviceName field indicates which cloud storage service hosts the file, supporting scenarios where content may be distributed across multiple storage backends. The metaData field stores additional arbitrary information about the content as needed for specific use cases.
GraphQL API
The content collection provides access to content data via the GraphQL API. All queries use the Relay connection specification with cursor-based pagination.
Query Name:contentViewConnection
Available Features:
- Cursor-based pagination (first/last/after/before)
- 2 filter options
- 3 sortable fields
Query Examples
Basic Query
The content collection is accessed via the contentViewConnection query, which returns a Relay-style connection with pagination support.
query {
contentViewConnection(first: 10) {
edges {
node {
}
}
pageInfo {
hasNextPage
endCursor
}
}
}
Pagination
Use cursor-based pagination to retrieve large datasets:
# First page
query {
contentViewConnection(first: 50) {
edges {
node { contentTypeId }
}
pageInfo {
hasNextPage
endCursor
}
}
}
# Subsequent pages
query {
contentViewConnection(first: 50, after: "cursor-from-previous-page") {
edges {
node { contentTypeId }
}
pageInfo {
hasNextPage
endCursor
}
}
}
Filtering
Apply filters to narrow results:
query {
contentViewConnection(
first: 10
contentUrl: "/finaleengineer/api/content/100000"
) {
edges {
node { contentTypeId }
}
}
}
Sorting
Sort results by one or more fields:
query {
contentViewConnection(
first: 10
sort: [{ field: "contentUrl", mode: "desc" }]
) {
edges {
node {
contentTypeId
contentUrl
}
}
}
}
Fields
This collection has 11 fields:
- 11 simple fields
- 0 enum fields (with predefined values)
- 0 parameterized fields (accept query options)
Simple Fields
contentUrl
The unique identifier for this content item within Finale. This URL is automatically generated by the server and serves as the primary reference key when linking to content from other entities like products or jobs. Use this value in queries to retrieve a specific content item directly.
IMPORTANT: Treat URL values as opaque strings supplied by the server.
Label: Content URL
GraphQL Type:String
Sortable: Yes
fileUrl
The URL where the file is stored and can be downloaded. This URL is automatically generated by the server and points to the physical file location in cloud storage. Use this URL to retrieve the file contents for display or download.
Label: File URL
GraphQL Type:String
Sortable: No
serviceName
The name of the cloud storage service hosting this file. Finale can store content across multiple storage backends, and this field indicates which service is currently storing this particular file.
Label: Service Name
GraphQL Type:String
Sortable: No
metaData
Additional metadata about the content stored as a string. This field can contain arbitrary information specific to the content type or use case.
Label: Metadata
GraphQL Type:String
Sortable: No
mimeType
The MIME type of the file, such as "image/jpeg", "application/pdf", or "text/csv".
Label: MIME Type
GraphQL Type:String
Sortable: No
size
The file size in bytes. This value helps with storage management and displaying file size information to users.
Label: Size
GraphQL Type:Int
Sortable: No
description
A human-readable description of the content.
Label: Description
GraphQL Type:String
Sortable: No
contentTypeId
An identifier indicating the category or type of content.
Label: Content Type
GraphQL Type:String
Sortable: No
documentTypeId
An identifier for the document type classification.
Label: Document Type
GraphQL Type:String
Sortable: No
createdDate
The date and time when this content item was initially created or uploaded to the system.
Label: Created Date
GraphQL Type:String
Sortable: Yes
lastUpdatedDate
The date and time when this content item was last modified or updated.
Label: Last Updated
GraphQL Type:String
Sortable: Yes
Relations
No relations available.
Filters
contentUrl
- Label: Content URL
- Type: String
- Enabled: Yes
Filter Type: Text value
Usage Example:
query {
contentViewConnection(
first: 10
contentUrl: "/finaleengineer/api/content/100000"
) {
edges {
node {
name
contentUrl
}
}
}
}
sort
- Label: Sort
- Type: List|sort
- Enabled: Yes
Filter Type: Text value
Usage Example:
query {
contentViewConnection(
first: 10
sort: "name"
) {
edges {
node {
name
sort
}
}
}
}