Zinancial API
website·Indexed 29 days ago
https://zinancial-api-doc.vercel.appAPI documentation for Zinancial, providing a consistent interface to query account data and create transactions. The API includes custom module capabilities for managing global templates, sections, and fields, as well as endpoints for fetching dynamic dropdown values.
What's inside Zinancial
- The Zinancial API provides a RESTful interface for querying account data, creating transactions, and retrieving reports. It is built on three key principles: Simplicity (REST conventions and JSON), Security (mandatory authentication), and Stability (versioned paths to ensure backward compatibility).
Retrieve detailed information about a template
Use theGET /v2/global/template-details/{template_id}endpoint to fetch comprehensive details about a specific template. This includes the template ID, a list of sections, and the specific input fields (including their IDs, names, and types) within each section. This API requires a valid JWT token for authentication via the Authorization header.curl --location 'https://prodnode.unizooks.com/v2/global/template-details/505c631b-826c-11f0-b592-bc2411f4d589' \ --header 'Authorization: Bearer <JWT_TOKEN>'Limit blog post preview size using truncate comments
To limit the amount of content displayed for a blog post in the list view, insert a<!-- truncate -->comment within the post content. Content following this comment will be hidden in the summary view.This text will appear in the list view summary. <!-- truncate --> This text will only be visible on the full blog post page.Version Zinancial API integrations
To prevent breaking changes during API upgrades, integrations must be versioned via the URL path. For example, use/v1/in the base URL to target a specific API version.https://api.yourservice.com/v1Configure Field API request parameters
The Field API uses the following parameters in the request body. Note that requirements differ between creation and updates.{ "id": "string", // Required for update; UUID of the field "field_label": "string", // Required; Display name of the field "field_type": "string", // Required for create; e.g., 'text', 'number', 'dropdown' "description": "string", // Optional; Field description "section_id": "string", // Required for create; Section UUID where field belongs "dropdown_options": "array", // Required for create; List of {value, color} objects "meta": "object" // Optional; Flexible storage for custom data (no validation) }Manage blog posts in Docusaurus
Docusaurus blogging features are powered by the@docusaurus/plugin-content-blogplugin. To create blog posts, add Markdown files or folders to theblogdirectory. Post dates can be automatically extracted from filenames using the formatYYYY-MM-DD-title.mdor by placing anindex.mdinside a folder namedYYYY-MM-DD-title. Using a folder for each post is recommended for co-locating images with the post content. Authors can be managed globally in theauthors.ymlfile.# Example filename for date extraction 2019-05-30-welcome.mdCreate interactive blog posts using MDX in Docusaurus
Docusaurus blog posts support MDX, allowing the use of React components and JSX directly within markdown files to create interactive content.<button onClick={() => alert('button clicked!')}>Click me!</button>Disable the blog in Docusaurus
To completely remove the blog functionality from a Docusaurus site, delete theblogdirectory and set theblogconfiguration option tofalsein the Docusaurus config file.// docusaurus.config.js module.exports = { // ... blog: false, };Configure the Deploy Template API request
The Deploy Template API requires the following configuration:
Endpoint:
POST https://prodnode.unizooks.com/v2/global/deploy-templateRequired Headers:
Content-Type:application/jsonAuthorization:Bearer <JWT_TOKEN>
Request Body Parameters:
id(string, Required): The unique identifier (UUID) of the template to deploy.
Expected Responses:
200 OK: Template deployed successfully ({"status": true, "message": "Template deployed successfully"}).400 Bad Request: Invalid request body, typically missing theidfield.401 Unauthorized: Invalid or expired authentication token.
Create a new input field
Use thePOST /v2/global/field?key=u2_coreendpoint to create a new input field within a specific section. You must provide thesection_idand the field's basic configuration. Themetaobject allows for flexible, unvalidated custom data storage.curl --location 'https://prodnode.unizooks.com/v2/global/field?key=u2_core' \ --header 'Content-Type: application/json' \ --header 'Authorization: Bearer <JWT_TOKEN>' \ --data '{ "field_label":"field 3", "field_type":"number", "description":"qwerty", "section_id":"8498a26d-8323-11f0-b592-bc2411f4d589", "dropdown_options":[{"value":"test12","color":"567473"},{"value":"test22","color":"#bebebe"}], "meta":{"placeholder":"Enter number","is_required":true} }'Retrieve all reusable global templates
Use theGET /v2/global/templateendpoint to fetch a list of all reusable global templates available in the system. This request requires a valid JWT token passed in the Authorization header.curl --location 'https://prodnode.unizooks.com/v2/global/template' \ --header 'Authorization: Bearer <JWT_TOKEN>'Understand the response for Get All Sections of a Template
The API returns a JSON response indicating the status and a list of section objects.
Success (200 OK): Returns a
status: trueand adataarray containing section objects with the following properties:id: UUID of the sectionsection_name: Name of the sectiontemplate_id: UUID of the parent templatemeta: Metadata object (e.g., containingorder)is_active: Integer indicating active statuscreated_at: ISO 8601 timestamp
Error (401 Unauthorized): Returns
success: falseand a message if the token is invalid or expired.{ "status": true, "data": [ { "id": "965f2707-8323-11f0-b592-bc2411f4d589", "section_name": "Section 1", "template_id": "505c631b-826c-11f0-b592-bc2411f4d589", "meta": {}, "is_active": 1, "created_at": "2025-09-09T12:34:56Z" } ] }