Docs / Partners

Getting started

From requesting access to your first triggered build, in seven steps.

A partner is a business that sells to its own customers and uses Gage to price and place the steel frame: a prefab company, a design platform, a builder with an ordering site. You quote through the API, keep a margin, and hand the job to a fabricator in the Gage network when your customer commits. Your customer pays you; you pay the fabricator; Gage charges the fabricator its fee. No money moves through Gage.

#1. Request access

If Gage has sent you an invitation link, open it: the setup flow creates your account, sets your margin, and mints your first test key in a few minutes. Otherwise:

Fill in the form at the bottom of the developers page: your company, your name, your email, and a sentence on what you are building. You get a confirmation straight away. A person at Gage reviews the request, usually within two business days.

When it is approved you receive an email with a one-time link to set your password. The link lasts about an hour. If it has lapsed, use Forgot your password? on the developer sign-in page with the same email and a fresh one is sent.

#2. Get a key

Sign in at /developers/login. Your dashboard shows your account, your margin, and your keys. If you have not yet accepted the API Terms of Service, the dashboard asks you to first: the API is licensed for jobs built by Gage fabricators, and new keys wait until the terms are accepted. Then create a test key yourself: it prices against the live fabricator network, sends leads, registers models and fires webhooks, but it cannot reserve a fabricator or trigger a build, so nothing it does ever reaches a shop.

Live keys are issued by Gage once you have talked to us about volume and margin; they unlock /reserve, /accept and the rate cards. Reserving and triggering from your dashboard's Clients panel work regardless of which keys you hold, since you are signed in as the account.

#3. Quote a job

POST /api/v1/quotes with the building's parameters and a lead block describing your customer. The full field list is in the API reference.

curl -X POST https://buildwithgage.com/api/v1/quotes \
  -H "Authorization: Bearer $GAGE_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "type": "residential",
    "footprint_sqft": 600,
    "stories": 2,
    "wall_linear_ft": 180,
    "ceiling_heights_ft": [9, 9],
    "roof": { "type": "gable", "pitch": "6:12" },
    "openings": { "windows": 10, "doors": 3 },
    "gauge_spec": "20ga",
    "delivery": { "zip": "80202" },
    "lead": {
      "label": "Reyes / Cedar Street",
      "model": "Grange Garage I",
      "external_id": "EW-1042",
      "customer": { "name": "Dana Reyes", "email": "dana@example.com" }
    }
  }'

The response has two prices. pricing is retail, your cost with your margin applied, which is what you show your customer. wholesale is your cost. The quote is routed to the cheapest fabricator that can take the job; routing_candidates lists every shop that was considered and why any were skipped. Quotes are valid for 14 days.

The shop appears as a regional alias, "Mountain West Fabricator", not by name, and stays that way on everything you and your customer see until it has confirmed the job. That is deliberate: see Fabricator identity.

Have the drawings rather than the numbers? POST /plans reads a PDF plan set or a 3D model, frames the building in steel, and returns the quote with a model of the frame.

#4. Watch it on your dashboard

Every quote appears in the Clients panel of your dashboard as one row: the label or customer name, the model, total square footage, the delivery city, the fabricator lined up, retail and cost, and where it stands. Open a row for the customer details, the job facts, the linked project once there is one, and every nearby fabricator with distance and price.

You can do everything below from that panel as well as from the API.

#5. Reserve a fabricator

When the customer is real but has not committed, reserve the shop:

curl -X POST https://buildwithgage.com/api/v1/quotes/qte_.../reserve \
  -H "Authorization: Bearer $GAGE_API_KEY"

This creates a Gage project in the reserved state under a reference number the fabricator will keep for the whole job. The fabricator is emailed the job description with a sentence saying nothing is owed yet, and sees it in their portal. You can message them in the project thread. Nothing is charged to anyone.

If the customer walks away, POST /quotes/{id}/release. The held project is removed, the fabricator is told, and the quote is available again.

#6. Trigger the build

When money has changed hands on your side, trigger the build with POST /quotes/{id}/accept. It works on a priced quote directly, or on a reserved one, in which case the reservation becomes the job under the same reference.

curl -X POST https://buildwithgage.com/api/v1/quotes/qte_.../accept \
  -H "Authorization: Bearer $GAGE_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "contact": { "name": "Dana Reyes", "email": "dana@example.com", "phone": "555-0142" },
    "project_name": "Cedar Street ADU",
    "notify_customer": false,
    "deposit": { "received": true, "note": "$5,000 on 2026-09-12" }
  }'

Two flags matter here. notify_customer defaults to true and emails your customer a Gage-branded project link; set it to false when you own that relationship. deposit records that your customer paid you; it is shown to the fabricator and on the project, and Gage does not collect it.

Triggering awards the job to the fabricator at the wholesale price and opens their 48-hour window to confirm. If they do not, Gage moves the job to the next shop that can take it and emails you and your customer.

#7. Track it

GET /api/v1/jobs/{job_id} returns the live status from the fabricator's portal: accepted, then in_production, shipped, delivered. The same appears on your dashboard row. GET /api/v1/quotes lists everything you have quoted, with ?status= to filter.

#What your margin does

Your account has one margin percentage, set by Gage when the account is created and adjustable from your dashboard. It applies to the whole quote. Fabricators never see it: job records on their side are wholesale.

#Where to go next