- [HTTP request](https://developers.google.com/data-manager/api/reference/rest/v1/audienceMembers/ingest#body.HTTP_TEMPLATE)
- [Request body](https://developers.google.com/data-manager/api/reference/rest/v1/audienceMembers/ingest#body.request_body)
  - [JSON representation](https://developers.google.com/data-manager/api/reference/rest/v1/audienceMembers/ingest#body.request_body.SCHEMA_REPRESENTATION)
- [Response body](https://developers.google.com/data-manager/api/reference/rest/v1/audienceMembers/ingest#body.response_body)
  - [JSON representation](https://developers.google.com/data-manager/api/reference/rest/v1/audienceMembers/ingest#body.IngestAudienceMembersResponse.SCHEMA_REPRESENTATION)
- [Authorization scopes](https://developers.google.com/data-manager/api/reference/rest/v1/audienceMembers/ingest#body.aspect)
- [TermsOfService](https://developers.google.com/data-manager/api/reference/rest/v1/audienceMembers/ingest#TermsOfService)
  - [JSON representation](https://developers.google.com/data-manager/api/reference/rest/v1/audienceMembers/ingest#TermsOfService.SCHEMA_REPRESENTATION)
- [TermsOfServiceStatus](https://developers.google.com/data-manager/api/reference/rest/v1/audienceMembers/ingest#TermsOfServiceStatus)
- [Try it!](https://developers.google.com/data-manager/api/reference/rest/v1/audienceMembers/ingest#try-it)

Uploads a list of `https://developers.google.com/data-manager/api/reference/rest/v1/AudienceMember` resources to the provided `https://developers.google.com/data-manager/api/reference/rest/v1/Destination`.

### HTTP request

`POST https://datamanager.googleapis.com/v1/audienceMembers:ingest`

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

### Request body

The request body contains data with the following structure:

| JSON representation |
|---|
| ``` { "destinations": [ { object (`https://developers.google.com/data-manager/api/reference/rest/v1/Destination`) } ], "audienceMembers": [ { object (`https://developers.google.com/data-manager/api/reference/rest/v1/AudienceMember`) } ], "consent": { object (`https://developers.google.com/data-manager/api/reference/rest/v1/Consent`) }, "validateOnly": boolean, "encoding": enum (`https://developers.google.com/data-manager/api/reference/rest/v1/Encoding`), "encryptionInfo": { object (`https://developers.google.com/data-manager/api/reference/rest/v1/EncryptionInfo`) }, "termsOfService": { object (`https://developers.google.com/data-manager/api/reference/rest/v1/audienceMembers/ingest#TermsOfService`) } } ``` |

| Fields ||
|---|---|
| `destinations[]` | ``object (`https://developers.google.com/data-manager/api/reference/rest/v1/Destination`)`` Required. The list of destinations to send the audience members to. |
| `audienceMembers[]` | ``object (`https://developers.google.com/data-manager/api/reference/rest/v1/AudienceMember`)`` Required. The list of users to send to the specified destinations. At most 10000 `https://developers.google.com/data-manager/api/reference/rest/v1/AudienceMember` resources can be sent in a single request. |
| `consent` | ``object (`https://developers.google.com/data-manager/api/reference/rest/v1/Consent`)`` Optional. Request-level consent to apply to all users in the request. User-level consent overrides request-level consent, and can be specified in each `https://developers.google.com/data-manager/api/reference/rest/v1/AudienceMember`. |
| `validateOnly` | `boolean` Optional. For testing purposes. If `true`, the request is validated but not executed. Only errors are returned, not results. |
| `encoding` | ``enum (`https://developers.google.com/data-manager/api/reference/rest/v1/Encoding`)`` Optional. Must be provided for `https://developers.google.com/data-manager/api/reference/rest/v1/UserData` uploads. The encoding type of the user identifiers. For hashed user identifiers, this is the encoding type of the hashed string. For encrypted hashed user identifiers, this is the encoding type of the outer encrypted string, but not necessarily the inner hashed string, meaning the inner hashed string could be encoded in a different way than the outer encrypted string. For non `UserData` uploads, this field is ignored. |
| `encryptionInfo` | ``object (`https://developers.google.com/data-manager/api/reference/rest/v1/EncryptionInfo`)`` Optional. Encryption information for `https://developers.google.com/data-manager/api/reference/rest/v1/UserData` uploads. If not set, it's assumed that uploaded identifying information is hashed but not encrypted. For non `UserData` uploads, this field is ignored. |
| `termsOfService` | ``object (`https://developers.google.com/data-manager/api/reference/rest/v1/audienceMembers/ingest#TermsOfService`)`` Optional. The terms of service that the user has accepted/rejected. |

### Response body

Response from the `IngestAudienceMembersRequest`.

If successful, the response body contains data with the following structure:

| JSON representation |
|---|
| ``` { "requestId": string, "fieldWarnings": [ { object (`https://developers.google.com/data-manager/api/reference/rest/v1/FieldWarning`) } ] } ``` |

| Fields ||
|---|---|
| `requestId` | `string` The auto-generated ID of the request. |
| `fieldWarnings[]` | ``object (`https://developers.google.com/data-manager/api/reference/rest/v1/FieldWarning`)`` Detailed row-level warnings with field paths. |

### Authorization scopes

Requires the following OAuth scope:

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

## TermsOfService

The terms of service that the user has accepted/rejected.

| JSON representation |
|---|
| ``` { "customerMatchTermsOfServiceStatus": enum (`https://developers.google.com/data-manager/api/reference/rest/v1/audienceMembers/ingest#TermsOfServiceStatus`) } ``` |

| Fields ||
|---|---|
| `customerMatchTermsOfServiceStatus` | ``enum (`https://developers.google.com/data-manager/api/reference/rest/v1/audienceMembers/ingest#TermsOfServiceStatus`)`` Optional. The Customer Match terms of service: <https://support.google.com/adspolicy/answer/6299717>. This must be accepted when ingesting `https://developers.google.com/data-manager/api/reference/rest/v1/UserData` or `https://developers.google.com/data-manager/api/reference/rest/v1/MobileData`. This field is not required for Partner Match User list. |

## TermsOfServiceStatus

Represents the caller's decision to accept or reject the terms of service.

| Enums ||
|---|---|
| `TERMS_OF_SERVICE_STATUS_UNSPECIFIED` | Not specified. |
| `ACCEPTED` | Status indicating the caller has chosen to accept the terms of service. |
| `REJECTED` | Status indicating the caller has chosen to reject the terms of service. |