Hustle · OpenAPI Overlay 1.0.0

API Evangelist enhancements for Hustle Public API

4 actions 4 updates update extends openapi/_original/hustle-openapi-original.json
Derived by API Evangelist Built from the contracts Hustle publishes. Hustle did not publish this file.
View Overlay File View on GitHub Overlay Specification

What the actions change

x-apievangelist-notesx-apievangelist-ratingx-apievangelist-recommendationsx-agent-ready

Targets 3

$.info
$
$.paths['/messages/{id}'].get

OpenAPI Overlay

Raw ↑
overlay: 1.0.0
info:
  title: API Evangelist enhancements for Hustle Public API
  version: 1.0.0
extends: openapi/_original/hustle-openapi-original.json
actions:
- target: $.info
  update:
    x-apievangelist-rating: 3
    x-apievangelist-notes: >-
      OAuth2 client-credentials, cursor pagination, HMAC-signed webhooks, and a
      shared error envelope are well modeled. Gaps: no components.securitySchemes
      block (auth is only in prose), no operationIds, and errors are custom JSON
      rather than RFC 9457 problem+json.
- target: $
  update:
    x-apievangelist-recommendations:
    - Declare components.securitySchemes with an oauth2 clientCredentials flow and apply it via a top-level security[] requirement.
    - Add unique operationIds to every operation to make the spec generation- and agent-friendly.
    - Adopt application/problem+json (RFC 9457) for the ErrorResponse envelope.
    - Publish an enumerated scope catalog for the returned token `scope`.
    - Declare a 429 response and RateLimit-*/Retry-After response headers so the documented 25 req/s ceiling is machine-readable.
    - Enumerate MessageStatus.status terminal values and MessageStatus.errorCode codes instead of deferring to unpublished "messaging webhooks docs".
    - Publish a Thread resource (or drop threadId), which is currently emitted but not resolvable through the Public API.
    - Serve an RFC 8414 /.well-known/oauth-authorization-server document so the token endpoint is discoverable without reading prose docs.
- target: $.info
  update:
    x-agent-ready:
      idempotency: 'POST /leads upsert by (organizationId, phoneNumber)'
      pagination: cursor/limit -> items/cursor/hasMore
      webhooks: 'consentUpdate-v1, messageStatus-v1 (HMAC signed)'
      rate_limits: '25 req/s per account; no RateLimit-* headers, no 429 declared'
- target: $.paths['/messages/{id}'].get
  update:
    x-apievangelist-notes: >-
      Read-only delivery-status lookup. `status` is deliberately an open string
      (the carrier terminal set evolves) and `errorCode` is only present on
      failure — agents must treat the value space as unbounded and log
      unrecognized values rather than branching on a closed enum.

Work with this as data

Every overlay here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for openapi overlays

4 MCP tools reach this
  • find_overlaysBrowse and filter every overlay in the catalog.
  • 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.
All 92 tools →

Call it yourself

curl for this page
This overlay
curl "https://apis.io/api/v1/overlays/hustle-public-api-overlay"
All openapi overlays
curl "https://apis.io/api/v1/overlays?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API 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.