Skip to content

Intake JSON

Use the following endpoint to send JSON to Veeva Safety, which will be imported to a single Inbox Item:

POST/api/{version}/app/safety/ai/intake

Before submitting this request:

  • The User record for the API user must link to the Organization receiving the report in the Organization field. Edit User records in Admin > Users & Groups.
  • The API user must have the Access API Vault Action permission in their permission set.
NameDescription
Content-Type
  • multipart/form-data: Use to pass a JSON file or JSON text in the intake_json parameter when passing another document in the intake_form parameter.
  • application/json: Use to pass JSON text as raw content.
NameDescription
intake_jsonThe filepath for the JSON intake file, or the raw JSON text. Veeva Safety creates an Inbox Item using the JSON passed through this parameter. Note that Veeva Safety does not support bulk intake with this endpoint. A single API call is required for each Inbox Item. Ensure to use the correct JSON format.
intake_formThe filepath for a source intake document. Veeva Safety attaches the file passed through intake_form to the Inbox Item and Inbound Transmission. The Content-Type must be multipart/form-data to use this parameter.
NameDescription
{API_Name}(Optional) To specify which organization to send the Inbox Item to, enter the Vault API Name for the Organization record. The default value is vault_customer. Note that the Organization record type must be Sponsor.
curl --location --request POST 'https://safety.veevavault.com/api/v26.1/app/safety/ai/intake?API_Name=verteo_biopharma' \
--header 'Authorization: {SESSION_ID} '  \
--header ‘Content-Type: application/json’ \
--form 'intake_json=@/C:/Users/Vern/Documents/intake.json'

Response SUCCESS

{
     “responseStatus” :  “SUCCESS”,
     “jobId” : “69813”,
    “transmissionRecordId”: “V29000000000E09”
}

Response FAILURE

{
    "responseStatus": "FAILURE",
    "reason": "Invalid AI intake section object. Field \"height_value__v\" \
    with value \"999999\" in section \"patient\" is not valid. Error: \"The \
    input is outside of the supported range limits\". Please refer to documentation."
}

On SUCCESS, the response includes the jobID, which you can use to retrieve the job status, and the transmissionRecordId, which you can use to find the Inbound Transmission record in your Vault.

On FAILURE, check the reason text in the response against your Vault configuration and JSON file format and content. To view detailed logs for a job, log into your Vault and go to Admin > Operations > Job Status, where you can view your job history and download logs.

You can track the job status using the Retrieve Job Status endpoint.