About This Manual

This guide contains details about using the Perforce C/C API to create applications that interact correctly with the Perforce server. Be sure to read the code in the API's header and C files in conjunction with this guide.

Interfaces for C/C++, Java, Perl, Ruby, Python, PHP, and other languages are available from our website:


Helix documentation

The following table lists and describes key documents for Helix users, developers, and administrators. For complete information see the following:


For specific information about…​ See this documentation…​

Overview of Helix version control concepts and workflows; Helix architecture, and related products.

Helix Versioning: An Overview

Administering the Helix versioning engine to support git repos and LFS files.


Using the command-line interface to perform software version management and codeline management; working with Helix streams; jobs, reporting, scripting, and more.

Helix Versioning Engine User Guide

Basic workflows using P4V, the cross-platform Helix desktop client.

P4V User Guide

Working with personal and shared servers and understanding the distributed versioning features of the Helix Versioning engine.

Using Helix for Distributed Versioning

p4 command line (reference).

P4 Command Reference, p4 help

Installing and administering the Helix versioning engine, including user management, security settings.

Helix Versioning Engine Administrator Guide: Fundamentals

Installing and configuring Helix servers (proxies, replicas, and edge servers) in a distributed environment.

Helix Versioning Engine Administrator Guide: Multi-site Deployment

Helix plug-ins and integrations.

IDEs: Using IDE Plug-ins
Defect trackers: Defect Tracking Gateway Guide
Others: online help from the Helix menu or web site

Developing custom Helix applications using the Helix C/C++ API.

C/C++ API User Guide

Working with Helix in Ruby, Perl, Python, and PHP.

APIs for Scripting

Syntax conventions

Helix documentation uses the following syntax conventions to describe command line syntax.

Notation Meaning


Monospace font indicates a word or other notation that must be used in the command exactly as shown.


Italics indicate a parameter for which you must supply specific information. For example, for a serverid parameter, you must supply the id of the server.


Square brackets indicate that the enclosed elements are optional. Omit the brackets when you compose the command.

Elements that are not bracketed are required.


Ellipses (…​) indicate that the preceding element can be repeated as often as needed.

element1 | element2

A vertical bar ( | ) indicates that either element1 or element2 is required.

Please give us feedback

We are interested in receiving opinions on this manual from our users. In particular, we’d like to hear from users who have never used Perforce before. Does this guide teach the topic well? Please let us know what you think; we can be reached at manual@perforce.com.

If you need assistance, or wish to provide feedback about any of our products, contact support@perforce.com.