Discovery needs no key. Ratings and market analysis are Pro.
Get an API 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.
openapi: 3.2.0
info:
title: Odile Labs Lines API
version: 1.1.0
summary: 'OdileM2M: Direct business messages and bookings, Gate API controls, and answering phone lines.'
description: 'Your code acts for your own Odile Labs account with an API key. Make a key at https://odilelabs.com/developers after signing in with Google.
Try first, free: POST /test-lines returns a shared test number and a 4-digit code that reaches an AI receptionist answering as your business (24 hours, 5 calls, nothing booked or charged).
Phone lines: POST /lines sets up an After Hours answering line for a US business and returns a Stripe checkout link for its first minute pack (40 minutes for $10 or 200 for $50; $0.25 a minute, billed by the second with a 20-second minimum). Show the business owner https://odilelabs.com/terms first and send owner_confirmed_terms: true only after they agree. Nothing is built or charged until the pack is paid on Stripe''s own page; the line''s number is then emailed to the account. Calls and messages the line took are readable with GET /lines/{id}/calls and /lines/{id}/messages.
Meeting notes: POST /meetings sends a note-taker to a call; it spends meeting minutes (the first 30 are free). The same tools are on the MCP server at https://odilelabs.com/mcp.
OdileM2M Direct resolves participating businesses, sends structured tasks and reads the caller’s own results. Price quotes and paying a quoted price remain unavailable. Text Odile is live for people: WhatsApp +1 561-916-6642 or call (561) 375-2995 and ask Odile to message, ask or book a participating business; it confirms first. Informational call_business is a default-off, separately enabled voice pilot; it is not generally available. Existing fallback/deposit endpoints are separately gated pilots; their presence in this contract does not activate them. Direct pricing is at https://odilelabs.com/pricing.json.'
contact:
url: https://odilelabs.com/contact
termsOfService: https://odilelabs.com/terms
servers:
- url: https://api.odilelabs.com/v1
security:
- apiKey: []
tags:
- name: Lines
paths:
/lines:
get:
operationId: listLines
summary: The account's answering lines and set-ups waiting for payment
responses:
'200':
description: Lines
content:
application/json:
schema:
type: object
'401':
$ref: '#/components/responses/Error'
tags:
- Lines
post:
operationId: setUpLine
summary: Set up an answering line for a US business; returns the checkout link for its…
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/LineSetup'
responses:
'201':
description: Waiting for payment
content:
application/json:
schema:
$ref: '#/components/schemas/LineSetupResult'
'400':
$ref: '#/components/responses/Error'
'401':
$ref: '#/components/responses/Error'
'503':
$ref: '#/components/responses/Error'
tags:
- Lines
/lines/{id}:
parameters:
- $ref: '#/components/parameters/LineId'
get:
operationId: getLine
summary: 'One line: its status (setting up, queued or live), number, balance and…'
responses:
'200':
description: The line
content:
application/json:
schema:
type: object
'404':
$ref: '#/components/responses/Error'
tags:
- Lines
components:
schemas:
LineSetupResult:
type: object
description: Referenced by this document but never defined in it. API Evangelist added this empty placeholder so the document resolves; the shape is unknown and is NOT a claim about the API.
x-ae-placeholder: true
LineSetup:
type: object
description: Referenced by this document but never defined in it. API Evangelist added this empty placeholder so the document resolves; the shape is unknown and is NOT a claim about the API.
x-ae-placeholder: true
responses:
Error:
description: Referenced by this document but never defined in it. API Evangelist added this empty placeholder so the document resolves; the shape is unknown and is NOT a claim about the API.
x-ae-placeholder: true
parameters:
LineId:
name: LineId
in: query
required: false
schema:
type: string
description: Referenced by this document but never defined in it. API Evangelist added this empty placeholder so the document resolves; the shape is unknown and is NOT a claim about the API.
x-ae-placeholder: true
externalDocs:
url: https://odilelabs.com/developers