{ "info": { "name": "Teachworks API", "description": "REST API for building custom integrations against a Teachworks account - customers (families and independent students), students, employees, lessons and events, services, invoices, payments, and wages. Base URL: https://api.teachworks.com/v1. Authenticate with an account API token using the Authorization header scheme 'Authorization: Token token=API_TOKEN' over HTTPS. Responses are JSON; list endpoints paginate 20 per page (per_page up to 80). Rate limited to 4 requests/second per token. Endpoints confirmed against the official Teachworks Postman API reference.", "schema": "https://schema.getpostman.com/json/collection/v2.1.0/collection.json" }, "auth": { "type": "apikey", "apikey": [ { "key": "key", "value": "Authorization", "type": "string" }, { "key": "value", "value": "Token token={{apiToken}}", "type": "string" }, { "key": "in", "value": "header", "type": "string" } ] }, "variable": [ { "key": "baseUrl", "value": "https://api.teachworks.com/v1", "type": "string" }, { "key": "apiToken", "value": "", "type": "string" } ], "item": [ { "name": "Locations", "item": [ { "name": "List all Locations", "request": { "method": "GET", "header": [], "url": { "raw": "{{baseUrl}}/locations", "host": [ "{{baseUrl}}" ], "path": [ "locations" ] } } }, { "name": "Create a Location", "request": { "method": "POST", "header": [ { "key": "Content-Type", "value": "application/json" } ], "url": { "raw": "{{baseUrl}}/locations", "host": [ "{{baseUrl}}" ], "path": [ "locations" ] }, "body": { "mode": "raw", "raw": "{}" } } }, { "name": "Retrieve a Location", "request": { "method": "GET", "header": [], "url": { "raw": "{{baseUrl}}/locations/:id", "host": [ "{{baseUrl}}" ], "path": [ "locations", ":id" ], "variable": [ { "key": "id", "value": "" } ] } } }, { "name": "Update a Location", "request": { "method": "PUT", "header": [ { "key": "Content-Type", "value": "application/json" } ], "url": { "raw": "{{baseUrl}}/locations/:id", "host": [ "{{baseUrl}}" ], "path": [ "locations", ":id" ], "variable": [ { "key": "id", "value": "" } ] }, "body": { "mode": "raw", "raw": "{}" } } } ] }, { "name": "Services", "item": [ { "name": "List all Services", "request": { "method": "GET", "header": [], "url": { "raw": "{{baseUrl}}/services", "host": [ "{{baseUrl}}" ], "path": [ "services" ] } } }, { "name": "Retrieve a Service", "request": { "method": "GET", "header": [], "url": { "raw": "{{baseUrl}}/services/:id", "host": [ "{{baseUrl}}" ], "path": [ "services", ":id" ], "variable": [ { "key": "id", "value": "" } ] } } } ] }, { "name": "Wage Tiers", "item": [ { "name": "List all Wage Tiers", "request": { "method": "GET", "header": [], "url": { "raw": "{{baseUrl}}/wage_tiers", "host": [ "{{baseUrl}}" ], "path": [ "wage_tiers" ] } } }, { "name": "Retrieve a Wage Tier", "request": { "method": "GET", "header": [], "url": { "raw": "{{baseUrl}}/wage_tiers/:id", "host": [ "{{baseUrl}}" ], "path": [ "wage_tiers", ":id" ], "variable": [ { "key": "id", "value": "" } ] } } } ] }, { "name": "Cost Premiums", "item": [ { "name": "List all Cost Premiums", "request": { "method": "GET", "header": [], "url": { "raw": "{{baseUrl}}/cost_premiums", "host": [ "{{baseUrl}}" ], "path": [ "cost_premiums" ] } } }, { "name": "Retrieve a Cost Premium", "request": { "method": "GET", "header": [], "url": { "raw": "{{baseUrl}}/cost_premiums/:id", "host": [ "{{baseUrl}}" ], "path": [ "cost_premiums", ":id" ], "variable": [ { "key": "id", "value": "" } ] } } } ] }, { "name": "Employees", "item": [ { "name": "List all Employees", "request": { "method": "GET", "header": [], "url": { "raw": "{{baseUrl}}/employees", "host": [ "{{baseUrl}}" ], "path": [ "employees" ] } } }, { "name": "Create an Employee", "request": { "method": "POST", "header": [ { "key": "Content-Type", "value": "application/json" } ], "url": { "raw": "{{baseUrl}}/employees", "host": [ "{{baseUrl}}" ], "path": [ "employees" ] }, "body": { "mode": "raw", "raw": "{}" } } }, { "name": "Retrieve an Employee", "request": { "method": "GET", "header": [], "url": { "raw": "{{baseUrl}}/employees/:id", "host": [ "{{baseUrl}}" ], "path": [ "employees", ":id" ], "variable": [ { "key": "id", "value": "" } ] } } }, { "name": "Update an Employee", "request": { "method": "PUT", "header": [ { "key": "Content-Type", "value": "application/json" } ], "url": { "raw": "{{baseUrl}}/employees/:id", "host": [ "{{baseUrl}}" ], "path": [ "employees", ":id" ], "variable": [ { "key": "id", "value": "" } ] }, "body": { "mode": "raw", "raw": "{}" } } }, { "name": "Retrieve Employee Earnings", "request": { "method": "GET", "header": [], "url": { "raw": "{{baseUrl}}/employees/:id/earnings", "host": [ "{{baseUrl}}" ], "path": [ "employees", ":id", "earnings" ], "variable": [ { "key": "id", "value": "" } ] } } }, { "name": "Retrieve Employee Lesson Totals", "request": { "method": "GET", "header": [], "url": { "raw": "{{baseUrl}}/employees/:id/lesson_totals", "host": [ "{{baseUrl}}" ], "path": [ "employees", ":id", "lesson_totals" ], "variable": [ { "key": "id", "value": "" } ] } } }, { "name": "Set Employee Status", "request": { "method": "PUT", "header": [ { "key": "Content-Type", "value": "application/json" } ], "url": { "raw": "{{baseUrl}}/employees/:id/set_status", "host": [ "{{baseUrl}}" ], "path": [ "employees", ":id", "set_status" ], "variable": [ { "key": "id", "value": "" } ] }, "body": { "mode": "raw", "raw": "{}" } } }, { "name": "Set Custom Field Values", "request": { "method": "PUT", "header": [ { "key": "Content-Type", "value": "application/json" } ], "url": { "raw": "{{baseUrl}}/employees/:id/custom_fields", "host": [ "{{baseUrl}}" ], "path": [ "employees", ":id", "custom_fields" ], "variable": [ { "key": "id", "value": "" } ] }, "body": { "mode": "raw", "raw": "{}" } } } ] }, { "name": "Customers", "item": [ { "name": "List all Customers", "request": { "method": "GET", "header": [], "url": { "raw": "{{baseUrl}}/customers", "host": [ "{{baseUrl}}" ], "path": [ "customers" ] } } }, { "name": "Retrieve a Customer", "request": { "method": "GET", "header": [], "url": { "raw": "{{baseUrl}}/customers/:id", "host": [ "{{baseUrl}}" ], "path": [ "customers", ":id" ], "variable": [ { "key": "id", "value": "" } ] } } }, { "name": "Retrieve Customer Lesson Totals", "request": { "method": "GET", "header": [], "url": { "raw": "{{baseUrl}}/customers/:id/lesson_totals", "host": [ "{{baseUrl}}" ], "path": [ "customers", ":id", "lesson_totals" ], "variable": [ { "key": "id", "value": "" } ] } } }, { "name": "Create a Family", "request": { "method": "POST", "header": [ { "key": "Content-Type", "value": "application/json" } ], "url": { "raw": "{{baseUrl}}/customers/family", "host": [ "{{baseUrl}}" ], "path": [ "customers", "family" ] }, "body": { "mode": "raw", "raw": "{}" } } }, { "name": "Create an Independent Student", "request": { "method": "POST", "header": [ { "key": "Content-Type", "value": "application/json" } ], "url": { "raw": "{{baseUrl}}/customers/independent_student", "host": [ "{{baseUrl}}" ], "path": [ "customers", "independent_student" ] }, "body": { "mode": "raw", "raw": "{}" } } }, { "name": "Update a Customer", "request": { "method": "PUT", "header": [ { "key": "Content-Type", "value": "application/json" } ], "url": { "raw": "{{baseUrl}}/customers/:id", "host": [ "{{baseUrl}}" ], "path": [ "customers", ":id" ], "variable": [ { "key": "id", "value": "" } ] }, "body": { "mode": "raw", "raw": "{}" } } }, { "name": "Set Custom Field Values", "request": { "method": "PUT", "header": [ { "key": "Content-Type", "value": "application/json" } ], "url": { "raw": "{{baseUrl}}/customers/:id/custom_fields", "host": [ "{{baseUrl}}" ], "path": [ "customers", ":id", "custom_fields" ], "variable": [ { "key": "id", "value": "" } ] }, "body": { "mode": "raw", "raw": "{}" } } } ] }, { "name": "Students", "item": [ { "name": "List all Students", "request": { "method": "GET", "header": [], "url": { "raw": "{{baseUrl}}/students", "host": [ "{{baseUrl}}" ], "path": [ "students" ] } } }, { "name": "Create a Child Student", "request": { "method": "POST", "header": [ { "key": "Content-Type", "value": "application/json" } ], "url": { "raw": "{{baseUrl}}/students", "host": [ "{{baseUrl}}" ], "path": [ "students" ] }, "body": { "mode": "raw", "raw": "{}" } } }, { "name": "Retrieve a Student", "request": { "method": "GET", "header": [], "url": { "raw": "{{baseUrl}}/students/:id", "host": [ "{{baseUrl}}" ], "path": [ "students", ":id" ], "variable": [ { "key": "id", "value": "" } ] } } }, { "name": "Update a Child Student", "request": { "method": "PUT", "header": [ { "key": "Content-Type", "value": "application/json" } ], "url": { "raw": "{{baseUrl}}/students/:id", "host": [ "{{baseUrl}}" ], "path": [ "students", ":id" ], "variable": [ { "key": "id", "value": "" } ] }, "body": { "mode": "raw", "raw": "{}" } } }, { "name": "Retrieve Student Lesson Totals", "request": { "method": "GET", "header": [], "url": { "raw": "{{baseUrl}}/students/:id/lesson_totals", "host": [ "{{baseUrl}}" ], "path": [ "students", ":id", "lesson_totals" ], "variable": [ { "key": "id", "value": "" } ] } } }, { "name": "Set Custom Field Values", "request": { "method": "PUT", "header": [ { "key": "Content-Type", "value": "application/json" } ], "url": { "raw": "{{baseUrl}}/students/:id/custom_fields", "host": [ "{{baseUrl}}" ], "path": [ "students", ":id", "custom_fields" ], "variable": [ { "key": "id", "value": "" } ] }, "body": { "mode": "raw", "raw": "{}" } } } ] }, { "name": "Subjects", "item": [ { "name": "List all Subjects", "request": { "method": "GET", "header": [], "url": { "raw": "{{baseUrl}}/subjects", "host": [ "{{baseUrl}}" ], "path": [ "subjects" ] } } }, { "name": "Retrieve a Subject", "request": { "method": "GET", "header": [], "url": { "raw": "{{baseUrl}}/subjects/:id", "host": [ "{{baseUrl}}" ], "path": [ "subjects", ":id" ], "variable": [ { "key": "id", "value": "" } ] } } } ] }, { "name": "Student Groups", "item": [ { "name": "List all Student Groups", "request": { "method": "GET", "header": [], "url": { "raw": "{{baseUrl}}/student_groups", "host": [ "{{baseUrl}}" ], "path": [ "student_groups" ] } } }, { "name": "Retrieve a Student Group", "request": { "method": "GET", "header": [], "url": { "raw": "{{baseUrl}}/student_groups/:id", "host": [ "{{baseUrl}}" ], "path": [ "student_groups", ":id" ], "variable": [ { "key": "id", "value": "" } ] } } } ] }, { "name": "Lessons", "item": [ { "name": "List all Lessons", "request": { "method": "GET", "header": [], "url": { "raw": "{{baseUrl}}/lessons", "host": [ "{{baseUrl}}" ], "path": [ "lessons" ] } } }, { "name": "Create a Lesson", "request": { "method": "POST", "header": [ { "key": "Content-Type", "value": "application/json" } ], "url": { "raw": "{{baseUrl}}/lessons", "host": [ "{{baseUrl}}" ], "path": [ "lessons" ] }, "body": { "mode": "raw", "raw": "{}" } } }, { "name": "Retrieve a Lesson", "request": { "method": "GET", "header": [], "url": { "raw": "{{baseUrl}}/lessons/:id", "host": [ "{{baseUrl}}" ], "path": [ "lessons", ":id" ], "variable": [ { "key": "id", "value": "" } ] } } }, { "name": "Add Student to Lesson", "request": { "method": "PUT", "header": [ { "key": "Content-Type", "value": "application/json" } ], "url": { "raw": "{{baseUrl}}/lessons/:id/add_student", "host": [ "{{baseUrl}}" ], "path": [ "lessons", ":id", "add_student" ], "variable": [ { "key": "id", "value": "" } ] }, "body": { "mode": "raw", "raw": "{}" } } }, { "name": "Complete a Lesson", "request": { "method": "PUT", "header": [ { "key": "Content-Type", "value": "application/json" } ], "url": { "raw": "{{baseUrl}}/lessons/:id/complete", "host": [ "{{baseUrl}}" ], "path": [ "lessons", ":id", "complete" ], "variable": [ { "key": "id", "value": "" } ] }, "body": { "mode": "raw", "raw": "{}" } } } ] }, { "name": "Lesson Participants", "item": [ { "name": "List all Lesson Participants", "request": { "method": "GET", "header": [], "url": { "raw": "{{baseUrl}}/lesson_participants", "host": [ "{{baseUrl}}" ], "path": [ "lesson_participants" ] } } }, { "name": "Retrieve a Lesson Participant", "request": { "method": "GET", "header": [], "url": { "raw": "{{baseUrl}}/lesson_participants/:id", "host": [ "{{baseUrl}}" ], "path": [ "lesson_participants", ":id" ], "variable": [ { "key": "id", "value": "" } ] } } } ] }, { "name": "Other Events", "item": [ { "name": "List all Other Events", "request": { "method": "GET", "header": [], "url": { "raw": "{{baseUrl}}/other_events", "host": [ "{{baseUrl}}" ], "path": [ "other_events" ] } } }, { "name": "Retrieve an Other Event", "request": { "method": "GET", "header": [], "url": { "raw": "{{baseUrl}}/other_events/:id", "host": [ "{{baseUrl}}" ], "path": [ "other_events", ":id" ], "variable": [ { "key": "id", "value": "" } ] } } } ] }, { "name": "Availabilities", "item": [ { "name": "List all Availabilities", "request": { "method": "GET", "header": [], "url": { "raw": "{{baseUrl}}/availabilities", "host": [ "{{baseUrl}}" ], "path": [ "availabilities" ] } } }, { "name": "Retrieve an Availability", "request": { "method": "GET", "header": [], "url": { "raw": "{{baseUrl}}/availabilities/:id", "host": [ "{{baseUrl}}" ], "path": [ "availabilities", ":id" ], "variable": [ { "key": "id", "value": "" } ] } } } ] }, { "name": "Unavailabilities", "item": [ { "name": "List all Unavailabilities", "request": { "method": "GET", "header": [], "url": { "raw": "{{baseUrl}}/unavailabilities", "host": [ "{{baseUrl}}" ], "path": [ "unavailabilities" ] } } }, { "name": "Retrieve an Unavailability", "request": { "method": "GET", "header": [], "url": { "raw": "{{baseUrl}}/unavailabilities/:id", "host": [ "{{baseUrl}}" ], "path": [ "unavailabilities", ":id" ], "variable": [ { "key": "id", "value": "" } ] } } } ] }, { "name": "Invoices", "item": [ { "name": "List all Invoices", "request": { "method": "GET", "header": [], "url": { "raw": "{{baseUrl}}/invoices", "host": [ "{{baseUrl}}" ], "path": [ "invoices" ] } } }, { "name": "Retrieve an Invoice", "request": { "method": "GET", "header": [], "url": { "raw": "{{baseUrl}}/invoices/:id", "host": [ "{{baseUrl}}" ], "path": [ "invoices", ":id" ], "variable": [ { "key": "id", "value": "" } ] } } } ] }, { "name": "Payments", "item": [ { "name": "List all Payments", "request": { "method": "GET", "header": [], "url": { "raw": "{{baseUrl}}/payments", "host": [ "{{baseUrl}}" ], "path": [ "payments" ] } } }, { "name": "Create a Payment", "request": { "method": "POST", "header": [ { "key": "Content-Type", "value": "application/json" } ], "url": { "raw": "{{baseUrl}}/payments", "host": [ "{{baseUrl}}" ], "path": [ "payments" ] }, "body": { "mode": "raw", "raw": "{}" } } }, { "name": "Retrieve a Payment", "request": { "method": "GET", "header": [], "url": { "raw": "{{baseUrl}}/payments/:id", "host": [ "{{baseUrl}}" ], "path": [ "payments", ":id" ], "variable": [ { "key": "id", "value": "" } ] } } }, { "name": "Update a Payment", "request": { "method": "PUT", "header": [ { "key": "Content-Type", "value": "application/json" } ], "url": { "raw": "{{baseUrl}}/payments/:id", "host": [ "{{baseUrl}}" ], "path": [ "payments", ":id" ], "variable": [ { "key": "id", "value": "" } ] }, "body": { "mode": "raw", "raw": "{}" } } } ] }, { "name": "Payment Allocations", "item": [ { "name": "List all Payment Allocations", "request": { "method": "GET", "header": [], "url": { "raw": "{{baseUrl}}/payment_allocations", "host": [ "{{baseUrl}}" ], "path": [ "payment_allocations" ] } } }, { "name": "Create a Payment Allocation", "request": { "method": "POST", "header": [ { "key": "Content-Type", "value": "application/json" } ], "url": { "raw": "{{baseUrl}}/payment_allocations", "host": [ "{{baseUrl}}" ], "path": [ "payment_allocations" ] }, "body": { "mode": "raw", "raw": "{}" } } }, { "name": "Retrieve a Payment Allocation", "request": { "method": "GET", "header": [], "url": { "raw": "{{baseUrl}}/payment_allocations/:id", "host": [ "{{baseUrl}}" ], "path": [ "payment_allocations", ":id" ], "variable": [ { "key": "id", "value": "" } ] } } } ] }, { "name": "Credit Note Allocations", "item": [ { "name": "List all Credit Note Allocations", "request": { "method": "GET", "header": [], "url": { "raw": "{{baseUrl}}/credit_note_allocations", "host": [ "{{baseUrl}}" ], "path": [ "credit_note_allocations" ] } } }, { "name": "Retrieve a Credit Note Allocation", "request": { "method": "GET", "header": [], "url": { "raw": "{{baseUrl}}/credit_note_allocations/:id", "host": [ "{{baseUrl}}" ], "path": [ "credit_note_allocations", ":id" ], "variable": [ { "key": "id", "value": "" } ] } } } ] }, { "name": "Other Compensation", "item": [ { "name": "List all Compensation", "request": { "method": "GET", "header": [], "url": { "raw": "{{baseUrl}}/other_compensation", "host": [ "{{baseUrl}}" ], "path": [ "other_compensation" ] } } }, { "name": "Create Other Compensation", "request": { "method": "POST", "header": [ { "key": "Content-Type", "value": "application/json" } ], "url": { "raw": "{{baseUrl}}/other_compensation", "host": [ "{{baseUrl}}" ], "path": [ "other_compensation" ] }, "body": { "mode": "raw", "raw": "{}" } } }, { "name": "Retrieve Compensation", "request": { "method": "GET", "header": [], "url": { "raw": "{{baseUrl}}/other_compensation/:id", "host": [ "{{baseUrl}}" ], "path": [ "other_compensation", ":id" ], "variable": [ { "key": "id", "value": "" } ] } } } ] }, { "name": "Wage Payments", "item": [ { "name": "List all Wage Payments", "request": { "method": "GET", "header": [], "url": { "raw": "{{baseUrl}}/wage_payments", "host": [ "{{baseUrl}}" ], "path": [ "wage_payments" ] } } }, { "name": "Create a Wage Payment", "request": { "method": "POST", "header": [ { "key": "Content-Type", "value": "application/json" } ], "url": { "raw": "{{baseUrl}}/wage_payments", "host": [ "{{baseUrl}}" ], "path": [ "wage_payments" ] }, "body": { "mode": "raw", "raw": "{}" } } }, { "name": "Retrieve a Wage Payment", "request": { "method": "GET", "header": [], "url": { "raw": "{{baseUrl}}/wage_payments/:id", "host": [ "{{baseUrl}}" ], "path": [ "wage_payments", ":id" ], "variable": [ { "key": "id", "value": "" } ] } } }, { "name": "Update a Wage Payment", "request": { "method": "PUT", "header": [ { "key": "Content-Type", "value": "application/json" } ], "url": { "raw": "{{baseUrl}}/wage_payments/:id", "host": [ "{{baseUrl}}" ], "path": [ "wage_payments", ":id" ], "variable": [ { "key": "id", "value": "" } ] }, "body": { "mode": "raw", "raw": "{}" } } } ] }, { "name": "Result Groups", "item": [ { "name": "List all Result Groups", "request": { "method": "GET", "header": [], "url": { "raw": "{{baseUrl}}/result_groups", "host": [ "{{baseUrl}}" ], "path": [ "result_groups" ] } } }, { "name": "Retrieve a Result Group", "request": { "method": "GET", "header": [], "url": { "raw": "{{baseUrl}}/result_groups/:id", "host": [ "{{baseUrl}}" ], "path": [ "result_groups", ":id" ], "variable": [ { "key": "id", "value": "" } ] } } } ] }, { "name": "Results", "item": [ { "name": "List all Results", "request": { "method": "GET", "header": [], "url": { "raw": "{{baseUrl}}/results", "host": [ "{{baseUrl}}" ], "path": [ "results" ] } } }, { "name": "Create a Result", "request": { "method": "POST", "header": [ { "key": "Content-Type", "value": "application/json" } ], "url": { "raw": "{{baseUrl}}/results", "host": [ "{{baseUrl}}" ], "path": [ "results" ] }, "body": { "mode": "raw", "raw": "{}" } } }, { "name": "Retrieve a Result", "request": { "method": "GET", "header": [], "url": { "raw": "{{baseUrl}}/results/:id", "host": [ "{{baseUrl}}" ], "path": [ "results", ":id" ], "variable": [ { "key": "id", "value": "" } ] } } }, { "name": "Update a Result", "request": { "method": "PUT", "header": [ { "key": "Content-Type", "value": "application/json" } ], "url": { "raw": "{{baseUrl}}/results/:id", "host": [ "{{baseUrl}}" ], "path": [ "results", ":id" ], "variable": [ { "key": "id", "value": "" } ] }, "body": { "mode": "raw", "raw": "{}" } } } ] }, { "name": "Repertoires", "item": [ { "name": "List all Repertoires", "request": { "method": "GET", "header": [], "url": { "raw": "{{baseUrl}}/repertoires", "host": [ "{{baseUrl}}" ], "path": [ "repertoires" ] } } }, { "name": "Create a Repertoire", "request": { "method": "POST", "header": [ { "key": "Content-Type", "value": "application/json" } ], "url": { "raw": "{{baseUrl}}/repertoires", "host": [ "{{baseUrl}}" ], "path": [ "repertoires" ] }, "body": { "mode": "raw", "raw": "{}" } } }, { "name": "Retrieve a Repertoire", "request": { "method": "GET", "header": [], "url": { "raw": "{{baseUrl}}/repertoires/:id", "host": [ "{{baseUrl}}" ], "path": [ "repertoires", ":id" ], "variable": [ { "key": "id", "value": "" } ] } } } ] } ] }