Cacheflow Proposal Approvals API

The Proposal Approvals API from Cacheflow — 3 operation(s) for proposal approvals.

Business capability
Subscription Contracting BC-4240.20

Operations 4

POST /api/latest/approval-requests/{id}/actions Action an approval #
GET /api/latest/proposals/{id}/approval-requests Retrieve approval status for a proposal #
POST /api/latest/proposals/{id}/approval-requests Request approval for a proposal #
GET /api/latest/proposals/{id}/approval-requirements Retrieve approval requirements for a proposal #

Documentation

Specifications

Other Resources

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/cacheflow-proposal-approvals-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 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.

OpenAPI Specification

cacheflow-proposal-approvals-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Cacheflow Proposal Approvals API
  version: 0.0.3
servers:
- url: https://api.getcacheflow.com
  description: 'Production. Calls are tenant-routed: send Host: <org-flow-domain>.api.getcacheflow.com (per github.com/getcacheflow/api-examples SETUP.md). Host no longer resolves as of 2026-08-13.'
- url: https://api.sandbox.getcacheflow.com
  description: Sandbox. Tenant-routed as <org-flow-domain>.api.sandbox.getcacheflow.com. Host no longer resolves as of 2026-08-13.
tags:
- name: Proposal Approvals
paths:
  /api/latest/approval-requests/{id}/actions:
    post:
      tags:
      - Proposal Approvals
      summary: Action an approval
      operationId: createApprovalAction
      parameters:
      - name: id
        in: path
        required: true
        schema:
          type: string
          format: uuid
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ApprovalAction'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApprovalAction'
  /api/latest/proposals/{id}/approval-requests:
    get:
      tags:
      - Proposal Approvals
      summary: Retrieve approval status for a proposal
      operationId: getApprovalRequests
      parameters:
      - name: id
        in: path
        required: true
        schema:
          type: string
          format: uuid
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/ApprovalRequest'
    post:
      tags:
      - Proposal Approvals
      summary: Request approval for a proposal
      operationId: requestApproval
      parameters:
      - name: id
        in: path
        required: true
        schema:
          type: string
          format: uuid
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ProposalApprovalRequest'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/ApprovalRequest'
  /api/latest/proposals/{id}/approval-requirements:
    get:
      tags:
      - Proposal Approvals
      summary: Retrieve approval requirements for a proposal
      operationId: getApprovalRequirements
      parameters:
      - name: id
        in: path
        required: true
        schema:
          type: string
          format: uuid
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApprovalRequirements'
components:
  schemas:
    ApprovalRuleResult:
      type: object
      properties:
        id:
          type: string
          format: uuid
        name:
          type: string
        description:
          type: string
        ruleType:
          type: string
          enum:
          - proposalAmountDecrease
          - proposalAmount
          - proposalAttachments
          - proposalAutoRenewal
          - proposalBillingPeriods
          - proposalCountry
          - proposalCustom
          - proposalCustomTerms
          - proposalDiscountPercent
          - proposalDocusign
          - proposalDuplicateProducts
          - proposalExternalCrm
          - proposalFreeMonths
          - proposalItemQuantity
          - proposalPaymentTerms
          - proposalProductDiscountPercent
          - proposalProducts
          - proposalTermLength
        required:
          type: boolean
        groups:
          type: array
          items:
            type: string
            format: uuid
    ApprovalAction:
      type: object
      properties:
        id:
          type: string
          format: uuid
        createdAt:
          type: string
          format: date-time
          readOnly: true
        createdBy:
          type: string
        user:
          $ref: '#/components/schemas/User'
        action:
          type: string
          enum:
          - approve
          - reject
          - cancel
          - comment
        message:
          type: string
    User:
      type: object
      properties:
        id:
          type: string
          format: uuid
        createdAt:
          type: string
          format: date-time
          readOnly: true
        createdBy:
          type: string
        updatedAt:
          type: string
          format: date-time
          readOnly: true
        updatedBy:
          type: string
          readOnly: true
        username:
          type: string
        status:
          type: string
          enum:
          - pending
          - active
          - inactive
        source:
          type: string
        firstName:
          type: string
        lastName:
          type: string
        lastActiveAt:
          type: string
          format: date-time
        manager:
          $ref: '#/components/schemas/User'
    Approver:
      type: object
      properties:
        id:
          type: string
          format: uuid
        createdAt:
          type: string
          format: date-time
          readOnly: true
        createdBy:
          type: string
        userId:
          type: string
          format: uuid
        groupId:
          type: string
          format: uuid
    ApprovalRequirements:
      type: object
      properties:
        requiresApproval:
          type: boolean
        currentStatus:
          type: string
          enum:
          - pending
          - approved
          - rejected
          - canceled
        ruleResults:
          type: array
          items:
            $ref: '#/components/schemas/ApprovalRuleResult'
    ProposalApprovalRequest:
      type: object
      properties:
        message:
          type: string
    ApprovalRuleSummary:
      type: object
      properties:
        id:
          type: string
          format: uuid
        name:
          type: string
        ruleType:
          type: string
          enum:
          - proposalAmountDecrease
          - proposalAmount
          - proposalAttachments
          - proposalAutoRenewal
          - proposalBillingPeriods
          - proposalCountry
          - proposalCustom
          - proposalCustomTerms
          - proposalDiscountPercent
          - proposalDocusign
          - proposalDuplicateProducts
          - proposalExternalCrm
          - proposalFreeMonths
          - proposalItemQuantity
          - proposalPaymentTerms
          - proposalProductDiscountPercent
          - proposalProducts
          - proposalTermLength
        description:
          type: string
    ApprovalRequest:
      type: object
      properties:
        id:
          type: string
          format: uuid
        createdAt:
          type: string
          format: date-time
          readOnly: true
        createdBy:
          type: string
        updatedAt:
          type: string
          format: date-time
          readOnly: true
        updatedBy:
          type: string
          readOnly: true
        proposalId:
          type: string
          format: uuid
        requester:
          $ref: '#/components/schemas/User'
        status:
          type: string
          readOnly: true
          enum:
          - pending
          - approved
          - rejected
          - canceled
        strategy:
          type: string
          enum:
          - any
        message:
          type: string
        approvers:
          type: array
          items:
            $ref: '#/components/schemas/Approver'
        actions:
          type: array
          readOnly: true
          items:
            $ref: '#/components/schemas/ApprovalAction'
        rules:
          type: array
          items:
            $ref: '#/components/schemas/ApprovalRuleSummary'