SoFi Technologies · OpenAPI Overlay 1.0.0

API Evangelist enrichment overlay for the SoFi Tech Solutions Program API

5 actions 5 updates documentation extends openapi/sofi-technologies-program-api-openapi.json
Generated by API Evangelist Written by API Evangelist tooling for SoFi Technologies's API. It is a proposal applied on top of the contract, not a document SoFi Technologies publishes.
View Overlay File View on GitHub Overlay Specification

What the actions change

descriptioncontactexternalDocsx-api-evangelist-conventionsx-api-evangelist-server-notex-api-evangelist-conformance

Targets 3

$.info
$
$.servers

OpenAPI Overlay

Raw ↑
overlay: 1.0.0
info:
  title: API Evangelist enrichment overlay for the SoFi Tech Solutions Program API
  version: 1.0.0
extends: openapi/sofi-technologies-program-api-openapi.json
x-provenance:
  generated: '2026-09-06'
  method: generated
  source: >-
    Everything asserted below was read from the SoFi Tech Solutions developer hub on 2026-09-06
    and is cited to the page it came from. The harvested specification is never mutated; this
    overlay records only what API Evangelist added on top of it.
  target_note: >-
    The harvested Program API document carries info.title "Program API" and info.version "4.0"
    with no description, no contact, no externalDocs and no securitySchemes. Those absences are
    the provider's, not an artefact of the harvest.
actions:
  - target: $.info
    description: >-
      Name the publisher and point at the reference. The harvested info block does not say whose
      API this is, which is precisely the ownership problem STEP 0c exists to catch.
    update:
      description: >-
        The SoFi Tech Solutions Program API - accounts, cards, authorizations, ACH, bill pay,
        fees, adjustments and spend controls for the card issuer-processor platform operated by
        SoFi Technologies, Inc. (formerly Galileo Financial Technologies). Every operation is a
        POST with application/x-www-form-urlencoded parameters; the outcome is in the response
        body's status_code, not in the HTTP status.
      contact:
        name: SoFi Tech Solutions Pro Documentation
        url: https://docs.tech.sofi.com/pro/
  - target: $
    description: Link the specification to the human reference it was harvested from.
    update:
      externalDocs:
        description: SoFi Tech Solutions Pro API reference
        url: https://docs.tech.sofi.com/pro/reference/program-api-intro
  - target: $
    description: >-
      Record the runtime semantics that are documented on the hub but absent from the contract.
      An agent reading only the specification cannot learn any of these.
    update:
      x-api-evangelist-conventions:
        artifact: conventions/sofi-technologies-conventions.yml
        authentication:
          style: body-parameter credentials
          parameters: [apiLogin, apiTransKey, providerId, transactionId]
          bound_to: the requesting IP address
          docs: https://docs.tech.sofi.com/pro/reference/api-reference-authentication
        idempotency:
          key: transactionId
          scope: transactionId + providerId + endpoint
          retention_days: 90
          duplicate_status_code: 24
          coverage: partial
          covered_operations: 35
          total_operations: 167
          docs: https://docs.tech.sofi.com/pro/reference/idempotency
        pagination:
          request: [recordCnt, page]
          response: [total_record_count, number_of_pages, page]
          default_max_page_size: 200
          docs: https://docs.tech.sofi.com/pro/reference/record-set-paging
        error_envelope:
          format: proprietary
          code_field: status_code
          message_field: status
          detail_field: errors
          correlation_field: rtoken
          http_status_note: HTTP 200 is returned on business failures; branch on status_code.
          docs: https://docs.tech.sofi.com/pro/reference/errors
        system_time:
          zone: America/Phoenix (Arizona Standard Time, GMT-0700, no daylight saving)
          applies_to: every date and time parameter sent to or returned by the API
          docs: https://docs.tech.sofi.com/pro/reference/system-time
        rate_limits:
          production_limit_published: false
          sandbox_limit: 1000 requests per 10 minutes
          response_headers: []
          docs: https://docs.tech.sofi.com/pro/reference/rate-limits
  - target: $.servers
    description: >-
      Annotate the templated server rather than replacing it. The harvested value
      "api-{corename}.{env}.gpsrv.com/intserv/4.0/" is correct and complete - it names the real
      host shape and says which parts are per-client variables - so it is left intact and only
      described.
    update:
      x-api-evangelist-server-note: >-
        corename is the client's core name as assigned by SoFi Tech Solutions; env is cv (client
        validation) or pd (production). The shared Sandbox is reached instead at
        https://sandbox-api.gpsrv.com/intserv/4.0/. Scheme is https; the harvested value omits
        it. All non-standard URIs return 404.
  - target: $
    description: Record the standards the contract itself speaks, for the conformance artifact.
    update:
      x-api-evangelist-conformance:
        artifact: conformance/sofi-technologies-conformance.yml
        declared_in_contract: [nacha-ach, emv, rtp]
        platform_wide: [iso-8583, 3-d-secure, pci-dss]