{
  "openapi": "3.0.1",
  "info": {
    "title": "Zendesk Multilingual Ticket Exporter",
    "description": "Incrementally export and translate Zendesk support tickets into any language using Lingo.dev. Perfect for cross-border support analysis, AI training, and creating unified multilingual datasets.",
    "version": "0.0",
    "x-build-id": "LqH5PdLkgVFuw3JO2"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/muhammetakkurtt~zendesk-multilingual-ticket-exporter/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-muhammetakkurtt-zendesk-multilingual-ticket-exporter",
        "x-openai-isConsequential": false,
        "summary": "Executes an Actor, waits for its completion, and returns Actor's dataset items in response.",
        "tags": [
          "Run Actor"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/inputSchema"
              }
            }
          }
        },
        "parameters": [
          {
            "name": "token",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Enter your Apify token here"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/acts/muhammetakkurtt~zendesk-multilingual-ticket-exporter/runs": {
      "post": {
        "operationId": "runs-sync-muhammetakkurtt-zendesk-multilingual-ticket-exporter",
        "x-openai-isConsequential": false,
        "summary": "Executes an Actor and returns information about the initiated run in response.",
        "tags": [
          "Run Actor"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/inputSchema"
              }
            }
          }
        },
        "parameters": [
          {
            "name": "token",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Enter your Apify token here"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/runsResponseSchema"
                }
              }
            }
          }
        }
      }
    },
    "/acts/muhammetakkurtt~zendesk-multilingual-ticket-exporter/run-sync": {
      "post": {
        "operationId": "run-sync-muhammetakkurtt-zendesk-multilingual-ticket-exporter",
        "x-openai-isConsequential": false,
        "summary": "Executes an Actor, waits for completion, and returns the OUTPUT from Key-value store in response.",
        "tags": [
          "Run Actor"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/inputSchema"
              }
            }
          }
        },
        "parameters": [
          {
            "name": "token",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Enter your Apify token here"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    }
  },
  "components": {
    "schemas": {
      "inputSchema": {
        "type": "object",
        "required": [
          "zendeskSubdomain",
          "zendeskEmail",
          "zendeskApiToken",
          "lingoApiKey",
          "targetLocale"
        ],
        "properties": {
          "zendeskSubdomain": {
            "title": "Zendesk subdomain",
            "pattern": "^[a-zA-Z0-9-]{2,60}$",
            "minLength": 2,
            "maxLength": 60,
            "type": "string",
            "description": "Your Zendesk subdomain, which is the first part of your Zendesk URL (e.g., enter 'mycompany' if your URL is https://mycompany.zendesk.com)."
          },
          "zendeskEmail": {
            "title": "Zendesk email",
            "pattern": "^[^\\s@]+@[^\\s@]+\\.[^\\s@]+$",
            "type": "string",
            "description": "The email address of the agent or admin account associated with the API token. Ensure this account has permissions to access the API."
          },
          "zendeskApiToken": {
            "title": "Zendesk API token",
            "type": "string",
            "description": "Your Zendesk API token. Generate this in Zendesk Admin Center > Apps and integrations > APIs > Zendesk API. Ensure 'Token Access' is enabled in settings."
          },
          "lingoApiKey": {
            "title": "Lingo.dev API key",
            "type": "string",
            "description": "Your API key from Lingo.dev. This key is used to authenticate translation requests."
          },
          "targetLocale": {
            "title": "Target locale",
            "pattern": "^[A-Za-z]{2,3}(-[A-Za-z0-9]{2,8})*$",
            "minLength": 2,
            "maxLength": 32,
            "type": "string",
            "description": "The language you want to translate your tickets into (e.g., 'en', 'es', 'fr', 'de'). You can type any valid ISO 639-1 code supported by Lingo.dev.",
            "default": "en"
          },
          "includeSubjectAndDescription": {
            "title": "Include subject & description",
            "type": "boolean",
            "description": "If enabled, the ticket's subject and description will be translated.",
            "default": true
          },
          "includePublicComments": {
            "title": "Include public comments",
            "type": "boolean",
            "description": "If enabled, public comments on the ticket will be fetched and translated.",
            "default": true
          },
          "since": {
            "title": "Start date",
            "type": "string",
            "description": "The starting point for fetching tickets. This is only used for the FIRST run or if 'Resume from saved cursor' is disabled. Can be a relative time (e.g., '7 days', '1 month') or an absolute date (YYYY-MM-DD)."
          },
          "maxTickets": {
            "title": "Max tickets per run",
            "minimum": 1,
            "type": "integer",
            "description": "The maximum number of tickets to process in a single Actor run. Useful for controlling consumption and testing.",
            "default": 50
          },
          "includeDeletedTickets": {
            "title": "Include deleted tickets",
            "type": "boolean",
            "description": "If enabled, tickets marked as 'deleted' in Zendesk will also be processed. Usually, you want this disabled.",
            "default": false
          },
          "localeDetection": {
            "title": "Detection mode",
            "enum": [
              "off",
              "primary",
              "fields"
            ],
            "type": "string",
            "description": "Controls how the source language of the ticket is detected.\n\n• Off: No detection is performed (saves API calls).\n• Primary (Recommended): Detects language from the main content (description or first comment) using 1 API call per ticket.\n• Fields: Detects language for subject, description, and comments individually. More precise for mixed-language tickets but uses more API calls.",
            "default": "primary"
          },
          "detectionCommentLimit": {
            "title": "Max comments to analyze (N)",
            "minimum": 0,
            "type": "integer",
            "description": "Only used when Detection Mode is set to 'Fields'. Limits the number of public comments to analyze for language detection to control costs.",
            "default": 10
          },
          "resumeFromState": {
            "title": "Resume from saved cursor",
            "type": "boolean",
            "description": "If enabled, the Actor will pick up exactly where it left off in the previous run using the saved cursor. If disabled, it will start fresh from the 'Start date'. Keep this enabled for scheduled runs.",
            "default": true
          },
          "debug": {
            "title": "Debug logs",
            "type": "boolean",
            "description": "If enabled, detailed debug information will be written to the log. Useful for troubleshooting issues.",
            "default": false
          }
        }
      },
      "runsResponseSchema": {
        "type": "object",
        "properties": {
          "data": {
            "type": "object",
            "properties": {
              "id": {
                "type": "string"
              },
              "actId": {
                "type": "string"
              },
              "userId": {
                "type": "string"
              },
              "startedAt": {
                "type": "string",
                "format": "date-time",
                "example": "2025-01-08T00:00:00.000Z"
              },
              "finishedAt": {
                "type": "string",
                "format": "date-time",
                "example": "2025-01-08T00:00:00.000Z"
              },
              "status": {
                "type": "string",
                "example": "READY"
              },
              "meta": {
                "type": "object",
                "properties": {
                  "origin": {
                    "type": "string",
                    "example": "API"
                  },
                  "userAgent": {
                    "type": "string"
                  }
                }
              },
              "stats": {
                "type": "object",
                "properties": {
                  "inputBodyLen": {
                    "type": "integer",
                    "example": 2000
                  },
                  "rebootCount": {
                    "type": "integer",
                    "example": 0
                  },
                  "restartCount": {
                    "type": "integer",
                    "example": 0
                  },
                  "resurrectCount": {
                    "type": "integer",
                    "example": 0
                  },
                  "computeUnits": {
                    "type": "integer",
                    "example": 0
                  }
                }
              },
              "options": {
                "type": "object",
                "properties": {
                  "build": {
                    "type": "string",
                    "example": "latest"
                  },
                  "timeoutSecs": {
                    "type": "integer",
                    "example": 300
                  },
                  "memoryMbytes": {
                    "type": "integer",
                    "example": 1024
                  },
                  "diskMbytes": {
                    "type": "integer",
                    "example": 2048
                  }
                }
              },
              "buildId": {
                "type": "string"
              },
              "defaultKeyValueStoreId": {
                "type": "string"
              },
              "defaultDatasetId": {
                "type": "string"
              },
              "defaultRequestQueueId": {
                "type": "string"
              },
              "buildNumber": {
                "type": "string",
                "example": "1.0.0"
              },
              "containerUrl": {
                "type": "string"
              },
              "usage": {
                "type": "object",
                "properties": {
                  "ACTOR_COMPUTE_UNITS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_WRITES": {
                    "type": "integer",
                    "example": 1
                  },
                  "KEY_VALUE_STORE_LISTS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_INTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_EXTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_SERPS": {
                    "type": "integer",
                    "example": 0
                  }
                }
              },
              "usageTotalUsd": {
                "type": "number",
                "example": 0.00005
              },
              "usageUsd": {
                "type": "object",
                "properties": {
                  "ACTOR_COMPUTE_UNITS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_WRITES": {
                    "type": "number",
                    "example": 0.00005
                  },
                  "KEY_VALUE_STORE_LISTS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_INTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_EXTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_SERPS": {
                    "type": "integer",
                    "example": 0
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}