**Source URL:** https://limited.veevavault.dev/clinical/vault-api/api-reference/24.1/clinical-operations/execute-milestone-story-events.md

# Execute Milestone Story Events



Use this request to create Milestones based on specific Story Events for multiple studies, study countries, or sites. You can include up to 500 rows in the CSV input.

<Endpoint path="/api/{version}/app/clinical/milestone/{object_name}/actions/applytemplate" method="POST"></Endpoint>

## Headers {#headers}

<FieldTable>
| Name | Description |
| --- | --- |
| `Content-Type` | `text/csv` |
| `Accept` | `application/json` (default) or `text/csv` |
</FieldTable>

## URI Path Parameters {#uri-path-parameters}

<FieldTable>
| Name | Description |
| --- | --- |
| `{object_name}` | The object `name__v` field value. This endpoint only works with the `study__v`, `study_country__v`, or `site__v` objects. |
</FieldTable>

## Body Parameters {#body-parameters}

The CSV file must have the following columns:

<FieldTable>
| Name | Description |
| --- | --- |
| `id` | The object record ID for which to create a milestone. This record must be of the same object indicated in the `{object_name}` path parameter. Instead of `id`, you can use a unique field defined by the `idParam` query parameter. |
| `story_event__v` | Include the name or ID of a single story event to define the milestone sets to create. For example, `story_event__v=OOV000000000705` or `story_event__v.name__v=Candidate Country`. |
| `external_id__v` | Instead of `id`, you can use this user-defined object external ID. |
</FieldTable>

## Query Parameters {#query-parameters}

<FieldTable>
| Name | Description |
| --- | --- |
| `idParam` | If you’re identifying objects in your input by a unique field, add `idParam={fieldname}` to the request endpoint. You can use any object field which has `unique` set to `true` in the object metadata, with the exception of picklists. For example, `idParam=external_id__v`. |
</FieldTable>

## Request {#request}

<CodeExample title="">
```
curl -X POST -H "Authorization: {SESSION_ID}" \
-H "Content-Type: text/csv" \
-H "Accept: text/csv" \
--data-binary @"C:\Vault\Clinical_Operations\story_events.csv" \
https://myvault.veevavault.com/api/v23.1/app/clinical/milestone/study_country__v/actions/applytemplate

```
</CodeExample>

## Response {#response}

<CodeExample title="">
```
"id","story_event__v","status","Job id/Error"
"0SC000000001001","OOV000000000102","SUCCESS","327801"

```
</CodeExample>

## Response Details {#response-details}

On `SUCCESS`, Vault returns the job ID.



---

**Previous:** [Create Milestones from Template](/clinical/vault-api/api-reference/24.1/clinical-operations/create-milestones-from-template)  
**Next:** [Generate Milestone Documents](/clinical/vault-api/api-reference/24.1/clinical-operations/generate-milestone-documents)