---
title: "Execute a custom activity"
method: POST
path: "/v1/device/custom/activity"
tags: ["DEVICE"]
---

# Execute a custom activity

`POST /v1/device/custom/activity`

## Request

- Base URL: `https://deviceIpOrHost:12346/connect`
- URL: `https://deviceIpOrHost:12346/connect/v1/device/custom/activity`
- Auth: HTTP bearer

Launches the specified activity that has been previously installed to the device.

## Headers

- `User-Agent` string, required
- `X-Clover-Device-Id` string, required
- `X-POS-Id` string, required
- `X-Clover-Timeout` integer

## Request body

- CustomActivityRequest
  - `action` string, required: The Intent action used to launch the Activity.
  - `block` boolean: Whether or not the operation should wait for the launched activity to complete, or return immediately after launching.
  - `payload` string: Additional payload data packaged with the starting intent for the activity.

## Response `200`

If blocking, indicates that the user specified activity was launched and has completed.  Otherwise, indicates that the activity was launched and it will continue to run until another FOREGROUND operation is executed.

- CustomActivityResponse
  - `payload` string: Payload data provided by the completed Android activity. Note that this field will not be set if the request was for a non-blocking activity.

## Other responses

- `209`: Operation was canceled.
- `400`: The request is invalid, and subsequent calls will continue to fail; do not repeat the call.
- `401`: An invalid bearer token has been provided. The call may be repeated if the provided bearer token is updated.
- `415`: The request is invalid, and contains request data in an unsupported format. This call may be repeated if the content is changed to a supported format.
- `500`: The request processing failed with an unknown error, and the processing state of the operation is indeterminate. Do not repeat the call without additional analysis.
- `501`: The device does not have the ability to respond to the requested operation; do not repeat the call.
- `503`: The device is not available because it is currently servicing another call. This can be repeated at a later time, or cancel may be called to end the current operation.
- `504`: The Device did not respond in a timely manner. This can be repeated at a later time.

---

[API](https://skmtc.dev/clover/apis/clover-card-present-rest-api.md) - [All operations](https://skmtc.dev/clover/apis/clover-card-present-rest-api/llms.txt) - [OpenAPI document](https://skmtc.dev/clover/apis/clover-card-present-rest-api/revisions/5f7829c5114f?raw)
