Wherobots service API
The service API from Wherobots — 3 operation(s) for service.
The service API from Wherobots — 3 operation(s) for service.
openapi: 3.1.0
info:
title: Wherobots Cloud apikey service 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: service
paths:
/service:
get:
tags:
- service
summary: List service principals
operationId: listServicePrincipals
responses:
'200':
description: Successful Response
content:
application/json:
schema:
items:
$ref: '#/components/schemas/ServicePrincipal'
type: array
title: Response Listserviceprincipals
'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'
security:
- bearerToken: []
- wherobotsApiKey: []
x-excluded: true
/service/{service_id}:
get:
tags:
- service
summary: Get a service principal
operationId: getServicePrincipal
security:
- bearerToken: []
- wherobotsApiKey: []
parameters:
- name: service_id
in: path
required: true
schema:
type: string
title: Service Id
responses:
'200':
description: Successful Response
content:
application/json:
schema:
$ref: '#/components/schemas/ServicePrincipal'
'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
patch:
tags:
- service
summary: Update a service principal
operationId: updateServicePrincipal
security:
- bearerToken: []
- wherobotsApiKey: []
parameters:
- name: service_id
in: path
required: true
schema:
type: string
title: Service Id
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/ServicePrincipalUpdateInput'
responses:
'200':
description: Successful Response
content:
application/json:
schema:
$ref: '#/components/schemas/ServicePrincipal'
'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:
- service
summary: Delete a service principal
operationId: deleteServicePrincipal
security:
- bearerToken: []
- wherobotsApiKey: []
parameters:
- name: service_id
in: path
required: true
schema:
type: string
title: Service 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
/service/register:
post:
tags:
- service
summary: Register a new service principal
operationId: registerServicePrincipal
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/ServicePrincipalRegisterInput'
required: true
responses:
'200':
description: Successful Response
content:
application/json:
schema:
$ref: '#/components/schemas/ServicePrincipal'
'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'
security:
- bearerToken: []
- wherobotsApiKey: []
x-excluded: true
components:
schemas:
Provider:
type: string
enum:
- WHEROBOTS
- AWS
title: Provider
ServicePrincipalRegisterInput:
properties:
name:
type: string
maxLength: 200
minLength: 3
title: Name
type: object
required:
- name
title: ServicePrincipalRegisterInput
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
ServicePrincipalUpdateInput:
properties:
id:
type: string
title: Id
createTime:
type: string
format: date-time
title: Createtime
updateTime:
type: string
format: date-time
title: Updatetime
organizationId:
type: string
title: Organizationid
roles:
items:
$ref: '#/components/schemas/Role-Input'
type: array
title: Roles
policies:
items:
$ref: '#/components/schemas/Policy'
type: array
title: Policies
deletedAt:
anyOf:
- type: string
format: date-time
- type: 'null'
title: Deletedat
name:
type: string
title: Name
type: object
title: ServicePrincipalUpdateInput
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
Role-Input:
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
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
ServicePrincipal:
properties:
id:
type: string
title: Id
createTime:
type: string
format: date-time
title: Createtime
updateTime:
type: string
format: date-time
title: Updatetime
organizationId:
type: string
title: Organizationid
roles:
items:
$ref: '#/components/schemas/Role-Output'
type: array
title: Roles
policies:
items:
$ref: '#/components/schemas/Policy'
type: array
title: Policies
deletedAt:
anyOf:
- type: string
format: date-time
- type: 'null'
title: Deletedat
name:
type: string
title: Name
type: object
required:
- id
- createTime
- updateTime
- organizationId
- roles
- policies
- name
title: ServicePrincipal
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