Breadcrumbs

x19512 API

Provides endpoints for long-term data preservation services as per ETSI TS 119 512.


Retrieve Info

POST /RetrieveInfo

Purpose

Retrieves information about the preservation profiles supported by the preservation service.


Request Headers

Name

Description

Type

Required

Authorization

Bearer token (e.g., Bearer your_jwt_token)

string

Yes


Request Body

{
  "reqId": "string",               // client request ID
  "pro": "string",                 // target profile URI (optional)
  "stat": "string"                 // status filter (optional)
}

Response

200 OK

{
  "optOut": {                      // optional outputs
    "policy": ["string"],
    "other": []
  },
  "result": {                      
    "maj": "urn:oasis:names:tc:dss:1.0:resultmajor:Success", // enum:
    // └─ Success | RequesterError | ResponderError |
    //    InsufficientInformation | Pending
    "min": "string",               // implementation-defined code
    "msg": "string",               // human text
    "pRef": "string"               // pointer to extra info (optional)
  },
  "reqId": "string",
  "pro": [                         // supported preservation profiles
    {
      "pid": "string",             // profile ID
      "spec": ["string"],          // spec references
      "description": [],           // multilingual text blocks
      "pvp": {                     // validity period
        "vfrom": "2023-01-01T00:00:00Z",
        "vuntl": "2024-01-01T00:00:00Z"
      },
      "psm": "string",             // storage model
      "pg": ["string"],            // profile groups
      "ef": []                     // evidence formats
    }
  ]
}

Preserve PO

POST /PreservePO

Purpose

Submits zero or more preservation data objects to the preservation service.

  • Multiple PO’s in the request are packaged into one package.

  • Metadata can be incorporated by specifying the schema namespace as format id.


Request Headers

Name

Description

Type

Required

Authorization

Bearer token (e.g., Bearer your_jwt_token)

string

Yes


Request body

{
  "reqId": "string",               // client request identifier
  "pro": "string",                 // REQUIRED – preservation-profile URI
  "po": [                          // one or more preservation objects
    {
      // *** choose ONE of the two content holders below ***
      "binaryData": {              // raw bytes (base64)
        "value": "base64string"
      },
      "xmlData": {                 // XML payload (base64)
        "b64Content": "base64string"
      },

      "formatId": "string",        // format registry ID
      "mimeType": "string",        // media type, e.g. "application/pdf"
      "pronomId": "string",        // PRONOM identifier
      "id": "string",              // client-side object ID
      "relObj": ["string"]         // IDs of related objects
    }
  ]
}

Responses

200 OK

{
  "optOut": {                      // optional outputs from the service
    "policy": ["string"],          // policies actually applied
    "other": []                    // extra output objects
  },
  "result": {                      // outcome of the call
    "maj": "urn:oasis:names:tc:dss:1.0:resultmajor:Success", // ENUM values:
                                                             //   urn:oasis:names:tc:dss:1.0:resultmajor:Success
                                                             //   urn:oasis:names:tc:dss:1.0:resultmajor:RequesterError
                                                             //   urn:oasis:names:tc:dss:1.0:resultmajor:ResponderError
                                                             //   urn:oasis:names:tc:dss:1.0:resultmajor:InsufficientInformation
                                                             //   urn:oasis:names:tc:dss:1.0:profiles:asynchronousprocessing:resultmajor:Pending
    "min": "string",               // finer-grained status code (optional)
    "msg": "string",               // human-readable message (optional)
    "pRef": "string"               // reference pointer (optional)
  },
  "reqId": "string",               // echoes your request ID
  "poId": "string",                // server-assigned preservation-object ID (POID)
  "po": [                          // each object as stored by the service
    {
      "formatId": "string",
      "mimeType": "string",
      "id": "string"               // binaryData or xmlData MAY be included if the service echoes content
    }
  ]
}

Retrieve PO

POST /RetrievePO

Purpose

Retrieves stored preservation data objects from the service.


Request Headers

Name

Description

Type

Required

Authorization

Bearer token (e.g., Bearer your_jwt_token)

string

Yes


Request body

{
  "reqId": "string",               // client request ID
  "poId": "string",                // REQUIRED – preservation-object ID
  "versionId": ["string"],         // list of version IDs to fetch
  "sor": "PO",                     // Subject-Of-Retrieval enum:
                                   //   PO
                                   //   Evidence
                                   //   POwithDetachedEvidence
  "poFormat": "string",            // ask for a specific PO format
                                      Supported Values are listed in the profile ( available through RetrieveInfo )
  "evFormat": "string"             // ask for a specific evidence format
                                      Supported Values are listed in the profile ( available through RetrieveInfo )
}

Responses

200 OK

{
  "optOut": {                      // extra outputs
    "policy": ["string"],          // policies actually applied
    "other": []                    // service-specific data
  },
  "result": {                      // call outcome
    "maj": "urn:oasis:names:tc:dss:1.0:resultmajor:Success", // ENUM:
                                                             //   urn:oasis:names:tc:dss:1.0:resultmajor:Success
                                                             //   urn:oasis:names:tc:dss:1.0:resultmajor:RequesterError
                                                             //   urn:oasis:names:tc:dss:1.0:resultmajor:ResponderError
                                                             //   urn:oasis:names:tc:dss:1.0:resultmajor:InsufficientInformation
                                                             //   urn:oasis:names:tc:dss:1.0:profiles:asynchronousprocessing:resultmajor:Pending
    "min": "string",               // minor status code (optional)
    "msg": "string",               // human-readable message (optional)
    "pRef": "string"               // reference pointer (optional)
  },
  "reqId": "string",               // echoes your reqId
  "po": [                          // retrieved preservation objects
    {
      // exactly one of the two data blocks may appear
      "binaryData": {              // base64-encoded bytes
        "value": "base64string"
      },
      "xmlData": {                 // base64-encoded XML
        "b64Content": "base64string"
      },
      "formatId": "string",        // format registry ID
      "mimeType": "string",        // media type
      "pronomId": "string",        // PRONOM identifier
      "id": "string",              // object ID
      "relObj": ["string"]         // related object IDs
    }
  ]
}

Delete PO

POST /DeletePO

Purpose

Deletes a stored preservation data object.


Request Headers

Name

Description

Type

Required

Authorization

Bearer token (e.g., Bearer your_jwt_token)

string

Yes


Request body

{
  "reqId": "string",               // client request ID
  "poId": "string",                // REQUIRED – preservation-object ID (POID)
  "mod": "SubDOsAndEvidence",      // deletion mode (enum):
                                   //   OnlySubDOs
                                   //   SubDOsAndEvidence
  "crn": "string",                 // claimed requestor name
  "reason": "string"               // why the object is removed
}

Responses

200 OK

{
  "optOut": {                      // extra outputs (all optional)
    "policy": ["string"],          // policies actually applied
    "other": []                    // service-specific data
  },
  "result": {                      // outcome of the call
    "maj": "urn:oasis:names:tc:dss:1.0:resultmajor:Success", // ENUM:
                                                             //   urn:oasis:names:tc:dss:1.0:resultmajor:Success
                                                             //   urn:oasis:names:tc:dss:1.0:resultmajor:RequesterError
                                                             //   urn:oasis:names:tc:dss:1.0:resultmajor:ResponderError
                                                             //   urn:oasis:names:tc:dss:1.0:resultmajor:InsufficientInformation
                                                             //   urn:oasis:names:tc:dss:1.0:profiles:asynchronousprocessing:resultmajor:Pending
    "min": "string",               // finer-grained status (optional)
    "msg": "string",               // human-readable message (optional)
    "pRef": "string"               // pointer to extra info (optional)
  },
  "reqId": "string"                // echoes your request ID
}

Retrieve Trace

Returns the audit trail for one or more preservation objects, listing the events the service recorded for them.

Not Available Yet


Searches the caller’s accessible preservation objects and returns the IDs that match the query.

Not Available Yet


Validate Evidence

Checks a supplied evidence package, and optionally its related preservation objects, and reports whether the evidence is valid.

Not Available Yet


Update POC

Submits a new content version (delta) for an existing preservation object collection.

Not Available Yet