Skip to main content
PUT
/
api2
/
v1
/
projectTemplates
/
{projectTemplateUid}
/
customFields
/
{fieldInstanceUid}
Edit custom field of project template
curl --request PUT \
  --url https://cloud.memsource.com/web/api2/v1/projectTemplates/{projectTemplateUid}/customFields/{fieldInstanceUid} \
  --header 'Authorization: <api-key>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "selectedOptions": [
    {
      "uid": "3HYnHHLkTPJfMxBCDbPXFe"
    }
  ],
  "value": "<string>"
}
'
import requests

url = "https://cloud.memsource.com/web/api2/v1/projectTemplates/{projectTemplateUid}/customFields/{fieldInstanceUid}"

payload = {
"selectedOptions": [{ "uid": "3HYnHHLkTPJfMxBCDbPXFe" }],
"value": "<string>"
}
headers = {
"Authorization": "<api-key>",
"Content-Type": "application/json"
}

response = requests.put(url, json=payload, headers=headers)

print(response.text)
const options = {
method: 'PUT',
headers: {Authorization: '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({selectedOptions: [{uid: '3HYnHHLkTPJfMxBCDbPXFe'}], value: '<string>'})
};

fetch('https://cloud.memsource.com/web/api2/v1/projectTemplates/{projectTemplateUid}/customFields/{fieldInstanceUid}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));
<?php

$curl = curl_init();

curl_setopt_array($curl, [
CURLOPT_URL => "https://cloud.memsource.com/web/api2/v1/projectTemplates/{projectTemplateUid}/customFields/{fieldInstanceUid}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PUT",
CURLOPT_POSTFIELDS => json_encode([
'selectedOptions' => [
[
'uid' => '3HYnHHLkTPJfMxBCDbPXFe'
]
],
'value' => '<string>'
]),
CURLOPT_HTTPHEADER => [
"Authorization: <api-key>",
"Content-Type: application/json"
],
]);

$response = curl_exec($curl);
$err = curl_error($curl);

curl_close($curl);

if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}
package main

import (
"fmt"
"strings"
"net/http"
"io"
)

func main() {

url := "https://cloud.memsource.com/web/api2/v1/projectTemplates/{projectTemplateUid}/customFields/{fieldInstanceUid}"

payload := strings.NewReader("{\n \"selectedOptions\": [\n {\n \"uid\": \"3HYnHHLkTPJfMxBCDbPXFe\"\n }\n ],\n \"value\": \"<string>\"\n}")

req, _ := http.NewRequest("PUT", url, payload)

req.Header.Add("Authorization", "<api-key>")
req.Header.Add("Content-Type", "application/json")

res, _ := http.DefaultClient.Do(req)

defer res.Body.Close()
body, _ := io.ReadAll(res.Body)

fmt.Println(string(body))

}
HttpResponse<String> response = Unirest.put("https://cloud.memsource.com/web/api2/v1/projectTemplates/{projectTemplateUid}/customFields/{fieldInstanceUid}")
.header("Authorization", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"selectedOptions\": [\n {\n \"uid\": \"3HYnHHLkTPJfMxBCDbPXFe\"\n }\n ],\n \"value\": \"<string>\"\n}")
.asString();
require 'uri'
require 'net/http'

url = URI("https://cloud.memsource.com/web/api2/v1/projectTemplates/{projectTemplateUid}/customFields/{fieldInstanceUid}")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Put.new(url)
request["Authorization"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"selectedOptions\": [\n {\n \"uid\": \"3HYnHHLkTPJfMxBCDbPXFe\"\n }\n ],\n \"value\": \"<string>\"\n}"

response = http.request(request)
puts response.read_body
{
  "createdAt": "2023-11-07T05:31:56Z",
  "createdBy": {
    "uid": "3HYnHHLkTPJfMxBCDbPXFe"
  },
  "customField": {
    "allowedEntities": [],
    "createdAt": "2023-11-07T05:31:56Z",
    "createdBy": {
      "email": "<string>",
      "firstName": "<string>",
      "id": "<string>",
      "lastName": "<string>",
      "uid": "<string>",
      "userName": "<string>"
    },
    "description": "<string>",
    "lastModified": "2023-11-07T05:31:56Z",
    "lastModifiedBy": {
      "email": "<string>",
      "firstName": "<string>",
      "id": "<string>",
      "lastName": "<string>",
      "uid": "<string>",
      "userName": "<string>"
    },
    "name": "<string>",
    "options": {
      "remainingCount": 123,
      "truncatedOptions": [
        {
          "deprecated": true,
          "uid": "<string>",
          "used": true,
          "value": "<string>"
        }
      ]
    },
    "required": true,
    "requiredFrom": "2023-11-07T05:31:56Z",
    "uid": "<string>"
  },
  "selectedOptions": [
    {
      "deprecated": true,
      "uid": "<string>",
      "used": true,
      "value": "<string>"
    }
  ],
  "uid": "<string>",
  "updatedAt": "2023-11-07T05:31:56Z",
  "updatedBy": {
    "uid": "3HYnHHLkTPJfMxBCDbPXFe"
  },
  "value": "<string>"
}

Authorizations

Authorization
string
header
required

Get a token from auth/login endpoint and then pass it in the Authorization HTTP header in every subsequent API call. For more information visit our help center.

Path Parameters

projectTemplateUid
string
required

Project template UID

fieldInstanceUid
string
required

Custom field instance UID

Body

application/json

Updated custom field value

Custom field instance update

selectedOptions
object[]

Selected option UIDs for option-type custom fields; mutually exclusive with value

value
string

Text value for text-type custom fields; mutually exclusive with selectedOptions; max 4096 chars

Maximum string length: 4096

Response

OK

createdAt
string<date-time>
createdBy
object

Reference to an object by its unique identifier

customField
object
selectedOptions
object[]
uid
string
updatedAt
string<date-time>
updatedBy
object

Reference to an object by its unique identifier

value
string