Initiate a file import#

Deprecated

This endpoint is deprecated and may be removed in a future release.

This endpoint was deprecated on 2026-02-12.

It is scheduled for sunset on 2027-01-31.

Description#

Import a file for conversion to a Workiva equivalent. This is a long running operation. Response includes an uploadUrl and a header Location. The uploadUrl indicates where to upload the file for import. To upload the file, perform a PUT request against the uploadUrl with the same authentication credentials and flow as the import request. For more details, see Authentication documentation. The Location header indicates where to poll for import file results. For more details on long-running job polling, see Operations endpoint. When a Workiva file (tar.gz) import is complete, the status of the Operation will change to completed. The resourceUrl field of the Operation will contain a link to the Import file results endpoint. This resourceUrl field allows to fetch the details about the file which is successfully imported.

POST /prototype/platform/files/import

Required OAuth Scopes

file:write

Parameters#

Parameter

In

Type

Required

Description

X-Version

header

string

false

Version of the API (2022-01-01)

body

body

PrototypeFileImport

true

The details of the file import

Body parameter example#

{
  "fileName": "signed_contract.pdf",
  "kind": "SupportingDocument",
  "supportingDocumentImportOptions": {
    "containerId": "V0ZEYXRhRW5zVkNmU2Zi1mZjcE4EzNzk0ZmUwZjk"
  }
}

Code Samples#

curl -X POST https://api.app.wdesk.com/prototype/platform/files/import \
    -H 'Content-Type: application/json' \
    -H 'Accept: application/json' \
    -H 'Authorization: Bearer {access-token}' \
    -H 'X-Version: 2022-01-01'
http POST https://api.app.wdesk.com/prototype/platform/files/import \
    X-Version:2022-01-01 \
    Content-Type:application/json \
    Accept:application/json \
    Authorization:"Bearer {access-token}"
wget --method=POST "https://api.app.wdesk.com/prototype/platform/files/import" \
    --output-document -  \ 
    --header 'Content-Type: application/json' \ 
    --header 'Accept: application/json' \ 
    --header 'Authorization: Bearer {access-token}' \
    --header 'X-Version: 2022-01-01'
import requests

headers = {
  'X-Version': '2022-01-01',
  'Content-Type': 'application/json',
  'Accept': 'application/json',
  'Authorization': 'Bearer {access-token}'
}

r = requests.post('https://api.app.wdesk.com/prototype/platform/files/import', headers = headers)

print(r.headers['Location'])

Returns#

202 - Accepted#

Returns a FileImportResponse object containing details for uploading the new file.

Header

Description

Location

The location to poll for the operation result.

Retry-After

The number of seconds to wait before polling for a result and between polling attempts.

400 - Bad Request#

Error response that indicates that the service is not able to process the incoming request. The reason is provided in the error message.

401 - Unauthorized#

Error response that indicates that the service is not able to process the incoming request. The reason is provided in the error message.

403 - Forbidden#

Error response that indicates that the service is not able to process the incoming request. The reason is provided in the error message.

404 - Not Found#

Error response that indicates that the service is not able to process the incoming request. The reason is provided in the error message.

409 - Conflict#

Error response that indicates that the service is not able to process the incoming request. The reason is provided in the error message.

429 - Too Many Requests#

Error response that indicates that the service is not able to process the incoming request. The reason is provided in the error message.

500 - Internal Server Error#

Error response that indicates that the service is not able to process the incoming request. The reason is provided in the error message.

503 - Service Unavailable#

Error response that indicates that the service is not able to process the incoming request. The reason is provided in the error message.

Example Responses#

{
  "uploadUrl": "<opaque_url>"
}
{
  "code": "400BadRequest",
  "message": "The request was unacceptable, often due to a missing or invalid parameter"
}
{
  "code": "401Unauthorized",
  "message": "No valid API token provided"
}
{
  "code": "403Forbidden",
  "message": "The API token does not have permissions to perform the request"
}
{
  "code": "404NotFound",
  "message": "The requested resource could not be found"
}
{
  "code": "409Conflict",
  "message": "The request conflicts with another request"
}
{
  "code": "429TooManyRequests",
  "message": "Too many requests have been made against the API in too short a time"
}
{
  "code": "500InternalServerError",
  "message": "The server encountered an unexpected condition that prevented it from fulfilling the request"
}
{
  "code": "503ServiceUnavailable",
  "message": "The server cannot handle the request due to a temporary overload or scheduled maintenance"
}