> ## Documentation Index
> Fetch the complete documentation index at: https://docs.shipstream.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Shipment Custom Fields

## Methods

* [shipment\_custom\_field.list](#shipment-custom-field-list)

***

## Entity Properties

* [Shipment Custom Field](#field-properties)
* [Shipment Custom Field Option](#option-properties)

***

## Additional Resources

* [Shipment Custom Fields](/merchant-api/shipment#shipment-custom-field) — when updating Shipment info.

***

## `shipment_custom_field.list`

`shipment_custom_field.list()`

Retrieve list of shipment custom fields available for the calling merchant.

### Return Value

An array of objects. Each object will contain [Shipment Custom Field](#field-properties) properties.

### Example Request

```json title="Request" theme={null}
{
    "jsonrpc" : 2.0,
    "id"      : 1234,
    "method"  : "call",
    "params"  : [
        "34aa989befe360d67fe3f70b3517a1e5",
        "shipment_custom_field.list"
    ]
}
```

### Example Response

```json title="Response" theme={null}
{
    "result": [
        {
            "custom_field_id": "3",
            "name": "Original Purchase Date",
            "code": "purchase_date",
            "is_active": "1",
            "input_type": "date",
            "is_required": "0",
            "client_note": null,
            "client_permissions": "restricted",
            "display_client_grid": "parcel,freight",
            "display_client_form": "parcel,freight",
            "export_client_grid": "parcel,freight",
            "sort_order": "0",
            "created_at": "2022-07-01T10:46:16+00:00",
            "updated_at": "2022-07-01T10:46:16+00:00"
        },
        {
            "custom_field_id": "4",
            "name": "Main Item SKU",
            "code": "main_sku",
            "is_active": "1",
            "input_type": "text",
            "is_required": "0",
            "client_note": null,
            "client_permissions": "unrestricted",
            "display_client_grid": "parcel",
            "display_client_form": "parcel",
            "export_client_grid": "parcel",
            "sort_order": "99",
            "created_at": "2022-07-01T11:43:28+00:00",
            "updated_at": "2022-07-01T11:43:28+00:00"
        }
    ],
    "id": "1234",
    "jsonrpc": "2.0"
}
```

## Entity Properties

### Shipment Custom Field Properties

<Expandable title="Shipment Custom Field Properties">
  <ParamField path="custom_field_id" type="integer">
    An automatically generated unique identifier for an Shipment Custom Field.
  </ParamField>

  <ParamField path="name" type="string">
    The "name" property.
  </ParamField>

  <ParamField path="code" type="string">
    The "code" property.
  </ParamField>

  <ParamField path="is_active" type="integer">
    Flag whether Shipment Custom Field is active.
  </ParamField>

  <ParamField path="input_type" type="string">
    The "input\_type" property. Allowed values: "text", "multiline-text", "number", "currency", "select", "multiselect", "boolean", "date", "client-user", "admin-user", "email", "url".
  </ParamField>

  <ParamField path="is_required" type="integer">
    Flag whether Shipment Custom Field is required.
  </ParamField>

  <ParamField path="client_note" type="string">
    The "client\_note" property.
  </ParamField>

  <ParamField path="client_permissions" type="string">
    The "unrestricted" property. Allowed values: "unrestricted", "restricted", "read-only", "hidden".
  </ParamField>

  <ParamField path="display_client_grid" type="string">
    Determine in which client grid the Shipment Custom Field is displayed. Possible values include: "parcel," "freight," "parcel,freight," or an empty string "".
  </ParamField>

  <ParamField path="display_client_form" type="string">
    Determine in which client form the Shipment Custom Field is displayed. Possible values include: "parcel," "freight," "parcel,freight," or an empty string "".
  </ParamField>

  <ParamField path="export_client_grid" type="string">
    Determine in which exported document the Shipment Custom Field is included. Possible values include: "parcel," "freight," "parcel,freight," or an empty string "".
  </ParamField>

  <ParamField path="sort_order" type="integer">
    The "sort\_order" property.
  </ParamField>

  <ParamField path="created_at" type="string">
    The "Created At" property.
  </ParamField>

  <ParamField path="updated_at" type="string">
    The "Updated At" property.
  </ParamField>

  <ParamField path="options" type="array">
    Array of options. See [Option Properties](#option-properties).
  </ParamField>
</Expandable>

### Shipment Custom Field Option Properties

<Expandable title="Shipment Custom Field Option Properties">
  <ParamField path="option_id" type="integer">
    The internal option ID.
  </ParamField>

  <ParamField path="label" type="string">
    The "Label" property.
  </ParamField>

  <ParamField path="is_default" type="integer">
    Flag whether option is default.
  </ParamField>

  <ParamField path="sort_order" type="integer">
    The "Sort Order" property.
  </ParamField>
</Expandable>
