smartling_add_strings_to_job
ChatGPTAdd strings to an existing Smartling job by their hashcodes. Optionally restrict to specific target locales, or move strings that already exist in other jobs (move_enabled=true).
smartling_add_styleguide_attachment
ChatGPTAdd a link or file attachment to a Smartling style guide. attachment_type picks which other fields apply: - LINK: requires url. file_content/upload_id/file_name are not allowed. - FILE: requires exactly one of file_content or upload_id (see below). url is not allowed. Two ways to supply a FILE attachment's content - provide exactly one of upload_id or file_content: 1. upload_id (preferred, default choice): call smartling_request_upload_url first, PUT the file to the returned URL, then pass the returned upload_id here. Use this whenever you can run shell commands, regardless of file size or type. 2. file_content (inline base64): only use this when you cannot run shell commands, or the user explicitly asks for inline/base64 content. File attachments are limited to 25MB. Examples - Add a link: attachment_type="LINK", description="Brand guidelines", url="https://example.com/brand.pdf" - Add a file: attachment_type="FILE", description="Logo usage guide", upload_id="<id from smartling_request_upload_url>"
smartling_add_tags_to_strings
ChatGPTAdd tags to strings in a Smartling project, for categorizing content for quick filtering.
smartling_authorize_entries_for_translation
ChatGPTAuthorize glossary entries matching a filter for translation into one or more locales via existing project workflows. This is an asynchronous operation: the response confirms the request was accepted (with an operation_uid), not that it has completed.
smartling_authorize_job
ChatGPTAuthorize a Smartling job to begin translation work (moves it from AWAITING_AUTHORIZATION to IN_PROGRESS), with optional per-locale workflow assignments. Jobs must have content and be in AWAITING_AUTHORIZATION status to be authorized. Authorization cannot be reversed directly - cancelling the job is the way to undo it - and may trigger email notifications depending on recipients' notification preferences. locale_workflows is optional; locales left unspecified use project default workflows.
smartling_count_account_issues
ChatGPTCount issues across all projects in a Smartling account (with optional project narrowing).
smartling_count_project_issues
ChatGPTCount issues within a single Smartling project matching the given filters.
smartling_create_issue
ChatGPTCreate a new string issue (question, clarification, or quality flag) on a Smartling string.
smartling_create_job
ChatGPTCreate Smartling job. Use cases - User needs to create jobs with specific parameters When to use smartling_get_or_create_translation_job instead If you just need a translationJobUid quickly (e.g. for smartling_create_job_batch) and don't need full control over custom fields, reference numbers, or precise due dates, consider smartling_get_or_create_translation_job instead - it can reuse an existing job by name template rather than always creating a new one. Job Details Response The response includes detailed job information: - Callback method and URL configuration - Creation and modification user details - Custom field values - Complete job metadata and timestamps
smartling_create_job_batch
ChatGPTCreate a new job batch to upload multiple files and attach them to a translation job in one coordinated flow. A batch declares a list of file URIs up front, then lets you upload each file (smartling_upload_file_to_job_batch), register/cancel individual files as needed (smartling_process_job_batch_action), and track progress (smartling_get_job_batch_status) - instead of you polling each upload/parse/attach step yourself. The batch automatically executes once every declared file is either uploaded or canceled. - translation_job_uid must reference an existing job (see smartling_get_or_create_translation_job or smartling_create_job) - file_uris must be unique within the batch - rush_job is only valid when authorize is true; setting it with authorize=false is rejected - locale_workflows[].translation_job_workflow_step_due_dates can only be set when authorize is true
smartling_create_strings
ChatGPTCreate strings in a Smartling project and poll until completion. What are strings in Smartling? Strings are individual pieces of text content that need to be translated. Each string has a unique identifier (hashcode) and can contain metadata like instructions, format specifications, and variant information. Use cases - Create new translatable content in a Smartling project - Upload strings with specific formatting requirements - Add strings with translation instructions and context - Bulk create strings for translation workflows Examples - Create simple strings: strings=[{"string_text": "Hello World"}] - Create strings with variants: strings=[{"string_text": "Submit", "variant": "button.submit"}] - Create strings with instructions: strings=[{"string_text": "Click here", "instruction": "This is a call-to-action button"}] - Create strings with formatting: strings=[{"string_text": "<b>Bold text</b>", "format": "html"}] Parameters - project_id: The unique identifier of the Smartling project - namespace: (Optional) Namespace to organize strings - placeholder_format: (Optional) Format for placeholders (e.g., "java", "python", "c", "resx", "yaml") - placeholder_format_custom: (Optional) Custom regex pattern for placeholders - strings: Array of string objects to create (max 100 strings per request) String Object Properties - string_text: The actual text content (required) - variant: (Optional) Unique identifier/key for the string - callback_url: (Optional) URL for callback notifications - callback_method: (Optional) HTTP method for callback (GET, POST) - instruction: (Optional) Translation instruction/context - format: (Optional) Content format (plain, html, xml, etc.) - max_length: (Optional) Maximum character length for translations Polling Behavior This tool automatically polls the creation process status until completion (up to 5 minutes). It returns when the process is either successfully completed or failed.
smartling_create_styleguide
ChatGPTCreate a new Smartling style guide for an account. style_guide_type picks which other fields apply: - PLAINTEXT: a style guide defined by free-form text. Requires text. Does not accept any of the SMARTLING-only fields below. - SMARTLING: a structured style guide built from discrete stylistic fields (tone, grammar voice, translation exceptions, etc.), all optional. Does not accept text. name must be unique within the account. base_locale_id is a locale code (e.g. "en-US" or "en"). Examples - Create a plaintext style guide: style_guide_type="PLAINTEXT", name="Marketing", base_locale_id="en-US", text="Always use a friendly, upbeat tone." - Create a structured style guide: style_guide_type="SMARTLING", name="Support Docs", base_locale_id="en-US", grammar_voice="ACTIVE_VOICE", capitalization=true
smartling_delete_issue_assignee
ChatGPTUnassign the user currently assigned to an issue.
smartling_delete_lqa_error
ChatGPTDelete a manual LQA finding that was recorded by mistake. This action cannot be easily undone.
smartling_delete_styleguide
ChatGPTPermanently delete a Smartling style guide. This fails if the style guide is still referenced by a linguistic package - remove that reference first.
smartling_download_styleguide_attachment
ChatGPTDownload a file attachment from a Smartling style guide. Returns a presigned download URL for the file, not the file content itself. The URL is valid for 15 minutes, so fetch it promptly - re-run this tool to get a fresh URL if it expires.
smartling_download_translated_file
ChatGPTDownload translated content for a file from Smartling - as a single file for one locale, a zip of all locales for one file, or a zip of multiple files across specified locales. Modes - SINGLE_LOCALE: one file, one locale - returns the translated file itself - ALL_LOCALES_ZIP: one file, every locale that has translations - returns a zip archive - MULTIPLE_FILES_ZIP: multiple files, each with its own locale list - returns a zip archive (up to 500 file/locale combinations total) Important Notes - For MADCAP, DITA_ZIP, CSV, XLSX_TEMPLATE, and XCSTRINGS files only, locale_id in SINGLE_LOCALE mode also accepts a comma-separated locale list or "all" to get one combined (non-zip) file with all of those locales. - MULTIPLE_FILES_ZIP returns a "no files found" text response instead of a file when file_filter=PUBLISHED_FILES_ONLY excludes every requested file. - Returns a presigned download URL, not the file content itself. The URL is valid for 15 minutes, so fetch it promptly - re-run this tool to get a fresh URL if it expires.
smartling_edit_issue_text
ChatGPTEdit the body text of an existing issue.
smartling_execute_lqa_evaluation
ChatGPTRun an automated Linguistic Quality Assurance (LQA) evaluation on a single translated string and get back any detected quality errors. Checks the translation against the source using Smartling's linguistic quality rules (e.g. blocklist compliance, omissions, mistranslations) and returns errors found, each with a category and severity. Does not modify the string or record errors anywhere - it only reports what an LQA scan would flag; use smartling_record_lqa_error to persist a finding.
smartling_export_account_lqa_errors
ChatGPTExport LQA findings across the whole Smartling account as a CSV file, using the same filters as smartling_find_account_lqa_errors. Returns a presigned download URL, not the CSV content itself. The URL is valid for 15 minutes, so fetch it promptly - re-run this tool to get a fresh URL if it expires.
smartling_export_glossary
ChatGPTExport glossary entries in various formats (CSV, XLSX, TBX), with filtering by locale, state, labels, dates, and more. Returns a presigned download URL for the exported file, not the file content itself. The URL is valid for 15 minutes, so fetch it promptly - re-run this tool to get a fresh URL if it expires.
smartling_find_account_issues
ChatGPTSearch issues across all projects in a Smartling account, with pagination, sorting, filters, and optional project narrowing.
smartling_find_account_lqa_errors
ChatGPTSearch LQA findings across the whole Smartling account, with rich filters. The account is taken from the MCP token credentials.
smartling_find_project_issues
ChatGPTSearch issues within a single Smartling project, with pagination, sorting, and filters by date, state, severity, type, assignee, job containment, and string hashcode/locale.
smartling_get_account_user_status
ChatGPTCheck whether email addresses already belong to a user, account user, or pending invite in a Smartling account - useful before inviting new users.
smartling_get_available_accounts_for_current_user
ChatGPTGet the Smartling accounts the current authenticated user has access to. Call this first to obtain the account_id required by most other tools; if more than one account is returned, ask the user which one to use. Returns up to 100 accounts by default; pass limit (1-100) to raise or lower that cap. There is no offset for this endpoint, so accounts beyond the limit cannot be retrieved.
smartling_get_current_user_roles_info
ChatGPTGet the current authenticated user's role information (top native role, currently active role, and the roles they are allowed to switch to) along with their name and email - also useful as a "who am I" lookup.
smartling_get_file_status
ChatGPTGet a file's translation status for every locale, and its last-modified date per locale. Returns two independent results - status (per-locale progress and word counts) and lastModified (per-locale last-modified dates) - from two separate Smartling API calls. They are not merged together.
smartling_get_glossary
ChatGPTRetrieve a specific glossary from the current Smartling account by its UID. If you only have a project (not a glossary UID), load the glossary-uid-resolution skill (smartling_load_skill) to resolve it.
smartling_get_glossary_entry
ChatGPTRetrieve a single glossary entry by its UID.
smartling_get_invite_link
ChatGPTGet the shareable invitation link URL for a pending invite.
smartling_get_issue
ChatGPTRetrieve detailed information about a specific string issue - a question, clarification request, or quality flag raised against a string (source or translation) in a project.
smartling_get_job
ChatGPTGet full details for a specific Smartling job by its UID, including priority, source files, callback configuration, and custom fields - more than smartling_list_jobs returns.
smartling_get_job_batch_status
ChatGPTGet the detailed status of a Smartling job batch, including per-file and per-locale progress. See smartling_create_job_batch for what a batch is. To debug a stuck or failed batch, inspect files[].status and files[].errors for the failing file.
smartling_get_job_history
ChatGPTGet the chronological audit trail of a Smartling job: creation, status changes, content additions/removals, due date/priority changes, and rush request create/remove events. Each entry records the action, when it started/ended, who (if anyone) performed it, and event-specific details. Returns up to 100 most recent entries by default; use offset/limit to page through more, guided by totalCount in the response.
smartling_get_job_progress
ChatGPTGet per-locale, per-workflow-step translation progress for a job, or for a single file within it (target_locale_id and file_uri are mutually exclusive). Also useful for finding the workflow UIDs currently active on a job, e.g. before checking LQA/MQM statistics availability.
smartling_get_linguistic_package
ChatGPTRetrieve a specific linguistic package (a bundle of glossaries, style guides, and TM settings made available to translators) from the current Smartling account by its UID. To resolve a package from a project: smartling_list_projects -> smartling_get_project -> smartling_get_linguistic_package (skip the first step if you already have the project uid).
smartling_get_lqa_schema_topology
ChatGPTGet the full category/severity/error-type breakdown for one LQA schema - resolves human-readable names to the UIDs smartling_record_lqa_error and smartling_update_lqa_error need. Check severityTypeCode first: - NAMED: match severityNames[].name to your desired severity, then pass its severityNameUid to smartling_record_lqa_error/smartling_update_lqa_error - POINT_RANGE: pass a numeric severity_score within severityRange.min-max instead - severityNames will be empty
smartling_get_mqm_statistics
ChatGPTGet MQM (Multidimensional Quality Metrics) quality scores for one or more translation jobs, gated by whether statistics are actually available yet. MQM statistics are computed from LQA findings recorded against a job's translations (see smartling_record_lqa_error), rolled up into per-job, per-schema, and per-locale quality scores. They're only meaningful once enough LQA review has happened, so always check each result's mqmStatisticsAvailable before reading a score - a false value means statistics is null for that job, not that quality is zero. - "Show quality for Job NAME" -> read the job-level fields (qualityScore, criticalErrorCount, etc.) inside statistics - "Show quality for [language] for Job NAME" -> read statistics.schemas[].targetLocales[] for that locale To enumerate the actual strings behind a quality issue (e.g. "show strings with critical errors"), see the mqm-quality-drilldown skill (smartling_load_skill).
smartling_get_or_create_translation_job
ChatGPTGet an existing translation job by name template, or create one if none matches - a simplified alternative to smartling_create_job for batch/file-upload workflows. Use this when you just need a translationJobUid quickly (e.g. via smartling_create_job_batch); use smartling_create_job instead when you need full control over job creation (custom fields, reference numbers, precise due dates, etc). name_template supports date pattern placeholders using Java DateTimeFormatter syntax (e.g. "{yyyy}", "{QQQ}", "{yyyy-MM-dd}"), evaluated at request time using time_zone_name (or server time if omitted). mode: REUSE_EXISTING (default) returns an existing job matching the evaluated name, or - if that job is closed - creates a new job with a unique name via the salt strategy. CREATE_NEW always creates a new job with the evaluated name, appending a unique identifier via the salt strategy if one already exists.
smartling_get_project
ChatGPTGet detailed information about a specific Smartling project by its UID, including its target locales.
smartling_get_styleguide
ChatGPTGet a Smartling style guide by its unique identifier. A style guide is a set of content formatting, tone, and writing-style rules used to keep translations consistent with brand voice.
smartling_get_styleguide_permissions
ChatGPTGet the calling user's style guide permissions.
smartling_get_user_allowed_actions
ChatGPTGet the actions the current caller is allowed to perform on specific users in an account (e.g. check whether removal is allowed before calling smartling_remove_users).
smartling_get_word_count_report
ChatGPTGet word count and weighted word count report from Smartling as CSV, covering projects, jobs, translation resources, agencies, locales, workflow steps, and fuzzy matching profiles. CRITICAL: the date range (end_date - start_date) must be less than 1 year (365 days), or the API returns a validation error. Apply as many filters as possible (project_ids, target_locale_ids, job_uids, user_uids, workflow_step_types, a narrow start_date/end_date) and request only the fields you need via 'fields' - unfiltered calls can return very large responses. If unsure which fields to request, see the 'fields' parameter description for a recommended default set.
smartling_get_workflow_step_types
ChatGPTList the workflow step types available in Smartling (e.g., "Translation", "Review", "Edit"), for use when filtering other report tools by workflow_step_types.
smartling_integration_get_instant_translation_request
ChatGPTGet the per-asset, per-locale results of one instant (machine) translation request made via smartling_integration_request_instant_translation. Use state="FAILED" to diagnose failures via each locale's errorMessage.
smartling_integration_get_search_context
ChatGPTDiscover everything needed to search a connector's content: connection status, valid filter values, and locale mappings - these vary per connector and per account. See the integration-translation-request skill (smartling_load_skill) for when to call this in the overall workflow. connected=false means the integration isn't ready for this project - every other field is omitted, and smartling_integration_search_assets should not be called yet.
smartling_integration_list_available
ChatGPTList the connectors (integrations, e.g. Intercom, Zendesk) available on a Smartling account, to get each connector's normalized integration_id. See the integration-translation-request skill (smartling_load_skill) for the full workflow.
smartling_integration_request_instant_translation
ChatGPTRequest instant (machine) translation for connector assets found via smartling_integration_search_assets, without going through a Smartling job. See the integration-translation-request skill (smartling_load_skill) for the full workflow, including how to check results afterward.
smartling_integration_request_tms_translation
ChatGPTSubmit connector assets, found via smartling_integration_search_assets, to an existing Smartling job for human (TMS) translation; this tool does not create jobs. See the integration-translation-request skill (smartling_load_skill) for the full workflow, including how to check translation progress afterward.
smartling_integration_search_assets
ChatGPTSearch a connector's content (e.g. Intercom articles) for assets to translate. See the integration-translation-request skill (smartling_load_skill) for the full workflow, including how to learn valid asset_type/submission_status/custom_filters values first. smartling_locale_id must be one of the Smartling locale codes returned by smartling_integration_get_search_context's localeMappings for this connector - passing a locale id with no mapping fails with an error rather than searching unfiltered.
smartling_integration_search_instant_translation_requests
ChatGPTList/filter past instant (machine) translation requests for a connector (the "View Instant Requests" list in the Smartling UI). Use the returned actionUid with smartling_integration_get_instant_translation_request to drill into one request's results.
smartling_list_content_assignments
ChatGPTList content assignments for the current Smartling account - each ties a project, target locale, workflow step, translation job, and the translator or agency assigned to it, along with word count and due dates. A null userUid/agencyUid means the step is unassigned. Omitting job_uids returns every assignment across the account, which can be very large and may fail to return. Look up the job(s) you care about first via smartling_list_jobs or smartling_search_strings, then pass their UIDs to scope the response down.
smartling_list_current_user_projects
ChatGPTList the projects the current authenticated user can access within an account, with optional filtering by keyword or project type.
smartling_list_file_jobs
ChatGPTRetrieve the translation jobs that include a specific file in a Smartling project. Each job object contains job metadata (UID, status, dates). Special case - Unassigned strings: If the file contains strings not assigned to any job, the response includes an indicator object with all null values {"jobUid":null,"dueDate":null,"createdDate":null,"status":null} - this signals that some file content remains unassigned. Useful for diagnosing why a connector isn't delivering completed jobs (file content may span multiple incomplete jobs).
smartling_list_glossaries
ChatGPTList glossaries by name, description, state, target locale, or UIDs. Returns up to 100 glossaries by default; use offset/limit to page through more, guided by totalCount in the response.
smartling_list_glossary_labels
ChatGPTList all glossary labels in an account.
smartling_list_invites
ChatGPTList pending invites for a Smartling account, with optional filtering and sorting. Returns an offsetToken for paging through more results via offset_token.
smartling_list_job_batches
ChatGPTList job batches for a Smartling project, optionally filtered by translation job or status. Page through results using offset/limit, guided by totalCount in the response.
smartling_list_job_files
ChatGPTList the source files attached to a Smartling job, including each file's fileUid and per-job locale coverage. Returns up to 1000 files by default; use offset/limit to page through more, guided by totalCount in the response.
smartling_list_jobs
ChatGPTList jobs in a Smartling project, optionally filtered by name (partial match) or status. Returns up to 100 jobs by default; use offset/limit to page through more, guided by totalCount in the response.
smartling_list_linguistic_packages
ChatGPTList all linguistic packages in the current Smartling account.
smartling_list_lqa_errors_per_string
ChatGPTRead back the LQA findings already recorded on one specific string.
smartling_list_lqa_schemas
ChatGPTList LQA schemas configured for a Smartling account. An LQA schema defines the categories, error types, and severity levels used when recording manual LQA findings on a string, and whether MQM statistics are computed against it. Resolve schema_uid here before calling smartling_get_lqa_schema_topology or smartling_record_lqa_error.
smartling_list_projects
ChatGPTList projects in the current Smartling account, optionally filtered by name, archived status, or project type code. Returns simplified objects with no extra detail - if you only have a project name, chain smartling_list_projects -> smartling_get_project to get full details. Returns up to 100 projects by default; use offset/limit to page through more, guided by totalCount in the response.
smartling_list_skills
ChatGPTList available skills, grouped by category. Skills capture Smartling-specific workflows and domain conventions (e.g. connector setup, job/batch sequencing, reporting, dashboard URL/link generation) that aren't obvious from tool schemas alone. Check here when a request names or implies a multi-step Smartling workflow you're not already certain how to sequence - this is a cheap, read-only lookup with no side effects, so there's little downside to checking even when unsure. After calling this tool: - If a returned skill's summary matches the task, load it with smartling_load_skill and follow its instructions. - If none of the returned skills apply, proceed with your own judgement about which tool(s) best accomplish the user's goal.
smartling_list_styleguide_attachments
ChatGPTList the attachments (links and files) on a Smartling style guide.
smartling_list_styleguide_locales
ChatGPTList the target locales currently bound to a Smartling style guide.
smartling_list_styleguides
ChatGPTList style guides in a Smartling account, optionally filtered by name.
smartling_list_users
ChatGPTList users in a Smartling account, with optional filters by name, role, project, status, or specific UIDs. For role name examples, see the user_roles parameter (the full role catalog is enumerated in smartling_invite_users). Returns up to 100 users by default; use offset/limit to page through more, guided by totalCount in the response.
smartling_list_workflows
ChatGPTList workflows (translation process steps, e.g. translation, editing, review, publishing) from a Smartling project, with optional filtering by keyword, locale, or UID. Returns up to 100 workflows by default; use limit to request more (up to 500). There is no offset - this caps the result set rather than paging through it. Verbose fields are stripped from the response to keep it small.
smartling_load_skill
ChatGPTLoad the full instructions for one skill by id (from smartling_list_skills), then follow those instructions directly to complete the task - the returned text is not meant to be summarized or shown to the user verbatim, it is a set of directions for you to act on.
smartling_machine_translate_file
ChatGPTTranslates file content (text or binary) using machine translation. Two ways to supply the file - provide exactly one of upload_id or file_content: 1. upload_id (preferred, default choice): call smartling_request_upload_url first, PUT the file to the returned URL, then pass the returned upload_id here. Use this whenever you can run shell commands (e.g. Claude Code, Codex CLI, opencode, Cursor, Cline, Windsurf), regardless of file size or type - do not fall back to file_content just because the file is small. 2. file_content (inline base64): only use this when you cannot run shell commands (e.g. claude.ai) or the user explicitly asks for inline/base64 content. Auto-detects source language if source_locale not provided. Must ask user for target_locale if not specified. Returns a presigned download URL for the translated file, not the file content itself. The URL is valid for 15 minutes, so fetch it promptly - re-run this tool to get a fresh URL if it expires.
smartling_machine_translate_text
ChatGPTTranslates text content using machine translation. For file translation, read the file contents first. Split long text into sentence-based chunks to preserve meaning and context - avoid breaking mid-sentence or splitting related content. Total request size must not exceed 10MB. Auto-detects source language if source_locale not provided. Must ask user for target_locale if not specified.
smartling_manage_glossaries_archive_state
ChatGPTArchive or restore one or more glossaries in bulk.
smartling_mark_lqa_no_errors
ChatGPTMark a translated string as reviewed with no errors found - parity with the "no errors" action in the CAT Tool.
smartling_match_glossary_terms
ChatGPTMatch terms within a specific glossary against source and/or translated strings. To match source only, keep the keys in translation_text_to_match but leave their text empty.
smartling_open_or_close_issue
ChatGPTOpen or close (resolve) an issue.
smartling_record_lqa_error
ChatGPTRecord a manual LQA finding (error) on a translated string - parity with recording an error in the CAT Tool. See the lqa-uid-resolution skill (smartling_load_skill) for how to resolve the required UIDs. Pass severity_name_uid for NAMED schemas or severity_score for POINT_RANGE schemas, not both.
smartling_remove_all_tags_from_strings
ChatGPTRemove all tags from strings in a Smartling project. This removes every tag on the specified strings and cannot be easily undone - use with caution.
smartling_remove_strings_from_job
ChatGPTRemove strings from an existing Smartling job by their hashcodes. Optionally restrict to specific target locales.
smartling_remove_styleguide_attachment
ChatGPTRemove an attachment from a Smartling style guide.
smartling_remove_tags_from_strings
ChatGPTRemove specific tags from strings in a Smartling project.
smartling_remove_users
ChatGPTRemove users from a Smartling account, revoking their access entirely. Use smartling_get_user_allowed_actions first to confirm removal is allowed for a given user.
smartling_request_upload_url
ChatGPTRequests a short-lived URL for uploading a local file, for use with other tools that accept an "upload_id" parameter (e.g. smartling_machine_translate_file). Preferred, default first step before translating or otherwise processing any local file whenever you can run shell commands (e.g. Claude Code, Codex CLI, opencode, Cursor, Cline, Windsurf) - use this instead of inline base64 content regardless of file size or type. Only usable by clients that can run shell commands to PUT the file to the returned URL - not usable from claude.ai or other clients without local file/shell access, which should keep using inline base64 content instead. The returned URL expires in 15 minutes. Upload immediately after requesting it, then pass the returned upload_id to the tool that needs the file.
smartling_search_glossary_entries
ChatGPTSearch entries within a glossary by a set of filters. Defaults to the first 100 matching entries (offset 0, limit 100) when paging is not specified; use the filter and paging fields to narrow results or page through more.
smartling_search_recent_files
ChatGPTSearch for recently uploaded source files or recently published translated files in a Smartling project. Scopes - UPLOADED: recently uploaded source files, optionally filtered by uri_mask, file_types, last_uploaded_after/before, and sorted via order_by - PUBLISHED: recently published translated files (limited to the last 14 days), optionally filtered by file_uris/locale_ids. published_after is required for this scope.
smartling_search_strings
ChatGPTSearch strings in a Smartling project by status, content, locale, tags, assignment, issues, history, and more. project_uid alone returns all strings (up to 100). Unless source_only is set, each result's translations[].translationForms[].translationText holds the translated text (one entry per plural form). Use offset/limit to page through more than 100 results, guided by searchStrings.totalCount in the response.
smartling_search_translation_memory
ChatGPTSearch translation memory (previously used and imported translations in this Smartling account) for matches or near-matches to a source text, to leverage existing translations for cost savings, time savings, and consistency.
smartling_set_styleguide_locales
ChatGPTReplace the target locales bound to a Smartling style guide. This is a full-replace operation, not additive: the style guide's target locales become exactly the list you pass here. Locales not included are unbound; to add a locale while keeping existing ones, include all of them (existing plus new) in locale_ids. Pass an empty array to unbind all target locales.
smartling_update_issue_answered
ChatGPTMark an issue as answered or un-answered.
smartling_update_issue_assignee
ChatGPTAssign an issue to a specific user.
smartling_update_issue_severity_level
ChatGPTChange the severity level of an issue.
smartling_update_issue_type
ChatGPTChange the type and sub-type of an issue (optionally narrowing to one locale).
smartling_update_job
ChatGPTUpdate a Smartling job's metadata (name, description, due date, reference number, callback configuration, custom fields). This is a replace-all operation: any optional field not passed in this call is overwritten with an empty value, even if the job currently has a value set for it. To preserve a field's current value, pass its existing value back in the call rather than omitting it. Use cases - User wants to set any of optional job properties like due date - User needs to edit job metadata Job Details Response The response includes detailed job information: - Callback method and URL configuration - Creation and modification user details - Custom field values - Complete job metadata and timestamps
smartling_update_lqa_error
ChatGPTUpdate an existing manual LQA finding (change its error type, severity, or comment).
smartling_update_styleguide
ChatGPTUpdate an existing Smartling style guide. Omitting an optional field does not always mean "leave unchanged" - behavior differs by field type: - Free-text fields (company_description, product_description, audience_description, tone_of_text_description, additional_instructions, industry_description, and PLAINTEXT's text): omitting clears the field to empty. - Enum fields (language_style, expressions, grammar_voice, abbreviations): omitting leaves the style guide's current value unchanged. - Boolean fields (capitalization, abbreviations_end_in_period, bullet_end_in_period, bullet_with_capital_letter, no_periods_after_units_of_measure, and all no_translate_* fields): omitting sets the field to false. To intentionally preserve a free-text or boolean field's current value, fetch it first with smartling_get_styleguide and pass it back explicitly. style_guide_type must match the style guide's existing type - it cannot be changed after creation. Passing a different type than the style guide currently has will fail. name must stay unique within the account.
smartling_upload_file_to_job_batch
ChatGPTUpload a file's content into a job batch, for a file already declared via smartling_create_job_batch or smartling_process_job_batch_action (REGISTER_FILE). Use cases - User has created a batch and now needs to upload the actual content for each declared file_uri Two ways to supply the file - provide exactly one of upload_id or file_content: 1. upload_id (preferred, default choice): call smartling_request_upload_url first, PUT the file to the returned presigned S3 URL, then pass the returned upload_id here along with account_id (call smartling_get_available_accounts_for_current_user first to retrieve it). Use this whenever you can run shell commands (e.g. Claude Code, Codex CLI, opencode, Cursor, Cline, Windsurf), regardless of file size or type - do not fall back to file_content just because the file is small. 2. file_content (inline base64): only use this when you cannot run shell commands (e.g. claude.ai) or the user explicitly asks for inline/base64 content. account_id is not needed for this path. Important Notes - file_uri must match a URI already registered with the batch (via smartling_create_job_batch's file_uris or a REGISTER_FILE action) - locale_ids_to_authorize is saved for this batch session; those locales are NOT authorized immediately - only when the job is authorized Parser directives directives lets you pass Smartling parser configuration directives (e.g. smartling.namespace, smartling.file_charset, or file-type-specific "smartling.[command]" directives). Which directives are valid depends entirely on file_type - see https://help.smartling.com/hc/en-us/articles/360007998893-Supported-File-Types and that file type's own directive reference page. Never guess a directive name or value - always ask the user first. Default to no directives (omit this parameter) unless the user has specifically asked for one.
smartling_add_strings_to_job
Claudesmartling_add_tags_to_strings
Claudesmartling_authorize_job
Claudesmartling_count_account_issues
Claudesmartling_count_project_issues
Claudesmartling_create_issue
Claudesmartling_create_job
Claudesmartling_create_strings
Claudesmartling_delete_issue_assignee
Claudesmartling_edit_issue_text
Claudesmartling_execute_lqa_evaluation
Claudesmartling_export_glossary
Claudesmartling_find_account_issues
Claudesmartling_find_project_issues
Claudesmartling_get_available_accounts_for_current_user
Claudesmartling_get_glossary
Claudesmartling_get_issue
Claudesmartling_get_job
Claudesmartling_get_job_history
Claudesmartling_get_linguistic_package
Claudesmartling_get_project
Claudesmartling_get_styleguide
Claudesmartling_get_word_count_report
Claudesmartling_get_workflow_step_types
Claudesmartling_list_content_assignments
Claudesmartling_list_file_jobs
Claudesmartling_list_glossaries
Claudesmartling_list_jobs
Claudesmartling_list_linguistic_packages
Claudesmartling_list_projects
Claudesmartling_list_styleguides
Claudesmartling_list_users
Claudesmartling_list_workflows
Claudesmartling_machine_translate_file
Claudesmartling_machine_translate_text
Claudesmartling_match_glossary_terms
Claudesmartling_open_or_close_issue
Claudesmartling_remove_all_tags_from_strings
Claudesmartling_remove_strings_from_job
Claudesmartling_remove_tags_from_strings
Claudesmartling_request_upload_url
Claudesmartling_search_strings
Claudesmartling_search_translation_memory
Claudesmartling_update_issue_answered
Claudesmartling_update_issue_assignee
Claudesmartling_update_issue_severity_level
Claudesmartling_update_issue_type
Claudesmartling_update_job
Claude