> This page is optimized for agents. Use the linked Markdown pages and llms.txt indexes for related API content.

# List fairway woods

> Filters combine with AND. No matches returns data: []. Unknown or repeated query parameters return 400. Results are ordered by release_year descending, then club ID descending; q orders by relevance first. Core is the default unless view or fields selects another permitted document.

- Product: Fairway Woods
- Section: fairway-woods
- Snapshot: Current
- Method: `GET`
- Path: `/fairway-woods`
- Availability: generally-available

## Query parameters

### `view`

Type: `string`  
Required: no  
Allowed values: `core`, `expanded`, `market`  
Default: `core`  

Response document: core, expanded or market. Core is the default unless fields selects another document. The legacy token basic is accepted as core. Expanded requires club-builder (Enterprise); Market requires market (Pro plan). Missing access returns 403. Read Golfapi-View for the document served.

### `fields`

Type: `string`  
Required: no  

Comma-separated top-level fields from one response document. id is always returned. Without an explicit view, a Club-builder field selects expanded and intro_price selects market. Missing club-builder or market access returns 403; market (intro_price) needs the Pro plan. An unknown field, a field outside an explicit view, or a selection mixing Club-builder and Market fields returns 400.

### `limit`

Type: `number`  
Required: no  
Default: `20`  

Page size.

### `cursor`

Type: `string`  
Required: no  

Opaque pagination token from page.next. Send it unchanged on the same resource, with the same filters, served version and key access. Page size may change between requests. On a cursor 400, restart the scan.

### `manufacturer`

Type: `string`  
Required: no  

Manufacturer slug.

### `family`

Type: `string`  
Required: no  

Family slug.

### `hand`

Type: `string`  
Required: no  
Allowed values: `rh`, `lh`  

Offered hand.

### `designation`

Type: `string`  
Required: no  
Allowed values: `womens`, `junior`  

Heads whose designations includes this value. Each model is returned once. An empty result means no matching published record; an omitted designations field has no published classification.

### `loft`

Type: `string`  
Required: no  

Nominal loft in degrees. The value must occur in the requested collection; otherwise the API returns 400 with that collection’s published lofts. A loft available only in another collection is invalid here. With hand, both must match the same variant: hand=lh&loft=10.5 returns clubs sold left-handed at 10.5 degrees.

### `adjustable_hosel`

Type: `string`  
Required: no  
Allowed values: `true`, `false`  

Whether the hosel adjusts.

### `release_year`

Type: `number`  
Required: no  

Release year, four digits.

### `release_year_after`

Type: `number`  
Required: no  

Inclusive earliest release year, four digits.

### `release_year_before`

Type: `number`  
Required: no  

Inclusive latest release year, four digits.

### `released_after`

Type: `string`  
Format: `date`  
Required: no  

Inclusive earliest exact retail date. Matches only records with an exact `released` date; a record that carries only `release_year` never matches. A window whose start is later than released_before is 400: the two parameters contradict each other, which is not the same answer as a window that merely matches nothing.

### `released_before`

Type: `string`  
Format: `date`  
Required: no  

Inclusive latest exact retail date. Matches only records with an exact `released` date. Equal bounds are a legal one-day window.

### `msrp_min`

Type: `number`  
Required: no  

Inclusive lowest launch MSRP in the market `msrp_market` names (US when absent), in that currency's minor units: 50000 is $500 in the US and Y50,000 in JP, since JPY has no minor unit. A club with no launch price in that market never matches. Pro plan: needs the 'market' entitlement (403 without it), on any view. Greater than msrp_max is 400.

### `msrp_max`

Type: `number`  
Required: no  

Inclusive highest launch MSRP in the market `msrp_market` names (US when absent), in that currency's minor units: 50000 is $500 in the US and Y50,000 in JP. A club with no launch price in that market never matches. Pro plan: needs the 'market' entitlement (403 without it), on any view.

### `msrp_market`

Type: `string`  
Required: no  

ISO 3166-1 alpha-2 market whose `intro_price` entry msrp_min and msrp_max compare, in its own currency; US when absent. Prices are never converted between currencies. Alone, it keeps the clubs with a launch price in that market. A market the published catalog has no price in is 400, naming the markets it prices. Pro plan: needs the 'market' entitlement (403 without it).

### `q`

Type: `string`  
Required: no  

Search names, manufacturers, families, and generated aliases. Case and accents are folded. The full-text branch combines tokens with AND, while prefix, alias, and similarity matches can add rows that do not contain every token. A non-empty page does not identify a club; fetch a chosen hit with GET /{resource}/{id-or-slug}. Control characters are invalid.

## Execute with curl

```bash
curl -H "Authorization: Bearer $GOLFDEV_API_KEY" "https://api.golfapi.dev/fairway-woods"
```

## Execute with JavaScript

```javascript
const response = await fetch(`https://api.golfapi.dev/fairway-woods`, {
  headers: { Authorization: `Bearer ${process.env.GOLFDEV_API_KEY}` },
});
const body = await response.json();
```

## Execute with Python

```python
import os
import requests

response = requests.get(
    f"https://api.golfapi.dev/fairway-woods",
    headers={"Authorization": f"Bearer {os.environ['GOLFDEV_API_KEY']}"},
    timeout=10,
)
response.raise_for_status()
body = response.json()
```

## Responses

### Response `200`

Category: success  

A page of clubs.

#### `application/json`

##### Generated example

```json
{
  "data": [
    {
      "id": "id",
      "slug": "slug",
      "name": "name",
      "club_type": "driver",
      "summary": "summary",
      "manufacturer": {
        "slug": "slug",
        "name": "name"
      },
      "family": {
        "slug": "slug",
        "name": "name"
      },
      "release_year": 1900,
      "released": "released",
      "lofts_deg": [
        0
      ],
      "hands": [
        "rh"
      ],
      "volume_cc": 0,
      "adjustable_hosel": true,
      "head": {
        "volume_cc": 0
      },
      "hosel_summary": {
        "adjustable": true
      },
      "variants": [
        {
          "id": "id",
          "hand": "rh",
          "market": "market",
          "loft_deg": 0,
          "lie_deg": 0,
          "lie_basis": "standard_position",
          "head_label": "head_label"
        }
      ],
      "designations": [
        "womens"
      ],
      "url": "url",
      "updated_at": "updated_at"
    }
  ],
  "page": {
    "limit": 1,
    "has_more": true,
    "catalog_complete": true,
    "next": "next"
  }
}
```

##### Schema

###### one of 3

Type: `one of 3`  

###### CoreClubList

Type: `CoreClubList`  

###### `data`

Type: `CoreClub[]`  
Required: yes  

###### CoreClub

Type: `CoreClub`  

The default club document, served when neither `view` nor `fields` selects another document. Only `id` is guaranteed, because `fields=` may project any subset; an unprojected response carries every field listed in `x-required-unprojected`. Every other field is absent when unknown, never null, empty or a default.

###### `id`

Type: `string`  
Required: yes  

###### `slug`

Type: `string`  
Required: no  

###### `name`

Type: `string`  
Required: no  

###### `club_type`

Type: `string`  
Required: no  
Allowed values: `driver`, `mini-driver`, `fairway-wood`, `hybrid`, `iron`, `wedge`, `putter`  

The resource this club belongs to: driver, mini-driver, fairway-wood, hybrid, iron (a set), wedge or putter.

###### `summary`

Type: `string`  
Required: no  

One sentence naming the club, its maker, introduction year, club type and family. Built from this document's fields at each catalog build. Contains no specifications and no performance or suitability claims.

###### `manufacturer`

Type: `NamedEntity`  
Required: no  

###### `slug`

Type: `string`  
Required: yes  

###### `name`

Type: `string`  
Required: yes  

###### `family`

Type: `NamedEntity`  
Required: no  

###### `slug`

Type: `string`  
Required: yes  

###### `name`

Type: `string`  
Required: yes  

###### `release_year`

Type: `number`  
Required: no  

The year the manufacturer released this head. Present on every club.

###### `released`

Type: `string`  
Format: `date`  
Required: no  

Exact first retail availability date for the recorded launch market. Omitted when only release_year is published.

###### `lofts_deg`

Type: `number[]`  
Required: no  

Sorted union of offered nominal lofts.

###### number

Type: `number`  

###### `hands`

Type: `string[]`  
Required: no  

Available hands, ordered rh then lh.

###### string

Type: `string`  
Allowed values: `rh`, `lh`  

###### `volume_cc`

Type: `number`  
Required: no  

Head volume in cc. Mirrors `head.volume_cc`. Present on every driver, mini-driver and hybrid. A fairway wood omits it when its manufacturer states no model head volume.

###### `adjustable_hosel`

Type: `boolean`  
Required: no  

###### `head`

Type: `ClubHead`  
Required: no  

`volume_cc` is omitted when the manufacturer states no model head volume, and `head` is omitted when no head value is known. On fairway woods and hybrids it is the lowest-loft head's volume when the manufacturer states only per-head volumes.

###### `volume_cc`

Type: `number`  
Required: no  

###### `hosel_summary`

Type: `object`  
Required: no  

Consumer-facing hosel summary. `adjustable` is present whenever the object is. The named hosel system is Club-builder (`view=expanded`).

###### `adjustable`

Type: `boolean`  
Required: yes  

###### `variants`

Type: `CoreVariant[]`  
Required: no  

One entry per loft, hand and market combination.

###### CoreVariant

Type: `CoreVariant`  

###### `id`

Type: `string`  
Required: yes  

###### `hand`

Type: `string`  
Required: yes  
Allowed values: `rh`, `lh`  

###### `market`

Type: `string`  
Required: yes  

###### `loft_deg`

Type: `number`  
Required: yes  

###### `lie_deg`

Type: `number`  
Required: no  

Lie angle as the manufacturer publishes it. `lie_basis` says on what basis. Omitted when no lie is published for this variant.

###### `lie_basis`

Type: `string`  
Required: no  
Allowed values: `standard_position`, `band_min`, `band_max`, `average_of_positions`  

What `lie_deg` measures. Absent when no basis is published.

###### `head_label`

Type: `string`  
Required: no  

The maker's name for this head, such as 3W or 4H. Fairway woods and hybrids only. Absent when the maker's label for this head is not recorded.

###### `designations`

Type: `string[]`  
Required: no  

The manufacturer's labels on this head and its builds: the union of the head's own designation and every build's, ordered womens then junior. Absent when empty. Absent `designations` means no label is published, not "not a women's club": a head without the field may still be sold in a women's or junior build that no published record names yet. `womens` is the manufacturer's label, not a statement about who should play the club.

###### string

Type: `string`  
Allowed values: `womens`, `junior`  

###### `url`

Type: `string`  
Format: `uri`  
Required: no  

Canonical club URL.

###### `updated_at`

Type: `string`  
Format: `date-time`  
Required: no  

When this response document last changed. Compare within the same view when refreshing a stored catalog; there is no updated_after filter.

###### `page`

Type: `Page`  
Required: yes  

###### `limit`

Type: `number`  
Required: yes  

###### `has_more`

Type: `boolean`  
Required: yes  

###### `catalog_complete`

Type: `boolean`  
Required: yes  

False for this published catalog. An empty page means no match in this build; it does not establish that a club does not exist.

###### `next`

Type: `string`  
Required: no  

###### ExpandedClubList

Type: `ExpandedClubList`  

###### `data`

Type: `ExpandedClub[]`  
Required: yes  

###### ExpandedClub

Type: `ExpandedClub`  

The Club-builder document, served for `view=expanded` to a key with the 'club-builder' entitlement. The Core fields first, then the build fields; `hosel_summary` adds `loft_adjustment_deg` and each variant adds its lie, length and swing weight. Only `id` is guaranteed, because `fields=` may project any subset; an unprojected response carries every field listed in `x-required-unprojected`. `weights`, `hosel` and per-field optional values are omitted when no value is published, never nulled or defaulted. `builds` and `equipment` appear only for a club covered by a signed equipment package. A Core document is not an ExpandedClub: the Club-builder keys are absent and `additionalProperties: false` on CoreClub tells the two apart.

###### `id`

Type: `string`  
Required: yes  

###### `slug`

Type: `string`  
Required: no  

###### `name`

Type: `string`  
Required: no  

###### `club_type`

Type: `string`  
Required: no  
Allowed values: `driver`, `mini-driver`, `fairway-wood`, `hybrid`, `iron`, `wedge`, `putter`  

The resource this club belongs to: driver, mini-driver, fairway-wood, hybrid, iron (a set), wedge or putter.

###### `summary`

Type: `string`  
Required: no  

One sentence naming the club, its maker, introduction year, club type and family. Built from this document's fields at each catalog build. Contains no specifications and no performance or suitability claims.

###### `manufacturer`

Type: `NamedEntity`  
Required: no  

###### `slug`

Type: `string`  
Required: yes  

###### `name`

Type: `string`  
Required: yes  

###### `family`

Type: `NamedEntity`  
Required: no  

###### `slug`

Type: `string`  
Required: yes  

###### `name`

Type: `string`  
Required: yes  

###### `release_year`

Type: `number`  
Required: no  

The year the manufacturer released this head. Present on every club.

###### `released`

Type: `string`  
Format: `date`  
Required: no  

Exact first retail availability date for the recorded launch market. Omitted when only release_year is published.

###### `lofts_deg`

Type: `number[]`  
Required: no  

Sorted union of offered nominal lofts.

###### number

Type: `number`  

###### `hands`

Type: `string[]`  
Required: no  

Available hands, ordered rh then lh.

###### string

Type: `string`  
Allowed values: `rh`, `lh`  

###### `volume_cc`

Type: `number`  
Required: no  

Head volume in cc. Mirrors `head.volume_cc`. Present on every driver, mini-driver and hybrid. A fairway wood omits it when its manufacturer states no model head volume.

###### `adjustable_hosel`

Type: `boolean`  
Required: no  

###### `head`

Type: `ClubHead`  
Required: no  

`volume_cc` is omitted when the manufacturer states no model head volume, and `head` is omitted when no head value is known. On fairway woods and hybrids it is the lowest-loft head's volume when the manufacturer states only per-head volumes.

###### `volume_cc`

Type: `number`  
Required: no  

###### `hosel_summary`

Type: `object`  
Required: no  

Consumer-facing hosel summary. `adjustable` is present whenever the object is. The optional children come from approved input and are never inferred from a detailed setting chart.

###### `adjustable`

Type: `boolean`  
Required: yes  

###### `system_name`

Type: `string`  
Required: no  

###### `loft_adjustment_deg`

Type: `number[]`  
Required: no  

###### number

Type: `number`  

###### `variants`

Type: `Variant[]`  
Required: no  

One entry per loft, hand and market combination, with the lie, length and swing weight the manufacturer states.

###### Variant

Type: `Variant`  

###### `id`

Type: `string`  
Required: yes  

###### `hand`

Type: `string`  
Required: yes  
Allowed values: `rh`, `lh`  

###### `market`

Type: `string`  
Required: yes  

###### `loft_deg`

Type: `number`  
Required: yes  

###### `lie_deg`

Type: `number`  
Required: no  

###### `lie_basis`

Type: `string`  
Required: no  
Allowed values: `standard_position`, `band_min`, `band_max`, `average_of_positions`  

###### `head_label`

Type: `string`  
Required: no  

The maker's name for this head, such as 3W or 4H. Fairway woods and hybrids only. Absent when the maker's label for this head is not recorded.

###### `lie_min_deg`

Type: `number`  
Required: no  

###### `lie_max_deg`

Type: `number`  
Required: no  

###### `length_in`

Type: `number`  
Required: no  

###### `swing_weight`

Type: `string`  
Required: no  

###### `volume_cc`

Type: `number`  
Required: no  

This head's volume in cc, as the maker states it per head. Fairway woods and hybrids only. Absent when unstated; the model-level `head.volume_cc` is the lowest-loft head's.

###### `designations`

Type: `string[]`  
Required: no  

The manufacturer's labels on this head and its builds: the union of the head's own designation and every build's, ordered womens then junior. Absent when empty. Absent `designations` means no label is published, not "not a women's club": a head without the field may still be sold in a women's or junior build that no published record names yet. `womens` is the manufacturer's label, not a statement about who should play the club.

###### string

Type: `string`  
Allowed values: `womens`, `junior`  

###### `url`

Type: `string`  
Format: `uri`  
Required: no  

Canonical club URL.

###### `updated_at`

Type: `string`  
Format: `date-time`  
Required: no  

When this response document last changed. Compare within the same view when refreshing a stored catalog; there is no updated_after filter.

###### `adjustable_weight`

Type: `boolean`  
Required: no  

###### `weight_system`

Type: `string`  
Required: no  
Allowed values: `fixed`, `movable`, `interchangeable`, `reversible`  

###### `hosel`

Type: `ClubHosel`  
Required: no  

Absent when no hosel value is published.

###### `interface`

Type: `string`  
Required: no  

###### `shaft_tip_in`

Type: `number`  
Required: no  

###### `adjustable`

Type: `boolean`  
Required: yes  

###### `positions`

Type: `object[]`  
Required: no  

###### object

Type: `object`  

###### `weights`

Type: `ClubWeights`  
Required: no  

###### `adjustable`

Type: `boolean`  
Required: yes  

###### `system`

Type: `string`  
Required: yes  
Allowed values: `fixed`, `movable`, `interchangeable`, `reversible`  

###### `supplied_g`

Type: `number[]`  
Required: no  

###### number

Type: `number`  

###### `ports`

Type: `WeightPort[]`  
Required: no  

###### WeightPort

Type: `WeightPort`  

###### `component_id`

Type: `string`  
Required: no  

###### `stock_shafts`

Type: `StockShaft[]`  
Required: no  

###### StockShaft

Type: `StockShaft`  

component_id and spec_options appear only for a club covered by a signed equipment package, and spec_options carries only the options explicitly selected for this club.

###### `slug`

Type: `string`  
Required: yes  

###### `model`

Type: `string`  
Required: yes  

###### `launch`

Type: `string`  
Required: no  
Allowed values: `low`, `low-mid`, `mid`, `mid-high`, `high`  

###### `options`

Type: `object[]`  
Required: yes  

###### `component_id`

Type: `string`  
Required: no  

###### `spec_options`

Type: `ShaftSpecOption[]`  
Required: no  

###### `stock_grips`

Type: `StockGrip[]`  
Required: no  

###### StockGrip

Type: `StockGrip`  

###### `slug`

Type: `string`  
Required: yes  

###### `model`

Type: `string`  
Required: yes  

###### `weight_g`

Type: `number`  
Required: no  

###### `size`

Type: `string`  
Required: no  

###### `component_id`

Type: `string`  
Required: no  

###### `spec_options`

Type: `GripSpecOption[]`  
Required: no  

###### `builds`

Type: `Build[]`  
Required: no  

###### Build

Type: `Build`  

A named factory configuration. Exactly one of variant_ids or variants is present.

###### `code`

Type: `string`  
Required: yes  

###### `name`

Type: `string`  
Required: no  

###### `market`

Type: `string`  
Required: yes  

###### `variant_ids`

Type: `string[]`  
Required: no  

###### `variants`

Type: `VariantSelector[]`  
Required: no  

###### `shaft`

Type: `BuildComponentRef`  
Required: no  

###### `grip`

Type: `BuildComponentRef`  
Required: no  

###### `weight`

Type: `BuildComponentRef`  
Required: no  

###### `length_in`

Type: `number`  
Required: no  

###### `swing_weight`

Type: `string`  
Required: no  

###### `designation`

Type: `string`  
Required: no  
Allowed values: `womens`, `junior`  

The manufacturer's label for this build. Absent when none is stated.

###### `equipment`

Type: `object`  
Required: no  

Full documents for every component this club references. Their presence is not a claim that every listed option is offered on this club; only builds and stock spec_options state that.

###### `weight_systems`

Type: `WeightSystem[]`  
Required: no  

###### WeightSystem

Type: `WeightSystem`  

Only the collections the manufacturer publishes are present; an absent collection is not published; it does not establish an empty collection.

###### `shafts`

Type: `Shaft[]`  
Required: no  

###### Shaft

Type: `Shaft`  

###### `grips`

Type: `Grip[]`  
Required: no  

###### Grip

Type: `Grip`  

###### `_links`

Type: `ClubLinks`  
Required: no  

hosel is present for a club with a hosel context.

###### `self`

Type: `string`  
Format: `uri`  
Required: yes  

###### `hosel`

Type: `string`  
Format: `uri`  
Required: no  

###### `page`

Type: `Page`  
Required: yes  

###### `limit`

Type: `number`  
Required: yes  

###### `has_more`

Type: `boolean`  
Required: yes  

###### `catalog_complete`

Type: `boolean`  
Required: yes  

False for this published catalog. An empty page means no match in this build; it does not establish that a club does not exist.

###### `next`

Type: `string`  
Required: no  

###### MarketClubList

Type: `MarketClubList`  

###### `data`

Type: `MarketClub[]`  
Required: yes  

###### MarketClub

Type: `MarketClub`  

The Market document, served by `view=market` to a key holding the 'market' entitlement (Pro plan), on every club type: the club's identity and its Market fields, with no specifications. Join it to a spec document on `id`. Only `id` is guaranteed, because `fields=` may project any subset; `intro_price` is absent when no launch price is published, never empty. `updated_at` moves when this document changes, independently of the spec documents.

###### `id`

Type: `string`  
Required: yes  

###### `slug`

Type: `string`  
Required: no  

###### `name`

Type: `string`  
Required: no  

###### `club_type`

Type: `string`  
Required: no  
Allowed values: `driver`, `mini-driver`, `fairway-wood`, `hybrid`, `iron`, `wedge`, `putter`  

The resource this club belongs to: driver, mini-driver, fairway-wood, hybrid, iron (a set), wedge or putter.

###### `manufacturer`

Type: `NamedEntity`  
Required: no  

###### `slug`

Type: `string`  
Required: yes  

###### `name`

Type: `string`  
Required: yes  

###### `family`

Type: `NamedEntity`  
Required: no  

###### `slug`

Type: `string`  
Required: yes  

###### `name`

Type: `string`  
Required: yes  

###### `release_year`

Type: `number`  
Required: no  

The year the manufacturer released this head. Present on every club.

###### `released`

Type: `string`  
Format: `date`  
Required: no  

Exact first retail availability date for the recorded launch market. Omitted when only release_year is published.

###### `intro_price`

Type: `IntroPrice[]`  
Required: no  

Pro. The launch MSRP, one entry per market. Absent when no launch price is published.

###### IntroPrice

Type: `IntroPrice`  

###### `market`

Type: `string`  
Required: yes  

ISO 3166-1 alpha-2 market the price was stated for.

###### `msrp_minor`

Type: `number`  
Required: yes  

The launch MSRP in the minor units of `currency` (ISO 4217), exactly as stated: $649 is 64900, and Y41,800 is 41800 because JPY has no minor unit. Never converted, so prices in different currencies are not comparable.

###### `currency`

Type: `string`  
Required: yes  

###### `tax_included`

Type: `boolean`  
Required: yes  

Whether the price includes sales tax or VAT, as the source states it. Always false for US; Japanese, UK and EU retail prices usually include it.

###### `url`

Type: `string`  
Format: `uri`  
Required: no  

Canonical club URL.

###### `updated_at`

Type: `string`  
Format: `date-time`  
Required: no  

When this response document last changed. Compare within the same view when refreshing a stored catalog; there is no updated_after filter.

###### `page`

Type: `Page`  
Required: yes  

###### `limit`

Type: `number`  
Required: yes  

###### `has_more`

Type: `boolean`  
Required: yes  

###### `catalog_complete`

Type: `boolean`  
Required: yes  

False for this published catalog. An empty page means no match in this build; it does not establish that a club does not exist.

###### `next`

Type: `string`  
Required: no  

### Response `304`

Category: redirect  

Unchanged representation, no response body. Quota refunded after response.

### Response `400`

Category: client-error  

Invalid recognized input or projected field.

#### `application/json`

##### Generated example

```json
{
  "error": {
    "type": "invalid_request",
    "message": "message",
    "status": 400,
    "request_id": "request_id",
    "param": "param"
  }
}
```

##### Schema

###### Error

Type: `Error`  

###### `error`

Type: `object`  
Required: yes  

###### `type`

Type: `string`  
Required: yes  
Allowed values: `invalid_request`, `invalid_auth`, `forbidden`, `not_found`, `rate_limited`, `method_not_allowed`, `server_error`, `service_unavailable`, `account_inactive`, `quota_exceeded`  

###### `message`

Type: `string`  
Required: yes  

###### `status`

Type: `number`  
Required: yes  
Allowed values: `400`, `401`, `403`, `404`, `405`, `429`, `500`, `503`  

###### `request_id`

Type: `string`  
Required: yes  

###### `param`

Type: `string`  
Required: no  

### Response `401`

Category: client-error  

Missing, malformed, unknown, or revoked key.

#### `application/json`

##### Generated example

```json
{
  "error": {
    "type": "invalid_request",
    "message": "message",
    "status": 400,
    "request_id": "request_id",
    "param": "param"
  }
}
```

##### Schema

###### Error

Type: `Error`  

###### `error`

Type: `object`  
Required: yes  

###### `type`

Type: `string`  
Required: yes  
Allowed values: `invalid_request`, `invalid_auth`, `forbidden`, `not_found`, `rate_limited`, `method_not_allowed`, `server_error`, `service_unavailable`, `account_inactive`, `quota_exceeded`  

###### `message`

Type: `string`  
Required: yes  

###### `status`

Type: `number`  
Required: yes  
Allowed values: `400`, `401`, `403`, `404`, `405`, `429`, `500`, `503`  

###### `request_id`

Type: `string`  
Required: yes  

###### `param`

Type: `string`  
Required: no  

### Response `403`

Category: client-error  

Resource/capability not granted.

#### `application/json`

##### Generated example

```json
{
  "error": {
    "type": "invalid_request",
    "message": "message",
    "status": 400,
    "request_id": "request_id",
    "param": "param"
  }
}
```

##### Schema

###### Error

Type: `Error`  

###### `error`

Type: `object`  
Required: yes  

###### `type`

Type: `string`  
Required: yes  
Allowed values: `invalid_request`, `invalid_auth`, `forbidden`, `not_found`, `rate_limited`, `method_not_allowed`, `server_error`, `service_unavailable`, `account_inactive`, `quota_exceeded`  

###### `message`

Type: `string`  
Required: yes  

###### `status`

Type: `number`  
Required: yes  
Allowed values: `400`, `401`, `403`, `404`, `405`, `429`, `500`, `503`  

###### `request_id`

Type: `string`  
Required: yes  

###### `param`

Type: `string`  
Required: no  

### Response `405`

Category: client-error  

A routed path reached by a method other than GET or OPTIONS.

#### `application/json`

##### Generated example

```json
{
  "error": {
    "type": "invalid_request",
    "message": "message",
    "status": 400,
    "request_id": "request_id",
    "param": "param"
  }
}
```

##### Schema

###### Error

Type: `Error`  

###### `error`

Type: `object`  
Required: yes  

###### `type`

Type: `string`  
Required: yes  
Allowed values: `invalid_request`, `invalid_auth`, `forbidden`, `not_found`, `rate_limited`, `method_not_allowed`, `server_error`, `service_unavailable`, `account_inactive`, `quota_exceeded`  

###### `message`

Type: `string`  
Required: yes  

###### `status`

Type: `number`  
Required: yes  
Allowed values: `400`, `401`, `403`, `404`, `405`, `429`, `500`, `503`  

###### `request_id`

Type: `string`  
Required: yes  

###### `param`

Type: `string`  
Required: no  

### Response `429`

Category: client-error  

Rate limit reached. 60 requests per 60-second wall-clock window by default; RateLimit-Limit carries this key's actual cap. Honor Retry-After, which equals RateLimit-Reset.

#### `application/json`

##### Generated example

```json
{
  "error": {
    "type": "invalid_request",
    "message": "message",
    "status": 400,
    "request_id": "request_id",
    "param": "param"
  }
}
```

##### Schema

###### Error

Type: `Error`  

###### `error`

Type: `object`  
Required: yes  

###### `type`

Type: `string`  
Required: yes  
Allowed values: `invalid_request`, `invalid_auth`, `forbidden`, `not_found`, `rate_limited`, `method_not_allowed`, `server_error`, `service_unavailable`, `account_inactive`, `quota_exceeded`  

###### `message`

Type: `string`  
Required: yes  

###### `status`

Type: `number`  
Required: yes  
Allowed values: `400`, `401`, `403`, `404`, `405`, `429`, `500`, `503`  

###### `request_id`

Type: `string`  
Required: yes  

###### `param`

Type: `string`  
Required: no  

### Response `500`

Category: server-error  

Server fault.

#### `application/json`

##### Generated example

```json
{
  "error": {
    "type": "invalid_request",
    "message": "message",
    "status": 400,
    "request_id": "request_id",
    "param": "param"
  }
}
```

##### Schema

###### Error

Type: `Error`  

###### `error`

Type: `object`  
Required: yes  

###### `type`

Type: `string`  
Required: yes  
Allowed values: `invalid_request`, `invalid_auth`, `forbidden`, `not_found`, `rate_limited`, `method_not_allowed`, `server_error`, `service_unavailable`, `account_inactive`, `quota_exceeded`  

###### `message`

Type: `string`  
Required: yes  

###### `status`

Type: `number`  
Required: yes  
Allowed values: `400`, `401`, `403`, `404`, `405`, `429`, `500`, `503`  

###### `request_id`

Type: `string`  
Required: yes  

###### `param`

Type: `string`  
Required: no  

### Response `503`

Category: server-error  

Required representation or schema unavailable; honor Retry-After.

#### `application/json`

##### Generated example

```json
{
  "error": {
    "type": "invalid_request",
    "message": "message",
    "status": 400,
    "request_id": "request_id",
    "param": "param"
  }
}
```

##### Schema

###### Error

Type: `Error`  

###### `error`

Type: `object`  
Required: yes  

###### `type`

Type: `string`  
Required: yes  
Allowed values: `invalid_request`, `invalid_auth`, `forbidden`, `not_found`, `rate_limited`, `method_not_allowed`, `server_error`, `service_unavailable`, `account_inactive`, `quota_exceeded`  

###### `message`

Type: `string`  
Required: yes  

###### `status`

Type: `number`  
Required: yes  
Allowed values: `400`, `401`, `403`, `404`, `405`, `429`, `500`, `503`  

###### `request_id`

Type: `string`  
Required: yes  

###### `param`

Type: `string`  
Required: no  

## Related representations

- [Human documentation](/api/fairway-woods/methods/list/)
- [curl Markdown](/api/fairway-woods/curl/methods/list.md)
- [JavaScript Markdown](/api/fairway-woods/javascript/methods/list.md)
- [Python Markdown](/api/fairway-woods/python/methods/list.md)
- [product llms.txt](/api/fairway-woods/llms.txt)
