# Method: inventory.partners.feeds.record.batchPush

- [HTTP request](https://developers.google.com/maps-booking/reference/maps-booking-api/rest/v1alpha/inventory.partners.feeds.record/batchPush#body.HTTP_TEMPLATE)
- [Path parameters](https://developers.google.com/maps-booking/reference/maps-booking-api/rest/v1alpha/inventory.partners.feeds.record/batchPush#body.PATH_PARAMETERS)
- [Request body](https://developers.google.com/maps-booking/reference/maps-booking-api/rest/v1alpha/inventory.partners.feeds.record/batchPush#body.request_body)
  - [JSON representation](https://developers.google.com/maps-booking/reference/maps-booking-api/rest/v1alpha/inventory.partners.feeds.record/batchPush#body.request_body.SCHEMA_REPRESENTATION)
- [Response body](https://developers.google.com/maps-booking/reference/maps-booking-api/rest/v1alpha/inventory.partners.feeds.record/batchPush#body.response_body)
- [Authorization scopes](https://developers.google.com/maps-booking/reference/maps-booking-api/rest/v1alpha/inventory.partners.feeds.record/batchPush#body.aspect)
- [GenericRecord](https://developers.google.com/maps-booking/reference/maps-booking-api/rest/v1alpha/inventory.partners.feeds.record/batchPush#GenericRecord)
  - [JSON representation](https://developers.google.com/maps-booking/reference/maps-booking-api/rest/v1alpha/inventory.partners.feeds.record/batchPush#GenericRecord.SCHEMA_REPRESENTATION)

Inserts and/or updates records of specified feed type. Only performs basic validation (like malformed request) after which an appropriate response is returned to the partner immediately. Google performs business logic validation on the request asynchronously. This batch call does not guarantee atomicity.

### HTTP request

`POST https://mapsbooking.googleapis.com/v1alpha/inventory/{parent=partners/*/feeds/*}/record:batchPush`

The URL uses [gRPC Transcoding](https://google.aip.dev/127) syntax.

### Path parameters

| Parameters ||
|---|---|
| `parent` | `string` Resource name, which has the format of - `partners/{partner_id}/feeds/{feed_name}`. |

### Request body

The request body contains data with the following structure:

| JSON representation |
|---|
| ``` { "records": [ { object (`https://developers.google.com/maps-booking/reference/maps-booking-api/rest/v1alpha/inventory.partners.feeds.record/batchPush#GenericRecord`) } ] } ``` |

| Fields ||
|---|---|
| `records[]` | ``object (`https://developers.google.com/maps-booking/reference/maps-booking-api/rest/v1alpha/inventory.partners.feeds.record/batchPush#GenericRecord`)`` Records to be inserted and/or updated. Maximum of 1000 records are allowed in one api call. |

### Response body

If successful, the response body is an empty JSON object.

### Authorization scopes

Requires the following OAuth scope:

- `https://www.googleapis.com/auth/mapsbooking`

## GenericRecord

Record of the feed type mentioned in url request.

| JSON representation |
|---|
| ``` { "generationTimestamp": string, // Union field `record_type` can be only one of the following: "dataRecord": string, "protoRecord": { "@type": string, field1: ..., ... } // End of list of possible types for union field `record_type`. } ``` |

| Fields ||
|---|---|
| `generationTimestamp` | ``string (`https://protobuf.dev/reference/protobuf/google.protobuf#timestamp` format)`` Required. This timestamp is used to to ensure correct ordering of inventory updates. Uses RFC 3339, where generated output will always be Z-normalized and use 0, 3, 6 or 9 fractional digits. Offsets other than "Z" are also accepted. Examples: `"2014-10-02T15:01:23Z"`, `"2014-10-02T15:01:23.045123456Z"` or `"2014-10-02T15:01:23+05:30"`. |
| Union field `record_type`. Encapsulate different types of feed (ndjson, proto-based, etc.) `record_type` can be only one of the following: ||
| `dataRecord` | `string (https://developers.google.com/discovery/v1/type-format format)` For non-proto based feeds. A base64-encoded string. |
| `protoRecord` | `object` For proto-based feeds. An object containing fields of an arbitrary type. An additional field `"@type"` contains a URI identifying the type. Example: `{ "id": 1234, "@type": "types.example.com/standard/id" }`. |