Overview

Registering a priority document in WIPO DAS involves three main steps:

  1. Upload the PDDP ZIP file to obtain a fileId.
  2. Poll until the file has been validated.
  3. Submit the registration record, linking it to the fileId.

To update a previously registered document, replace the final step with a PUT to the same registrations endpoint (see section Updating a Registration below).

Step 1 — Obtain a presigned upload URL

Request a one-time presigned URL and a fileId for the document to be uploaded.

POST {base-url}/requests/files/url-uploads
Authorization: Bearer <access_token>
Content-Type: application/json
Accept: application/json

{
  "fileReference": "<YOUR_LOCAL_REFERENCE>",
  "fileFormatCategory": "pdf",
  "fileChecksum": "<SHA-256_HEX_OF_FILE>"
}

The response contains a fileId and a url (presigned upload URL).

If you need to refresh the presigned URL for an already-created fileId (e.g. the original URL expired), send a PUT with only the fileId:

{
  "fileId": "<EXISTING_FILE_ID>"
}

Step 2 — Upload the file

Upload the raw file content directly to the presigned URL using an HTTP PUT. No Authorization header is required for this step — the URL itself carries the credentials.

PUT <presigned_upload_url>

<binary content of the PDDP ZIP>

Step 3 — Poll until the file is validated

GET {base-url}/requests/files?fileId=<FILE_ID>
Authorization: Bearer <access_token>
Accept: application/json

Repeat until fileStatusCategory is "validated":

{
  "fileReference": "my-local-ref",
  "fileFormatCategory": "pdf",
  "fileChecksum": "2fba0c9e58f33b41a470eb6fe4e255719d9ee46f7f979d4a7b854c578c351a43",
  "fileDateTime": "2026-03-20T12:46:08.751Z",
  "fileSizeQuantity": 7069,
  "fileStatusCategory": "validated",
  "error": null
}

Step 4 — Submit the registration (new document)

V1

POST {base-url}/requests/registrations
Authorization: Bearer <access_token>
Content-Type: application/json

{
  "operationCategory": "registration",
  "documentKindCategory": "patent",
  "documentNumber": "PCT/IB2026/050123",
  "documentDate": "2026-01-10",
  "dasAccessCode": "<DAS_ACCESS_CODE>",
  "email": "contact@example.org",
  "fileId": "<FILE_ID>"
}

V2

V2 adds the mandatory documentCodeCategory field:

POST {base-url}/requests/registrations
Authorization: Bearer <access_token>
Content-Type: application/json

{
  "operationCategory": "registration",
  "documentKindCategory": "patent",
  "documentCodeCategory": "priority document",
  "documentNumber": "PCT/IB2026/050123",
  "documentDate": "2026-01-10",
  "dasAccessCode": "<DAS_ACCESS_CODE>",
  "email": "contact@example.org",
  "fileId": "<FILE_ID>"
}

Field reference

FieldTypeDescription
operationCategorystringAlways "registration"
documentKindCategorystring patent, design, or trademark
documentCodeCategorystring (V2 only) e.g. "priority document"
documentNumberstringApplication number as registered
documentDatestringFiling date — format YYYY-MM-DD
dasAccessCodestring DAS access code associated with the application
emailstringNotification e-mail (optional)
fileIdstring Identifier returned in Step 1

Error response example (400 Bad Request)

{
  "code": "INVALID_INPUT_DATA",
  "message": null,
  "details": [
    {
      "code": -4,
      "message": "Invalid input data: documentNumber=PCT/IB2026/098497: expected documentNumber=IB PCT/IB2026/098496"
    }
  ]
}

Updating a registration

To replace the file for an already-registered document, follow Steps 1–3 to obtain a new fileId, then send a PUT to the registrations endpoint. V2 also supports including optional application-level metadata.

V1 — update

PUT {base-url}/requests/registrations

{
  "operationCategory": "registration",
  "documentKindCategory": "patent",
  "documentNumber": "PCT/IB2026/050123",
  "documentDate": "2026-01-10",
  "dasAccessCode": "<DAS_ACCESS_CODE>",
  "fileId": "<NEW_FILE_ID>"
}

V2 — update (with optional application context)

PUT {base-url}/requests/registrations

{
  "operationCategory": "registration",
  "documentKindCategory": "patent",
  "documentNumber": "PCT/IB2026/050123",
  "documentDate": "2026-01-10",
  "dasAccessCode": "<DAS_ACCESS_CODE>",
  "applicationCategory": "patent",
  "applicationNumber": "WO2026/012345",
  "applicationFilingDate": "2026-03-01",
  "email": "contact@example.org",
  "fileId": "<NEW_FILE_ID>"
}