Work with this as data
Every API here is available over the APIs.io API and to AI agents over MCP.
MCP server
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
Tools for apis
7 MCP tools reach this
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.
Call it yourself
curl for this page
This API
curl "https://apis.io/api/v1/apis/persistiq-leads-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"
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.
A second provider on the same verified email joins the account you already have.
OpenAPI Specification
openapi: 3.2.0
info:
title: Persistiq Leads API
version: v1
x-refined-note:
- x-apisjson-generated differs across the merged source definitions and was not carried
- x-apisjson-method differs across the merged source definitions and was not carried
- x-apisjson-source differs across the merged source definitions and was not carried
description: 'Operations tagged Leads across 2 of this provider''s published API definitions: persistiq-api-v1-openapi.json, persistiq-leads-api-openapi.yml. Each path carries the servers of the definition it was published in.'
servers:
- url: https://api.persistiq.com
description: Production
tags:
- name: Leads
paths:
/v1/leads:
get:
summary: List leads
tags:
- Leads
parameters:
- name: page
in: query
required: false
description: Page number for pagination
schema:
type: integer
- name: status
in: query
required: false
description: Filter by lead status name
schema:
type: string
- name: status_id
in: query
required: false
description: Filter by lead status ID
schema:
type: string
- name: updated_after
in: query
required: false
description: Filter leads updated after this ISO 8601 timestamp
schema:
type: string
- name: created_after
in: query
required: false
description: Filter leads created after this ISO 8601 timestamp
schema:
type: string
- name: email
in: query
required: false
description: Filter by lead email
schema:
type: string
responses:
'200':
description: leads listed
content:
application/json:
schema:
type: object
properties:
has_more:
type: boolean
next_page:
type:
- string
- 'null'
status:
type: string
errors:
type: array
items:
type: string
leads:
type: array
items:
$ref: '#/components/schemas/lead_type'
security:
- api_key: []
post:
summary: Create a lead
tags:
- Leads
parameters: []
responses:
'200':
description: lead created
content:
application/json:
schema:
type: object
properties:
status:
type: string
error:
type:
- object
- 'null'
lead:
$ref: '#/components/schemas/lead_type'
requestBody:
content:
application/json:
schema:
type: object
properties:
dup:
type: string
enum:
- update
- skip
description: 'Duplicate handling: "update" or "skip"'
creator_id:
type: string
description: Hashed user ID of the lead creator
lead:
type: object
description: Lead data fields (email, first_name, last_name, company_name, etc.)
additionalProperties: {}
required:
- lead
security:
- api_key: []
servers:
- url: https://api.persistiq.com
description: Production
/v1/leads/{id}:
get:
summary: Get a lead
tags:
- Leads
parameters:
- name: id
in: path
required: true
description: Lead hashed ID or email address
schema:
type: string
responses:
'200':
description: lead found
content:
application/json:
schema:
type: object
properties:
status:
type: string
error:
type:
- object
- 'null'
lead:
$ref: '#/components/schemas/lead_type'
'404':
description: lead not found
content:
application/json:
schema:
$ref: '#/components/schemas/error_response'
security:
- api_key: []
patch:
summary: Update a lead
tags:
- Leads
parameters:
- name: id
in: path
required: true
description: Lead hashed ID or email address
schema:
type: string
responses:
'200':
description: lead updated
content:
application/json:
schema:
type: object
properties:
status:
type: string
error:
type:
- object
- 'null'
lead:
$ref: '#/components/schemas/lead_type'
requestBody:
content:
application/json:
schema:
type: object
properties:
status:
type: string
description: Lead status name
status_id:
type: string
description: Lead status hashed ID
owner_id:
type: string
description: New owner (user) hashed ID
bounced:
type: boolean
optedout:
type: boolean
data:
type: object
description: Lead data fields to update
additionalProperties: {}
security:
- api_key: []
servers:
- url: https://api.persistiq.com
description: Production
/v1/leads/{lead_id}:
get:
operationId: getLead
summary: View a single lead
tags:
- Leads
parameters:
- name: lead_id
in: path
required: true
schema:
type: string
example: l_1abc
responses:
'200':
description: A single lead
content:
application/json:
schema:
type: object
properties:
status:
type: string
errors:
type:
- array
- 'null'
items: {}
leads:
type: array
items:
$ref: '#/components/schemas/Lead'
'401':
$ref: '#/components/responses/Unauthorized'
'404':
$ref: '#/components/responses/NotFound'
'429':
$ref: '#/components/responses/TooManyRequests'
'500':
$ref: '#/components/responses/ServerError'
security:
- ApiKeyAuth: []
put:
operationId: updateLead
summary: Update a lead
description: Updates a single lead. If `status` or `status_id` are specified, the lead's status changes. The `data` hash sets custom and built-in lead attributes.
tags:
- Leads
parameters:
- name: lead_id
in: path
required: true
schema:
type: string
example: l_1abc
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
status:
type: string
description: Name of lead status.
status_id:
type: string
description: ID of lead status.
bounced:
type: boolean
description: Sets the lead as bounced.
optedout:
type: boolean
description: Sets the lead as opted out.
data:
type: object
description: Hash of lead data attributes.
responses:
'200':
description: The updated lead
content:
application/json:
schema:
type: object
properties:
status:
type: string
error:
type:
- object
- 'null'
lead:
$ref: '#/components/schemas/Lead'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'404':
$ref: '#/components/responses/NotFound'
'429':
$ref: '#/components/responses/TooManyRequests'
'500':
$ref: '#/components/responses/ServerError'
security:
- ApiKeyAuth: []
servers:
- url: https://api.persistiq.com
description: Production
components:
schemas:
lead_type:
type: object
properties:
id:
type: string
status:
type:
- string
- 'null'
data:
type: object
additionalProperties: {}
creator_id:
type:
- string
- 'null'
owner_id:
type:
- string
- 'null'
bounced:
type: boolean
optedout:
type: boolean
sent_count:
type: integer
replied_count:
type: integer
last_sent_at:
type:
- string
- 'null'
error_response:
type: object
properties:
status:
type: string
example: error
error:
type: object
properties:
reason:
type: string
message:
type: string
LeadData:
type: object
required:
- email
properties:
email:
type: string
format: email
first_name:
type:
- string
- 'null'
last_name:
type:
- string
- 'null'
company_name:
type:
- string
- 'null'
address:
type:
- string
- 'null'
city:
type:
- string
- 'null'
state:
type:
- string
- 'null'
phone:
type:
- string
- 'null'
title:
type:
- string
- 'null'
industry:
type:
- string
- 'null'
snippet:
type:
- string
- 'null'
snippet2:
type:
- string
- 'null'
snippet3:
type:
- string
- 'null'
snippet4:
type:
- string
- 'null'
Lead:
type: object
properties:
id:
type: string
example: l_abc001
status:
type: string
example: active
bounced:
type:
- boolean
- string
data:
$ref: '#/components/schemas/LeadData'
Error:
type: object
properties:
status:
type: string
example: error
error:
type: object
properties:
reason:
type: string
description: Error type. Values include invalid_request_error, api_error, bad_params, invalid_request, too_many_requests.
message:
type: string
responses:
ServerError:
description: Internal Server Error
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
NotFound:
description: Not Found - the specified data could not be found
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
Unauthorized:
description: Unauthorized - your API key is wrong
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
TooManyRequests:
description: Too Many Requests - more than 100 requests were sent in one minute.
headers:
X-RateLimit-Limit:
description: Maximum allowed requests per minute.
schema:
type: integer
X-RateLimit-Remaining:
description: Requests left for the current window.
schema:
type: integer
X-RateLimit-Reset:
description: UTC epoch seconds when the window resets.
schema:
type: integer
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
BadRequest:
description: Bad Request - missing a required parameter
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
securitySchemes:
api_key:
type: apiKey
name: x-api-key
in: header
description: API key found in Settings > Integrations > API Key
ApiKeyAuth:
type: apiKey
in: header
name: x-api-key
description: Company-wide API key. Grants access to read and write all users' data within the company. Include it in the header of every request.
x-refined-from:
- persistiq-api-v1-openapi.json
- persistiq-leads-api-openapi.yml