Skip to main content
PraktickAI
CoursesFor TeamsServicesDocsBlog
CoursesFor TeamsServicesDocsBlog
HomeDocumentationAPI Overview

Documentation

Getting Started

  • API Overview

API Reference

  • Email API
  • Agent API

Guides

  • Setup Guide

API Overview

Available email drafts and stored-context chat; other features and examples are a future API proposal.

On this page
  • Proposed contract (not implemented)
  • Base URL
  • Authentication
  • Requests and responses
  • Rate limits
  • Error format
  • Where to go next

Future API proposal — not available. The examples after the available-scope summary below are a planned contract, not live endpoints. Gmail/Outlook/IMAP connections, auto-send, live MCP sources, indexing, citations, conversations and streaming are not implemented. The examples, limits and isolation guarantees below do not describe today’s runtime.

Available scope: `POST /api/ai/v1/chat/` generates a response to one question from stored business context. `POST /api/ai/v1/email/draft/` drafts a reply from a manually submitted message and context, without mailbox access or sending. Outputs require human review. Check current fields and authentication in the live OpenAPI schema; do not use the planned examples below as an integration guide.

Proposed contract (not implemented)

Base URL

All API requests are made to a single base URL over HTTPS. Requests over plain HTTP are rejected.

https://api.praktickai.app

The API is versioned in the path. The current version is v1, e.g. `https://api.praktickai.app/v1/agent/messages`. We add fields in a backward-compatible way; breaking changes ship under a new version prefix.

Authentication

Authenticate every request with a Bearer API key in the `Authorization` header. Create and rotate keys in the admin console under Settings → API keys. Keys are scoped to a single workspace.

curl https://api.praktickai.app/v1/agent/messages \
  -H "Authorization: Bearer pk_live_xxxxxxxxxxxxxxxx" \
  -H "Content-Type: application/json" \
  -d '{ "message": "How do I reset my password?" }'

API keys carry full workspace access. Keep them server-side, never ship them in browser or mobile code, and rotate immediately if one leaks. Test keys are prefixed `pk_test_` and only touch sandbox data.

PrefixEnvironmentNotes
pk_live_ProductionOperates on real mailboxes and knowledge sources.
pk_test_SandboxIsolated data, no outbound email is actually delivered.

Requests and responses

Send and receive JSON. Set `Content-Type: application/json` on any request with a body. All URLs end with a trailing slash where a resource collection is addressed. Timestamps are ISO 8601 in UTC, and identifiers are opaque strings you should treat as case-sensitive.

Rate limits

During early access, limits are applied per API key. Every response includes rate-limit headers so you can back off gracefully.

HeaderDescription
X-RateLimit-LimitMaximum requests allowed in the current window.
X-RateLimit-RemainingRequests remaining in the current window.
X-RateLimit-ResetUnix timestamp when the window resets.
ScopeDefault limit
Agent messages60 requests / minute
Email draft & send120 requests / minute
Knowledge & mailbox management30 requests / minute

When you exceed a limit the API returns HTTP 429. Respect the X-RateLimit-Reset header and retry with exponential backoff. Need higher limits? Ask in the admin console.

Error format

Errors use standard HTTP status codes and a consistent JSON body. Always log the `request_id` — it lets support trace a specific call.

{
  "error": {
    "type": "invalid_request_error",
    "code": "missing_field",
    "message": "The 'message' field is required.",
    "param": "message",
    "request_id": "req_8f2a1c9d4e"
  }
}
StatustypeMeaning
400invalid_request_errorThe request was malformed or missing a required field.
401authentication_errorMissing or invalid API key.
403permission_errorThe key is valid but not allowed to perform this action.
404not_found_errorThe referenced resource does not exist.
429rate_limit_errorToo many requests — slow down and retry.
500api_errorSomething went wrong on our side. Safe to retry.

Where to go next

  • Email API — connect a mailbox and draft or auto-send grounded replies.
  • Agent API — send a message and get an answer grounded in your knowledge, with sources.
  • Setup guide — connect Notion, Slack, and Google Drive via MCP, then deploy your agent.

Open the Email API reference, the Agent API reference, or follow the setup guide to connect your first knowledge sources.

On this page

  • Proposed contract (not implemented)
  • Base URL
  • Authentication
  • Requests and responses
  • Rate limits
  • Error format
  • Where to go next

PraktickAI

AI training & consulting for technical teams

CoursesFor TeamsServicesDocsBlog
karel@praktickai.appLinkedIn

© 2026 PraktickAI — SkyVisual s.r.o. All rights reserved. Privacy Policy · Terms & Conditions · Complaints Procedure