Skip to main content

The Factory API: what it is and how to get access

What the Factory API can do, what it can't do yet, and how to create an API key for your developer.

The Factory API lets your other software send data into Factory and read data out of it. The goal is to automate, removing the need for you or your team typing the same job twice. This article explains what it is, what it can and can't do today, and how to get your developer set up.

What is an API?

An API is a way for one piece of software to talk to another. You're already using one: when Factory sends your job and purchase data to QuickBooks, Xero or MYOB, that's Factory talking to your accounting package through its API.

The Factory API works the other way round. It lets other software push data into your Factory account or pull data out of it. Access is controlled by an API key you create in Factory and hand to whoever is building the connection.

API vs webhooks

There are two parts, and they do different jobs.

  • The API is how other software asks Factory for data (for example, an order or your stock levels) or sends data in (for example, a new order or quote).

  • Webhooks let other software listen for changes in Factory and act on them, such as when an order's status changes. Your other system gets a nudge when something happens, instead of having to keep asking Factory whether it has.

What it can do

Your other systems can create:

  • Orders and quotes, including their line items, labels and flashing drawings

  • Customers

They can also edit line items on orders and quotes, set labels, and update stock on hand for your catalogue products.

They can read orders, quotes, customers, your catalogue (products, kits and flashing templates), stock levels, suppliers, your order statuses, labels, users and company settings.

Webhooks fire when an order is created, updated, changes status or is archived, and when a quote is created, updated, changes status or is converted to an order.

Some examples of what people can build

  • Orders without retyping. Orders taken on a website, customer portal, spreadsheet or CRM land in Factory as orders, ready for your team to check and run.

  • Quotes from your other tools. A configurator or estimating tool creates the quote in Factory for you.

    • If this sounds interesting to you, we agree AND we're currently working on order importer tool. Keep your eyes peeled!

  • Other systems kept in the loop. When a quote becomes an order, or an order changes status, your CRM or customer messaging tool is told about it and can update itself.

What it can't do yet

Worth knowing before anyone starts building:

  • Workflow status, fulfilment and payment can only be changed in Factory. The API can read them, but it can't move an order to a new status or mark it paid. Those changes show up the next time your other system reads the order.

  • Webhooks cover orders and quotes only. Changes to customers, your catalogue or stock levels don't send a webhook yet, so your developer will need to check those periodically.

  • Factory doesn't pull data from other software. The API lets other systems talk to Factory, not the other way round.

  • Usage limits apply. The exact limits haven't been published yet. Your developer should build in a retry if Factory asks them to slow down.

*Note: This is version 1. We're adding to the API over time, and nothing above is permanent.

Who builds the connection?

The API is not a ready made connection to any particular app. Someone has to write the code (or vibecode it!) that connects Factory to your other system. That can be:

  • The other software's vendor, if they build a Factory integration into their product (the same way we built ours for QuickBooks, Xero and MYOB).

  • A developer, your IT person or a software partner who builds a small piece of software that sits between the two systems and moves data between them.

Don't have a developer? We're taking on a small number of integration builds ourselves as paid projects. Contact our team with the system you want connected and what should flow between it and Factory, and we'll tell you whether it's one we can take on.

How to get access

  1. In Factory, go to Settings > Developer and create an API key.

  2. Copy the key straight away. It's only shown once.

  3. Give it to your developer along with a link to developer.factory.app, which has a quickstart, worked guides and the full reference.

If your integration uses webhooks, the key needs to be created by an administrator on your Factory account. Webhooks won't work with a non administrator key.

Keep your key safe

An API key gives access to your company's Factory data, so treat it like a password.

  • Only share it with the person or partner building your integration.

  • Create a separate key for each integration, so you can switch one off without breaking the others.

  • If a key is lost or someone leaves, delete it in Settings. It stops working straight away. Create a new one and pass it on.

A note for your developer

The API works on your live Factory account, so test on orders you don't mind having in there (leave orders as drafts while testing). Webhook deliveries can occasionally be missed, so pair them with a regular check of the order and quote change feeds. The developer docs explain how.

Not sure if this applies to you?

Contact our team and tell us what you're trying to connect. We'll help you work out whether the API can do it and what it would take.

Did this answer your question?