import { Authlete } from "@authlete/typescript-sdk";
const authlete = new Authlete({
bearer: process.env["AUTHLETE_BEARER"] ?? "",
});
async function run() {
const result = await authlete.verifiableCredentials.batchIssue({
serviceId: "<id>",
vciBatchIssueRequest: {},
});
console.log(result);
}
run();require 'authlete_ruby_sdk'
Models = ::Authlete::Models
s = ::Authlete::Client.new(
bearer: '<YOUR_BEARER_TOKEN_HERE>'
)
res = s.verifiable_credentials.batch_issue(service_id: '<id>', vci_batch_issue_request: Models::Components::VciBatchIssueRequest.new)
unless res.vci_batch_issue_response.nil?
# handle response
endpackage main
import(
"context"
"os"
authlete "github.com/authlete/authlete-go-sdk"
"github.com/authlete/authlete-go-sdk/models/components"
"log"
)
func main() {
ctx := context.Background()
s := authlete.New(
authlete.WithSecurity(os.Getenv("AUTHLETE_BEARER")),
)
res, err := s.VerifiableCredentials.BatchIssue(ctx, "<id>", components.VciBatchIssueRequest{})
if err != nil {
log.Fatal(err)
}
if res.VciBatchIssueResponse != nil {
// handle response
}
}curl --request POST \
--url https://us.authlete.com/api/{serviceId}/vci/batch/issue \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"accessToken": "<string>",
"orders": [
{
"requestIdentifier": "<string>",
"credentialPayload": "<string>",
"issuanceDeferred": true,
"credentialDuration": 123,
"signingKeyId": "<string>"
}
]
}
'{
"resultCode": "<string>",
"resultMessage": "<string>",
"action": "OK",
"responseContent": "<string>"
}{
"resultCode": "A001201",
"resultMessage": "[A001201] /auth/authorization, TLS must be used."
}{
"resultCode": "A001202",
"resultMessage": "[A001202] /auth/authorization, Authorization header is missing."
}{
"resultCode": "A001215",
"resultMessage": "[A001215] /auth/authorization, The client (ID = 26837717140341) is locked."
}{
"resultCode": "A001311",
"resultMessage": "[A001311] /auth/authorization, Too many requests, retry after 1 seconds. (Entity: 23769878923/87122303)"
}{
"resultCode": "A001101",
"resultMessage": "[A001101] /auth/authorization, Authlete Server error."
}Issue Batch Credentials
Issue multiple verifiable credentials in batch
import { Authlete } from "@authlete/typescript-sdk";
const authlete = new Authlete({
bearer: process.env["AUTHLETE_BEARER"] ?? "",
});
async function run() {
const result = await authlete.verifiableCredentials.batchIssue({
serviceId: "<id>",
vciBatchIssueRequest: {},
});
console.log(result);
}
run();require 'authlete_ruby_sdk'
Models = ::Authlete::Models
s = ::Authlete::Client.new(
bearer: '<YOUR_BEARER_TOKEN_HERE>'
)
res = s.verifiable_credentials.batch_issue(service_id: '<id>', vci_batch_issue_request: Models::Components::VciBatchIssueRequest.new)
unless res.vci_batch_issue_response.nil?
# handle response
endpackage main
import(
"context"
"os"
authlete "github.com/authlete/authlete-go-sdk"
"github.com/authlete/authlete-go-sdk/models/components"
"log"
)
func main() {
ctx := context.Background()
s := authlete.New(
authlete.WithSecurity(os.Getenv("AUTHLETE_BEARER")),
)
res, err := s.VerifiableCredentials.BatchIssue(ctx, "<id>", components.VciBatchIssueRequest{})
if err != nil {
log.Fatal(err)
}
if res.VciBatchIssueResponse != nil {
// handle response
}
}curl --request POST \
--url https://us.authlete.com/api/{serviceId}/vci/batch/issue \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"accessToken": "<string>",
"orders": [
{
"requestIdentifier": "<string>",
"credentialPayload": "<string>",
"issuanceDeferred": true,
"credentialDuration": 123,
"signingKeyId": "<string>"
}
]
}
'{
"resultCode": "<string>",
"resultMessage": "<string>",
"action": "OK",
"responseContent": "<string>"
}{
"resultCode": "A001201",
"resultMessage": "[A001201] /auth/authorization, TLS must be used."
}{
"resultCode": "A001202",
"resultMessage": "[A001202] /auth/authorization, Authorization header is missing."
}{
"resultCode": "A001215",
"resultMessage": "[A001215] /auth/authorization, The client (ID = 26837717140341) is locked."
}{
"resultCode": "A001311",
"resultMessage": "[A001311] /auth/authorization, Too many requests, retry after 1 seconds. (Entity: 23769878923/87122303)"
}{
"resultCode": "A001101",
"resultMessage": "[A001101] /auth/authorization, Authlete Server error."
}Authorizations
Authenticate every request with a Service Access Token or Organization Token.
Set the token value in the Authorization: Bearer <token> header.
Service Access Token: Scoped to a single service. Use when automating service-level configuration or runtime flows.
Organization Token: Scoped to the organization; inherits permissions across services. Use for org-wide automation or when managing multiple services programmatically.
Both token types are issued by the Authlete console or provisioning APIs.
Path Parameters
A service ID.
Body
Response
Batch credential issuance completed successfully
The code which represents the result of the API call.
A short message which explains the result of the API call.
The next action that the implementation of the batch credential endpoint should take.
OK, UNAUTHORIZED, FORBIDDEN, INTERNAL_SERVER_ERROR, CALLER_ERROR The content of the response that the implementation of the batch credential endpoint should return.