Path: api/v1/projectcreate
This endpoint supports the following methods:
POST
Summary: Creates a new project
Query Parameters
| Parameter | Optional | Description |
|---|---|---|
| Queue | ✓ | Set to true, 1, or t to queue the request via the Jim2 eBusiness Queue. If specified the response will be 202 Accepted and the B2B request number will be returned. Leave out, or set to false, 0, or f to process the request immediately. |
| SubmitRefId | ✓ | A unique reference ID for the request. This is used to prevent duplicate requests when the Queue parameter is also passed. If a SubmitRefId is passed via this
query parameter and within the request content (see submitRefId in JSON content) then the two values must be the same. A check for duplication due to re-processing
on the B2B queue is NOT performed unless the SubmitRefId is included in the request body (ie not passing the SubmitRefId in the message body allows an item on the
B2B queue to be reprocessed and potentially creating a duplicate object). The Queue parameter must also be specified if SubmitRefId is specified. Note that the SubmitRefId must be unique to Jim2, so if multiple systems are making calls care must be taken to avoid clashes in SubmitRefIds between systems. |
Request content
| Attribute | Type | Required | Description |
|---|---|---|---|
| accountMgr | object | See the accountMgr section below. | |
| allowEstimates | boolean | Whether estimates are allowed on the project. | |
| billingFrequency | string | How often the project is billed (per the project's billing setup). | |
| billOnDay | integer | The day of the billing cycle on which the project is billed. | |
| branch | string | The branch code. Branches must be enabled. | |
| contractIn | string | The date the Project starts. Must be in ISO date format - eg "2021-02-01" | |
| contractOut | string | The date the Project ends. Must be in ISO date format - eg "2022-01-31" | |
| contractType | string | Price Level | |
| custom | any | A free-form JSON object carrying additional data for custom processing. Used where custom processing is required and additional data must be passed to that custom processing. | |
| customer | object | See the customer section below. | |
| custRefNo | string | The customer's reference for the project. | |
| glDept | string | The GL department code. GL departments must be enabled. | |
| itemCode | string | The item code. | |
| itemDesc | string | The item description. | |
| priority | string | The project's priority. | |
| projectCode | string | ✓ | Project Code is required. |
| projectType | string | ✓ | Value as per Tools->Setups Projects/Project Types |
| shipTo | object | See the shipTo section below. | |
| status | string | The status for the Project. This status must be valid per workflow from Booked. | |
| subBranch | string | The sub-branch code. Sub-branches must be enabled. Note that in the UI sub-branches may be renamed. | |
| submitRefID | string | A unique reference for the create request. This reference must be unique for each object and can be used to ensure duplicate objects are not created when re-trying API calls. Note this reference must be unique in Jim2, so if multiple systems are creating objects care must be taken to avoid clashes between the different system's submit ref id. Refer also to the SubmitRefId url query parameter for relevant endpoints. | |
| useNonProjectPromos | boolean | Whether the project can use promotions that are not specific to the project. |
Attributes of the accountMgr object.
| Attribute | Type | Required | Description |
|---|---|---|---|
| cardCode | string | cardCode or cardNo are required. If both are supplied that must be consistent with each other (ie match what is stored within Jim2). | |
| cardNo | integer | cardCode or cardNo are required. If both are supplied that must be consistent with each other (ie match what is stored within Jim2). |
Attributes of the customer object.
| Attribute | Type | Required | Description |
|---|---|---|---|
| cardCode | string | cardCode or cardNo are required. If both are supplied that must be consistent with each other (ie match what is stored within Jim2). | |
| cardNo | integer | cardCode or cardNo are required. If both are supplied that must be consistent with each other (ie match what is stored within Jim2). |
Attributes of the shipTo object.
| Attribute | Type | Required | Description |
|---|---|---|---|
| cardCode | string | cardCode or cardNo are required. If both are supplied that must be consistent with each other (ie match what is stored within Jim2). | |
| cardNo | integer | cardCode or cardNo are required. If both are supplied that must be consistent with each other (ie match what is stored within Jim2). |
Response content
| Attribute | Type | Description |
|---|---|---|
| projectCode | string | The code of the created project. |
| projectNo | integer | The number of the created project. |
Path: /api/v1/projectcreate Request: Response: This example shows the maximum set of fields the endpoint can return, all populated. A real response only contains the data that applies to that record, so fields that are empty or not relevant are omitted — do not assume every field shown here will be present in every response.
Example POST
{
"submitRefID": "PRJ-REQ-0001",
"projectCode": "PRJ-001",
"customer": {
"cardCode": "CUST.1"
},
"shipTo": {
"cardCode": "CUST.1"
},
"status": "Booked",
"projectType": "Service Contract",
"priority": "Normal",
"billingFrequency": "Monthly",
"billOnDay": 1,
"contractType": "Retail",
"contractIn": "2026-07-01",
"contractOut": "2027-06-30",
"accountMgr": {
"cardCode": "STAFF.AM"
},
"custRefNo": "PO-44821",
"itemCode": "WIDGET-1",
"itemDesc": "Annual service contract",
"useNonProjectPromos": false,
"allowEstimates": true,
"branch": "SYD",
"subBranch": "SYD-NORTH",
"glDept": "SERVICE",
"custom": {
"externalRef": "EXT-12345"
}
}
{
"projectNo": 40,
"projectCode": "TESTPROJECT"
}