@lap v0.3
# Machine-readable API spec. Each @endpoint block is one API call.
@api Metadata API
@base https://api.ebay.com/sell/metadata/v1
@version v1.12.1
@auth OAuth2
@endpoints 27
@hint download_for_search
@toc marketplace(16), compatibilities(5), shipping(5), country(1)

@group marketplace
@endpoint GET /marketplace/{marketplace_id}/get_automotive_parts_compatibility_policies
@required {marketplace_id: str}
@optional {filter: str, Accept-Encoding: str}
@returns(200) {automotivePartsCompatibilityPolicies: [map], warnings: [map]}
@returns(204)
@errors {400, 404, 500}

@endpoint GET /marketplace/{marketplace_id}/get_category_policies
@required {marketplace_id: str}
@optional {filter: str, Accept-Language: str}
@returns(200) {categoryPolicies: [map], warnings: [map]}
@returns(204)
@errors {400, 404, 500}

@endpoint GET /marketplace/{marketplace_id}/get_classified_ad_policies
@required {marketplace_id: str}
@optional {filter: str, Accept-Language: str}
@returns(200) {classifiedAdPolicies: [map], warnings: [map]}
@returns(204)
@errors {400, 404, 500}

@endpoint GET /marketplace/{marketplace_id}/get_currencies
@required {marketplace_id: str}
@optional {Accept-Language: str}
@returns(200) {defaultCurrency: map{code: str, description: str}, marketplaceId: str}
@returns(204)
@errors {400, 404, 500}

@endpoint GET /marketplace/{marketplace_id}/get_extended_producer_responsibility_policies
@required {marketplace_id: str}
@optional {filter: str, Accept-Encoding: str, Accept-Language: str}
@returns(200) {extendedProducerResponsibilities: [map], warnings: [map]}
@returns(204)
@errors {400, 404, 500}

@endpoint GET /marketplace/{marketplace_id}/get_hazardous_materials_labels
@required {marketplace_id: str}
@optional {Accept-Language: str}
@returns(200) {signalWords: [map], statements: [map], pictograms: [map]}
@returns(204)
@errors {400, 404, 500}

@endpoint GET /marketplace/{marketplace_id}/get_item_condition_policies
@required {marketplace_id: str}
@optional {filter: str, Accept-Encoding: str, Accept-Language: str}
@returns(200) {itemConditionPolicies: [map], warnings: [map]}
@returns(204)
@errors {400, 404, 500}

@endpoint GET /marketplace/{marketplace_id}/get_listing_structure_policies
@required {marketplace_id: str}
@optional {filter: str, Accept-Encoding: str, Accept-Language: str}
@returns(200) {listingStructurePolicies: [map], warnings: [map]}
@returns(204)
@errors {400, 404, 500}

@endpoint GET /marketplace/{marketplace_id}/get_listing_type_policies
@required {marketplace_id: str}
@optional {filter: str, Accept-Language: str}
@returns(200) {listingTypePolicies: [map], warnings: [map]}
@returns(204)
@errors {400, 404, 500}

@endpoint GET /marketplace/{marketplace_id}/get_motors_listing_policies
@required {marketplace_id: str}
@optional {filter: str, Accept-Language: str}
@returns(200) {motorsListingPolicies: [map], warnings: [map]}
@returns(204)
@errors {400, 404, 500}

@endpoint GET /marketplace/{marketplace_id}/get_negotiated_price_policies
@required {marketplace_id: str}
@optional {filter: str, Accept-Encoding: str, Accept-Language: str}
@returns(200) {negotiatedPricePolicies: [map], warnings: [map]}
@returns(204)
@errors {400, 404, 500}

@endpoint GET /marketplace/{marketplace_id}/get_product_safety_labels
@required {marketplace_id: str}
@returns(200) {pictograms: [map], statements: [map]}
@returns(204)
@errors {400, 404, 500}

@endpoint GET /marketplace/{marketplace_id}/get_regulatory_policies
@required {marketplace_id: str}
@optional {filter: str, Accept-Language: str}
@returns(200) {regulatoryPolicies: [map], warnings: [map]}
@returns(204)
@errors {400, 404, 500}

@endpoint GET /marketplace/{marketplace_id}/get_return_policies
@required {marketplace_id: str}
@optional {filter: str, Accept-Encoding: str, Accept-Language: str}
@returns(200) {returnPolicies: [map], warnings: [map]}
@returns(204)
@errors {400, 404, 500}

@endpoint GET /marketplace/{marketplace_id}/get_shipping_policies
@required {marketplace_id: str}
@optional {filter: str, Accept-Language: str}
@returns(200) {shippingPolicies: [map], warnings: [map]}
@returns(204)
@errors {400, 404, 500}

@endpoint GET /marketplace/{marketplace_id}/get_site_visibility_policies
@required {marketplace_id: str}
@optional {filter: str, Accept-Language: str}
@returns(200) {siteVisibilityPolicies: [map], warnings: [map]}
@returns(204)
@errors {400, 404, 500}

@endgroup

@group compatibilities
@endpoint POST /compatibilities/get_compatibilities_by_specification
@required {X-EBAY-C-MARKETPLACE-ID: str, Content-Type: str}
@optional {categoryId: str, compatibilityPropertyFilters: [map{propertyName: str, propertyValue: str, unitOfMeasurement: str, url: str}], dataset: str, datasetPropertyName: [str], exactMatch: bool, paginationInput: map{limit: int(int32), offset: int(int32)}, sortOrders: [map{sortOrder: map, sortPriority: str}], specifications: [map{propertyName: str, propertyValue: str, unitOfMeasurement: str, url: str}]}
@returns(200) {compatibilityDetails: [map], pagination: map{count: int(int32), limit: int(int32), offset: int(int32), total: int(int32)}}
@returns(204)
@errors {400, 401, 500}

@endpoint POST /compatibilities/get_compatibility_property_names
@required {X-EBAY-C-MARKETPLACE-ID: str, Content-Type: str}
@optional {categoryId: str, dataset: [str]}
@returns(200) {categoryId: str, properties: [map]}
@returns(204)
@errors {400, 401, 500}

@endpoint POST /compatibilities/get_compatibility_property_values
@required {X-EBAY-C-MARKETPLACE-ID: str, Content-Type: str}
@optional {categoryId: str, propertyFilters: [map{propertyName: str, propertyValue: str, unitOfMeasurement: str, url: str}], propertyName: str, sortOrder: str}
@returns(200) {metadataVersion: str, propertyName: str, propertyValues: [str]}
@returns(204)
@errors {400, 401, 500}

@endpoint POST /compatibilities/get_multi_compatibility_property_values
@required {X-EBAY-C-MARKETPLACE-ID: str, Content-Type: str}
@optional {categoryId: str, propertyFilters: [map{propertyName: str, propertyValue: str, unitOfMeasurement: str, url: str}], propertyNames: [str]}
@returns(200) {compatibilities: [map], metadataVersion: str}
@returns(204)
@errors {400, 401, 500}

@endpoint POST /compatibilities/get_product_compatibilities
@required {X-EBAY-C-MARKETPLACE-ID: str, Content-Type: str}
@optional {applicationPropertyFilters: [map{propertyName: str, propertyValue: str, unitOfMeasurement: str, url: str}], dataset: [str], datasetPropertyName: [str], disabledProductFilter: map{excludeForEbayReviews: bool, excludeForEbaySelling: bool}, paginationInput: map{limit: int(int32), offset: int(int32)}, productIdentifier: map{ean: str, epid: str, isbn: str, productId: str, upc: str}, sortOrders: [map{sortOrder: map, sortPriority: str}]}
@returns(200) {compatibilityDetails: [map], pagination: map{count: int(int32), limit: int(int32), offset: int(int32), total: int(int32)}}
@returns(204)
@errors {400, 401, 500}

@endgroup

@group shipping
@endpoint GET /shipping/marketplace/{marketplace_id}/get_exclude_shipping_locations
@required {marketplace_id: str}
@optional {Accept-Language: str}
@returns(200) {excludeShippingLocations: [map]}
@errors {400, 500}

@endpoint GET /shipping/marketplace/{marketplace_id}/get_handling_times
@required {marketplace_id: str}
@optional {Accept-Language: str}
@returns(200) {handlingTimes: [map]}
@errors {400, 500}

@endpoint GET /shipping/marketplace/{marketplace_id}/get_shipping_carriers
@required {marketplace_id: str}
@optional {Accept-Language: str}
@returns(200) {shippingCarriers: [map]}
@errors {400, 500}

@endpoint GET /shipping/marketplace/{marketplace_id}/get_shipping_locations
@required {marketplace_id: str}
@optional {Accept-Language: str}
@returns(200) {shippingLocations: [map]}
@errors {400, 500}

@endpoint GET /shipping/marketplace/{marketplace_id}/get_shipping_services
@required {marketplace_id: str}
@optional {Accept-Language: str}
@returns(200) {shippingServices: [map]}
@errors {400, 500}

@endgroup

@group country
@endpoint GET /country/{countryCode}/sales_tax_jurisdiction
@required {countryCode: str}
@returns(200) {salesTaxJurisdictions: [map]}
@errors {400, 404, 500}

@endgroup

@end
