cURL Overview
Examples within this document demonstrate how to access the Primavera Administration API using cURL.
To access the API with cURL:
- Install cURL, as described in Using cURL.
- Start cURL and specify one or more of the command-line options described in this table.
The following table summarizes the cURL options used in the examples in this document:
| cURL Option | Description |
|---|---|
-d <json data>
|
Identifies the request document, in JSON format, on the local machine. For example:
|
-F <form data>
|
Identifies form data, in JSON format, on the local machine. For example:
|
-H <http header>:<value>
|
Defines one or both of the following:
|
-i
|
Displays response header information. |
-u <username>:<password>
|
Specifies the username and password for the Primavera Administration account. For example:
If your username contains a space, you will need to wrap the username text in quotes:
|
-X <http verb>
|
Indicates the type of request. For example:
|
To use cURL to interact with the API, enter the
curl command followed by one or more cURL options and a valid API endpoint.
For example:
curl -u <username>:<password> -H "<http_header>:<value>" -X <http_verb> https://<server_URL>/cloudapi/restapi/<service>
Command Examples
The following examples demonstrate how to use cURL to access the API.
To fetch a user object by its user ID:
curl -u jsmith:mypassword1 -H "Accept:application/json" -X GET https://localhost:7001/cloudapi/restapi/user/JSMITH
API requests that use the POST method require additional data. Pass additional data to cURL using the
-d option. The following example sends a POST request to the
/user endpoint using data stored in a JSON file named
user_example.json. The user_example.json file contains the following:
{"modified":
[{
"loginId": "JSMITH",
"organization": {
"associations": [],
"bidderCompany": false,
"isDeletable": false, "inheritedPolicy": false,
"displayName": "sfo",
"id": "4",
"name": "sfo"
},
"statusInfo": "",
"emailAddress": "jsmith@pgbu.com",
"roles": [
{
"displayName": "Primavera Unifier Production",
"id": "77",
"name": "PrimaveraUnifierProduction"
}
],
"locked": false,
"createdBy": "COADMIN",
"status": "Active",
"userType": "EMP",
"firstName": "Jim",
"lastName": "Smith",
"createdDate": "2018-01-17T15:41:26",
"updatedDate": "2018-02-15T16:16:08",
"pwdExpireDate": "2018-11-13T15:46:30",
"pwdWarnDate": "2018-06-16T15:46:30",
"provisionedDate": "2018-01-17T15:46:30",
"pwdExpired": false,
"pwdCantChange": false,
"pwdWarned": false,
"loginAttemptsCtr": "0",
"changePwdAtNextLogin": true,
"lastAction": "Updated",
"disabled": false,
"id": "205"
}]
}
To create a user using this JSON data:
curl -u jsmith:mypassword1 -H "Content-Type: application/json" -X POST -d "@user_example.json" https://localhost/cloudapi/restapi/user/add-list
Note: If the user specified with the cURL -u option does not have permission to modify the specified user, or if the user does not exist, the user creation will fail, and the API will return a response of 401, 404, or 500.