diff --git a/src/app/dars/dars-view/dars-view.component.ts b/src/app/dars/dars-view/dars-view.component.ts
index 70942c93b8bd49ceeb0c407ae0b900a4d7c1bd04..4c4db3fee87f5b6be9e5ba4889825320f4f8f971 100644
--- a/src/app/dars/dars-view/dars-view.component.ts
+++ b/src/app/dars/dars-view/dars-view.component.ts
@@ -1,5 +1,6 @@
 import { Component, ViewChild, ElementRef } from '@angular/core';
 import { MatSidenav } from '@angular/material';
+import { DarsApiService } from '../services/api.service';
 
 @Component({
   selector: 'cse-dars-view',
@@ -47,4 +48,6 @@ export class DARSViewComponent {
       plan: 12345,
     },
   ];
+
+  constructor(private api: DarsApiService) {}
 }
diff --git a/src/app/dars/models/audit-metadata.ts b/src/app/dars/models/audit-metadata.ts
new file mode 100644
index 0000000000000000000000000000000000000000..319442d1b2f78f5d8ab1846bfc30b5f1c69e488d
--- /dev/null
+++ b/src/app/dars/models/audit-metadata.ts
@@ -0,0 +1,15 @@
+export interface AuditMetadata {
+  darsJobId: string;
+  darsAuditRunDate: string;
+  sisEmplId: string;
+  darsInstitutionCode: string;
+  darsInstitutionCodeDescription: string;
+  darsDegreeProgramCode: string;
+  darsStatusOfDegreeAuditRequest: string;
+  darsHonorsOptionCode: string;
+  darsHonorsOptionDescription: string;
+  darsDegreeAuditReportId: number;
+  darsCatalogYearTerm: string;
+  whichEnrolledCoursesIncluded: string;
+  degreePlannerPlanName: string;
+}
diff --git a/src/app/dars/models/degree-program.ts b/src/app/dars/models/degree-program.ts
new file mode 100644
index 0000000000000000000000000000000000000000..697bcadb13967278ffa3fb1263661a5ce8c75ab4
--- /dev/null
+++ b/src/app/dars/models/degree-program.ts
@@ -0,0 +1,6 @@
+export interface DegreeProgram {
+  darsDegreeProgramCode: string;
+  darsInstitutionCode: string;
+  darsInstitutionCodeDescription: string;
+  darsDegreeProgramDescription: string;
+}
diff --git a/src/app/dars/models/honors-option.ts b/src/app/dars/models/honors-option.ts
new file mode 100644
index 0000000000000000000000000000000000000000..0741eccb5824b4f1faa3741af7b1df185e7137d4
--- /dev/null
+++ b/src/app/dars/models/honors-option.ts
@@ -0,0 +1,5 @@
+export interface HonorsOption {
+  darsInstitutionCode: string;
+  darsHonorsOptionCode: string;
+  darsHonorsOptionDescription: string;
+}
diff --git a/src/app/dars/models/institution.ts b/src/app/dars/models/institution.ts
new file mode 100644
index 0000000000000000000000000000000000000000..e55a3c99f2fd8204f78556f42cdf2ca4dcdd72cb
--- /dev/null
+++ b/src/app/dars/models/institution.ts
@@ -0,0 +1,4 @@
+export interface Institution {
+  darsInstitutionCode: string;
+  darsInstitutionCodeDescription: string;
+}
diff --git a/src/app/dars/models/student-degree-program.ts b/src/app/dars/models/student-degree-program.ts
new file mode 100644
index 0000000000000000000000000000000000000000..2a88d0bf97767e2ec07aec0c3b57ce3def05087a
--- /dev/null
+++ b/src/app/dars/models/student-degree-program.ts
@@ -0,0 +1,14 @@
+import { AuditMetadata } from './audit-metadata';
+
+export interface StudentDegreeProgram {
+  darsDegreeProgramCode: string;
+  darsInstitutionCode: string;
+  darsCatalogYearTerm: string;
+  darsAlternateCatalogYearTerm1: string;
+  sisAcademicPlanCode: string;
+  sisAcademicPlanDescription: string;
+  sisAcademicPlanDeclareDate: string;
+  sisAcademicSubPlanCode: string;
+  sisAcademicSubPlanDescription: string;
+  auditRequestBody: AuditMetadata;
+}
diff --git a/src/app/dars/services/api.service.ts b/src/app/dars/services/api.service.ts
new file mode 100644
index 0000000000000000000000000000000000000000..2db81d6c9d44468f31d00ac3697e492395b6b8ee
--- /dev/null
+++ b/src/app/dars/services/api.service.ts
@@ -0,0 +1,61 @@
+import { Injectable } from '@angular/core';
+import { HttpClient, HttpHeaders } from '@angular/common/http';
+import { Observable } from 'rxjs';
+import { DegreeProgram } from '../models/degree-program';
+import { AuditMetadata } from '../models/audit-metadata';
+import { StudentDegreeProgram } from '../models/student-degree-program';
+import { environment } from './../../../environments/environment';
+
+const HTTP_OPTIONS = {
+  headers: new HttpHeaders({
+    'Content-Type': 'applications/json',
+  }),
+};
+
+@Injectable({ providedIn: 'root' })
+export class DarsApiService {
+  constructor(private http: HttpClient) {}
+
+  /**
+   * Get all degree programs, honors, and institution data.
+   *
+   * All the data for institutions, honors, and degree programs is static.
+   * The backend is going to cache all this data in S3 and create a single
+   * endpoint for us to hit and get all of it!
+   */
+  public getStaticData(): Observable<DegreeProgram[]> {
+    return new Observable();
+  }
+
+  /**
+   * Get a students degree programs.
+   */
+  public getStudentDegreePrograms(emplid: number) {
+    const url = `${environment.apiDarsUrl}/student-degree-programs/${emplid}`;
+    return this.http.get<StudentDegreeProgram[]>(url, HTTP_OPTIONS);
+  }
+
+  /**
+   * Get audit metadata for all audits a user has.
+   */
+  public getAudits(): Observable<AuditMetadata[]> {
+    const url = `${environment.apiDarsUrl}/audit-metadata`;
+    return this.http.get<AuditMetadata[]>(url, HTTP_OPTIONS);
+  }
+
+  /**
+   * Get a single audit.
+   */
+  public getAudit(reportId: number): Observable<any> {
+    const url = `${environment.apiDarsUrl}/reports/${reportId}`;
+    return this.http.get<any>(url, HTTP_OPTIONS);
+  }
+
+  /**
+   * Request a new audit
+   */
+  public newAudit(): Observable<AuditMetadata> {
+    const url = `${environment.apiDarsUrl}/single-audit-requests`;
+    return this.http.post<AuditMetadata>(url, HTTP_OPTIONS);
+  }
+}
diff --git a/src/environments/environment.prod.ts b/src/environments/environment.prod.ts
index 3d43d853c0196d77f3c8b682ce4cfad403600390..188b244d78642afd984c3a1bea9049644736a178 100644
--- a/src/environments/environment.prod.ts
+++ b/src/environments/environment.prod.ts
@@ -4,5 +4,6 @@ export const environment = {
   apiPlannerUrl: '/api/planner/v1',
   apiSearchUrl: '/api/search/v1',
   apiEnrollUrl: '/api/enroll/v1',
+  apiDarsUrl: '',
   snackbarDuration: 4000,
 };
diff --git a/src/environments/environment.ts b/src/environments/environment.ts
index 1c8984d83a18b6090acebd0e2110e0236398aa20..e1812ea97e287f039b77766cdedfda218cdc149e 100644
--- a/src/environments/environment.ts
+++ b/src/environments/environment.ts
@@ -9,6 +9,7 @@ export const environment = {
   apiPlannerUrl: '/api/planner/v1',
   apiSearchUrl: '/api/search/v1',
   apiEnrollUrl: '/api/enroll/v1',
+  apiDarsUrl: 'https://gateway.test.api.wisc.edu/v1/dars',
   snackbarDuration: 4000,
   useNewDARSView: true,
 };