Playground API — Free Stateful Mock REST & GraphQL Service Custom API

The Custom API from Playground API — Free Stateful Mock REST & GraphQL Service — 4 operation(s) for custom.

Operations 5

GET /api/v1/custom Get api custom #
POST /api/v1/custom/seed Create api custom seed #
GET /api/v1/custom/{collection} Get api custom by collection #
POST /api/v1/custom/{collection} Create api custom by collection #
DELETE /api/v1/custom/{collection}/{id} Delete api custom by collection by id #

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/playground-custom-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

playground-custom-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Playground Custom API
  version: 1.0.0
  description: Zero-config per-identity sandboxed mock REST API with relational filtering, dynamic sorting, and network simulation.
servers:
- url: http://playground-api-backend.vercel.app
  description: Default Server
tags:
- name: Custom
paths:
  /api/v1/custom:
    get:
      parameters: []
      responses:
        '200':
          description: Successful Operation
          content:
            application/json:
              example:
                totalCollections: 2
                collections:
                - name: products
                  endpoint: /custom/products
                  count: 3
                  lastUpdated: '2026-08-02T23:30:00.000Z'
                - name: orders
                  endpoint: /custom/orders
                  count: 2
                  lastUpdated: '2026-08-02T23:30:00.000Z'
      tags:
      - Custom
      summary: Get api custom
      x-summary-source: derived
      operationId: getApiV1Custom
      x-operation-id-source: derived
  /api/v1/custom/seed:
    post:
      parameters:
      - name: template
        required: false
        schema:
          type: string
      responses:
        '200':
          description: Successful Operation
          content:
            application/json:
              example:
                message: 'Seeded 5 records across custom collections: products, orders.'
                template: ecommerce
                collections:
                - products
                - orders
                totalSeeded: 5
      requestBody:
        required: true
        content:
          application/json:
            example:
              template: ecommerce
      tags:
      - Custom
      summary: Create api custom seed
      x-summary-source: derived
      operationId: postApiV1CustomSeed
      x-operation-id-source: derived
  /api/v1/custom/{collection}:
    get:
      parameters:
      - name: collection
        required: false
        schema:
          type: string
      - name: page
        required: false
        schema:
          type: string
      - name: limit
        required: false
        schema:
          type: string
      - name: q
        required: false
        schema:
          type: string
      - name: _sort
        required: false
        schema:
          type: string
      responses:
        '200':
          description: Successful Operation
          content:
            application/json:
              example:
                data:
                - id: local-a1b2c3d4
                  name: MacBook Pro M3
                  price: 2499
                  category: Laptops
                  createdAt: '2026-08-02T23:30:00.000Z'
                  _sandbox: created
                pagination:
                  page: 1
                  limit: 10
                  total: 1
                  totalPages: 1
                  hasNextPage: false
                  hasPrevPage: false
      tags:
      - Custom
      summary: Get api custom by collection
      x-summary-source: derived
      operationId: getApiV1CustomByCollection
      x-operation-id-source: derived
    post:
      parameters:
      - name: collection
        required: false
        schema:
          type: string
      responses:
        '200':
          description: Successful Operation
          content:
            application/json:
              example:
                id: local-f9e8d7c6-5432-10ab
                name: Custom Product Item
                price: 99.99
                inStock: true
                createdAt: '2026-08-02T23:30:00.000Z'
                updatedAt: '2026-08-02T23:30:00.000Z'
                _sandbox: created
      requestBody:
        required: true
        content:
          application/json:
            example:
              name: Custom Product Item
              price: 99.99
              inStock: true
      tags:
      - Custom
      summary: Create api custom by collection
      x-summary-source: derived
      operationId: postApiV1CustomByCollection
      x-operation-id-source: derived
  /api/v1/custom/{collection}/{id}:
    delete:
      parameters:
      - name: collection
        required: false
        schema:
          type: string
      - name: id
        required: false
        schema:
          type: string
      responses:
        '200':
          description: Successful Operation
          content:
            application/json:
              example:
                message: Record 'local-f9e8d7c6' removed from custom collection 'products'
      tags:
      - Custom
      summary: Delete api custom by collection by id
      x-summary-source: derived
      operationId: deleteApiV1CustomByCollectionById
      x-operation-id-source: derived