Show / Hide Table of Contents

# Server project API

The server project API provides the following functionality:

Getting global information:

- Getting the version of the memoQ Server API (that is the version of the memoQ Server)

Managing server projects:

- Creating a new server project
- Creating a new server project based on a template
- Updating the header information for an existing server project (such as description, deadline, etc.);
- Retrieving information of an individual project or the list of server projects available on the server, optionally with filtering;
- Moving a project to the recycle bin and moving it back from the recycle bin (previously called close/unclose was);
- Deleting a project;
  - Also available as an asynchronous task;
- Setting a project as wrapped-up;
- Launching a project (sends out notifications of the project and in case of automated projects enables auto-pilot mode) and resetting the project to the state before launch;
  - Also available as an asynchronous task;
- Assigning translation memories to a server project;
- Retrieving the list of translation memories assigned to a server project;
- Assigning corpora to a server project
- Retrieving the list of corpora assigned to a server project;
- Assigning term bases to a server project;
- Retrieving the list of term bases assigned to a server project;
- Assigning light resources to a server project
- Retrieving the list of light resources assigned to a server project;
- Assigning users to a server project with their roles specified;
- Retrieving the list of users assigned to a server project;
- Retrieving the list of translation documents imported to a server project and also grouped by the source file the documents originate from;
- Delete a translation document from the server
- Assigning users to a translation document of a server project with their document assignment role and retrieving the assignment information;
- Changing the workflow status of documents and setting its status to delivered and moving it ahead in the translation process;
- Adding a new target language to an existing project;
- Adding a finished translation to a LiveDocs corpus as reference document;
- Renaming a project;
- Slicing and reconsolidating documents, retriving slices of a document;
- Turning off autopilot;

Translation document import/export

- Importing documents in primary format, such as plain text, XML, RTF, DOCX, etc.
- Importing document from a bilingual file: memoQ Bilingual (MDB) and XLIFF formats are supported (we plan to add two column RTF support shortly).
- Updating a document that is already part of the project from an XLIFF bilingual file or a Table RTF file;
- Exporting a translation document to its primary (original) format, such as plain text, XML, RTF, DOCX, etc.
- Exporting a translation document to a bilingual format: XLIFF, Bilingual RTF, Table RTF (Two-Column RTF) are supported.
- Reimporting translation documents and replacing existing documents with new versions of the document.
- File upload/download services should be used to upload or retrieve files.

Statistics

- Get statistics on all or specific documents of the server project;
- Also available as asynchronous tasks for entire project and specific documents

Pre-translation

- Pre-translate on all or specific documents of the server project;
  - Also available as asynchronous task for entire project and specific documents;
- Pre-translation using Omniscien Technologies services.

Confirm and update

- Confirm and update on all or specific documents of the server project;
  - Also available as an asynchronous task;

X-translate

- X-translate on specific documents of the server project
  - Also available as an asynchronous task

Document history

- Get the document history related to all or specific documents of the server project.

QA

- Run QA checks and get a report of QA errors and warnings in a server project
  - Also available as an asynchronous task

Reports

- Analysis reports
  - Create a new analysis report
    - Also available as an asynchronous task
  - Get analysis report as CSV or as a structured object
  - List analysis reports of a project
- post-translation analysis report
  - Create a new post-translation analisys report
  - Get post-translation analysis report as CSV or as a structured object
  - List PTA reports of a project
- Edit distance reports
  - List edit distance reports
  - Get a single fuzzy or levenshtein edit distance report as structured object
    - Also can get both as CSV
  - Create a new fuzzy edit distance report
    - Also available as an asynchronous task
  - Create a new levenshtein edit distance report
    - Also available as an asynchronous task

Package management in package-enabled projects

- Creating a new project from a memoQ handoff package
- List all packages in a project and packages for a particular user;
- Accept a delivery package and update the project with the deliveries
- Retrieve a delivery package
- Retrieve the contents of a package
- Prepare a package for download
- Updating a project created from a package with a new package
- File upload/download services should be used to upload or retrieve packages.

Management of image localization packages

- Export image localization package
- Import image localization package

## Operation conflicts

Operations on a project may conflict with other operations performed on the same project. For example while a pre-translation operation is in progress documents from the project cannot be exported. This behavior applies to the Web Service API as well as operations invoked from memoQ user interface and automated actions. When a Web Service action cannot be performed because another operation is in progress a specific fault CannotStartOperationFault is returned. It is up to the caller to either discard the action or retry after some timeout period.

## Project and document identifiers

A project is always identified with is unique identifier: ProjectGuid. A project contains zero or more (translation) documents. Each document is identified with a unique Guid as well. When a file is imported into a project, it receives a Guid (called "document Guid") that uniquely identifies the document within the project. When a document is imported into multiple target languages, it receives a separate Guid for each target language.

Please note that two documents within two separate projects may, under special circumstances, have the same document Guid. memoQ server currently guarantees that this does not happen for newly imported documents, but this was possible in the past. Hence, the document Guid together with the server project Guid is considered the absolute unique identifier.