Zest Equity Investors API
Bulk-create investor records with partial-success semantics. Each row carries its own status / error envelope so a single bad row never fails the batch.
Bulk-create investor records with partial-success semantics. Each row carries its own status / error envelope so a single bad row never fails the batch.
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/zest-equity-investors-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: Zest equity public api Authentication Investors API
version: 0.1.0
description: OAuth 2.0 JWT-Bearer assertion grant. Exchange a partner-signed JWT for a short-lived bearer access token, then send that token in the Authorization header on every partner API call.
servers:
- url: https://sandbox-api.zestequity.com
description: Staging
tags:
- name: Investors
description: Bulk-create investor records with partial-success semantics. Each row carries its own status / error envelope so a single bad row never fails the batch.
paths:
/v1/investors:
post:
tags:
- Investors
summary: Bulk create investors
description: 'Creates one or more investor records. Always returns 200 with a per-row { status, zestPersonId | error } result keyed by `partnerInvestorId`. Idempotent across replays: a repeated `partnerInvestorId` returns the existing Zest person id. `Idempotency-Key` is optional and provides response-level caching.'
operationId: bulkCreateInvestors
parameters:
- required: false
schema:
type: string
title: Idempotency-Key
name: Idempotency-Key
in: header
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/InvestorBulkCreate'
required: true
responses:
'200':
description: Successful Response
content:
application/json:
schema:
$ref: '#/components/schemas/InvestorBulkResponse'
'401':
description: Invalid token
content:
application/json:
schema:
$ref: '#/components/schemas/PartnerErrorResponse'
'403':
description: Service not provisioned for partner API
content:
application/json:
schema:
$ref: '#/components/schemas/PartnerErrorResponse'
'409':
description: Idempotency-Key conflict (different body)
content:
application/json:
schema:
$ref: '#/components/schemas/PartnerErrorResponse'
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
security:
- HTTPBearer: []
components:
schemas:
ValidationError:
properties:
loc:
items:
anyOf:
- type: string
- type: integer
type: array
title: Location
msg:
type: string
title: Message
type:
type: string
title: Error Type
type: object
required:
- loc
- msg
- type
title: ValidationError
HTTPValidationError:
properties:
detail:
items:
$ref: '#/components/schemas/ValidationError'
type: array
title: Detail
type: object
title: HTTPValidationError
InvestorBulkCreate:
properties:
investors:
items:
$ref: '#/components/schemas/InvestorCreateRow'
type: array
title: Investors
type: object
required:
- investors
title: InvestorBulkCreate
InvestorRowResult:
properties:
partnerInvestorId:
type: string
title: Partnerinvestorid
status:
type: string
title: Status
zestPersonId:
type: string
title: Zestpersonid
error:
$ref: '#/components/schemas/InvestorRowError'
type: object
required:
- partnerInvestorId
- status
title: InvestorRowResult
InvestorBulkResponse:
properties:
results:
items:
$ref: '#/components/schemas/InvestorRowResult'
type: array
title: Results
type: object
required:
- results
title: InvestorBulkResponse
PartnerErrorResponse:
properties:
detail:
type: string
title: Detail
default: 'ex: Something went wrong'
examples:
- Something went wrong
errorId:
type: string
title: Errorid
code:
type: string
title: Code
description: Stable top-level error code (see PartnerErrorCode enum).
validationErrors:
items:
$ref: '#/components/schemas/PartnerValidationError'
type: array
title: Validationerrors
description: Populated only when code='validation_error'.
type: object
required:
- code
title: PartnerErrorResponse
InvestorRowError:
properties:
code:
type: string
title: Code
field:
type: string
title: Field
message:
type: string
title: Message
retryable:
type: boolean
title: Retryable
type: object
required:
- code
- message
- retryable
title: InvestorRowError
PartnerValidationError:
properties:
attribute:
type: string
title: Attribute
description: Attribute path (e.g. 'deal_name', 'share_class.name').
code:
type: string
title: Code
description: Stable validation error code (see ValidationErrorCode enum).
message:
type: string
title: Message
description: Human-readable message.
type: object
required:
- attribute
- code
- message
title: PartnerValidationError
InvestorCreateRow:
properties:
partnerInvestorId:
type: string
title: Partnerinvestorid
description: Stable partner-side investor identifier; used for response correlation + dedupe.
example: acme-inv-7341
email:
type: string
title: Email
example: alice@example.com
firstName:
type: string
title: Firstname
example: Alice
lastName:
type: string
title: Lastname
example: Liddell
dateOfBirth:
type: string
title: Dateofbirth
description: ISO date YYYY-MM-DD.
example: '1985-04-12'
countryOfResidence:
type: string
title: Countryofresidence
description: ISO 3166 alpha-2 country code.
example: AE
type: object
required:
- partnerInvestorId
- email
- firstName
- lastName
- dateOfBirth
title: InvestorCreateRow
securitySchemes:
HTTPBearer:
type: http
scheme: bearer