Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Panel
panelIconId1f6a7
panelIcon:construction:
panelIconText🚧
bgColor#FFEBE6

This page was created to contain general notes/documentation for the CAS API and Slate integration that is CAS-agnostic. It is under construction.

Table of Contents
minLevel1
maxLevel6
outlinefalse
styledefault
typelist
printabletrue

Common Terms and Definitions

Term

Definition

CAS association

The group that owns and manages the CAS (e.g., APTA for PTCAS, ASPPH for SOPHAS, etc.)

Organization ID

Associated with the school/institution (e.g., Tufts University). Indicates the institution’s entity within the CAS/cycle. A unique ID used in setting up API accounts and subscriptions. Remains the same across cycles. Tufts has multiple Organization IDs; Vet is different from CASPA, and they are different from each different location PT has.

Application Form ID

Associated with the CAS/cycle (e.g., the PTCAS application for 23-24), represents the configurations made by the CAS association for their centralized application for that cycle, a unique ID used in setting up API accounts and subscriptions. Each year/cycle it will change for the CAS, but within that cycle it is the same for any program within that CAS (i.e., the individual DPT programs use the same application form ID because it is for PTCAS and not the program itself).

Program ID

Associated with each program within the organization. Some CAS applications will only have one program (e.g., CASPA) but others will have multiple (e.g. SOPHAS). Used to generate the CAS/Liaison Application ID (the unique identifier used for matching data sent from the CAS to Slate on the application, vs. the person) which is key for both the data and document integrations. In the API this is stored in the progMate.progSele0.programID field, in WebAdMIT it is found under Designation > Program Identifier.

Prelaunch environment

Prelaunch is a "staging" Subscription ID

Each individual subscription--the one for documents, the one for in-progress apps, etc-- has a unique identifier. Any time a new subscription is started (or re-started after being deleted), a new subscription ID would be generated. This ID is required to do a replay.

Prelaunch environment

Prelaunch is a "staging" environment that allows you to configure programs for the new cycle without impacting the current cycle. 

Production environment

The "live environment" is where you perform your applicant review processes. 

CAS Applicant ID

Unique to the person; consistent across cycles and CAS. Note that Liaison does not generate a single application ID; best practice is to concatenate the Applicant ID with the Program ID (progMate.progSele0.programId) before import.
https://help.liaisonedu.com/Integration/Getting_Started_with_Data_Integration/Loading_Your_Data/Working_with_Person-scoped_and_Application-scoped_Unique_Identifiers

...

Expand
titleSample text to request a new API account

Subject: Request to create new API account

Hello,

I am writing to request a new API account be created for the following CAS and institution. If possible, I’d like to request that the account username be [xxxxx].

Institution Manager name and email address: [xxxxx]

Name of user to receive CAS API access: [xxxxx]

CAS API user phone number: [xxxxx]

CAS API user email address: [xxxxx]

The name of your institution (university/college/school/etc.): [xxxxx]

The CAS, one or many, that you're interested in (e.g. BusinessCAS): [xxxxx]

The CAS admissions cycles you're interested in (e.g., 2020-2021 and 2021-2022): [xxxxx]

The environment: [Prelaunch or Production]

Expand
titleSample text to request CAS/cycle added to existing API account:

Subject: Request adding CAS to existing API account

Hello,

This year we will be setting up a CAS API integration for CASPA for Tufts University (program ID 346115 for 23-24). We have existing API accounts for other integrations so I am writing to request that access to CASPA be granted to the below API accounts.

Prelaunch account username: TuftsUniPre

Production account username: TuftsUni

...

In December 2023 - January 2024, Liaison migrated their CAS systems to AWS. Initially, Liaison included in their documentation instructions to whitelist thousands of possible IP addresses and CIDR subnets in the allowed networks for the CAS/Liaison Service Account in Slate. Concerns about whitelisting so many IP addresses were raised; in addition, adding the suggested IP addresses (over 7K) didn’t solve issues with file delivery to the SFTP for either WebAdMIT delivered files or the CAS API.

Liaison instructed, via two separate emails, that the following IP addresses be added to the allowed networks in order to ensure successful file delivery. They have also indicated that the “templated” CAS/Liaison Service account was updated by Slate/Technolutions, however if the account had already been added in an instance (was now custom) it needs to be updated manually.

...

Code Block
AWS CAS Production 
34.226.75.67
44.212.160.251
52.45.20.177

AWS CAS Prelaunch 
52.1.245.183
54.157.13.223
54.174.7.196

View file
name_External_ CAS API Subscriptions - Whitelist New IP Addresses.msg
View file
nameCAS Migration to the Cloud.pdf
View file
name_External_ PTCAS_ PTCAS 23-24 Tufts University Destination Manager started failing 12_13- Case# 00329478- Ref_ Case ID_ _ ref_!00D5006gYH_!5004X01wUFrd_ref _.msg

image-20231221-142721.pngImage Removed

Allowed Networks (Deprecated January 2024)

...

Below are the IP addresses that are included in the “allowed networks” of existing CAS/Liaison Service accounts for future reference. It is unclear which exactly are used by the Liaison systems, the following list is provided for reference/troubleshooting.

...

February 2024 - Forum discussion post about this list of all AWS IP addresses ever and how it is ridiculous; eventually this is posted:

...

Code Block
12.130.14.3, 35.196.40.74, 35.237.218.144, 35.237.169.192, 34.74.5.60, 
35.185.121.56,
 34.74.128.171, 
104.196.102.47
TUSMGP 12.130.14.3, * 35.196.40.74, * 35.237.218.144, * 35.237.169.192, * 108.26.138.40, x 130.64.2.186, x 130.64.35.32, x 3.224.174.183, x 52.0.120.196, x 52.2.196.251, x 52.71.217.11, x 54
, 3.221.151.218, 35.174.21.29, 
100.24.188.151, 35.168.84.72, 44.198.99.254, 54.221.197.67, 44.196.149.171, 
18.211.99.194, 34.231.157.239, 52.71.217.11, 54.161.89.200,
x
 54.205.199.53
, x 130.64.3.197 x

CAS API SFTP Login Frequency

In May 2024, Technolutions contacted instances with SFTP service accounts that were attempting logins to the Slate SFTP more freqently than the recommended rate (no more than 12 connection attempts per hour, or approximately one every 5 minutes).

Slate Community Forum Post

The CAS API is configured to make a SFTP login attempt each time it delivers a single file, either for data or a document. The CAS API will also attempt additional connections if there is an initial failure until it is able to successfully deliver the file.

Therefore, it is one SFTP login per applicant data file and PDF document, per business event, as those triggers occur throughout the cycle. If a school is getting a file at every business event stage, then each applicant represents at least 4+ SFTP logins for the application data alone, and more when you include documents (again, one login per document... transcript, evaluation, etc.). Multiplied over the entire applicant pool, then over however many CAS integrations might be in a single instance, it is starting to make sense that Slate is seeing such frequent login attempts from the CAS account.

Per Liaision, "The only way to really modify the frequency of API delivery, would be to modify your usage of business events in your active subscriptions since those are always passively sending files when the events are triggered. For example, using more business events in a subscription will trigger the API to send more information/files; whereas using fewer business events in the subscription will cause the API to trigger less, sending less information/files."

Note

When determining what business event subscriptions to use for the CAS integration, consider the frequency of SFTP connection attempts that will be required. Do not set up extraneous subscriptions for files that are unnecessary to the business process in Slate.

Cycle Turnover Process

Each CAS has an annual cycle which is based off of the application deadlines/timeline for the programs using it. Each cycle includes:

  1. Configuration Portal/Prelaunch environment launch/open - institutions/programs are given access to set up the application configurations they can customize (questions, deadlines, documents, etc.). Level of customization is dependent on the CAS association rules/choices.

  2. Configuration Portal “closes” - institutions/programs have finalized their custom configurations and submitted to the CAS association for “approval.”

  3. Application Portal launch/open - the school-specific application becomes live/available to prospective students to access. Typically a few weeks/months after configuration portal has closed; during this time the CAS association reviews configurations and approves the configurations, and those final configurations are pushed from prelaunch to production.

  4. Applicant data available in WebAdMIT - the last step is for the CAS to generate a new WebAdMIT “environment” for the cycle and then to push application data to it. Typically, the WebAdMIT “environment” will become available the same day the application portal launches, and application data will be sent the next day.

Automated Notifications from Liaison

When Liaison “promotes or rolls over” (i.e., opens) the new cycle for either the production or the prelaunch environment, access to that environment will be added for any CAS API account which had access during the previous cycle (it will “roll over”) and there is nothing the institution needs to do.

Automatic notifications will go to the user associated with the CAS API user account:

  1. Notification of a user update(s), which is updating the CAS API user account to include access to the new cycle (includes a new Application Form ID).

  2. Notification of subscription update(s), which is indicating that a subscription which existed in the previous cycle has been created/copied over to the new cycle (includes a new Subscription ID).

View file
nameSample Liaison CAS API subscription update.pdf

View file
nameSample Liaison CAS API user update.pdf

Troubleshooting Connection Issues

https://help.liaisonedu.com/Integration/CAS_API/CAS_Slate_Integration/Go_Live_and_Future_Preparedness/04_Troubleshooting_Your_Integration

...

titleConnection reset or timeout message on the sender side

Some client connections for SFTP and direct SQL access were not allowed through the edge firewalls last night due to their IP authorization entries expiring. The process through which IP authorization entries are renewed runs as part of a recurring system process that includes other system activities such as provisioning Time Warp environments. Due to a series of excessively-large Time Warp environments that were provisioned, some of the authorization entries expired prior to the authorization entries being renewed. We have removed the Time Warp provisioning process from this series of system processes to ensure that these activities do not delay the IP authorization renewal process from running regularly. All IP authorization entries were up-to-date as of earlier this morning. We will be launching the new Time Warp and test environment provisioning process today which will begin provisioning these environments in a newly-distributed way, which should additionally help reduce the provisioning time going forward.

- Paul Turchan (Technolutions Director of Community Support), 11/22/2023

My initial hypothesis is that there's a new IP address in rotation which is the most common cause in a connection reset or timeout message on the sender side. You might reach out to the IT/Networking team to make sure there aren't new public IPs for this service.

If this is happening for a specific user account, let me know. We can check the logs to see if there's any pattern that can be discerned about when it's successful or not.

we're seeing 158 successful authentications in the last 7 days from a consistent IP address and zero failures. That's consistent with the behavior you and Aaron Pearson described where the connection is reset as it suggest the connection never made it to our SFTP (either blocked by something between us or at our firewall). Do you have a timestamp of when one of those resets occurred? That will help us investigate further.

Mary Ryan, could you give us a few more details on the errors you're encountering? A user unable to access files or directories on the SFTP could be that path restrictions are imposed but that would be a consistent failure for a particular user. Is that the behavior the Boomi account is experiencing? Or are you seeing something more intermittent?

Morning all, if you've ruled out a potential IP address change, it would be very helpful to share the user account experiencing the intermittent connection timeouts/resets and the timestamp of a failed connection attempt. That should allow us to continue investigating.

- Drew Flock (Technolutions Director of Engineering), 11/6-8/2023

Useful Forum Posts w/Issues:

https://knowledge.technolutions.com/hc/en-us/community/posts/19866677242011-Sporadic-SFTP-Connection-Issues-from-WebAdmit?page=1#community_comment_21430707785883

https://knowledge.technolutions.com/hc/en-us/community/posts/20598367843995-Anyone-else-having-issues-with-outgoing-Slate-SFTP-connections-

https://knowledge.technolutions.com/hc/en-us/community/posts/20008552350875-SFTP-Issues

...

Sneaky Method for Identifing IP Addresses

Slate released new SFTP features in mid-2024 that added an SFTP Log to user accounts. Send test files using the appropriate service account and they will fail. Check the SFTP Log for the service account to view the IP address attempted and add that IP address to the allowed networks.

IP addresses will change and fluctuate, but this seems to work over adding a ridiculous list (that isn’t possible anyway).

How to Add Allowed Networks

...

The instruction to use CIDR subnets (e.g., 123.45.67.0/24) mean literally to use the .0/24 characters, even if the number you see in your machine’s individual IP address is something outside of that range. Setting this means there is no waiting when using these account credentials with Filezilla or Postman

Allowed Networks (Deprecated January 2024)

Expand
titleDetails

Below are the IP addresses that are included in the “allowed networks” of existing CAS/Liaison Service accounts for future reference. It is unclear which exactly are used by the Liaison systems, the following list is provided for reference/troubleshooting.

Code Block
CLEAN SLATE

12.130.14.3, *
35.196.40.74, *
35.237.218.144, *
35.237.169.192, 
34.74.5.60, 
35.185.121.56, 
34.74.128.171, 
104.196.102.47


TUSMGP

12.130.14.3, *
35.196.40.74, *
35.237.218.144, *
35.237.169.192, * 
108.26.138.40, x
130.64.2.186, x
130.64.35.32, x
3.224.174.183, x
52.0.120.196, x
52.2.196.251, x
52.71.217.11, x
54.161.89.200, x
54.205.199.53, x
130.64.3.197 x

CAS API SFTP Login Frequency

In May 2024, Technolutions contacted instances with SFTP service accounts that were attempting logins to the Slate SFTP more frequently than the recommended rate (no more than 12 connection attempts per hour, or approximately one every 5 minutes).

Slate Community Forum Post

The CAS API is configured to make a SFTP login attempt each time it delivers a single file, either for data or a document. The CAS API will also attempt additional connections if there is an initial failure until it is able to successfully deliver the file.

Therefore, it is one SFTP login per applicant data file and PDF document, per business event, as those triggers occur throughout the cycle. If a school is getting a file at every business event stage, then each applicant represents at least 4+ SFTP logins for the application data alone, and more when you include documents (again, one login per document... transcript, evaluation, etc.). Multiplied over the entire applicant pool, then over however many CAS integrations might be in a single instance, it is starting to make sense that Slate is seeing such frequent login attempts from the CAS account.

Per Liaision, "The only way to really modify the frequency of API delivery, would be to modify your usage of business events in your active subscriptions since those are always passively sending files when the events are triggered. For example, using more business events in a subscription will trigger the API to send more information/files; whereas using fewer business events in the subscription will cause the API to trigger less, sending less information/files."

Note

When determining what business event subscriptions to use for the CAS integration, consider the frequency of SFTP connection attempts that will be required. Do not set up extraneous subscriptions for files that are unnecessary to the business process in Slate.

Cycle Turnover Process

Each CAS has an annual cycle which is based off of the application deadlines/timeline for the programs using it. Each cycle includes:

  1. Configuration Portal/Prelaunch environment launch/open - institutions/programs are given access to set up the application configurations they can customize (questions, deadlines, documents, etc.). Level of customization is dependent on the CAS association rules/choices.

  2. Configuration Portal “closes” - institutions/programs have finalized their custom configurations and submitted to the CAS association for “approval.”

  3. Application Portal launch/open - the school-specific application becomes live/available to prospective students to access. Typically a few weeks/months after configuration portal has closed; during this time the CAS association reviews configurations and approves the configurations, and those final configurations are pushed from prelaunch to production.

  4. Applicant data available in WebAdMIT - the last step is for the CAS to generate a new WebAdMIT “environment” for the cycle and then to push application data to it. Typically, the WebAdMIT “environment” will become available the same day the application portal launches, and application data will be sent the next day.

Automated Notifications from Liaison

When Liaison “promotes or rolls over” (i.e., opens) the new cycle for either the production or the prelaunch environment, access to that environment will be added for any CAS API account which had access during the previous cycle (it will “roll over”) and there is nothing the institution needs to do.

Automatic notifications will go to the user associated with the CAS API user account:

  1. Notification of a user update(s), which is updating the CAS API user account to include access to the new cycle (includes a new Application Form ID).

  2. Notification of subscription update(s), which is indicating that a subscription which existed in the previous cycle has been created/copied over to the new cycle (includes a new Subscription ID).

View file
nameSample Liaison CAS API subscription update.pdf

View file
nameSample Liaison CAS API user update.pdf

Data will begin flowing via these subscriptions to Slate without any further human intervention.

However, in order to do a replay, get lists of applications, or the subscription details or any other interaction with the API, the Postman environment needs to be updated.

Updating Postman Environment

The subscription update emails from Liaison contain the Application Form ID, which is what changes from year to year. It needs to be added to Postman. When copying the environment over from the previous year, the App Form ID must be added to the current value column.

...

Troubleshooting Connection Issues

https://help.liaisonedu.com/Integration/CAS_API/CAS_Slate_Integration/Go_Live_and_Future_Preparedness/04_Troubleshooting_Your_Integration

Expand
titleConnection reset or timeout message on the sender side

Some client connections for SFTP and direct SQL access were not allowed through the edge firewalls last night due to their IP authorization entries expiring. The process through which IP authorization entries are renewed runs as part of a recurring system process that includes other system activities such as provisioning Time Warp environments. Due to a series of excessively-large Time Warp environments that were provisioned, some of the authorization entries expired prior to the authorization entries being renewed. We have removed the Time Warp provisioning process from this series of system processes to ensure that these activities do not delay the IP authorization renewal process from running regularly. All IP authorization entries were up-to-date as of earlier this morning. We will be launching the new Time Warp and test environment provisioning process today which will begin provisioning these environments in a newly-distributed way, which should additionally help reduce the provisioning time going forward.

- Paul Turchan (Technolutions Director of Community Support), 11/22/2023

My initial hypothesis is that there's a new IP address in rotation which is the most common cause in a connection reset or timeout message on the sender side. You might reach out to the IT/Networking team to make sure there aren't new public IPs for this service.

If this is happening for a specific user account, let me know. We can check the logs to see if there's any pattern that can be discerned about when it's successful or not.

we're seeing 158 successful authentications in the last 7 days from a consistent IP address and zero failures. That's consistent with the behavior you and Aaron Pearson described where the connection is reset as it suggest the connection never made it to our SFTP (either blocked by something between us or at our firewall). Do you have a timestamp of when one of those resets occurred? That will help us investigate further.

Mary Ryan, could you give us a few more details on the errors you're encountering? A user unable to access files or directories on the SFTP could be that path restrictions are imposed but that would be a consistent failure for a particular user. Is that the behavior the Boomi account is experiencing? Or are you seeing something more intermittent?

Morning all, if you've ruled out a potential IP address change, it would be very helpful to share the user account experiencing the intermittent connection timeouts/resets and the timestamp of a failed connection attempt. That should allow us to continue investigating.

- Drew Flock (Technolutions Director of Engineering), 11/6-8/2023

Useful Forum Posts w/Issues:

https://knowledge.technolutions.com/hc/en-us/community/posts/19866677242011-Sporadic-SFTP-Connection-Issues-from-WebAdmit?page=1#community_comment_21430707785883

https://knowledge.technolutions.com/hc/en-us/community/posts/20598367843995-Anyone-else-having-issues-with-outgoing-Slate-SFTP-connections-

https://knowledge.technolutions.com/hc/en-us/community/posts/20008552350875-SFTP-Issues

Using Postman and Endpoints

https://help.liaisonedu.com/Integration/CAS_API/CAS_Slate_Integration/Configuring_Automation/01_Using_Postman_to_Set_Up_the_Integration

CAS Resources

https://help.liaisonedu.com/Integration/CAS_API/CAS_Slate_Integration/Configuring_Automation/05_Common_Business_Events

https://help.liaisonedu.com/Integration/CAS_API/CAS_Slate_Integration/Configuring_Automation/06_Common_Data_Holds

Obtaining the Data Dictionary using the GET data dictionary endpoint

The following instructions use the CAS → Slate V5 Postman collection provided by Liaison.

  1. Select the environment for the CAS application you are trying to access, and send a call for an authorization toke (POST Call Auth Token).

  2. Open the GET data dictionary endpoint. Use the carat next to the Send button to select “Send and Download” image-20240815-130655.pngImage Added

  3. After a short delay, a File Explorer window should open to allow you to save the file you have downloaded. Select a location to save, rename the file (if desired) and most important, add a file extension to the end of the filename (.csv) before you save it. image-20240815-130639.pngImage Added

  4. Open the file in Excel. You may get a warning message, but dismiss it and the file should open without issues.

Obtaining an individual application file

The following instructions use the CAS → Slate V5 Postman collection provided by Liaison. At minimum you need the name of the applicant, but it is also good to have the CAS Applicant ID to ensure the correct application data is identified.

Note

The application data you will get back using this process is “live” as of when the request is sent. It is not dependent on a business event and is not “retroactive.” If the exact file sent via a subscription is required, you should do a replay and not use this process.

  1. Select the environment for the CAS application you are trying to access, and send a call for an authorization token (POST Call Auth Token).

  2. Next send a call to the GET applications list. The response will contain details for every application in the CAS and cycle (application form ID) and the school/college/university (organization) established in your environment. Use the search tool in Postman to search for the name or CAS Applicant ID of the applicant you are trying to find; make note of the application ID.

    Image Added
  3. Open the GET individual application endpoint. Paste the application ID into the value under the “Params > Path Variables” section. Next, in the Headers menu make sure that Accept is set to text/csv (default is application/json, changing this ensures a text file is returned). Save the endpoint and then send it.

    Image Added
  4. Save the response locally.

    Image Added
  5. Open Excel, use “Open” to find the file that you saved in the previous step. Make sure to change the type of file you are looking for to “All Files.”

    Image Added
  6. Excel may give a warning, but click yes to open anyway. Excel will then run through the Text Import Wizard. Select Delimited for Step 1, then “comma” in Step 2, and then finish. The workbook will open; save as a CSV file.

    Image Added
  7. Go to Slate to the Source Format configured to import this type of file for the API.

    Image Added

Deciding to use the CAS API vs. WebAdMIT API

Expand
titleExporting from WebAdmit in addition to the CAS API

Alex Sims (Mississippi State University)  2 months ago

Hey @Wyatt Best (ReWorkflow) (and @Peter Scorcia (Uni of Arizona)),
We've got a little mix of both going on at MSU.We utilize the Liaison CAS API to transfer data directly from the CAS applications into Slate. This is done via setting up "subscriptions" in POSTman which allows you to set event triggers that will bundle up the application data and transfer it to Slate via the SFTP servers and source formats. We have done this for VMCAS applications for 2 application cycles now. And I am literally neck-deep in implementing this same process for nursingCAS as I type (app goes live on 2/16 for our brand new Masters of Science / Nursing program). Liaison's documentation for this process is actually pretty good (https://help.liaisonedu.com/Integration/CAS_API/CAS_Slate_Integration )

However, as y'all mentioned, there are some things that just do not come in the data from the API--one example that I can think of from VMCAS was the "Academic Update Status". We could see in WebAdmit that a student had been sent back through the coursework verification process and was in an "Academic Update in Progress" status but there was no way of knowing that in Slate because that was not being transferred in any of the HUNDREDS of data points in the files from the API. So, I still set up exports from WebAdmit using the export manager to send a file to Slate every hour to set an Academic Update Status field in Slate to whatever that field was in WebAdmit.For our VMCAS applications, these are being reviewed in Slate but WebAdmit is still kind of being used as like a "system of truth" to find any discrepancies, like the academic update status.We also accept CASPA applications for our Physicians Assistant program. Those applications are reviewed within WebAdmit. Just in the last few months (October 2023, I believe), they decided that they would like those applications to be transferred to Slate. The reason for this is we have data integration between Slate and our SIS (Banner) to transfer applications at the point of admission. But, we don't have such integrations between WebAdmit and Banner. So, once these students were admitted in WebAdmit, someone was having to key those applications into Banner manually.
We utilize the WebAdmit Export Manager to schedule hourly exports from WebAdmit to Slate to transfer those "Offer Made" applications to Slate and automatically put a decision on the application in Slate which would trigger that app to transfer to Banner.With our nursingCAS implementation that we are currently building out, they intend to review the applications in WebAdmit. However, we are working with EAB for marketing purposes since this is a brand new program and we are trying to get the word out about it. EAB needs to know who in their population (via data transfers to/from Slate) have at least started an application. So, we are going to use the CAS API to transfer the application data to Slate for these applications. We haven't gotten to the point where any of these will actually have decisions. If we find that the decision data cannot be transferred to Slate via the API, then we will set up an hourly export from WebAdmit like we did for CASPA and through a combination of the API and hourly exports, we should have all of the data that we need.

Identifying and Interpreting Data Fields

CAS API Data

https://help.liaisonedu.com/Integration/CAS_API/CAS_Slate_Integration/ConfiguringWorking_Automation/01with_UsingSource_PostmanFormats_to_Set_Up_the_Integration

CAS Resources

https://help.liaisonedu.com/Integration/and_Mapping/08_CAS_API/CAS_Slate_Integration/Configuring_Automation/05_Common_Business_EventsData_Dictionaries

Program Configuration Data

https://help.liaisonedu.com/Integration/CAS_API/CAS_Slate_Integration/Configuring_Automation/06_Common_Data_Holds

Obtaining an individual application file

The following instructions use the CAS → Slate V5 Postman collection provided by Liaison. At minimum you need the name of the applicant, but it is also good to have the CAS Applicant ID to ensure the correct application data is identified.

Note

The application data you will get back using this process is “live” as of when the request is sent. It is not dependent on a business event and is not “retroactive.” If the exact file sent via a subscription is required, you should do a replay and not use this process.

  1. Select the environment for the CAS application you are trying to access, and send a call for an authorization token (POST Call Auth Token).

  2. Next send a call to the GET applications list. The response will contain details for every application in the CAS and cycle (application form ID) and the school/college/university (organization) established in your environment. Use the search tool in Postman to search for the name or CAS Applicant ID of the applicant you are trying to find; make note of the application ID.

    Image Removed
  3. Open the GET individual application endpoint. Paste the application ID into the value under the “Params > Path Variables” section. Next, in the Headers menu make sure that Accept is set to text/csv (default is application/json, changing this ensures a text file is returned). Save the endpoint and then send it.

    Image Removed
  4. Save the response locally.

    Image Removed
  5. Open Excel, use “Open” to find the file that you saved in the previous step. Make sure to change the type of file you are looking for to “All Files.”

    Image Removed
  6. Excel may give a warning, but click yes to open anyway. Excel will then run through the Text Import Wizard. Select Delimited for Step 1, then “comma” in Step 2, and then finish. The workbook will open; save as a CSV file.

    Image Removed
  7. Go to Slate to the Source Format configured to import this type of file for the API.

    Image Removed

Deciding to use the CAS API vs. WebAdMIT API

Identifying and Interpreting Data Fields

CAS API Data

https://help.liaisonedu.com/Integration/CAS_API/CAS_Slate_Integration/Working_with_Source_Formats_and_Mapping/08_CAS_API_Data_Dictionaries

Program Configuration Data

https://help.liaisonedu.com/WebAdMIT_Help_Center/Configuration_Portal/Previewing_and_Submitting_Your_Programs/4_Export_Program_Data

Source Format Configurations

Slate provides pre-built templates for the necessary source formats needed to configure record and application creation and updating as well as document processing.

Data Source Formats

In Progress

Info

Per the Liaison API Support team 1/12/2024: Unfortunately, applicants have the ability to decide whether or not their information gets released to schools before their submission. If an applicant selects "No" for this release, then they will not show as in progress in WebADMIT and will not trigger that application.selected.file business event.

Application

Documents

The document source format provided by Slate for the CAS API integration is “special” and doesn’t function the way other source formats do:

  • There should only be one Document source format no matter how many CAS applications are being integrated; unlike the other source formats, the documents source format should not be copied and duplicated. It can be used for all Liaision documents.

  • The source format appears to look at the filename of the PDF document that is sent from the CAS API to match with person and application records. For this reason, it is important not to change the file name as written in the endpoints provided by Liaison. (The exception is the text between the brackets to replace with the name of the CAS, e.g. PTCAS or CASPA).

...

Configurations

To set up the documents source format you only need to configure the Prompt Value Mappings (there are no field value mappings or other source format components to edit). Each prompt is the document type or subtype from Liaision and should be matched to whatever material type within Slate works for the school’s processes.

Document Subtypes

There are two kinds of documents for the CAS API; those that are organization-level (types) and those that are program-level (subtypes).

  • Organization level documents include transcripts, foreign credential evaluations, and any material required by the CAS (e.g., license or certification documents).

    • They should be considered “person-scoped” in Slate terminology, as they are part of the student’s profile in the CAS which is sent to all programs where they apply.

  • Program level documents include things required by our specific program (as configured in the configuration portal), and might include a resume, personal statment, etc.

    • Evaluations are also considered program-level, as they are specific to an application and some CASs do not require them (but allow a program to require them).

    • They should be considered application-scoped (or program-scoped) in Slate terminology, as they are specific to that application program/start-term/etc.

    • To determine what program needs to be mapped, review the configuration portal for the document types required by the program (available in the export file from the configuration portal). Then obtain the document subtype file from the API to match the document type to the document subtype “code.”

Panel
panelIconId1f517
panelIcon:link:
panelIconText🔗
bgColor#F4F5F7

Instructions for identifying program-level document subtypes and the organization-level document types are available from Liaison here: https://help.liaisonedu.com/Integration/CAS_API/CAS_Slate_Integration/Working_with_Source_Formats_and_Mapping/06_Mapping_Your_Document_Source_Format

This table is a summary of the document types that have been used at Tufts in our API integrations.

...

Document Type/SubType

...

Response Level

...

Business Event

...

Description

...

CAS

...

fullAppPDF

...

program

...

A comprehensive generated PDF including all information provided by the applicant in filling out the application. (option to remove race/ethnicity)

...

VMCAS

...

evaluation

...

program

...

file.evaluation.updated

...

A letter of recommendation.

...

PTCAS, SOPHAS, CASPA, VMCAS

...

transcriptunofficial

...

organization

...

file.transcript.updated

...

An unofficial transcript uploaded by the applicant.

...

PTCAS, SOPHAS, CASPA

...

transcriptofficial

...

organization

...

file.transcript.updated

...

An official transcript delivered directly to Liaison by the issuing institution.

...

PTCAS, SOPHAS, CASPA, VMCAS

...

vendorTranscriptEval

...

organization

...

file.vendorTranscriptEval.updated

...

An official foreign transcript evaluation delivered directly to Liaison by the evaluation agency (WES, ECE).

...

PTCAS, SOPHAS, CASPA, VMCAS

...

cv-resume

...

file.attachment.updated

...

Resume/CV

...

CASPA

...

personal-statement

...

file.attachment.updated

...

Essay/personal statement

...

statement-of-purpose-and-objectives

...

file.attachment.updated

...

Essay/personal statement

...

SOPHAS

...

other

...

file.attachment.updated

...

Other misc. documents (optional for the applicant)

...

SOPHAS

...

clinical-professional

...

program

...

file.attachment.updated

...

CASPA

...

unofficial-transcript

...

WebAdMIT

...

CAS Electronic Transcript (formatted like full app PDF but only containing the GPA Overview and sub-panels from WebAdMIT)

...

PTCAS

...

FullAppPDF

...

WebAdMIT

...

Custom PDF from WebAdMIT containing specific panels and sub-panels w/o any other documents from the application

...

SOPHAS, PTCAS

FullAppPDF

The FullAppPDF document type available from the CAS API process contains the following (confirmed 3/15/2024):

  • Biographic information (use PDFtype=reviewer to remove race/ethnicity)

  • Academic History

  • Supporting Information

  • Custom Questions (CAS)

  • Custom Questions (Program/Designation)

  • Prerequisite Courses (if available)

  • Evaluations

  • Applicant Uploaded Documents (CAS/Application Level)

  • Applicant Uploaded Documents (Program Level)

This document type is not customizable and is only available as-delivered. Because it does not break up documents into separate PDFs, it is not ideal for most school processes. If using a full application PDF exported out Liaison to review applications in the Reader, it may be preferable to obtain a more custom full application PDF from WebAdMIT.

Round Creation/Update

...

WebAdMIT_Help_Center/Configuration_Portal/Previewing_and_Submitting_Your_Programs/4_Export_Program_Data

Source Format Configurations

Slate provides pre-built templates for the necessary source formats needed to configure record and application creation and updating as well as document processing.

Data Source Formats

In Progress

Info

Per the Liaison API Support team 1/12/2024: Unfortunately, applicants have the ability to decide whether or not their information gets released to schools before their submission. If an applicant selects "No" for this release, then they will not show as in progress in WebADMIT and will not trigger that application.selected.file business event.

Application

Resources

CAS Source Format Mapping (from Liaison) is Liaison’s

...

Documents

The document source format provided by Slate for the CAS API integration is “special” and doesn’t function the way other source formats do:

  • There should only be one Document source format no matter how many CAS applications are being integrated; unlike the other source formats, the documents source format should not be copied and duplicated. It can be used for all Liaision documents.

  • The source format appears to look at the filename of the PDF document that is sent from the CAS API to match with person and application records. For this reason, it is important not to change the file name as written in the endpoints provided by Liaison. (The exception is the text between the brackets to replace with the name of the CAS, e.g. PTCAS or CASPA).

...

Configurations

To set up the documents source format you only need to configure the Prompt Value Mappings (there are no field value mappings or other source format components to edit). Each prompt is the document type or subtype from Liaision and should be matched to whatever material type within Slate works for the school’s processes.

Document Subtypes

There are two kinds of documents for the CAS API; those that are organization-level (types) and those that are program-level (subtypes).

  • Organization level documents include transcripts, foreign credential evaluations, and any material required by the CAS (e.g., license or certification documents).

    • They should be considered “person-scoped” in Slate terminology, as they are part of the student’s profile in the CAS which is sent to all programs where they apply.

  • Program level documents include things required by our specific program (as configured in the configuration portal), and might include a resume, personal statment, etc.

    • Evaluations are also considered program-level, as they are specific to an application and some CASs do not require them (but allow a program to require them).

    • They should be considered application-scoped (or program-scoped) in Slate terminology, as they are specific to that application program/start-term/etc.

    • To determine what program needs to be mapped, review the configuration portal for the document types required by the program (available in the export file from the configuration portal). Then obtain the document subtype file from the API to match the document type to the document subtype “code.”

Panel
panelIconId1f517
panelIcon:link:
panelIconText🔗
bgColor#F4F5F7

Instructions for identifying program-level document subtypes and the organization-level document types are available from Liaison here: https://help.liaisonedu.com/Integration/CAS_API/CAS_Slate_Integration/Working_with_Source_Formats_and_Mapping/06_Mapping_Your_Document_Source_Format

This table is a summary of the document types that have been used at Tufts in our API integrations.

Document Type/SubType

Response Level

Business Event

Description

CAS

fullAppPDF

program

A comprehensive generated PDF including all information provided by the applicant in filling out the application. (option to remove race/ethnicity)

VMCAS

evaluation

program

file.evaluation.updated

A letter of recommendation.

PTCAS, SOPHAS, CASPA, VMCAS

transcriptunofficial

organization

file.transcript.updated

An unofficial transcript uploaded by the applicant.

PTCAS, SOPHAS, CASPA

transcriptofficial

organization

file.transcript.updated

An official transcript delivered directly to Liaison by the issuing institution.

PTCAS, SOPHAS, CASPA, VMCAS

vendorTranscriptEval

organization

file.vendorTranscriptEval.updated

An official foreign transcript evaluation delivered directly to Liaison by the evaluation agency (WES, ECE).

PTCAS, SOPHAS, CASPA, VMCAS

cv-resume

file.attachment.updated

Resume/CV

CASPA

personal-statement

file.attachment.updated

Essay/personal statement

statement-of-purpose-and-objectives

file.attachment.updated

Essay/personal statement

SOPHAS

other

file.attachment.updated

Other misc. documents (optional for the applicant)

SOPHAS

clinical-professional

program

file.attachment.updated

CASPA

unofficial-transcript

WebAdMIT

CAS Electronic Transcript (formatted like full app PDF but only containing the GPA Overview and sub-panels from WebAdMIT)

PTCAS

FullAppPDF

WebAdMIT

Custom PDF from WebAdMIT containing specific panels and sub-panels w/o any other documents from the application

SOPHAS, PTCAS

FullAppPDF

The FullAppPDF document type available from the CAS API process contains the following (confirmed 3/15/2024):

  • Biographic information (use PDFtype=reviewer to remove race/ethnicity)

  • Academic History

  • Supporting Information

  • Custom Questions (CAS)

  • Custom Questions (Program/Designation)

  • Prerequisite Courses (if available)

  • Evaluations

  • Applicant Uploaded Documents (CAS/Application Level)

  • Applicant Uploaded Documents (Program Level)

This document type is not customizable and is only available as-delivered. Because it does not break up documents into separate PDFs, it is not ideal for most school processes. If using a full application PDF exported out Liaison to review applications in the Reader, it may be preferable to obtain a more custom full application PDF from WebAdMIT.

Round Creation/Update

Person and Application-scoped ID and Record Matching

Trevor Johnson (When he was with Technolutions) https://community.technolutions.net/archived-posts/post/app-import-overwriting-previous-app-regardless-of-settings-fBBLcwZOC8JLOdq

With all of the unique destinations eliminated as possible culprits (the two field fusions are sending unique data and the other destinations are entity scoped) the only possibility we have left is Slate does not have enough information to create a new application, and so it is updating the existing Rank 1 application for the person, if it exists:
 https://knowledge.technolutions.com/hc/en-us/articles/360032982712-Matching-Criteria-for-Application-Records
(keep in mind also, that there is no negative match based on unique ID fields, so the fact that the existing unique ID value and the incoming ID value are different will not prevent the match). 
 
If Slate matches on the person and the import contains application-scoped data but no application round has been specified, Slate will match on the rank 1 application and update that record with the application-scoped data contained in the import (as described in the documentation linked above). 

I thought it quite unlikely that the Round wasn't specified, but upon checking, it looks like the App: Round destination has been specified, but the values have not actually been mapped.

Even though 'App: Round Always Create = Yes' is correctly specified as a static value mapping, it will not have an effect unless Round is mapped, and Slate actually has enough information to create a new application (specifically, what round it should be created in). 
 
So, ensure that the desired round values are mapped, and things should be all set with this import moving forward. 
 

Accommodations for CAS vs. Slate Differences

...