Wherobots apikey API

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

OpenAPI Specification

wherobots-apikey-api-openapi.yml Raw ↑
openapi: 3.1.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:
    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
    Provider:
      type: string
      enum:
      - WHEROBOTS
      - AWS
      title: Provider
    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
    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
    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
    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
    Effect:
      type: string
      enum:
      - ALLOW
      - DENY
      title: Effect
    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
    UpdateApiKeyRequest:
      properties:
        expiresAt:
          type: string
          format: date-time
          title: Expiresat
      type: object
      required:
      - expiresAt
      title: UpdateApiKeyRequest
    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
    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
  securitySchemes:
    bearerToken:
      type: http
      scheme: bearer
    wherobotsApiKey:
      type: apiKey
      description: A Wherobots-generated API key
      in: header
      name: X-API-Key