# Retrieve a spec

Only available to Buyer Users.

Endpoint: GET /me/products/{productID}/specs/{specID}
Version: 1.0.457.36910
Security: OAuth2

## Security:

  - `OAuth2` (unknown)
    oauth2 scopes: FullAccess, OrderContributor, Shopper

## Path parameters:

  - `productID` (string, required)
    ID of the product.

  - `specID` (string, required)
    ID of the spec.

## Query parameters:

  - `catalogID` (string)
    ID of the catalog.

## Response 200:

  - `200` (unknown)
    Only available to Buyer Users.

## Response 200 fields (application/json):

  - `OwnerID` (string)
    ID of the organization that owns the spec. Only the marketplace owner can override the OwnerID on create.

  - `ID` (string)

  - `ListOrder` (integer)

  - `Name` (string)

  - `DefaultValue` (string)
    If no value is passed in the line item spec, this value will be used.

  - `Required` (boolean)

  - `AllowOpenText` (boolean)
    For spec options that are not pre-defined, such as FirstName for a business card.

  - `DefaultOptionID` (string)
    This property can only be written to after both the spec and options have been created. If no Spec.OptionID is passed in the line item spec, this option will be used.

  - `DefinesVariant` (boolean)
    If true, each unique combinations of this spec's options should map to a unique product variant.

  - `xp` (object)

  - `OptionCount` (integer)

  - `Options` (array)

  - `Options.ID` (string)

  - `Options.Value` (string)

  - `Options.ListOrder` (integer)

  - `Options.IsOpenText` (boolean)

  - `Options.PriceMarkupType` (string)
    Enum: "NoMarkup", "AmountPerQuantity", "AmountTotal", "Percentage"

  - `Options.PriceMarkup` (number)

  - `Options.xp` (object)

## Response 4XX:

  - `4XX` (unknown)
    Expected errors range from 400-409. Anything in the 5XX range indicates a server issue and should be reported to support.

## Response 4XX fields (application/json):

  - `StatusCode` (integer)
    Example: 404

  - `ErrorCode` (string)
    Example: NotFoundError

  - `Message` (string)
    Example: Object not found

  - `Data` (object)
    Example: {"ObjectType":"","ObjectID":""}

