SellAuth

Products

Get Products

Retreives the products.

GET
/v1/shops/{shopId}/products

Authorization

AuthorizationRequiredBearer <token>

You can retrieve your API key by visiting your dashboard and clicking Account > API.

In: header

Request Body

application/jsonOptional
pageinteger
perPageinteger

Must be at least 1. Must not be greater than 100.

orderColumnstring
Value in: "id" | "name" | "price" | "products_sold"
orderDirectionstring
Value in: "asc" | "desc"
idsarray<integer>
pathsarray<string>
namestring
variant_namestring
visibilitiesarray<string>
group_idsarray<integer>
group_nullboolean
badge_textstring
status_textstring
deliverablestring
deliverables_typestring
allstring

Path Parameters

shopIdRequiredinteger
curl -X GET "https://api.sellauth.com/v1/shops/{shopId}/products" \
  -H "Authorization: Bearer <token>" \
  -H "Content-Type: application/json" \
  -d '{
    "page": 13,
    "perPage": 10,
    "orderColumn": "products_sold",
    "orderDirection": "desc",
    "ids": [
      1
    ],
    "paths": [
      "mollitia"
    ],
    "name": "hic",
    "variant_name": "nulla",
    "visibilities": [
      "on_hold"
    ],
    "group_ids": [
      10
    ],
    "group_null": true,
    "badge_text": "eos",
    "status_text": "consequatur",
    "deliverable": "quo",
    "deliverables_type": "corporis",
    "all": null
  }'

{
  "message": "No query results for model [App\\Models\\Shop] 1"
}

Create Product

Creates a new product.

POST
/v1/shops/{shopId}/products

Authorization

AuthorizationRequiredBearer <token>

You can retrieve your API key by visiting your dashboard and clicking Account > API.

In: header

Request Body

application/jsonRequired
nameRequiredstring
pathstring

Must match the regex /^[a-z0-9-]+$/.

descriptionRequiredstring

Must not be greater than 65535 characters.

meta_titlestring

Must not be greater than 255 characters.

meta_descriptionstring

Must not be greater than 65535 characters.

meta_image_idstring
meta_twitter_cardstring
Value in: "summary" | "summary_large_image"
instructionsstring

Must not be greater than 65535 characters.

out_of_stock_messagestring

Must not be greater than 65535 characters.

currencyRequiredstring
tax_inclusiveboolean
deliverablesstring
deliverables_typestring
Value in: "serials" | "service" | "dynamic"
serial_selection_methodstring
Value in: "last" | "first" | "random"
dynamic_urlstring

Must not be greater than 2048 characters.

stocknumber

Must be at least -1.

group_idstring
image_idsarray<string>
typeRequiredstring
Value in: "single" | "variant"
visibilityRequiredstring
Value in: "public" | "unlisted" | "private" | "on_hold"
payment_methodsobject
pricestring

This field is required when type is single.

price_slashnumber
quantity_minnumber

Must be at least 1. Must not be greater than 999999.

quantity_maxnumber

Must be at least 0. Must not be greater than 999999.

volume_discountsarray<string>

Must not have more than 10 items.

discord_requiredboolean
block_vpnboolean
hide_stock_countboolean
status_colorstring
status_textstring
show_views_countboolean
show_sales_countboolean
show_sales_notificationsboolean
sales_count_hoursnumber
feedback_coupon_idstring
feedback_coupon_min_ratingnumber

Must be at least 1. Must not be greater than 5.

deliverables_labelstring

Must not be greater than 255 characters.

custom_field_idsarray<string>
product_tabsarray<string>

Must not have more than 10 items.

product_badgesarray<string>

Must not have more than 10 items.

product_upsellsRequiredarray<string>
variantsarray<string>

This field is required when type is variant. Must have at least 1 items.

Path Parameters

shopIdRequiredinteger
curl -X POST "https://api.sellauth.com/v1/shops/{shopId}/products" \
  -H "Authorization: Bearer <token>" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "facere",
    "path": "-",
    "description": "Aut nostrum tenetur soluta vel commodi ut.",
    "meta_title": "kjpbgmqyiarx",
    "meta_description": "qwxhxhbxslmwcllq",
    "meta_image_id": null,
    "meta_twitter_card": "summary_large_image",
    "instructions": "ci",
    "out_of_stock_message": "nrshpbrfhntzik",
    "currency": "consequatur",
    "tax_inclusive": false,
    "deliverables": null,
    "deliverables_type": "dynamic",
    "serial_selection_method": "last",
    "dynamic_url": "http://borer.com/",
    "stock": 67,
    "group_id": null,
    "image_ids": null,
    "type": "single",
    "visibility": "public",
    "payment_methods": null,
    "price": null,
    "price_slash": 3750.4896354,
    "quantity_min": 13,
    "quantity_max": 16,
    "volume_discounts": "a",
    "discord_required": false,
    "block_vpn": false,
    "hide_stock_count": true,
    "status_color": null,
    "status_text": null,
    "show_views_count": false,
    "show_sales_count": true,
    "show_sales_notifications": true,
    "sales_count_hours": 3919.1183,
    "feedback_coupon_id": null,
    "feedback_coupon_min_rating": 5,
    "deliverables_label": "tbwidonnuzyylxsujx",
    "custom_field_ids": null,
    "product_tabs": "nw",
    "product_badges": "yyns",
    "product_upsells": [
      "aliquid"
    ],
    "variants": "nzsamnegfzosdtjfcyuvblecfnohduhwofipzttspbkxchgiymnuwzsvhhdeprw"
  }'

Update Product and Group Order

Updates the order of products and groups.

PUT
/v1/shops/{shopId}/products/sort

Authorization

AuthorizationRequiredBearer <token>

You can retrieve your API key by visiting your dashboard and clicking Account > API.

In: header

Request Body

application/jsonRequired
sortedIdsRequiredarray<integer>

Path Parameters

shopIdRequiredinteger
curl -X PUT "https://api.sellauth.com/v1/shops/{shopId}/products/sort" \
  -H "Authorization: Bearer <token>" \
  -H "Content-Type: application/json" \
  -d '{
    "sortedIds": [
      "deserunt"
    ]
  }'

Get Product

Retrieves a product.

GET
/v1/shops/{shopId}/products/{productId}

Authorization

AuthorizationRequiredBearer <token>

You can retrieve your API key by visiting your dashboard and clicking Account > API.

In: header

Path Parameters

shopIdRequiredinteger
productIdRequiredstring
curl -X GET "https://api.sellauth.com/v1/shops/{shopId}/products/ut" \
  -H "Authorization: Bearer <token>"

{
  "message": "No query results for model [App\\Models\\Shop] 1"
}

Delete Product

Deletes a product.

DELETE
/v1/shops/{shopId}/products/{productId}

Authorization

AuthorizationRequiredBearer <token>

You can retrieve your API key by visiting your dashboard and clicking Account > API.

In: header

Path Parameters

shopIdRequiredinteger
productIdRequiredstring
curl -X DELETE "https://api.sellauth.com/v1/shops/{shopId}/products/ut" \
  -H "Authorization: Bearer <token>"

Update Product

Updates a product.

PUT
/v1/shops/{shopId}/products/{productId}/update

Authorization

AuthorizationRequiredBearer <token>

You can retrieve your API key by visiting your dashboard and clicking Account > API.

In: header

Request Body

application/jsonRequired
nameRequiredstring
pathstring

Must match the regex /^[a-z0-9-]+$/.

descriptionRequiredstring

Must not be greater than 65535 characters.

meta_titlestring

Must not be greater than 255 characters.

meta_descriptionstring

Must not be greater than 65535 characters.

meta_image_idstring
meta_twitter_cardstring
Value in: "summary" | "summary_large_image"
instructionsstring

Must not be greater than 65535 characters.

out_of_stock_messagestring

Must not be greater than 65535 characters.

currencyRequiredstring
tax_inclusiveboolean
serial_selection_methodstring
Value in: "last" | "first" | "random"
dynamic_urlstring

Must not be greater than 2048 characters.

stocknumber

Must be at least -1.

group_idstring
image_idsarray<string>
typeRequiredstring
Value in: "single" | "variant"
visibilityRequiredstring
Value in: "public" | "unlisted" | "private" | "on_hold"
payment_methodsobject
pricestring

This field is required when type is single.

price_slashnumber
quantity_minnumber

Must be at least 1. Must not be greater than 999999.

quantity_maxnumber

Must be at least 0. Must not be greater than 999999.

volume_discountsarray<string>

Must not have more than 10 items.

discord_requiredboolean
block_vpnboolean
hide_stock_countboolean
status_colorstring
status_textstring
show_views_countboolean
show_sales_countboolean
show_sales_notificationsboolean
sales_count_hoursnumber
feedback_coupon_idstring
feedback_coupon_min_ratingnumber

Must be at least 1. Must not be greater than 5.

deliverables_labelstring

Must not be greater than 255 characters.

custom_field_idsarray<string>
product_tabsarray<string>

Must not have more than 10 items.

product_badgesarray<string>

Must not have more than 10 items.

product_upsellsRequiredarray<string>
variantsarray<string>

This field is required when type is variant. Must have at least 1 items.

Path Parameters

shopIdRequiredinteger
productIdRequiredstring
curl -X PUT "https://api.sellauth.com/v1/shops/{shopId}/products/omnis/update" \
  -H "Authorization: Bearer <token>" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "qui",
    "path": "tqo",
    "description": "Ut harum quaerat velit et.",
    "meta_title": "nqtnavlgmghcqdbosqdnqgkox",
    "meta_description": "xhsjpujwo",
    "meta_image_id": null,
    "meta_twitter_card": "summary_large_image",
    "instructions": "slycfjijqqdgqw",
    "out_of_stock_message": "ubpdmlzxmdfgbhvrhpdaoykw",
    "currency": "facere",
    "tax_inclusive": false,
    "serial_selection_method": "last",
    "dynamic_url": "http://www.beatty.info/ipsa-id-itaque-quaerat.html",
    "stock": 67,
    "group_id": null,
    "image_ids": null,
    "type": "single",
    "visibility": "unlisted",
    "payment_methods": null,
    "price": null,
    "price_slash": 5,
    "quantity_min": 7,
    "quantity_max": 13,
    "volume_discounts": "oleri",
    "discord_required": true,
    "block_vpn": false,
    "hide_stock_count": false,
    "status_color": null,
    "status_text": null,
    "show_views_count": true,
    "show_sales_count": false,
    "show_sales_notifications": true,
    "sales_count_hours": 351.25145,
    "feedback_coupon_id": null,
    "feedback_coupon_min_rating": 3,
    "deliverables_label": "enkgfaxrqqddyqnkcf",
    "custom_field_ids": null,
    "product_tabs": "kxvpy",
    "product_badges": "h",
    "product_upsells": [
      "laborum"
    ],
    "variants": "emhrlrukkiqaccnsldmckmropzvwknmclxlsodnseonmtotphcyfqliyezxwpmn"
  }'

Clone Product

Clones a product.

POST
/v1/shops/{shopId}/products/{productId}/clone

Authorization

AuthorizationRequiredBearer <token>

You can retrieve your API key by visiting your dashboard and clicking Account > API.

In: header

Path Parameters

shopIdRequiredinteger
productIdRequiredstring
curl -X POST "https://api.sellauth.com/v1/shops/{shopId}/products/accusantium/clone" \
  -H "Authorization: Bearer <token>"

Get Deliverables

Retrieves the deliverables for a product or variant.

GET
/v1/shops/{shopId}/products/{productId}/deliverables/{variantId}

Authorization

AuthorizationRequiredBearer <token>

You can retrieve your API key by visiting your dashboard and clicking Account > API.

In: header

Path Parameters

shopIdRequiredinteger
productIdRequiredstring
variantIdRequiredstring

Optional parameter.

curl -X GET "https://api.sellauth.com/v1/shops/{shopId}/products/tempore/deliverables/string" \
  -H "Authorization: Bearer <token>"

{
  "message": "No query results for model [App\\Models\\Shop] 1"
}

Append Deliverables

Appends deliverables to a product or variant.

PUT
/v1/shops/{shopId}/products/{productId}/deliverables/append/{variantId}

Authorization

AuthorizationRequiredBearer <token>

You can retrieve your API key by visiting your dashboard and clicking Account > API.

In: header

Path Parameters

shopIdRequiredinteger
productIdRequiredstring
variantIdRequiredstring

Optional parameter.

curl -X PUT "https://api.sellauth.com/v1/shops/{shopId}/products/placeat/deliverables/append/string" \
  -H "Authorization: Bearer <token>"

Overwrite Deliverables

Overwrites deliverables for a product or variant.

PUT
/v1/shops/{shopId}/products/{productId}/deliverables/overwrite/{variantId}

Authorization

AuthorizationRequiredBearer <token>

You can retrieve your API key by visiting your dashboard and clicking Account > API.

In: header

Path Parameters

shopIdRequiredinteger
productIdRequiredstring
variantIdRequiredstring

Optional parameter.

curl -X PUT "https://api.sellauth.com/v1/shops/{shopId}/products/dicta/deliverables/overwrite/string" \
  -H "Authorization: Bearer <token>"

Bulk Update Custom Fields

Bulk updates custom fields for products.

PUT
/v1/shops/{shopId}/products/bulk-update/custom-fields

Authorization

AuthorizationRequiredBearer <token>

You can retrieve your API key by visiting your dashboard and clicking Account > API.

In: header

Request Body

application/jsonOptional
product_idsobject
custom_field_idsarray<string>

Path Parameters

shopIdRequiredinteger
curl -X PUT "https://api.sellauth.com/v1/shops/{shopId}/products/bulk-update/custom-fields" \
  -H "Authorization: Bearer <token>" \
  -H "Content-Type: application/json" \
  -d '{
    "product_ids": null,
    "custom_field_ids": null
  }'

{
  "success": true,
  "message": "Products updated successfully"
}

Bulk Update Discord Integration

Bulk updates Discord integration for products.

PUT
/v1/shops/{shopId}/products/bulk-update/discord-integration

Authorization

AuthorizationRequiredBearer <token>

You can retrieve your API key by visiting your dashboard and clicking Account > API.

In: header

Request Body

application/jsonOptional
product_idsobject
discord_requiredboolean

Path Parameters

shopIdRequiredinteger
curl -X PUT "https://api.sellauth.com/v1/shops/{shopId}/products/bulk-update/discord-integration" \
  -H "Authorization: Bearer <token>" \
  -H "Content-Type: application/json" \
  -d '{
    "product_ids": null,
    "discord_required": false
  }'

{
  "success": true,
  "message": "Products updated successfully"
}

Bulk Update Description

Bulk updates product descriptions.

PUT
/v1/shops/{shopId}/products/bulk-update/description

Authorization

AuthorizationRequiredBearer <token>

You can retrieve your API key by visiting your dashboard and clicking Account > API.

In: header

Request Body

application/jsonRequired
product_idsobject
typeRequiredstring
Value in: "overwrite" | "append" | "prepend"
descriptionstring

Path Parameters

shopIdRequiredinteger
curl -X PUT "https://api.sellauth.com/v1/shops/{shopId}/products/bulk-update/description" \
  -H "Authorization: Bearer <token>" \
  -H "Content-Type: application/json" \
  -d '{
    "product_ids": null,
    "type": "append",
    "description": null
  }'

{
  "success": true,
  "message": "Products updated successfully"
}

Bulk Update Instructions

Bulk updates product instructions.

PUT
/v1/shops/{shopId}/products/bulk-update/instructions

Authorization

AuthorizationRequiredBearer <token>

You can retrieve your API key by visiting your dashboard and clicking Account > API.

In: header

Request Body

application/jsonOptional
product_idsobject
instructionsstring

Must not be greater than 65535 characters.

Path Parameters

shopIdRequiredinteger
curl -X PUT "https://api.sellauth.com/v1/shops/{shopId}/products/bulk-update/instructions" \
  -H "Authorization: Bearer <token>" \
  -H "Content-Type: application/json" \
  -d '{
    "product_ids": null,
    "instructions": "qpwibrwwresrmcglwjiasoqpg"
  }'

{
  "success": true,
  "message": "Products updated successfully"
}

Bulk Update Out of Stock Message

Bulk updates product out of stock message.

PUT
/v1/shops/{shopId}/products/bulk-update/out-of-stock-message

Authorization

AuthorizationRequiredBearer <token>

You can retrieve your API key by visiting your dashboard and clicking Account > API.

In: header

Request Body

application/jsonOptional
product_idsobject
out_of_stock_messagestring

Must not be greater than 65535 characters.

Path Parameters

shopIdRequiredinteger
curl -X PUT "https://api.sellauth.com/v1/shops/{shopId}/products/bulk-update/out-of-stock-message" \
  -H "Authorization: Bearer <token>" \
  -H "Content-Type: application/json" \
  -d '{
    "product_ids": null,
    "out_of_stock_message": "iyqaudcehcazltvfvr"
  }'

{
  "success": true,
  "message": "Products updated successfully"
}

Bulk Update Payment Methods

Bulk updates product payment methods.

PUT
/v1/shops/{shopId}/products/bulk-update/payment-methods

Authorization

AuthorizationRequiredBearer <token>

You can retrieve your API key by visiting your dashboard and clicking Account > API.

In: header

Request Body

application/jsonOptional
product_idsobject
payment_methodsobject

Path Parameters

shopIdRequiredinteger
curl -X PUT "https://api.sellauth.com/v1/shops/{shopId}/products/bulk-update/payment-methods" \
  -H "Authorization: Bearer <token>" \
  -H "Content-Type: application/json" \
  -d '{
    "product_ids": null,
    "payment_methods": null
  }'

{
  "success": true,
  "message": "Products updated successfully"
}

Bulk Update Security

Bulk updates product security settings.

PUT
/v1/shops/{shopId}/products/bulk-update/security

Authorization

AuthorizationRequiredBearer <token>

You can retrieve your API key by visiting your dashboard and clicking Account > API.

In: header

Request Body

application/jsonOptional
product_idsobject
block_vpnboolean

Path Parameters

shopIdRequiredinteger
curl -X PUT "https://api.sellauth.com/v1/shops/{shopId}/products/bulk-update/security" \
  -H "Authorization: Bearer <token>" \
  -H "Content-Type: application/json" \
  -d '{
    "product_ids": null,
    "block_vpn": true
  }'

{
  "success": true,
  "message": "Products updated successfully"
}

Bulk Update Badges

Bulk updates product badges.

PUT
/v1/shops/{shopId}/products/bulk-update/badges

Authorization

AuthorizationRequiredBearer <token>

You can retrieve your API key by visiting your dashboard and clicking Account > API.

In: header

Request Body

application/jsonRequired
product_idsobject
typeRequiredstring
Value in: "overwrite" | "append" | "prepend"
product_badgesarray<string>

Must not have more than 10 items.

Path Parameters

shopIdRequiredinteger
curl -X PUT "https://api.sellauth.com/v1/shops/{shopId}/products/bulk-update/badges" \
  -H "Authorization: Bearer <token>" \
  -H "Content-Type: application/json" \
  -d '{
    "product_ids": null,
    "type": "overwrite",
    "product_badges": "yifhxfqwv"
  }'

{
  "success": true,
  "message": "Products updated successfully"
}

Bulk Update Status

Bulk updates product status.

PUT
/v1/shops/{shopId}/products/bulk-update/status

Authorization

AuthorizationRequiredBearer <token>

You can retrieve your API key by visiting your dashboard and clicking Account > API.

In: header

Request Body

application/jsonOptional
product_idsobject
status_colorstring
status_textstring

Path Parameters

shopIdRequiredinteger
curl -X PUT "https://api.sellauth.com/v1/shops/{shopId}/products/bulk-update/status" \
  -H "Authorization: Bearer <token>" \
  -H "Content-Type: application/json" \
  -d '{
    "product_ids": null,
    "status_color": null,
    "status_text": null
  }'

{
  "success": true,
  "message": "Products updated successfully"
}

Bulk Update Visibility

Bulk updates product visibility.

PUT
/v1/shops/{shopId}/products/bulk-update/visibility

Authorization

AuthorizationRequiredBearer <token>

You can retrieve your API key by visiting your dashboard and clicking Account > API.

In: header

Request Body

application/jsonRequired
product_idsobject
visibilityRequiredstring
Value in: "public" | "unlisted" | "private" | "on_hold"

Path Parameters

shopIdRequiredinteger
curl -X PUT "https://api.sellauth.com/v1/shops/{shopId}/products/bulk-update/visibility" \
  -H "Authorization: Bearer <token>" \
  -H "Content-Type: application/json" \
  -d '{
    "product_ids": null,
    "visibility": "public"
  }'

{
  "success": true,
  "message": "Products updated successfully"
}

Bulk Update Live Stats

Bulk updates product live stats.

PUT
/v1/shops/{shopId}/products/bulk-update/live-stats

Authorization

AuthorizationRequiredBearer <token>

You can retrieve your API key by visiting your dashboard and clicking Account > API.

In: header

Request Body

application/jsonOptional
product_idsobject
show_views_countboolean
show_sales_countboolean
show_sales_notificationsboolean
sales_count_hoursnumber

Path Parameters

shopIdRequiredinteger
curl -X PUT "https://api.sellauth.com/v1/shops/{shopId}/products/bulk-update/live-stats" \
  -H "Authorization: Bearer <token>" \
  -H "Content-Type: application/json" \
  -d '{
    "product_ids": null,
    "show_views_count": true,
    "show_sales_count": false,
    "show_sales_notifications": true,
    "sales_count_hours": 5.907
  }'

{
  "success": true,
  "message": "Products updated successfully"
}

Bulk Update Feedback Coupon

Bulk updates product feedback coupon.

PUT
/v1/shops/{shopId}/products/bulk-update/feedback-coupon

Authorization

AuthorizationRequiredBearer <token>

You can retrieve your API key by visiting your dashboard and clicking Account > API.

In: header

Request Body

application/jsonOptional
product_idsobject
feedback_coupon_idstring
feedback_coupon_min_ratingnumber

Must be at least 1. Must not be greater than 5.

Path Parameters

shopIdRequiredinteger
curl -X PUT "https://api.sellauth.com/v1/shops/{shopId}/products/bulk-update/feedback-coupon" \
  -H "Authorization: Bearer <token>" \
  -H "Content-Type: application/json" \
  -d '{
    "product_ids": null,
    "feedback_coupon_id": null,
    "feedback_coupon_min_rating": 5
  }'

{
  "success": true,
  "message": "Products updated successfully"
}

Bulk Update Volume Discounts

Bulk updates product volume discounts.

PUT
/v1/shops/{shopId}/products/bulk-update/volume-discounts

Authorization

AuthorizationRequiredBearer <token>

You can retrieve your API key by visiting your dashboard and clicking Account > API.

In: header

Request Body

application/jsonOptional
product_idsobject
volume_discountsarray<string>

Path Parameters

shopIdRequiredinteger
curl -X PUT "https://api.sellauth.com/v1/shops/{shopId}/products/bulk-update/volume-discounts" \
  -H "Authorization: Bearer <token>" \
  -H "Content-Type: application/json" \
  -d '{
    "product_ids": null,
    "volume_discounts": [
      "unde"
    ]
  }'

{
  "success": true,
  "message": "Products updated successfully"
}

Bulk Update Redirect URL

Bulk updates product redirect URL.

PUT
/v1/shops/{shopId}/products/bulk-update/redirect-url

Authorization

AuthorizationRequiredBearer <token>

You can retrieve your API key by visiting your dashboard and clicking Account > API.

In: header

Request Body

application/jsonOptional
product_idsobject
redirect_urlstring

Must start with one of https Must not be greater than 2048 characters.

Path Parameters

shopIdRequiredinteger
curl -X PUT "https://api.sellauth.com/v1/shops/{shopId}/products/bulk-update/redirect-url" \
  -H "Authorization: Bearer <token>" \
  -H "Content-Type: application/json" \
  -d '{
    "product_ids": null,
    "redirect_url": "http://christiansen.biz/"
  }'

{
  "success": true,
  "message": "Products updated successfully"
}

Bulk Update Deliverables Label

Bulk updates product deliverables label.

PUT
/v1/shops/{shopId}/products/bulk-update/deliverables-label

Authorization

AuthorizationRequiredBearer <token>

You can retrieve your API key by visiting your dashboard and clicking Account > API.

In: header

Request Body

application/jsonRequired
product_idsobject
deliverables_labelRequiredstring

Must not be greater than 255 characters.

Path Parameters

shopIdRequiredinteger
curl -X PUT "https://api.sellauth.com/v1/shops/{shopId}/products/bulk-update/deliverables-label" \
  -H "Authorization: Bearer <token>" \
  -H "Content-Type: application/json" \
  -d '{
    "product_ids": null,
    "deliverables_label": "wrjwsuhmswiqvhpiyc"
  }'

{
  "success": true,
  "message": "Products updated successfully"
}