PropertyMe · OpenAPI Overlay 1.0.0

API Evangelist enhancements for PropertyMe

3 actions 3 updates update extends openapi/propertyme-openapi.json
Generated by API Evangelist Written by API Evangelist tooling for PropertyMe's API. It is a proposal applied on top of the contract, not a document PropertyMe publishes.
View Overlay File View on GitHub Overlay Specification

What the actions change

x-apievangelist-slugx-apievangelist-repox-apievangelist-apis-ymlx-spec-formatx-spec-sourcex-spec-accessx-credential-accessx-artifacts

Targets 3

$.info
$.securityDefinitions.Bearer
$

OpenAPI Overlay

Raw ↑
overlay: 1.0.0
info:
  title: API Evangelist enhancements for PropertyMe
  version: 1.0.0
extends: openapi/propertyme-openapi.json
x-generated: '2026-07-26'
x-method: generated
x-source: >-
  API Evangelist enrichment round 2026-07-26. Captures our annotations over PropertyMe's published
  Swagger 2.0 document without mutating it. The base document is genuinely Swagger 2.0 despite being
  served at a path named openapi.json, so JSONPath targets below address Swagger 2.0 structures
  (securityDefinitions, definitions) rather than OpenAPI 3 components.
actions:
  - target: $.info
    description: Record the API Evangelist provenance and the surrounding artifact set.
    update:
      x-apievangelist-slug: propertyme
      x-apievangelist-repo: https://github.com/api-evangelist/propertyme
      x-apievangelist-apis-yml: https://raw.githubusercontent.com/api-evangelist/propertyme/refs/heads/main/apis.yml
      x-spec-format: swagger-2.0
      x-spec-source: https://app.propertyme.com/api/openapi.json
      x-spec-access: anonymous
      x-credential-access: issued-by-provider
      x-artifacts:
        authentication: authentication/propertyme-authentication.yml
        scopes: scopes/propertyme-scopes.yml
        conventions: conventions/propertyme-conventions.yml
        errors: errors/propertyme-problem-types.yml
        data_model: data-model/propertyme-data-model.yml
        lifecycle: lifecycle/propertyme-lifecycle.yml
        conformance: conformance/propertyme-conformance.yml
        mcp: mcp/propertyme-mcp.yml
        skills: skills/_index.yml
        agentic_access: agentic-access/propertyme-agentic-access.yml
  - target: $.securityDefinitions.Bearer
    description: >-
      Correct the understated security definition. The published document types this as apiKey; it is
      an OpenID Connect bearer token issued by login.propertyme.com, not a static API key.
    update:
      x-actual-scheme: openIdConnect
      x-openIdConnectUrl: https://login.propertyme.com/.well-known/openid-configuration
      x-issuer: https://login.propertyme.com
      x-token-endpoint: https://login.propertyme.com/connect/token
      x-authorization-endpoint: https://login.propertyme.com/connect/authorize
      x-scopes-artifact: scopes/propertyme-scopes.yml
      x-self-serve-registration: false
  - target: $
    description: Record the cross-cutting semantics the base document leaves implicit or omits entirely.
    update:
      x-apievangelist-conventions:
        change_detection:
          style: change-since-polling
          param: Timestamp
          type: int64
          required: true
          operations: 6
        pagination:
          style: offset-limit
          params: [Offset, Limit]
          operations: 12
          total_count: false
          cursor: false
          next_link: false
        idempotency:
          supported: false
          note: >-
            No Idempotency-Key or client-reference parameter exists on any write, including
            POST /v1/bills against the trust accounting ledger.
        request_tracing:
          request_id_header: null
        rate_limiting:
          documented: false
          declared_429: false
        errors:
          problem_json: false
          envelope: success schema reused for 4xx/5xx
          declared_statuses: [200, 202, 400, 500, 502]
          note: 502 is used for missing required query parameters on the dashboard and task collections.
        webhooks:
          supported: false
        conditional_requests:
          etag: false
          last_modified: false
      x-apievangelist-tenancy:
        model: single connected customer portfolio per token
        disconnect_operation: DisconnectPortfolioRequestportfoliosdisconnect_Delete
        note: >-
          No customer or portfolio path parameter exists — the token carries the portfolio, and the
          agency can sever the connection at any time.
      x-apievangelist-versioning:
        scheme: uri-path
        live: [v1, v2]
        v2_resource: jobtasks
        deprecated_operations: 0
        sunset_header: false