@lap v0.3
# Machine-readable API spec. Each @endpoint block is one API call.
@api Pricing API
@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 {Content-Type: str, Accept: str}
@endpoints 17
@toc pricing(17)

@endpoint GET /pricing/prices/{itemId}
@required {itemId: int}
@returns(200) {itemId: str, listPrice: int(int32), costPrice: int(int32), markup: int(int32), basePrice: int(int32), fixedPrices: [map]}

@endpoint DELETE /pricing/prices/{itemId}
@required {itemId: int}
@returns(200)

@endpoint PUT /pricing/prices/{itemId}
@required {itemId: int}
@optional {markup: int, listPrice: num, basePrice: num, costPrice: num, fixedPrices: [map{tradePolicyId!: str, value!: num, listPrice: num, minQuantity!: int, dateRange: map}]}
@returns(200)

@endpoint GET /pricing/prices/{itemId}/fixed
@required {itemId: int}
@returns(200)

@endpoint PATCH /pricing/prices/{itemId}/fixed
@required {itemId: int}
@returns(200)

@endpoint POST /pricing/prices/{itemId}/fixed/{priceTableId}
@required {itemId: int, priceTableId: str}
@returns(200)

@endpoint GET /pricing/prices/{itemId}/fixed/{priceTableId}
@required {itemId: int, priceTableId: str}
@returns(200)

@endpoint DELETE /pricing/prices/{itemId}/fixed/{priceTableId}
@required {itemId: int, priceTableId: str}
@returns(200)

@endpoint GET /pricing/prices/{itemId}/computed
@required {itemId: int}
@optional {categoryIds: int, brandId: int, quantity: int}
@returns(200)

@endpoint GET /pricing/prices/{itemId}/computed/{priceTableId}
@required {itemId: int, priceTableId: str}
@optional {categoryIds: int, brandId: int, quantity: int}
@returns(200)

@endpoint GET /pricing/config
@returns(200)

@endpoint GET /pricing/migration
@returns(200)

@endpoint GET /pricing/pipeline/catalog/{priceTableId}
@required {priceTableId: str}
@returns(200) {tradePolicyId: str, rules: [map], percentualModifier: int}
@errors {401, 403, 429}

@endpoint PUT /pricing/pipeline/catalog/{priceTableId}
@required {priceTableId: str, rules: [map{id!: int, context!: map, percentualModifier!: num}]}
@returns(201)

@endpoint PUT /pricing/tables/{priceTableId}
@required {priceTableId: str}
@returns(200)

@endpoint GET /pricing/pipeline/catalog
@returns(200)

@endpoint GET /pricing/tables
@returns(200)

@end
