Veeva Site Connect: Send to Select Sites
Initiate the distribution of a Safety Distribution record to a specified list of sites. This endpoint creates Distribution Task (distribution_task__v) records for the related document and supporting documents for each site, creates Distribution Task Recipient (distribution_task_recipient__v) records, and regenerates viewable renditions for any documents whose most recent e-signature was applied after the last Veeva Site Connect rendition was generated.
This endpoint executes synchronously and returns per-site results immediately. Job IDs and status polling are not required.
Use the Distribute to Sites endpoint to target all sites associated with a Safety Distribution. Learn more about Safety Distributions in Vault Help
/api/{version}/app/clinical/safety_distributions/{id}/actions/send_to_select_sitesHeaders
Section link for Headers| Name | Description |
|---|---|
Content-Type | application/json (default) |
Accept | application/json (default) or application/xml |
URI Path Parameters
Section link for URI Path Parameters| Name | Description |
|---|---|
{id} | The record ID of the Safety Distribution to send. |
Body Parameters
Section link for Body ParametersInclude a JSON object with the following:
| Name | Description |
|---|---|
sites required | A JSON array of Study Site record IDs to receive the Safety Distribution. Each ID corresponds to a Study Site record in your Clinical Operations Vault. A maximum of 500 sites are allowed to be processed at one time. |
Request
Section link for Requestcurl -X POST -H "Authorization: {AUTH_VALUE}" \
-H "Content-Type: application/json" \
--data-raw '{
"sites": [
"0SI000000001001",
"0SI000000002001",
"0SI000000003001"
]
}' \
https://myvault.veevavault.com/api/v26.2/app/clinical/safety_distributions/V56000000001004/actions/send_to_select_sitesResponse
Section link for Response{
"responseStatus": "SUCCESS",
"data": [
{
"site_id": "0SI000000001001",
"responseStatus": "SUCCESS"
},
{
"site_id": "0SI000000002001",
"responseStatus": "SUCCESS"
},
{
"site_id": "0SI000000003001",
"responseStatus": "FAILURE",
"errors": [
{
"type": "INVALID_DATA",
"message": "Site is invalid due to being filtered out by the inclusion/exclusion filter."
}
]
},
{
"site_id": "0SI000000004001",
"responseStatus": "FAILURE",
"errors": [
{
"type": "PARAMETER_REQUIRED",
"message": "Required request parameter 'id' is invalid."
}
]
},
{
"site_id": "0SI000000005001",
"responseStatus": "FAILURE",
"errors": [
{
"type": "UNEXPECTED_ERROR",
"message": "An unexpected error has occurred. If this issue persists, please contact Veeva Support."
}
]
}
]
}Response Details
Section link for Response DetailsOn SUCCESS, the response returns a per-site result in the data array. Individual sites can succeed or fail independently. The operation does not fail if some sites result in a failure.
| Name | Description |
|---|---|
site_id | The record ID of the site. |
responseStatus | SUCCESS if distribution was initiated for the site, FAILURE if the site was rejected. |
errors | Present only when responseStatus is FAILURE for the site. Each error includes a type and a human-readable message. |
If the request itself fails, the top-level responseStatus is FAILURE and no data array is returned. For example, the request will fail due to a missing or invalid id.