Document Management¶
CheckOut¶
Lock a project file for editing in the PDM system.
Capability: checkOut
Request¶
| Field | Type | Required | Description |
|---|---|---|---|
filePath |
string |
✅ | Full path to the project file. |
projectId |
string |
Project identifier, if known. |
Response¶
| Field | Type | Required | Description |
|---|---|---|---|
lockedBy |
string |
✅ | User who now holds the lock. |
version |
integer |
Version number of the checked-out file. | |
message |
string |
Optional message to display to the user. |
Example¶
```json { "method": "CheckOut", "request": {
"filePath": "C:\Projects\valve-assembly.hsc", "projectId": "PRJ-2025-0042" } } ```
```json { "result": "OK", "response": {
"lockedBy": "wouter", "version": "1.0.0", "message": "Operation completed successfully." } } ```
C# Override¶
public override CheckOutResponse CheckOut(CheckOutRequest request)
{
// return new CheckOutResponse { LockedBy = ... };
throw new NotImplementedException();
}
JSON Schemas: Request · Response
CheckIn¶
Release a project file back to the PDM system.
Capability: checkIn
Request¶
| Field | Type | Required | Description |
|---|---|---|---|
filePath |
string |
✅ | Full path to the project file. |
projectId |
string |
Project identifier, if known. | |
comment |
string |
Check-in comment / revision note. |
Response¶
| Field | Type | Required | Description |
|---|---|---|---|
newVersion |
integer |
New version number after check-in. | |
message |
string |
Optional message to display to the user. |
Example¶
```json { "method": "CheckIn", "request": {
"filePath": "C:\Projects\valve-assembly.hsc", "projectId": "PRJ-2025-0042", "comment": "example" } } ```
```json { "result": "OK", "response": {
"newVersion": 4, "message": "Operation completed successfully." } } ```
C# Override¶
public override CheckInResponse CheckIn(CheckInRequest request)
{
// return new CheckInResponse { NewVersion = ... };
throw new NotImplementedException();
}
JSON Schemas: Request · Response
GetFileStatus¶
Query the PDM status of a file.
Capability: getFileStatus
Request¶
| Field | Type | Required | Description |
|---|---|---|---|
filePath |
string |
✅ | Full path to the project file. |
Response¶
| Field | Type | Required | Description |
|---|---|---|---|
status |
string |
✅ | One of: unknown, checkedIn, checkedOut, released. |
lockedBy |
string |
Username of the lock holder. | |
version |
integer |
Current version number. | |
isManaged |
boolean |
Whether the file is managed by the PDM system. |
Example¶
```json { "method": "GetFileStatus", "request": {
"filePath": "C:\Projects\valve-assembly.hsc" } } ```
```json { "result": "OK", "response": {
"status": "released", "lockedBy": "wouter", "version": "1.0.0", "isManaged": true } } ```
C# Override¶
public override GetFileStatusResponse GetFileStatus(GetFileStatusRequest request)
{
// return new GetFileStatusResponse { Status = ... };
throw new NotImplementedException();
}
JSON Schemas: Request · Response
SaveFile¶
Save or upload a file to the PDM vault.
Capability: saveFile
Request¶
| Field | Type | Required | Description |
|---|---|---|---|
sourcePath |
string |
✅ | Local path to the file. |
destPath |
string |
Target path in the PDM vault. | |
projectId |
string |
Project identifier. |
Response¶
| Field | Type | Required | Description |
|---|---|---|---|
savedPath |
string |
✅ | Final path where the file was saved. |
Example¶
```json { "method": "SaveFile", "request": {
"sourcePath": "C:\Projects\valve-assembly.hsc", "destPath": "\vault\projects\valve-assembly.hsc", "projectId": "PRJ-2025-0042" } } ```
```json { "result": "OK", "response": {
"savedPath": "\vault\projects\valve-assembly.hsc" } } ```
C# Override¶
public override SaveFileResponse SaveFile(SaveFileRequest request)
{
// return new SaveFileResponse { SavedPath = ... };
throw new NotImplementedException();
}
JSON Schemas: Request · Response