Smileline

Overview

Base URLs, organization scoping, and the conventions shared by every SmileLine API endpoint.

The SmileLine API is a JSON HTTP API. Every endpoint in the sidebar is generated from the same contract definitions that validate requests in production, so the reference is always in sync with the running API.

Base URLs

EnvironmentBase URL
Production EUhttps://api-eu.smileline.io
Production UShttps://api-us.smileline.io
Staginghttps://api-stage.smileline.io

Use the production URL for the organization you are integrating. The United States uses US; every other country currently offered during practice creation uses EU. The app shows the correct URL for the active organization. Never send one organization's credentials or capability links to the other region.

All requests and responses use application/json unless an endpoint says otherwise (file uploads use multipart/form-data, CSV export returns text/csv).

Organization scoping

SmileLine is multi-tenant. Every CRM resource belongs to an organization, and every request runs against the active organization of the authenticated session or API key. You never pass an organization ID in the URL — the server resolves it from your credentials.

Check what the API sees for you:

export SMILELINE_API_URL="https://api-eu.smileline.io"
curl "$SMILELINE_API_URL/auth/me" \
  -H "Authorization: Bearer $SMILELINE_API_KEY"

The response includes your user, the active organization, your member role and the workspaces you can open. See Authentication for how roles gate write operations.

Conventions

  • IDs are UUIDs.
  • Timestamps are ISO 8601 strings in UTC.
  • Errors share one envelope everywhere — see Errors.
  • Lists are paginated — see Pagination.
  • Mutations that "delete" usually archive: the row is kept with an archivedAt timestamp and disappears from default lists. Most resources expose a matching restore endpoint.

For AI tools

Every page is also served as plain Markdown, so an assistant can read the docs without scraping the rendered page.

URLWhat it is
/llms.txtAn index of every page, with its description
/llms-full.txtEvery guide and concept page as one Markdown file
/openapi.jsonThe OpenAPI document behind the endpoint pages
<any page>.mdxThat page as Markdown — e.g. /reference/errors.mdx

Each page also carries Copy for AI, which copies its Markdown, and Open, which hands the page to ChatGPT, Claude, or another AI tool.

Trying requests

Every endpoint page has a playground. Paste an API key into the Authorization field and requests run against the server you pick — staging is a safe place to experiment.

Playground requests are real requests. Against production they create, modify, and archive real data.

On this page