---
title: "API: getRequirement"
slug: "api-getrequirement"
tags: ["self-enrollment", "enrollment automation"]
updated: 2024-11-04T16:38:58Z
published: 2024-11-04T16:38:58Z
canonical: "support.smarteru.com/api-getrequirement"
---

> ## Documentation Index
> Fetch the complete documentation index at: https://support.smarteru.com/llms.txt
> Use this file to discover all available pages before exploring further.

# API: getRequirement

- Starting June 1, 2022, SmarterU will require all API calls to POST to HTTPS. Any POST to HTTP will result in the SU:01 error (i.e., No POST data detected.).
- If you are viewing the help in a language other than English, please change your language to English before copying and pasting any code. All API attributes and functions are in English.
- Tags are required unless specified.

## Description

The getRequirement method retrieves a [requirement's](/v1/docs/requirements) details.

## Who Has Access

The following users have access to the getRequirement method:

- Users with the [Manage Learning Plans, Certifications, and Requirements](/v1/docs/account-permission-manage-learning-plans-certifications-and-requirements) or [View Learning Plans, Certifications, and Requirements](/v1/docs/account-permission-view-learning-plans-certifications-and-requirements) account permission.
- [Administrators and owners](https://support.smarteru.com/docs/user-profile-information#access-level).

## API Call XML Package

```markup
<SmarterU>
   <AccountAPI><![CDATA[]]></AccountAPI>
   <UserAPI><![CDATA[]]></UserAPI>
   <Method>getRequirement</Method>
   <Parameters>
      <Requirement>
         <Name><![CDATA[]]></Name>
         <ID></ID>
      </Requirement>
   </Parameters>
</SmarterU>
```

## Requirement Tag Group

The Requirement tag group is a container for the requirement filters.

```markup
<Requirement>
   <Name><![CDATA[]]></Name>
   <ID></ID>
</Requirement>
```

The Requirement tag contains one of the following.

### Name

The [requirement's name](/v1/docs/requirement-main#name). This tag is mutually exclusive with the [ID](/v1/docs/api-getrequirement#id) tag.

### **ID**

The requirement's system-generated identifier. This tag is mutually exclusive with the [Name](/v1/docs/api-getrequirement#name) tag.

This is not yet an ID that you can access through the SmarterU system. Please contact our [Success Desk](mailto:success@neovation.com) to request your IDs.

## API Response XML Package

The [API response XML package](/v1/docs/api-response-xml-package) will always include a Result, Info, and [Errors](/v1/docs/api-getrequirement#error-codes) tag.

```markup
<SmarterU>
   <Result></Result>
   <Info>      
      <Requirement>
         <Name><![CDATA[]]></Name>
         <RequirementID><![CDATA[]]></RequirementID>
         <CreatedDate></CreatedDate>
         <ModifiedDate></ModifiedDate>
         <Description></Description>
         <ReqExpires></ReqExpires>
         <ExpirationType></ExpirationType>
         <DaysGood></DaysGood>
         <ExpirationDate></ExpirationDate>
         <RecallDays></RecallDays>
         <MetByDefault></MetByDefault>
         <DaysMet></DaysMet>
         <DaysMetWarning></DaysMetWarning>

         <Certifications>
            <Certification>
               <ID></ID>
               <Name></Name>
            </Certification>
         </Certifications>

         <Blocks>
            <Block>
               <BlockID></BlockID>
               <BlockSortOrder></BlockSortOrder>
               <Items>
                  <Item>
                     <ID></ID>
                     <Name><![CDATA[]]></Name>
                     <Type></Type>
                     <AutoEnroll></AutoEnroll>
                     <AutoEnrollILT></AutoEnrollILT>
                     <AutoEnrollOnFailure></AutoEnrollOnFailure>
                     <SelfEnroll></SelfEnroll>
                     <SortOrder></SortOrder>
                  </Item>
               </Items>
            </Block>
         </Blocks>
         <Status></Status>
      </Requirement>
   </Info>

   <Errors>
      <Error>
         <ErrorID></ErrorID>
         <ErrorMessage></ErrorMessage>
      </Error>
   </Errors>
</SmarterU>
```

The requirement is contained in a Requirement tag and may contain the following.

### Name

The [requirement's name](/v1/docs/requirement-main#name).

### RequirementID

The requirement's system-generated identifier.

### CreatedDate

The date the requirement was [added](/v1/docs/adding-a-requirement).

### ModifiedDate

The date the requirement was last [edited](/v1/docs/editing-a-requirement).

### Description

The [requirement's description](/v1/docs/requirement-main#description).

### ReqExpires

Indicates whether the requirement expires. Possible values are:

- *0* - The requirement doesn't expire.
- *1* - The requirement expires.

### ExpirationType

This is only returned when the [ReqExpires tag](/v1/docs/api-getrequirement#reqexpires) is set to *1*.

Indicates how the requirement expires. Possible values are:

- *ByDays* - The requirement expires after the days specified in the [DaysGood tag](/v1/docs/api-getrequirement#daysgood).
- *ByDate* - The requirement expires on the date specified in the [ExpirationDate tag](/v1/docs/api-getrequirement#expirationdate).

### DaysGood

This tag is only returned if the [ReqExpires tag](/v1/docs/api-getrequirement#reqexpires) returns *1* and the [ExpirationType tag](/v1/docs/api-getrequirement#expirationtype) returns *ByDays*.

The [number of days that the requirement is valid](https://help.smarteru.com/requirement-expiration$setting_valid_for) from the date that a user meets the requirement. If this tag is not provided, the tag's value defaults to *365*.

### ExpirationDate

This tag is only returned when the [ReqExpires tag](/v1/docs/api-getrequirement#reqexpires) returns *1* and the [ExpirationType tag](/v1/docs/api-getrequirement#expirationtype) returns *ByDate*.

The date the requirement will expire in D-MMM format.

### RecallDays

This tag is only returned if the [ReqExpires tag](/v1/docs/api-getrequirement#reqexpires) returns 1.

The [number of days prior to the requirement's expiration that will cause the status to change to *Warning*](https://support.smarteru.com/v1/docs/requirement-expiration#warning-period-should-start).

### MetByDefault

Indicates [whether the requirement is met by default](/v1/docs/requirement-met-by-default#met-by-default). Acceptable values are:

- *0* - The requirement isn't met by default
- *1* - The requirement is met by default.

### DaysMet

This tag is only returned if the [MetByDefault tag](/v1/docs/api-getrequirement#metbydefault) returns *1*.

The [number of days before the requirement is recalculated to have a status of *Not Met*](/v1/docs/requirement-met-by-default#delay-the-calculation-for).

### **DaysMetWarning**

This setting is only returned if the [MetByDefault tag](/v1/docs/api-getrequirement#metbydefault) returns 1.

The [number of days before the requirement is recalculated to have a status of *Warning*](/v1/docs/requirement-met-by-default#warning-period-should-start).

### **Certifications**

A container for the [certifications that include the requirement](/v1/docs/assigning-requirements-to-a-certification). Each certification is contained in a Certification tag and contains the following.

| Tag | Description |
| --- | --- |
| **ID** | The certification's system-generated identifier. |
| **Name** | The [certification's name](/v1/docs/certification-main#name). |

### Blocks

A container for the [requirement's blocks](/v1/docs/requirement-blocks). Each block is contained in a Block tag and contains the following.

| Tag | Description |
| --- | --- |
| **BlockID** | The block's system-generated identifier. |
| **BlockSortOrder** | The order that the block will be displayed. |
| **Item** | A container for the [block's courses](/v1/docs/editing-a-blocks-courses) and [actions](/v1/docs/editing-a-blocks-actions). Each course or action is contained in an Item tag and contains the following: - ID - The course or action's system-generated identifier. - Name - The course or action's name. - Type - Indicates whether the item is a course or action. Possible values are: - *1* - The item is a course. - *2* - The item is an action. - AutoEnroll - Indicates whether the course's [Auto-Enroll setting](/v1/docs/editing-a-blocks-courses#automation-enrollment) is enabled (i.e., 0 = disabled; 1 = enabled). Refer to [API: Requirement's Course Auto-Enroll Settings](/v1/docs/api-requirements-course-auto-enroll-settings) for details. - AutoEnrollILT - Indicates the [Auto-Enroll setting](/v1/docs/editing-a-blocks-courses#automation-enrollment) for an instructor-led course. Refer to [API: Requirement's Course Auto-Enroll Settings](/v1/docs/api-requirements-course-auto-enroll-settings) for details. - AutoEnrollOnFailure - Indicates whether learners are [re-enrolled if they fail the course](/v1/docs/editing-a-blocks-courses#automation-enrollment). Refer to [API: Requirement's Course Auto-Enroll Settings](/v1/docs/api-requirements-course-auto-enroll-settings) for details. - SelfEnroll - Indicates whether the course's [self-enroll setting](/v1/docs/editing-a-blocks-courses#selfenroll) is enabled. - SortOrder - The position of the course or action in the block. |

### Example API Response XML Package

Below is an example of an API response XML package.

```markup
<SmarterU>
   <Result></Result>
   <Info>
      <Requirement>
         <Name><![CDATA[Fina Customer Service]]></Name>
         <RequirementID><![CDATA[17872]]></RequirementID>
         <CreatedDate>2018-09-11 16:27:17.28</CreatedDate>
         <ModifiedDate>2018-09-11 16:27:17.28</ModifiedDate>
         <Description><![CDATA[Customer service requirements]]></Description>
         <ReqExpires>1</ReqExpires>
         <ExpirationType>ByDays</ExpirationType>
         <DaysGood>365</DaysGood>
         <RecallDays>90</RecallDays>
         <MetByDefault>0</MetByDefault>
         <DaysMet>60</DaysMet>
         <DaysMetWarning>15</DaysMetWarning>

         <Certifications>
            <Certification>
               <ID>12402</ID>
               <Name>Fina Customer Service</Name>
            </Certification>
         </Certifications>

         <Blocks>
            <Block>
               <BlockID>92825</BlockID>
               <BlockSortOrder>1</BlockSortOrder>
               <Items>
                  <Item>
                     <ID>94261</ID>
                     <Name><![CDATA[Customer Service: Phone Support]]></Name>
                     <Type>1</Type>
                     <AutoEnroll>1</AutoEnroll>
                     <AutoEnrollILT>0</AutoEnrollILT>
                     <AutoEnrollOnFailure>1</AutoEnrollOnFailure>
                     <SelfEnroll>0</SelfEnroll>
                     <SortOrder>1</SortOrder>
                  </Item>
               </Items>
            </Block>
            <Block>
               <BlockID>92826</BlockID>
               <BlockSortOrder>2</BlockSortOrder>
               <Items>
                  <Item>
                     <ID>94259</ID>
                     <Name><![CDATA[Customer Service: Retail]]></Name>
                     <Type>1</Type>
                     <AutoEnroll>1</AutoEnroll>
                     <AutoEnrollILT>0</AutoEnrollILT>
                     <AutoEnrollOnFailure>1</AutoEnrollOnFailure>
                     <SelfEnroll>0</SelfEnroll>
                     <SortOrder>1</SortOrder>
                  </Item>
               </Items>
            </Block>
         </Blocks>
         <Status>Active</Status>
      </Requirement>
   </Info>

   <Errors>
   </Errors>
</SmarterU>
```

## **Error Codes**

| Error Code | Message |
| --- | --- |
| GR:01 | The name provided is invalid. |
| GR:02 | The ID provided is invalid. |
| GR:03 | The required permissions are not met to call the getRequirement method. |
| GR:04 | The requested Requirement does not exist. |
| GR:05 | Requirement Name and ID not provided. You must provide a Name or ID. |

## Related

- [API: createRequirement](/api-createrequirement.md)
- [API: listRequirements](/api-listrequirements.md)
- [API: Requirement's Course Auto-Enroll Settings](/api-requirements-course-auto-enroll-settings.md)
- [API: updateRequirement](/api-updaterequirement.md)
- [Requirements](/requirements.md)
