mammoth-io Features API

The Features API from mammoth-io — 2 operation(s) for features.

Operations 4

GET /subscription/features List all features #
POST /subscription/features Create a new feature #
PUT /subscription/features/{feature_id} Update a feature #
DELETE /subscription/features/{feature_id} Delete a feature #

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/mammoth-io:mammoth-io-features-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

mammoth-io-features-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Mammoth Io Features API
  version: 0.1.0
  contact:
    name: Mammoth Analytics
    url: https://mammoth.io
    email: support@mammoth.io
  description: 'Operations tagged Features across 2 of this provider''s published API definitions: app.mammoth.io-openapi.json, mammoth-io-openapi.json. Each path carries the servers of the definition it was published in.'
servers:
- url: /api/v2
security:
- bearerAuth: []
- apiKey: []
  apiSecret: []
  workspaceId: []
tags:
- name: Features
paths:
  /subscription/features:
    get:
      tags:
      - Features
      summary: List all features
      operationId: ListFeatures
      responses:
        '200':
          description: Request fulfilled, document follows
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/FeatureListResponseSchema'
      deprecated: false
    post:
      tags:
      - Features
      summary: Create a new feature
      operationId: CreateFeature
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateFeatureRequestSchema'
        required: true
      responses:
        '201':
          description: Document created, URL follows
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/FeatureResponseSchema'
        '400':
          description: Bad request syntax or unsupported method
          content:
            application/json:
              schema:
                properties:
                  status_code:
                    type: integer
                  detail:
                    type: string
                  extra:
                    additionalProperties: {}
                    type:
                    - 'null'
                    - object
                    - array
                type: object
                required:
                - detail
                - status_code
                description: Validation Exception
                examples:
                - status_code: 400
                  detail: Bad Request
                  extra: {}
      deprecated: false
    servers:
    - url: /api/v2
  /subscription/features/{feature_id}:
    put:
      tags:
      - Features
      summary: Update a feature
      operationId: UpdateFeature
      parameters:
      - name: feature_id
        in: path
        schema:
          type: integer
        required: true
        deprecated: false
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateFeatureRequestSchema'
        required: true
      responses:
        '200':
          description: Request fulfilled, document follows
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/FeatureResponseSchema'
        '400':
          description: Bad request syntax or unsupported method
          content:
            application/json:
              schema:
                properties:
                  status_code:
                    type: integer
                  detail:
                    type: string
                  extra:
                    additionalProperties: {}
                    type:
                    - 'null'
                    - object
                    - array
                type: object
                required:
                - detail
                - status_code
                description: Validation Exception
                examples:
                - status_code: 400
                  detail: Bad Request
                  extra: {}
      deprecated: false
    delete:
      tags:
      - Features
      summary: Delete a feature
      operationId: DeleteFeature
      parameters:
      - name: feature_id
        in: path
        schema:
          type: integer
        required: true
        deprecated: false
      responses:
        '200':
          description: Request fulfilled, document follows
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MessageResponseSchema'
        '400':
          description: Bad request syntax or unsupported method
          content:
            application/json:
              schema:
                properties:
                  status_code:
                    type: integer
                  detail:
                    type: string
                  extra:
                    additionalProperties: {}
                    type:
                    - 'null'
                    - object
                    - array
                type: object
                required:
                - detail
                - status_code
                description: Validation Exception
                examples:
                - status_code: 400
                  detail: Bad Request
                  extra: {}
      deprecated: false
    servers:
    - url: /api/v2
components:
  schemas:
    FeatureResponseSchema:
      properties:
        feature:
          $ref: '#/components/schemas/subscriptions_schema_FeatureSchema'
        message:
          type: string
      type: object
      required:
      - feature
      - message
      title: FeatureResponseSchema
    CreateFeatureRequestSchema:
      properties:
        name:
          type: string
          maxLength: 128
          minLength: 2
          description: Feature name
        description:
          oneOf:
          - type: string
          - type: 'null'
          maxLength: 500
          description: Feature description
        price_per_month:
          type: number
          minimum: 0.0
          description: Monthly price in USD
          default: 0
        enabled:
          type: boolean
          description: Whether feature is enabled
          default: true
        rollout_default:
          oneOf:
          - type: string
          - type: 'null'
          description: 'How a catalog change reaches live deals that do not state this item: retroactive = follows the base plan; opt_in = the deal keeps its old value until opted in'
        kind:
          oneOf:
          - type: string
          - type: 'null'
          description: 'capacity | meter | enum | switch. Structural: it decides how every plan value stored under this key is read, and cannot be changed after creation'
        unit:
          oneOf:
          - type: string
          - type: 'null'
          maxLength: 16
          description: Display unit, e.g. GB, /mo, days
        group_name:
          oneOf:
          - type: string
          - type: 'null'
          maxLength: 32
          description: 'Scale | Access | Brand | Governance | Service. NULL means the key is NEVER GATED: granted on every plan and listed apart'
        enforcement:
          oneOf:
          - type: string
          - type: 'null'
          description: enforced | unenforced | unbuilt | unconfirmed | split | commitment. Anything but 'enforced' requires a note
        note:
          oneOf:
          - type: string
          - type: 'null'
          description: What the product actually does today. REQUIRED when enforcement is not 'enforced' — the badge alone cannot be used by the person quoting the limit
        values:
          oneOf:
          - items:
              type: string
            type: array
          - type: 'null'
          description: Allowed values for the feature
      type: object
      required:
      - name
      title: CreateFeatureRequestSchema
    FeatureListResponseSchema:
      properties:
        features:
          items:
            $ref: '#/components/schemas/subscriptions_schema_FeatureSchema'
          type: array
      type: object
      required:
      - features
      title: FeatureListResponseSchema
    subscriptions_schema_FeatureSchema:
      properties:
        id:
          type: integer
        name:
          type: string
        description:
          oneOf:
          - type: string
          - type: 'null'
        enabled:
          type: boolean
        kind:
          oneOf:
          - type: string
          - type: 'null'
          description: capacity | meter | enum | switch
        unit:
          oneOf:
          - type: string
          - type: 'null'
          description: Display unit (GB, /mo, days)
        group_name:
          oneOf:
          - type: string
          - type: 'null'
          description: Scale | Access | Brand | Governance | Service. NULL means the key is NEVER GATED — granted on every plan, listed apart from the registry
        enforcement:
          oneOf:
          - type: string
          - type: 'null'
          description: enforced | unenforced | unbuilt | unconfirmed | split | commitment
        note:
          oneOf:
          - type: string
          - type: 'null'
          description: What the product actually does today
        created_at:
          oneOf:
          - type: string
          - type: 'null'
        updated_at:
          oneOf:
          - type: string
          - type: 'null'
        used_in_profiles:
          oneOf:
          - items:
              type: string
            type: array
            default: []
          - type: 'null'
          default: []
        values:
          oneOf:
          - items:
              type: string
            type: array
          - type: 'null'
        value:
          oneOf:
          - type: string
          - type: 'null'
        profile_count:
          oneOf:
          - type: integer
            default: 0
          - type: 'null'
          default: 0
        number_of_values:
          oneOf:
          - type: integer
            default: 0
          - type: 'null'
          default: 0
      type: object
      required:
      - enabled
      - id
      - name
      title: FeatureSchema
    MessageResponseSchema:
      properties:
        message:
          type: string
      type: object
      required:
      - message
      title: MessageResponseSchema
    UpdateFeatureRequestSchema:
      properties:
        name:
          oneOf:
          - type: string
          - type: 'null'
          maxLength: 128
          minLength: 2
          description: Feature name
        description:
          oneOf:
          - type: string
          - type: 'null'
          maxLength: 500
          description: Feature description
        rollout_default:
          oneOf:
          - type: string
          - type: 'null'
          description: 'How a catalog change reaches live deals that do not state this item: retroactive = follows the base plan; opt_in = the deal keeps its old value until opted in'
        price_per_month:
          oneOf:
          - type: number
          - type: 'null'
          description: Monthly price in USD
        enabled:
          oneOf:
          - type: boolean
          - type: 'null'
          description: Whether feature is enabled
        kind:
          oneOf:
          - type: string
          - type: 'null'
          description: 'Accepted only when it repeats the stored kind: changing a kind reinterprets every plan value already stored under this key'
        unit:
          oneOf:
          - type: string
          - type: 'null'
          maxLength: 16
          description: Display unit, e.g. GB, /mo, days
        group_name:
          oneOf:
          - type: string
          - type: 'null'
          maxLength: 32
          description: 'Scale | Access | Brand | Governance | Service. NULL means the key is NEVER GATED: granted on every plan and listed apart'
        enforcement:
          oneOf:
          - type: string
          - type: 'null'
          description: enforced | unenforced | unbuilt | unconfirmed | split | commitment. Anything but 'enforced' requires a note
        note:
          oneOf:
          - type: string
          - type: 'null'
          description: What the product actually does today
        values:
          oneOf:
          - items:
              type: string
            type: array
          - type: 'null'
          description: Allowed values for the feature
      type: object
      required: []
      title: UpdateFeatureRequestSchema
  securitySchemes:
    bearerAuth:
      type: http
      description: 'Primary credential. Authorization: Bearer mm_<token>. The token is issued server-side and shown once at creation.'
      scheme: bearer
    apiKey:
      type: apiKey
      description: Deprecated — use bearerAuth.
      name: X-API-KEY
      in: header
    apiSecret:
      type: apiKey
      description: Deprecated — use bearerAuth.
      name: X-API-SECRET
      in: header
    workspaceId:
      type: apiKey
      description: Required with X-API-KEY and X-API-SECRET. Deprecated with them — use bearerAuth.
      name: X-WORKSPACE-ID
      in: header
x-refined-from:
- app.mammoth.io-openapi.json
- mammoth-io-openapi.json