canonical: https://jentic.com/apis/overlay.ai/overlay-ai

# Overlay AI API

Overlay AI provides real-time object recognition and AI-powered computer vision capabilities integrated with automation platforms like Zapier. The API offers OAuth2 authentication, access token management, Zapier trigger subscriptions for AI-detected events, and test endpoints for integration validation. Use it to trigger workflows when specific objects or events are detected in video streams, integrate computer vision into no-code automation, and build real-time monitoring systems that respond to visual inputs.

## For AI agents

Manage Overlay AI OAuth2 authentication, access tokens, and Zapier trigger integrations for AI object recognition workflows.

## Scope

Does not train custom models, process video directly, or store detection history - use for authentication, webhook subscriptions, and Zapier integration only.

## Capabilities

- Authenticate users via OAuth2 authorization flow
- Refresh OAuth2 access tokens programmatically
- Request access to Overlay AI resources with scopes
- Subscribe to Zapier triggers for AI object detection events
- Unsubscribe from Zapier trigger webhooks
- Retrieve list of recent AI detection events for Zapier polling
- Test API connectivity and authentication status

## Use cases

### Zapier Automation for Object Detection

Trigger Zapier workflows when Overlay AI detects specific objects or events in video streams. POST `/api/zapier/subscribe/flows` subscribes a Zapier webhook to detection events, GET `/api/zapier/perform-list` retrieves recent events for polling triggers, and DELETE `/api/zapier/unsubscribe/flows` unsubscribes. Use this to automate responses like sending alerts when a person enters a restricted zone, logging vehicle counts, or triggering notifications when specific objects appear on camera.

Example prompt: POST `/api/zapier/subscribe/flows` with webhook URL and detection filters, then use GET `/api/zapier/perform-list` for polling-based triggers. DELETE `/api/zapier/unsubscribe/flows` to remove subscriptions.

### OAuth2 Authentication for Third-Party Apps

Integrate Overlay AI into third-party applications using OAuth2 for secure user authorization. POST /oauth2 initiates the OAuth2 flow, POST /access exchanges authorization codes for access tokens, and POST /refresh renews expired tokens. This allows apps to access user-specific detection data, manage subscriptions, and interact with Overlay AI on behalf of users without storing credentials.

Example prompt: POST /oauth2 to start OAuth2 flow, redirect user for authorization, then POST /access with authorization code to retrieve access token. Use POST /refresh to renew tokens before expiration.

### Real-Time Monitoring System Integration

Build real-time monitoring dashboards or alerting systems that respond to Overlay AI object detection events. Subscribe webhooks to receive instant notifications when objects are detected, then process events through custom logic - filter by object type, aggregate counts, or trigger escalations. Integrate with SIEM tools, incident management platforms, or IoT systems to create intelligent surveillance and monitoring solutions.

Example prompt: POST `/api/zapier/subscribe/flows` to receive webhook notifications, parse detection payloads for object type and confidence, then route to alerting or incident systems based on rules.

### AI Agent for Computer Vision Automation

Let an AI agent manage Overlay AI integration tasks - subscribing to detection triggers, refreshing tokens, and testing connectivity. Through Jentic, the agent searches by intent ('subscribe to Overlay AI detection events') and loads only the required endpoints. OAuth tokens are injected at execution time, keeping credentials out of agent context.

Example prompt: Use the Jentic search query 'subscribe to Overlay AI detection events' to find POST `/api/zapier/subscribe/flows`, load its schema, and execute with webhook URL and event filters provided by the user.

## Key endpoints

| Method | Path | Description |
| --- | --- | --- |
| POST | `/oauth2` | Initiate OAuth2 authorization flow |
| POST | `/access` | Exchange authorization code for access token |
| POST | `/refresh` | Refresh an expired access token |
| POST | `/api/zapier/subscribe/flows` | Subscribe to Zapier detection triggers |
| GET | `/api/zapier/perform-list` | Retrieve recent detection events for polling |
| DELETE | `/api/zapier/unsubscribe/flows` | Unsubscribe from Zapier triggers |
| GET | `/test` | Test API connectivity and authentication |

## Key resources

- **OAuth2 Tokens** — Access and refresh tokens for authenticated API access
- **Zapier Subscriptions** — Webhook subscriptions for object detection trigger events
- **Detection Events** — AI-detected objects or events in monitored video streams
- **Access Grants** — User-authorized access to Overlay AI resources and scopes

## Why Jentic

- **Setup:** Wiring Overlay AI by hand means running its OAuth2 flow, exchanging and refreshing bearer tokens (a Firebase ID token or access token), and keeping them fresh across calls. Through Jentic you install once, import the Overlay AI API from the API Directory, store the credential once, and your agent calls it.
- **Permission scoping:** Overlay AI carries the Zapier flow subscription target in the request body rather than the URL path, so scope the agent to the operations it needs, such as subscribing to flows or listing available data. Because you choose the allowed operations, unsubscribing from flows is not included unless you add it.
- **Credential handling:** Your Overlay AI OAuth2 token is stored once, encrypted, by your own Jentic One instance, refreshed for you, and injected at execution time. It never enters the agent's prompt, logs, or context.
- **Discovery method:** Agents search Jentic by intent such as 'subscribe to Overlay AI detection events' or 'list available flows', and Jentic returns the matching Overlay AI operation with its input schema so the agent calls the right endpoint without browsing the reference docs.

## Related APIs

- **Roboflow API** — Roboflow provides computer vision model training and inference for custom object detection.
- **Clarifai API** — Clarifai offers AI-powered image and video recognition with pre-trained and custom models.
- **AWS Rekognition** — AWS Rekognition provides image and video analysis including object and face detection.

## FAQ

### What authentication does the Overlay AI API use?

The API uses OAuth2 for authentication. POST /oauth2 initiates the flow, POST /access retrieves access tokens, and POST /refresh renews expired tokens. Through Jentic, OAuth tokens are managed and refreshed automatically, keeping credentials out of agent context.

### Can I trigger Zapier workflows based on object detection?

Yes. POST `/api/zapier/subscribe/flows` subscribes a Zapier webhook to receive detection events, and GET `/api/zapier/perform-list` retrieves recent events for polling-based triggers.

### How do I refresh an expired access token?

POST /refresh with the refresh token to obtain a new access token without requiring the user to re-authenticate.

### Is the Overlay AI API free?

Overlay AI pricing depends on subscription tier and usage volume. Check the vendor's pricing page for details on free tiers and paid plans.

### What objects can Overlay AI detect?

Overlay AI detects a wide range of objects including people, vehicles, animals, and custom-trained objects. Detection capabilities depend on the models and configurations active in your account.

### Can I unsubscribe from Zapier webhooks?

Yes. DELETE `/api/zapier/unsubscribe/flows` removes webhook subscriptions for detection events.

### Can I limit what my agent is allowed to do with the Overlay AI API?

Yes. Because Jentic One is self-hosted and you set the rules, you decide which Overlay AI operations your agent may call, so you can allow only what it needs, such as subscribing to Zapier detection flows (POST `/api/zapier/subscribe/flows`) or listing recent events (GET `/api/zapier/perform-list`). Destructive operations like unsubscribing from flows (DELETE `/api/zapier/unsubscribe/flows`) are not available to the agent unless you explicitly add them. The stored OAuth2 credential is injected only for the operations you have permitted, so the agent never gets broader access than you granted.
