---
title: "POST /studio/dynamicFeeds"
method: POST
path: "/studio/dynamicFeeds"
tags: ["dynamicFeeds"]
---

# POST /studio/dynamicFeeds

`POST /studio/dynamicFeeds`

Inserts a new dynamic feed.

## Request body

- DynamicFeedsInsertRequest — Dynamic profile ID is required for dynamic feed insert as the current GPA API only can create a dynamic feed under profile context,even though the dynamic feed itself don't need the dynamic profile id.
  - `dynamicFeed` DynamicFeed — *Beta:* This API resource is available only to a very limited number of customers. If you'd like to use this resource, please reach out to your Google sales representative. Contains dynamic feed information.
    - `contentSource` ContentSource — Contains the content source of the dynamic feed.
      - `resourceLink` string — Required. The link to the file of the content source.
      - `metaData` ContentSourceMetaData — Contains the meta data of the content source. This is a read-only field.
        - `charset` string — Output only. The charset of the content source.
        - `separator` string — Output only. The separator of the content source.
        - `rowNumber` integer — Output only. The number of rows in the content source.
        - `fieldNames` string[] — Output only. The list of column names in the content source.
      - `lastModifiedInfo` LastModifiedInfo — Modification timestamp.
        - `time` string, int64 — Timestamp of the last change in milliseconds since epoch.
      - `contentSourceName` string — Optional. The name of the content source. It is defaulted to content source file name if not provided.
      - `createInfo` LastModifiedInfo — Modification timestamp.
        - `time` string, int64 — Timestamp of the last change in milliseconds since epoch.
      - `resourceType` 'RESOURCE_TYPE_UNSPECIFIED' | 'RESOURCE_TYPE_GOOGLE_SPREADSHEET' | 'RESOURCE_TYPE_REMOTE_FILE' — Required. The resource type of the content source.
    - `dynamicFeedName` string — Optional. Name of this dynamic feed. It is defaulted to content source file name if not provided.
    - `hasPublished` boolean — Output only. Indicates whether the dynamic feed has a published version. This is a read-only field.
    - `element` Element — Contains the element of the dynamic feed.
      - `proximityTargetingFieldId` integer — Optional. The field ID that specify field used for proximity targeting.
      - `elementName` string — Optional. The name of the element. It is defaulted to resource file name if not provided.
      - `isLocalTimestamp` boolean — Optional. Whether the start and end timestamp is local timestamp. The default value is false which means start and end timestamp is in UTC.
      - `defaultFieldId` integer — Optional. The field ID to specify the field that represents the default field in the feed.
      - `activeFieldId` integer — Optional. The field ID to specify the active field in the feed.
      - `feedFields` FeedField[] — Required. The list of fields of the element. The field order and name should match the meta data in the content source source.
        - `type` 'TYPE_UNKNOWN' | 'STRING' | 'LONG' | 'GPA_SERVED_IMAGE_URL' | 'GPA_SERVED_ASSET_URL' | 'COUNTRY_CODE_ISO' | 'FLOAT' | 'CM360_KEYWORD' | 'CM360_SITE_ID' | 'BOOL' | 'EXIT_URL' | 'DATETIME' | 'CM360_CREATIVE_ID' | 'CM360_PLACEMENT_ID' | 'CM360_AD_ID' | 'CM360_ADVERTISER_ID' | 'CM360_CAMPAIGN_ID' | 'CITY' | 'REGION' | 'POSTAL_CODE' | 'METRO' | 'CUSTOM_VALUE' | 'REMARKETING_VALUE' | 'GEO_CANONICAL' | 'WEIGHT' | 'STRING_LIST' | 'CREATIVE_DIMENSION' | 'USERLIST_ID' | 'ASSET_LIBRARY_DIRECTORY_HANDLE' | 'ASSET_LIBRARY_VIDEO_HANDLE' | 'ASSET_LIBRARY_HANDLE' | 'THIRD_PARTY_SERVED_URL' | 'CM360_DYNAMIC_TARGETING_KEY' | 'DV360_LINE_ITEM_ID' — Required. The type of the field.
        - `id` integer — Required. The ID of the field. The ID is based on the column index starting from 0, and it should match the column index in the resource link.
        - `defaultValue` string — Optional. The default value of the field.
        - `name` string — Required. The name of the field.
        - `filterable` boolean — Optional. Whether the field is filterable. Could be set as true when the field type is any of the following and is not renderable: - STRING - BOOL - COUNTRY_CODE_ISO - CM360_SITE_ID - CM360_KEYWORD - CM360_CREATIVE_ID - CM360_PLACEMENT_ID - CM360_AD_ID - CM360_ADVERTISER_ID - CM360_CAMPAIGN_ID - CITY - REGION - POSTAL_CODE - METRO - CUSTOM_VALUE - REMARKETING_VALUE - GEO_CANONICAL - STRING_LIST - CREATIVE_DIMENSION - USERLIST_ID - CM360_DYNAMIC_TARGETING_KEY - DV360_LINE_ITEM_ID
        - `required` boolean — Optional. Whether the field is required and should not be empty in the feed. Could be set as true when the field type is any of the following: - GPA_SERVED_IMAGE_URL - GPA_SERVED_ASSET_URL - ASSET_LIBRARY_HANDLE - ASSET_LIBRARY_VIDEO_HANDLE - ASSET_LIBRARY_DIRECTORY_HANDLE
        - `renderable` boolean — Optional. Whether the field is able to display. Could be set as true when the field type is not in any of the following and the field is not filterable: - COUNTRY_CODE_ISO - CITY - REGION - POSTAL_CODE - METRO - GEO_CANONICAL - USERLIST_ID - CONTEXTUAL_KEYWORD - CM360_DYNAMIC_TARGETING_KEY - WEIGHT
      - `externalIdFieldId` integer — Required. The field ID to specify the field used for uniquely identifying the feed row. This is a required field.
      - `endTimestampFieldId` integer — Optional. The field ID to specify the field that represents the end timestamp. Only applicable if you're planning to use scheduling in your dynamic creative.
      - `startTimestampFieldId` integer — Optional. The field ID to specify the field that represents the start timestamp. Only applicable if you're planning to use scheduling in your dynamic creative.
      - `createInfo` LastModifiedInfo — Modification timestamp.
        - `time` string, int64 — Timestamp of the last change in milliseconds since epoch.
      - `reportingLabelFieldId` integer — Required. The field ID to specify the field used for dynamic reporting in Campaign Manager 360.
      - `lastModifiedInfo` LastModifiedInfo — Modification timestamp.
        - `time` string, int64 — Timestamp of the last change in milliseconds since epoch.
    - `status` 'STATUS_UNKNOWN' | 'ACTIVE' | 'INACTIVE' | 'DELETED' — Output only. The status of the feed. It is a read-only field that depends on the the feed ingestion status. The default value is INACTIVE, and it will be updated to ACTIVE once the feed is ingested successfully.
    - `dynamicFeedId` string, int64 — Output only. Unique ID of this dynamic feed. This is a read-only, auto-generated field.
    - `studioAdvertiserId` string, int64 — Required. Advertiser ID of this dynamic feed. This is a required field.
    - `feedIngestionStatus` FeedIngestionStatus — Contains the ingestion status of the dynamic feed. Feed ingestion is an asynchronous process. If the feed create request is successful, feed ingestion will be processed in the background, including validation, assets retrieval, and saving the data from the resource link. The processing time is dependent on the data size in the resource link. This read-only status field contains the current stage of that processing and its ingestion state.
      - `state` 'FEED_PROCESSING_STATE_UNKNOWN' | 'CANCELLED' | 'INGESTING_QUEUED' | 'INGESTING' | 'INGESTED_SUCCESS' | 'INGESTED_FAILURE' | 'REQUEST_TO_PUBLISH' | 'PUBLISHING' | 'PUBLISHED_SUCCESS' | 'PUBLISHED_FAILURE' — Output only. The processing state of the feed.
      - `ingestionStatus` IngestionStatus — Contains the ingestion status of the dynamic feed.
        - `numRowsTotal` string, int64 — Output only. The total number of rows in the feed.
        - `numRowsProcessed` string, int64 — Output only. The number of rows processed in the feed.
        - `numRowsWithErrors` string, int64 — Output only. The number of rows with errors in the feed.
        - `numActiveRows` string, int64 — Output only. The number of active rows in the feed.
        - `numWarningsTotal` string, int64 — Output only. The total number of warnings in the feed.
      - `ingestionErrorRecords` IngestionErrorRecord[] — Output only. The ingestion error records of the feed.
        - `recordId` string — Output only. The record ID of the ingestion error record.
        - `errors` FieldError[] — Output only. The list of field errors of the ingestion error record.
          - `fieldId` integer — Output only. The ID of the field.
          - `fieldName` string — Output only. The name of the field.
          - `fieldValues` string[] — Output only. The list of values of the field.
          - `ingestionError` 'UNKNOWN_PARSING_ERROR' | 'MISSING_ID' | 'MISSING_REPORTING_LABEL' | 'EMPTY_VALUE' | 'ASSET_DOWNLOAD_ERROR' | 'ID_TOO_LONG' | 'DUPLICATE_ID' | 'PARSING_ERROR' | 'COUNTRY_PARSING_ERROR' | 'LONG_PARSING_ERROR' | 'BOOL_PARSING_ERROR' | 'EXPANDED_URL_PARSING_ERROR' | 'FLOAT_PARSING_ERROR' | 'DATETIME_PARSING_ERROR' | 'INVALID_PREFERENCE_VALUE' | 'GEO_NOT_FOUND_ERROR' | 'GEO_PARSING_ERROR' | 'GEO_PROXIMITY_TARGETING_MULTIPLE_LOCATION_ERROR' | 'POSTAL_CODE_PARSING_ERROR' | 'METRO_CODE_PARSING_ERROR' | 'DATETIME_WITHOUT_TIMEZONE_PARSING_ERROR' | 'WEIGHT_PARSING_ERROR' | 'CREATIVE_DIMENSION_PARSING_ERROR' | 'MULTIVALUE_ID' | 'ENDTIME_BEFORE_STARTTIME' | 'INVALID_ASSET_LIBRARY_HANDLE' | 'INVALID_ASSET_LIBRARY_VIDEO_HANDLE' | 'INVALID_ASSET_LIBRARY_DIRECTORY_HANDLE' | 'DYNAMIC_TARGETING_KEY_NOT_DEFINED_FOR_ADVERTISER' | 'USERLIST_ID_NOT_ACCESSIBLE_FOR_ADVERTISER' | 'ENDTIME_PASSED' | 'ENDTIME_TOO_SOON' | 'TEXT_ASSET_REFERENCE' | 'IMAGE_ASSET_SCS_REFERENCE' | 'AIRPORT_GEO_TARGET' | 'CANONICAL_NAME_QUERY_MISMATCH' | 'NO_DEFAULT_ROW' | 'NO_ACTIVE_DEFAULT_ROW' | 'NO_DEFAULT_ROW_IN_DATE_RANGE' | 'NO_ACTIVE_DEFAULT_ROW_IN_DATE_RANGE' | 'PAYLOAD_LIMIT_EXCEEDED' | 'SSL_NOT_COMPLIANT' — Output only. The ingestion error of the field.
          - `isError` boolean — Output only. Incidcates whether the field has error or warning.
    - `lastModifiedInfo` LastModifiedInfo — Modification timestamp.
      - `time` string, int64 — Timestamp of the last change in milliseconds since epoch.
    - `feedSchedule` FeedSchedule — Contains the schedule of the dynamic feed.
      - `startHour` string — Optional. The hour of the day to start the feed. It is applicable if the repeat value is equal to 1. Default value is 0.
      - `startMinute` string — Optional. The minute of the hour to start the feed. It is applicable if the repeat value is equal to 1. Default value is 0.
      - `timeZone` string — Optional. The time zone to schedule the feed. It is applicable if the repeat value is equal to 1. Default value is "America/Los_Angeles".
      - `scheduleEnabled` boolean — Optional. Whether the schedule is enabled.
      - `repeatValue` string, int64 — Optional. The number of times the feed retransforms within one day. This is a required field if the schedule is enabled. Acceptable values are between 1 to 6, inclusive.
    - `createInfo` LastModifiedInfo — Modification timestamp.
      - `time` string, int64 — Timestamp of the last change in milliseconds since epoch.
  - `dynamicProfileId` string, int64 — Required. Dynamic profile ID of the inserted dynamic feed.

## Response `200`

Successful response

---

[API](https://skmtc.net/google/apis/dfareporting.md) · [All operations](https://skmtc.net/google/apis/dfareporting/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/google/dfareporting/revisions/8163d57aeb31/schema)
