---
title: "Changes to Create a DID URL and associated resource"
method: POST
path: "/createResource"
---

# Changes to Create a DID URL and associated resource

`POST /createResource`

> Every recorded change to this operation, newest first.

## Timeline

Changed in 10 of 37 revisions.

- **2026-04-01** `bf85477559de`: 8 breaking
- **2026-04-01** `175d66d8fd37`: 1 breaking, 1 info
- **2026-01-20** `86de75bd330a`: 5 breaking, 5 info
- **2026-01-20** `67ba70e320b2`: 5 breaking, 1 warning, 11 info
- **2026-01-19** `81e37e9f2f39`: 5 breaking, 5 info
- **2025-02-25** `2eeaf5de804c`: 4 breaking, 1 info
- **2025-02-25** `03cfd2dd920d`: 1 breaking, 4 info
- **2024-11-24** `32b26910bcf6`: 4 breaking, 5 warning, 9 info
- **2024-11-14** `8c13330f1773`: 1 info
- **2024-04-07** `5e0d026b9259`: 1 breaking

## Changes

- **2026-04-01** `bf85477559de`: 8 breaking
  - added `subschema #1, subschema #2, subschema #3` to the `allOf[#/components/schemas/RegistrarResourceState]/jobId` response property `oneOf` list for the response status `200`
  - added `subschema #1, subschema #2, subschema #3` to the `allOf[#/components/schemas/RegistrarResourceState]/jobId` response property `oneOf` list for the response status `201`
  - added `subschema #1, subschema #2, subschema #3` to the `allOf[#/components/schemas/RegistrarResourceState]/jobId` response property `oneOf` list for the response status `400`
  - added `subschema #1, subschema #2, subschema #3` to the `allOf[#/components/schemas/RegistrarResourceState]/jobId` response property `oneOf` list for the response status `500`
  - the `allOf[#/components/schemas/RegistrarResourceState]/jobId` response's property type changed from `string` to no type for status `200`
  - the `allOf[#/components/schemas/RegistrarResourceState]/jobId` response's property type changed from `string` to no type for status `201`
  - the `allOf[#/components/schemas/RegistrarResourceState]/jobId` response's property type changed from `string` to no type for status `400`
  - the `allOf[#/components/schemas/RegistrarResourceState]/jobId` response's property type changed from `string` to no type for status `500`
- **2026-04-01** `175d66d8fd37`: 1 breaking, 1 info
  - the `allOf[#/components/schemas/RegistrarRequest]/jobId` request property type changed from `string` to no type
  - added `subschema #1, subschema #2, subschema #3` to the `allOf[#/components/schemas/RegistrarRequest]/jobId` request property `oneOf` list
- **2026-01-20** `86de75bd330a`: 5 breaking, 5 info
  - removed `#/components/schemas/VerificationMethodPublicDataPublicKeyJwk, #/components/schemas/VerificationMethodPublicDataPublicKeyMultibase, #/components/schemas/VerificationMethodPrivateDataPrivateKeyJwk, #/components/schemas/VerificationMethodPrivateDataPrivateKeyMultibase` from the `allOf[#/components/schemas/RegistrarRequest]/secret/verificationMethod/items/` request property `oneOf` list
  - added `#/components/schemas/VerificationMethodPublicData, #/components/schemas/VerificationMethodPrivateData` to the `allOf[#/components/schemas/RegistrarResourceState]/didUrlState/secret/verificationMethod/items/` response property `oneOf` list for the response status `200`
  - added `#/components/schemas/VerificationMethodPublicData, #/components/schemas/VerificationMethodPrivateData` to the `allOf[#/components/schemas/RegistrarResourceState]/didUrlState/secret/verificationMethod/items/` response property `oneOf` list for the response status `201`
  - added `#/components/schemas/VerificationMethodPublicData, #/components/schemas/VerificationMethodPrivateData` to the `allOf[#/components/schemas/RegistrarResourceState]/didUrlState/secret/verificationMethod/items/` response property `oneOf` list for the response status `400`
  - added `#/components/schemas/VerificationMethodPublicData, #/components/schemas/VerificationMethodPrivateData` to the `allOf[#/components/schemas/RegistrarResourceState]/didUrlState/secret/verificationMethod/items/` response property `oneOf` list for the response status `500`
  - added `#/components/schemas/VerificationMethodPublicData, #/components/schemas/VerificationMethodPrivateData` to the `allOf[#/components/schemas/RegistrarRequest]/secret/verificationMethod/items/` request property `oneOf` list
  - removed `#/components/schemas/VerificationMethodPublicDataPublicKeyJwk, #/components/schemas/VerificationMethodPublicDataPublicKeyMultibase, #/components/schemas/VerificationMethodPrivateDataPrivateKeyJwk, #/components/schemas/VerificationMethodPrivateDataPrivateKeyMultibase` from the `allOf[#/components/schemas/RegistrarResourceState]/didUrlState/secret/verificationMethod/items/` response property `oneOf` list for the response status `200`
  - removed `#/components/schemas/VerificationMethodPublicDataPublicKeyJwk, #/components/schemas/VerificationMethodPublicDataPublicKeyMultibase, #/components/schemas/VerificationMethodPrivateDataPrivateKeyJwk, #/components/schemas/VerificationMethodPrivateDataPrivateKeyMultibase` from the `allOf[#/components/schemas/RegistrarResourceState]/didUrlState/secret/verificationMethod/items/` response property `oneOf` list for the response status `201`
  - removed `#/components/schemas/VerificationMethodPublicDataPublicKeyJwk, #/components/schemas/VerificationMethodPublicDataPublicKeyMultibase, #/components/schemas/VerificationMethodPrivateDataPrivateKeyJwk, #/components/schemas/VerificationMethodPrivateDataPrivateKeyMultibase` from the `allOf[#/components/schemas/RegistrarResourceState]/didUrlState/secret/verificationMethod/items/` response property `oneOf` list for the response status `400`
  - removed `#/components/schemas/VerificationMethodPublicDataPublicKeyJwk, #/components/schemas/VerificationMethodPublicDataPublicKeyMultibase, #/components/schemas/VerificationMethodPrivateDataPrivateKeyJwk, #/components/schemas/VerificationMethodPrivateDataPrivateKeyMultibase` from the `allOf[#/components/schemas/RegistrarResourceState]/didUrlState/secret/verificationMethod/items/` response property `oneOf` list for the response status `500`
- **2026-01-20** `67ba70e320b2`: 5 breaking, 1 warning, 11 info
  - the `allOf[#/components/schemas/RegistrarRequest]/secret` request property type changed from no type to `object`
  - the `allOf[#/components/schemas/RegistrarResourceState]/didUrlState/secret` response's property type changed from no type to `object` for status `200`
  - the `allOf[#/components/schemas/RegistrarResourceState]/didUrlState/secret` response's property type changed from no type to `object` for status `201`
  - the `allOf[#/components/schemas/RegistrarResourceState]/didUrlState/secret` response's property type changed from no type to `object` for status `400`
  - the `allOf[#/components/schemas/RegistrarResourceState]/didUrlState/secret` response's property type changed from no type to `object` for status `500`
  - removed `#/components/schemas/Secret, subschema #2` from the `allOf[#/components/schemas/RegistrarRequest]/secret` request property `allOf` list
  - added the new optional request property `allOf[#/components/schemas/RegistrarRequest]/secret/decryptionResponse`
  - added the new optional request property `allOf[#/components/schemas/RegistrarRequest]/secret/signingResponse`
  - added the new optional request property `allOf[#/components/schemas/RegistrarRequest]/secret/verificationMethod`
  - added the optional property `allOf[#/components/schemas/RegistrarResourceState]/didUrlState/secret/verificationMethod` to the response with the `200` status
  - added the optional property `allOf[#/components/schemas/RegistrarResourceState]/didUrlState/secret/verificationMethod` to the response with the `201` status
  - added the optional property `allOf[#/components/schemas/RegistrarResourceState]/didUrlState/secret/verificationMethod` to the response with the `400` status
  - added the optional property `allOf[#/components/schemas/RegistrarResourceState]/didUrlState/secret/verificationMethod` to the response with the `500` status
  - removed `#/components/schemas/Secret, subschema #2` from the `allOf[#/components/schemas/RegistrarResourceState]/didUrlState/secret` response property `allOf` list for the response status `200`
  - removed `#/components/schemas/Secret, subschema #2` from the `allOf[#/components/schemas/RegistrarResourceState]/didUrlState/secret` response property `allOf` list for the response status `201`
  - removed `#/components/schemas/Secret, subschema #2` from the `allOf[#/components/schemas/RegistrarResourceState]/didUrlState/secret` response property `allOf` list for the response status `400`
  - removed `#/components/schemas/Secret, subschema #2` from the `allOf[#/components/schemas/RegistrarResourceState]/didUrlState/secret` response property `allOf` list for the response status `500`
- **2026-01-19** `81e37e9f2f39`: 5 breaking, 5 info
  - removed `#/components/schemas/VerificationMethodPublicData, #/components/schemas/VerificationMethodPrivateData` from the `allOf[#/components/schemas/RegistrarRequest]/secret/allOf[#/components/schemas/Secret]/verificationMethod/items/` request property `oneOf` list
  - added `#/components/schemas/VerificationMethodPublicDataPublicKeyJwk, #/components/schemas/VerificationMethodPublicDataPublicKeyMultibase, #/components/schemas/VerificationMethodPrivateDataPrivateKeyJwk, #/components/schemas/VerificationMethodPrivateDataPrivateKeyMultibase` to the `allOf[#/components/schemas/RegistrarResourceState]/didUrlState/secret/allOf[#/components/schemas/Secret]/verificationMethod/items/` response property `oneOf` list for the response status `200`
  - added `#/components/schemas/VerificationMethodPublicDataPublicKeyJwk, #/components/schemas/VerificationMethodPublicDataPublicKeyMultibase, #/components/schemas/VerificationMethodPrivateDataPrivateKeyJwk, #/components/schemas/VerificationMethodPrivateDataPrivateKeyMultibase` to the `allOf[#/components/schemas/RegistrarResourceState]/didUrlState/secret/allOf[#/components/schemas/Secret]/verificationMethod/items/` response property `oneOf` list for the response status `201`
  - added `#/components/schemas/VerificationMethodPublicDataPublicKeyJwk, #/components/schemas/VerificationMethodPublicDataPublicKeyMultibase, #/components/schemas/VerificationMethodPrivateDataPrivateKeyJwk, #/components/schemas/VerificationMethodPrivateDataPrivateKeyMultibase` to the `allOf[#/components/schemas/RegistrarResourceState]/didUrlState/secret/allOf[#/components/schemas/Secret]/verificationMethod/items/` response property `oneOf` list for the response status `400`
  - added `#/components/schemas/VerificationMethodPublicDataPublicKeyJwk, #/components/schemas/VerificationMethodPublicDataPublicKeyMultibase, #/components/schemas/VerificationMethodPrivateDataPrivateKeyJwk, #/components/schemas/VerificationMethodPrivateDataPrivateKeyMultibase` to the `allOf[#/components/schemas/RegistrarResourceState]/didUrlState/secret/allOf[#/components/schemas/Secret]/verificationMethod/items/` response property `oneOf` list for the response status `500`
  - added `#/components/schemas/VerificationMethodPublicDataPublicKeyJwk, #/components/schemas/VerificationMethodPublicDataPublicKeyMultibase, #/components/schemas/VerificationMethodPrivateDataPrivateKeyJwk, #/components/schemas/VerificationMethodPrivateDataPrivateKeyMultibase` to the `allOf[#/components/schemas/RegistrarRequest]/secret/allOf[#/components/schemas/Secret]/verificationMethod/items/` request property `oneOf` list
  - removed `#/components/schemas/VerificationMethodPublicData, #/components/schemas/VerificationMethodPrivateData` from the `allOf[#/components/schemas/RegistrarResourceState]/didUrlState/secret/allOf[#/components/schemas/Secret]/verificationMethod/items/` response property `oneOf` list for the response status `200`
  - removed `#/components/schemas/VerificationMethodPublicData, #/components/schemas/VerificationMethodPrivateData` from the `allOf[#/components/schemas/RegistrarResourceState]/didUrlState/secret/allOf[#/components/schemas/Secret]/verificationMethod/items/` response property `oneOf` list for the response status `201`
  - removed `#/components/schemas/VerificationMethodPublicData, #/components/schemas/VerificationMethodPrivateData` from the `allOf[#/components/schemas/RegistrarResourceState]/didUrlState/secret/allOf[#/components/schemas/Secret]/verificationMethod/items/` response property `oneOf` list for the response status `400`
  - removed `#/components/schemas/VerificationMethodPublicData, #/components/schemas/VerificationMethodPrivateData` from the `allOf[#/components/schemas/RegistrarResourceState]/didUrlState/secret/allOf[#/components/schemas/Secret]/verificationMethod/items/` response property `oneOf` list for the response status `500`
- **2025-02-25** `2eeaf5de804c`: 4 breaking, 1 info
  - the response property `allOf[#/components/schemas/RegistrarResourceState]/didUrlState/secret/allOf[#/components/schemas/Secret]/verificationMethod/items/oneOf[#/components/schemas/VerificationMethodPrivateData]/allOf[subschema #2]/privateKeyMultibase` became optional for the status `200`
  - the response property `allOf[#/components/schemas/RegistrarResourceState]/didUrlState/secret/allOf[#/components/schemas/Secret]/verificationMethod/items/oneOf[#/components/schemas/VerificationMethodPrivateData]/allOf[subschema #2]/privateKeyMultibase` became optional for the status `201`
  - the response property `allOf[#/components/schemas/RegistrarResourceState]/didUrlState/secret/allOf[#/components/schemas/Secret]/verificationMethod/items/oneOf[#/components/schemas/VerificationMethodPrivateData]/allOf[subschema #2]/privateKeyMultibase` became optional for the status `400`
  - the response property `allOf[#/components/schemas/RegistrarResourceState]/didUrlState/secret/allOf[#/components/schemas/Secret]/verificationMethod/items/oneOf[#/components/schemas/VerificationMethodPrivateData]/allOf[subschema #2]/privateKeyMultibase` became optional for the status `500`
  - the request property `allOf[#/components/schemas/RegistrarRequest]/secret/allOf[#/components/schemas/Secret]/verificationMethod/items/oneOf[#/components/schemas/VerificationMethodPrivateData]/allOf[subschema #2]/privateKeyMultibase` became optional
- **2025-02-25** `03cfd2dd920d`: 1 breaking, 4 info
  - the request property `allOf[#/components/schemas/RegistrarRequest]/secret/allOf[#/components/schemas/Secret]/verificationMethod/items/oneOf[#/components/schemas/VerificationMethodPrivateData]/allOf[subschema #2]/privateKeyMultibase` became required
  - the response property `allOf[#/components/schemas/RegistrarResourceState]/didUrlState/secret/allOf[#/components/schemas/Secret]/verificationMethod/items/oneOf[#/components/schemas/VerificationMethodPrivateData]/allOf[subschema #2]/privateKeyMultibase` became required for the status `200`
  - the response property `allOf[#/components/schemas/RegistrarResourceState]/didUrlState/secret/allOf[#/components/schemas/Secret]/verificationMethod/items/oneOf[#/components/schemas/VerificationMethodPrivateData]/allOf[subschema #2]/privateKeyMultibase` became required for the status `201`
  - the response property `allOf[#/components/schemas/RegistrarResourceState]/didUrlState/secret/allOf[#/components/schemas/Secret]/verificationMethod/items/oneOf[#/components/schemas/VerificationMethodPrivateData]/allOf[subschema #2]/privateKeyMultibase` became required for the status `400`
  - the response property `allOf[#/components/schemas/RegistrarResourceState]/didUrlState/secret/allOf[#/components/schemas/Secret]/verificationMethod/items/oneOf[#/components/schemas/VerificationMethodPrivateData]/allOf[subschema #2]/privateKeyMultibase` became required for the status `500`
- **2024-11-24** `32b26910bcf6`: 4 breaking, 5 warning, 9 info
  - removed the required property `allOf[#/components/schemas/RegistrarResourceState]/didState` from the response with the `200` status
  - removed the required property `allOf[#/components/schemas/RegistrarResourceState]/didState` from the response with the `201` status
  - removed the required property `allOf[#/components/schemas/RegistrarResourceState]/didState` from the response with the `400` status
  - removed the required property `allOf[#/components/schemas/RegistrarResourceState]/didState` from the response with the `500` status
  - removed the request property `allOf[subschema #2]/data`
  - removed the optional property `allOf[#/components/schemas/RegistrarResourceState]/resourceMetadata` from the response with the `200` status
  - removed the optional property `allOf[#/components/schemas/RegistrarResourceState]/resourceMetadata` from the response with the `201` status
  - removed the optional property `allOf[#/components/schemas/RegistrarResourceState]/resourceMetadata` from the response with the `400` status
  - removed the optional property `allOf[#/components/schemas/RegistrarResourceState]/resourceMetadata` from the response with the `500` status
  - added the new optional request property `allOf[subschema #2]/content`
  - added the optional property `allOf[#/components/schemas/RegistrarResourceState]/contentMetadata` to the response with the `200` status
  - added the optional property `allOf[#/components/schemas/RegistrarResourceState]/contentMetadata` to the response with the `201` status
  - added the optional property `allOf[#/components/schemas/RegistrarResourceState]/contentMetadata` to the response with the `400` status
  - added the optional property `allOf[#/components/schemas/RegistrarResourceState]/contentMetadata` to the response with the `500` status
  - added the required property `allOf[#/components/schemas/RegistrarResourceState]/didUrlState` to the response with the `200` status
  - added the required property `allOf[#/components/schemas/RegistrarResourceState]/didUrlState` to the response with the `201` status
  - added the required property `allOf[#/components/schemas/RegistrarResourceState]/didUrlState` to the response with the `400` status
  - added the required property `allOf[#/components/schemas/RegistrarResourceState]/didUrlState` to the response with the `500` status
- **2024-11-14** `8c13330f1773`: 1 info
  - endpoint added
- **2024-04-07** `5e0d026b9259`: 1 breaking
  - api path removed without deprecation

---

[Operation](https://skmtc.dev/decentralized-identity/apis/universal-registrar/docs/createResource/post.md) - [API](https://skmtc.dev/decentralized-identity/apis/universal-registrar.md) - [Page](https://skmtc.dev/decentralized-identity/apis/universal-registrar/changes/createResource/post)
