Retrieving your organization's favicon via the Zoho Desk API is a straightforward GET request against the organization favicon endpoint — here's exactly how to do it, with notes on related operations you may also need.
Why this matters
Your Zoho Desk portal favicon is part of your brand identity, and there are scenarios — such as auditing branding assets, migrating portals, or building admin dashboards — where you need to programmatically fetch the current favicon. Knowing the correct endpoint and how to supply your organization_id saves time and avoids guesswork. This guide is provided by Beam Help, independent expert support for Zoho (not official Zoho support).
---
Step-by-step
Step 1. Obtain your Zoho Desk organization_id. Every favicon API call is scoped to a specific organization. If you do not already have this value stored, you can discover it by first calling the organizations list endpoint and reading the id field from the first item in the returned data array. [5][6]
Step 2. Ensure your API client is authenticated with a valid access token. The Zoho Desk client requires your API domain, a current access token, and the org_id you retrieved in Step 1. If your token has expired, use your stored refresh token to obtain a new access token before proceeding. [5]
Step 3. Issue a GET request to the favicon endpoint:
GET /api/v1/organizations/{organization_id}/favicon
Replace {organization_id} with the value from Step 1. You may optionally pass query parameters via the p dictionary if your client wrapper supports it. [1]
Step 4. In Python, using the ZohoDeskApi wrapper, the call looks like this:
response = api.get_organization_favicon(organization_id="YOUR_ORG_ID")
The method sends a GET request to /api/v1/organizations/{organization_id}/favicon and returns the API response directly. [1]
Step 5. Inspect the response. The returned payload will contain the favicon data for your organization. Handle any error codes (e.g., 401 Unauthorized) by refreshing your token and retrying. [5]
---
Related operations
While you're working with the favicon endpoint, be aware of two additional operations on the same path:
- Update/create favicon — Send a
POSTrequest to/api/v1/organizations/{organization_id}/faviconwith your new image data in the request body. [2] - Delete favicon — Send a
DELETErequest to/api/v1/organizations/{organization_id}/faviconto remove the current favicon entirely. [4]
These share the same URL structure, so your authentication and organization_id setup from the steps above applies equally to all three. [1][2][4]
---
Common pitfalls
- Missing or incorrect
organization_id: This is the most frequent cause of 404 or permission errors. Always verify the ID by fetching the organizations list first rather than hard-coding a value. [6] - Expired access token: Zoho Desk tokens expire and must be refreshed. If you receive a 401 response, check your refresh token flow and ensure the new access token is persisted before retrying the favicon call. [5]
- Empty
orgidstring: Passing an empty string fororganizationidwill result in a malformed URL. Validate that the discovered org ID is non-empty before constructing the request. [6]
---
What to check
- Confirm
organization_idis correct by cross-referencing it against the value returned from the organizations list endpoint before making the favicon call. [5][6] - Verify token validity — ensure your access token has not expired and that your refresh logic is working correctly prior to the request. [5]
- Check the HTTP response status — a
200 OKconfirms the favicon was retrieved successfully; anything else (401, 404) points to an auth or ID issue that should be resolved before retrying. [1]