Skip to content

Instantly share code, notes, and snippets.

@chelseasanc
Last active April 12, 2018 15:06
Show Gist options
  • Save chelseasanc/2cd74454b94fa970ab2ec48924a5daf4 to your computer and use it in GitHub Desktop.
Save chelseasanc/2cd74454b94fa970ab2ec48924a5daf4 to your computer and use it in GitHub Desktop.
swagger: "2.0"
info:
description: API for managing an environment's connectors
version: 0.1.0
title: Connector Management API
host: connectormgmt.*ui.azuqu3a.com
basePath: /api
tags:
- name: connectors
description: The connectors available in the environment
- name: live versions
description: The live connector versions in an environment
- name: connector versions
description: The available versions of a connector
- name: connector keys
description: context keys that override default connector behavior
- name: plans
description: Available plans in this environment
- name: organization connectors
description: connectors in an organization
schemes:
- http
paths:
'/connectors':
get:
tags:
- connectors
summary: gets a list of all connectors in the environment and their versions
responses:
'200':
description: OK
schema:
type: array
items:
type: object
properties:
name:
type: string
description: the unique name of the connector
versions:
type: array
description: the versions of the connector
items:
type: object
properties:
version_number:
type: string
is_active:
type: boolean
'/versions/live':
get:
tags:
- live versions
summary: gets a list of all live versions in an environment
responses:
'200':
description: OK
post:
tags:
- live versions
summary: updates the live versions of one or more connectors in an environment
parameters:
- in: path
required: true
name: name
type: string
description: Name of a particular connector
- in: body
name: version
required: true
description: The version you would like to set as the live version
schema:
type: object
required:
- 'version_number'
properties:
'version_number':
type: string
responses:
'200':
description: OK
'/connectors/{name}/versions':
get:
tags:
- connector versions
summary: Get all the available versions for a connector
parameters:
- in: path
name: name
description: the unique name of the connector
required: true
type: string
responses:
'200':
description: OK
post:
tags:
- connector versions
summary: Submit a new version of a certain connector
parameters:
- in: path
name: name
description: the unique name of the connector
required: true
type: string
- in: query
name: version
description: The semantic version number you would like to submit
required: true
type: string
- in: body
name: body
description: JSON definition of the connector
required: true
schema:
type: object
responses:
'200':
description: OK
'/connectors/{name}/versions/latest':
get:
tags:
- connector versions
summary: Get the definition of the latest version of a connector
parameters:
- in: path
name: name
type: string
required: true
responses:
'200':
description: OK
'/connectors/{name}/versions/{version}':
get:
tags:
- connector versions
summary: Get the definition of a specific version of a connector
parameters:
- in: path
name: name
type: string
required: true
- in: path
name: version
type: string
required: true
responses:
'200':
description: OK
schema:
type: object
'/organizations/{id}/connectors':
get:
tags:
- organization connectors
summary: Get all connectors in an organization.
parameters:
- in: path
name: id
type: integer
required: true
responses:
'200':
description: OK
post:
tags:
- organization connectors
summary: Add one or more connector to an organization.
parameters:
- in: path
name: id
type: integer
description: ID of organization to add connector to.
required: true
- in: body
name: name
description: The connector to add.
schema:
type: object
required:
- name
properties:
name:
type: string
responses:
'200':
description: OK
'/organizations/{id}/connectors/{name}':
delete:
tags:
- organization connectors
summary: Add a connector to an organization.
parameters:
- in: path
name: id
type: integer
description: ID of organization to remove connector from.
required: true
- in: path
name: name
type: string
description: The connector to remove.
required: true
responses:
'200':
description: OK
'/plans':
get:
tags:
- plans
summary: Get a list of available plans and metadata about each plan
responses:
'200':
description: OK
schema:
type: array
items:
type: object
properties:
name:
type: string
description: the plan name
id:
type: string
description: the ID of the plan
sets:
type: array
description: The sets associated with this plan
items:
type: string
'/plans/{id}/connectors':
get:
tags:
- plans
summary: Get all connectors in an organization.
parameters:
- in: path
name: id
type: integer
required: true
responses:
'200':
description: OK
post:
tags:
- plans
summary: Add one or more connectors to a plan.
parameters:
- in: path
name: id
type: integer
description: ID of plan to add connector to.
required: true
- in: body
name: name
description: The connector to add.
schema:
type: object
required:
- name
properties:
name:
type: string
responses:
'200':
description: OK
'/plans/{id}/connectors/{name}':
delete:
tags:
- plans
summary: Add a connector to a plan.
parameters:
- in: path
name: id
type: integer
description: ID of plan to remove connector from.
required: true
- in: path
name: name
type: string
description: The connector to remove.
required: true
responses:
'200':
description: OK
'/connectors/{name}/keys':
get:
tags:
- connector keys
summary: Get all of a connector's key sets.
parameters:
- in: path
name: name
type: string
description: Name of connector.
required: true
responses:
'200':
description: OK
post:
tags:
- connector keys
summary: Add a new key set to a connector
parameters:
- in: path
name: name
type: string
description: Name of connector.
required: true
responses:
'200':
description: OK
'/connectors/{name}/keys/{id}':
delete:
tags:
- connector keys
summary: Delete a set of keys from a particular connector.
parameters:
- in: path
name: name
type: string
description: Name of connector.
required: true
- in: path
name: id
type: integer
description: ID of key set.
required: true
responses:
'200':
description: OK
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment