Cvent Registration · OpenAPI Overlay 1.0.0

example overlay

54 actions 39 updates 15 removals servers
Authorship not recorded No authorship marker is recorded for this file. It is not presented as the provider's.
View Overlay File View on GitHub Overlay Specification

What the actions change

securityx-speakeasy-name-overridebasicHttpAuthenticationservers$refvenue-summarydoubleBedsx-speakeasy-token-endpoint-authentication

Targets 52 · first 16 shown; the file carries all of them

$
$["security"]
$["components"]["securitySchemes"]
$["paths"]["/oauth2/token"]["post"]
$["servers"]
$["paths"]["/program-items/{programItemId}/docs/{fileId}"]["put"]["responses"]["409"]["content"]["application/json"]["schema"]["$ref"]
$["paths"]["/program-items/{programItemId}/speakers/{id}"]["put"]["responses"]["409"]["content"]["application/json"]["schema"]["$ref"]
$["components"]["schemas"]["program-item-copy-responses"]["properties"]["data"]["anyOf"][1]["allOf"][0]["$ref"]
$["components"]["schemas"]["program-item-copy-responses"]["properties"]["data"]["anyOf"][1]["properties"]["details"]["items"]["$ref"]
$["components"]["schemas"]["baseErrorResponse"]
$["components"]["responses"]["BadRequest34"]["content"]["application/json"]["schema"]["$ref"]
$["components"]["responses"]["DataLimitExceeded"]["content"]["application/json"]["schema"]["$ref"]
$["components"]["responses"]["Forbidden34"]["content"]["application/json"]["schema"]["$ref"]
$["components"]["responses"]["JobLimitExceeded"]["content"]["application/json"]["schema"]["$ref"]
$["components"]["responses"]["NotFound34"]["content"]["application/json"]["schema"]["$ref"]
$["components"]["responses"]["TooManyRequests34"]["content"]["application/json"]["schema"]["$ref"]

OpenAPI Overlay

Raw ↑
overlay: 1.0.0
x-speakeasy-jsonpath: rfc9535
info:
  title: example overlay
  version: 0.0.0
actions:
  - target: $
    update:
      security:
  - target: $["security"]
    update:
      - OAuth2.clientCredentials: []
      - OAuth2.authorizationCode: []
  - target: $["components"]["securitySchemes"]
    update:
      basicHttpAuthentication:
        description: Basic HTTP Authentication
        type: http
        scheme: Basic
  - target: $["paths"]["/oauth2/token"]["post"]
    update:
      security:
        - basicHttpAuthentication: []
  - target: $["servers"]
    remove: true
  - target: $
    update:
      servers:
  - target: $["servers"]
    update:
      - url: https://api-platform.cvent.com/ea
      - url: https://api-platform-eur.cvent.com/ea
  - target: $["paths"]["/program-items/{programItemId}/docs/{fileId}"]["put"]["responses"]["409"]["content"]["application/json"]["schema"]["$ref"]
    update: "#/components/schemas/error-response"
  - target: $["paths"]["/program-items/{programItemId}/speakers/{id}"]["put"]["responses"]["409"]["content"]["application/json"]["schema"]["$ref"]
    update: "#/components/schemas/error-response"
  - target: $["components"]["schemas"]["program-item-copy-responses"]["properties"]["data"]["anyOf"][1]["allOf"][0]["$ref"]
    update: "#/components/schemas/error-response/allOf/0"
  - target: $["components"]["schemas"]["program-item-copy-responses"]["properties"]["data"]["anyOf"][1]["properties"]["details"]["items"]["$ref"]
    update: "#/components/schemas/error-response/allOf/0"
  - target: $["components"]["schemas"]["baseErrorResponse"]
    remove: true
  - target: $["components"]["responses"]["BadRequest34"]["content"]["application/json"]["schema"]["$ref"]
    update: "#/components/schemas/error-response"
  - target: $["components"]["responses"]["DataLimitExceeded"]["content"]["application/json"]["schema"]["$ref"]
    update: "#/components/schemas/error-response"
  - target: $["components"]["responses"]["Forbidden34"]["content"]["application/json"]["schema"]["$ref"]
    update: "#/components/schemas/error-response"
  - target: $["components"]["responses"]["JobLimitExceeded"]["content"]["application/json"]["schema"]["$ref"]
    update: "#/components/schemas/error-response"
  - target: $["components"]["responses"]["NotFound34"]["content"]["application/json"]["schema"]["$ref"]
    update: "#/components/schemas/error-response"
  - target: $["components"]["responses"]["TooManyRequests34"]["content"]["application/json"]["schema"]["$ref"]
    update: "#/components/schemas/error-response"
  - target: $["components"]["responses"]["Unauthorized34"]["content"]["application/json"]["schema"]["$ref"]
    update: "#/components/schemas/error-response"
  - target: $["components"]["responses"]["BadRequest35"]["content"]["application/json"]["schema"]["$ref"]
    update: "#/components/schemas/error-response"
  - target: $["components"]["responses"]["Forbidden35"]["content"]["application/json"]["schema"]["$ref"]
    update: "#/components/schemas/error-response"
  - target: $["components"]["responses"]["NotFound35"]["content"]["application/json"]["schema"]["$ref"]
    update: "#/components/schemas/error-response"
  - target: $["components"]["responses"]["Unauthorized35"]["content"]["application/json"]["schema"]["$ref"]
    update: "#/components/schemas/error-response"
  - target: $["components"]["schemas"]["supplier-summary.json"]["properties"]["supplier"]["oneOf"][0]
    update:
      $ref: "#/components/schemas/venue-summary"
  - target: $["components"]["schemas"]["supplier-summary.json"]["properties"]["supplier"]["oneOf"][0]["description"]
    remove: true
  - target: $["components"]["schemas"]["supplier-summary.json"]["properties"]["supplier"]["oneOf"][0]["type"]
    remove: true
  - target: $["components"]["schemas"]["supplier-summary.json"]["properties"]["supplier"]["oneOf"][0]["title"]
    remove: true
  - target: $["components"]["schemas"]["supplier-summary.json"]["properties"]["supplier"]["oneOf"][0]["allOf"]
    remove: true
  - target: $["components"]["schemas"]["supplier-summary.json"]["properties"]["supplier"]["oneOf"][0]["properties"]
    remove: true
  - target: $["components"]["schemas"]["supplier-summary.json"]["properties"]["supplier"]["discriminator"]["mapping"]["VENUE"]
    update: "#/components/schemas/venue-summary"
  - target: $["components"]["schemas"]
    update:
      venue-summary:
        description: Represents a summary of venue information associated with current proposal.
        type: object
        title: VenueSummary
        allOf:
          - description: Represents a supplier object.
            type: object
            title: Supplier
            properties:
              type:
                $ref: "#/components/schemas/supplier-type.json"
        properties:
          id:
            type: string
            description: The unique ID of the venue.
            example: bedc1f8e-f68b-40cf-b901-487e407f637a
          name:
            type: string
            description: The name of the venue.
            example: Hotel Grand San Francisco.
  - target: $["components"]["schemas"]["SleepingRoomRequirement"]["properties"]["double"]
    remove: true
  - target: $["components"]["schemas"]["SleepingRoomRequirement"]["properties"]
    update:
      doubleBeds:
        type: integer
        description: The number of 2 beds sleeping rooms.
        example: 10
  - target: $.components.securitySchemes["OAuth2.clientCredentials"].flows.clientCredentials
    update:
      x-speakeasy-token-endpoint-authentication: client_secret_basic
      x-speakeasy-overridable-scopes: true
  # Rename the new PascalCase CustomField schema to avoid collision with custom-field (both map to "CustomField" class name)
  - target: $["components"]["schemas"]["CustomField"]["title"]
    update: "CustomFieldSchema"
  - target: $["components"]["schemas"]["CustomField"]
    update:
      x-speakeasy-name-override: "CustomFieldSchema"
  # TypeScript barrel fix: renaming the "Attendee" schema key to "Attendee2" in June 17-18 release
  # shifted Speakeasy's collision slot numbering, orphaning attendee1.ts from the barrel index.
  # Pinning "attendee" to class "Attendee1" (its prior stable name) restores the barrel entry.
  # Safe (class name): "Attendee1" was already the published class name up to SDK Release June 3-4 —
  # the collision resolver had naturally assigned it that name. This pin preserves the existing
  # name rather than introducing a breaking rename for SDK consumers.
  # Safe (no property renames): x-speakeasy-name-override also renames any *property* in a
  # parent schema that references this schema via a named $ref (e.g. properties.attendee.$ref).
  # Since all refs to "attendee" are response body schemas or array item $refs (not named
  # properties), there are no property renames as a side effect — only the class name is affected.
  - target: $["components"]["schemas"]["attendee"]
    update:
      x-speakeasy-name-override: "Attendee1"
  # TypeScript barrel fix: new ErrorResponse2 SCIM schema (title: ErrorResponse) in July 7-8 release
  # entered the ErrorResponse collision pool, shifting collision-resolver suffixes and orphaning
  # ErrorResponse1 from the errors barrel index. Pinning "ErrorResponse" to "ErrorResponse1"
  # (its prior stable name) restores the barrel entry; pinning "ErrorResponse2" to "ErrorResponse2"
  # stabilises the new schema's name independent of pool sizing.
  - target: $["components"]["schemas"]["ErrorResponse"]
    update:
      x-speakeasy-name-override: "ErrorResponse1"
  - target: $["components"]["schemas"]["ErrorResponse2"]["title"]
    update: "ErrorResponse2"
  - target: $["components"]["schemas"]["ErrorResponse2"]
    update:
      x-speakeasy-name-override: "ErrorResponse2"
  # OAuth2 flow-split fix (API-6019): the July 22-23 published spec added the new
  # business-travel/* scopes to seven travel operations as a SECOND OAuth2.clientCredentials
  # entry instead of adding the scope to the existing entry. Two clientCredentials entries on
  # one operation trips Speakeasy's "concurrent use of multiple OAuth2 built-in security flows
  # is not currently supported" lint error and fails generation. These actions collapse each
  # split back into a single clientCredentials entry carrying both scopes.
  # Two-step per operation: remove the split security array first, then set the combined entry.
  # A plain `update` on an array APPENDS rather than replaces (see the root-security override
  # above), so the array must be removed before the single combined entry is set.
  # Remove once the developer-portal published spec combines the scopes at the source.
  - target: $["paths"]["/travel-accounts"]["get"]["security"]
    remove: true
  - target: $["paths"]["/travel-accounts"]["get"]
    update:
      security:
        - OAuth2.clientCredentials:
            - business-transient/travel-accounts:read
            - business-travel/travel-accounts:read
  - target: $["paths"]["/travel-accounts/{travelAccountId}"]["get"]["security"]
    remove: true
  - target: $["paths"]["/travel-accounts/{travelAccountId}"]["get"]
    update:
      security:
        - OAuth2.clientCredentials:
            - business-transient/travel-accounts:read
            - business-travel/travel-accounts:read
  - target: $["paths"]["/travel-programs"]["get"]["security"]
    remove: true
  - target: $["paths"]["/travel-programs"]["get"]
    update:
      security:
        - OAuth2.clientCredentials:
            - business-transient/travel-programs:read
            - business-travel/travel-programs:read
  - target: $["paths"]["/travel-programs/questions"]["get"]["security"]
    remove: true
  - target: $["paths"]["/travel-programs/questions"]["get"]
    update:
      security:
        - OAuth2.clientCredentials:
            - business-transient/travel-program-questions:read
            - business-travel/travel-program-questions:read
  - target: $["paths"]["/travel-programs/{programId}"]["get"]["security"]
    remove: true
  - target: $["paths"]["/travel-programs/{programId}"]["get"]
    update:
      security:
        - OAuth2.clientCredentials:
            - business-transient/travel-programs:read
            - business-travel/travel-programs:read
  - target: $["paths"]["/travel-programs/{programId}/questions"]["get"]["security"]
    remove: true
  - target: $["paths"]["/travel-programs/{programId}/questions"]["get"]
    update:
      security:
        - OAuth2.clientCredentials:
            - business-transient/travel-program-questions:read
            - business-travel/travel-program-questions:read
  - target: $["paths"]["/travel-programs/{programId}/questions/{questionId}"]["get"]["security"]
    remove: true
  - target: $["paths"]["/travel-programs/{programId}/questions/{questionId}"]["get"]
    update:
      security:
        - OAuth2.clientCredentials:
            - business-transient/travel-program-questions:read
            - business-travel/travel-program-questions:read

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/cvent-registration-public-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.