openapi: 3.2.0 info: title: Cacheflow Branding API version: 0.0.3 servers: - url: https://api.getcacheflow.com description: 'Production. Calls are tenant-routed: send Host: .api.getcacheflow.com (per github.com/getcacheflow/api-examples SETUP.md). Host no longer resolves as of 2026-08-13.' - url: https://api.sandbox.getcacheflow.com description: Sandbox. Tenant-routed as .api.sandbox.getcacheflow.com. Host no longer resolves as of 2026-08-13. tags: - name: Branding paths: /api/latest/settings/branding: get: tags: - Branding summary: Retrieve branding operationId: getBranding responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/CompanyInfo' post: tags: - Branding summary: Create branding operationId: createBranding requestBody: content: application/json: schema: $ref: '#/components/schemas/CompanyInfo' responses: '201': description: OK content: application/json: schema: $ref: '#/components/schemas/CompanyInfo' patch: tags: - Branding summary: Update branding operationId: updateBranding requestBody: content: application/json: schema: $ref: '#/components/schemas/CompanyInfo' responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/CompanyInfo' /api/latest/settings/branding/{id}: delete: tags: - Branding summary: Delete branding operationId: deleteBranding parameters: - name: id in: path required: true schema: type: string format: uuid responses: '200': description: OK /api/latest/settings/branding/all: get: tags: - Branding summary: Retrieve all branding operationId: getAllBranding responses: '200': description: OK content: application/json: schema: type: array items: $ref: '#/components/schemas/CompanyInfo' /api/latest/settings/branding/templates/{template_id}: get: tags: - Branding summary: Retrieve a template operationId: getContentTemplate parameters: - name: template_id in: path required: true schema: type: string format: uuid responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/ContentTemplate' /api/latest/settings/branding/templates: get: tags: - Branding summary: List templates operationId: getContentTemplates responses: '200': description: OK content: application/json: schema: type: array items: $ref: '#/components/schemas/ContentTemplate' put: tags: - Branding summary: Update a template operationId: saveContentTemplate requestBody: content: application/json: schema: $ref: '#/components/schemas/ContentTemplate' responses: '201': description: OK content: application/json: schema: $ref: '#/components/schemas/ContentTemplate' post: tags: - Branding summary: Create a template operationId: saveContentTemplateExisting requestBody: content: application/json: schema: $ref: '#/components/schemas/ContentTemplate' responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/ContentTemplate' /api/latest/settings/branding/{reference_type}/templates: get: tags: - Branding summary: List templates for an event operationId: getContentTemplates_1 parameters: - name: reference_type in: path required: true schema: type: string enum: - account - apiwebhook - apitoken - approvalgroup - attachmentconfig - authidentity - billingschedule - companyInfo - connectorSyncEvent - contact - contentTemplate - contract - contractitem - contractitemlevel - currency - customer - docusignaccount - document - documentversion - group - invite - invoice - invoiceConfiguration - organization - orgconfig - orgidentitytoken - payment - paymentMethod - paymentSchedule - paymentTerm - pricebook - pricebookentry - product - productlevel - productusage - proposal - proposalapprovalrule - proposalevent - proposalitem - proposaliteminterval - proposalitemlevel - proposaloption - refund - renewalconfiguration - signature - signingdocument - transfer - transferevent - unit - user responses: '200': description: OK content: application/json: schema: type: array items: $ref: '#/components/schemas/ContentTemplate' components: schemas: CompanyInfo: type: object properties: id: type: string format: uuid createdAt: type: string format: date-time readOnly: true createdBy: type: string updatedAt: type: string format: date-time readOnly: true updatedBy: type: string readOnly: true name: type: string internalName: type: string brandingEnabled: type: boolean externalId: type: string source: type: string logoUrl: type: string tin: type: string billingAddress: $ref: '#/components/schemas/Address' branding: type: object additionalProperties: type: object logo: $ref: '#/components/schemas/Document' defaultInfo: type: boolean deleted: type: boolean logoId: type: string format: uuid Address: type: object properties: id: type: string format: uuid createdAt: type: string format: date-time readOnly: true createdBy: type: string updatedAt: type: string format: date-time readOnly: true updatedBy: type: string readOnly: true name: type: string type: type: string streetAddress: type: string subAddress: type: string otherAddress: type: string city: type: string region: type: string regionIso: type: string postalCode: type: string country: type: string countryIso: type: string verifiedAt: type: string format: date-time Document: type: object properties: id: type: string format: uuid createdAt: type: string format: date-time readOnly: true createdBy: type: string updatedAt: type: string format: date-time readOnly: true updatedBy: type: string readOnly: true fileName: type: string latestVersion: $ref: '#/components/schemas/DocumentVersion' ContentTemplate: type: object properties: id: type: string format: uuid createdAt: type: string format: date-time readOnly: true createdBy: type: string updatedAt: type: string format: date-time readOnly: true updatedBy: type: string readOnly: true content: type: string cssUrl: type: string referenceType: type: string enum: - account - apiwebhook - apitoken - approvalgroup - attachmentconfig - authidentity - billingschedule - companyInfo - connectorSyncEvent - contact - contentTemplate - contract - contractitem - contractitemlevel - currency - customer - docusignaccount - document - documentversion - group - invite - invoice - invoiceConfiguration - organization - orgconfig - orgidentitytoken - payment - paymentMethod - paymentSchedule - paymentTerm - pricebook - pricebookentry - product - productlevel - productusage - proposal - proposalapprovalrule - proposalevent - proposalitem - proposaliteminterval - proposalitemlevel - proposaloption - refund - renewalconfiguration - signature - signingdocument - transfer - transferevent - unit - user eventType: type: string enum: - approval_updated - billing_schedule_updated - force_sync_billing_schedule - contact_updated - contract_updated - customer_updated - invite_created - negative_charge - otp_created - proposal_request_new - proposal_unviewable - proposal_updated - product_created - statement_posted - transfer_completed - contract_reminder - invoice_status_changed - billing_method_verification_buyer - sync_error_event - items_date_truncated - items_date_cleared DocumentVersion: type: object properties: id: type: string format: uuid createdAt: type: string format: date-time readOnly: true createdBy: type: string updatedAt: type: string format: date-time readOnly: true updatedBy: type: string readOnly: true versionNumber: type: integer format: int32 fileName: type: string url: type: string documentId: type: string format: uuid