401GO · OpenAPI Overlay 1.0.0

API Evangelist enhancements for the 401GO API

9 actions 9 updates servers extends openapi/401go-openapi-original.json
Derived by API Evangelist Built from the contracts 401GO publishes. 401GO did not publish this file.
View Overlay File View on GitHub Overlay Specification

What the actions change

summarydescriptioncontacttermsOfServicex-apievangelist-slugx-apievangelist-harvestedx-apievangelist-spec-sourceservers

Targets 6

$.info
$
$.components.securitySchemes.oauth2
$.paths['/companies/{company_id}/submit-payroll/'].post
$.paths['/companies/{company_id}/participants/'].get
$.paths['/plan-setup/'].post

OpenAPI Overlay

Raw ↑
overlay: 1.0.0
info:
  title: API Evangelist enhancements for the 401GO API
  version: 1.0.0
extends: openapi/401go-openapi-original.json
x-generated: '2026-08-02'
x-method: generated
x-source: >-
  Derived from the verbatim spec at https://app.401go.com/api/schema/ plus the 401GO developer
  documentation at https://developer.401go.com/. Captures API Evangelist enhancements without
  mutating the harvested original.
actions:
- target: $.info
  description: >-
    Add contact, licence-free terms pointer, a real description, and API Evangelist metadata.
    The upstream info block carries only title and version.
  update:
    description: >-
      The 401GO partner REST API for retirement plan administration. Set up 401(k) plans, sync
      participant census, read plan provisions and employer match formulas, retrieve deferral
      elections and loan deductions, and submit payroll contribution files. Also exposes
      participant-facing investments, portfolios, beneficiaries, disbursements, loans,
      rollovers and retirement planning projections.
    contact:
      name: 401GO Partner Support
      email: partnersupport@401go.com
      url: https://developer.401go.com/
    termsOfService: https://401go.com/terms-and-conditions/
    x-apievangelist-slug: 401go
    x-apievangelist-harvested: '2026-08-02'
    x-apievangelist-spec-source: https://app.401go.com/api/schema/
- target: $
  description: >-
    Add the servers array. The upstream document declares no servers, so a client cannot
    resolve a base URL from the spec alone.
  update:
    servers:
    - url: https://app.401go.com/api
      description: Production
- target: $
  description: >-
    Declare the tag objects. Ten tags are used across the 72 operations but none are declared
    at the document root, so the groupings have no descriptions.
  update:
    tags:
    - {name: Affiliates & Firms, description: Advisor firms, advisors, fund lineups, pooled plans and pricing tiers.}
    - {name: Companies & Plans, description: Companies, 401(k) plan setup, plan provisions and employer match formulas.}
    - {name: Participants, description: Participant census records, setup state and lifecycle events.}
    - {name: Contributions & Payroll, description: Payroll file submission, deferral elections, match and year-to-date totals.}
    - {name: Investments & Portfolios, description: Investment options, portfolio allocations, rebalancing and performance history.}
    - {name: Money Movement, description: Disbursements, loan requests, rollovers and money movement history.}
    - {name: Beneficiaries, description: Participant beneficiary designations.}
    - {name: Retirement Planning, description: Advisor models, planning defaults and projected balance estimates.}
    - {name: Notifications, description: Participant notifications and attachments.}
    - {name: Documents, description: Participant document listing and signed download URLs.}
- target: $
  description: Apply security globally — the upstream document declares no root-level security.
  update:
    security:
    - oauth2: []
    - knoxApiToken: []
- target: $.components.securitySchemes.oauth2
  description: >-
    Annotate the OAuth surface with the real authorization-server metadata published at
    app.401go.com/api/o/.well-known/openid-configuration. The upstream scheme is declared as a
    bare http/bearer scheme, which hides the flows, endpoints and 12 scopes from tooling.
  update:
    x-oauth-flows:
      authorizationCode:
        authorizationUrl: https://app.401go.com/api/o/authorize
        tokenUrl: https://app.401go.com/api/o/token
        refreshUrl: https://app.401go.com/api/o/token
      clientCredentials:
        tokenUrl: https://app.401go.com/api/o/token
    x-openid-configuration: https://app.401go.com/api/o/.well-known/openid-configuration
    x-scopes: [openid, participant:read, participant:write, participant:billing, company:read,
      company:write, plan:read, plan:write, affiliate_firm:read, affiliate_firm:write,
      affiliate:read, affiliate:write]
    x-access-token-ttl-seconds: 3600
    x-refresh-token-ttl-seconds: 2592000
    x-docs: https://developer.401go.com/docs/authentication
- target: $.info
  description: >-
    Record the cross-cutting conventions the spec cannot express — the api-version date header,
    the custom error envelope, and the endpoint+method allow list that gates every call.
  update:
    x-versioning:
      scheme: header-date
      header: api-version
      format: YYYY-MM-DD
      granularity: per-endpoint
      docs: https://developer.401go.com/docs/versioning
    x-error-envelope:
      format: custom
      fields: [user_error_message, developer_error_detail]
      rfc9457: false
      docs: https://developer.401go.com/docs/api-errors
    x-authorization-model:
      note: >-
        Every client is granted an explicit endpoint + HTTP-method allow list. A call to an
        unlisted endpoint/method returns 403 even with a valid, correctly scoped token.
      docs: https://developer.401go.com/docs/api-endpoint-and-method-access
    x-idempotency:
      header: Idempotent-Key
      retention_hours: 24
      operations: [companies_submit_payroll_create, participants_beneficiaries_create]
- target: $.paths['/companies/{company_id}/submit-payroll/'].post
  description: Add the missing operation summary for the marquee payroll submission operation.
  update:
    summary: Submit a payroll contribution file for a company
- target: $.paths['/companies/{company_id}/participants/'].get
  description: Add the missing operation summary for the census read operation.
  update:
    summary: List participants for a company, with current deferrals and loan payments
- target: $.paths['/plan-setup/'].post
  description: Add the missing operation summary for plan creation.
  update:
    summary: Create a new company and 401(k) plan

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/401go-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.