Upland · OpenAPI Overlay 1.0.0

API Evangelist enhancements for the Upland Developers API

12 actions 12 updates update
Derived by API Evangelist Built from the contracts Upland publishes. Upland did not publish this file.
View Overlay File View on GitHub Overlay Specification

What the actions change

x-notex-settlementx-consequencex-terminal-eventx-reversal-forcontactx-documentationx-release-notes

Targets 12

$.info
$.servers
$.paths['/properties'].get
$.paths['/containers/{containerId}/resolve'].post
$.paths['/containers/{containerId}/refund'].post
$.paths['/user/join'].post
$.paths['/containers/{containerId}/join'].post
$.paths['/rumble-tournaments/{id}/resolve'].post
$.paths['/rumble-tournaments/{id}/cancel'].post
$.paths['/v2/properties'].get
$.components.securitySchemes.basic
$.components.securitySchemes.bearer

OpenAPI Overlay

Raw ↑
overlay: 1.0.0
info:
  title: API Evangelist enhancements for the Upland Developers API
  version: 1.0.0
x-provenance:
  generated: '2026-09-02'
  method: generated
  source: openapi/upland-developers-api-openapi.json
  extends: openapi/upland-developers-api-openapi.json
  note: >-
    Captures API Evangelist's enhancements to the harvested Upland contract without mutating it. The
    original spec is preserved verbatim at openapi/_original/upland-developers-api-openapi.json.
    Every action below records something the provider's own documentation states but the contract
    does not declare — an undeclared 401, the asynchronous settlement semantics of the escrow and
    tournament writes, the reversal windows, and the sandbox server.
actions:
- target: $.info
  update:
    contact:
      name: Upland Developer Support
      url: https://support.upland.me/
    x-documentation: https://docs.developers.upland.me/upland-developers
    x-release-notes: https://docs.developers.upland.me/upland-developers/release-notes/september-21st
    x-webhooks: https://docs.developers.upland.me/upland-developers/api-definitions/webhooks-notifications
- target: $.servers
  update:
  - url: https://api.prod.upland.me/developers-api
    description: Production
  - url: https://api.sandbox.upland.me/developers-api
    description: Sandbox. Requires separate sandbox developer and player accounts; production credentials do not work here.
- target: $.paths['/properties'].get
  update:
    x-sunset: null
    x-replaced-by: PropertiesController_getPropertiesWithNextPagePagination
    x-migration-note: >-
      The replacement GET /v2/properties changes pagination from currentPage/pageSize to
      nextPageToken. Upland publishes no sunset date for this operation.
- target: $.paths['/containers/{containerId}/resolve'].post
  update:
    x-consequence: irreversible
    x-settlement: asynchronous
    x-terminal-event: TransactionFromEscrowFinal
    x-reversal: none
    x-note: >-
      Documented as final and irreversible. Once the container resolves it accepts no further
      transactions. A 2xx here confirms acceptance of the instruction, not settlement.
- target: $.paths['/containers/{containerId}/refund'].post
  update:
    x-reversal-for: EscrowController_resolve
    x-reversal-window: null
    x-note: A refund path exists but no time limit is published.
- target: $.paths['/user/join'].post
  update:
    x-settlement: asynchronous
    x-signature-window: PT10M
    x-events: [TransactionToEscrowCreated, TransactionToEscrowSigned, TransactionToEscrowFinal, TransactionToEscrowFailure, TransactionToEscrowExpired, TransactionToEscrowRejected]
    x-note: >-
      The player must sign within ten minutes or the request expires and the assets stay put.
      Blockchain ownership change is documented as taking up to three minutes after signature.
- target: $.paths['/containers/{containerId}/join'].post
  update:
    x-requires: permission-delegation
    x-note: >-
      Enabled only for developer accounts approved for the alpha Permission Delegation feature. It
      transfers assets from the developer's own account to their container and does not take an EOS ID.
- target: $.paths['/rumble-tournaments/{id}/resolve'].post
  update:
    x-consequence: irreversible
    x-settlement: asynchronous
    x-terminal-event: RumbleTournamentClosed
- target: $.paths['/rumble-tournaments/{id}/cancel'].post
  update:
    x-reversal-for: RumbleTournamentsController_create
    x-blocked-when: a participant payment is in progress on the blockchain
    x-effect: All UPX is refunded to the original owner.
- target: $.paths['/v2/properties'].get
  update:
    x-pagination: token
    x-pagination-param: nextPageToken
- target: $.components.securitySchemes.basic
  update:
    x-credential-username: Application ID
    x-credential-password: Application Secret Key
    x-rotation: Inactivate then reactivate the application; this issues a new token and breaks live integrations.
- target: $.components.securitySchemes.bearer
  update:
    bearerFormat: JWT
    x-delivery: Pushed to the application's webhook URL on the AuthenticationSuccess notification.
    x-revocation-event: UserDisconnectedApplication
x-undeclared-responses:
  note: >-
    Recorded here rather than as overlay actions because adding responses to a provider's contract
    would change what the contract claims. Every one of the 46 operations requires credentials and
    none declares a 401; a live unauthenticated GET /developers-api/cities returned
    401 {"statusCode":401,"message":"Unauthorized"} on 2026-09-02. No operation declares any 5xx.

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/upland-developers-api-overlay"
All openapi overlays
curl "https://apis.io/api/v1/overlays?limit=25"

Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.

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.