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 ,
}
,
}