curl --request GET \
--url https://api.onkernel.com/vaults/{id_or_name}/items/{key} \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.onkernel.com/vaults/{id_or_name}/items/{key}"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.onkernel.com/vaults/{id_or_name}/items/{key}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.onkernel.com/vaults/{id_or_name}/items/{key}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.onkernel.com/vaults/{id_or_name}/items/{key}"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.onkernel.com/vaults/{id_or_name}/items/{key}")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.onkernel.com/vaults/{id_or_name}/items/{key}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"available_expansions": [
{
"description": "<string>",
"type": "payment_methods"
}
],
"available_operations": [
{
"description": "<string>",
"type": "authorize"
}
],
"created_at": "2023-11-07T05:31:56Z",
"id": "<string>",
"key": "<string>",
"spec": {
"authorization": {
"client": {
"type": "kernel_managed"
},
"method": "oauth"
},
"provider": "link"
},
"state": {
"provider": "link",
"status": "pending_authorization",
"status_reason": "<string>"
},
"type": "wallet",
"updated_at": "2023-11-07T05:31:56Z",
"action": {
"name": "link_oauth",
"url": "<string>"
},
"expanded": {
"payment_methods": [
{
"capabilities": {
"single_use_card": {
"eligible": true,
"reasons": [
"<string>"
]
}
},
"display": {
"brand": "<string>",
"label": "<string>",
"last4": "<string>"
},
"id": "<string>",
"is_default": true,
"provider": "<string>",
"type": "<string>"
}
]
},
"expires_at": "2023-11-07T05:31:56Z"
}{
"code": "bad_request",
"message": "Missing required field: app_name",
"details": [
{
"code": "invalid_input",
"message": "Provided version string is not semver compliant"
}
],
"inner_error": {
"code": "invalid_input",
"message": "Provided version string is not semver compliant"
}
}{
"code": "bad_request",
"message": "Missing required field: app_name",
"details": [
{
"code": "invalid_input",
"message": "Provided version string is not semver compliant"
}
],
"inner_error": {
"code": "invalid_input",
"message": "Provided version string is not semver compliant"
}
}{
"code": "bad_request",
"message": "Missing required field: app_name",
"details": [
{
"code": "invalid_input",
"message": "Provided version string is not semver compliant"
}
],
"inner_error": {
"code": "invalid_input",
"message": "Provided version string is not semver compliant"
}
}{
"code": "bad_request",
"message": "Missing required field: app_name",
"details": [
{
"code": "invalid_input",
"message": "Provided version string is not semver compliant"
}
],
"inner_error": {
"code": "invalid_input",
"message": "Provided version string is not semver compliant"
}
}{
"code": "bad_request",
"message": "Missing required field: app_name",
"details": [
{
"code": "invalid_input",
"message": "Provided version string is not semver compliant"
}
],
"inner_error": {
"code": "invalid_input",
"message": "Provided version string is not semver compliant"
}
}Get a vault item, its currently available operations, and optionally expanded live data
The response advertises operations that are valid in the item’s current state and live data that can be requested through expand. Read each operation’s description before using it. Expanded data is fetched from the provider and is not persisted in the vault item. Requesting an unavailable expansion returns 409 instead of a partial item.
curl --request GET \
--url https://api.onkernel.com/vaults/{id_or_name}/items/{key} \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.onkernel.com/vaults/{id_or_name}/items/{key}"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.onkernel.com/vaults/{id_or_name}/items/{key}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.onkernel.com/vaults/{id_or_name}/items/{key}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.onkernel.com/vaults/{id_or_name}/items/{key}"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.onkernel.com/vaults/{id_or_name}/items/{key}")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.onkernel.com/vaults/{id_or_name}/items/{key}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"available_expansions": [
{
"description": "<string>",
"type": "payment_methods"
}
],
"available_operations": [
{
"description": "<string>",
"type": "authorize"
}
],
"created_at": "2023-11-07T05:31:56Z",
"id": "<string>",
"key": "<string>",
"spec": {
"authorization": {
"client": {
"type": "kernel_managed"
},
"method": "oauth"
},
"provider": "link"
},
"state": {
"provider": "link",
"status": "pending_authorization",
"status_reason": "<string>"
},
"type": "wallet",
"updated_at": "2023-11-07T05:31:56Z",
"action": {
"name": "link_oauth",
"url": "<string>"
},
"expanded": {
"payment_methods": [
{
"capabilities": {
"single_use_card": {
"eligible": true,
"reasons": [
"<string>"
]
}
},
"display": {
"brand": "<string>",
"label": "<string>",
"last4": "<string>"
},
"id": "<string>",
"is_default": true,
"provider": "<string>",
"type": "<string>"
}
]
},
"expires_at": "2023-11-07T05:31:56Z"
}{
"code": "bad_request",
"message": "Missing required field: app_name",
"details": [
{
"code": "invalid_input",
"message": "Provided version string is not semver compliant"
}
],
"inner_error": {
"code": "invalid_input",
"message": "Provided version string is not semver compliant"
}
}{
"code": "bad_request",
"message": "Missing required field: app_name",
"details": [
{
"code": "invalid_input",
"message": "Provided version string is not semver compliant"
}
],
"inner_error": {
"code": "invalid_input",
"message": "Provided version string is not semver compliant"
}
}{
"code": "bad_request",
"message": "Missing required field: app_name",
"details": [
{
"code": "invalid_input",
"message": "Provided version string is not semver compliant"
}
],
"inner_error": {
"code": "invalid_input",
"message": "Provided version string is not semver compliant"
}
}{
"code": "bad_request",
"message": "Missing required field: app_name",
"details": [
{
"code": "invalid_input",
"message": "Provided version string is not semver compliant"
}
],
"inner_error": {
"code": "invalid_input",
"message": "Provided version string is not semver compliant"
}
}{
"code": "bad_request",
"message": "Missing required field: app_name",
"details": [
{
"code": "invalid_input",
"message": "Provided version string is not semver compliant"
}
],
"inner_error": {
"code": "invalid_input",
"message": "Provided version string is not semver compliant"
}
}Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Query Parameters
Hold for up to this many seconds while the item is pending authorization or approval.
0 <= x <= 60Live fields advertised by available_expansions to include in expanded.
payment_methods Response
Vault item
- Option 1
- Option 2
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Immutable item key assigned when the item is created.
- Option 1
- Option 2
Show child attributes
Show child attributes
- Option 1
- Option 2
Show child attributes
Show child attributes
wallet - Option 1
- Option 2
- Option 3
- Option 4
- Option 5
- Option 6
- Option 7
Show child attributes
Show child attributes
Live, non-persisted data requested through the item GET expand parameter.
Show child attributes
Show child attributes