Pangolin (Fossorial) AI Provider API
The AI Provider API from Pangolin (Fossorial) — 6 operation(s) for ai provider.
The AI Provider API from Pangolin (Fossorial) — 6 operation(s) for ai provider.
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/pangolin-net:pangolin-net-ai-provider-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: Pangolin Net AI Provider API
version: v1
description: 'Operations tagged AI Provider across 2 of this provider''s published API definitions: pangolin-net-openapi-remote.json, pangolin-net-openapi.json. Each path carries the servers of the definition it was published in.'
servers:
- url: /v1
tags:
- name: AI Provider
paths:
/ai-provider/{providerId}/target:
put:
description: Create a target for an AI provider.
tags:
- AI Provider
security:
- Bearer Auth: []
parameters:
- schema:
type: integer
exclusiveMinimum: 0
required: true
name: providerId
in: path
requestBody:
content:
application/json:
schema:
type: object
properties:
siteId:
type: integer
exclusiveMinimum: 0
ip:
type: string
mode:
type: string
enum:
- http
- tcp
- udp
- ssh
- rdp
- vnc
method:
type:
- string
- 'null'
port:
type: integer
minimum: 1
maximum: 65535
enabled:
type: boolean
default: true
hcEnabled:
type: boolean
hcPath:
type:
- string
- 'null'
minLength: 1
hcScheme:
type:
- string
- 'null'
hcMode:
type:
- string
- 'null'
hcHostname:
type:
- string
- 'null'
hcPort:
type:
- integer
- 'null'
exclusiveMinimum: 0
hcInterval:
type:
- integer
- 'null'
exclusiveMinimum: 1
hcUnhealthyInterval:
type:
- integer
- 'null'
exclusiveMinimum: 1
hcTimeout:
type:
- integer
- 'null'
exclusiveMinimum: 1
hcHeaders:
type:
- array
- 'null'
items:
type: object
properties:
name:
type: string
value:
type: string
required:
- name
- value
additionalProperties: false
hcFollowRedirects:
type:
- boolean
- 'null'
hcMethod:
type:
- string
- 'null'
minLength: 1
hcStatus:
type:
- integer
- 'null'
hcTlsServerName:
type:
- string
- 'null'
hcHealthyThreshold:
type:
- integer
- 'null'
exclusiveMinimum: 1
hcUnhealthyThreshold:
type:
- integer
- 'null'
exclusiveMinimum: 1
path:
type:
- string
- 'null'
pathMatchType:
type:
- string
- 'null'
enum:
- exact
- prefix
- regex
- null
rewritePath:
type:
- string
- 'null'
rewritePathType:
type:
- string
- 'null'
enum:
- exact
- prefix
- regex
- stripPrefix
- null
priority:
type:
- integer
- 'null'
minimum: 1
maximum: 1000
required:
- siteId
- ip
- port
additionalProperties: false
responses:
'200':
description: Successful response
content:
application/json:
schema:
type: object
properties:
data:
type:
- object
- 'null'
additionalProperties: {}
success:
type: boolean
error:
type: boolean
message:
type: string
status:
type: number
required:
- data
- success
- error
- message
- status
summary: Replace ai provider by provider id target
x-summary-source: derived
operationId: putAiProviderByProviderIdTarget
x-operation-id-source: derived
servers:
- url: /v1
/ai-provider/{providerId}/targets:
get:
description: List targets for an AI provider.
tags:
- AI Provider
security:
- Bearer Auth: []
parameters:
- schema:
type: integer
exclusiveMinimum: 0
required: true
name: providerId
in: path
- schema:
type: string
default: '1000'
required: false
name: limit
in: query
- schema:
type: string
default: '0'
required: false
name: offset
in: query
responses:
'200':
description: Successful response
content:
application/json:
schema:
type: object
properties:
data:
type:
- object
- 'null'
additionalProperties: {}
success:
type: boolean
error:
type: boolean
message:
type: string
status:
type: number
required:
- data
- success
- error
- message
- status
summary: Get ai provider by provider id targets
x-summary-source: derived
operationId: getAiProviderByProviderIdTargets
x-operation-id-source: derived
servers:
- url: /v1
/org/{orgId}/ai-provider:
put:
description: Create an AI provider for an organization.
tags:
- AI Provider
security:
- Bearer Auth: []
parameters:
- schema:
type: string
minLength: 1
required: true
name: orgId
in: path
requestBody:
content:
application/json:
schema:
type: object
properties:
name:
type: string
minLength: 1
type:
type: string
enum:
- openai
- anthropic
- googleGemini
- vertexAi
- bedrock
- microsoftFoundry
- openRouter
- vercelAiGateway
- custom
upstreamUrl:
type:
- string
- 'null'
format: uri
apiKey:
type: string
authType:
type: string
enum:
- bearer
- x-api-key
- x-goog-api-key
- hec
- cf-aig-authorization
- none
- passthrough
routingMode:
type: string
enum:
- url
- target
capabilities:
type: array
items:
type: string
enum:
- openai_chat
- openai_responses
- anthropic_messages
- v1_models
- gemini_generate_content
- bedrock_model_invoke
- google_generate_content
- google_raw_predict
- bedrock_converse
headers:
type:
- array
- 'null'
items:
type: object
properties:
name:
type: string
value:
type: string
required:
- name
- value
additionalProperties: false
skipTlsVerification:
type: boolean
enabled:
type: boolean
required:
- name
- type
additionalProperties: false
responses:
'201':
description: Successful response
summary: Replace org by org id ai provider
x-summary-source: derived
operationId: putOrgByOrgIdAiProvider
x-operation-id-source: derived
servers:
- url: /v1
/org/{orgId}/ai-providers:
get:
description: List AI providers for an organization.
tags:
- AI Provider
security:
- Bearer Auth: []
parameters:
- schema:
type: string
minLength: 1
required: true
name: orgId
in: path
- schema:
type: integer
default: 20
description: Number of items per page
required: false
description: Number of items per page
name: pageSize
in: query
- schema:
type: integer
default: 1
description: Page number to retrieve
required: false
description: Page number to retrieve
name: page
in: query
- schema:
type: string
required: false
name: query
in: query
responses:
'200':
description: Successful response
summary: Get org by org id ai providers
x-summary-source: derived
operationId: getOrgByOrgIdAiProviders
x-operation-id-source: derived
servers:
- url: /v1
/ai-provider/{providerId}:
get:
description: Get an AI provider by ID.
tags:
- AI Provider
security:
- Bearer Auth: []
parameters:
- schema:
type: string
required: true
name: providerId
in: path
responses:
'200':
description: Successful response
summary: Get ai provider by provider id
x-summary-source: derived
operationId: getAiProviderByProviderId
x-operation-id-source: derived
post:
description: Update an AI provider.
tags:
- AI Provider
security:
- Bearer Auth: []
parameters:
- schema:
type: integer
exclusiveMinimum: 0
required: true
name: providerId
in: path
requestBody:
content:
application/json:
schema:
type: object
properties:
name:
type: string
minLength: 1
niceId:
type: string
minLength: 1
maxLength: 255
pattern: ^[a-zA-Z0-9-]+$
upstreamUrl:
type:
- string
- 'null'
format: uri
apiKey:
type: string
authType:
type: string
enum:
- bearer
- x-api-key
- x-goog-api-key
- hec
- cf-aig-authorization
- none
- passthrough
routingMode:
type: string
enum:
- url
- target
capabilities:
type: array
items:
type: string
enum:
- openai_chat
- openai_responses
- anthropic_messages
- v1_models
- gemini_generate_content
- bedrock_model_invoke
- google_generate_content
- google_raw_predict
- bedrock_converse
headers:
type:
- array
- 'null'
items:
type: object
properties:
name:
type: string
value:
type: string
required:
- name
- value
additionalProperties: false
skipTlsVerification:
type: boolean
enabled:
type: boolean
additionalProperties: false
responses:
'200':
description: Successful response
summary: Create ai provider by provider id
x-summary-source: derived
operationId: postAiProviderByProviderId
x-operation-id-source: derived
delete:
description: Delete an AI provider.
tags:
- AI Provider
security:
- Bearer Auth: []
parameters:
- schema:
type: integer
exclusiveMinimum: 0
required: true
name: providerId
in: path
responses:
'200':
description: Successful response
summary: Delete ai provider by provider id
x-summary-source: derived
operationId: deleteAiProviderByProviderId
x-operation-id-source: derived
servers:
- url: /v1
/org/{orgId}/ai-provider/{niceId}:
get:
description: Get an AI provider by orgId and niceId. NiceId is a readable ID for the provider and unique on a per org basis.
tags:
- AI Provider
security:
- Bearer Auth: []
parameters:
- schema:
type: string
required: true
name: orgId
in: path
- schema:
type: string
required: true
name: niceId
in: path
responses:
'200':
description: Successful response
summary: Get org by org id ai provider by nice id
x-summary-source: derived
operationId: getOrgByOrgIdAiProviderByNiceId
x-operation-id-source: derived
servers:
- url: /v1
components:
securitySchemes:
Bearer_Auth:
type: http
scheme: bearer
x-refined-from:
- pangolin-net-openapi-remote.json
- pangolin-net-openapi.json