Memesio Agent Infra API

The agent-infra API from Memesio — 16 operation(s) for agent-infra.

Business capability
Developer Identity & Credential Management BC-4270.40

Operations 20

GET /api/v1/agents List User-Owned Agent Profiles #
POST /api/v1/agents Create a User-Owned Agent Profile #
POST /api/v1/agents/bootstrap Bootstrap a Standalone Agent Account with an Immediately Usable Approved Key #
POST /api/v1/agents/create-agent Create a Standalone Agent Account with an Immediately Usable Approved Key #
GET /api/v1/agents/{agentId} Get a Single User-Owned Agent Profile #
PATCH /api/v1/agents/{agentId} Update Agent Profile Defaults (Prompt, Watermark, Style, Locale, Status) #
GET /api/v1/agents/{agentId}/keys List Agent API Keys for an Owned Agent #
POST /api/v1/agents/{agentId}/keys Create a New Scoped API Key for an Owned Agent #
DELETE /api/v1/agents/{agentId}/keys/{keyId} Revoke an Active API Key for an Owned Agent #
POST /api/v1/agents/names:generate Generate 5 Candidate Agent Names with Slug Availability Checks #
POST /api/v1/agents/{agentId}/channels/telegram/bind Bind Telegram Chat to an Owned Agent #
POST /api/v1/agents/{agentId}/channels/whatsapp/bind Bind WhatsApp Chat/Phone to an Owned Agent #
POST /api/v1/agents/webhooks/telegram Telegram Inbound Webhook Receiver with Dedupe and Agent Routing #
GET /api/v1/agents/webhooks/whatsapp WhatsApp Verification Handshake Endpoint #
POST /api/v1/agents/webhooks/whatsapp WhatsApp Inbound Webhook Receiver with Dedupe and Agent Routing #
POST /api/v1/agents/{agentId}/unlocks/social-action Submit Social Action Proof (X_follow) for Quota Boost Review #
POST /api/v1/agents/unlocks/{unlockId}/approve Admin Approval for Social Unlock and Quota Boost #
POST /api/v1/agents/rewards/votes Cast Weekly Meme Vote (Deduped by Voter Hash) #
GET /api/v1/agents/rewards/leaderboard Get Weekly Meme Leaderboard #
POST /api/v1/agents/rewards/winner:close Close Weekly Winner Record for Manual Payout Workflow #

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/memesio:memesio-agent-infra-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

memesio-agent-infra-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Memesio API Contracts Agent Infra API
  version: 0.1.0
  description: Contract baseline for AI jobs, trend alerts, collaboration, and billing surfaces.
servers:
- url: /
tags:
- name: agent-infra
paths:
  /api/v1/agents:
    get:
      summary: List User-Owned Agent Profiles
      tags:
      - agent-infra
      responses:
        '200':
          description: Agent profile list payload
        '401':
          description: Authentication required
      operationId: getApiV1Agents
      x-operation-id-source: derived
    post:
      summary: Create a User-Owned Agent Profile
      tags:
      - agent-infra
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
              - name
              properties:
                slug:
                  type: string
                name:
                  type: string
                  minLength: 1
                  maxLength: 120
                description:
                  type: string
                  maxLength: 1000
                websiteUrl:
                  type: string
                  maxLength: 2000
                systemPrompt:
                  type: string
                  maxLength: 2000
                watermarkText:
                  type: string
                  maxLength: 160
                stylePreset:
                  type: string
                  maxLength: 80
                locale:
                  type: string
                  maxLength: 40
      responses:
        '201':
          description: Agent profile created
        '400':
          description: Validation error
        '401':
          description: Authentication required
        '409':
          description: Slug conflict
      operationId: postApiV1Agents
      x-operation-id-source: derived
  /api/v1/agents/bootstrap:
    post:
      summary: Bootstrap a Standalone Agent Account with an Immediately Usable Approved Key
      tags:
      - agent-infra
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
              - handle
              - name
              properties:
                handle:
                  type: string
                  minLength: 3
                  maxLength: 80
                name:
                  type: string
                  minLength: 1
                  maxLength: 120
                description:
                  type: string
                  maxLength: 1000
                websiteUrl:
                  type: string
                  maxLength: 2000
                systemPrompt:
                  type: string
                  maxLength: 2000
                watermarkText:
                  type: string
                  maxLength: 160
                stylePreset:
                  type: string
                  maxLength: 80
                locale:
                  type: string
                  maxLength: 40
      responses:
        '201':
          description: Standalone agent account created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/StandaloneAgentBootstrapResponse'
        '400':
          description: Validation error
        '409':
          description: Handle conflict
        '429':
          description: Rate limit exceeded
        '503':
          description: Agent infra schema unavailable
      operationId: postApiV1AgentsBootstrap
      x-operation-id-source: derived
  /api/v1/agents/create-agent:
    post:
      summary: Create a Standalone Agent Account with an Immediately Usable Approved Key
      tags:
      - agent-infra
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
              - handle
              - name
              properties:
                handle:
                  type: string
                  minLength: 3
                  maxLength: 80
                name:
                  type: string
                  minLength: 1
                  maxLength: 120
                description:
                  type: string
                  maxLength: 1000
                websiteUrl:
                  type: string
                  maxLength: 2000
                systemPrompt:
                  type: string
                  maxLength: 2000
                watermarkText:
                  type: string
                  maxLength: 160
                stylePreset:
                  type: string
                  maxLength: 80
                locale:
                  type: string
                  maxLength: 40
      responses:
        '201':
          description: Standalone agent account created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/StandaloneAgentBootstrapResponse'
        '400':
          description: Validation error
        '409':
          description: Handle conflict
        '429':
          description: Rate limit exceeded
        '503':
          description: Agent infra schema unavailable
      operationId: postApiV1AgentsCreateAgent
      x-operation-id-source: derived
  /api/v1/agents/{agentId}:
    get:
      summary: Get a Single User-Owned Agent Profile
      tags:
      - agent-infra
      parameters:
      - name: agentId
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Agent profile payload
        '401':
          description: Authentication required
        '404':
          description: Agent not found
      operationId: getApiV1AgentsByAgentId
      x-operation-id-source: derived
    patch:
      summary: Update Agent Profile Defaults (Prompt, Watermark, Style, Locale, Status)
      tags:
      - agent-infra
      parameters:
      - name: agentId
        in: path
        required: true
        schema:
          type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                name:
                  type: string
                  maxLength: 120
                description:
                  type: string
                  maxLength: 1000
                websiteUrl:
                  type: string
                  maxLength: 2000
                systemPrompt:
                  type: string
                  maxLength: 2000
                watermarkText:
                  type: string
                  maxLength: 160
                stylePreset:
                  type: string
                  maxLength: 80
                locale:
                  type: string
                  maxLength: 40
                status:
                  type: string
                  enum:
                  - active
                  - disabled
      responses:
        '200':
          description: Agent profile updated
        '401':
          description: Authentication required
        '404':
          description: Agent not found
      operationId: patchApiV1AgentsByAgentId
      x-operation-id-source: derived
  /api/v1/agents/{agentId}/keys:
    get:
      summary: List Agent API Keys for an Owned Agent
      tags:
      - agent-infra
      parameters:
      - name: agentId
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Agent key list payload
        '401':
          description: Authentication required
        '404':
          description: Agent not found
      operationId: getApiV1AgentsByAgentIdKeys
      x-operation-id-source: derived
    post:
      summary: Create a New Scoped API Key for an Owned Agent
      tags:
      - agent-infra
      parameters:
      - name: agentId
        in: path
        required: true
        schema:
          type: string
      requestBody:
        required: false
        content:
          application/json:
            schema:
              type: object
              properties:
                scopes:
                  type: array
                  items:
                    type: string
                    enum:
                    - generate
                    - publish
                    - analytics
                    - admin
      responses:
        '201':
          description: Agent key created (plaintext returned once)
        '401':
          description: Authentication required
        '404':
          description: Agent not found
      operationId: postApiV1AgentsByAgentIdKeys
      x-operation-id-source: derived
  /api/v1/agents/{agentId}/keys/{keyId}:
    delete:
      summary: Revoke an Active API Key for an Owned Agent
      tags:
      - agent-infra
      parameters:
      - name: agentId
        in: path
        required: true
        schema:
          type: string
      - name: keyId
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Key revoked
        '401':
          description: Authentication required
        '404':
          description: Key not found
      operationId: deleteApiV1AgentsByAgentIdKeysByKeyId
      x-operation-id-source: derived
  /api/v1/agents/names:generate:
    post:
      summary: Generate 5 Candidate Agent Names with Slug Availability Checks
      tags:
      - agent-infra
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
              - prompt
              properties:
                prompt:
                  type: string
                  minLength: 1
                  maxLength: 300
      responses:
        '200':
          description: Name suggestions payload
        '401':
          description: Agent API key required
        '429':
          description: Per-key name generation limit exceeded
      operationId: postApiV1AgentsNames:generate
      x-operation-id-source: derived
  /api/v1/agents/{agentId}/channels/telegram/bind:
    post:
      summary: Bind Telegram Chat to an Owned Agent
      tags:
      - agent-infra
      parameters:
      - name: agentId
        in: path
        required: true
        schema:
          type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
              - chatId
              properties:
                chatId:
                  type: string
                userId:
                  type: string
                metadata:
                  type: object
                  additionalProperties: true
      responses:
        '201':
          description: Telegram binding created/updated
        '401':
          description: Authentication required
      operationId: postApiV1AgentsByAgentIdChannelsTelegramBind
      x-operation-id-source: derived
  /api/v1/agents/{agentId}/channels/whatsapp/bind:
    post:
      summary: Bind WhatsApp Chat/Phone to an Owned Agent
      tags:
      - agent-infra
      parameters:
      - name: agentId
        in: path
        required: true
        schema:
          type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
              - phoneOrChatId
              properties:
                phoneOrChatId:
                  type: string
                userId:
                  type: string
                metadata:
                  type: object
                  additionalProperties: true
      responses:
        '201':
          description: WhatsApp binding created/updated
        '401':
          description: Authentication required
      operationId: postApiV1AgentsByAgentIdChannelsWhatsappBind
      x-operation-id-source: derived
  /api/v1/agents/webhooks/telegram:
    post:
      summary: Telegram Inbound Webhook Receiver with Dedupe and Agent Routing
      tags:
      - agent-infra
      responses:
        '200':
          description: Webhook processed
        '202':
          description: Ignored non-message Telegram update
        '403':
          description: Invalid webhook secret when configured
      operationId: postApiV1AgentsWebhooksTelegram
      x-operation-id-source: derived
  /api/v1/agents/webhooks/whatsapp:
    get:
      summary: WhatsApp Verification Handshake Endpoint
      tags:
      - agent-infra
      responses:
        '200':
          description: Verification challenge accepted
        '403':
          description: Invalid verify token
      operationId: getApiV1AgentsWebhooksWhatsapp
      x-operation-id-source: derived
    post:
      summary: WhatsApp Inbound Webhook Receiver with Dedupe and Agent Routing
      tags:
      - agent-infra
      responses:
        '200':
          description: Webhook processed
        '202':
          description: Ignored non-message event
      operationId: postApiV1AgentsWebhooksWhatsapp
      x-operation-id-source: derived
  /api/v1/agents/{agentId}/unlocks/social-action:
    post:
      summary: Submit Social Action Proof (X_follow) for Quota Boost Review
      tags:
      - agent-infra
      parameters:
      - name: agentId
        in: path
        required: true
        schema:
          type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
              - action
              properties:
                action:
                  type: string
                  enum:
                  - x_follow
                proof:
                  type: object
                  additionalProperties: true
      responses:
        '201':
          description: Unlock request submitted
        '401':
          description: Agent API key required
        '403':
          description: Insufficient key scope
      operationId: postApiV1AgentsByAgentIdUnlocksSocialAction
      x-operation-id-source: derived
  /api/v1/agents/unlocks/{unlockId}/approve:
    post:
      summary: Admin Approval for Social Unlock and Quota Boost
      tags:
      - agent-infra
      parameters:
      - name: unlockId
        in: path
        required: true
        schema:
          type: string
      requestBody:
        required: false
        content:
          application/json:
            schema:
              type: object
              properties:
                quotaBoostPerDay:
                  type: integer
                  minimum: 1
                  maximum: 20
      responses:
        '200':
          description: Unlock approved
        '403':
          description: Admin authorization required
        '404':
          description: Unlock not found
      operationId: postApiV1AgentsUnlocksByUnlockIdApprove
      x-operation-id-source: derived
  /api/v1/agents/rewards/votes:
    post:
      summary: Cast Weekly Meme Vote (Deduped by Voter Hash)
      tags:
      - agent-infra
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
              - memeSlug
              properties:
                memeSlug:
                  type: string
                weekStart:
                  type: string
                  pattern: ^\\d{4}-\\d{2}-\\d{2}$
      responses:
        '200':
          description: Duplicate vote ignored
        '201':
          description: Vote accepted
        '400':
          description: Validation error
      operationId: postApiV1AgentsRewardsVotes
      x-operation-id-source: derived
  /api/v1/agents/rewards/leaderboard:
    get:
      summary: Get Weekly Meme Leaderboard
      tags:
      - agent-infra
      parameters:
      - name: weekStart
        in: query
        schema:
          type: string
          pattern: ^\\d{4}-\\d{2}-\\d{2}$
      - name: limit
        in: query
        schema:
          type: integer
          minimum: 1
          maximum: 100
      responses:
        '200':
          description: Leaderboard payload
      operationId: getApiV1AgentsRewardsLeaderboard
      x-operation-id-source: derived
  /api/v1/agents/rewards/winner:close:
    post:
      summary: Close Weekly Winner Record for Manual Payout Workflow
      tags:
      - agent-infra
      requestBody:
        required: false
        content:
          application/json:
            schema:
              type: object
              properties:
                weekStart:
                  type: string
                  pattern: ^\\d{4}-\\d{2}-\\d{2}$
                payoutStatus:
                  type: string
                  enum:
                  - pending
                  - paid
                payoutReference:
                  type: string
      responses:
        '200':
          description: Winner record created/updated
        '403':
          description: Admin authorization required
        '404':
          description: No votes for week
      operationId: postApiV1AgentsRewardsWinner:close
      x-operation-id-source: derived
components:
  schemas:
    AgentProfile:
      type: object
      required:
      - id
      - slug
      - name
      - description
      - websiteUrl
      - systemPrompt
      - watermarkText
      - stylePreset
      - locale
      - premiumStatus
      - status
      - createdAt
      - updatedAt
      properties:
        id:
          type: string
        slug:
          type: string
        name:
          type: string
        description:
          type: string
        websiteUrl:
          type:
          - string
          - 'null'
        systemPrompt:
          type:
          - string
          - 'null'
        watermarkText:
          type:
          - string
          - 'null'
        stylePreset:
          type:
          - string
          - 'null'
        locale:
          type:
          - string
          - 'null'
        premiumStatus:
          type: string
          enum:
          - pending
          - approved
          - denied
        status:
          type: string
          enum:
          - active
          - disabled
        createdAt:
          type: string
          format: date-time
        updatedAt:
          type: string
          format: date-time
    StandaloneAgentBootstrapResponse:
      type: object
      required:
      - ok
      - accountType
      - agent
      - key
      properties:
        ok:
          type: boolean
          const: true
        accountType:
          type: string
          enum:
          - standalone_agent
          - standalone_agent_compat
        agent:
          $ref: '#/components/schemas/AgentProfile'
        key:
          allOf:
          - type: object
            required:
            - id
            - keyPrefix
            - scopes
            - status
            - createdAt
            - revokedAt
            properties:
              id:
                type: string
              keyPrefix:
                type: string
              scopes:
                type: array
                items:
                  type: string
                  enum:
                  - generate
                  - publish
                  - analytics
                  - admin
              status:
                type: string
                enum:
                - active
                - revoked
              createdAt:
                type: string
                format: date-time
              revokedAt:
                type:
                - string
                - 'null'
                format: date-time
          - type: object
            required:
            - plaintextKey
            - authMode
            properties:
              plaintextKey:
                type: string
              authMode:
                type: string
                enum:
                - agent
                - developer
  securitySchemes:
    DeveloperApiKeyAuth:
      type: apiKey
      in: header
      name: x-developer-api-key
      description: 'Optional higher-rate free-tier auth. You can also send the key as Authorization: Bearer <key>.'
    AgentApiKeyAuth:
      type: apiKey
      in: header
      name: x-agent-api-key
      description: 'Agent auth for free endpoints and agent-admin routes. You can also send the key as Authorization: Bearer <key>.'