TypeAlias.ProblemDetails
type ProblemDetails = {
code?: | "BILLING_NO_CHARGEBEE_CUSTOMER"
| "BILLING_INVALID_ORG_METADATA"
| "BILLING_NO_ACTIVE_SUBSCRIPTION"
| "BILLING_CHARGEBEE_CUSTOMER_ALREADY_EXISTS"
| "BILLING_NO_OWNER_MEMBER"
| "BILLING_CHARGEBEE_API_ERROR"
| "BILLING_WEBHOOK_AUTH_FAILED"
| "BILLING_WEBHOOK_INVALID_PAYLOAD"
| "BILLING_CHARGEBEE_ITEM_NOT_FOUND"
| "BILLING_UPGRADE_NOT_ALLOWED"
| "QUOTA_APPLICATION_LIMIT_REACHED"
| "QUOTA_TRUST_PRODUCT_LIMIT_REACHED"
| "QUOTA_DPP_LIMIT_REACHED"
| "QUOTA_WALLET_LIMIT_REACHED"
| "QUOTA_AGENT_WALLET_LIMIT_REACHED"
| "QUOTA_FEATURE_RESTRICTED"
| "QUOTA_NETWORK_RESTRICTED"
| "ONBOARDING_USER_ALREADY_IN_ORG"
| "ONBOARDING_CHECKOUT_NOT_COMPLETED"
| "ONBOARDING_HOSTED_PAGE_USER_MISMATCH"
| "ONBOARDING_ORG_SLUG_TAKEN"
| "ONBOARDING_COMPANY_NOT_FOUND"
| "ONBOARDING_COMPANY_LOOKUP_UNAVAILABLE"
| "ONBOARDING_COMPANY_CLOSED"
| "ONBOARDING_SIREN_REQUIRED"
| "ONBOARDING_VAT_REQUIRED"
| "ONBOARDING_LEGAL_NAME_REQUIRED"
| "ONBOARDING_INDIVIDUAL_HAS_COMPANY_ID"
| "ONBOARDING_VAT_INVALID"
| "ONBOARDING_PLAN_NOT_FOUND"
| "ONBOARDING_AUDIENCE_NOT_ALLOWED"
| "ONBOARDING_V3_DISABLED"
| "DPP_CERTIFICATION_KEY_NOT_FOUND"
| "DPP_DID_WEB_DOMAIN_NOT_CONFIGURED"
| "DPP_DID_WEB_DOMAIN_ALREADY_TAKEN"
| "DPP_CLAIM_NOT_ALLOWED"
| "DPP_PASSPORT_DUPLICATE_REFERENCE"
| "DPP_PASSPORT_SOURCE_READ_ONLY"
| "DPP_MINT_JOB_NOT_FOUND"
| "DPP_PASSPORT_NOT_PUBLISHED"
| "DPP_VC_NOT_YET_CERTIFIED"
| "DPP_VC_IPFS_UNAVAILABLE"
| "DPP_VC_SELF_HOSTED_UNAVAILABLE"
| "DPP_VC_NOTHING_TO_CERTIFY"
| "DPP_CERTIFICATE_SIGNATURE_REQUIRED"
| "IMPORT_MAPPER_DUPLICATE_NAME"
| "IMPORT_MAPPER_URL_EXISTS"
| "DPP_SHOPIFY_INVALID_SHOP_DOMAIN"
| "DPP_SHOPIFY_SHOP_ALREADY_LINKED"
| "DPP_SHOPIFY_INVALID_WEBHOOK_SIGNATURE"
| "DPP_SHOPIFY_UNHANDLED_WEBHOOK_TOPIC"
| "INVEST_IDENTITY_NOT_FOUND"
| "INVEST_IDENTITY_ALREADY_EXISTS"
| "INVEST_CANNOT_DELETE_OLDEST_NAV"
| "INVEST_SHARES_BELOW_DISTRIBUTED"
| "INVEST_FUND_NOT_ACTIVE"
| "INVEST_INVESTOR_REJECTED_KYC"
| "INVEST_NOT_ENOUGH_FUND_SHARES"
| "INVEST_FUND_LOCKUP_PERIOD"
| "INVEST_INVESTOR_LOCKUP_PERIOD"
| "INVEST_NOT_ENOUGH_AVAILABLE_SHARES"
| "INVEST_SECONDARY_MARKET_DISABLED"
| "INVEST_KYC_REQUIRED"
| "ORG_CROSS_ACCESS_DENIED"
| "AUTH_UNAUTHENTICATED"
| "AUTH_SUPER_ADMIN_REQUIRED"
| "AUTH_INSUFFICIENT_PERMISSIONS"
| "AUTH_MISSING_ORG_ID"
| "AUTH_MISSING_SDK_NETWORK_HEADER"
| "AUTH_INVALID_API_KEY"
| "AUTH_SESSION_APP_MISMATCH"
| "LOYALTY_FIRST_ASSIGNMENT_EXISTING"
| "ACCOUNT_REWARD_TIER_NOT_FOUND"
| "LOYALTY_ACCOUNT_NOT_FOUND"
| "LOYALTY_REWARD_TIER_DUPLICATE_VISITS"
| "LOYALTY_STELLAR_ONLY"
| "LOYALTY_ZELTY_NOT_CONFIGURED"
| "LOYALTY_ZELTY_ORDER_VERIFICATION_FAILED"
| "LOYALTY_ZELTY_WEBHOOK_INVALID_SIGNATURE"
| "LOYALTY_CAMPAIGN_NOT_EDITABLE"
| "LOYALTY_CAMPAIGN_NOT_SENDABLE"
| "LOYALTY_CAMPAIGN_NOT_RESUMABLE"
| "LOYALTY_CAMPAIGN_NOT_SCHEDULABLE"
| "LOYALTY_CAMPAIGN_NOT_CANCELLABLE"
| "LOYALTY_CAMPAIGN_CONTENT_INCOMPLETE"
| "AGENT_WALLET_SESSION_REQUIRED"
| "AGENT_WALLET_NO_ONCHAIN_ADDRESS"
| "AGENT_WALLET_NETWORK_UNSUPPORTED"
| "AGENT_WALLET_DEPLOYING"
| "AGENT_WALLET_OWNER_NOT_MEMBER"
| "AGENT_WALLET_SIGNER_NOT_READY"
| "AGENT_SIGNER_NOT_AGENTIC"
| "AGENT_SIGNER_NOT_READY"
| "AGENT_SIGNER_NO_COMMITMENT"
| "AGENT_SIGNER_JOB_NOT_FOUND"
| "AGENT_SIGNER_JOB_FORBIDDEN"
| "AGENT_API_KEY_REQUIRED"
| "AGENT_API_KEY_NOT_BOUND"
| "AGENT_WALLET_EXPENSE_EXPORT_TOO_LARGE"
| "IMPORT_JOB_NOT_FOUND"
| "IMPORT_RUN_IN_PROGRESS"
| "DPP_STRUCTURE_JOB_NOT_FOUND"
| "DPP_CHARACTERISTIC_REVIEW_NOT_FOUND"
| "DPP_CHARACTERISTIC_CONFLICT_NOT_APPROVABLE"
| "CLIENT_SHARE_NO_APPLICATION"
| "ACCOUNT_SDK_CONTEXT_MISSING"
| "SIGNER_NO_AUTH_CONTEXT"
| "SIGNER_INVALID_DKG_ROUND"
| "SIGNER_DKG_ALREADY_COMPLETED"
| "SIGNER_RELAY_EVM_ONLY"
| "SIGNER_ACCOUNT_NOT_REGISTERED"
| "SIGNER_APPLICATION_REQUIRED"
| "MULTISIG_WALLET_SESSION_REQUIRED"
| "MULTISIG_WALLET_ALREADY_EXISTS"
| "MULTISIG_WALLET_ALREADY_DEPLOYED"
| "MULTISIG_WALLET_NOT_ACTIVE"
| "MULTISIG_SIGNER_ALREADY_ENROLLED"
| "MULTISIG_SIGNER_NOT_INVITED"
| "MULTISIG_SIGNER_NOT_VALIDATOR"
| "MULTISIG_SIGNER_NOT_REQUESTED"
| "MULTISIG_SIGNER_NOT_CHALLENGED"
| "MULTISIG_SIGNER_COMMITMENT_INVALID"
| "MULTISIG_SIGNER_SAS_MISMATCH"
| "MULTISIG_SIGNER_PUBKEY_INVALID"
| "MULTISIG_WEBAUTHN_UNAVAILABLE"
| "MULTISIG_SIGNER_NOT_FAILED"
| "MULTISIG_INVITATION_NOT_A_MEMBER"
| "MULTISIG_INVITATION_ALREADY_EXISTS"
| "MULTISIG_WALLET_NOT_READY"
| "MULTISIG_WALLET_SELF_ADDRESS"
| "MULTISIG_TOPUP_TARGET_INVALID"
| "MULTISIG_TOPUP_ASSET_UNSUPPORTED"
| "MULTISIG_TOPUP_INSUFFICIENT_FUNDS"
| "MULTISIG_BATCH_TOO_LARGE"
| "MULTISIG_INTENT_ALREADY_PENDING"
| "MULTISIG_INTENT_NOT_PENDING"
| "MULTISIG_INTENT_NOT_SIGNER"
| "MULTISIG_INTENT_ALREADY_APPROVED"
| "MULTISIG_INTENT_SIGNATURE_INVALID"
| "TREASURY_DISABLED"
| "PUSH_SESSION_REQUIRED"
| "WEBHOOK_ENDPOINT_NOT_FOUND"
| "WEBHOOK_URL_INVALID"
| "WEBHOOK_URL_BLOCKED"
| "INVALID_APP_DOMAIN"
| "ONRAMP_KYC_REQUIRED"
| "ONRAMP_LINK_AUTH_REQUIRED"
| "ONRAMP_LINK_ACCOUNT_NOT_FOUND"
| "ONRAMP_SESSION_LOCK_FAILED"
| "ONRAMP_WALLET_NOT_FUNDABLE"
| "ONRAMP_CLIENT_IP_UNRESOLVED"
| "ONRAMP_DESTINATION_INVALID"
| "LEGAL_ACCEPTANCE_REQUIRED";
detail: string;
instance?: string;
param?: string;
params?: Record<string, string | number>;
status?: number;
title?: string;
type: string;
};
RFC 7807 Problem Details for HTTP APIs.
A machine-readable format for specifying errors in HTTP API responses. Standardizes error responses across the Keyban API with consistent structure.
All fields except detail are optional but recommended for clarity.
The detail field contains the primary human-readable error message.
Type Declaration
See
Example
// Parsing error responses from the API
const response = await fetch('/v1/llm/chat/completions', {
method: 'POST',
body: JSON.stringify({ model: 'gemini-2.5-flash-lite', messages: [] })
});
if (!response.ok) {
const error: ProblemDetails = await response.json();
console.error(error.detail); // "Invalid request: The 'messages' field must contain at least one message."
console.log(error.status); // 400
console.log(error.title); // "Bad Request"
}