API Reference

APIQuick is an endpoint marketplace. Providers import OpenAPI or Postman contracts into API collections, set a price per endpoint invocation, test endpoints through APIQuick's proxy, and publish only working endpoints. Consumers call the visible APIQuick proxy URL; provider backend URLs and upstream paths are hidden from public users.

Current model

One collection can contain many endpoints. Each endpoint has its own proxy URL, price per invocation, authentication requirement, rate limit metadata, and test status. Only priced endpoints with a successful proxy test are publicly visible.

Base URL

All APIQuick backend requests use this production base URL:

https://api.quickpod.org/apiquick/v1

Authentication

Marketplace discovery endpoints are public. Provider onboarding endpoints use the dashboard session token in Authorization: Bearer .... Runtime endpoint invocation requires an APIQuick API key with the proxy:invoke scope in the X-APIQUICK-API-KEY header.

X-APIQUICK-API-KEY: aqk_...

API Collections

Public collection routes return only published collections that have at least one working, priced endpoint.

Endpoint Auth Description
GET /v1/apis Public List published API collections. Supports q and category_id.
GET /v1/apis/:slug Public or provider session Load a collection and endpoint catalog. Public callers receive only tested, priced proxy endpoints. The owning provider can also load draft source endpoint details during onboarding.
GET /v1/categories Public Load API category taxonomy for browsing collections.
curl "https://api.quickpod.org/apiquick/v1/apis?q=breach"

Provider Onboarding

Provider imports create draft collections. The onboarding flow then asks providers to review collection copy, configure endpoint listings, set a positive price per invocation for every endpoint, test endpoints through the proxy, and publish. Imported endpoint prices default to 0.0010 credits per invocation.

POST /v1/import/openapi
Authorization: Bearer <dashboard-session-token>
Content-Type: multipart/form-data

file=@openapi.yaml
default_credit_usd=0.0010
POST /v1/import/postman
Authorization: Bearer <dashboard-session-token>
Content-Type: multipart/form-data

file=@collection.json
default_credit_usd=0.0010

Publishing with PATCH /v1/collections/:id and { "status": "published" } is rejected until every active endpoint has a positive price and at least one endpoint has a successful 2xx proxy test.

Endpoint Proxy

Public endpoint details provide a slugged proxy URL that users call instead of the provider backend. The canonical form is:

https://api.quickpod.org/apiquick/v1/proxy/{collectionSlug}/{endpointKey}

Numeric proxy IDs are still accepted for compatibility, but public endpoint details prefer slugged URLs.

curl -X GET "https://api.quickpod.org/apiquick/v1/proxy/breach-api-42/get-breach-risk-by-domain?domain=example.com"   -H "X-APIQUICK-API-KEY: aqk_..."

Metering and Limits

The proxy validates the API key and proxy:invoke scope, enforces endpoint RPM limits when configured, checks that the caller has enough credit, reserves the endpoint cost before contacting the hidden upstream backend, and logs usage. If the upstream transport fails before a response is received, the reserved charge is refunded.

Status Error Meaning
401 missing_api_key or invalid_api_key The invocation key is missing, inactive, expired, or unknown.
403 scope_not_allowed The key does not include proxy:invoke.
402 insufficient_credits The caller does not have enough credit for the endpoint's price per invocation.
429 rate_limit_exceeded The endpoint-specific requests-per-minute limit was exceeded.

Error Handling

Error responses include a machine-readable error value:

{
  "error": "insufficient_credits"
}