Skip to main content

Documentation Index

Fetch the complete documentation index at: https://mintlify.com/Glemynart/SaaS/llms.txt

Use this file to discover all available pages before exploring further.

La Oficina Nítida supports per-tenant branding so that each organization presents its own identity throughout the platform and in generated documents. Admins can upload a company logo, upload a digitized signature of the legal representative, and record the representative’s name — all of which become available as template variables when generating contracts and certificates.

What Branding Controls

The branding module manages three identity assets stored on your tenant record:
AssetField on TenantTemplate variable
Company logologoUrl{{LOGO_EMPRESA}}
Legal representative namerepresentanteLegal{{REPRESENTANTE_LEGAL}}
Representative’s signature imagefirmaRepresentanteUrl{{FIRMA_REPRESENTANTE}}
All three template variables are available in DocumentTemplate and GeneratedDocument contexts, meaning they are automatically injected into contracts and certificates at generation time.

Endpoints

All branding endpoints require a valid JWT. The GET endpoint is available to all authenticated roles. PATCH and upload endpoints are restricted to ADMIN.

Retrieve current branding

GET /tenant-branding
Returns the branding data for the authenticated tenant, including stored URLs and the representative’s name.

Update branding fields

PATCH /tenant-branding
Updates the text fields of the branding record. At this time, the following field is accepted:
FieldTypeDescription
representanteLegalString?Full name of the organization’s legal representative
{
  "representanteLegal": "Carlos Andrés Martínez Ruiz"
}
POST /tenant-branding/upload-logo
Content-Type: multipart/form-data
Accepts a single file under the file field. The uploaded logo is stored in Cloudflare R2 and the resulting URL is saved to Tenant.logoUrl.

Upload a representative signature

POST /tenant-branding/upload-firma
Content-Type: multipart/form-data
Accepts a single file under the file field. The uploaded signature image is stored in Cloudflare R2 and the resulting URL is saved to Tenant.firmaRepresentanteUrl.

Supported File Types and Limits

Both upload endpoints (upload-logo and upload-firma) enforce the same file constraints:
ConstraintValue
Accepted formatsPNG, JPEG / JPG, WebP, SVG
Maximum file size5 MB
Files that do not match an accepted MIME type are rejected with 400 Bad Request before any storage operation is attempted. The server validates the MIME type reported by the client; sending a file with a mismatched extension is not sufficient to bypass this check.

Example: Uploading a Logo via cURL

curl -X POST https://api.example.com/tenant-branding/upload-logo \
  -H "Authorization: Bearer <your_access_token>" \
  -F "file=@/path/to/logo.png"
A successful response returns the updated branding object including the new logoUrl.

Example: Uploading a Signature via cURL

curl -X POST https://api.example.com/tenant-branding/upload-firma \
  -H "Authorization: Bearer <your_access_token>" \
  -F "file=@/path/to/firma.png"
Branding is fully isolated per tenant. Uploading a logo or updating the representative’s name on your account has no effect on any other organization on the platform. Each tenant maintains its own independent set of branding assets.

Build docs developers (and LLMs) love