This article details the subscription configuration that works with the standard Slate Source Formats.
Before you can begin working with the CAS API, your CAS API account needs to be created at least one program must be active.
You may use any tool for interacting with HTTPS endpoints to create your subscription. Popular options include:
Review the API Reference Guide for a list of available endpoints and full API documentation.
If you're using Postman, review the Using Postman to Setup the CAS API Slate Integration information. To create a CAS API Subscription:
Once you generate the Authorization Token, it remains valid for an hour. After an hour, you will receive an error message indicating that you need to re-run the POST /v1/auth/token endpoint to generate a new token.
This subscription delivers application data at the point of program selection. This is when the applicant first selects one of your institution's programs on the Program Selection page in the CAS Applicant Portal.
Note that a CAS can allow full, partial, or no view of In Progress applications. The CAS to Slate integration only works if the CAS you're interested in allows you to view In Progress applications. Consult the documentation for your CAS to determine if there are any visibility restrictions on In Progress applications.
The Slate standard In Progress Applications Source Format will create person records for each In Progress application delivered. If you want unsubmitted applications to be created, you may want to use the standard Applications Source Format.
Your request should be as follows. Remember to replace our [SAMPLE TEXT APPEARING IN BRACKETS] with the appropriate values.
POST
/v1/applicationForms/[APPLICATIONFORMID]/organizations/[ORGANIZATIONID]/subscriptions
Authorization: [A VALID AUTHORIZATION TOKEN RETRIEVED FROM POST /v1/auth/token]
Content-Type: application/json
x-api-key: [YOUR CAS API KEY]
Host: [THE APPROPRIATE CAS API ROOT URL: PRODUCTION – api.liaisonedu.com, PRELAUNCH – api.prelaunch.liaisonedu.com]
{
"notificationEmailAddress": "[ENTER A MONITORED EMAIL ADDRESS TO RECEIVE NOTIFICATIONS ABOUT YOUR SUBSCRIPTIONS]",
"subscriptionDetails": [
{
"destinationType": "SFTP",
"event": "application.program.selected",
"responseLevel": "program",
"responseType": "fullResponse",
"responseOptions": "expand=all,includeNulls=true,contentType=text/csv,columnSeparator=COMMA,csvHeaderTruncationSize=4,csvShortName=question",
"apiVersion": "v2",
"sftpDestination": {
"sftpHost": "ft.technolutions.net",
"sftpPort": 22,
"sftpUser": "[ENTER SFTP USERNAME HERE]",
"sftpPassword": "[ENTER SFTP PASSWORD HERE]",
"sftpBaseDirectory": "/incoming/liaison/",
"sftpPathTemplate": "[ENTER CAS NAME HERE]_<instanceId>_<organizationId>_<programId>_<applicationId>_<casApplicantId>.csv"
}
}
]
}
This subscription delivers application data at the point of submission. This is when the applicant clicks the Submit button, pays the application fee, and all submission requirements (e.g., questions, document uploads, etc.) are complete.
Review the Common Business Events for additional business events you can subscribe to.
Your request should be as follows. Remember to replace our [SAMPLE TEXT APPEARING IN BRACKETS] with the appropriate values.
POST
/v1/applicationForms/[APPLICATIONFORMID]/organizations/[ORGANIZATIONID]/subscriptions
Authorization: [A VALID AUTHORIZATION TOKEN RETRIEVED FROM POST /v1/auth/token]
Content-Type: application/json
x-api-key: [YOUR CAS API KEY]
Host: [THE APPROPRIATE CAS API ROOT URL: PRODUCTION – api.liaisonedu.com, PRELAUNCH – api.prelaunch.liaisonedu.com]
{
"notificationEmailAddress": "[ENTER A MONITORED EMAIL ADDRESS TO RECEIVE NOTIFICATIONS ABOUT YOUR SUBSCRIPTIONS]",
"subscriptionDetails": [
{
"destinationType": "SFTP",
"event": "application.program.received",
"responseLevel": "program",
"responseType": "fullResponse",
"responseOptions": "expand=all,includeNulls=true,contentType=text/csv,columnSeparator=COMMA,csvHeaderTruncationSize=4,csvShortName=question",
"apiVersion": "v2",
"sftpDestination": {
"sftpHost": "ft.technolutions.net",
"sftpPort": 22,
"sftpUser": "[ENTER SFTP USERNAME HERE]",
"sftpPassword": "[ENTER SFTP PASSWORD HERE]",
"sftpBaseDirectory": "/incoming/liaison/",
"sftpPathTemplate": "[ENTER CAS NAME HERE]_<instanceId>_<organizationId>_<programId>_<applicationId>_<casApplicantId>.csv"
}
}
]
}
This subscription delivers application data in response to updates made by applicants. Specifying a DataHold setting allows you to control when update events will trigger delivery of application data. The most common application update use cases are listed on the Data Hold page.
Almost every action an applicant takes on the application is considered an update. Each CAS has its own configuration for which update events will trigger delivery by the CAS API, so you may observe differences in behaviors across different CASs. Additionally, update files are held for approximately 10 minutes before being delivered. Here are examples of actions that trigger the application.update event:
The CAS API's DataHold feature makes it possible to set up your CAS API subscription to only deliver files for applications in certain statuses. The application statuses specified in a CAS API subscription will be excluded from delivery. For example, a CAS API subscription with "dataHold":"InProgress" will not deliver files for applications in the In Progress application status.
It is a best practice to only deliver data that you intend to use in some concrete business process. To properly configure your CAS API subscription for updates, it is important to start by thinking through the business process you intend to support. Ask yourself:
For example, if you want applicants to maintain their contact information in the CAS instead of in your system, you might want to receive all updates from CAS after application submission so you always have the latest contact information. Our Application Locking Behavior guide provides more information on what an applicant may change after submitting their application.
Once you've identified what you intend to do with application update data, you'll need to determine which Source Format to use to load that data to Slate.
Your request should be as follows. Remember to replace our [SAMPLE TEXT APPEARING IN BRACKETS] with the appropriate values.
POST
/v1/applicationForms/[APPLICATIONFORMID]/organizations/[ORGANIZATIONID]/subscriptions
Authorization: [A VALID AUTHORIZATION TOKEN RETRIEVED FROM POST /v1/auth/token]
Content-Type: application/json
x-api-key: [YOUR CAS API KEY]
Host: [THE APPROPRIATE CAS API ROOT URL: PRODUCTION – api.liaisonedu.com, PRELAUNCH – api.prelaunch.liaisonedu.com]
{
"notificationEmailAddress": "[ENTER A MONITORED EMAIL ADDRESS TO RECEIVE NOTIFICATIONS ABOUT YOUR SUBSCRIPTIONS]",
"subscriptionDetails": [
{
"destinationType": "SFTP",
"event": "application.updated",
"dataHold": "[ENTER APPLICATION STATUSES TO EXCLUDE FROM DELIVERY - SEE DATA HOLD PAGE]",
"responseLevel": "program",
"responseType": "fullResponse",
"responseOptions": "expand=all,includeNulls=true,contentType=text/csv,columnSeparator=COMMA,csvHeaderTruncationSize=4,csvShortName=question",
"apiVersion": "v2",
"sftpDestination": {
"sftpHost": "ft.technolutions.net",
"sftpPort": 22,
"sftpUser": "[ENTER SFTP USERNAME HERE]",
"sftpPassword": "[ENTER SFTP PASSWORD HERE]",
"sftpBaseDirectory": "/incoming/liaison/",
"sftpPathTemplate": "[ENTER CAS NAME HERE]_<instanceId>_<organizationId>_<programId>_<applicationId>_<casApplicantId>.csv"
}
}
]
}
This subscription delivers all application documents present at the time of submission and any documents received after submission as they arrive in the CAS. For a description of the documents delivered with each document business event, review the Common Business Events.
By default, the code below will return the standard Full Application PDF along with the other applicable documents. An alternate version of this PDF that removes race and ethnicity information is also available. To have this version delivered instead, add "pdfType=reviewer" to the reponseOptions for the appropriate business event: "responseOptions": "contentType=application/pdf,pdfType=reviewer". Note that this alternative is available only for the Full Application PDF.
Specifying a DataHold setting will allow you to control when events will trigger the delivery of data. The most common DataHold for documents is "dataHold":"InProgress", which prevents documents from being delivered for applications in the In Progress application status. Review the Common Data Holds for additional options.
Your request should be as follows. Remember to replace our [SAMPLE TEXT APPEARING IN BRACKETS] with the appropriate values.
POST
/v1/applicationForms/[APPLICATIONFORMID]/organizations/[ORGANIZATIONID]/subscriptions
Authorization: [A VALID AUTHORIZATION TOKEN RETRIEVED FROM POST /v1/auth/token]
Content-Type: application/json
x-api-key: [YOUR CAS API KEY]
Host: [THE APPROPRIATE CAS API ROOT URL: PRODUCTION – api.liaisonedu.com, PRELAUNCH – api.prelaunch.liaisonedu.com]
{
"notificationEmailAddress": "[ENTER A MONITORED EMAIL ADDRESS TO RECEIVE NOTIFICATIONS ABOUT YOUR SUBSCRIPTIONS]",
"subscriptionDetails": [
{
"destinationType": "SFTP",
"event": "application.program.received",
"responseLevel": "program",
"responseType": "fullResponse",
"responseOptions": "contentType=application/pdf",
"apiVersion": "v1",
"sftpDestination": {
"sftpHost": "ft.technolutions.net",
"sftpPort": 22,
"sftpUser": "[ENTER SFTP USERNAME HERE]",
"sftpPassword": "[ENTER SFTP PASSWORD HERE]",
"sftpBaseDirectory": "/incoming/liaison/",
"sftpPathTemplate": "[ENTER CAS NAME HERE]_app_<casApplicantId>_<programId>_fullAppPDF__<applicationId>!<deliveredDate>.pdf"
}
},
{
"destinationType": "SFTP",
"event": "file.attachment.updated",
"responseLevel": "organization",
"responseType": "fullResponse",
"dataHold": "InProgress",
"sftpDestination": {
"sftpHost": "ft.technolutions.net",
"sftpPort": 22,
"sftpUser": "[ENTER SFTP USERNAME HERE]",
"sftpPassword": "[ENTER SFTP PASSWORD HERE]",
"sftpBaseDirectory": "/incoming/liaison/",
"sftpPathTemplate": "[ENTER CAS NAME HERE]_pers_<casApplicantId>__<documentSubType>__<fileId>!<deliveredDate>.pdf"
}
},
{
"destinationType": "SFTP",
"event": "file.supplementalAttachment.updated",
"responseLevel": "program",
"responseType": "fullResponse",
"dataHold": "InProgress",
"sftpDestination": {
"sftpHost": "ft.technolutions.net",
"sftpPort": 22,
"sftpUser": "[ENTER SFTP USERNAME HERE]",
"sftpPassword": "[ENTER SFTP PASSWORD HERE]",
"sftpBaseDirectory": "/incoming/liaison/",
"sftpPathTemplate": "[ENTER CAS NAME HERE]_app_<casApplicantId>_<programId>_<documentSubType>__<fileId>!<deliveredDate>.pdf"
}
},
{
"destinationType": "SFTP",
"event": "file.evaluation.updated",
"responseLevel": "program",
"responseType": "fullResponse",
"dataHold": "InProgress",
"sftpDestination": {
"sftpHost": "ft.technolutions.net",
"sftpPort": 22,
"sftpUser": "[ENTER SFTP USERNAME HERE]",
"sftpPassword": "[ENTER SFTP PASSWORD HERE]",
"sftpBaseDirectory": "/incoming/liaison/",
"sftpPathTemplate": "[ENTER CAS NAME HERE]_app_<casApplicantId>_<programId>_<docType>__<fileId>!<deliveredDate>.pdf"
}
},
{
"destinationType": "SFTP",
"event": "file.transcript.updated",
"responseLevel": "organization",
"responseType": "fullResponse",
"dataHold": "InProgress",
"sftpDestination": {
"sftpHost": "ft.technolutions.net",
"sftpPort": 22,
"sftpUser": "[ENTER SFTP USERNAME HERE]",
"sftpPassword": "[ENTER SFTP PASSWORD HERE]",
"sftpBaseDirectory": "/incoming/liaison/",
"sftpPathTemplate": "[ENTER CAS NAME HERE]_pers_<casApplicantId>__<docType><transcriptType>_<collegeAttendedId>_<fileId>!<deliveredDate>.pdf"
}
},
{
"destinationType": "SFTP",
"event": "file.vendorTranscriptEval.updated",
"responseLevel": "organization",
"responseType": "fullResponse",
"dataHold": "InProgress",
"sftpDestination": {
"sftpHost": "ft.technolutions.net",
"sftpPort": 22,
"sftpUser": "[ENTER SFTP USERNAME HERE]",
"sftpPassword": "[ENTER SFTP PASSWORD HERE]",
"sftpBaseDirectory": "/incoming/liaison/",
"sftpPathTemplate": "[ENTER CAS NAME HERE]_pers_<casApplicantId>__<docType>_<collegeAttendedId>_<fileId>!<deliveredDate>.pdf"
}
}
]
}
This subscription delivers application coursework data at the point of verification.
The All CAS by Liaison - Coursework standard Source Format will create course records for each course entered by the applicant in the CAS application.
Your request should be as follows. Remember to replace our [SAMPLE TEXT APPEARING IN BRACKETS] with the appropriate values.
POST /v1/applicationForms/[APPLICATIONFORMID]/organizations/[ORGANIZATIONID]/subscriptions
Authorization: [A VALID AUTHORIZATION TOKEN RETRIEVED FROM POST /v1/auth/token]
Content-Type: application/json
x-api-key: [YOUR CAS API KEY]
Host: [THE APPROPRIATE CAS API ROOT URL: PRODUCTION – api.liaisonedu.com, PRELAUNCH – api.prelaunch.liaisonedu.com]
{
"notificationEmailAddress": "[ENTER A MONITORED EMAIL ADDRESS TO RECEIVE NOTIFICATIONS ABOUT YOUR SUBSCRIPTIONS]",
"subscriptionDetails": [
{
"destinationType": "SFTP",
"event": "application.program.verified",
"responseLevel": "program",
"responseType": "fullResponse",
"responseOptions": "expand=all",
"apiVersion": "v2",
"sftpDestination": {
"sftpHost": "ft.technolutions.net",
"sftpPort": 22,
"sftpUser": "[ENTER SFTP USERNAME HERE]",
"sftpPassword": "[ENTER SFTP PASSWORD HERE]",
"sftpBaseDirectory": "/incoming/liaison/",
"sftpPathTemplate": "[ENTER CAS NAME HERE]_casapi-coursework_<instanceId>_<organizationId>_<programId>_<applicationId>_<casApplicantId>!<deliveredDate>.json"
}
}
]
}