grafomem-com Cloud Management API

The Cloud Management API from grafomem-com — 12 operation(s) for cloud management.

Operations 13

GET /v1/cloud/tenants List Tenants #
POST /v1/cloud/tenants Create Tenant #
GET /v1/cloud/tenants/{tenant_id} Get Tenant #
POST /v1/cloud/tenants/{tenant_id}/rotate-key Rotate Key #
GET /v1/cloud/tenants/{tenant_id}/usage Get Usage #
GET /v1/cloud/tenants/{tenant_id}/compliance Get Compliance #
GET /v1/cloud/compliance/status Compliance Dashboard #
POST /v1/cloud/billing/checkout Billing Checkout #
POST /v1/cloud/billing/webhook Billing Webhook #
GET /v1/cloud/billing/subscription/{tenant_id} Get Subscription #
POST /v1/cloud/billing/cancel/{tenant_id} Cancel Subscription #
GET /v1/cloud/compliance/badge/{tenant_id}.svg Compliance Badge Svg #
GET /v1/cloud/compliance/badge/{tenant_id}.json Compliance Badge Json #

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/grafomem-com:grafomem-com-cloud-management-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

grafomem-com-cloud-management-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: GRAFOMEM Cloud Cloud Management API
  description: GMP-conformant governed agent memory platform. Provides vector-backed memory stores, multi-agent orchestration, decision trail audit logging, erasure proof certificates, governance policy evaluation, regulatory reports, webhook alerts, SSO/OIDC, and real-time SSE streaming.
  version: 1.9.0
tags:
- name: Cloud Management
paths:
  /v1/cloud/tenants:
    get:
      tags:
      - Cloud Management
      summary: List Tenants
      description: List all provisioned tenants. PLATFORM operators only. Responses carry NO api_key.
      operationId: list_tenants_v1_cloud_tenants_get
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                items:
                  $ref: '#/components/schemas/TenantResponse'
                type: array
                title: Response List Tenants V1 Cloud Tenants Get
    post:
      tags:
      - Cloud Management
      summary: Create Tenant
      description: Provision a new tenant with the specified plan. PLATFORM operators only.
      operationId: create_tenant_v1_cloud_tenants_post
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateTenantRequest'
        required: true
      responses:
        '201':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TenantCreatedResponse'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /v1/cloud/tenants/{tenant_id}:
    get:
      tags:
      - Cloud Management
      summary: Get Tenant
      description: Retrieve a single tenant by ID. PLATFORM operator, or the tenant itself. No api_key.
      operationId: get_tenant_v1_cloud_tenants__tenant_id__get
      parameters:
      - name: tenant_id
        in: path
        required: true
        schema:
          type: string
          title: Tenant Id
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TenantResponse'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /v1/cloud/tenants/{tenant_id}/rotate-key:
    post:
      tags:
      - Cloud Management
      summary: Rotate Key
      description: Revoke the current API key and issue a new one. PLATFORM operator, or the tenant itself (keys:admin).
      operationId: rotate_key_v1_cloud_tenants__tenant_id__rotate_key_post
      parameters:
      - name: tenant_id
        in: path
        required: true
        schema:
          type: string
          title: Tenant Id
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RotateKeyResponse'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /v1/cloud/tenants/{tenant_id}/usage:
    get:
      tags:
      - Cloud Management
      summary: Get Usage
      description: Retrieve aggregated usage for a tenant's billing period. PLATFORM operator, or the tenant itself.
      operationId: get_usage_v1_cloud_tenants__tenant_id__usage_get
      parameters:
      - name: tenant_id
        in: path
        required: true
        schema:
          type: string
          title: Tenant Id
      - name: period
        in: query
        required: false
        schema:
          type: string
          default: current_month
          title: Period
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UsageSummaryResponse'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /v1/cloud/tenants/{tenant_id}/compliance:
    get:
      tags:
      - Cloud Management
      summary: Get Compliance
      description: Retrieve conformance audit history for a tenant. Own tenant, or platform.
      operationId: get_compliance_v1_cloud_tenants__tenant_id__compliance_get
      parameters:
      - name: tenant_id
        in: path
        required: true
        schema:
          type: string
          title: Tenant Id
      - name: limit
        in: query
        required: false
        schema:
          type: integer
          default: 10
          title: Limit
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/AuditRecordResponse'
                title: Response Get Compliance V1 Cloud Tenants  Tenant Id  Compliance Get
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /v1/cloud/compliance/status:
    get:
      tags:
      - Cloud Management
      summary: Compliance Dashboard
      description: Global compliance dashboard — latest audit per tenant.
      operationId: compliance_dashboard_v1_cloud_compliance_status_get
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ComplianceDashboardResponse'
  /v1/cloud/billing/checkout:
    post:
      tags:
      - Cloud Management
      summary: Billing Checkout
      description: Create a Stripe Checkout Session and return the redirect URL. Own tenant, or platform.
      operationId: billing_checkout_v1_cloud_billing_checkout_post
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CheckoutRequest'
        required: true
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /v1/cloud/billing/webhook:
    post:
      tags:
      - Cloud Management
      summary: Billing Webhook
      description: 'Stripe webhook receiver.


        This endpoint is excluded from Bearer token auth — Stripe sends its own

        signature in the ``Stripe-Signature`` header.'
      operationId: billing_webhook_v1_cloud_billing_webhook_post
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
  /v1/cloud/billing/subscription/{tenant_id}:
    get:
      tags:
      - Cloud Management
      summary: Get Subscription
      description: Retrieve a tenant's current Stripe subscription. Own tenant, or platform.
      operationId: get_subscription_v1_cloud_billing_subscription__tenant_id__get
      parameters:
      - name: tenant_id
        in: path
        required: true
        schema:
          type: string
          title: Tenant Id
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SubscriptionResponse'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /v1/cloud/billing/cancel/{tenant_id}:
    post:
      tags:
      - Cloud Management
      summary: Cancel Subscription
      description: Cancel a tenant's Stripe subscription. Own tenant (keys:admin), or platform.
      operationId: cancel_subscription_v1_cloud_billing_cancel__tenant_id__post
      parameters:
      - name: tenant_id
        in: path
        required: true
        schema:
          type: string
          title: Tenant Id
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /v1/cloud/compliance/badge/{tenant_id}.svg:
    get:
      tags:
      - Cloud Management
      summary: Compliance Badge Svg
      description: Return an embeddable SVG compliance badge (shields.io style).
      operationId: compliance_badge_svg_v1_cloud_compliance_badge__tenant_id__svg_get
      parameters:
      - name: tenant_id
        in: path
        required: true
        schema:
          type: string
          title: Tenant Id
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /v1/cloud/compliance/badge/{tenant_id}.json:
    get:
      tags:
      - Cloud Management
      summary: Compliance Badge Json
      description: Shields.io endpoint schema for dynamic badge generation.
      operationId: compliance_badge_json_v1_cloud_compliance_badge__tenant_id__json_get
      parameters:
      - name: tenant_id
        in: path
        required: true
        schema:
          type: string
          title: Tenant Id
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
components:
  schemas:
    HTTPValidationError:
      properties:
        detail:
          items:
            $ref: '#/components/schemas/ValidationError'
          type: array
          title: Detail
      type: object
      title: HTTPValidationError
    RotateKeyResponse:
      properties:
        tenant_id:
          type: string
          title: Tenant Id
        new_api_key:
          type: string
          title: New Api Key
      type: object
      required:
      - tenant_id
      - new_api_key
      title: RotateKeyResponse
      description: Returned after a successful key rotation.
    UsageSummaryResponse:
      properties:
        tenant_id:
          type: string
          title: Tenant Id
        period:
          type: string
          title: Period
        writes:
          type: integer
          title: Writes
          default: 0
        reads:
          type: integer
          title: Reads
          default: 0
        deletes:
          type: integer
          title: Deletes
          default: 0
        supersedes:
          type: integer
          title: Supersedes
          default: 0
        total_bytes:
          type: integer
          title: Total Bytes
          default: 0
        total_operations:
          type: integer
          title: Total Operations
          default: 0
      type: object
      required:
      - tenant_id
      - period
      title: UsageSummaryResponse
      description: Aggregated usage for a billing period.
    CreateTenantRequest:
      properties:
        name:
          type: string
          title: Name
        plan:
          type: string
          title: Plan
          default: starter
      type: object
      required:
      - name
      title: CreateTenantRequest
      description: Request body for tenant provisioning.
    TenantCreatedResponse:
      properties:
        id:
          type: string
          title: Id
        name:
          type: string
          title: Name
        plan:
          type: string
          title: Plan
        created_at:
          type: string
          format: date-time
          title: Created At
        limits:
          $ref: '#/components/schemas/TenantLimitsResponse'
        api_key:
          type: string
          title: Api Key
      type: object
      required:
      - id
      - name
      - plan
      - created_at
      - limits
      - api_key
      title: TenantCreatedResponse
      description: 'Mint response only — carries the freshly generated `api_key` exactly once.

        The caller must store it now; it is not retrievable from any list/get afterwards.'
    AuditRecordResponse:
      properties:
        id:
          type: string
          title: Id
        tenant_id:
          type: string
          title: Tenant Id
        store_id:
          type: string
          title: Store Id
        conformance_rate:
          type: number
          title: Conformance Rate
        capabilities:
          items:
            type: string
          type: array
          title: Capabilities
        audited_at:
          type: string
          format: date-time
          title: Audited At
        report_json:
          anyOf:
          - type: string
          - type: 'null'
          title: Report Json
      type: object
      required:
      - id
      - tenant_id
      - store_id
      - conformance_rate
      - audited_at
      title: AuditRecordResponse
      description: A single conformance audit result.
    ValidationError:
      properties:
        loc:
          items:
            anyOf:
            - type: string
            - type: integer
          type: array
          title: Location
        msg:
          type: string
          title: Message
        type:
          type: string
          title: Error Type
        input:
          title: Input
        ctx:
          type: object
          title: Context
      type: object
      required:
      - loc
      - msg
      - type
      title: ValidationError
    TenantResponse:
      properties:
        id:
          type: string
          title: Id
        name:
          type: string
          title: Name
        plan:
          type: string
          title: Plan
        created_at:
          type: string
          format: date-time
          title: Created At
        limits:
          $ref: '#/components/schemas/TenantLimitsResponse'
      type: object
      required:
      - id
      - name
      - plan
      - created_at
      - limits
      title: TenantResponse
      description: 'Tenant representation for list/get. **Never carries `api_key`** — key material

        is show-once at mint/rotate only (a list/get that returned keys was the cross-tenant

        key-disclosure). See TenantCreatedResponse for the mint response.'
    ComplianceDashboardResponse:
      properties:
        tenants:
          items:
            $ref: '#/components/schemas/AuditRecordResponse'
          type: array
          title: Tenants
      type: object
      title: ComplianceDashboardResponse
      description: Global compliance status across all tenants.
    TenantLimitsResponse:
      properties:
        max_memories:
          type: integer
          title: Max Memories
        max_stores:
          type: integer
          title: Max Stores
        max_requests_per_minute:
          type: integer
          title: Max Requests Per Minute
      type: object
      required:
      - max_memories
      - max_stores
      - max_requests_per_minute
      title: TenantLimitsResponse
      description: Plan-level resource ceilings.
    SubscriptionResponse:
      properties:
        tenant_id:
          type: string
          title: Tenant Id
        plan:
          type: string
          title: Plan
        status:
          type: string
          title: Status
        stripe_subscription_id:
          anyOf:
          - type: string
          - type: 'null'
          title: Stripe Subscription Id
        current_period_end:
          anyOf:
          - type: string
          - type: 'null'
          title: Current Period End
      type: object
      required:
      - tenant_id
      - plan
      - status
      title: SubscriptionResponse
      description: Current subscription status.
    CheckoutRequest:
      properties:
        tenant_id:
          type: string
          title: Tenant Id
        plan:
          type: string
          title: Plan
          default: pro
        success_url:
          type: string
          title: Success Url
          default: https://cloud.grafomem.com/settings?upgraded=true
        cancel_url:
          type: string
          title: Cancel Url
          default: https://cloud.grafomem.com/settings
      type: object
      required:
      - tenant_id
      title: CheckoutRequest
      description: Request body for creating a Stripe Checkout session.