Skip to main content

Authentication

Include your API key in the Authorization header:
Authorization: Bearer YOUR_API_KEY
Keep your API key secret. Do not expose it in client-side code or public repositories.

Base URL

https://orbitforms.ai/api/v1

Endpoints

Forms

List all forms
curl -X GET "https://orbitforms.ai/api/v1/forms" \
  -H "Authorization: Bearer YOUR_API_KEY"
Get form submissions
curl -X GET "https://orbitforms.ai/api/v1/forms/:formId/submissions" \
  -H "Authorization: Bearer YOUR_API_KEY"
Create form
curl -X POST "https://orbitforms.ai/api/v1/forms" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"name": "My Form", "fields": [...]}'
Delete submission
curl -X DELETE "https://orbitforms.ai/api/v1/submissions/:submissionId" \
  -H "Authorization: Bearer YOUR_API_KEY"

Contacts

List contacts (with optional filters)
curl -X GET "https://orbitforms.ai/api/v1/contacts?form_id=abc123&limit=50" \
  -H "Authorization: Bearer YOUR_API_KEY"
Get contact
curl -X GET "https://orbitforms.ai/api/v1/contacts/:contactId" \
  -H "Authorization: Bearer YOUR_API_KEY"
Update contact
curl -X PATCH "https://orbitforms.ai/api/v1/contacts/:contactId" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"custom_fields": {"company": "Acme Inc"}}'
Add tag to contact
curl -X POST "https://orbitforms.ai/api/v1/contacts/:contactId/tags" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"tag_id": "tag_xyz"}'
Remove tag from contact
curl -X DELETE "https://orbitforms.ai/api/v1/contacts/:contactId/tags/:tagId" \
  -H "Authorization: Bearer YOUR_API_KEY"

Contact Tags

List contact tags
curl -X GET "https://orbitforms.ai/api/v1/contact-tags" \
  -H "Authorization: Bearer YOUR_API_KEY"
Create contact tag
curl -X POST "https://orbitforms.ai/api/v1/contact-tags" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"name": "High Intent"}'
Delete contact tag
curl -X DELETE "https://orbitforms.ai/api/v1/contact-tags/:tagId" \
  -H "Authorization: Bearer YOUR_API_KEY"

Scheduling Pages

List scheduling pages
curl -X GET "https://orbitforms.ai/api/v1/scheduling-pages" \
  -H "Authorization: Bearer YOUR_API_KEY"
Get scheduling page
curl -X GET "https://orbitforms.ai/api/v1/scheduling-pages/:id" \
  -H "Authorization: Bearer YOUR_API_KEY"
Create scheduling page
curl -X POST "https://orbitforms.ai/api/v1/scheduling-pages" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"name": "30-min Call", "duration": 30}'
Delete scheduling page
curl -X DELETE "https://orbitforms.ai/api/v1/scheduling-pages/:id" \
  -H "Authorization: Bearer YOUR_API_KEY"

Meetings

List meetings (with optional filters, includes AI notes)
curl -X GET "https://orbitforms.ai/api/v1/meetings?status=completed&limit=20" \
  -H "Authorization: Bearer YOUR_API_KEY"
Get meeting (includes ai_notes, recording, field_values)
curl -X GET "https://orbitforms.ai/api/v1/meetings/:id" \
  -H "Authorization: Bearer YOUR_API_KEY"
Example response:
{
  "id": "meeting_abc123",
  "status": "completed",
  "scheduled_at": "2025-03-07T14:00:00Z",
  "ai_notes": {
    "summary": "Discussed pricing and implementation timeline...",
    "action_items": ["Send proposal by Friday", "Schedule follow-up"]
  },
  "recording": {
    "url": "https://...",
    "duration_seconds": 1800
  },
  "field_values": {
    "attendee_email": "[email protected]",
    "attendee_name": "Jane Doe"
  }
}
Update meeting
curl -X PATCH "https://orbitforms.ai/api/v1/meetings/:id" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"status": "cancelled"}'
Delete meeting
curl -X DELETE "https://orbitforms.ai/api/v1/meetings/:id" \
  -H "Authorization: Bearer YOUR_API_KEY"

Availability Schedules

List availability schedules
curl -X GET "https://orbitforms.ai/api/v1/availability-schedules" \
  -H "Authorization: Bearer YOUR_API_KEY"
Get availability schedule
curl -X GET "https://orbitforms.ai/api/v1/availability-schedules/:id" \
  -H "Authorization: Bearer YOUR_API_KEY"

Sequences

Sequences have a separate API reference. See Sequences API for full documentation.

Rate Limits

PlanLimit
Free100 requests/hour
Pro1,000 requests/hour
EnterpriseUnlimited
Rate limit headers are included in responses. Exceeding the limit returns 429 Too Many Requests.

Iframe Tracking Integration

Send tracking parameters from your page into Orbit AI forms for attribution and analytics.

How It Works

  1. Add query params to the form URL — Include comet_token, attribution_id, or other supported fields in the form’s embed URL or link
  2. Orbit captures them — When a user submits, these values are stored with the submission
  3. Use in workflows — Reference them in workflows, webhooks, or exports for attribution reporting

Supported Tracking Fields

FieldDescription
comet_tokenCometly attribution token
attribution_idGeneric attribution ID
tracking_idCampaign or source tracking
visitor_idVisitor identifier
session_idSession identifier
Example (JavaScript):
// Add tracking params to form URL
const formUrl = 'https://orbitforms.ai/f/your-form-id';
const params = new URLSearchParams({
  comet_token: 'abc123',
  attribution_id: 'campaign_xyz',
  visitor_id: getVisitorId()
});
const trackedUrl = `${formUrl}?${params.toString()}`;
If you’re an analytics or attribution provider and want to integrate with Orbit AI, contact support for partnership options.

Next Steps