Uploads
3 endpoints in this group. All paths are prefixed with /api/v1.
Endpoints in this group#
POST /api/v1/admin/uploads/icon— Upload IconPOST /api/v1/admin/uploads/template-image— Upload Template ImageGET /api/v1/uploads/{path}— Serve Upload
POST /api/v1/admin/uploads/icon — Upload Icon {#post-api-v1-admin-uploads-icon}#
Upload a service icon to S3. Returns the public URL.
Parameters:
authorization(header, string, optional)
Responses:
200— Successful Response. Returns:ApiResponse_dict_— {data,meta}422— Validation Error. Returns:HTTPValidationError— {detail}
POST /api/v1/admin/uploads/template-image — Upload Template Image {#post-api-v1-admin-uploads-template-image}#
Upload an image for use in invoice templates. Returns the public URL.
Parameters:
authorization(header, string, optional)
Responses:
200— Successful Response. Returns:ApiResponse_dict_— {data,meta}422— Validation Error. Returns:HTTPValidationError— {detail}
GET /api/v1/uploads/{path} — Serve Upload {#get-api-v1-uploads-path}#
Proxy S3 objects for public branding assets only.
Restricted to icons and template images — invoice PDFs, credit notes, XML files, and other sensitive content are NEVER served via this proxy. Use the authenticated invoice endpoints for billing documents.
Parameters:
path(path, string, required)
Responses:
200— Successful Response. Returns: —422— Validation Error. Returns:HTTPValidationError— {detail}