EasyFM - v5.0.0-beta.1
    Preparing search index...

    EasyFM - v5.0.0-beta.1

    easy-fm

    easy-fm is a Node.js client for Claris FileMaker Data API.

    It helps you connect Node.js code to FileMaker Server or FileMaker Cloud so you can fetch records, run finds, edit data, work with portals, and run scripts using a typed JavaScript or TypeScript API.

    • Node.js 22+
    • FileMaker Data API enabled
    • account with fmrest privilege
    • at least one accessible layout

    Claris Data API reference: help.claris.com/en/data-api-guide/content/index.html

    npm install @jd-data-limited/easy-fm
    
    import FMHost from "@jd-data-limited/easy-fm"

    const host = new FMHost("https://example.com")

    const database = host.database({
    database: "Contacts",
    credentials: {
    method: "filemaker",
    username: "api-user",
    password: "secret"
    },
    externalSources: []
    })

    const layout = database.layout("Contacts_API")
    const records = await layout.records.list({
    portals: {},
    limit: 25
    }).fetch()

    for (const record of records) {
    console.log(record.fields.FirstName.value, record.fields.LastName.value)
    }
    • FileMaker Data API is layout-based, so fields and portals must be available on the layout you use.
    • Portal data is not fetched unless you request it.
    • recordId and modId are internal FileMaker IDs. Avoid treating recordId as a business ID; modId can still be useful for change or concurrency checks.
    • Date and timestamp formatting follows the host timezone rules you configure, with defaults chosen to better match FileMaker UI expectations.

    Start here:

    Task guides:

    API reference:

    npm run docs:build
    
    npm test
    npm run test:unit
    npm run test:integration

    Integration tests require a working FileMaker environment and credentials.