Offerpad · Authentication Profile

Offerpad Authentication

Authentication

Offerpad secures its APIs with http, oauth2, and openIdConnect across 3 declared security schemes, as derived from its OpenAPI definitions. OAuth 2.0 is offered via the authorizationCode flow(s).

Real EstateUnited StatesiBuyerPropTechProperty ListingsBrokerageMLSCash OfferRenovationHome Buying
Methods: http, oauth2, openIdConnect Schemes: 3 OAuth flows: authorizationCode API key in:

Security Schemes

applicationPasswords http
scheme: basic
offerpadHelixOAuth oauth2
· flows: authorizationCode
offerpadOkta openIdConnect

Source

Authentication Profile

Raw ↑
generated: '2026-07-26'
method: searched
source: >-
  Live probes: https://www.offerpad.com/wp-json/ discovery document,
  https://helix.offerpad.com/.well-known/oauth-authorization-server,
  https://offerpad.okta.com/oauth2/ausftur6n2aTu6Sur357/.well-known/openid-configuration,
  and openapi/offerpad-wordpress-wp-v2-openapi.yml
summary:
  types:
    - http
    - oauth2
    - openIdConnect
  api_key_in: []
  oauth2_flows:
    - authorizationCode
  self_serve: false
  note: >-
    Offerpad publishes no developer authentication documentation, no API key programme and
    no client registration path. Both auth surfaces below were discovered by probing, not
    from developer docs. Neither grants access to any real estate, listing, valuation or
    transaction capability on a self-serve basis.
schemes:
  - name: applicationPasswords
    type: http
    scheme: basic
    surface: Offerpad WordPress REST API
    sources:
      - openapi/offerpad-wordpress-wp-v2-openapi.yml
      - openapi/offerpad-wp-json-discovery.json
    description: >-
      WordPress application passwords, advertised in the wp-json discovery document under
      authentication.application-passwords. Credentials are issued interactively at
      https://www.offerpad.com/wp-admin/authorize-application.php and sent as HTTP Basic.
      Required for every write route and for reads in the edit context; anonymous callers
      get the view context only. Issuance requires an Offerpad WordPress account — there is
      no self-serve signup, so this is effectively staff-only.
    authorization_endpoint: https://www.offerpad.com/wp-admin/authorize-application.php
    anonymous_read: true
    evidence:
      - {source: 'https://www.offerpad.com/wp-json/', status: 200, finding: 'authentication.application-passwords.endpoints.authorization present'}
      - {source: 'https://www.offerpad.com/wp-json/wp/v2/settings', status: 401, finding: '{"code":"rest_forbidden","message":"Sorry, you are not allowed to do that.","data":{"status":401}}'}
  - name: offerpadHelixOAuth
    type: oauth2
    surface: Offerpad Helix customer backend (private)
    sources:
      - well-known/offerpad-helix-oauth-authorization-server.json
    description: >-
      The private customer backend at https://helix.offerpad.com serves an RFC 8414
      authorization-server metadata document anonymously. It delegates to an Okta custom
      authorization server. Public clients (the Offerpad Connect SPA and the Offerpad mobile
      apps) use authorization code with S256 PKCE; there is no public client registration,
      so third parties cannot obtain a client_id.
    flows:
      - flow: authorizationCode
        issuer: https://offerpad.okta.com/oauth2/ausftur6n2aTu6Sur357
        authorizationUrl: https://offerpad.okta.com/oauth2/ausftur6n2aTu6Sur357/v1/authorize
        tokenUrl: https://offerpad.okta.com/oauth2/ausftur6n2aTu6Sur357/v1/token
        scopes:
          openid: Issue an OpenID Connect ID token for the signed-in Offerpad customer.
          profile: Basic profile claims for the signed-in customer.
          email: Email address and verification status for the signed-in customer.
    grant_types_supported:
      - authorization_code
      - refresh_token
    code_challenge_methods_supported:
      - S256
    token_endpoint_auth_methods_supported:
      - client_secret_post
      - client_secret_basic
    evidence:
      - {source: 'https://helix.offerpad.com/.well-known/oauth-authorization-server', status: 200}
  - name: offerpadOkta
    type: openIdConnect
    surface: Offerpad customer identity (Okta)
    openIdConnectUrl: https://offerpad.okta.com/oauth2/ausftur6n2aTu6Sur357/.well-known/openid-configuration
    sources:
      - well-known/offerpad-okta-openid-configuration.json
      - well-known/offerpad-okta-org-openid-configuration.json
    description: >-
      Full OpenID Connect Discovery 1.0 metadata, served anonymously. Endpoints: authorize,
      token, userinfo, jwks, introspect, revoke, end_session, device authorize, and pushed
      authorization requests (PAR). ID tokens are RS256 signed; DPoP signing algorithms are
      advertised. 32 standard claims are supported. The Okta org-level issuer
      (https://offerpad.okta.com) is also discoverable and adds a groups scope.
    endpoints:
      authorization: https://offerpad.okta.com/oauth2/ausftur6n2aTu6Sur357/v1/authorize
      token: https://offerpad.okta.com/oauth2/ausftur6n2aTu6Sur357/v1/token
      userinfo: https://offerpad.okta.com/oauth2/ausftur6n2aTu6Sur357/v1/userinfo
      jwks: https://offerpad.okta.com/oauth2/ausftur6n2aTu6Sur357/v1/keys
      introspection: https://offerpad.okta.com/oauth2/ausftur6n2aTu6Sur357/v1/introspect
      revocation: https://offerpad.okta.com/oauth2/ausftur6n2aTu6Sur357/v1/revoke
      end_session: https://offerpad.okta.com/oauth2/ausftur6n2aTu6Sur357/v1/logout
      device_authorization: https://offerpad.okta.com/oauth2/ausftur6n2aTu6Sur357/v1/device/authorize
      pushed_authorization_request: https://offerpad.okta.com/oauth2/ausftur6n2aTu6Sur357/v1/par
      registration: https://offerpad.okta.com/oauth2/v1/clients
    id_token_signing_alg_values_supported:
      - RS256
    dpop_signing_alg_values_supported:
      - RS256
      - RS384
      - RS512
      - ES256
      - ES384
      - ES512
    evidence:
      - {source: 'https://offerpad.okta.com/oauth2/ausftur6n2aTu6Sur357/.well-known/openid-configuration', status: 200}
      - {source: 'https://offerpad.okta.com/.well-known/openid-configuration', status: 200}
not_found:
  - api_keys: No API key programme, key management console or key documentation exists on any Offerpad host.
  - mutual_tls: No mTLS surface advertised.
  - partner_auth: >-
      The Direct+, Powered By Offerpad, homebuilder and vendor partner programmes are gated
      behind intake forms and an NDA; no programmatic credential is described anywhere.