hyreflow-ai Providers API
The Providers API from hyreflow-ai — 5 operation(s) for providers.
The Providers API from hyreflow-ai — 5 operation(s) for providers.
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/hyreflow-ai:hyreflow-ai-providers-api"
curl "https://apis.io/api/v1/apis?limit=25"
Calls without X-API-Key need no key. Calls with it need a paid plan — get a 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: 3.2.0
info:
title: hyreflow engine (local) Providers API
version: 0.1.0
tags:
- name: Providers
paths:
/api/v2/providers:
get:
summary: Byok List
description: 'Every BYOK-eligible provider + this workspace''s connection status (masked key only). A signed-in
member also gets `personal` on each personal-key card: their own override, or null. A non-owner never
sees the shared workspace credential''s details (masked key, last use, health, OAuth client/region) —
only whether the integration is connected and working.'
operationId: byok_list_api_v2_providers_get
responses:
'200':
description: Successful Response
content:
application/json:
schema: {}
security:
- HTTPBearer: []
tags:
- Providers
/api/v2/providers/{provider}:
put:
summary: Byok Set
description: 'Store (and, by default, live-verify) a BYOK key for `provider`.
Flow: validate eligibility → unless `skip_test`, probe the SUBMITTED key against the vendor; on a
verifiable failure return 424 with the vendor''s reason and do NOT persist → on success upsert the
encrypted key and return the masked view. `test_only=1` probes without storing (the dashboard''s
''Test connection'' button). A multi-field provider (`byok.extra_fields`) also requires each of its
extra fields in the body (e.g. `{"api_key": "...", "agency_slug": "..."}` for Loxo), and any field
declaring a `format` (e.g. SourceWhale''s user_email) must match it or the save 400s before anything
is probed or stored. Storing is owner-only; any member may `test_only`.'
operationId: byok_set_api_v2_providers__provider__put
security:
- HTTPBearer: []
parameters:
- name: provider
in: path
required: true
schema:
type: string
title: Provider
- name: test_only
in: query
required: false
schema:
type: integer
default: 0
title: Test Only
- name: skip_test
in: query
required: false
schema:
type: integer
default: 0
title: Skip Test
requestBody:
content:
application/json:
schema:
type: object
additionalProperties: true
default: {}
title: Body
responses:
'200':
description: Successful Response
content:
application/json:
schema: {}
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
tags:
- Providers
delete:
summary: Byok Delete
description: 'Remove the workspace''s BYOK key for `provider`. A resold provider falls back to hyreflow-managed
credits; a BYOK-only one (apollo, zoominfo, …) has no fallback and stops working until a key is
connected again, which below Essential is refused.'
operationId: byok_delete_api_v2_providers__provider__delete
security:
- HTTPBearer: []
parameters:
- name: provider
in: path
required: true
schema:
type: string
title: Provider
responses:
'200':
description: Successful Response
content:
application/json:
schema: {}
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
tags:
- Providers
/api/v2/providers/{provider}/test:
post:
summary: Byok Test
description: 'Probe a key for `provider`: the inline `api_key` (+ extra fields) if given, else the stored
WORKSPACE ones (owner only — a member never exercises the shared key). Does not persist.'
operationId: byok_test_api_v2_providers__provider__test_post
security:
- HTTPBearer: []
parameters:
- name: provider
in: path
required: true
schema:
type: string
title: Provider
requestBody:
content:
application/json:
schema:
type: object
additionalProperties: true
default: {}
title: Body
responses:
'200':
description: Successful Response
content:
application/json:
schema: {}
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
tags:
- Providers
/api/v2/providers/{provider}/toggle:
post:
summary: Byok Toggle
description: 'Pause/resume a stored override without discarding the key (the dashboard toggle). Body:
{"enabled": bool}. 404 if no key is stored for the provider.'
operationId: byok_toggle_api_v2_providers__provider__toggle_post
security:
- HTTPBearer: []
parameters:
- name: provider
in: path
required: true
schema:
type: string
title: Provider
requestBody:
content:
application/json:
schema:
type: object
additionalProperties: true
default: {}
title: Body
responses:
'200':
description: Successful Response
content:
application/json:
schema: {}
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
tags:
- Providers
/api/v2/providers/{provider}/me:
get:
summary: Byok User Get
description: 'The CALLING member''s own personal override for `provider` — masked, never the shared workspace
key. `{"connected": false}` (not 404) when the member hasn''t stored one.'
operationId: byok_user_get_api_v2_providers__provider__me_get
security:
- HTTPBearer: []
parameters:
- name: provider
in: path
required: true
schema:
type: string
title: Provider
responses:
'200':
description: Successful Response
content:
application/json:
schema: {}
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
tags:
- Providers
put:
summary: Byok User Set
description: 'Store (and, by default, live-verify) the CALLING member''s OWN key for `provider` — from the next
call this member makes on it, their key replaces the shared workspace key wholesale (api_key + any
extra fields both come from this row). Same validation as `byok_set`: required extra fields, format
check, length caps, live probe (424 on a rejected key) unless `skip_test=1`.'
operationId: byok_user_set_api_v2_providers__provider__me_put
security:
- HTTPBearer: []
parameters:
- name: provider
in: path
required: true
schema:
type: string
title: Provider
- name: skip_test
in: query
required: false
schema:
type: integer
default: 0
title: Skip Test
requestBody:
content:
application/json:
schema:
type: object
additionalProperties: true
default: {}
title: Body
responses:
'200':
description: Successful Response
content:
application/json:
schema: {}
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
tags:
- Providers
delete:
summary: Byok User Delete
description: 'Remove the CALLING member''s own key for `provider` (the shared workspace key, if any, is
untouched). An "optional" tool falls back to the workspace key, a "required" one (Spott) blocks.'
operationId: byok_user_delete_api_v2_providers__provider__me_delete
security:
- HTTPBearer: []
parameters:
- name: provider
in: path
required: true
schema:
type: string
title: Provider
responses:
'200':
description: Successful Response
content:
application/json:
schema: {}
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
tags:
- Providers
components:
schemas:
HTTPValidationError:
properties:
detail:
items:
$ref: '#/components/schemas/ValidationError'
type: array
title: Detail
type: object
title: HTTPValidationError
ValidationError:
properties:
loc:
items:
anyOf:
- type: string
- type: integer
type: array
title: Location
msg:
type: string
title: Message
type:
type: string
title: Error Type
input:
title: Input
ctx:
type: object
title: Context
type: object
required:
- loc
- msg
- type
title: ValidationError
securitySchemes:
HTTPBearer:
type: http
scheme: bearer