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., |
| 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., |
| 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., |
| 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., |
| 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
Search
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