Microsoft.ConfidentialLedger (preview:2024-12-09)

2025/02/22 • 33 new methods

GetConstitution (new)
Description The constitution is a script that assesses and applies proposals from consortium members.
Reference Link ¶

⚼ Request

GET:  /app/governance/constitution
{
api-version: string ,
}

⚐ Response (200)

{
digest: string ,
script: string ,
}

⚐ Response (default)

{
error:
{
code: string ,
message: string ,
}
,
}
ListConsortiumMembers (new)
Description Consortium members can manage the Confidential Ledger.
Reference Link ¶

⚼ Request

GET:  /app/governance/members
{
api-version: string ,
}

⚐ Response (200)

{
members:
[
{
certificate: string ,
id: string ,
}
,
]
,
nextLink: string ,
}

⚐ Response (default)

{
error:
{
code: string ,
message: string ,
}
,
}
GetEnclaveQuotes (new)
Description A quote is an SGX enclave measurement that can be used to verify the validity of a node and its enclave.
Reference Link ¶

⚼ Request

GET:  /app/enclaveQuotes
{
api-version: string ,
}

⚐ Response (200)

{
currentNodeId: string ,
enclaveQuotes: object ,
}

⚐ Response (default)

{
error:
{
code: string ,
message: string ,
}
,
}
ListCollections (new)
Description Collection ids are user-created collections of ledger entries
Reference Link ¶

⚼ Request

GET:  /app/collections
{
api-version: string ,
}

⚐ Response (200)

{
collections:
[
{
collectionId: string ,
}
,
]
,
nextLink: string ,
}

⚐ Response (default)

{
error:
{
code: string ,
message: string ,
}
,
}
ListLedgerEntries (new)
Description A collection id may optionally be specified. Only entries in the specified (or default) collection will be returned.
Reference Link ¶

⚼ Request

GET:  /app/transactions
{
api-version: string ,
collectionId: string ,
fromTransactionId: string ,
toTransactionId: string ,
}

⚐ Response (200)

{
state: enum ,
nextLink: string ,
entries:
[
{
contents: string ,
collectionId: string ,
transactionId: string ,
preHooks:
[
{
functionId: string ,
properties:
{
arguments:
[
string ,
]
,
exportedFunctionName: string ,
runtimeOptions:
{
log_exception_details: boolean ,
max_cached_interpreters: integer ,
max_execution_time_ms: integer ,
max_heap_bytes: integer ,
max_stack_bytes: integer ,
return_exception_details: boolean ,
}
,
}
,
}
,
]
,
postHooks:
[
{
functionId: string ,
properties:
{
arguments:
[
string ,
]
,
exportedFunctionName: string ,
runtimeOptions:
{
log_exception_details: boolean ,
max_cached_interpreters: integer ,
max_execution_time_ms: integer ,
max_heap_bytes: integer ,
max_stack_bytes: integer ,
return_exception_details: boolean ,
}
,
}
,
}
,
]
,
}
,
]
,
}

⚐ Response (default)

{
error:
{
code: string ,
message: string ,
}
,
}
CreateLedgerEntry (new)
Description A collection id may optionally be specified.
Reference Link ¶

⚼ Request

POST:  /app/transactions
{
api-version: string ,
collectionId: string ,
entry:
{
contents: string ,
collectionId: string ,
transactionId: string ,
preHooks:
[
{
functionId: string ,
properties:
{
arguments:
[
string ,
]
,
exportedFunctionName: string ,
runtimeOptions:
{
log_exception_details: boolean ,
max_cached_interpreters: integer ,
max_execution_time_ms: integer ,
max_heap_bytes: integer ,
max_stack_bytes: integer ,
return_exception_details: boolean ,
}
,
}
,
}
,
]
,
postHooks:
[
{
functionId: string ,
properties:
{
arguments:
[
string ,
]
,
exportedFunctionName: string ,
runtimeOptions:
{
log_exception_details: boolean ,
max_cached_interpreters: integer ,
max_execution_time_ms: integer ,
max_heap_bytes: integer ,
max_stack_bytes: integer ,
return_exception_details: boolean ,
}
,
}
,
}
,
]
,
}
,
}

⚐ Response (200)

{
$headers:
{
x-ms-ccf-transaction-id: string ,
}
,
$schema:
{
collectionId: string ,
}
,
}

⚐ Response (default)

{
error:
{
code: string ,
message: string ,
}
,
}
GetLedgerEntry (new)
Description To return older ledger entries, the relevant sections of the ledger must be read from disk and validated. To prevent blocking within the enclave, the response will indicate whether the entry is ready and part of the response, or if the loading is still ongoing.
Reference Link ¶

⚼ Request

GET:  /app/transactions/{transactionId}
{
api-version: string ,
collectionId: string ,
transactionId: string ,
}

⚐ Response (200)

{
state: enum ,
entry:
{
contents: string ,
collectionId: string ,
transactionId: string ,
preHooks:
[
{
functionId: string ,
properties:
{
arguments:
[
string ,
]
,
exportedFunctionName: string ,
runtimeOptions:
{
log_exception_details: boolean ,
max_cached_interpreters: integer ,
max_execution_time_ms: integer ,
max_heap_bytes: integer ,
max_stack_bytes: integer ,
return_exception_details: boolean ,
}
,
}
,
}
,
]
,
postHooks:
[
{
functionId: string ,
properties:
{
arguments:
[
string ,
]
,
exportedFunctionName: string ,
runtimeOptions:
{
log_exception_details: boolean ,
max_cached_interpreters: integer ,
max_execution_time_ms: integer ,
max_heap_bytes: integer ,
max_stack_bytes: integer ,
return_exception_details: boolean ,
}
,
}
,
}
,
]
,
}
,
}

⚐ Response (default)

{
error:
{
code: string ,
message: string ,
}
,
}
GetReceipt (new)
Description Gets a receipt certifying ledger contents at a particular transaction id.
Reference Link ¶

⚼ Request

GET:  /app/transactions/{transactionId}/receipt
{
api-version: string ,
transactionId: string ,
}

⚐ Response (200)

{
applicationClaims:
[
{
digest:
{
value: string ,
protocol: enum ,
}
,
kind: enum ,
ledgerEntry:
{
collectionId: string ,
contents: string ,
secretKey: string ,
protocol: enum ,
}
,
}
,
]
,
receipt:
{
cert: string ,
leaf: string ,
leafComponents:
{
claimsDigest: string ,
commitEvidence: string ,
writeSetDigest: string ,
}
,
nodeId: string ,
proof:
[
{
left: string ,
right: string ,
}
,
]
,
root: string ,
serviceEndorsements:
[
string ,
]
,
signature: string ,
}
,
state: enum ,
transactionId: string ,
}

⚐ Response (default)

{
error:
{
code: string ,
message: string ,
}
,
}
GetTransactionStatus (new)
Description Gets the status of an entry identified by a transaction id.
Reference Link ¶

⚼ Request

GET:  /app/transactions/{transactionId}/status
{
api-version: string ,
transactionId: string ,
}

⚐ Response (200)

{
state: enum ,
transactionId: string ,
}

⚐ Response (default)

{
error:
{
code: string ,
message: string ,
}
,
}
GetCurrentLedgerEntry (new)
Description A collection id may optionally be specified.
Reference Link ¶

⚼ Request

GET:  /app/transactions/current
{
api-version: string ,
collectionId: string ,
}

⚐ Response (200)

{
contents: string ,
collectionId: string ,
transactionId: string ,
preHooks:
[
{
functionId: string ,
properties:
{
arguments:
[
string ,
]
,
exportedFunctionName: string ,
runtimeOptions:
{
log_exception_details: boolean ,
max_cached_interpreters: integer ,
max_execution_time_ms: integer ,
max_heap_bytes: integer ,
max_stack_bytes: integer ,
return_exception_details: boolean ,
}
,
}
,
}
,
]
,
postHooks:
[
{
functionId: string ,
properties:
{
arguments:
[
string ,
]
,
exportedFunctionName: string ,
runtimeOptions:
{
log_exception_details: boolean ,
max_cached_interpreters: integer ,
max_execution_time_ms: integer ,
max_heap_bytes: integer ,
max_stack_bytes: integer ,
return_exception_details: boolean ,
}
,
}
,
}
,
]
,
}

⚐ Response (default)

{
error:
{
code: string ,
message: string ,
}
,
}
ListUsers (new)
Description All users' object IDs and single role per user will be returned.
Reference Link ¶

⚼ Request

GET:  /app/users
{
api-version: string ,
}

⚐ Response (200)

{
ledgerUsers:
[
{
assignedRole: enum ,
userId: string ,
}
,
]
,
nextLink: string ,
}

⚐ Response (default)

{
error:
{
code: string ,
message: string ,
}
,
}
ListLedgerUsers (new)
Description All users' object IDs and multiple roles will be returned.
Reference Link ¶

⚼ Request

GET:  /app/ledgerUsers
{
api-version: string ,
}

⚐ Response (200)

{
ledgerUsers:
[
{
assignedRoles:
[
string ,
]
,
userId: string ,
}
,
]
,
nextLink: string ,
}

⚐ Response (default)

{
error:
{
code: string ,
message: string ,
}
,
}
DeleteUser (new)
Description Deletes a user from the Confidential Ledger.
Reference Link ¶

⚼ Request

DELETE:  /app/users/{userId}
{
api-version: string ,
userId: string ,
}

⚐ Response (204)

{}

⚐ Response (default)

{
error:
{
code: string ,
message: string ,
}
,
}
GetUser (new)
Description Gets a user.
Reference Link ¶

⚼ Request

GET:  /app/users/{userId}
{
api-version: string ,
userId: string ,
}

⚐ Response (200)

{
assignedRole: enum ,
userId: string ,
}

⚐ Response (default)

{
error:
{
code: string ,
message: string ,
}
,
}
CreateOrUpdateUser (new)
Description A JSON merge patch is applied for existing users
Reference Link ¶

⚼ Request

PATCH:  /app/users/{userId}
{
api-version: string ,
userId: string ,
userDetails:
{
assignedRole: enum ,
userId: string ,
}
,
}

⚐ Response (200)

{
assignedRole: enum ,
userId: string ,
}

⚐ Response (default)

{
error:
{
code: string ,
message: string ,
}
,
}
DeleteLedgerUser (new)
Description Deletes a user with multiple roles from the Confidential Ledger.
Reference Link ¶

⚼ Request

DELETE:  /app/ledgerUsers/{userId}
{
api-version: string ,
userId: string ,
}

⚐ Response (204)

{}

⚐ Response (default)

{
error:
{
code: string ,
message: string ,
}
,
}
GetLedgerUser (new)
Description Gets a user with multiple roles.
Reference Link ¶

⚼ Request

GET:  /app/ledgerUsers/{userId}
{
api-version: string ,
userId: string ,
}

⚐ Response (200)

{
assignedRoles:
[
string ,
]
,
userId: string ,
}

⚐ Response (default)

{
error:
{
code: string ,
message: string ,
}
,
}
CreateOrUpdateLedgerUser (new)
Description A JSON merge patch is applied for existing users
Reference Link ¶

⚼ Request

PATCH:  /app/ledgerUsers/{userId}
{
api-version: string ,
userId: string ,
userMultipleRoles:
{
assignedRoles:
[
string ,
]
,
userId: string ,
}
,
}

⚐ Response (200)

{
assignedRoles:
[
string ,
]
,
userId: string ,
}

⚐ Response (default)

{
error:
{
code: string ,
message: string ,
}
,
}
GetUserDefinedEndpoint (new)
Description Returns the user defined endpoint in the ACL instance
Reference Link ¶

⚼ Request

GET:  /app/userDefinedEndpoints
{
api-version: string ,
}

⚐ Response (200)

{
metadata:
{
endpoints: object ,
}
,
modules: object ,
}

⚐ Response (default)

{
error:
{
code: string ,
message: string ,
}
,
}
CreateUserDefinedEndpoint (new)
Description Creates the user defined endpoint in the ACL instance
Reference Link ¶

⚼ Request

PUT:  /app/userDefinedEndpoints
{
api-version: string ,
bundle:
{
metadata:
{
endpoints: object ,
}
,
modules: object ,
}
,
}

⚐ Response (201)

{}

⚐ Response (default)

{
error:
{
code: string ,
message: string ,
}
,
}
GetRuntimeOptions (new)
Description It returns the runtime options
Reference Link ¶

⚼ Request

GET:  /app/userDefinedEndpoints/runTimeOptions
{
api-version: string ,
}

⚐ Response (200)

{
log_exception_details: boolean ,
max_cached_interpreters: integer ,
max_execution_time_ms: integer ,
max_heap_bytes: integer ,
max_stack_bytes: integer ,
return_exception_details: boolean ,
}

⚐ Response (default)

{
error:
{
code: string ,
message: string ,
}
,
}
UpdateRuntimeOptions (new)
Description Updates the runtime options.
Reference Link ¶

⚼ Request

PATCH:  /app/userDefinedEndpoints/runTimeOptions
{
api-version: string ,
JSRuntimeOptions:
{
log_exception_details: boolean ,
max_cached_interpreters: integer ,
max_execution_time_ms: integer ,
max_heap_bytes: integer ,
max_stack_bytes: integer ,
return_exception_details: boolean ,
}
,
}

⚐ Response (200)

{
log_exception_details: boolean ,
max_cached_interpreters: integer ,
max_execution_time_ms: integer ,
max_heap_bytes: integer ,
max_stack_bytes: integer ,
return_exception_details: boolean ,
}

⚐ Response (default)

{
error:
{
code: string ,
message: string ,
}
,
}
GetUserDefinedEndpointsModule (new)
Description It gets the module for the user defined endpoint.
Reference Link ¶

⚼ Request

GET:  /app/userDefinedEndpoints/modules
{
api-version: string ,
module: string ,
}

⚐ Response (200)

{
module: string ,
name: string ,
}

⚐ Response (default)

{
error:
{
code: string ,
message: string ,
}
,
}
ListUserDefinedFunctions (new)
Description User defined functions stored in the Confidential Ledger
Reference Link ¶

⚼ Request

GET:  /app/userDefinedFunctions
{
api-version: string ,
}

⚐ Response (200)

{
functions:
[
{
code: string ,
id: string ,
}
,
]
,
nextLink: string ,
}

⚐ Response (default)

{
error:
{
code: string ,
message: string ,
}
,
}
DeleteUserDefinedFunction (new)
Description Deletes a user defined function from the Confidential Ledger.
Reference Link ¶

⚼ Request

DELETE:  /app/userDefinedFunctions/{functionId}
{
api-version: string ,
functionId: string ,
}

⚐ Response (204)

{}

⚐ Response (default)

{
error:
{
code: string ,
message: string ,
}
,
}
GetUserDefinedFunction (new)
Description Returns the user defined function in the Confidential Ledger
Reference Link ¶

⚼ Request

GET:  /app/userDefinedFunctions/{functionId}
{
api-version: string ,
functionId: string ,
}

⚐ Response (200)

{
code: string ,
id: string ,
}

⚐ Response (default)

{
error:
{
code: string ,
message: string ,
}
,
}
CreateUserDefinedFunction (new)
Description Creates the user defined function in the Confidential Ledger
Reference Link ¶

⚼ Request

PUT:  /app/userDefinedFunctions/{functionId}
{
api-version: string ,
functionId: string ,
userDefinedFunction:
{
code: string ,
id: string ,
}
,
}

⚐ Response (200)

{
$headers:
{
x-ms-ccf-transaction-id: string ,
}
,
$schema:
{
code: string ,
id: string ,
}
,
}

⚐ Response (201)

{
$headers:
{
x-ms-ccf-transaction-id: string ,
}
,
$schema:
{
code: string ,
id: string ,
}
,
}

⚐ Response (default)

{
error:
{
code: string ,
message: string ,
}
,
}
ExecuteUserDefinedFunction (new)
Description Executes the user defined function in the Confidential Ledger
Reference Link ¶

⚼ Request

POST:  /app/userDefinedFunctions/{functionId}:execute
{
api-version: string ,
functionId: string ,
userDefinedFunctionExecutionProperties:
{
arguments:
[
string ,
]
,
exportedFunctionName: string ,
runtimeOptions:
{
log_exception_details: boolean ,
max_cached_interpreters: integer ,
max_execution_time_ms: integer ,
max_heap_bytes: integer ,
max_stack_bytes: integer ,
return_exception_details: boolean ,
}
,
}
,
}

⚐ Response (200)

{
error:
{
message: string ,
}
,
result:
{
returnValue: string ,
}
,
status: enum ,
}

⚐ Response (default)

{
error:
{
code: string ,
message: string ,
}
,
}
GetUserDefinedRole (new)
Description user defined roles allow users to define and manage app specific AuthZ policy.
Reference Link ¶

⚼ Request

GET:  /app/roles
{
api-version: string ,
roleName: string ,
}

⚐ Response (200)

{
roleName: string ,
roleActions:
[
string ,
]
,
}

⚐ Response (default)

{
error:
{
code: string ,
message: string ,
}
,
}
CreateUserDefinedRole (new)
Description User defined roles allow users to define and manage app specific AuthZ policy.
Reference Link ¶

⚼ Request

PUT:  /app/roles
{
api-version: string ,
roles:
{
roleName: string ,
roleActions:
[
string ,
]
,
}
,
}

⚐ Response (200)

{}

⚐ Response (default)

{
error:
{
code: string ,
message: string ,
}
,
}
UpdateUserDefinedRole (new)
Description User defined roles allow users to define and manage app specific AuthZ policy.
Reference Link ¶

⚼ Request

PATCH:  /app/roles
{
api-version: string ,
roles:
{
roleName: string ,
roleActions:
[
string ,
]
,
}
,
}

⚐ Response (200)

{}

⚐ Response (default)

{
error:
{
code: string ,
message: string ,
}
,
}
DeleteUserDefinedRole (new)
Description A user defined role allows the users to create and manage their own role actions using the API.
Reference Link ¶

⚼ Request

DELETE:  /app/roles
{
api-version: string ,
roleName: string ,
}

⚐ Response (200)

{}

⚐ Response (default)

{
error:
{
code: string ,
message: string ,
}
,
}
GetLedgerIdentity (new)
Description Gets identity information for a Confidential Ledger instance.
Reference Link ¶

⚼ Request

GET:  /ledgerIdentity/{ledgerId}
{
api-version: string ,
ledgerId: string ,
}

⚐ Response (200)

{
ledgerId: string ,
ledgerTlsCertificate: string ,
}

⚐ Response (default)

{
error:
{
code: string ,
message: string ,
}
,
}