How the CAS API Works

API Keys and Rate Limiting

The CAS API uses API keys as an additional security measure and enforces rate limiting. API keys are created for individual users, not CAS API accounts. For example, you can have one API key and multiple CAS API accounts, each corresponding to separate integration applications.

Rate limiting caps the number of API calls within a given period (e.g., one API request per second). This ensures that all users can access the CAS API. If the rate limit is exceeded, a special error code is sent back to you. Additionally, the rate limit restricts the number of calls per user, not by CAS API accounts. For example, if the rate limit is one API request per second and you have three CAS API accounts, and you make an API request for all three CAS API accounts at once, then only one of the API requests will process and the others will receive a special error code.

To view the current rate limit values, visit https://developer.liaisonedu.com.

Lookups and the GET Application API

When using the CAS API to call data, many of the API endpoints are associated with numeric lookup identifiers (i.e., "lookups"). In the example below, the major (i.e., "majorId") is associated with a lookup ID, "4057."

"degrees": [
    {
        "id": 2505385,
        "typeId": 5795,
        "monthId": 8,
        "month": "5",
        "yearId": 25,
        "year": "2007",
        "majorId": 4057,
        "minorId": 6135,
        "degreeStatusId": 431,
        "collegeAttendedId": 4201656,
        "createdDate": "2018-10-02 15:50:18",
        "updatedDate": "2018-10-02 15:50:18"
    },

In order to translate this lookup ID into text, you must call a one-time, separate API endpoint through the GET Application API. This API returns a response which is typically cached as to avoid extra calls and increase the API performance. Within this response, you can search for the lookup ID to learn the associated text, as in the example below:

    {
        "id": 4057,
        "code": "Anthropology",
        "value": "Anthropology"
    },

In order to translate all lookup IDs in the GET Application response, you need to call three separate APIs. Review the GET Application Response and Mapping API Response document to learn which Mapping API to use for each lookup type.

How the CAS API Scopes Data

The CAS API scopes data in two ways:

  • By CAS and institution: the CAS API can retrieve data specific to your CAS, institution, and program. For example, CASs can process different test scores (e.g., ADEA AADSAS and the DAT test, PharmCAS and the PCAT test, etc.) and programs can have different requirements in the Program Materials section (e.g., questions, documents, etc.).
  • By API endpoint: you can use endpoints to retrieve specific data and build on a JSON-hierarchy to narrow your results. For example:
    • GET /applicationForms/{applicationFormId}/applications/{applicationId}
      • This endpoint retrieves an application that was submitted to any program at any institution within a single CAS.
    • GET /applicationForms/{applicationFormId}/organizations/{organizationId}/applications/{applicationId}
      • This endpoint retrieves an application that was submitted to any program at a single institution within a single CAS.
    • GET /applicationForms/{applicationFormId}/organizations/{organizationId}/programs/{programId}/applications/{applicationId}
      • This endpoint retrieves an application that was submitted to a single program at a single institution within a single CAS.

You can adapt the URL structure to access data from different CASs and cycles. Simply change the numeric IDs in the URL HTTP request for a different CAS or cycle. In the example below, the {applicationFormId} field matches a numeric ID that represents a CAS and cycle and the {organizationId} field matches a numeric ID that represents an institution. You can use this CAS API call format to return a list of application IDs:

GET /applicationForms/{applicationFormId}/organizations/{organizationId}/applications

Supported Integration Patterns

You can schedule the CAS API in three ways:

  1. On-demand data download, available immediately: this is the most common integration pattern, also known as the "pull" pattern. When using this pattern, your API client requests data from the CAS API, which then sends data back to your API client. You can use this pattern to download an application.
  2. On-demand data download, scheduled: when using this pattern, your API client uploads data to the CAS API, which responds with a success or failure message. You can use this pattern to upload new information about a program.
  3. Event-driven data push, scheduled: also known as a "REST Hook." When using this pattern, your API client is subscribed to an event of your choosing: for example, when an applicant submits their application or selects a program. Once the event occurs, the CAS API automatically pushes data to the destination you configured in the subscription request. You can use this pattern when you want to be notified that the specified event occurred. You can also configure this pattern to trigger another process. For example, once an applicant selects your program, you can trigger a targeted marketing campaign to the applicant through your CRM system.

CAS API Technical Standards

Review the following technical standards that the CAS API adheres to:

Resources

The combination of our CAS API features gives you the power to automate the moving of data out of our systems in preparation for importing to your other on-campus systems using modern standards, modern conventions, and powerful tools that simplify the process for your team. However, we realize data integration can seem overwhelming, so we’re always happy to support you through the process. As you explore your data integration options, take note of the following resources: