GET /api/UserPUT /api/UserGET /api/CompanyProfilePUT /api/CompanyProfilePUT /api/CompanyLogoDELETE /api/CompanyLogoGET /api/IsEmployee
Validate user credentials and return the user profile.
| Item | Value |
|---|
| Method | GET |
| Path | /api/User |
| Auth | App bearer token |
| Response | UserProfile JSON, null, or a 302 response with ServerURL |
| Parameter | Required | Notes |
|---|
emailID | Yes | User email address |
password | Yes | SHA-1 hex digest of the password |
- Valid credentials return a
UserProfile. - Invalid credentials often return HTTP
200 with a null body. - Some lockout or validation paths return
400. - If the email belongs to a redirected server, the endpoint returns
302 and a body with ServerURL.
password_hash = hashlib.sha1("YourPlainTextPassword".encode("utf-8")).hexdigest()
headers={"Authorization": f"Bearer {app_token}"},
params={"emailID": email, "password": password_hash},
Create a new user.
| Item | Value |
|---|
| Method | PUT |
| Path | /api/User |
| Auth | App bearer token |
| Response | 201 Created with UserProfile, or 302 with ServerURL |
| Parameter | Required | Notes |
|---|
emailID | Yes | New user’s email |
firstName | Yes | URL-encoded first name |
lastName | Yes | URL-encoded last name |
password | Yes | SHA-1 hex digest |
companyId | No | Company to associate immediately |
Use this only for new users. It is not a safe “upsert” endpoint.
curl -X PUT "https://your-server.example.com/api/User?emailID=new.user%40example.com&firstName=New&lastName=User&password=SHA1_HEX_PASSWORD&companyId=24395dfe-7917-4976-a198-0fe3aa9a6a06" \
-H "Authorization: Bearer APP_BEARER_TOKEN"
Get a company’s profile by company ID.
| Item | Value |
|---|
| Method | GET |
| Path | /api/CompanyProfile |
| Auth | Protected endpoint. Use a user bearer token unless VizSeek tells you otherwise. |
| Response | CompanyProfile JSON or 404 |
| Parameter | Required | Notes |
|---|
companyID | Yes | Company GUID/ID |
"Name": "Example Manufacturing",
"ICode": "24395dfe-7917-4976-a198-0fe3aa9a6a06",
"Logo": "folder/com/24395dfe-7917-4976-a198-0fe3aa9a6a06.png",
"PubliclyAccessible": false,
"UseTextHighlighting": true,
"ShowMatchingShapes": true,
curl -G "https://your-server.example.com/api/CompanyProfile" \
-H "Authorization: Bearer USER_BEARER_TOKEN" \
--data-urlencode "companyID=24395dfe-7917-4976-a198-0fe3aa9a6a06"
Replace the current company’s logo.
| Item | Value |
|---|
| Method | PUT |
| Path | /api/CompanyLogo |
| Auth | User bearer token |
| Content-Type | application/json |
| Response | Boolean |
The body is a JSON string whose value is the base64-encoded logo bytes:
Use PNG content for best results. The server stores the logo under a .png file name.
with open("logo.png", "rb") as f:
body = json.dumps(base64.b64encode(f.read()).decode("ascii"))
f"{server}/api/CompanyLogo",
"Authorization": f"Bearer {token}",
"Content-Type": "application/json",
Remove the current company’s logo.
| Item | Value |
|---|
| Method | DELETE |
| Path | /api/CompanyLogo |
| Auth | User bearer token |
| Response | Boolean |
curl -X DELETE "https://your-server.example.com/api/CompanyLogo" \
-H "Authorization: Bearer USER_BEARER_TOKEN"
Check whether the current user belongs to a specific company.
| Item | Value |
|---|
| Method | GET |
| Path | /api/IsEmployee |
| Auth | User bearer token |
| Response | Boolean |
| Parameter | Required | Notes |
|---|
companyID | Yes | Company GUID/ID |
curl -G "https://your-server.example.com/api/IsEmployee" \
-H "Authorization: Bearer USER_BEARER_TOKEN" \
--data-urlencode "companyID=24395dfe-7917-4976-a198-0fe3aa9a6a06"