Chilkat Online Tools

PowerBuilder / PandaDoc API Reference / List Documents in a Folder

Back to Collection Items

integer li_rc
oleobject loo_Http
integer li_Success
oleobject loo_QueryParams
oleobject loo_Resp
oleobject loo_SbResponseBody
oleobject loo_JResp
integer li_RespStatusCode
integer li_Count
string ls_V_next
string ls_Previous
integer i
integer li_Count_i

// 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

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

loo_QueryParams.UpdateString("folder_uuid","{{documents_folder_uuid}}")

loo_Http.SetRequestHeader("Authorization","API-Key {{api_key}}")

loo_Resp = loo_Http.QuickRequestParams("GET","https://api.pandadoc.com/public/v1/documents",loo_QueryParams)
if loo_Http.LastMethodSuccess = 0 then
    Write-Debug loo_Http.LastErrorText
    destroy loo_Http
    destroy loo_QueryParams
    return
end if

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

loo_Resp.GetBodySb(loo_SbResponseBody)

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

loo_JResp.LoadSb(loo_SbResponseBody)
loo_JResp.EmitCompact = 0

Write-Debug "Response Body:"
Write-Debug loo_JResp.Emit()

li_RespStatusCode = loo_Resp.StatusCode
Write-Debug "Response Status Code = " + string(li_RespStatusCode)
if li_RespStatusCode >= 400 then
    Write-Debug "Response Header:"
    Write-Debug loo_Resp.Header
    Write-Debug "Failed."
    destroy loo_Resp
    destroy loo_Http
    destroy loo_QueryParams
    destroy loo_SbResponseBody
    destroy loo_JResp
    return
end if

destroy loo_Resp

// Sample JSON response:
// (Sample code for parsing the JSON response is shown below)

// {
//   "count": 0,
//   "next": null,
//   "previous": null,
//   "results": [
//   ]
// }

// Sample code for parsing the JSON response...
// Use this online tool to generate parsing code from sample JSON: Generate JSON Parsing Code

li_Count = loo_JResp.IntOf("count")
ls_V_next = loo_JResp.StringOf("next")
ls_Previous = loo_JResp.StringOf("previous")
i = 0
li_Count_i = loo_JResp.SizeOfArray("results")
do while i < li_Count_i
    loo_JResp.I = i
    i = i + 1
loop


destroy loo_Http
destroy loo_QueryParams
destroy loo_SbResponseBody
destroy loo_JResp

Curl Command

curl -G -d "folder_uuid=%7B%7Bdocuments_folder_uuid%7D%7D"
	-H "Authorization: Bearer {{access_token}}"
	-H "Authorization: API-Key {{api_key}}"
https://api.pandadoc.com/public/v1/documents

Postman Collection Item JSON

{
  "name": "List Documents in a Folder",
  "request": {
    "method": "GET",
    "header": [
      {
        "key": "Authorization",
        "value": "Bearer {{access_token}}",
        "disabled": true
      },
      {
        "key": "Authorization",
        "type": "text",
        "value": "API-Key {{api_key}}"
      }
    ],
    "url": {
      "raw": "https://api.pandadoc.com/public/v1/documents?folder_uuid={{documents_folder_uuid}}",
      "protocol": "https",
      "host": [
        "api",
        "pandadoc",
        "com"
      ],
      "path": [
        "public",
        "v1",
        "documents"
      ],
      "query": [
        {
          "key": "folder_uuid",
          "value": "{{documents_folder_uuid}}"
        }
      ]
    },
    "description": "For details go to https://developers.pandadoc.com/reference#list-documents"
  },
  "response": [
    {
      "name": "Empty Response",
      "originalRequest": {
        "method": "GET",
        "header": [
          {
            "key": "Authorization",
            "value": "Bearer {{access_token}}"
          },
          {
            "key": "Content-Type",
            "value": "application/json;charset=UTF-8",
            "description": "The mime type of this content"
          }
        ],
        "url": {
          "raw": "https://api.pandadoc.com/public/v1/templates",
          "protocol": "https",
          "host": [
            "api",
            "pandadoc",
            "com"
          ],
          "path": [
            "public",
            "v1",
            "templates"
          ]
        }
      },
      "status": "OK",
      "code": 200,
      "_postman_previewlanguage": "javascript",
      "header": [
        {
          "key": "Allow",
          "value": "GET, DELETE, HEAD, OPTIONS",
          "name": "Allow",
          "description": "Valid actions for a specified resource. To be used for a 405 Method not allowed"
        },
        {
          "key": "Cache-Control",
          "value": "no-cache",
          "name": "Cache-Control",
          "description": "Tells all caching mechanisms from server to client whether they may cache this object. It is measured in seconds"
        },
        {
          "key": "Connection",
          "value": "keep-alive",
          "name": "Connection",
          "description": "Options that are desired for the connection"
        },
        {
          "key": "Content-Encoding",
          "value": "gzip",
          "name": "Content-Encoding",
          "description": "The type of encoding used on the data."
        },
        {
          "key": "Content-Type",
          "value": "application/json",
          "name": "Content-Type",
          "description": "The mime type of this content"
        },
        {
          "key": "Date",
          "value": "Mon, 22 Aug 2016 17:01:13 GMT",
          "name": "Date",
          "description": "The date and time that the message was sent"
        },
        {
          "key": "Expires",
          "value": "Mon, 22 Aug 2016 17:01:12 GMT",
          "name": "Expires",
          "description": "Gives the date/time after which the response is considered stale"
        },
        {
          "key": "Pragma",
          "value": "no-cache",
          "name": "Pragma",
          "description": "Implementation-specific headers that may have various effects anywhere along the request-response chain."
        },
        {
          "key": "Server",
          "value": "nginx/1.4.6 (Ubuntu)",
          "name": "Server",
          "description": "A name for the server"
        },
        {
          "key": "Transfer-Encoding",
          "value": "chunked",
          "name": "Transfer-Encoding",
          "description": "The form of encoding used to safely transfer the entity to the user. Currently defined methods are: chunked, compress, deflate, gzip, identity."
        }
      ],
      "cookie": [
      ],
      "body": "{\"count\": 0, \"next\": null, \"previous\": null, \"results\": []}"
    }
  ]
}