Zoho CRM Portal Users

API for managing portal users. Published by Zoho in its first-party OpenAPI 3.1.0 repository github.com/zoho/crm-oas; 8 operation(s).

OpenAPI Specification

zoho-crm-portal-users-openapi.json Raw ↑
{
  "openapi": "3.1.0",
  "info": {
    "title": "Portal Users",
    "description": "API for managing portal users.",
    "version": "8"
  },
  "servers": [
    {
      "url": "https://zohoapis.{dc}/crm/{version}",
      "description": "API Server URL",
      "variables": {
        "dc": {
          "enum": [
            "com",
            "eu",
            "in",
            "cn",
            "au"
          ],
          "default": "com",
          "description": "API Server URL TLD"
        },
        "version": {
          "default": "v8",
          "description": "API Version"
        }
      }
    }
  ],
  "paths": {
    "/settings/portals/{portal}/user_type/{userType}/users": {
      "get": {
        "summary": "List portal users",
        "description": "Retrieve users of a specific portal filtered by user type.",
        "operationId": "getPortalUsers",
        "security": [
          {
            "iam-oauth2-schema": [
              "ZohoCRM.settings.clientportal.READ"
            ]
          }
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/Portal"
          },
          {
            "$ref": "#/components/parameters/UserType"
          },
          {
            "name": "page",
            "in": "query",
            "required": false,
            "description": "The page number to retrieve.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "per_page",
            "in": "query",
            "required": false,
            "description": "The number of records to return per page.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "Source__s",
            "in": "query",
            "required": false,
            "description": "The source of the user record.",
            "schema": {
              "type": "string",
              "maxLength": 255
            }
          },
          {
            "name": "filters",
            "in": "query",
            "required": false,
            "description": "The filters of the user record.",
            "schema": {
              "type": "string",
              "maxLength": 255
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Fetch portal users response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "Response containing portal users list and metadata",
                  "additionalProperties": false,
                  "properties": {
                    "users": {
                      "type": "array",
                      "description": "List of portal users",
                      "maxItems": 10000,
                      "items": {
                        "type": "object",
                        "description": "Portal user details",
                        "additionalProperties": false,
                        "properties": {
                          "personality_id": {
                            "type": "string",
                            "description": "Unique identifier for the user personality",
                            "maxLength": 255
                          },
                          "confirm": {
                            "type": "boolean",
                            "description": "Confirmation status of the user"
                          },
                          "status_reason__s": {
                            "type": "string",
                            "description": "Reason for the current status",
                            "maxLength": 500
                          },
                          "created_time": {
                            "type": "string",
                            "format": "date-time",
                            "description": "Timestamp when the user was created"
                          },
                          "module": {
                            "type": "string",
                            "description": "Module associated with the user",
                            "maxLength": 100
                          },
                          "name": {
                            "type": "string",
                            "description": "Name of the portal user",
                            "maxLength": 255
                          },
                          "active": {
                            "type": "boolean",
                            "description": "Indicates if the user is active"
                          },
                          "email": {
                            "type": "string",
                            "description": "Email address of the user",
                            "format": "email"
                          },
                          "Source__s": {
                            "type": "string",
                            "description": "Source of the user record",
                            "maxLength": 255
                          }
                        },
                        "required": [
                          "personality_id",
                          "confirm",
                          "status_reason__s",
                          "created_time",
                          "module",
                          "name",
                          "active",
                          "email",
                          "Source__s"
                        ]
                      }
                    },
                    "info": {
                      "type": "object",
                      "description": "Metadata about the response",
                      "additionalProperties": false,
                      "properties": {
                        "total_count": {
                          "type": "integer",
                          "format": "int32",
                          "description": "Total number of users"
                        }
                      },
                      "required": [
                        "total_count"
                      ]
                    }
                  },
                  "required": [
                    "users",
                    "info"
                  ]
                }
              }
            }
          },
          "204": {
            "description": "Portal users was not yet added."
          },
          "400": {
            "description": "Bad request - Invalid input parameters or validation errors",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "No permission error response",
                  "additionalProperties": false,
                  "properties": {
                    "code": {
                      "type": "string",
                      "description": "Error code indicating no permission",
                      "enum": [
                        "PATTERN_NOT_MATCHED"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "description": "Error message describing the issue",
                      "maxLength": 1000
                    },
                    "details": {
                      "type": "object",
                      "description": "Additional error details",
                      "additionalProperties": false,
                      "properties": {
                        "api_name": {
                          "type": "string",
                          "description": "Name of the API parameter that caused the error",
                          "maxLength": 255
                        },
                        "json_path": {
                          "type": "string",
                          "description": "JSON path to the invalid parameter",
                          "maxLength": 255
                        }
                      }
                    },
                    "status": {
                      "type": "string",
                      "description": "Status of the response",
                      "enum": [
                        "error"
                      ]
                    }
                  },
                  "required": [
                    "code",
                    "message",
                    "details",
                    "status"
                  ]
                }
              }
            }
          },
          "403": {
            "description": "Bad request - Invalid input parameters or validation errors",
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "type": "object",
                      "description": "No permission error response",
                      "additionalProperties": false,
                      "properties": {
                        "code": {
                          "type": "string",
                          "description": "Error code indicating no permission",
                          "enum": [
                            "NO_PERMISSION"
                          ]
                        },
                        "message": {
                          "type": "string",
                          "description": "Error message describing the issue",
                          "maxLength": 1000
                        },
                        "details": {
                          "type": "object",
                          "description": "Additional error details",
                          "additionalProperties": true
                        },
                        "status": {
                          "type": "string",
                          "description": "Status of the response",
                          "enum": [
                            "error"
                          ]
                        }
                      },
                      "required": [
                        "code",
                        "message",
                        "details",
                        "status"
                      ]
                    },
                    {
                      "type": "object",
                      "description": "Portal invite error response with array of errors",
                      "additionalProperties": false,
                      "properties": {
                        "portal_invite": {
                          "type": "array",
                          "description": "List of portal invitation errors",
                          "maxItems": 100,
                          "items": {
                            "type": "object",
                            "description": "Individual invitation error details",
                            "additionalProperties": false,
                            "properties": {
                              "code": {
                                "type": "string",
                                "description": "Error code",
                                "maxLength": 255
                              },
                              "message": {
                                "type": "string",
                                "description": "Error message",
                                "maxLength": 1000
                              }
                            },
                            "required": [
                              "code",
                              "message"
                            ]
                          }
                        }
                      },
                      "required": [
                        "portal_invite"
                      ]
                    },
                    {
                      "type": "object",
                      "description": "Alternative portal invite error format",
                      "additionalProperties": false,
                      "properties": {
                        "portal_invite": {
                          "type": "array",
                          "description": "List of portal invitation error responses",
                          "maxItems": 100,
                          "items": {
                            "type": "object",
                            "description": "Error response for invitation",
                            "additionalProperties": true
                          }
                        }
                      },
                      "required": [
                        "portal_invite"
                      ]
                    },
                    {
                      "type": "object",
                      "description": "Additional portal invite error variant",
                      "additionalProperties": false,
                      "properties": {
                        "portal_invite": {
                          "type": "array",
                          "description": "Array of invitation error objects",
                          "maxItems": 100,
                          "items": {
                            "type": "object",
                            "description": "Portal invitation error item",
                            "additionalProperties": true
                          }
                        }
                      }
                    }
                  ]
                }
              }
            }
          }
        }
      },
      "delete": {
        "summary": "delete portal users",
        "description": "Retrieve users of a specific portal filtered by user type.",
        "operationId": "deletePortalUsers",
        "security": [
          {
            "iam-oauth2-schema": [
              "ZohoCRM.settings.clientportal.DELETE"
            ]
          }
        ],
        "parameters": [
          {
            "$ref": "#/components/parameters/Portal"
          },
          {
            "$ref": "#/components/parameters/UserType"
          },
          {
            "name": "personality_ids",
            "in": "query",
            "required": false,
            "description": "List for record IDs of portal users to be deleted.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Delete portal users response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "Response containing deleted portal users.",
                  "additionalProperties": false,
                  "properties": {
                    "users": {
                      "type": "array",
                      "description": "List of deleted portal users",
                      "maxItems": 200,
                      "items": {
                        "type": "object",
                        "description": "Deleted portal user details",
                        "additionalProperties": false,
                        "properties": {
                          "code": {
                            "type": "string",
                            "description": "Error code indicating no permission",
                            "enum": [
                              "SUCCESS"
                            ]
                          },
                          "message": {
                            "type": "string",
                            "description": "Error message describing the issue",
                            "maxLength": 1000
                          },
                          "details": {
                            "type": "object",
                            "description": "Additional error details",
                            "additionalProperties": false,
                            "properties": {
                              "personality_id": {
                                "type": "string",
                                "description": "Unique identifier for the user personality",
                                "maxLength": 255
                              }
                            }
                          },
                          "status": {
                            "type": "string",
                            "description": "Status of the response",
                            "enum": [
                              "error",
                              "success"
                            ]
                          }
                        },
                        "required": [
                          "code",
                          "message",
                          "details",
                          "status"
                        ]
                      }
                    }
                  },
                  "required": [
                    "users"
                  ]
                }
              }
            }
          },
          "400": {
            "description": "Bad request - Invalid input parameters or validation errors",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "invalid data error response",
                  "additionalProperties": false,
                  "properties": {
                    "users": {
                      "type": "array",
                      "description": "List of deleted portal users",
                      "maxItems": 200,
                      "items": {
                        "type": "object",
                        "description": "Deleted portal user error details",
                        "additionalProperties": false,
                        "properties": {
                          "code": {
                            "type": "string",
                            "description": "Error code indicating no permission",
                            "enum": [
                              "INVALID_DATA"
                            ]
                          },
                          "message": {
                            "type": "string",
                            "description": "Error message describing the issue",
                            "maxLength": 1000
                          },
                          "details": {
                            "type": "object",
                            "description": "Additional error details",
                            "additionalProperties": false,
                            "properties": {
                              "personality_id": {
                                "type": "string",
                                "format": "int64",
                                "description": "Record id of portal user"
                              }
                            }
                          },
                          "status": {
                            "type": "string",
                            "description": "Status of the response",
                            "enum": [
                              "error"
                            ]
                          }
                        },
                        "required": [
                          "code",
                          "message",
                          "details",
                          "status"
                        ]
                      }
                    }
                  }
                }
              }
            }
          },
          "403": {
            "description": "Bad request - Invalid input parameters or validation errors",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "No permission error response",
                  "additionalProperties": false,
                  "properties": {
                    "code": {
                      "type": "string",
                      "description": "Error code indicating no permission",
                      "enum": [
                        "NO_PERMISSION"
                      ]
                    },
                    "message": {
                      "type": "string",
                      "description": "Error message describing the issue",
                      "maxLength": 1000
                    },
                    "details": {
                      "type": "object",
                      "description": "Additional error details",
                      "additionalProperties": true
                    },
                    "status": {
                      "type": "string",
                      "description": "Status of the response",
                      "enum": [
                        "error"
                      ]
                    }
                  },
                  "required": [
                    "code",
                    "message",
                    "details",
                    "status"
                  ]
                }
              }
            }
          }
        }
      }
    },
    "/{module}/actions/portal_invite": {
      "post": {
        "summary": "Invite portal users",
        "description": "Send invitations to portal users for a specific module.",
        "operationId": "inviteUsers",
        "parameters": [
          {
            "$ref": "#/components/parameters/Module"
          }
        ],
        "security": [
          {
            "iam-oauth2-schema": [
              "ZohoCRM.settings.clientportal.CREATE"
            ]
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "description": "Request body for inviting portal users",
                "additionalProperties": false,
                "properties": {
                  "portal_invite": {
                    "type": "array",
                    "description": "List of portal invitation requests",
                    "maxItems": 100,
                    "items": {
                      "type": "object",
                      "description": "Portal invitation request object",
                      "additionalProperties": false,
                      "properties": {
                        "data": {
                          "type": "array",
                          "description": "Array of user invitation data",
                          "maxItems": 100,
                          "items": {
                            "type": "object",
                            "description": "User invitation details",
                            "additionalProperties": false,
                            "properties": {
                              "id": {
                                "type": "string",
                                "description": "User record ID",
                                "maxLength": 255
                              },
                              "user_type_id": {
                                "type": "string",
                                "description": "User type identifier",
                                "maxLength": 255
                              },
                              "type": {
                                "type": "string",
                                "description": "Invitation type",
                                "enum": [
                                  "reinvite",
                                  "invite"
                                ]
                              },
                              "language": {
                                "type": [
                                  "string",
                                  "null"
                                ],
                                "description": "Preferred language for the invitation",
                                "enum": [
                                  "",
                                  "it_IT",
                                  "ru_RU",
                                  "pl_PL",
                                  "tr_TR",
                                  "hi_IN",
                                  "pt_BR",
                                  "th_TH",
                                  "fr_FR",
                                  "ja_JP",
                                  "in_ID",
                                  "cs_CZ",
                                  "de_DE",
                                  "hu_HU",
                                  "zh_TW",
                                  "es_ES",
                                  "nl_NL",
                                  "sv_SE",
                                  "da_DK",
                                  "bg_BG",
                                  "vi_VN",
                                  "iw_IL",
                                  "hr_HR",
                                  "en_GB",
                                  "ko_KR",
                                  "en_US",
                                  "zh_CN",
                                  "ar_EG",
                                  "pt_PT",
                                  null
                                ]
                              }
                            },
                            "required": [
                              "id",
                              "user_type_id",
                              "type"
                            ]
                          }
                        }
                      },
                      "required": [
                        "data"
                      ]
                    }
                  }
                },
                "required": [
                  "portal_invite"
                ]
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Portal user invitation successfully scheduled",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "Response for portal user invitation requests",
                  "additionalProperties": false,
                  "properties": {
                    "portal_invite": {
                      "type": "array",
                      "description": "List of portal invitation responses",
                      "maxItems": 100,
                      "items": {
                        "type": "object",
                        "description": "Portal invitation response object",
                        "additionalProperties": false,
                        "properties": {
                          "code": {
                            "type": "string",
                            "description": "Status code indicating invitation was scheduled",
                            "enum": [
                              "SCHEDULED"
                            ]
                          },
                          "details": {
                            "type": "object",
                            "description": "Additional details about the scheduled invitation",
                            "additionalProperties": false,
                            "properties": {
                              "job_id": {
                                "type": "string",
                                "description": "Unique identifier for the invitation job",
                                "maxLength": 255
                              }
                            },
                            "required": [
                              "job_id"
                            ]
                          },
                          "message": {
                            "type": "string",
                            "description": "Success message",
                            "maxLength": 1000
                          },
                          "status": {
                            "type": "string",
                            "description": "Status of the response",
                            "enum": [
                              "success"
                            ]
                          }
                        },
                        "required": [
                          "code",
                          "details",
                          "message",
                          "status"
                        ]
                      }
                    }
                  },
                  "required": [
                    "portal_invite"
                  ]
                }
              }
            }
          },
          "400": {
            "description": "Bad request - Invalid input parameters or validation errors",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "description": "Portal invite error response with array of errors",
                  "additionalProperties": false,
                  "properties": {
                    "portal_invite": {
                      "type": "array",
                      "description": "List of portal invitation errors",
                      "maxItems": 100,
                      "items": {
                        "type": "object",
                        "description": "Individual invitation error details",
                        "additionalProperties": false,
                        "properties": {
                          "code": {
                            "type": "string",
                            "description": "Error code",
                            "maxLength": 255,
                            "enum": [
                              "MANDATORY_NOT_FOUND",
                              "INVALID_DATA"
                            ]
                          },
                          "details": {
                            "type": "object",
                            "description": "Additional error details",
                            "additionalProperties": true
                          },
                          "message": {
                            "type": "string",
                            "description": "Error message",
                            "maxLength": 1000
                          },
                          "status": {
                            "type": "string",
                            "description": "status message",
                            "maxLength": 255
                          }
                        },
                        "required": [
                          "code",
                          "message",
                          "status",
                          "details"
                        ]
                      }
                    }
                  },
                  "required": [
                    "portal_invite"
                  ]
                }
              }
            }
          },
          "403": {
            "description": "Bad request - Invalid input parameters or validation errors",
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "type": "object",
                      "description": "Invalid module error response",
                      "additionalProperties": false,
                      "properties": {
                        "code": {
                          "type": "string",
                          "description": "Error code indicating invalid module",
                          "enum": [
                            "NO_PERMISSION"
                          ]
                        },
                        "message": {
                          "type": "string",
                          "description": "Error message describing the issue",
                          "maxLength": 1000
                        },
                        "details": {
                          "type": "object",
                          "description": "Additional error details",
                          "additionalProperties": true
                        },
                        "status": {
                          "type": "string",
                          "description": "Status of the response",
                        

# --- truncated at 32 KB (79 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/zoho-crm/refs/heads/main/openapi/zoho-crm-portal-users-openapi.json