Introduction to Finale GraphQL API

Introduction to Finale GraphQL API

Overview

The Finale GraphQL API provides a flexible, powerful way to query and interact with your inventory data. Unlike traditional REST APIs that require multiple requests to fetch related data, GraphQL allows you to request exactly the data you need in a single query.

Key Features

Consistent API Structure

All collections follow the same patterns:

What You Can Do

GraphQL vs REST

GraphQL Advantages:

When to Use GraphQL:

When to Use REST:

Core Concepts

ViewConnections

Every collection is accessed via a ViewConnection:

query {
  productViewConnection(first: 10) {
    edges {
      node {
        productId
        sku
      }
    }
  }
}

Pagination

All queries use cursor-based pagination:

query {
  orderViewConnection(first: 50) {
    pageInfo {
      hasNextPage
      endCursor
    }
  }
}

Filtering

Apply filters to narrow results:

query {
  orderViewConnection(
    first: 10
    type: ["SALES_ORDER"]
    status: ["OPEN"]
  ) {
    edges {
      node {
        orderId
      }
    }
  }
}

Sorting

Sort results by one or more fields:

query {
  orderViewConnection(
    first: 10
    sort: [{ field: "orderDate", mode: "desc" }]
  ) {
    edges {
      node {
        orderId
        orderDate
      }
    }
  }
}

Formatting

Control how field values are returned:

query {
  productViewConnection(first: 10) {
    edges {
      node {
        productId(formatter: "html")  # HTML with links
        sku(formatter: "none")        # Raw value
      }
    }
  }
}

Next Steps

  1. Set up authentication to access the API
  2. Run your first query to fetch data
  3. Explore available collections in the sidebar navigation
  4. Learn about core concepts in detail

Updated 9 months ago