The AxeFax API allows developers with valid API tokens to query a wide range of information about instruments. To get a token for your application, contact Joe Glaser.

The AxeFax API may be accessed from api.axefax.com, or from an instrument subdomain (guitars.axefax.com, amps.axefax.com, etc.) When using a subdomain, your API requests are automatically scoped by instrument type. For example, amps.axefax.com/brands will only return brands of amps.

Note that if you use the top-level api.axefax.com domain, you can find, update and delete all types of instruments, and they will appear mixed together. To create brands, models, submodels or instruments from the top level domain, you need to specify a `?type_id=` manually, which indicates whether the item is for Guitars, Amps, etc. Valid types are listed at api.axefax.com/admin/types

If you're using the Admin Dashboard, you can access it from any domain and it is also scoped to the instrument type, with one caveat: you cannot create or edit instruments from the top-level admin dashboard. Because form fields depend on the type of instrument, you need to author and edit instruments from the Admin dashboard of the instrument subdomain.

Resources

Brands
Brands are the top level categorization of instruments. (ex: Fender)

Resource Description
GET /brands List brands
GET /brands/:id Show a brand
POST /brands Create a brand
PUT /brands/:id Update a brand
DELETE /brands/:id Destroy a brand

Customers
Customers are entered by appraisers and have one or more Gitfax items.

Resource Description
GET /customers List customers
GET /customers/:id Show a customer
POST /items Create a customer
PUT /customers/:id Update a customer
DELETE /customers/:id Destroy a customer

Instruments
Instruments represent a specific product sold by a manufacturers. You can query instruments and get a wide range of attributes (called Traits), their production years, and more.

Resource Description
GET /instruments List and filter instruments.
GET /instruments/traits-with-variance List the distinict values possible for each trait for instruments matching the filters.
GET /instruments/:id Show an instrument
POST /instruments Create an instrument
PUT /instruments/:id Update an instrument
DELETE /instrument/:id Destroy an instrument

GitFax Items
GitFax Items represent individual instruments that have been reported by their owners or by GitFax partners. They have serial numbers, a single set of trait values, and a brand, model, and submodel.

Resource Description
GET /items List GitFax items or retrieve items matching a serial number / RFID.
GET /items/:id Show a GitFax item
POST /items Create a GitFax item
PUT /items/:id Update a GitFax item
DELETE /items/:id Destroy a GitFax item

GitFax Item Images

Resource Description
GET /items/:id/images Retrieve the images for a GitFax item
GET /items/:id/images/:image_id Retrieve an individual image from a GitFax item
POST /items/:id/images Add a PNG or JPG image to a GitFax item
DELETE /items/:id/images/:image_id Remove an image from a GitFax item

Models
Each Brand has one or more Models, which represent a group of instruments. (Ex: Fender > Telecaster)

Resource Description
GET /models List models
GET /brands/:id/models List models
GET /models/:id Show a model
POST /models Create a model
PUT /models/:id Update a model
DELETE /models/:id Destroy a model

Serial Numbers

Resource Description
GET /serial-lookup Identify brand and instrument years given a serial number

Submodels
Models may be divided into Submodels that represent distinictions within a product line. (ex: Fender > Telecaster > Sparkle Telecaster)

Resource Description
GET /submodels List submodels
GET /brands/:id/models/:model_id/submodels List submodels
GET /submodels/:id Show a submodel
POST /submodels Create a submodel
PUT /submodels/:id Update a submodel
DELETE /submodels/:id Destroy a submodel

Trait Values
A TraitValue represents a possible value of a Trait (ex: Number of Strings: 6), and may include images and more details.

Resource Description
GET /traits/values List values for the traits in the `?only=` query parameter
GET /traits/:trait/values List values for a particular trait. `:trait` can be a trait key or ID
GET /traits/:trait/values/:id Show a trait value
POST /traits/:trait/values Create a trait value
PUT /traits/:trait/values/:id Update a trait value
DELETE /traits/:trait/values/:id Destroy a trait value

Traits
A Trait represents an instrument attribute (ex: Number of Strings).

Resource Description
GET /traits List traits
GET /traits/:id Show a trait