Roadsync authenticated API
Authenticated operations not otherwise functionally categorized
Authenticated operations not otherwise functionally categorized
openapi: 3.0.1
info:
contact:
email: christo.delange@roadsync.com
description: This API allows the Roadsync clients to manage aspects of the RoadSync service via an API.
license:
name: Copyright (c) 2020, RoadSync Inc.
title: Client API v1.8 authenticated API
version: 1.8.45
x-api-id: 3ea39084-d8df-11ea-ad77-0017b600647f
x-audience: external-partner
servers:
- url: https://client-api.staging.roadsync.com/{basePath}
variables:
Product:
default: ClientApi
basePath:
default: v1
security:
- api_key: []
- session_token: []
tags:
- description: Authenticated operations not otherwise functionally categorized
name: authenticated
paths:
/logout:
get:
description: End session
operationId: logout_get
responses:
'200':
$ref: '#/components/responses/LogoutResponse'
'401':
$ref: '#/components/responses/UnauthorizedError'
'403':
$ref: '#/components/responses/ForbiddenError'
'404':
$ref: '#/components/responses/NotFound404'
'429':
$ref: '#/components/responses/TooManyRequests429'
'500':
$ref: '#/components/responses/ServiceError500'
default:
$ref: '#/components/responses/UnexpectedError'
security:
- api_key: []
- session_token: []
summary: Log user out and invalidate session token
tags:
- authenticated
options:
operationId: logout_options
responses:
'200':
$ref: '#/components/responses/Options200'
'401':
$ref: '#/components/responses/UnauthorizedError'
'403':
$ref: '#/components/responses/ForbiddenError'
'404':
$ref: '#/components/responses/NotFound404'
'429':
$ref: '#/components/responses/TooManyRequests429'
'500':
$ref: '#/components/responses/ServiceError500'
default:
$ref: '#/components/responses/UnexpectedError'
security: []
tags:
- authenticated
components:
schemas:
CodeMessage:
additionalProperties: false
description: A generic error object generally used for 500 responses
properties:
code:
$ref: '#/components/schemas/CodeEnum'
message:
$ref: '#/components/schemas/Message'
required:
- code
- message
Problem:
additionalProperties: false
properties:
detail:
description: 'A human readable explanation specific to this occurrence of the
problem.
'
example: Connection to database timed out
maxLength: 2048
pattern: /^.*$/
type: string
instance:
description: 'An absolute URI that identifies the specific occurrence of the problem.
It may or may not yield further information if dereferenced.
'
format: uri
maxLength: 2048
pattern: /^.*$/
type: string
status:
description: 'The HTTP status code generated by the origin server for this occurrence
of the problem.
'
example: 503
exclusiveMaximum: true
format: int32
maximum: 600
minimum: 100
type: integer
title:
description: 'A short, summary of the problem type. Written in english and readable
for engineers (usually not suited for non technical stakeholders and
not localized); example: Service Unavailable
'
maxLength: 256
pattern: /^.*$/
type: string
type:
default: about:blank
description: 'An absolute URI that identifies the problem type. When dereferenced,
it SHOULD provide human-readable documentation for the problem type
(e.g., using HTML).
'
example: https://problems.roadsync.com/problem/unspecified-error
format: uri
maxLength: 2048
pattern: /^.*$/
type: string
type: object
CodeEnum:
default: Success
enum:
- Success
- Error
- Exception
type: string
LogoutResponse:
additionalProperties: false
allOf:
- $ref: '#/components/schemas/CodeMessage'
type: object
Message:
maxLength: 2048
pattern: /^[a-zA-Z0-9 ]*$/
type: string
responses:
ForbiddenError:
content:
application/json:
schema:
$ref: '#/components/schemas/CodeMessage'
description: Request is completely forbidden. API not provided or method and or endpoint not supported
headers:
WWW_Authenticate:
explode: false
schema:
maxLength: 2048
pattern: /^.*$/
type: string
style: simple
ServiceError500:
content:
application/problem+json:
schema:
$ref: '#/components/schemas/Problem'
description: Service Error
UnexpectedError:
content:
application/problem+json:
schema:
$ref: '#/components/schemas/Problem'
description: unexpected error response
LogoutResponse:
content:
application/json:
schema:
$ref: '#/components/schemas/LogoutResponse'
description: A logout response
NotFound404:
content:
application/json:
schema:
$ref: '#/components/schemas/Problem'
description: 404 Not found
Options200:
content:
application/json:
schema:
additionalProperties: false
type: object
description: 200 response
headers:
Access-Control-Allow-Credentials:
explode: false
schema:
type: boolean
style: simple
Access-Control-Allow-Headers:
explode: false
schema:
maxLength: 256
pattern: ^[a-zA-Z0-9 ,]*$
type: string
style: simple
Access-Control-Allow-Methods:
explode: false
schema:
maxLength: 256
pattern: ^[a-zA-Z0-9 ,]*$
type: string
style: simple
Access-Control-Allow-Origin:
explode: false
schema:
maxLength: 256
pattern: /^.*$/
type: string
style: simple
Cache-Control:
explode: false
schema:
maxLength: 256
pattern: ^[a-zA-Z0-9 ,\-]*$
type: string
style: simple
Expires:
explode: false
schema:
maxLength: 256
pattern: ^[a-zA-Z0-9 \-]*$
type: string
style: simple
Pragma:
explode: false
schema:
maxLength: 256
pattern: ^[a-zA-Z0-9 ,]*$
type: string
style: simple
TooManyRequests429:
content:
application/json:
schema:
$ref: '#/components/schemas/Problem'
description: 429 too many requests response
UnauthorizedError:
content:
application/json:
schema:
$ref: '#/components/schemas/CodeMessage'
description: API key is missing or invalid
headers:
WWW_Authenticate:
explode: false
schema:
maxLength: 2048
pattern: /^.*$/
type: string
style: simple
securitySchemes:
api_key:
in: header
name: x-api-key
type: apiKey
x-apikeyInfoFunc: client_api_server.controllers.authorization_controller.check_api_key
session_token:
bearerFormat: JWT
scheme: bearer
type: http
x-apikeyInfoFunc: client_api_server.controllers.authorization_controller.check_session_token