Index | Conventions

api/v1/projectcreate

Path: api/v1/projectcreate

This endpoint supports the following methods:
POST

Summary: Creates a new project

Query Parameters

ParameterOptionalDescription
QueueSet 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.
SubmitRefIdA 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

AttributeTypeRequiredDescription
accountMgrobjectSee the accountMgr section below.
allowEstimatesbooleanWhether estimates are allowed on the project.
billingFrequencystringHow often the project is billed (per the project's billing setup).
billOnDayintegerThe day of the billing cycle on which the project is billed.
branchstringThe branch code. Branches must be enabled.
contractInstringThe date the Project starts. Must be in ISO date format - eg "2021-02-01"
contractOutstringThe date the Project ends. Must be in ISO date format - eg "2022-01-31"
contractTypestringPrice Level
customanyA 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.
customerobjectSee the customer section below.
custRefNostringThe customer's reference for the project.
glDeptstringThe GL department code. GL departments must be enabled.
itemCodestringThe item code.
itemDescstringThe item description.
prioritystringThe project's priority.
projectCodestringProject Code is required.
projectTypestringValue as per Tools->Setups Projects/Project Types
shipToobjectSee the shipTo section below.
statusstringThe status for the Project. This status must be valid per workflow from Booked.
subBranchstringThe sub-branch code. Sub-branches must be enabled. Note that in the UI sub-branches may be renamed.
submitRefIDstringA 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.
useNonProjectPromosbooleanWhether the project can use promotions that are not specific to the project.

accountMgr

Attributes of the accountMgr object.

AttributeTypeRequiredDescription
cardCodestringcardCode or cardNo are required. If both are supplied that must be consistent with each other (ie match what is stored within Jim2).
cardNointegercardCode or cardNo are required. If both are supplied that must be consistent with each other (ie match what is stored within Jim2).

customer

Attributes of the customer object.

AttributeTypeRequiredDescription
cardCodestringcardCode or cardNo are required. If both are supplied that must be consistent with each other (ie match what is stored within Jim2).
cardNointegercardCode or cardNo are required. If both are supplied that must be consistent with each other (ie match what is stored within Jim2).

shipTo

Attributes of the shipTo object.

AttributeTypeRequiredDescription
cardCodestringcardCode or cardNo are required. If both are supplied that must be consistent with each other (ie match what is stored within Jim2).
cardNointegercardCode or cardNo are required. If both are supplied that must be consistent with each other (ie match what is stored within Jim2).

Response content

AttributeTypeDescription
projectCodestringThe code of the created project.
projectNointegerThe number of the created project.

Example POST

Path: /api/v1/projectcreate

Request:

{
    "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"
    }
}

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.

{
    "projectNo": 40,
    "projectCode": "TESTPROJECT"
}