Get Published Articulations by Course

Gets published articulations for a course, grouped by the agreements they were published on, for a given sending institution, receiving institution, and academic year.

Api

Route
/articulation/api/Agreements/Articulations/institution/{courseInstitutionParentId}/course/{courseIdentifierParentId}/for/{academicYearId}
Method
POST
Key Required
Yes
Common Response
Yes
Response Type
Validated Response of Get Published Articulations Response

Route Parameters

courseInstitutionParentId (int)
The institution that owns the requested course (from: Get Institutions)
courseIdentifierParentId (int)
The course identifier parent id to retrieve articulations for (this can be found in the model returned from Get Agreement)
academicYearId (int)
The academic year id (from: Get Academic Years)

Request Body

agreementInstitutionParentIds (array of int, required)
The institution ids on the opposite side of courseInstitutionParentId to search for published agreements against. A maximum of 5 IDs may be submitted per request.
asCourseType (enum, optional)
The course type from [Sending,Receiving] indicating whether courseInstitutionParentId/courseIdentifierParentId represent the sending or receiving side of the requested agreements. When omitted, articulations are matched against the course as both a sending and a receiving course.

Curl Example

curl -X 'POST' \
  'https://prod.assistng.org/articulation/api/Agreements/Articulations/institution/7/course/289392/for/74' \
  -H 'accept: application/json' \
  -H 'API-Key':'<redacted>' \
  -H 'Content-Type: application/json' \
  -d '{
  "agreementInstitutionParentIds": [110],
  "asCourseType": "Receiving"
}'
  • courseInstitutionParentId = 7 (University of California, San Diego)
  • courseIdentifierParentId = 289392 (ANTH 1 from UCSD)
  • academicYearId = 74 (2023-2024)
  • agreementInstitutionParentIds = [110] (Allan Hancock College)
  • asCourseType = Receiving (meaning the course belongs to the receiving institution, UCSD)
  • API-Key = <redacted> (You’ll need to provide your own key.)

Sample Response

{
    "result": {
        "course": {
            "courseIdentifierParentId": 289392,
            "courseParentId": 289300,
            "courseTitle": "Introduction to Culture",
            "courseNumber": "1",
            "prefix": "ANTH",
            "prefixParentId": 10683,
            "prefixDescription": "Anthropology",
            "departmentParentId": 681,
            "department": "Anthropology",
            "begin": "F2023",
            "beginDate": "2023-08-01T00:00:00",
            "beginTermId": 241,
            "end": "",
            "endDate": null,
            "endTermId": null,
            "minUnits": 4.0,
            "maxUnits": 4.0,
            "isTerminated": false,
            "hasOutline": false,
            "isCsuTransferable": true,
            "isUcTransferable": true,
            "crosslistedCourses": [],
            "pathways": []
        },
        "articulationsByAgreements": [
            {
                "articulation": {
                    "type": "Course",
                    "course": {
                        "courseIdentifierParentId": 289392,
                        "courseTitle": "Introduction to Culture",
                        "courseNumber": "1",
                        "prefix": "ANTH",
                        "prefixParentId": 10683,
                        "prefixDescription": "Anthropology",
                        "departmentParentId": 681,
                        "department": "Anthropology",
                        "begin": "F2023",
                        "end": "",
                        "beginDate": null,
                        "beginTermId": null,
                        "endDate": null,
                        "endTermId": null,
                        "minUnits": 4.0,
                        "maxUnits": 4.0,
                        "isTerminated": false,
                        "hasOutline": false,
                        "crossListedCourses": null,
                        "pathways": null
                    },
                    "visibleCrossListedCourses": [],
                    "courseAttributes": [],
                    "sharedArticulations": null,
                    "id": null,
                    "lastSignOff": null,
                    "receivingInstitutionParentId": 7,
                    "sendingInstitutionParentId": 110,
                    "academicYearId": 74,
                    "notes": [],
                    "isDraft": false,
                    "isHiddenFromPrefixAndDepartment": false,
                    "isHiddenFromMajor": false,
                    "sendingArticulation": {
                        "id": "00000000-0000-0000-0000-000000000000",
                        "noArticulationReasonId": null,
                        "noArticulationReason": null,
                        "deniedCourses": [],
                        "items": [
                            {
                                "courseConjunction": "And",
                                "items": [
                                    {
                                        "lastApproval": null,
                                        "visibleCrossListedCourses": [],
                                        "requisites": [],
                                        "attributes": [],
                                        "courseIdentifierParentId": 372962,
                                        "courseTitle": "Introduction to Accounting",
                                        "courseNumber": "105x",
                                        "prefix": "ACCT",
                                        "prefixParentId": 5762,
                                        "prefixDescription": "Accounting",
                                        "departmentParentId": 51,
                                        "department": "Accounting",
                                        "begin": "W2024",
                                        "end": "",
                                        "beginDate": null,
                                        "beginTermId": null,
                                        "endDate": null,
                                        "endTermId": null,
                                        "minUnits": 3.0,
                                        "maxUnits": 3.0,
                                        "isTerminated": false,
                                        "hasOutline": false,
                                        "crossListedCourses": null,
                                        "pathways": null,
                                        "publishedCourseIdentifierYearTermId": 292,
                                        "id": "00000000-0000-0000-0000-000000000000",
                                        "position": 0,
                                        "type": "Course"
                                    }
                                ],
                                "attributes": [],
                                "id": "00000000-0000-0000-0000-000000000000",
                                "sendingArticulationId": "00000000-0000-0000-0000-000000000000",
                                "position": 0,
                                "type": "CourseGroup"
                            }
                        ],
                        "courseGroupConjunctions": [],
                        "type": "SendingArticulation",
                        "attributes": []
                    },
                    "templateOverrides": [],
                    "attributes": [],
                    "receivingAttributes": []
                },
                "agreements": [
                    {
                        "key": "74/110/to/7/Department/13221",
                        "name": "Anthropology",
                        "type": "Department",
                        "academicYearId": 74,
                        "receivingInstitutionId": 7,
                        "sendingInstitutionId": 110
                    }
                ]
            }
        ]
    },
    "validationFailure": null,
    "isSuccessful": true
}

Get Published Articulations Response Model

course (Course)
The requested course, populated with its metadata as of the requested academic year. null if no articulations matched the requested filters.
articulationsByAgreements (array of Articulations By Agreements Group)
One entry per distinct articulation found on the course, grouped across all the published agreements it appears on

Articulations By Agreements Group Model

articulation (Base Articulation Model)
The distinct articulation instance shared by the agreements below
agreements (array of Published Agreement)
The published agreements on which this articulation appears

Published Agreement Model

key (string)
The agreement key that can be sent back to Get Agreement to get the full agreement
name (string)
The name of the agreement, which could be the major name, prefix code, department name, or general education area, depending on the type of agreement
type (enum)
The type of agreement from [Prefix, Department, Major, GeneralEducation, AllDepartments, AllPrefixes, AllMajors, AllGeneralEducation, SendingDepartment, SendingPrefix, AllSendingDepartments, AllSendingPrefixes]
academicYearId (int)
The academic year id of the agreement
receivingInstitutionId (int)
The receiving institution id of the agreement
sendingInstitutionId (int)
The sending institution id of the agreement