Instantly O Auth API
OAuth authentication endpoints for connecting Google and Microsoft email accounts
OAuth authentication endpoints for connecting Google and Microsoft email accounts
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
find_apisBrowse and filter every API in the catalog.get_api_artifactsOne API's artifacts, grouped by type.get_openapiThe primary OpenAPI for this API.find_similar_apisAPIs that look like this one.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.curl "https://apis.io/api/v1/apis/instantly-ai-oauth-api"
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
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.
A second provider on the same verified email joins the account you already have.
openapi: 3.2.0
info:
title: Explorer O Auth API
description: The entire API V2 documentation is interactive and can be tested here. To the right side of every endpoint you will see a box with an example request. You can click on the "Try it" button to send a request to the server right from the docs. You will need to provide an API key by clicking the `ApiKeyAuth_token` blue text.
version: 2.0.0
servers:
- url: https://api.instantly.ai
description: Instantly API Server
security:
- ApiKeyAuth: []
tags:
- name: OAuth
description: OAuth authentication endpoints for connecting Google and Microsoft email accounts
x-group: OAuth
paths:
/api/v2/oauth/google/init:
post:
operationId: initGoogleOAuth
summary: Initialize google oauth
tags:
- OAuth
description: 'Creates an OAuth session and returns the Google authorization URL. The user should be redirected to auth_url to complete the OAuth flow. Poll the status endpoint to check for completion.
**Special rate limits (stricter than the standard API rate limit) to comply with upstream Google rate limits:**
- 75 requests per minute per workspace
- 150 requests per minute per IP
If Google''s upstream OAuth service is temporarily unavailable, requests may return 503.'
responses:
'200':
description: Default Response
content:
application/json:
schema:
type: object
properties:
session_id:
type: string
description: Session ID for polling status
example: abc123def456
auth_url:
type: string
description: Google authorization URL to redirect user to
example: https://accounts.google.com/o/oauth2/auth?...
expires_at:
type: string
format: date-time
description: Session expiry time (10 minutes from creation)
example: '2026-01-14T12:30:00.000Z'
'429':
description: Rate limit exceeded — 75 requests per minute per workspace or 150 requests per minute per IP
content:
application/json:
schema:
type: object
description: Rate limit exceeded — 75 requests per minute per workspace or 150 requests per minute per IP
properties:
statusCode:
type: number
enum:
- 429
example: 429
error:
type: string
enum:
- Too Many Requests
example: Too Many Requests
message:
type: string
example: Rate limit exceeded for OAuth session creation
required:
- statusCode
- error
- message
'503':
description: Upstream provider temporarily unavailable — the provider is rate-limiting Instantly. Retry after a short delay.
content:
application/json:
schema:
type: object
description: Upstream provider temporarily unavailable — the provider is rate-limiting Instantly. Retry after a short delay.
properties:
statusCode:
type: number
enum:
- 503
example: 503
error:
type: string
enum:
- Service Unavailable
example: Service Unavailable
message:
type: string
example: OAuth is temporarily unavailable, please retry shortly
required:
- statusCode
- error
- message
/api/v2/oauth/microsoft/init:
post:
operationId: initMicrosoftOAuth
summary: Initialize microsoft oauth
tags:
- OAuth
description: 'Creates an OAuth session and returns the Microsoft authorization URL. The user should be redirected to auth_url to complete the OAuth flow. Poll the status endpoint to check for completion.
**Special rate limits (stricter than the standard API rate limit) to comply with upstream Microsoft rate limits:**
- 75 requests per minute per workspace
- 150 requests per minute per IP
If Microsoft''s upstream OAuth service is temporarily unavailable, requests may return 503.'
responses:
'200':
description: Default Response
content:
application/json:
schema:
type: object
properties:
session_id:
type: string
description: Session ID for polling status
example: abc123def456
auth_url:
type: string
description: Microsoft authorization URL to redirect user to
example: https://login.microsoftonline.com/common/oauth2/v2.0/authorize?...
expires_at:
type: string
format: date-time
description: Session expiry time (10 minutes from creation)
example: '2026-01-14T12:30:00.000Z'
'429':
description: Rate limit exceeded — 75 requests per minute per workspace or 150 requests per minute per IP
content:
application/json:
schema:
type: object
description: Rate limit exceeded — 75 requests per minute per workspace or 150 requests per minute per IP
properties:
statusCode:
type: number
enum:
- 429
example: 429
error:
type: string
enum:
- Too Many Requests
example: Too Many Requests
message:
type: string
example: Rate limit exceeded for OAuth session creation
required:
- statusCode
- error
- message
'503':
description: Upstream provider temporarily unavailable — the provider is rate-limiting Instantly. Retry after a short delay.
content:
application/json:
schema:
type: object
description: Upstream provider temporarily unavailable — the provider is rate-limiting Instantly. Retry after a short delay.
properties:
statusCode:
type: number
enum:
- 503
example: 503
error:
type: string
enum:
- Service Unavailable
example: Service Unavailable
message:
type: string
example: OAuth is temporarily unavailable, please retry shortly
required:
- statusCode
- error
- message
/api/v2/oauth/session/status/{sessionId}:
get:
operationId: getOAuthSessionStatus
summary: Get oauth session status
tags:
- OAuth
description: Poll this endpoint to check the OAuth session result. Works for both Google and Microsoft OAuth sessions. Returns pending while waiting, success with account details when complete, or error if something went wrong. Sessions expire after 10 minutes.
parameters:
- schema:
type: string
example: abc123def456
in: path
name: sessionId
required: true
description: Session ID from init response
responses:
'200':
description: Default Response
content:
application/json:
schema:
type: object
properties:
status:
type: string
enum:
- pending
- success
- error
- expired
description: Current status of the OAuth session
example: success
email:
type: string
description: Email of the connected account (on success)
example: user@example.com
name:
type: string
description: Name of the account owner (on success)
example: John Doe
error:
type: string
description: Error code (on error)
example: access_denied
error_description:
type: string
description: Human-readable error description (on error)
example: User denied access to the application
components:
securitySchemes:
ApiKeyAuth:
type: http
scheme: bearer