Chilkat Online Tools

PowerBuilder / DocuSign REST API / Updates the user signature for a specified user.

Back to Collection Items

integer li_rc
oleobject loo_Http
integer li_Success
oleobject loo_Json
oleobject loo_SbRequestBody
oleobject loo_Resp

// This example assumes the Chilkat API to have been previously unlocked.
// See Global Unlock Sample for sample code.

loo_Http = create oleobject
li_rc = loo_Http.ConnectToNewObject("Chilkat_9_5_0.Http")
if li_rc < 0 then
    destroy loo_Http
    MessageBox("Error","Connecting to COM object failed")
    return
end if

// Use this online tool to generate code from sample JSON: Generate Code to Create JSON

// The following JSON is sent in the request body.

// {
//   "signatureFont": "sample string 1",
//   "signatureInitials": "sample string 2",
//   "signatureName": "sample string 3",
//   "signatureId": "sample string 4"
// }

loo_Json = create oleobject
li_rc = loo_Json.ConnectToNewObject("Chilkat_9_5_0.JsonObject")

loo_Json.UpdateString("signatureFont","sample string 1")
loo_Json.UpdateString("signatureInitials","sample string 2")
loo_Json.UpdateString("signatureName","sample string 3")
loo_Json.UpdateString("signatureId","sample string 4")

// Adds the "Authorization: Bearer {{accessToken}}" header.
loo_Http.AuthToken = "{{accessToken}}"
loo_Http.SetRequestHeader("Accept","application/json")

loo_SbRequestBody = create oleobject
li_rc = loo_SbRequestBody.ConnectToNewObject("Chilkat_9_5_0.StringBuilder")

loo_Json.EmitSb(loo_SbRequestBody)

loo_Resp = loo_Http.PTextSb("PUT","https://domain.com/v2.1/accounts/{{accountId}}/users/{{userId}}/signatures/{{signatureId}}?close_existing_signature={{close_existing_signature}}",loo_SbRequestBody,"utf-8","application/json",0,0)
if loo_Http.LastMethodSuccess = 0 then
    Write-Debug loo_Http.LastErrorText
    destroy loo_Http
    destroy loo_Json
    destroy loo_SbRequestBody
    return
end if

Write-Debug string(loo_Resp.StatusCode)
Write-Debug loo_Resp.BodyStr
destroy loo_Resp


destroy loo_Http
destroy loo_Json
destroy loo_SbRequestBody

Curl Command

curl -X PUT
	-H "Accept: application/json"
	-H "Authorization: Bearer {{accessToken}}"
	-d '{
  "signatureFont": "sample string 1",
  "signatureInitials": "sample string 2",
  "signatureName": "sample string 3",
  "signatureId": "sample string 4"
}'
https://domain.com/v2.1/accounts/{{accountId}}/users/{{userId}}/signatures/{{signatureId}}?close_existing_signature={{close_existing_signature}}

Postman Collection Item JSON

{
  "name": "Updates the user signature for a specified user.",
  "request": {
    "method": "PUT",
    "header": [
      {
        "key": "Accept",
        "value": "application/json"
      },
      {
        "key": "Authorization",
        "value": "Bearer {{accessToken}}"
      }
    ],
    "body": {
      "mode": "raw",
      "raw": "{\n  \"signatureFont\": \"sample string 1\",\n  \"signatureInitials\": \"sample string 2\",\n  \"signatureName\": \"sample string 3\",\n  \"signatureId\": \"sample string 4\"\n}"
    },
    "url": {
      "raw": "{{baseUrl}}/v2.1/accounts/{{accountId}}/users/{{userId}}/signatures/{{signatureId}}?close_existing_signature={{close_existing_signature}}",
      "host": [
        "{{baseUrl}}"
      ],
      "path": [
        "v2.1",
        "accounts",
        "{{accountId}}",
        "users",
        "{{userId}}",
        "signatures",
        "{{signatureId}}"
      ],
      "query": [
        {
          "key": "close_existing_signature",
          "value": "{{close_existing_signature}}"
        }
      ],
      "variable": [
        {
          "key": "accountId",
          "value": "{{accountId}}"
        },
        {
          "key": "signatureId",
          "value": "{{signatureId}}"
        },
        {
          "key": "userId",
          "value": "{{userId}}"
        }
      ]
    },
    "description": "Creates, or updates, the signature font and initials for the specified user. When creating a signature, you use this resource to create the signature name and then add the signature and initials images into the signature.\n\n###### Note: This will also create a default signature for the user when one does not exist.\n\nThe userId property specified in the endpoint must match the authenticated user's user ID and the user must be a member of the account.\n\nThe `signatureId` parameter accepts a signature ID or a signature name. DocuSign recommends you use signature ID (`signatureId`), since some names contain characters that do not properly encode into a URL. If you use the user name, it is likely that the name includes spaces. In that case, URL encode the name before using it in the endpoint. \n\nFor example encode \"Bob Smith\" as \"Bob%20Smith\"."
  },
  "response": [
  ]
}