@lap v0.3
# Machine-readable API spec. Each @endpoint block is one API call.
@api Suggestions
@base https://api.vtex.com/apiexamples
@version 1.0
@auth ApiKey X-VTEX-API-AppKey in header | ApiKey X-VTEX-API-AppToken in header | ApiKey VtexIdclientAutCookie in header
@common_fields {accountName: str, Content-Type: str=application/json, Accept: str=application/json}
@endpoints 17
@toc suggestions(17)

@endpoint GET /suggestions/configuration/autoapproval/toggle
@required {sellerId: str}
@returns(200) {Enabled: bool}

@endpoint PUT /suggestions/configuration/autoapproval/toggle
@required {Enabled: bool}
@returns(200) {Enabled: bool}

@endpoint GET /suggestions/configuration
@returns(200) {Score: map, Matchers: [map], Rules: map, SpecificationsMapping: [map], MatchFlux: str}

@endpoint PUT /suggestions/configuration
@required {Score: map{Approve!: int(int32), Reject!: int(int32)}, Matchers: [map{MatcherId!: str, hook-base-address!: str, IsActive!: bool, UpdatesNotificationEndpoint!: str, Description: str}], SpecificationsMapping: [str], MatchFlux: str=autoApprove}
@returns(200) {Score: map{Approve: int, Reject: int}, Matchers: [map], Rules: map{Item: [int], Product: [str]}, SpecificationsMapping: [map], MatchFlux: str}

@endpoint GET /suggestions/configuration/account/config
@returns(200) {score: map{approve: int, pending: int, reject: int}, matchers: [map], rules: map{item: [map], product: [map]}, SpecificationsMapping: [map], matchFlux: str}

@endpoint GET /suggestions/configuration/seller/{sellerId}
@required {sellerId: str}
@returns(200) {sellerId: str, accountId: str, accountName: str, mapping: map{defaultColor: str, searchColor: str, color1: str, color2: str, color: str, size: str}, matchFlux: str}

@endpoint PUT /suggestions/configuration/seller/{sellerId}
@required {sellerId: str, sellerId: str, mapping: map, matchFlux: str=autoApprove}
@returns(200)

@endpoint PUT /suggestions/configuration/autoapproval/toggle/seller/{sellerId}
@required {sellerId: str, Enabled: bool=true}
@returns(200)

@endpoint GET /suggestions
@optional {q: str, type: str, seller: str, status: str, hasmapping: str, matcherid: str=vtex-matcher, _from: int(int32), _to: int(int32)}
@returns(200)

@endpoint PUT /suggestions/{sellerId}/{sellerSkuId}
@required {sellerId: str, sellerSkuId: str, ProductName: str, ProductId: str, ProductDescription: str, BrandName: str, SkuName: str, SellerId: str, Height: int(decimal), Width: int(decimal), Length: int(decimal), Weight: int(decimal), RefId: str=REF10, EAN: str, CategoryFullPath: str, Images: [map{imageName!: str, imageUrl!: str}], AvailableQuantity: int(int32), Pricing: map{Currency: str, SalePrice: int, CurrencySymbol: str}}
@optional {SellerStockKeepingUnitId: int(int32), SkuSpecifications: [map{fieldName: str, fieldValues: [str]}], ProductSpecifications: [map{fieldName: str, fieldValues: [str]}], MeasurementUnit: str, UnitMultiplier: int(int32)}
@returns(200)

@endpoint GET /suggestions/{sellerId}/{sellerSkuId}
@required {sellerId: str, sellerSkuId: str}
@returns(200)

@endpoint DELETE /suggestions/{sellerId}/{sellerSkuId}
@required {sellerId: str, sellerSkuId: str}
@returns(200)

@endpoint GET /suggestions/{sellerId}/{sellerskuid}/versions
@required {sellerId: str, sellerskuid: str}
@returns(200)

@endpoint GET /suggestions/{sellerId}/{sellerskuid}/versions/{version}
@required {sellerId: str, sellerskuid: str, version: str}
@returns(200)

@endpoint PUT /suggestions/{sellerId}/{sellerskuid}/versions/{version}/matches/{matchid}
@required {sellerId: str, sellerskuid: str, version: str, matchid: str, matcherId: str=vtex-matcher, matchType: str, score: str=80}
@optional {skuRef: str, productRef: str, product: map{name!: str, description!: str, categoryId!: int(int32), brandId!: int(int32), specifications!: map}, sku: map{name!: str, eans!: [str], refId!: str, height!: int(int32), width!: int(int32), length!: int(int32), weight!: int(int32), images!: map, unitMultiplier!: int(int32), measurementUnit!: str, specifications!: map}}
@returns(200)

@endpoint PUT /suggestions/matches/action/{actionName}
@required {actionName: str(newproduct/skuassociation/productassociation/deny)}
@returns(200)

@endpoint PUT /suggestions/configuration/{sellerID}/specifications
@required {sellerID: str}
@returns(200)

@end
