API Collections

APIQuick marketplace discovery is collection-based. A collection groups multiple endpoints, and each endpoint has its own price per invocation and slugged APIQuick proxy URL. Public responses do not expose provider backend URLs.

List Collections

GET /v1/apis

Returns published API collections that have at least one active endpoint with a positive price and a successful 2xx proxy test.

Query Parameters

q string optional
Case-insensitive search against collection title and short description.
category_id integer optional
Filter by API category ID.

Response

200 OK
{
  "items": [
    {
      "id": 42,
      "creator_id": 7,
      "title": "Breach API",
      "slug": "breach-api-7",
      "short_description": "Breach risk checks for domains, emails, and phones.",
      "listing_type": "api",
      "status": "published",
      "creator_name": "Security Labs",
      "creator_username": "security-labs",
      "endpoint_count": 3,
      "min_credit_cost": 0.0010
    }
  ]
}

Get Collection

GET /v1/apis/:slug

Public callers receive only tested, priced endpoints. The owning provider may load draft collection details with a dashboard Bearer token during onboarding; provider-only views can include source endpoint paths for testing.

Response

200 OK
{
  "id": 42,
  "creator_id": 7,
  "title": "Breach API",
  "slug": "breach-api-7",
  "short_description": "Breach risk checks for domains, emails, and phones.",
  "listing_type": "api",
  "status": "published",
  "creator_name": "Security Labs",
  "creator_username": "security-labs",
  "endpoints": [
    {
      "id": 58,
      "key": "get-breach-risk-by-domain",
      "method": "GET",
      "path": "/v1/proxy/breach-api-7/get-breach-risk-by-domain",
      "proxy_path": "/v1/proxy/breach-api-7/get-breach-risk-by-domain",
      "proxy_url": "https://api.quickpod.org/apiquick/v1/proxy/breach-api-7/get-breach-risk-by-domain",
      "title": "Get breach risk by domain",
      "credit_cost": 0.0010,
      "rpm_limit": 60,
      "request_content_type": "",
      "response_content_type": "application/json",
      "tested": true
    }
  ]
}

Collection Object

Field Type Description
idintegerAPI collection ID.
slugstringPublic collection slug used in listing URLs and slugged proxy URLs.
statusstringdraft, published, or archived. Public routes return only published collections.
endpoint_countintegerNumber of public, tested, priced endpoints in list responses.
min_credit_costnumberLowest per-invocation endpoint price in credits.
endpointsobject[]Endpoint catalog returned by detail responses.

Endpoint Object

Field Type Description
keystringStable endpoint slug within the collection.
methodstringHTTP method required when invoking the endpoint.
pathstringPublic proxy path for public callers. Provider-owned draft views may show the source path during onboarding.
proxy_pathstringCanonical APIQuick proxy path: /v1/proxy/{collectionSlug}/{endpointKey}.
proxy_urlstringFull public URL end users should call.
credit_costnumberCredits charged per successful proxy invocation. Must be positive before publish.
rpm_limitinteger | nullOptional endpoint requests-per-minute limit enforced per API key.
testedbooleanTrue after a successful 2xx proxy invocation has been recorded.