Memesio agent-infra API

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

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-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
    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
  /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
  /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
  /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
    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
  /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
    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
  /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
  /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
  /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
  /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
  /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
  /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
    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
  /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
  /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
  /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
  /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
  /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
components:
  schemas:
    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
    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
  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>.'