# The Learning Mate — Public API > Programmatic access to your courses, exams, students, and grades on The Learning Mate. REST/JSON over HTTPS, authenticated with a bearer API key. - Base URL: `https://thelearningmate.com/api/public/v1` - Authentication: `Authorization: Bearer pk_your_api_key_here` (API keys are issued by our team — contact us to request one) - Response envelope: `{ "success": true, "data": ... }`; errors: `{ "success": false, "error": { "code", "message" } }` ## Endpoints - [GET /api/public/v1/courses](https://thelearningmate.com/api-docs#operation/listCourses): List your courses. - [GET /api/public/v1/courses/{courseId}/exams](https://thelearningmate.com/api-docs#operation/listCourseExams): List exams in a course. - [POST /api/public/v1/courses/{courseId}/exams](https://thelearningmate.com/api-docs#operation/createExam): Create an exam. - [POST /api/public/v1/courses/{courseId}/students](https://thelearningmate.com/api-docs#operation/createStudents): Create & enroll students. - [GET /api/public/v1/exams/{examId}](https://thelearningmate.com/api-docs#operation/getExam): Get an exam. - [POST /api/public/v1/exams/{examId}/grades/query](https://thelearningmate.com/api-docs#operation/queryGrades): Query grades by email. - [PATCH /api/public/v1/exams/{examId}/students/visibility](https://thelearningmate.com/api-docs#operation/updateStudentVisibility): Update exam visibility per student. ## Machine-readable - [OpenAPI 3.0 specification](https://thelearningmate.com/api/public/v1/openapi.json): Complete, machine-readable API definition. - [Full text reference](https://thelearningmate.com/llms-full.txt): Every endpoint with request/response examples in one file. ## Documentation - [API reference](https://thelearningmate.com/api-docs): Human-friendly interactive documentation.