Documents

Last updated: 27 Feb 2026

Integrate with PageUp's Embedded Apply Documents API!


Contents

  1. Overview
  2. Requesting API Credentials
  3. Before you begin
  4. URL format
  5. Common workflows

Overview

The Embedded Apply Documents API allows you to manage documents within the embedded apply workflow.


Requesting API Credentials

For information on how to obtain API credentials and to start integrating with the API, please visit the Getting started page.


Before you begin

To begin using any of the APIs, there are a few things that you will need:

  1. Authentication credentials for the particular PageUp Customer/Client
  2. You will need a valid (oAuth) JWT token to authorize yourself to access the end points in this API section. When requesting the bearer token with the authentication service please ensure you include the appropriate scope in the authentication request. Multiple scopes may be requested by specifying them as space separated list. The available scopes for the endpoints in this page are:
  • Public.Document.Write

Requesting the oAuth token with the appropriate scope will allow you to use that token for calls against the respective functions that use that scope. See the implementation notes under each endpoint below to see which scope is needed for each endpoint.


URL Format

Root URL:
https://<environment>.<dataCentreId>.pageuppeople.com/v3/<tenantId>/recruitment/embedded-apply/documents/...

environment = 'api' for LIVE or 'apiuat' for UAT
dataCentreId = the data centre to connect to (e.g. dc2)
tenantId = the organisation's tenant Id

Region dataCentreId
AUS dc2
UK / EMEA dc3
US dc4
SEA dc5

Please contact PageUp representative to find out the data centre and organisation's tenant Id if not known.

Examples:
LIVE 6784 environment for dc2: https://api.dc2.pageuppeople.com/v3/6784/recruitment/embedded-apply/documents/...
UAT 6784 environment for dc5: https://apiuat.dc5.pageuppeople.com/v3/6784/recruitment/embedded-apply/documents/...

Common workflows

A. Uploading a recruitment document to PageUp

1. GET [endpoint_url]/documents/prepareTempDirectUpload

Take note of the following values, as these would be used in the next steps:

  • url - Amazon S3 presigned URL which you would use to upload your file to
  • physicalFile - A randomly generated file name which would be used to name the uploaded file to Amazon S3. This is necessary to ensure no file name collisions occur within S3.
  • headers - headers that you would need to include when uploading your file to the provided Amazon S3 presigned URL. The querystring assigning a value for the filename is required. Optionally, you can also specify the contentType parameter to explicitly set the MIME type of the document. If not provided, the content type will be inferred from the file extension. For example, if you are uploading a file named test.txt, the URI you use would be:
https://api.dc2.pageuppeople.com/v3/000/recruitment/embedded-apply/documents/prepareTempDirectUpload?filename=test.txt

Or with an explicit content type:

https://api.dc2.pageuppeople.com/v3/000/recruitment/embedded-apply/documents/prepareTempDirectUpload?filename=mydocument.pdf&contentType=application/pdf

Calling this endpoint will return a response that looks like the following:

{
  "url": "https://pageup-storage-temp-au.s3.ap-southeast-2.amazonaws.com/543/Document/5b7f3246-12c5-495d-b5ed-77e257808d3e.txt?X-Amz-Expires=1800&X-Amz-Security-Token=IQoJb3JpZ2luX2VjEHEaDmFwLXNvdXRoZWFzdC0yIkcwRQIgEY8n3TCVyXv0IlPxJU%2FbLVSVfBBNvj2dMRlEuirW6T8CIQD%2FMCfbFZX9HrVZ5hHWrBT%2BlQvNPo6MnHyU%2FEHzaQevfCrMBQhaEAUaDDU3MjAyMjYzOTM4OSIMFi09RsEQFtpUrTgBKqkFubegLgG9gfYqgAT46wGA6yx5WGD%2FiWVj7WjNT3R7JAjv%2Bj2YM7OiIXB117f6SnQ4TmLL7YW9751oX%2BDeVdOr%2FUONZuzVMJKHx%2FRYerlHrHMQP7VD8yXiPAQ18%2B6RsTDwyoRp33WkZP%2BEIm76YJaGGXtzIvncWpLe%2FRaTgAqq5Pfy5td9z0yV5T%2BFXibCJCEzbdf5aEmOGWrkA7HcP72CUQ3tJ5RKadXLI8q5GeJ9PhQKL%2BVJxOg%2B9XshbRrVIpg8gsLPJcX7jpvyqbTILhlb%2FlwJumrFealPV72UpckxHpN9mYsL5t33yaTAxsirqZDwFjFQXZqfT0k0TZSnz1jghsylxkxwsmeagHe8frKloRnogD9AGzbf0RdkNrna%2Fn6eoE0gjveaJnPg6K%2FXfcZLggJjctCLnx8OWBMyvHRxbqMKn14f6QstF1S3SRrlSjWbZizdyPzozojnAYKF%2BnYuYVITeWjnnS48WvXNaqpuRgfSjf5RB4ZtNe3S4Hezjy9IJfJjLwpRp3zVJZPI08GJkWcweco6nkF8iBaiGsA5AIv%2FPsue9dFRPyUP7rjfEJ9icTYmnUObTznmecpszzIGCLHfSUMWM0rJv5MaL787Pl1ze7x%2F5XLqWp%2FMxBYt7Rog3z%2BEnFFRbZgvZwmIjtXxKKD5vE9UNru06Qf2qsmd4uYoLd%2FmXJUmZYv4Oa7hcRr1njNfzICcBOGiUjQj%2B1%2BMkTcnJOtrA0AsbOQbPrNhcGNZAkJgfisMgb%2BGSMI8RlsIwBll1lEamLjhxu2Qjp0o0Rg03uqlYxWgYk0yHMhvQkSATI61ZsxTQ9S5OVElebTa31C9%2BrJ5e9lzWA25UKS83dLztkno%2FgnsI6iaMI1fyZvTcc4E9CyS7v09BoIE3Js6RN8ao%2B2xj%2FiuML%2Bwv8IGOrEBuaM23WStn%2FUeNG5OzAY2LnZ%2Bcw6ivqLT3grKBL%2Bl3Ti3MZ%2FeaoXoRkpNUiFR1B6ngHPYrw1SfQy7X6MV7%2B3vYTai%2FnTgXXwbqW05NIbmiIR15whOkACLN8tuERfoQUb8Vj2iiV6yUf1eJBxcwfaKb8mttd9JvdARMowU%2FHp2A2wPE2dlN%2BSpWEnp44XfpHluXiujwxgzI6vmOYsKFQgLO11YUGRI6tUS0OxZIlFUjsP6&response-content-disposition=attachment%3Bfilename%3D%22test.txt%22%3B%20filename%2A%3Dutf-8%27%27test.txt&X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=ASIAYKLZUZMO5JQZKT7O%2F20250616%2Fap-southeast-2%2Fs3%2Faws4_request&X-Amz-Date=20250616T092044Z&X-Amz-SignedHeaders=content-type%3Bhost%3Bx-amz-acl%3Bx-amz-server-side-encryption&X-Amz-Signature=50009de31439fbc6e7418d8aec0f01f93d7f4c2054e1fb6223181921d0893e1a",
  "contentType": "text/plain",
  "physicalFile": "5b7f3246-12c5-495d-b5ed-77e257808d3e.txt",
  "headers": {
    "Content-Disposition": "attachment;filename=\"test.txt\"; filename*=utf-8''test.txt",
    "x-amz-server-side-encryption": "AES256",
    "x-amz-acl": "bucket-owner-full-control"
  },
  "method": "PUT",
  "fallbackUrl": null
}

2. PUT using the url value from the prepareTempDirectUpload response

Use the PUT HTTP verb to call the URL indicated in the url attribute of the response in Step 1. You will need to include all the HTTP headers and their values included in the headers attribute. Optionally you may set the content-type of your attachment manually, corresponding to the contentType attribute from the same response in Step 1. Continuing with the example from the previous step, our new request headers will look like:

  content-type: text/plain
  content-disposition: attachment;filename=\"test.txt\"; filename*=utf-8''test.txt
  x-amz-server-side-encryption: AES256
  x-amz-acl: bucket-owner-full-control

This should then be attached to the following HTTP Verb and URL to call the request:

PUT https://pageup-storage-temp-au.s3.ap-southeast-2.amazonaws.com/543/Document/5b7f3246-12c5-495d-b5ed-77e257808d3e.txt?X-Amz-Expires=1800&X-Amz-Security-Token=IQoJb3JpZ2luX2VjEHEaDmFwLXNvdXRoZWFzdC0yIkcwRQIgEY8n3TCVyXv0IlPxJU%2FbLVSVfBBNvj2dMRlEuirW6T8CIQD%2FMCfbFZX9HrVZ5hHWrBT%2BlQvNPo6MnHyU%2FEHzaQevfCrMBQhaEAUaDDU3MjAyMjYzOTM4OSIMFi09RsEQFtpUrTgBKqkFubegLgG9gfYqgAT46wGA6yx5WGD%2FiWVj7WjNT3R7JAjv%2Bj2YM7OiIXB117f6SnQ4TmLL7YW9751oX%2BDeVdOr%2FUONZuzVMJKHx%2FRYerlHrHMQP7VD8yXiPAQ18%2B6RsTDwyoRp33WkZP%2BEIm76YJaGGXtzIvncWpLe%2FRaTgAqq5Pfy5td9z0yV5T%2BFXibCJCEzbdf5aEmOGWrkA7HcP72CUQ3tJ5RKadXLI8q5GeJ9PhQKL%2BVJxOg%2B9XshbRrVIpg8gsLPJcX7jpvyqbTILhlb%2FlwJumrFealPV72UpckxHpN9mYsL5t33yaTAxsirqZDwFjFQXZqfT0k0TZSnz1jghsylxkxwsmeagHe8frKloRnogD9AGzbf0RdkNrna%2Fn6eoE0gjveaJnPg6K%2FXfcZLggJjctCLnx8OWBMyvHRxbqMKn14f6QstF1S3SRrlSjWbZizdyPzozojnAYKF%2BnYuYVITeWjnnS48WvXNaqpuRgfSjf5RB4ZtNe3S4Hezjy9IJfJjLwpRp3zVJZPI08GJkWcweco6nkF8iBaiGsA5AIv%2FPsue9dFRPyUP7rjfEJ9icTYmnUObTznmecpszzIGCLHfSUMWM0rJv5MaL787Pl1ze7x%2F5XLqWp%2FMxBYt7Rog3z%2BEnFFRbZgvZwmIjtXxKKD5vE9UNru06Qf2qsmd4uYoLd%2FmXJUmZYv4Oa7hcRr1njNfzICcBOGiUjQj%2B1%2BMkTcnJOtrA0AsbOQbPrNhcGNZAkJgfisMgb%2BGSMI8RlsIwBll1lEamLjhxu2Qjp0o0Rg03uqlYxWgYk0yHMhvQkSATI61ZsxTQ9S5OVElebTa31C9%2BrJ5e9lzWA25UKS83dLztkno%2FgnsI6iaMI1fyZvTcc4E9CyS7v09BoIE3Js6RN8ao%2B2xj%2FiuML%2Bwv8IGOrEBuaM23WStn%2FUeNG5OzAY2LnZ%2Bcw6ivqLT3grKBL%2Bl3Ti3MZ%2FeaoXoRkpNUiFR1B6ngHPYrw1SfQy7X6MV7%2B3vYTai%2FnTgXXwbqW05NIbmiIR15whOkACLN8tuERfoQUb8Vj2iiV6yUf1eJBxcwfaKb8mttd9JvdARMowU%2FHp2A2wPE2dlN%2BSpWEnp44XfpHluXiujwxgzI6vmOYsKFQgLO11YUGRI6tUS0OxZIlFUjsP6&response-content-disposition=attachment%3Bfilename%3D%22test.txt%22%3B%20filename%2A%3Dutf-8%27%27test.txt&X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=ASIAYKLZUZMO5JQZKT7O%2F20250616%2Fap-southeast-2%2Fs3%2Faws4_request&X-Amz-Date=20250616T092044Z&X-Amz-SignedHeaders=content-type%3Bhost%3Bx-amz-acl%3Bx-amz-server-side-encryption&X-Amz-Signature=50009de31439fbc6e7418d8aec0f01f93d7f4c2054e1fb6223181921d0893e1a