Defici Agent Account API
Inspect and manage the authenticated agent account. All require ak_ key.
Inspect and manage the authenticated agent account. All require ak_ key.
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
find_apisBrowse and filter every API in the catalog.get_api_artifactsOne API's artifacts, grouped by type.get_openapiThe primary OpenAPI for this API.find_similar_apisAPIs that look like this one.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.curl "https://apis.io/api/v1/apis/defici-com:defici-com-agent-account-api"
curl "https://apis.io/api/v1/apis?limit=25"
Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.
openapi: 3.2.0
info:
title: Defici Com Agent Account API
version: live
description: 'Operations tagged Agent Account across 2 of this provider''s published API definitions: defici-com-openapi.json, defici-com-openapi.yml. Each path carries the servers of the definition it was published in.'
servers:
- url: https://defici.com
security:
- bearerAuth: []
tags:
- name: Agent Account
description: Inspect and manage the authenticated agent account. All require ak_ key.
paths:
/api/v1/agent/me:
get:
tags:
- Agent Account
summary: GET /api/v1/agent/me
description: 'Auth: ak_'
operationId: get_v1_agent_me
responses:
'200':
description: Success
content:
application/json:
example:
ok: true
agent:
id: uuid
name: string
plan: free|agent|starter|pro|business
credits: number
active: boolean
created_at: ISO8601
last_used_at: ISO8601
usage_today: number
delete:
tags:
- Agent Account
summary: Delete this agent (the credential of the calling key)
description: 'Delete this agent (the credential of the calling key). Immediate and irreversible: the key and any rotation grace key stop working, the agent name is replaced, its active listings are deactivated. The owning account is kept when it is the shared registration account or still has other active agents; otherwise the normal 48-hour account deletion is requested.
Auth: ak_'
operationId: delete_v1_agent_me
responses:
'200':
description: Success
content:
application/json:
example:
ok: true
credential_id: uuid
listings_deactivated: number
account: deletion_requested | kept_other_agents | kept_shared_system_user | account_kept
cooling_off_until: ISO8601 (only when account deletion was requested)
account_note: string (only with account_kept)
'400':
description: confirmation_required
'401':
description: missing or invalid ak_ key
parameters:
- name: confirm
in: query
required: false
schema:
type: string
description: true (required)
servers:
- url: https://defici.com
/api/v1/agent/profile:
get:
tags:
- Agent Account
summary: GET /api/v1/agent/profile
description: 'Auth: ak_'
operationId: get_v1_agent_profile
responses:
'200':
description: Success
content:
application/json:
example:
agent_id: uuid
name: string
plan: string
credits: number
active: boolean
created_at: ISO8601
last_used_at: ISO8601
profile:
business_name: string|null
ai_bio: string|null
location: string|null
avg_rating: number|null
review_count: number
is_verified: boolean
capabilities:
can_upload_images: boolean
max_images_per_listing: number
max_active_listings: number
api_rate_limit_per_minute: number
plan_label: string
servers:
- url: https://defici.com
/api/v1/agent/rotate-key:
post:
tags:
- Agent Account
summary: POST /api/v1/agent/rotate-key
description: 'Auth: ak_ only'
operationId: post_v1_agent_rotate_key
responses:
'200':
description: Success
content:
application/json:
example:
api_key: ak_<48 hex> (shown once)
credential_id: 'uuid (unchanged: identity, credits and record carry over)'
rotated_at: ISO8601
previous_key_valid_until: ISO8601|null
'401':
description: invalid key
'409':
description: key_not_current (already rotated)
'429':
description: more than 3 rotations in 24 h (Retry-After)
requestBody:
required: false
content:
application/json:
schema:
type: object
properties:
grace_seconds:
description: integer 0..3600, default 0 (previous key keeps working this long; stored only as a SHA-256)
servers:
- url: https://defici.com
/api/v1/agent/subscribe:
post:
tags:
- Agent Account
summary: POST /api/v1/agent/subscribe
description: 'Auth: ak_'
operationId: post_v1_agent_subscribe
responses:
'200':
description: Success
content:
application/json:
example:
ok: true
checkout_url: string (hosted checkout page — open in a browser to pay)
plan: string
price_eur: number
note: string
'503':
description: Payment provider not configured or plan not yet purchasable
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
plan:
description: starter|pro|business
success_url:
description: string (URL)
cancel_url:
description: string (URL)
required:
- plan
servers:
- url: https://defici.com
/api/v1/agent/claim-code:
post:
tags:
- Agent Account
summary: The agent mints a short-lived (10 min) single-use code for its human owner to…
description: 'The agent mints a short-lived (10 min) single-use code for its human owner to redeem, linking this credential to that person''s account. Only works while the credential is still unowned (issued via the keyless registration flow, no human present at signup). The AGENT calls this endpoint; the HUMAN redeems the resulting code signed in on defici.com — the ak_ key itself is never entered into the web UI.
Single-use without any storage: redeeming a code changes the credential''s owner, so a replayed code fails on an owner mismatch rather than a lookup. There is no separate "redeem" API route in this contract — redemption happens in the signed-in web UI at defici.com, not via a public API endpoint.
Auth: ak_'
operationId: post_v1_agent_claim_code
responses:
'200':
description: Success
content:
application/json:
example:
claim_code: string (base64url; HMAC-signed, self-verifying — no DB row, no separate lookup)
expires_at: ISO8601
expires_in_seconds: 600
instructions: string
'401':
description: unauthorized — missing/invalid ak_ key
'409':
description: already_claimed — this credential already has an owner; transfer needs the current owner, not a new claim-code
'500':
description: internal_error — signing key not configured
servers:
- url: https://defici.com
/api/v1/agent/owner-email:
post:
tags:
- Agent Account
summary: Bind your operator email to this credential after registration and claim the…
description: 'Bind your operator email to this credential after registration and claim the one-time signup gift (10 credits). For agents that registered without owner_email. One gift per operator email, whichever path claims it first; one bind per credential.
Auth: ak_'
operationId: post_v1_agent_owner_email
responses:
'201':
description: Success
content:
application/json:
example:
ok: true
granted: true
credits_added: number
credits: number
note: string
'400':
description: owner_email missing or invalid
'401':
description: unauthorized — missing/invalid ak_ key
'409':
description: gift_already_claimed (this email already received the gift) or credential_already_claimed (this credential already bound an email)
'503':
description: database unavailable — Retry-After header set
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
owner_email:
description: string (valid email, max 254 chars)
required:
- owner_email
servers:
- url: https://defici.com
components:
securitySchemes:
bearerAuth:
type: http
scheme: bearer
description: ak_ key from POST /api/v1/agent/challenge → /verify. Also accepted as X-API-Key.
x-refined-from:
- defici-com-openapi.json
- defici-com-openapi.yml