**Source URL:** https://limited.veevavault.dev/quality/vault-api/api-reference/20.1/document-lifecycle-workflows/document-binder-user-actions/retrieve-entry-criteria.md

# Retrieve Entry Criteria



Retrieve the entry criteria for a workflow.

<Endpoint path="/api/{version}/objects/{documents_or_binders}/{id}/versions/{major_version}/{minor_version}/lifecycle_actions/{name__v}/entry_requirements" method="GET"></Endpoint>

## Headers {#headers}

<FieldTable>
| Name | Description |
| --- | --- |
| `Accept` | `application/json` (default) or `application/xml` |
</FieldTable>

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

<FieldTable>
| Name | Description |
| --- | --- |
| `{documents_or_binders}` | Choose to retrieve values for `documents` or `binders`. |
| `{id}` | The document or binder `id` field value from which to retrieve available user actions. |
| `{major_version}` | The major version number of the document or binder. |
| `{minor_version}` | The minor version number of the document or binder. |
| `{name__v}` | The lifecycle `name__v` field value from which to retrieve entry criteria. This is retrieved from the [**Retrieve User Actions**](/vault-api/api-reference/20.1/document-lifecycle-workflows/document-binder-user-actions/retrieve-user-actions) request above. |
</FieldTable>

## Request {#request}

<CodeExample title="">
```
curl -X GET -H "Authorization: {SESSION_ID}" \
https://myvault.veevavault.com/api/v19.3/objects/documents/17/versions/0/1/lifecycle_actions/start_approval__vs/entry_requirements

```
</CodeExample>

## Response {#response}

<CodeExample title="">
```
{
   "responseStatus": "SUCCESS",
   "responseMessage": "Success",
   "properties": [
       {
           "name": "user_control_multiple__vs",
           "description": "Approver",
           "type": [
               "ObjectReference"
           ],
           "objectTypeReferenced": {
               "name": "User",
               "label": "User"
           },
           "required": true,
           "editable": true,
           "repeating": true,
           "scope": "WorkflowActivation"
       },
       {
           "name": "date_control__vs",
           "description": "Approval Due Date",
           "type": [
               "Date"
           ],
           "required": true,
           "editable": true,
           "scope": "WorkflowActivation"
       }
   ]
}

```
</CodeExample>

## Request {#request-1}

<CodeExample title="">
```
curl -X GET -H "Authorization: {SESSION_ID}" \
https://myvault.veevavault.com/api/v19.3/objects/documents/17/versions/0/1/lifecycle_actions/approve__vs/entry_requirements

```
</CodeExample>

## Response {#response-1}

<CodeExample title="">
```
{
   "responseStatus": "SUCCESS",
   "responseMessage": "Success",
   "properties": [
       {
           "name": "country__v",
           "description": "Country",
           "type": [
               "ObjectReference"
           ],
           "objectTypeReferenced": {
               "name": "country__v",
               "label": "Country",
               "url": "/api/v19.3/metadata/vobjects/country__v",
               "label_plural": "Countries"
           },
           "required": true,
           "editable": true,
           "repeating": true,
           "scope": "Document",
           "currentSetting": [
               {
                   "name": "00C000000000109",
                   "label": "United States",
                   "value": "/api/v19.3/vobjects/country__v/00C000000000109"
               }
           ],
           "records": "/api/v19.3/vobjects/country__v"
       }
   ]
}

```
</CodeExample>

## Response Details {#response-details}

The example response shows two entry criteria to start the "Start Approval" workflow on this document: `user_control_multiple__vs` and `date_control__vs`.

* You must assign an **Approval Due Date** and users/groups to the **Approver** role on the document when initiating the user action.

* Unlike the response from the next example, the **Scope** for these fields is set to **WorkflowActivation** (`"scope": "WorkflowActivation"`).

* This scope means that you can initiate the user action by including these entry criteria as name-value pairs with the request.

See the [Initiate User Action](/vault-api/api-reference/20.1/document-lifecycle-workflows/document-binder-user-actions/initiate-user-action) section below for more information.

## Request {#request-2}

<CodeExample title="">
```
curl -X GET -H "Authorization: {SESSION_ID}" \
https://myvault.veevavault.com/api/v19.3/objects/documents/17/versions/0/1/lifecycle_actions/start_approval__vs/entry_requirements

```
</CodeExample>

## Response {#response-2}

<CodeExample title="">
```
{
   "responseStatus": "SUCCESS",
   "responseMessage": "Success",
   "properties": [
       {
           "name": "user_control_multiple__vs",
           "description": "Approver",
           "type": [
               "ObjectReference"
           ],
           "objectTypeReferenced": {
               "name": "User",
               "label": "User"
           },
           "required": true,
           "editable": true,
           "repeating": true,
           "scope": "WorkflowActivation"
       },
       {
           "name": "date_control__vs",
           "description": "Approval Due Date",
           "type": [
               "Date"
           ],
           "required": true,
           "editable": true,
           "scope": "WorkflowActivation"
       }
   ]
}

```
</CodeExample>

## Request {#request-3}

<CodeExample title="">
```
curl -X GET -H "Authorization: {SESSION_ID}" \
https://myvault.veevavault.com/api/v19.3/objects/documents/17/versions/0/1/lifecycle_actions/approve__vs/entry_requirements

```
</CodeExample>

## Response {#response-3}

<CodeExample title="">
```
{
   "responseStatus": "SUCCESS",
   "responseMessage": "Success",
   "properties": [
       {
           "name": "country__v",
           "description": "Country",
           "type": [
               "ObjectReference"
           ],
           "objectTypeReferenced": {
               "name": "country__v",
               "label": "Country",
               "url": "/api/v19.3/metadata/vobjects/country__v",
               "label_plural": "Countries"
           },
           "required": true,
           "editable": true,
           "repeating": true,
           "scope": "Document",
           "currentSetting": [
               {
                   "name": "00C000000000109",
                   "label": "United States",
                   "value": "/api/v19.3/vobjects/country__v/00C000000000109"
               }
           ],
           "records": "/api/v19.3/vobjects/country__v"
       }
   ]
}

```
</CodeExample>

## Response Details {#response-details-1}

The example response shows one entry criteria to change the state of this document from "Draft" to "Approved": `country__v`.

* You must assign a value to the **Country** document field before initiating the user action.

* Unlike the response from the previous example, the **Scope** for this field is set to **Document** (`"scope": "Document"`).

* This scope means that you must first update this field on the document before initiating the user action.

See the [Initiate User Action](/vault-api/api-reference/20.1/document-lifecycle-workflows/document-binder-user-actions/initiate-user-action) section below for more information.

The response may include the following metadata elements describing the properties for which values need to be specified:



---

**Previous:** [Retrieve User Actions on Multiple Documents or Binders](/quality/vault-api/api-reference/20.1/document-lifecycle-workflows/document-binder-user-actions/retrieve-user-actions-on-multiple-documents-or-binders)  
**Next:** [Initiate User Action](/quality/vault-api/api-reference/20.1/document-lifecycle-workflows/document-binder-user-actions/initiate-user-action)