# IRPCServerDataPush.SendDataPushResponse

Location: [gRPC API](https://developer.m-files.com/APIs/gRPC-API/index.md) > [Vault API](https://developer.m-files.com/APIs/gRPC-API/vault/index.md) > [Server push](https://developer.m-files.com/APIs/gRPC-API/Reference/MFiles.IRPCServerDataPush/index.md)

HTML version: https://developer.m-files.com/APIs/gRPC-API/Reference/MFiles.IRPCServerDataPush/SendDataPushResponse/

Badges: `Vault API / standard` `write` `session`

Sends the client's answer to a push request received from
[OpenServerDataPush](https://developer.m-files.com/APIs/gRPC-API/Reference/MFiles.IRPCServerDataPush/OpenServerDataPush/index.md).

- **Service:** [Server push](https://developer.m-files.com/APIs/gRPC-API/Reference/MFiles.IRPCServerDataPush/index.md) `MFiles.IRPCServerDataPush`
- **gRPC method:** `/MFiles.IRPCServerDataPush/SendDataPushResponse`
- **HTTP (mf-http-grpc):** `POST /grpc/v1/send-data-push-response`
- **Request:** [`SendDataPushResponseRequest`](https://developer.m-files.com/APIs/gRPC-API/Reference/MFiles.IRPCServerDataPush/SendDataPushResponse/index.md#request)
- **Response:** [`SendDataPushResponseResponse`](https://developer.m-files.com/APIs/gRPC-API/Reference/MFiles.IRPCServerDataPush/SendDataPushResponse/index.md#response)
- **Book and level:** Vault API, standard
- **Kind:** write
- **Session:** Required: the session ID from LogIn in the mfiles-session-id-bin metadata.
- **Idempotent:** no
- **Returns metadata structure version:** no
- **Streaming:** none (unary)

<a id="remarks"></a>

## Remarks

- Requires the same vault session that received the request.
- `id` must be the `response_id` of a request that the server is still waiting for. Any other
  ID, including 0, an ID of a notification, or an ID whose wait has timed out, fails with "The
  parameter is incorrect. (<id>)".
- Has the same effect as [SendPushDataResponse](https://developer.m-files.com/APIs/gRPC-API/Reference/MFiles.IRPCVault/SendPushDataResponse/index.md).

<a id="request"></a>

## Request: SendDataPushResponseRequest

The request of SendDataPushResponse: the client's answer to a push request.

> Nested message fields are expanded to depth 3; follow a type link for deeper levels and for the type's own page.

| Field | Type | Description |
|---|---|---|
| `id` | `int32` | The `response_id` of the [ServerDataPushItem](https://developer.m-files.com/APIs/gRPC-API/Reference/MFiles.IRPCServerDataPush/OpenServerDataPush/index.md#response) being answered. |
| `response_data` | [`ServerDataPushResponse`](https://developer.m-files.com/APIs/gRPC-API/Reference/Messages/MFiles.ServerDataPushResponse/index.md) | The answer: set `type` to the type of the request and fill the matching member of `data`, or report a failure in `error`. See [ServerDataPushResponse](https://developer.m-files.com/APIs/gRPC-API/Reference/Messages/MFiles.ServerDataPushResponse/index.md). |
| `response_data.type` | [`ServerDataPushRequestType`](https://developer.m-files.com/APIs/gRPC-API/Reference/Enums/MFiles.ServerDataPushRequestType/index.md) | Response type. Values: `SERVER_DATA_PUSH_REQUEST_TYPE_UNINITIALIZED` (0), `SERVER_DATA_PUSH_REQUEST_TYPE_ELECTRONIC_SIGNATURE_REQUEST` (1), `SERVER_DATA_PUSH_REQUEST_TYPE_EXTENSION_AUTHENTICATION_REQUEST` (2), `SERVER_DATA_PUSH_REQUEST_TYPE_OBJECTS_CHANGED_NOTIFICATION` (3). |
| `response_data.data` | [`ServerDataPushResponseUnion`](https://developer.m-files.com/APIs/gRPC-API/Reference/Messages/MFiles.ServerDataPushResponseUnion/index.md) | The actual message data. |
| `response_data.data.electronic_signature_request` | [`ElectronicSignatureResponse`](https://developer.m-files.com/APIs/gRPC-API/Reference/Messages/MFiles.ElectronicSignatureResponse/index.md) (oneof data) | Electronic signature response. |
| `response_data.data.extension_authentication_request` | [`ExtensionAuthenticationResponseFromClient`](https://developer.m-files.com/APIs/gRPC-API/Reference/Messages/MFiles.ExtensionAuthenticationResponseFromClient/index.md) (oneof data) | Extension authentication response. Encrypted with the server public key. |
| `response_data.error` | [`RPCErrorInfoArray`](https://developer.m-files.com/APIs/gRPC-API/Reference/Messages/MFiles.RPCErrorInfoArray/index.md) | Possible error encountered when serving the request. |
| `response_data.error.value[]` | repeated [`RPCErrorInfo`](https://developer.m-files.com/APIs/gRPC-API/Reference/Messages/MFiles.RPCErrorInfo/index.md) | Array of errors. |

<a id="response"></a>

## Response: SendDataPushResponseResponse

Response for the SendDataPushResponse call.

No fields.

<a id="related"></a>

## Related methods

- [OpenServerDataPush](https://developer.m-files.com/APIs/gRPC-API/Reference/MFiles.IRPCServerDataPush/OpenServerDataPush/index.md): Opens the session's push channel: a stream of requests and notifications from the server.
- [IRPCVault.SendPushDataResponse](https://developer.m-files.com/APIs/gRPC-API/Reference/MFiles.IRPCVault/SendPushDataResponse/index.md): Sends a response for server data push. This is a response for request received with RequestPushDataAsync call (with non-zero request id). This call completes the push data cycle.
