{"openapi":"3.1.0","info":{"title":"GET /api/v1/recurring/{template_id}","version":"1.0.0","description":"Get recurring template"},"servers":[{"url":"https://api.ondayzero.com","description":"Production"}],"paths":{"/api/v1/recurring/{template_id}":{"get":{"tags":["recurring"],"summary":"Get recurring template","description":"Get a specific recurring template by ID.","operationId":"get_recurring_template_api_v1_recurring__template_id__get","parameters":[{"name":"template_id","in":"path","required":true,"schema":{"type":"string","title":"Template Id"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"x-business-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Business-Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RecurringTemplateResponse"}}}},"401":{"description":"Unauthorized - Authentication required","content":{"application/json":{"example":{"detail":"Not authenticated"}}}},"403":{"description":"Forbidden - Insufficient permissions","content":{"application/json":{"example":{"detail":"Not enough permissions"}}}},"404":{"description":"Not Found - Resource does not exist","content":{"application/json":{"example":{"detail":"Resource not found"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}}},"components":{"schemas":{"CustomerSummary":{"properties":{"id":{"type":"string","title":"Id"},"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Name"},"email":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Email"}},"type":"object","required":["id"],"title":"CustomerSummary","description":"Summary of customer for response."},"FrequencyEnum":{"type":"string","enum":["daily","weekly","biweekly","monthly","quarterly","annually"],"title":"FrequencyEnum","description":"Recurrence frequency options."},"HTTPValidationError":{"properties":{"detail":{"items":{"$ref":"#/components/schemas/ValidationError"},"type":"array","title":"Detail"}},"type":"object","title":"HTTPValidationError"},"RecurrenceTypeEnum-Output":{"type":"string","enum":["invoice","bill"],"title":"RecurrenceTypeEnum","description":"Type of recurring document."},"RecurringStatusEnum":{"type":"string","enum":["active","paused","completed","cancelled"],"title":"RecurringStatusEnum","description":"Status of the recurring template."},"RecurringTemplateResponse":{"properties":{"id":{"type":"string","title":"Id"},"business_id":{"type":"string","title":"Business Id"},"name":{"type":"string","title":"Name"},"recurrence_type":{"$ref":"#/components/schemas/RecurrenceTypeEnum-Output"},"status":{"$ref":"#/components/schemas/RecurringStatusEnum"},"frequency":{"$ref":"#/components/schemas/FrequencyEnum"},"start_date":{"type":"string","format":"date","title":"Start Date"},"end_date":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"End Date"},"next_occurrence":{"type":"string","format":"date","title":"Next Occurrence"},"last_generated":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Last Generated"},"day_of_month":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Day Of Month"},"day_of_week":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Day Of Week"},"max_occurrences":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Max Occurrences"},"occurrences_generated":{"type":"integer","title":"Occurrences Generated"},"template_data":{"additionalProperties":true,"type":"object","title":"Template Data"},"days_until_due":{"type":"integer","title":"Days Until Due"},"auto_send":{"type":"boolean","title":"Auto Send"},"notes":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Notes"},"customer":{"anyOf":[{"$ref":"#/components/schemas/CustomerSummary"},{"type":"null"}]},"vendor":{"anyOf":[{"$ref":"#/components/schemas/VendorSummary"},{"type":"null"}]},"created_at":{"type":"string","format":"date-time","title":"Created At"},"updated_at":{"type":"string","format":"date-time","title":"Updated At"},"amount_in_dollars":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Amount In Dollars"},"frequency_display":{"type":"string","title":"Frequency Display"},"days_until_next":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Days Until Next"},"is_due":{"type":"boolean","title":"Is Due"},"should_generate":{"type":"boolean","title":"Should Generate"}},"type":"object","required":["id","business_id","name","recurrence_type","status","frequency","start_date","next_occurrence","occurrences_generated","template_data","days_until_due","auto_send","created_at","updated_at","frequency_display","is_due","should_generate"],"title":"RecurringTemplateResponse","description":"Response schema for recurring template.","example":{"amount_in_dollars":3500.0,"auto_send":false,"business_id":"abcdef01-2345-6789-abcd-ef0123456789","created_at":"2026-01-07T12:00:00Z","day_of_month":1,"days_until_due":15,"days_until_next":25,"frequency":"monthly","frequency_display":"Monthly","id":"01234567-89ab-cdef-0123-456789abcdef","is_due":false,"name":"Monthly Rent","next_occurrence":"2026-02-01","occurrences_generated":0,"recurrence_type":"bill","should_generate":false,"start_date":"2026-02-01","status":"active","template_data":{"amount":350000,"description":"Office rent"},"updated_at":"2026-01-07T12:00:00Z","vendor":{"email":"billing@property.com","id":"vendor-uuid","name":"Property Management LLC"}}},"ValidationError":{"properties":{"loc":{"items":{"anyOf":[{"type":"string"},{"type":"integer"}]},"type":"array","title":"Location"},"msg":{"type":"string","title":"Message"},"type":{"type":"string","title":"Error Type"},"input":{"title":"Input"},"ctx":{"type":"object","title":"Context"}},"type":"object","required":["loc","msg","type"],"title":"ValidationError"},"VendorSummary":{"properties":{"id":{"type":"string","title":"Id"},"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Name"},"email":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Email"}},"type":"object","required":["id"],"title":"VendorSummary","description":"Summary of vendor for response."}},"securitySchemes":{"BearerAuth":{"type":"http","scheme":"bearer","bearerFormat":"API Token","description":"API token authentication. Format: `Bearer dz_...`"}}},"security":[{"BearerAuth":[]}]}