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

# Execute a custom activity

`POST /v1/device/custom/activity`

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.net/clover/apis/platform-api.md) · [All operations](https://skmtc.net/clover/apis/platform-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/clover/platform-api/versions/08da265101a3/schema)
