Quickstart
Create an API key and make your first authenticated request
Get a workspace API key, then list certificates or import recipients.
1. Create an API key
- Sign in at app.verifycate.com.
- Open your workspace → API Keys.
- Create a key with at least
certificates:read(list) orcertificates:write(import). Leave scopes empty for full access. - Copy the secret. It starts with
vc_and is shown only once.
API keys require an active Pro seat on the workspace. Without a seat, authenticated API calls return 402 with code seat_required.
2. List certificates
Replace YOUR_WORKSPACE_SLUG and the key.
curl "https://api.verifycate.com/api/v1/workspaces/YOUR_WORKSPACE_SLUG/certificates?limit=50&offset=0" \
-H "Authorization: Bearer vc_your_api_key"const res = await fetch(
"https://api.verifycate.com/api/v1/workspaces/acme/certificates?limit=50&offset=0",
{
headers: { Authorization: "Bearer vc_your_api_key" },
},
);
const page = await res.json();
console.log(page.items, page.total);package main
import (
"fmt"
"io"
"net/http"
)
func main() {
req, _ := http.NewRequest(
http.MethodGet,
"https://api.verifycate.com/api/v1/workspaces/acme/certificates?limit=50&offset=0",
nil,
)
req.Header.Set("Authorization", "Bearer vc_your_api_key")
res, err := http.DefaultClient.Do(req)
if err != nil {
panic(err)
}
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(res.Status, string(body))
}import urllib.request
req = urllib.request.Request(
"https://api.verifycate.com/api/v1/workspaces/acme/certificates?limit=50&offset=0",
headers={"Authorization": "Bearer vc_your_api_key"},
)
with urllib.request.urlopen(req) as res:
print(res.status, res.read().decode())3. Import recipients (optional)
Once you have a certificate id, import issues with certificates:write:
curl -X POST \
https://api.verifycate.com/api/v1/workspaces/acme/certificates/550e8400-e29b-41d4-a716-446655440000/issues \
-H "Authorization: Bearer vc_your_api_key" \
-H "Content-Type: application/json" \
-d '{
"issues": [
{
"email": "[email protected]",
"name": "Ada Lovelace",
"attributes": {
"course": "Mathematics",
"roll_number": "CS-001"
}
}
]
}'Next: Authentication, Scopes, and Import issues.