Zoho CRM unsubscribe_links

API specification for unsubscribe_links_oas_v8. Published by Zoho in its first-party OpenAPI 3.1.0 repository github.com/zoho/crm-oas; 7 operation(s).

OpenAPI Specification

zoho-crm-unsubscribe-links-openapi.json Raw ↑
{
  "openapi": "3.1.0",
  "info": {
    "title": "unsubscribe_links",
    "description": "API specification for unsubscribe_links_oas_v8",
    "version": "8"
  },
  "servers": [
    {
      "url": "https://zohoapis.{dc}/crm/{version}",
      "description": "API Server URL",
      "variables": {
        "dc": {
          "description": "API Server URL TLD",
          "default": "com",
          "enum": [
            "com",
            "eu",
            "in",
            "cn",
            "au",
            "ca",
            "jp"
          ]
        },
        "version": {
          "description": "API Version",
          "default": "v8"
        }
      }
    }
  ],
  "security": [
    {
      "iam-oauth2-schema": [
        "ZohoCRM.settings.unsubscribe.UPDATE",
        "ZohoCRM.settings.unsubscribe.CREATE",
        "ZohoCRM.settings.unsubscribe.DELETE",
        "ZohoCRM.settings.unsubscribe.READ"
      ]
    },
    {
      "iam-oauth2-schema": [
        "ZohoCRM.settings.unsubscribe.ALL"
      ]
    }
  ],
  "paths": {
    "/settings/unsubscribe_links": {
      "get": {
        "summary": "GET /settings/unsubscribe_links",
        "description": "To get all unsubscribe links",
        "operationId": "getUnsubscribeLinks",
        "responses": {
          "200": {
            "description": "List of unsubscribe links",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnsubscribeLinksResponse"
                }
              }
            }
          },
          "204": {
            "description": "No content"
          },
          "403": {
            "description": "permission denied",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PermissionDeniedError"
                }
              }
            }
          }
        },
        "security": [
          {
            "iam-oauth2-schema": [
              "ZohoCRM.settings.unsubscribe.READ"
            ]
          }
        ]
      },
      "put": {
        "summary": "PUT /settings/unsubscribe_links",
        "description": "To update an unsubscribe link.",
        "operationId": "putUnsubscribeLinks",
        "requestBody": {
          "description": "Request body",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateUnsubscribeLinksRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnsubscribeLinkModificationResultList"
                }
              }
            }
          },
          "400": {
            "description": "Auto-generated from ApiDefinition for INVALID_DATA",
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "$ref": "#/components/schemas/InvalidDataTypeError"
                    },
                    {
                      "type": "object",
                      "additionalProperties": false,
                      "description": "Wrapped error response with unsubscribe_links",
                      "properties": {
                        "unsubscribe_links": {
                          "type": "array",
                          "description": "Array of error objects",
                          "items": {
                            "oneOf": [
                              {
                                "$ref": "#/components/schemas/ErrorResponseCore1"
                              },
                              {
                                "$ref": "#/components/schemas/DependentFieldMissingError"
                              },
                              {
                                "$ref": "#/components/schemas/InvalidCustomLocationURLError"
                              },
                              {
                                "$ref": "#/components/schemas/GeneralInvalidDataError"
                              },
                              {
                                "$ref": "#/components/schemas/GenericInvalidDataError"
                              },
                              {
                                "$ref": "#/components/schemas/InvalidDataValueErrorAlt"
                              },
                              {
                                "$ref": "#/components/schemas/InvalidDataErrorType"
                              },
                              {
                                "$ref": "#/components/schemas/RequiredFieldDependencyError"
                              },
                              {
                                "$ref": "#/components/schemas/MissingFieldError"
                              }
                            ]
                          },
                          "maxItems": 25
                        }
                      },
                      "required": [
                        "unsubscribe_links"
                      ]
                    }
                  ]
                }
              }
            }
          }
        },
        "security": [
          {
            "iam-oauth2-schema": [
              "ZohoCRM.settings.unsubscribe.UPDATE"
            ]
          }
        ]
      },
      "post": {
        "summary": "POST /settings/unsubscribe_links",
        "description": "To create an unsubscribe link",
        "operationId": "postUnsubscribeLinks",
        "requestBody": {
          "description": "Request body",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/InitiateUnsubscribeLinksRequest"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Created - Resource created successfully",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CreateUnsubscribeLinksSuccessResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request - The request cannot be processed due to invalid syntax.",
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "type": "object",
                      "additionalProperties": false,
                      "description": "Wrapped error response with unsubscribe_links",
                      "properties": {
                        "unsubscribe_links": {
                          "type": "array",
                          "description": "Array of error objects",
                          "items": {
                            "oneOf": [
                              {
                                "$ref": "#/components/schemas/RequestBodyNotFoundError"
                              },
                              {
                                "$ref": "#/components/schemas/MandatoryFieldMissingError"
                              },
                              {
                                "$ref": "#/components/schemas/DuplicateDataError"
                              },
                              {
                                "$ref": "#/components/schemas/LinkLimitExceededError"
                              },
                              {
                                "$ref": "#/components/schemas/InvalidCustomLocationURLError"
                              },
                              {
                                "$ref": "#/components/schemas/DependentFieldMissingError"
                              },
                              {
                                "$ref": "#/components/schemas/MissingFieldError"
                              },
                              {
                                "$ref": "#/components/schemas/GeneralInvalidDataError"
                              },
                              {
                                "$ref": "#/components/schemas/GenericInvalidDataError"
                              },
                              {
                                "$ref": "#/components/schemas/InvalidDataValueErrorAlt"
                              },
                              {
                                "$ref": "#/components/schemas/InvalidDataErrorType"
                              },
                              {
                                "$ref": "#/components/schemas/RequiredFieldDependencyError"
                              }
                            ]
                          },
                          "maxItems": 25
                        }
                      },
                      "required": [
                        "unsubscribe_links"
                      ]
                    },
                    {
                      "$ref": "#/components/schemas/InvalidDataTypeError"
                    }
                  ]
                }
              }
            }
          },
          "403": {
            "description": "required field not found: submission_action_type",
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "type": "object",
                      "additionalProperties": false,
                      "description": "Wrapped error response with unsubscribe_links",
                      "properties": {
                        "unsubscribe_links": {
                          "type": "array",
                          "description": "Array of error objects",
                          "items": {
                            "$ref": "#/components/schemas/MandatoryFieldMissingError"
                          },
                          "maxItems": 25
                        }
                      },
                      "required": [
                        "unsubscribe_links"
                      ]
                    }
                  ]
                }
              }
            }
          }
        },
        "security": [
          {
            "iam-oauth2-schema": [
              "ZohoCRM.settings.unsubscribe.CREATE"
            ]
          }
        ]
      }
    },
    "/settings/unsubscribe_links/{id}": {
      "parameters": [
        {
          "name": "id",
          "in": "path",
          "required": true,
          "description": "unsubscribe links id in url path",
          "schema": {
            "type": "string",
            "maxLength": 255
          }
        }
      ],
      "get": {
        "summary": "GET /settings/unsubscribe_links/111111000000115718",
        "description": "To get unsubscribe link by id",
        "operationId": "get111111000000115718",
        "responses": {
          "200": {
            "description": "Success response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/RetrieveUnsubscribeLinksResponse"
                }
              }
            }
          },
          "204": {
            "description": "No Content - Successful response with no body"
          },
          "403": {
            "description": "permission denied",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PermissionDeniedError"
                }
              }
            }
          }
        },
        "security": [
          {
            "iam-oauth2-schema": [
              "ZohoCRM.settings.unsubscribe.READ"
            ]
          }
        ]
      },
      "put": {
        "summary": "PUT /settings/unsubscribe_links/111111000000115722",
        "description": "To update an unsubscribe link.",
        "operationId": "put111111000000115722",
        "requestBody": {
          "description": "Request body",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UnsubscribeLinkModificationByIdRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UpdateUnsubscribeLinksSuccessResponse"
                }
              }
            }
          },
          "400": {
            "description": "Auto-generated from ApiDefinition for INVALID_DATA",
            "content": {
              "application/json": {
                "schema": {
                  "oneOf": [
                    {
                      "$ref": "#/components/schemas/InvalidDataTypeError"
                    },
                    {
                      "type": "object",
                      "additionalProperties": false,
                      "description": "Wrapped error response with unsubscribe_links",
                      "properties": {
                        "unsubscribe_links": {
                          "type": "array",
                          "description": "Array of error objects",
                          "items": {
                            "oneOf": [
                              {
                                "$ref": "#/components/schemas/ErrorResponseCore1"
                              },
                              {
                                "$ref": "#/components/schemas/DependentFieldMissingError"
                              },
                              {
                                "$ref": "#/components/schemas/InvalidCustomLocationURLError"
                              },
                              {
                                "$ref": "#/components/schemas/GeneralInvalidDataError"
                              },
                              {
                                "$ref": "#/components/schemas/GenericInvalidDataError"
                              },
                              {
                                "$ref": "#/components/schemas/InvalidDataErrorType"
                              },
                              {
                                "$ref": "#/components/schemas/RequiredFieldDependencyError"
                              },
                              {
                                "$ref": "#/components/schemas/MissingFieldError"
                              }
                            ]
                          },
                          "maxItems": 25
                        }
                      },
                      "required": [
                        "unsubscribe_links"
                      ]
                    }
                  ]
                }
              }
            }
          }
        },
        "security": [
          {
            "iam-oauth2-schema": [
              "ZohoCRM.settings.unsubscribe.UPDATE"
            ]
          }
        ]
      },
      "delete": {
        "summary": "DELETE /settings/unsubscribe_links/111111000000115722",
        "description": "To delete an unsubscribe link.",
        "operationId": "delete111111000000115722",
        "responses": {
          "200": {
            "description": "OK - Successful response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnsubscribeLinkRemovalResultList"
                }
              }
            }
          },
          "400": {
            "description": "invalid id",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InvalidUnsubscribeLinkIdError"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden - The client does not have access rights to the content.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PermissionDeniedError"
                }
              }
            }
          }
        },
        "security": [
          {
            "iam-oauth2-schema": [
              "ZohoCRM.settings.unsubscribe.DELETE"
            ]
          }
        ]
      }
    },
    "/settings/unsubscribe_link/actions/associations": {
      "get": {
        "summary": "GET /settings/unsubscribe_link/actions/associations",
        "description": "To obtain information regarding the associations of unsubscribe links configured in your account.",
        "operationId": "getAssociations",
        "responses": {
          "200": {
            "description": "associated places list",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FetchAssociatedPlacesResponse"
                }
              }
            }
          },
          "204": {
            "description": "no associated places"
          },
          "403": {
            "description": "permission denied",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PermissionDeniedError"
                }
              }
            }
          }
        },
        "security": [
          {
            "iam-oauth2-schema": [
              "ZohoCRM.settings.unsubscribe.READ"
            ]
          }
        ]
      }
    }
  },
  "components": {
    "schemas": {
      "GeneratedSchema1": {
        "allOf": [
          {
            "$ref": "#/components/schemas/GeneratedSchema2"
          },
          {
            "type": "object",
            "additionalProperties": true,
            "description": "Required fields for POST /crm/v9/settings/unsubscribe_links",
            "required": [
              "name",
              "page_type",
              "submission_action_type"
            ]
          }
        ],
        "description": "Operation-specific schema for POST",
        "title": "Generated Schema"
      },
      "UnsubscribeLinkSummaryRecord": {
        "type": "object",
        "additionalProperties": false,
        "description": "Summarized unsubscribe link configuration with timestamps, page settings, submission behavior, and creator/modifier references as returned by the listing endpoint.",
        "properties": {
          "created_time": {
            "type": "string",
            "description": "Field: created_time",
            "maxLength": 255
          },
          "submission_message": {
            "type": "string",
            "description": "Field: submission_message",
            "maxLength": 255
          },
          "modified_time": {
            "type": "string",
            "description": "Field: modified_time",
            "maxLength": 255
          },
          "submission_redirect_url": {
            "type": "string",
            "description": "Field: submission_redirect_url",
            "maxLength": 255
          },
          "page_type": {
            "type": "string",
            "description": "Field: page_type",
            "maxLength": 255
          },
          "custom_location_url": {
            "type": "string",
            "description": "Field: custom_location_url",
            "maxLength": 255
          },
          "modified_by": {
            "$ref": "#/components/schemas/UnsubscribeLinkModifiedByUser"
          },
          "name": {
            "type": "string",
            "description": "Field: name",
            "maxLength": 255
          },
          "id": {
            "type": "string",
            "description": "Field: id",
            "maxLength": 255
          },
          "created_by": {
            "$ref": "#/components/schemas/UnsubscribeLinkCreatedByUser"
          },
          "standard_page_message": {
            "type": "null",
            "description": "Field: standard_page_message"
          },
          "submission_action_type": {
            "type": "string",
            "description": "Field: submission_action_type",
            "maxLength": 255
          }
        },
        "required": [
          "created_by",
          "created_time",
          "custom_location_url",
          "id",
          "modified_by",
          "modified_time",
          "name",
          "page_type",
          "standard_page_message",
          "submission_action_type",
          "submission_message",
          "submission_redirect_url"
        ],
        "title": "Unsubscribe Link Summary Record"
      },
      "LinkLimitExceededError": {
        "type": "object",
        "additionalProperties": false,
        "description": "Error showcasing that the allowed limit for creating unsubscribe links has been exceeded, along with necessary details.",
        "properties": {
          "code": {
            "type": "string",
            "description": "Error code",
            "enum": [
              "LIMIT_EXCEEDED"
            ]
          },
          "details": {
            "type": "object",
            "additionalProperties": false,
            "description": "Error details with validation information",
            "properties": {
              "limit": {
                "type": "integer",
                "format": "int32",
                "description": "Detail field: limit"
              },
              "limit_due_to": {
                "type": "array",
                "description": "Detail field: limit_due_to",
                "items": {
                  "type": "object",
                  "additionalProperties": false,
                  "description": "Detail Field: limit_due_to",
                  "properties": {
                    "api_name": {
                      "type": "string",
                      "description": "Nested detail field: api_name",
                      "maxLength": 255
                    },
                    "json_path": {
                      "type": "string",
                      "description": "Nested detail field: json_path",
                      "maxLength": 1000
                    }
                  }
                },
                "maxItems": 25
              }
            }
          },
          "message": {
            "type": "string",
            "description": "Error message",
            "enum": [
              "Unsubscribe Link limit exceeded"
            ]
          },
          "status": {
            "type": "string",
            "description": "Error status",
            "enum": [
              "error"
            ]
          }
        },
        "required": [
          "code",
          "details",
          "message",
          "status"
        ],
        "title": "Link Limit Exceeded Error"
      },
      "GeneratedSchema3": {
        "allOf": [
          {
            "$ref": "#/components/schemas/GeneratedSchema2"
          },
          {
            "type": "object",
            "additionalProperties": true,
            "description": "Required fields for PUT /crm/v9/settings/unsubscribe_links",
            "required": [
              "id"
            ]
          }
        ],
        "description": "Operation-specific schema for PUT",
        "title": "Generated Schema"
      },
      "GeneratedSchema2": {
        "type": "object",
        "additionalProperties": true,
        "description": "Base schema for array items",
        "properties": {
          "submission_message": {
            "type": "string",
            "description": "Field: submission_message",
            "maxLength": 255
          },
          "submission_redirect_url": {
            "type": "string",
            "description": "Field: submission_redirect_url",
            "maxLength": 255
          },
          "page_type": {
            "type": "string",
            "description": "Field: page_type",
            "maxLength": 255
          },
          "custom_location_url": {
            "type": "string",
            "description": "Field: custom_location_url",
            "maxLength": 255
          },
          "name": {
            "type": "string",
            "description": "Field: name",
            "maxLength": 255
          },
          "id": {
            "type": "string",
            "description": "Field: id",
            "maxLength": 255
          },
          "standard_page_message": {
            "type": "string",
            "description": "Field: standard_page_message",
            "maxLength": 255
          },
          "submission_action_type": {
            "type": "string",
            "description": "Field: submission_action_type",
            "maxLength": 255
          }
        },
        "title": "Generated Schema"
      },
      "GeneratedSchema": {
        "allOf": [
          {
            "$ref": "#/components/schemas/GeneratedSchema2"
          },
          {
            "type": "object",
            "additionalProperties": true,
            "description": "Required fields for PUT /crm/v9/settings/unsubscribe_links/111111000000115722",
            "required": [
              "id"
            ]
          }
        ],
        "description": "Operation-specific schema for PUT",
        "title": "Generated Schema"
      },
      "UnsubscribeLinkAssociationRecord": {
        "type": "object",
        "additionalProperties": false,
        "description": "Association record that groups related associated places under a specific association id.",
        "properties": {
          "id": {
            "type": "string",
            "description": "Field: id",
            "maxLength": 255
          },
          "associated_places": {
            "type": "array",
            "description": "Field: associated_places",
            "items": {
              "$ref": "#/components/schemas/UnsubscribeLinkAssociatedPlace"
            },
            "maxItems": 1
          }
        },
        "required": [
          "associated_places",
          "id"
        ],
        "title": "Unsubscribe Link Association Record"
      },
      "RetrieveUnsubscribeLinksResponse": {
        "type": "object",
        "additionalProperties": false,
        "description": "Response payload containing unsubscribe links upon successfully executing the designated API route GET request.",
        "properties": {
          "unsubscribe_links": {
            "type": "array",
            "description": "Field: unsubscribe_links",
            "items": {
              "$ref": "#/components/schemas/UnsubscribeLinkDetailRecord"
            },
            "maxItems": 1
          }
        },
        "required": [
          "unsubscribe_links"
        ],
        "title": "Retrieve Unsubscribe Links Response"
      },
      "UnsubscribeLinkCreatedByUser": {
        "type": "object",
        "additionalProperties": false,
        "description": "User who created the unsubscribe link, including name and id.",
        "properties": {
          "name": {
            "type": "string",
            "description": "Field: name",
            "maxLength": 255
          },
          "id": {
            "type": "string",
            "description": "Field: id",
            "maxLength": 255
          }
        },
        "required": [
          "id",
          "name"
        ],
        "title": "Unsubscribe Link Created By User"
      },
      "DependentFieldMissingError": {
        "type": "object",
        "additionalProperties": false,
        "description": "Response indicating a missing dependent field requirement for an operation, with details about the failing condition.",
        "properties": {
          "code": {
            "type": "string",
            "description": "Error code",
            "enum": [
              "DEPENDENT_FIELD_MISSING"
            ]
          },
          "details": {
            "type": "object",
            "additionalProperties": false,
            "description": "Error details with validation information",
            "properties": {
              "dependee": {
                "type": "object",
                "additionalProperties": false,
                "description": "Detail field: dependee",
                "properties": {
                  "api_name": {
                    "type": "string",
                    "description": "Nested detail field: api_name",
                    "maxLength": 255
                  },
                  "json_path": {
                    "type": "string",
                    "description": "Nested detail field: json_path",
                    "maxLength": 1000
                  }
                }
              },
              "api_name": {
                "type": "string",
                "description": "Detail field: api_name",
                "maxLength": 255
              },
              "json_path": {
                "type": "string",
                "description": "Detail field: json_path",
                "maxLength": 1000
              }
            }
          },
          "message": {
            "type": "string",
            "description": "Error message",
            "enum": [
              "required field not found"
            ]
          },
          "status": {
            "type": "string",
            "description": "Error status",
            "enum": [
              "error"
            ]
          }
        },
        "required": [
          "code",
          "details",
          "message",
          "status"
        ],
        "title": "Dependent Field Missing Error"
      },
      "UnsubscribeLinkDetailRecord": {
        "type": "object",
        "additionalProperties": false,
        "description": "Full unsubscribe link configuration with display messages, submission behavior, and audit information.",
        "properties": {
          "created_time": {
            "type": "string",
            "description": "Field: created_time",
            "maxLength": 255
          },
          "submission_message": {
            "type": "string",
            "description": "Field: submission_message",
            "maxLength": 255
          },
          "modified_time": {
            "type": "string",
            "description": "Field: modified_time",
            "maxLength": 255
          },
          "submission_redirect_url": {
            "type": "null",
            "description": "Field: submission_redirect_url"
          },
          "page_type": {
            "type": "string",
            "description": "Field: page_type",
            "maxLength": 255
          },
          "custom_location_url": {
            "type": "null",
            "description": "Field: custom_location_url"
          },
          "modified_by": {
            "$ref": "#/components/schemas/UnsubscribeLinkModifiedByUserDetail"
          },
          "name": {
            "type": "string",
            "description": "Field: name",
            "maxLength": 255
          },
          "id": {
            "type": "string",
            "description": "Field: id",
            "maxLength": 255
          },
          "created_by": {
            "$ref": "#/components/schemas/UnsubscribeLinkCreatedByUserDetail"
          },
          "standard_page_message": {
            "type": "string",
            "description": "Field: standard_page_message",
            "maxLength": 255
          },
          "submission_action_type": {
            "type": "string",
            "description": "Field: submission_action_type",
            "maxLength": 255
          }
        },
        "required": [
          "created_by",
          "created_time",
          "custom_location_url",
          "id",
          "modified_by",
          "modified_time",
          "name",
          "page_type",
          "standard_page_message",
          "submission_action_type",
          "submission_message",
          "submission_redirect_url"
        ],
        "title": "Unsubscribe Link Detail Record"
      },
      "InvalidDataErrorType": {
        "type": "object",
        "additionalProperties": false,
        "description": "This error tackles invalid data errors, offering crucial insights via error codes and detailed validation info.",
        "properties": {
          "code": {
            "type": "string",
            "description": "Error code",
            "enum": [
              "INVALID_DATA"
     

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