> For the complete documentation index, see [llms.txt](https://merchant-help.violet.io/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://merchant-help.violet.io/feeds/feeds-overview/get-feed.md).

# Get Feed by ID

```
GET /v1/feeds/{feedId}
```

Retrieve full details for a specific feed, including processing status, statistics, and any errors encountered.

## Request

**Headers**

| Header          | Required | Description                      |
| --------------- | -------- | -------------------------------- |
| `Authorization` | Yes      | `Bearer msk_{merchant_id}{uuid}` |

**Path Parameters**

| Parameter | Type   | Required | Description                                                |
| --------- | ------ | -------- | ---------------------------------------------------------- |
| `feedId`  | string | Yes      | The feed identifier. Format: `cat_{uuid}` or `inv_{uuid}`. |

## Example Request

```bash
curl -X GET https://api.violet.io/v1/feeds/cat_a1b2c3d4-e5f6-7890-abcd-ef1234567890 \
  -H 'Authorization: Bearer msk_12345abc11094a44800d84017c593e22'
```

## Response

**`200 OK`**

```json
{
  "feed_id": "cat_a1b2c3d4-e5f6-7890-abcd-ef1234567890",
  "merchant_id": 12345,
  "merchant_name": "Acme Electronics",
  "feed_name": "Summer 2024 Product Catalog",
  "description": "Complete product catalog with seasonal items",
  "feed_type": "CATALOG",
  "status": "ACTIVE",
  "upload_method": "FILE_UPLOAD",
  "original_filename": "catalog.xml",
  "file_size_bytes": 2048576,
  "total_products": 1250,
  "date_created": "2024-03-15T10:30:00Z",
  "date_last_processed": "2024-03-15T10:45:00Z",
  "date_last_modified": "2024-03-15T10:45:00Z",
  "processing_stats": {
    "total_products": 1250,
    "successful_products": 1200,
    "failed_products": 50,
    "processing_duration_ms": 45000,
    "processing_started_at": "2024-03-15T10:30:05Z",
    "processing_completed_at": "2024-03-15T10:45:00Z"
  },
  "errors": [
    {
      "error_code": "MISSING_PRICE",
      "message": "Price missing for product ID: ABC123",
      "field": "ABC123",
      "severity": "WARNING",
      "timestamp": "2024-03-15T10:35:00Z",
      "product_id": "ABC123"
    }
  ],
  "configuration": {
    "auto_approve_products": true,
    "enable_inventory_tracking": true,
    "low_stock_threshold": 10,
    "feed_processing_notifications": true,
    "duplicate_product_handling": "MERGE",
    "price_validation_enabled": true,
    "refresh_frequency_minutes": 360,
    "retention_policy_days": 90,
    "default_currency": "USD",
    "default_country": "US",
    "default_language": "en_US",
    "timezone": "America/New_York",
    "removal_detection": {
      "enabled": true,
      "action": "ARCHIVE",
      "bulk_removal_threshold_percent": 50,
      "grace_period_versions": 0,
      "notify_on_removal": true,
      "notify_removal_threshold": 1
    }
  }
}
```

### Response Fields

| Field                 | Type              | Description                                                                              |
| --------------------- | ----------------- | ---------------------------------------------------------------------------------------- |
| `feed_id`             | string            | Unique feed identifier.                                                                  |
| `merchant_id`         | integer           | Merchant who owns this feed.                                                             |
| `merchant_name`       | string            | Merchant display name.                                                                   |
| `feed_name`           | string            | Human-readable feed name.                                                                |
| `description`         | string            | Optional feed description.                                                               |
| `feed_type`           | string            | `CATALOG` or `INVENTORY`.                                                                |
| `status`              | string            | Current processing status (see [Feed Statuses](/feeds/feeds-overview.md#feed-statuses)). |
| `upload_method`       | string            | How the feed was uploaded: `FILE_UPLOAD`, `URL_SYNC`, or `SFTP_UPLOAD`.                  |
| `original_filename`   | string            | Original name of the uploaded file.                                                      |
| `file_size_bytes`     | integer           | File size in bytes.                                                                      |
| `total_products`      | integer           | Total number of products in the feed.                                                    |
| `date_created`        | string (ISO 8601) | When the feed was first created.                                                         |
| `date_last_processed` | string (ISO 8601) | When the feed was last processed.                                                        |
| `date_last_modified`  | string (ISO 8601) | When the feed was last modified.                                                         |
| `parent_feed_id`      | string            | Parent catalog feed ID (only for inventory feeds).                                       |
| `processing_stats`    | object            | Processing performance metrics (see below).                                              |
| `errors`              | array             | List of processing errors and warnings (see below).                                      |
| `configuration`       | object            | Feed configuration settings (see below).                                                 |

### Processing Stats

| Field                     | Type              | Description                            |
| ------------------------- | ----------------- | -------------------------------------- |
| `total_products`          | integer           | Total products processed.              |
| `successful_products`     | integer           | Products processed successfully.       |
| `failed_products`         | integer           | Products that failed processing.       |
| `processing_duration_ms`  | integer           | Total processing time in milliseconds. |
| `processing_started_at`   | string (ISO 8601) | When processing started.               |
| `processing_completed_at` | string (ISO 8601) | When processing completed.             |

### Errors

| Field        | Type              | Description                                          |
| ------------ | ----------------- | ---------------------------------------------------- |
| `error_code` | string            | Machine-readable error code (e.g., `MISSING_PRICE`). |
| `message`    | string            | Human-readable error description.                    |
| `field`      | string            | Field or product ID where the error occurred.        |
| `severity`   | string            | `INFO`, `WARNING`, `ERROR`, or `CRITICAL`.           |
| `timestamp`  | string (ISO 8601) | When the error was detected.                         |
| `product_id` | string            | Product ID associated with the error.                |

### Configuration

| Field                        | Type    | Description                                                                  |
| ---------------------------- | ------- | ---------------------------------------------------------------------------- |
| `auto_approve_products`      | boolean | Whether products are auto-approved without manual review. Default: `true`.   |
| `enable_inventory_tracking`  | boolean | Whether inventory levels are tracked. Default: `true`.                       |
| `low_stock_threshold`        | integer | Items below this quantity are considered low stock. Default: `10`.           |
| `duplicate_product_handling` | string  | How duplicates are handled: `MERGE`, `SKIP`, or `REPLACE`. Default: `MERGE`. |
| `price_validation_enabled`   | boolean | Whether price validation rules are enforced. Default: `true`.                |
| `refresh_frequency_minutes`  | integer | How often the feed is refreshed, in minutes. Default: `360`.                 |
| `default_currency`           | string  | Default currency code. Default: `USD`.                                       |
| `default_country`            | string  | Default country code. Default: `US`.                                         |
| `removal_detection`          | object  | Item removal detection settings (see below).                                 |

### Removal Detection

| Field                            | Type    | Description                                                                                |
| -------------------------------- | ------- | ------------------------------------------------------------------------------------------ |
| `enabled`                        | boolean | Whether removal detection is active. Default: `true`.                                      |
| `action`                         | string  | Action for removed items: `ARCHIVE`, `MARK_FOR_REVIEW`, or `IGNORE`. Default: `ARCHIVE`.   |
| `bulk_removal_threshold_percent` | integer | If more than this percentage of items are removed, flag for review instead. Default: `50`. |
| `grace_period_versions`          | integer | Number of feed versions an item can be missing before archival. Default: `0`.              |
| `notify_on_removal`              | boolean | Whether to send notifications on item removal. Default: `true`.                            |
| `notify_removal_threshold`       | integer | Minimum removed items to trigger a notification. Default: `1`.                             |

## Error Responses

**`404 Not Found`** — No feed with the given ID exists for your merchant.

```json
{
  "code": "FEED_NOT_FOUND",
  "message": "Feed not found or access denied",
  "timestamp": "2024-03-15T10:30:00Z"
}
```


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://merchant-help.violet.io/feeds/feeds-overview/get-feed.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
