Wherobots apikey API

The apikey API from Wherobots — 2 operation(s) for apikey.

Operations 4

GET /apikey List API keys #
POST /apikey Create an API key #
POST /apikey/{api_key_id} Update API key expiry #
DELETE /apikey/{api_key_id} Revoke an API key #

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/wherobots-apikey-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 email required.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

wherobots-apikey-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Wherobots Cloud Apikey API
  description: "Wherobots Cloud API OpenAPI specification.\n\n    These are the API docs for the Wherobots API. You can use this to test out the API and see what it does.\n    The underlying OPENAPI spec can be found at /openapi.json. This can be used to generate clients for the API.\n\n    The Authorize button below will allow you to input an access token to authenticate to our API.\n    Then all of the requests on the page should work.\n    "
  version: 0.0.1
servers:
- url: https://api.cloud.wherobots.com
  description: Wherobots Cloud API
tags:
- name: apikey
paths:
  /apikey:
    get:
      tags:
      - apikey
      summary: List API keys
      operationId: getApiKeys
      security:
      - bearerToken: []
      - wherobotsApiKey: []
      parameters:
      - name: customerId
        in: query
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: Customerid
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/ApiKey'
                title: Response Getapikeys
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorBody'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorBody'
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorBody'
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorBody'
        '409':
          description: Conflict
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorBody'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorBody'
        '500':
          description: Internal Server Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorBody'
      x-excluded: true
    post:
      tags:
      - apikey
      summary: Create an API key
      operationId: createApiKey
      security:
      - bearerToken: []
      - wherobotsApiKey: []
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateApiKeyRequest'
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CreateApiKeyResponse'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorBody'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorBody'
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorBody'
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorBody'
        '409':
          description: Conflict
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorBody'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorBody'
        '500':
          description: Internal Server Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorBody'
      x-excluded: true
  /apikey/{api_key_id}:
    post:
      tags:
      - apikey
      summary: Update API key expiry
      operationId: updateApiKey
      security:
      - bearerToken: []
      - wherobotsApiKey: []
      parameters:
      - name: api_key_id
        in: path
        required: true
        schema:
          type: string
          title: Api Key Id
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateApiKeyRequest'
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiKey'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorBody'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorBody'
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorBody'
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorBody'
        '409':
          description: Conflict
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorBody'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorBody'
        '500':
          description: Internal Server Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorBody'
      x-excluded: true
    delete:
      tags:
      - apikey
      summary: Revoke an API key
      operationId: revokeApiKey
      security:
      - bearerToken: []
      - wherobotsApiKey: []
      parameters:
      - name: api_key_id
        in: path
        required: true
        schema:
          type: string
          title: Api Key Id
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorBody'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorBody'
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorBody'
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorBody'
        '409':
          description: Conflict
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorBody'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorBody'
        '500':
          description: Internal Server Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorBody'
      x-excluded: true
components:
  schemas:
    ApiKey:
      properties:
        id:
          type: string
          title: Id
        createTime:
          type: string
          format: date-time
          title: Createtime
        updateTime:
          type: string
          format: date-time
          title: Updatetime
        partialApiKey:
          type: string
          title: Partialapikey
          description: 'Deprecated: use `preview` instead.'
          deprecated: true
        preview:
          type: string
          title: Preview
          description: Display form of the key, e.g. `abc123...wxyz`.
        name:
          type: string
          title: Name
        valid:
          type: boolean
          title: Valid
        revoked:
          type: boolean
          title: Revoked
        expiresAt:
          type: string
          format: date-time
          title: Expiresat
        createdById:
          anyOf:
          - type: string
          - type: 'null'
          title: Createdbyid
        createdBy:
          anyOf:
          - $ref: '#/components/schemas/OrganizationCustomer'
          - type: 'null'
        ownedBy:
          anyOf:
          - $ref: '#/components/schemas/OrganizationCustomer'
          - type: 'null'
      type: object
      required:
      - id
      - createTime
      - updateTime
      - partialApiKey
      - preview
      - name
      - valid
      - revoked
      - expiresAt
      - createdById
      - createdBy
      title: ApiKey
    CreateApiKeyResponse:
      properties:
        id:
          type: string
          title: Id
        createTime:
          type: string
          format: date-time
          title: Createtime
        updateTime:
          type: string
          format: date-time
          title: Updatetime
        partialApiKey:
          type: string
          title: Partialapikey
          description: 'Deprecated: use `preview` instead.'
          deprecated: true
        preview:
          type: string
          title: Preview
          description: Display form of the key, e.g. `abc123...wxyz`.
        name:
          type: string
          title: Name
        valid:
          type: boolean
          title: Valid
        revoked:
          type: boolean
          title: Revoked
        expiresAt:
          type: string
          format: date-time
          title: Expiresat
        createdById:
          anyOf:
          - type: string
          - type: 'null'
          title: Createdbyid
        createdBy:
          anyOf:
          - $ref: '#/components/schemas/OrganizationCustomer'
          - type: 'null'
        ownedBy:
          anyOf:
          - $ref: '#/components/schemas/OrganizationCustomer'
          - type: 'null'
        key:
          type: string
          title: Key
      type: object
      required:
      - id
      - createTime
      - updateTime
      - partialApiKey
      - preview
      - name
      - valid
      - revoked
      - expiresAt
      - createdById
      - createdBy
      - key
      title: CreateApiKeyResponse
    ErrorInfo:
      properties:
        code:
          $ref: '#/components/schemas/ErrorClass'
          description: The error code
        message:
          type: string
          title: Message
          description: A human-readable message describing the error
        details:
          type: string
          title: Details
          description: Details about the error
        path:
          type: string
          title: Path
          description: The path to the field that caused the error
        suggestion:
          type: string
          title: Suggestion
          description: Suggested action to resolve the error
          default: Contact us at support@wherobots.com to get help with resolving your error.
        documentation_url:
          anyOf:
          - type: string
          - type: 'null'
          title: Documentation Url
          description: URL to related documentation
        field:
          anyOf:
          - type: string
          - type: 'null'
          title: Field
          description: The field that caused the error if applicable
      type: object
      required:
      - code
      - message
      - details
      - path
      title: ErrorInfo
    ErrorBody:
      properties:
        errors:
          items:
            $ref: '#/components/schemas/ErrorInfo'
          type: array
          title: Errors
          description: A list of errors that occurred
        requestId:
          type: string
          title: Requestid
          description: A unique identifier for the request that caused the error
      type: object
      required:
      - errors
      - requestId
      title: ErrorBody
    Role-Output:
      properties:
        id:
          type: string
          title: Id
        createTime:
          type: string
          format: date-time
          title: Createtime
        updateTime:
          type: string
          format: date-time
          title: Updatetime
        name:
          type: string
          title: Name
        organizationId:
          type: string
          title: Organizationid
        policies:
          items:
            $ref: '#/components/schemas/Policy'
          type: array
          title: Policies
      type: object
      required:
      - id
      - createTime
      - updateTime
      - name
      - organizationId
      - policies
      title: Role
    Effect:
      type: string
      enum:
      - ALLOW
      - DENY
      title: Effect
    CreateApiKeyRequest:
      properties:
        name:
          type: string
          maxLength: 50
          title: Name
        expiresAt:
          type: string
          format: date-time
          title: Expiresat
        ownedById:
          anyOf:
          - type: string
          - type: 'null'
          title: Ownedbyid
      type: object
      required:
      - name
      - expiresAt
      title: CreateApiKeyRequest
    ErrorClass:
      type: string
      enum:
      - BAD_REQUEST_ERROR
      - CONFLICT_ERROR
      - INVALID_INPUT_ERROR
      - INTERNAL_SERVER_ERROR
      - UNAUTHORIZED_ERROR
      - INSUFFICIENT_PERMISSIONS_ERROR
      - THIRD_PARTY_PERMISSIONS_ERROR
      - NOT_FOUND_ERROR
      - INSUFFICIENT_QUOTA_ERROR
      - REQUEST_ENTITY_TOO_LARGE
      - FOREIGN_CATALOG_CONNECTION_FAILED
      - RATE_LIMIT_ERROR
      - TIMEOUT_ERROR
      - ACCOUNT_NOT_PROVISIONED
      - BAD_GATEWAY_ERROR
      - GATEWAY_TIMEOUT_ERROR
      title: ErrorClass
    Provider:
      type: string
      enum:
      - WHEROBOTS
      - AWS
      title: Provider
    UpdateApiKeyRequest:
      properties:
        expiresAt:
          type: string
          format: date-time
          title: Expiresat
      type: object
      required:
      - expiresAt
      title: UpdateApiKeyRequest
    Policy:
      properties:
        id:
          anyOf:
          - type: string
          - type: 'null'
          title: Id
        createTime:
          anyOf:
          - type: string
            format: date-time
          - type: 'null'
          title: Createtime
        updateTime:
          anyOf:
          - type: string
            format: date-time
          - type: 'null'
          title: Updatetime
        provider:
          $ref: '#/components/schemas/Provider'
        locator:
          type: string
          title: Locator
        action:
          type: string
          title: Action
        effect:
          $ref: '#/components/schemas/Effect'
      type: object
      required:
      - provider
      - locator
      - action
      - effect
      title: Policy
    OrganizationCustomer:
      properties:
        id:
          type: string
          title: Id
        createTime:
          type: string
          format: date-time
          title: Createtime
        updateTime:
          type: string
          format: date-time
          title: Updatetime
        email:
          anyOf:
          - type: string
          - type: 'null'
          title: Email
        name:
          anyOf:
          - type: string
          - type: 'null'
          title: Name
        roles:
          items:
            $ref: '#/components/schemas/Role-Output'
          type: array
          title: Roles
      type: object
      required:
      - id
      - createTime
      - updateTime
      - roles
      title: OrganizationCustomer
  securitySchemes:
    bearerToken:
      type: http
      scheme: bearer
    wherobotsApiKey:
      type: apiKey
      description: A Wherobots-generated API key
      in: header
      name: X-API-Key