@lap v0.3
# Machine-readable API spec. Each @endpoint block is one API call.
@api Item Feed Service
@base https://api.ebay.com/buy/feed/v1_beta
@version v1_beta.34.0
@auth OAuth2
@endpoints 4
@toc item(1), item_group(1), item_snapshot(1), item_priority(1)

@group item
@endpoint GET /item
@desc This method lets you download a TSV_GZIP (tab separated value gzip)  Item feed file. The feed file contains all the items from  all the child categories of the specified category.  The first line of the file is the header, which labels the columns and indicates the order of the values on each line.  Each header is described in the Response fields section.    There are two types of item feed files generated:  A daily Item feed file containing all the newly listed items for a specific category, date, and marketplace (feed_scope = NEWLY_LISTED)  A weekly Item Bootstrap feed file containing  all the items in a specific category and marketplace (feed_scope = ALL_ACTIVE)       Note:   Filters are applied to the feed files. For details, see Feed File Filters. When curating the items returned, be sure to code as if these filters are not applied as they can be changed or removed in the future.Downloading feed files              Item feed files are binary gzip files. If the file is larger than 100 MB, the download must be streamed in chunks. You specify the size of the chunks in bytes using the Range request header. The Content-range response header indicates where in the full resource this partial chunk of data belongs  and the total number of bytes in the file.       For more information about using these headers, see Retrieving a gzip feed file.        In addition to the API, there is an open source Feed SDK written in Java that downloads, combines files into a single file when needed, and unzips the entire feed file. It also lets you specify field filters to curate the items in the file.                 Note: A successful call will always return a TSV.GZIP file; however, unsuccessful calls generate errors that are returned in JSON format. For documentation purposes, the successful call response is shown below as JSON fields so that the value returned in each column can be explained. The order of the response fields shows the order of the columns in the feed file.                  Restrictions                 For a list of supported sites and other restrictions, see API Restrictions.
@required {Accept: any # The formats that the client accepts for the response.A successful call will always return a TSV.GZIP file; however, unsuccessful calls generate errors that are returned in JSON format.Default: application/json,text/tab-separated-values, X-EBAY-C-MARKETPLACE-ID: any # The ID of the eBay marketplace where the item is hosted. Note:  This value is case sensitive.For example: &nbsp;&nbsp;X-EBAY-C-MARKETPLACE-ID = EBAY_US   For a list of supported sites see, API Restrictions., Range: any # This header specifies the range in bytes of the chunks of the gzip file being returned.  Format: bytes=startpos-endpos  For example, the following retrieves the first 10 MBs of the feed file. &nbsp;&nbsp;Range bytes=0-10485760 For more information about using this header, see Retrieving a gzip feed file. Maximum: 100 MB (10MB in the Sandbox), feed_scope: any # Specifies the type of feed file to return. Valid Values:      NEWLY_LISTED - Returns the daily Item feed file containing all Good 'Til Cancelled items that were listed on the day specified by the  date parameter in the category specified by the  category_id parameter./item?feed_scope=NEWLY_LISTED&category_id=15032&date=20170925ALL_ACTIVE - Returns the weekly Item Bootstrap feed file containing all the Good 'Til Cancelled items in the category specified by the category_id parameter.Note: Bootstrap files are generated every Tuesday and the file is available on Wednesday. However, the exact time the file is available can vary so we recommend you download the Bootstrap file on Thursday. The items in the file are the items that were in the specified category on Sunday. /item?feed_scope=ALL_ACTIVE&category_id=15032, category_id: any # An eBay top-level category ID of the items to be returned in the feed file.  The list of eBay category IDs changes over time and category IDs are not the same across all the eBay marketplaces. To get a list of the top-level categories for a marketplace, you can use the Taxonomy API getCategoryTree method. This method retrieves the complete category tree for the marketplace. The top-level categories are identified by the categoryTreeNodeLevel field. For example:&nbsp;&nbsp;"categoryTreeNodeLevel": 1 For details see Get Categories for Buy APIs.       Restriction: Must be a top-level (L1) category other than Real Estate. Items listed under Real Estate L1 categories are excluded from all feeds in all marketplaces.}
@optional {date: any # The date of the daily Item feed file (feed_scope=NEWLY_LISTED) you want. The  date is required only for the daily Item feed file. If you specify a date for the Item Bootstrap file (feed_scope=ALL_ACTIVE), the date is ignored and the latest file is returned. The date the Item Bootstrap feed file was generated is returned in the Last-Modified response header.    The  Item feed files are generated every day and there are 14 daily files available.   Note:   The daily Item feed files are available each day after 9AM MST (US Mountain Standard Time), which is -7 hours UTC time.    There is a 48 hour latency when generating the  Item feed files. This means you can download the file for July 10th on July 12 after 9AM MST. Note:  For categories with a large number of items, the latency can be up to 72 hours.   Format: yyyyMMdd Requirements:    Required when feed_scope=NEWLY_LISTED   Must be within 3-14 days in the past}
@returns(200) Partial Content
@returns(204) No Content This code is returned when there are no items that meet the criteria for this feed file. See Feed File Filters for details.
@returns(206) Partial Content
@errors {400: Bad request, 403: Forbidden, 404: Not found, 409: Conflict, 416: Range not satisfiable, 500: Internal server error}

@endgroup

@group item_group
@endpoint GET /item_group
@desc This method lets you download a TSV_GZIP (tab separated value gzip)  Item Group feed file. An item group is an item that has various aspect differences, such as color, size, storage capacity, etc.  There are two types of item group feed files generated:  A daily Item Group feed file containing the item group variation information associated with items returned in the Item feed file for a specific day, category, and marketplace. (feed_scope = NEWLY_LISTED)  A weekly Item Group Bootstrap feed file containing all the item group variation information associated with items returned in the Item Bootstrap feed file for all the items in a specific category.  (feed_scope = ALL_ACTIVE)    Note:   Filters are applied to the feed files. For details, see Feed File Filters.  When curating the items returned, be sure to code as if these filters are not applied as they can be changed or removed in the future.    The contents of these feed files are based on the contents of the corresponding daily  Item or Item Bootstrap feed file. When a new  Item or Item Bootstrap feed file is generated, the service reads the file and if an item in the file has a  primaryItemGroupId value, which indicates the item is part of an item group, it uses that value to return the item group (parent item) information for that item in the corresponding  Item Group or  Item Group Bootstrap feed file.    This information includes the  name/value pair of the aspects of the items in this group returned in the  variesByLocalizedAspects  column. For example, if the item was a shirt some of the variation names could be Size, Color, etc. Also the images for the various aspects are returned in the additionalImageUrls column.              The first line in any feed file is the header, which labels the columns and indicates the order of the values on each line.  Each header is described in the Response fields section.                                  Combining the Item Group and Item feed files              The  Item Group or  Item Group Bootstrap feed file contains details about the item group (parent item), including the item group ID  itemGroupId.  You match the value of  itemGroupId from the  Item Group feed file with the value of  primaryItemGroupId from the corresponding daily  Item or Item Bootstrap feed file.Downloading feed files                           Item Group feed files are binary gzip files. If the file is larger than 100 MB, the download must be streamed in chunks. You specify the size of the chunks in bytes using the Range request header. The content-range response header indicates where in the full resource this partial chunk of data belongs  and the total number of bytes in the file.       For more information about using these headers, see Retrieving a gzip feed file.                     Note:  A successful call will always return a TSV.GZIP file; however, unsuccessful calls generate errors that are returned in JSON format. For documentation purposes, the successful call response is shown below as JSON fields so that the value returned in each column can be explained. The order of the response fields shows the order of the columns in the feed file.                                  Restrictions                         For a list of supported sites and other restrictions, see API Restrictions.
@required {Accept: any # The formats that the client accepts for the response.A successful call will always return a TSV.GZIP file; however, unsuccessful calls generate error codes that are returned in JSON format.Default: application/json,text/tab-separated-values, X-EBAY-C-MARKETPLACE-ID: any # The ID of the eBay marketplace where the item is hosted. Note:  This value is case sensitive.For example: &nbsp;&nbsp;X-EBAY-C-MARKETPLACE-ID = EBAY_US   For a list of supported sites see, API Restrictions., feed_scope: any # Specifies the type of file to return. Valid Values:      NEWLY_LISTED - Returns the Item Group feed file containing the  item group variation information for items in the daily Item feed file that were associated with an item group. The items in this type of Item feed file are items that were listed on the day specified by the  date parameter in the category specified by the category_id parameter. /item_group?feed_scope=NEWLY_LISTED&category_id=15032&date=20170925 ALL_ACTIVE - Returns the weekly Item Group Bootstrap file containing the item group  variation information for items in the weekly Item Bootstrap feed file that were associated with an item group. The items are Good 'Til Cancelled items in the category specified by the  category_id parameter.    Note:  Bootstrap files are generated every Tuesday and the file is available on Wednesday. However, the exact time the file is available can vary so we recommend you download the Bootstrap file on Thursday. The item groups in the file are for the items that were in the specified category on Sunday./item_group?feed_scope=ALL_ACTIVE&category_id=15032, category_id: any # An eBay top-level category ID of the items to be returned in the feed file. The list of eBay category IDs changes over time and category IDs are not the same across all the eBay marketplaces. To get a list of the top-level categories for a marketplaces, you can use the Taxonomy API getCategoryTree method. This method retrieves the complete category tree for the marketplace. The top-level categories are identified by the categoryTreeNodeLevel field. For example:&nbsp;&nbsp;"categoryTreeNodeLevel": 1 For details see Get Categories for Buy APIs.       Restriction: Must be a top-level category other than Real Estate. Items listed under Real Estate L1 categories are excluded from all feeds in all marketplaces.}
@optional {Range: any # This header specifies the range in bytes of the chunks of the gzip file being returned.  Format: bytes=startpos-endpos  For example, the following retrieves the first 10 MBs of the feed file. &nbsp;&nbsp;Range bytes=0-10485760 For more information about using this header, see Retrieving a gzip feed file. Maximum: 100 MB (10MB in the Sandbox), date: any # The date of the daily Item Group feed file (feed_scope=NEWLY_LISTED) you want. The  date is required only for the daily Item Group feed file. If you specify a date for the Item Group Bootstrap file (feed_scope=ALL_ACTIVE), the date is ignored and the latest file is returned. The date the Item Group Bootstrap feed file was generated is returned in the Last-Modified response header.    The  Item Group feed files are generated every day and there are 14 daily files available. There is a 48 hour latency when generating the files. This means on July 10, the latest feed file you can download is July 8.  Note:  The generated files are stored using MST (US Mountain Standard Time), which is -7 hours UTC time.  Format: yyyyMMdd Requirements:    Required only when feed_scope=NEWLY_LISTED    Must be within 3-14 days in the past}
@returns(200) Partial Content
@returns(204) No Content This code is returned when there are no items that meet the criteria for this feed file. See Feed File Filters for details.
@returns(206) Partial Content
@errors {400: Bad Request, 403: Forbidden, 404: Not found, 409: Conflict, 416: Range not satisfiable, 500: Internal server error}

@endgroup

@group item_snapshot
@endpoint GET /item_snapshot
@desc The  Hourly Snapshot feed file is generated each hour every day for most categories. This method lets you download an  Hourly Snapshot TSV_GZIP (tab-separated value gzip) feed file containing the details of all the items that have changed  within the specified day and hour for a specific category.  This means to generate the 8AM file of items that have changed from 8AM and 8:59AM, the service starts at 9AM. You can retrieve the 8AM snapshot file at 10AM.    Snapshot feeds now include new listings. You can check itemCreationDate to identify listings that were newly created within the specified hour.     Note:   Filters are applied to the feed files. For details, see Feed File Filters.  When curating the items returned, be sure to code as if these filters are not applied as they can be changed or removed in the future.                  You can use the response from this method to update the item details of items stored in your database. By looking at the value of itemSnapshotDate for a given item, you will be able to tell which information is the latest.     Important:  When the value of the  availability column is UNAVAILABLE, only the itemId and  availability columns are populated. Downloading feed files Hourly snapshot feed files are binary gzip files. If the file is larger than 100 MB, the download must be streamed in chunks. You specify the size of the chunks in bytes using the Range request header. The Content-range response header indicates where in the full resource this partial chunk of data belongs and the total number of bytes in the file.       For more information about using these headers, see Retrieving a gzip feed file.                                     Note: A successful call will always return a TSV.GZIP file; however, unsuccessful calls generate errors that are returned in JSON format. For documentation purposes, the successful call response is shown below as JSON fields so that the value returned in each column can be explained. The order of the response fields shows the order of the columns in the feed file.Restrictions For a list of supported sites and other restrictions, see API Restrictions.
@required {Accept: any # The formats that the client accepts for the response.A successful call will always return a TSV.GZIP file; however, unsuccessful calls generate error codes that are returned in JSON format.Default: application/json,text/tab-separated-values, X-EBAY-C-MARKETPLACE-ID: any # The ID of the eBay marketplace where the item is hosted. Note:  This value is case sensitive.For example: &nbsp;&nbsp;X-EBAY-C-MARKETPLACE-ID = EBAY_US   For a list of supported sites see, API Restrictions., Range: any # This header specifies the range in bytes of the chunks of the gzip file being returned.  Format: bytes=startpos-endpos  For example, the following retrieves the first 10 MBs of the feed file. &nbsp;&nbsp;Range bytes=0-10485760 For more information about using this header, see Retrieving a gzip feed file. Maximum: 100 MB (10MB in the Sandbox), category_id: any # An eBay top-level category ID  of the items to be returned in the feed file. The list of eBay category IDs changes over time and category IDs are not the same across all the eBay marketplaces. To get a list of the top-level categories for a marketplace, you can use the Taxonomy API getCategoryTree method. This method retrieves the complete category tree for the marketplace. The top-level categories are identified by the categoryTreeNodeLevel field.For example:&nbsp;&nbsp;"categoryTreeNodeLevel": 1 For details see Get Categories for Buy APIs.      Restriction: Must be a top-level category other than Real Estate. Items listed under Real Estate L1 categories are excluded from all feeds in all marketplaces., snapshot_date: any # The date and hour of the snapshot feed file you want. Each file contains the items that changed within the hour in the specified category. So, the 9AM file contains the items that changed between 9AM and 9:59AM on the day specified.  It takes 2 hours to generate a snapshot file, which means to get the file for 9AM the earliest you could submit the call is at 11AM.There are 7 days of  Hourly Snapshot feed files available.Note:  The Feed API uses GMT, so you must convert your local time to GMT. For example, if you lived in California and wanted the September 15th 7pm file, you would submit the following call:  item_snapshot?category_id=625&snapshot_date=2017-09-16T02:00:00.000Z   Format: UTC yyyy-MM-ddThh:00:00.000Z Files are generated on the hour, so minutes and seconds are  always zeros.}
@returns(200) Partial Content
@returns(204) No Content This code is returned when there are no items that meet the criteria for this feed file. See Feed File Filters for details.
@returns(206) Partial Content
@errors {400: Bad request, 403: Forbidden, 404: Not found, 409: Conflict, 416: Range not satisfiable, 500: Internal server error}

@endgroup

@group item_priority
@endpoint GET /item_priority
@desc Using this method, you can download a TSV_GZIP (tab separated value gzip) Item Priority feed file, which allows you to track changes (deltas) in the status of your priority items, such as when an item is added or removed from a campaign.  The delta feed tracks the changes to the status of items within a category you specify in the input URI. You can also specify a specific date for the feed you want returned.  Important:  You must consume the daily feeds (Item, Item Group) before consuming the Item Priority feed. This ensures that your inventory is up to date.Downloading feed files              Note:  Filters are applied to the feed files. For details, see Feed File Filters. When curating the items returned, be sure to code as if these filters are not applied as they can be changed or removed in the future.Priority Item feed files are binary gzip files. If the file is larger than 100 MB, the download must be streamed in chunks. You specify the size of the chunks in bytes using the Range request header. The Content-range response header indicates where in the full resource this partial chunk of data belongs  and the total number of bytes in the file.       For more information about using these headers, see Retrieving a gzip feed file.        In addition to the API, there is an open source Feed SDK written in Java that downloads, combines files into a single file when needed, and unzips the entire feed file. It also lets you specify field filters to curate the items in the file.                 Note:  A successful call will always return a TSV.GZIP file; however, unsuccessful calls generate errors that are returned in JSON format. For documentation purposes, the successful call response is shown below as JSON fields so that the value returned in each column can be explained. The order of the response fields shows the order of the columns in the feed file.                  Restrictions                 For a list of supported sites and other restrictions, see API Restrictions.
@required {Accept: any # The formats that the client accepts for the response.A successful call will always return a TSV.GZIP file; however, unsuccessful calls generate error codes that are returned in JSON format.Default: application/json,text/tab-separated-values, X-EBAY-C-MARKETPLACE-ID: any # The ID of the eBay marketplace where the item is hosted. Note:  This value is case sensitive.For example: &nbsp;&nbsp;X-EBAY-C-MARKETPLACE-ID = EBAY_US   For a list of supported sites see, Buy API Support by Marketplace., Range: any # Header specifying content range to be retrieved. Only supported range is bytes. Example : bytes = 0-102400., category_id: any # An eBay top-level category ID of the items to be returned in the feed file. The list of eBay category IDs changes over time and category IDs are not the same across all the eBay marketplaces. To get a list of the top-level categories for a marketplaces, you can use the Taxonomy API getCategoryTree method. This method retrieves the complete category tree for the marketplace. The top-level categories are identified by the categoryTreeNodeLevel field.For example:&nbsp;&nbsp;"categoryTreeNodeLevel": 1 For details see Get the eBay categories of a marketplace.Restriction: Must be a top-level category other than Real Estate. Items listed under Real Estate L1 categories are excluded from all feeds in all marketplaces., date: any # The date of the feed you want returned. This can be up to 14 days in the past but cannot be set to a date in the future. Format: yyyyMMdd Note:   The daily Item feed files are available each day after 9AM MST (US Mountain Standard Time), which is -7 hours UTC time.    There is a 48 hour latency when generating the  Item feed files. This means you can download the file for July 10th on July 12 after 9AM MST. Note:  For categories with a large number of items, the latency can be up to 72 hours.}
@returns(200) Partial Content
@returns(204) No Content
@returns(206) Partial Content
@errors {400: Bad request, 403: Forbidden, 404: Not found, 409: Conflict, 416: Range not satisfiable, 500: Internal server error}

@endgroup

@end
