---
title: "Enroll/Re-Enroll a Customer to a Milestone or Streak"
method: POST
path: "/api_gateway/intouch-api-v3/v3.1/targetGroups/{targetGroupId}/targets/{targetId}/enroll"
---

# Enroll/Re-Enroll a Customer to a Milestone or Streak

`POST /api_gateway/intouch-api-v3/v3.1/targetGroups/{targetGroupId}/targets/{targetId}/enroll`

## Path parameters

- `targetGroupId` integer, required
- `targetId` integer, required

## Headers

- `DATA-SCOPE-ORG` string, required
- `DATA-SCOPE` string, required

## Request body

- object
  - `customerId` string, required — Unique ID of the customer.
  - `periodName` string — Name of the period/cycle into which the user has to be enrolled/re-enrolled in the case of Milestones. Also, period names can be found from the UI of the milestone. In the case of Streaks, this field itself is not needed.
  - `initialBalance` integer — The initial balance amount assigned to the customer. This could be 0 or any other number, and when a user enrols with initial balance, the amount of targets needs to be achieved will be decreased by same value. If this given as NULL in the case or re-enrol, then the user's target value will start from the same value at which the un-enrol happened before. Initial balance field won't work for streaks.
  - `resetStreakStatus` boolean — This field is only for streaks. If this is false, user will continue from the streak value that is present before the un-enrol from the streak. If this is marked as true during re-enrol, then the streak value of the user will be reset & it's like starting fresh.

## Response `200`

200

- object
  - `data` integer
  - `errors` unknown
  - `warnings` unknown

## Other responses

- `400` — 400

---

[API](https://skmtc.dev/capillarytech/apis/sample-api.md) · [All operations](https://skmtc.dev/capillarytech/apis/sample-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/capillarytech/sample-api/revisions/de241f2ed9b3/schema)
