Lovelace Developer Portal
Overview
Auth Hub
Studio
Agents Cloud
Skills
Memory Platform
Lattice Cloud
Hosting
Ada CLI
MCP Gateway
Ada
Periscope
Editor Extensions
Skip to main content

Skills Troubleshooting

Skills API failures are typed. Branch on error, details.category, and other structured fields in the response. Do not parse message text, and do not log API keys, OAuth tokens, prompts, generated source, validation fixtures, customer payloads, connector credentials, or private skill outputs while debugging.

Retry Rules

Retry only failures marked retryable by the API response or documented as temporary below. Use bounded exponential backoff with jitter, such as three attempts with a short initial delay and a maximum delay near 30 seconds. Stop retrying when the same non-retryable typed error repeats.

Failure Modes

FailureCommon public signalRetryDeveloper action
Missing or invalid credentialsunauthorized or an authentication categoryNoSend a valid developer API key in the x-api-key header from a trusted server boundary. See Authentication below.
Missing Skills scopeforbidden or an authorization categoryNoRequest the required scope: skills:read, skills:write, skills:execute, or skills:admin.
Public skill authorization failedauthorization_failedNoEnsure the caller is trusted for the requested operation and has the required public Skills scope.
Generation quota exhaustedquota_exceeded with skill_generationsNoReuse a shared-library skill, wait for reset, or ask the account owner to change the plan.
Validation quota exhaustedquota_exceeded with skill_validationsNoStop creating validation attempts until the quota resets or the account limit changes.
Invocation quota exhaustedquota_exceeded with skill_invocationsNoAvoid retrying the same invocation. Reduce calls, reuse cached results, or wait for reset.
Library reuse quota exhaustedquota_exceeded with skill_library_reusesNoWait for reset or use a plan with higher reuse quota.
Billing action requiredbilling_requiredNoAsk the account owner to resolve billing, upgrade, or remove the spend cap.
Billing state unavailablebilling_unavailableYesRetry with bounded backoff because quota, credit, or account state could not be read.
Learning consent missinglearning_consent_requiredNoAsk the account owner to approve learning terms or switch to private generation.
Reusable credit pendingcredit_pendingLaterWait for settlement to apply the accepted reusable-skill credit, then refresh account usage.
Invalid request shapevalidation error or invalid_requestNoFix the request body, schema fields, pagination bounds, or version selector.
Generation failedterminal generation job failure categoryNoRead the safe failureCategory and submit a corrected generation request. Do not retry the same payload blindly.
Validation failedterminal validation verdict or validation failure categoryNoInspect the safe validation summary, fix inputs, grants, or behavior, and create a new candidate attempt.
Version unavailabletool_version_unavailable, tool_version_retired, or tool_version_blockedNoSelect an available version, remove the pin, or handle the retired or blocked state in your UI.
Skill unavailable or not readytool_not_found, tool_not_ready, or availability categoryNoConfirm the skill ID, tenant/workload authorization, validation state, and selected version.
Invocation execution failedexecution_failed, nested_execution_failed, or execution categoryMaybeRetry only if the structured response marks the failure retryable. Otherwise correct the request or dependency.
Library entry hidden or unauthorizedno result, visibility category, or policy-blocked reuse decisionNoDo not infer private entries from missing results. Choose another approved visible skill or generate privately.
Hosted-session action unavailablehosted-session action availability categoryNoRefresh the action list and execute only currently approved actions with supported public contracts.

Authentication

The most common authentication mistake is sending the developer API key in the wrong header. Developer API keys (the sk_live_ prefix) go in the x-api-key header. The Authorization: Bearer header is verified as a JWT session token, so a developer key sent that way is rejected as an invalid token and the request returns an unauthorized failure.

  • Use x-api-key: sk_live_... for developer API keys.
  • Use Authorization: Bearer ... only for short-lived JWT session tokens.
  • A 403/forbidden after a successful auth means the key is valid but lacks the required scope (skills:read, skills:write, skills:execute, or skills:admin). Mint or request a key with the missing scope.

Safe Diagnostics

When opening a support ticket, include public-safe identifiers and typed fields:

  • Request timestamp and public request ID or correlation ID when available.
  • error, details.category, retryability, quota dimension, and safe reason code.
  • Generation job ID, invocation ID, skill ID, version ID, or hosted-session action ID when those IDs are already public to the account.
  • The route and operation class, such as generation, validation, invocation, library reuse, or hosted-session action execution.

Do not include prompts, source code generated by the platform, validation input or output payloads, connector secrets, private customer records, account payment details, raw worker errors, stack traces from private execution, or bearer tokens.

Related

  • Quick start
  • Billing, quotas, and limit behavior
  • Public API reference
  • Canonical product contract

Build and deploy AI agents with ease.

Quick Start

  • Getting Started
  • Build Your First Agent
  • Platform Concepts
  • Examples & Tutorials

Develop

  • Create an Agent
  • Connect an MCP Server
  • API Reference
  • CLI Tools

Platform

  • Agents Cloud
  • Roadmap
  • Platform Changelog
  • Status

Resources

  • Discord
  • GitHub
  • Support
  • Developer Blog
Lovelace logo
Lovelace
Made with ❤️ by Reasonable Tech CompanySupport
TermsPrivacy
All systems operational

Library

Generate

Overview

Quick Start

Billing & Quotas

Troubleshooting

API Reference