Anecdotes FedRAMP 20x Trust Center API

A three-tier API over the Anecdotes Trust Center. Public endpoints require no authentication and return Cloud Service Offering metadata, the status-page rollup, the Recommended Secure Configuration index and downloadable API documentation. An authorization tier exchanges an API key for a JWT, and gated endpoints return the full authorization package, individual Key Security Indicators, and the evidence and evidence history behind each one.

Work with this as data

Every API 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 apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • 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 API
curl "https://apis.io/api/v1/apis/anecdotes-fedramp-20x-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no email required.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

anecdotes-fedramp-20x-openapi.yml Raw ↑
openapi: 3.0.3
info:
  title: Anecdotes FedRAMP 20x Trust Center API
  version: '1.0.0'
  description: |-
    The FedRAMP 20x API exposes the contents of the Anecdotes Trust Center (https://trust.anecdotes.ai/)
    programmatically. It is divided into three tiers: public endpoints that require no authentication,
    an authorization tier that exchanges a static API key for a short-lived JWT, and gated endpoints that
    return the authorization package, Key Security Indicators (KSIs) and the evidence behind them.

    Derived by API Evangelist from the provider's own published Postman collection
    (FEDRAMP-20X-API.postman_collection.json, retrieved from the public /fedramp20x/v1/public/info
    endpoint) and the documented endpoint tables at
    https://help.anecdotes.ai/technical-setup/fedramp-20x-trust-center-and-api.
    Paths, methods, parameters, headers and content types are transcribed from those sources only;
    no response schemas were invented where the provider did not publish one.
  contact:
    name: Anecdotes
    url: https://help.anecdotes.ai/technical-setup/fedramp-20x-trust-center-and-api
    email: security@anecdotes.ai
servers:
  - url: https://api.anecdotes.ai
    description: Production
externalDocs:
  description: FedRAMP 20x - Trust Center and API
  url: https://help.anecdotes.ai/technical-setup/fedramp-20x-trust-center-and-api
tags:
  - name: Public
    description: Public Trust Center information. No authentication required.
  - name: Authorization
    description: API key to JWT exchange and token management.
  - name: Gated
    description: Authorization package, KSI and evidence endpoints. Require an approved FedRAMP user JWT.
paths:
  /fedramp20x/v1/access:
    post:
      tags: [Public]
      operationId: requestFedrampAccess
      summary: Request access
      description: >-
        Requests access to the gated FedRAMP Trust Center APIs. An email containing access information is
        sent upon approval.
      security: []
      parameters:
        - $ref: '#/components/parameters/TrustCenterUrl'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AccessRequest'
            example:
              first_name: John
              last_name: Smith
              email: john.smith@example.gov
              company: FedRAMP
              job_title: Security Analyst
      responses:
        '200':
          description: Access request outcome.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AccessRequestResult'
              example:
                invalid_email: false
                user_exists: false
                user_denied_or_revoked: false
                access_pending: true
                previous_status: null
  /fedramp20x/v1/public/info:
    get:
      tags: [Public]
      operationId: getPublicInfo
      summary: Public information (CSO)
      description: >-
        Returns public Trust Center information for the given evidence_id. With Accept application/json or
        text/csv the endpoint returns structured metadata; documents published as files (the API
        documentation and the Postman collection) are returned with Accept application/octet-stream.
      security: []
      parameters:
        - $ref: '#/components/parameters/TrustCenterUrl'
        - name: evidence_id
          in: query
          required: true
          description: >-
            Identifier for the document or section to return.
          schema:
            type: string
            enum:
              - url_2037408219127
              - builder_2666397450893
              - builder_2795822335733
              - builder_2110205339759
              - manual_2454242086620
              - manual_2578511430147
              - builder_2639056738947
          example: builder_2795822335733
      responses:
        '200':
          description: Public Trust Center information.
          content:
            application/json:
              schema:
                type: array
                items:
                  type: object
                  additionalProperties: true
              example:
                - Business Category: [Technology, GRC]
                  Contact Information: security@anecdotes.ai
                  Service Model: SaaS
                  Information Title: Public Information
                  Description: Public-facing security and compliance portal with controlled document access, NDA management, and visitor analytics.
                  Deployment Model: Public Cloud
                  Customer Support Info: support@anecdotes.ai
            text/csv:
              schema:
                type: string
            application/octet-stream:
              schema:
                type: string
                format: binary
  /identity/v1/apikey/exchange:
    get:
      tags: [Authorization]
      operationId: exchangeApiKeyFedramp
      summary: Exchange API key
      description: >-
        Exchange a static API key for a short-lived JWT, valid for 1 hour. Use the returned JWT as
        `Authorization: Bearer <token>` on the gated endpoints.
      security:
        - ApiKey: []
      parameters:
        - name: x-anecdotes-api-key
          in: header
          required: true
          description: Anecdotes API key created in the platform or the Trust Center API Token tab.
          schema:
            type: string
      responses:
        '200':
          description: JWT token string, valid for 1 hour.
          content:
            text/plain:
              schema:
                type: string
        '401':
          description: Unauthorized - API key is missing or invalid.
  /fedramp20x/v1/access/token:
    get:
      tags: [Authorization]
      operationId: listFedrampTokens
      summary: List tokens
      description: >-
        Retrieve metadata for all active tokens. Response includes id, nickname, key, created_at,
        expiration_date, is_revoked and last_used_date.
      responses:
        '200':
          description: Token metadata.
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/TokenMetadata'
            text/csv:
              schema:
                type: string
        '401':
          description: Unauthorized - JWT missing, invalid or expired.
  /fedramp20x/v1/authorization-package:
    get:
      tags: [Gated]
      operationId: getAuthorizationPackage
      summary: Get authorization package
      description: >-
        Returns the comprehensive compliance posture, including Key Security Indicators and their
        evidence mappings.
      parameters:
        - name: include_evidence_ids
          in: query
          required: false
          description: Include evidence IDs for each KSI.
          schema:
            type: boolean
            default: true
      responses:
        '200':
          description: Authorization package.
          content:
            application/json:
              schema:
                type: object
                additionalProperties: true
            application/pdf:
              schema:
                type: string
                format: binary
        '401':
          description: Unauthorized - JWT missing, invalid or expired.
        '403':
          description: Forbidden - the caller is not an approved FedRAMP user.
  /fedramp20x/v1/ksi/{ksi_code}:
    get:
      tags: [Gated]
      operationId: getKsi
      summary: Get KSI
      description: >-
        Retrieve a specific Key Security Indicator by code. The response includes
        metrics.analysis_rules_coverage.
      parameters:
        - name: ksi_code
          in: path
          required: true
          description: KSI code, for example FRR-IAM-01.
          schema:
            type: string
          example: FRR-IAM-01
      responses:
        '200':
          description: KSI detail.
          content:
            application/json:
              schema:
                type: object
                additionalProperties: true
            application/pdf:
              schema:
                type: string
                format: binary
        '401':
          description: Unauthorized - JWT missing, invalid or expired.
        '404':
          description: KSI not found.
  /fedramp20x/v1/evidence/{evidence_id}:
    get:
      tags: [Gated]
      operationId: getFedrampEvidence
      summary: Get evidence
      description: >-
        Retrieve a specific evidence artifact. File-backed evidence is downloaded with
        Accept application/octet-stream.
      parameters:
        - $ref: '#/components/parameters/EvidenceId'
        - name: version
          in: query
          required: false
          description: Full ISO 8601 datetime. Omit for the latest version.
          schema:
            type: string
            format: date-time
        - name: page
          in: query
          required: false
          description: Page number, 1-indexed. JSON responses only.
          schema:
            type: integer
            minimum: 1
            default: 1
        - name: page_size
          in: query
          required: false
          description: Items per page. JSON responses only.
          schema:
            type: integer
            minimum: 1
            maximum: 1000
            default: 100
      responses:
        '200':
          description: Evidence artifact.
          content:
            application/json:
              schema:
                type: object
                additionalProperties: true
            application/octet-stream:
              schema:
                type: string
                format: binary
        '401':
          description: Unauthorized - JWT missing, invalid or expired.
        '404':
          description: Evidence not found.
  /fedramp20x/v1/evidence/{evidence_id}/history:
    get:
      tags: [Gated]
      operationId: getFedrampEvidenceHistory
      summary: Get evidence history
      description: >-
        List the collection history for an evidence artifact. The response carries metadata, a data array
        of evidence_instance_id / collection_date / is_latest, and pagination.
      parameters:
        - $ref: '#/components/parameters/EvidenceId'
        - name: limit
          in: query
          required: false
          description: Maximum number of history entries to return.
          schema:
            type: integer
            minimum: 1
            maximum: 10000
            default: 100
        - name: from_date
          in: query
          required: false
          description: Only versions collected on or after this ISO 8601 date.
          schema:
            type: string
            format: date-time
        - name: to_date
          in: query
          required: false
          description: Only versions collected on or before this ISO 8601 date.
          schema:
            type: string
            format: date-time
      responses:
        '200':
          description: Evidence collection history.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EvidenceHistory'
        '401':
          description: Unauthorized - JWT missing, invalid or expired.
        '404':
          description: Evidence not found.
security:
  - Bearer: []
components:
  securitySchemes:
    ApiKey:
      type: apiKey
      in: header
      name: x-anecdotes-api-key
      description: Static API key. Used only for the exchange endpoint.
    Bearer:
      type: http
      scheme: bearer
      bearerFormat: JWT
      description: Short-lived JWT (1 hour) obtained from /identity/v1/apikey/exchange.
  parameters:
    TrustCenterUrl:
      name: trustcenterurl
      in: header
      required: true
      description: Host name of the Anecdotes Trust Center being queried.
      schema:
        type: string
      example: trust.anecdotes.ai
    EvidenceId:
      name: evidence_id
      in: path
      required: true
      description: Evidence artifact identifier.
      schema:
        type: string
      example: '659414963'
  schemas:
    AccessRequest:
      type: object
      required: [first_name, last_name, email, company, job_title]
      properties:
        first_name:
          type: string
          description: Requester's first name.
        last_name:
          type: string
          description: Requester's last name.
        email:
          type: string
          format: email
          description: Requester's email, for example a .gov or .mil address.
        company:
          type: string
          description: Requester's company. Should be set to "FedRAMP".
        job_title:
          type: string
          description: Requester's job title.
    AccessRequestResult:
      type: object
      properties:
        invalid_email:
          type: boolean
          description: Whether the submitted email was invalid.
        user_exists:
          type: boolean
          description: Whether a user with this email already exists.
        user_denied_or_revoked:
          type: boolean
          description: Whether the user was previously denied or had access revoked.
        access_pending:
          type: boolean
          description: Whether an access request is now pending.
        previous_status:
          type: string
          nullable: true
          description: Previous user or request status, if any.
          enum: [approved, pending_nda, denied, requested, revoked]
    TokenMetadata:
      type: object
      properties:
        id:
          type: string
        nickname:
          type: string
        key:
          type: string
        created_at:
          type: string
          format: date-time
        expiration_date:
          type: string
          format: date-time
        is_revoked:
          type: boolean
        last_used_date:
          type: string
          format: date-time
          nullable: true
    EvidenceHistory:
      type: object
      properties:
        metadata:
          type: object
          additionalProperties: true
        data:
          type: array
          items:
            type: object
            properties:
              evidence_instance_id:
                type: string
              collection_date:
                type: string
                format: date-time
              is_latest:
                type: boolean
        pagination:
          type: object
          additionalProperties: true
x-evidence:
  method: derived
  generated: '2026-07-31'
  sources:
    - https://help.anecdotes.ai/technical-setup/fedramp-20x-trust-center-and-api
    - postman/anecdotes-fedramp-20x.postman_collection.json
  verified_live:
    - url: https://api.anecdotes.ai/fedramp20x/v1/public/info?evidence_id=builder_2795822335733
      http_status: 200
      content_type: application/json
      fetched: '2026-07-31'