kinlane
1/8/2016 - 5:29 AM

APIStrat Speakers

APIStrat Speakers

{
  "swagger": "2.0",
  "info": {
    "title": "APIStrat Speakers",
    "description": "This is an API for pulling al of the speakers for @APIStrat.",
    "termsOfService": "http://stack.network/terms-of-service.html",
    "version": "v2"
  },
  "host": "api.apistrat.com",
  "basePath": "/",
  "schemes": [
    "https"
  ],
  "produces": [
    "application/json"
  ],
  "paths": {
    "/speakers/": {
      "get": {
        "summary": "all speakers",
        "description": "all speakers",
        "operationId": "getspeakers",
        "parameters": [
          {
            "name": "appid",
            "in": "query",
            "description": "your appid for accessing the speakers",
            "required": true,
            "type": "string"
          },
          {
            "name": "appkey",
            "in": "query",
            "description": "your appkey for accessing the speakers",
            "required": true,
            "type": "string"
          },
          {
            "name": "query",
            "in": "query",
            "description": "a text query to search across speakers",
            "required": false,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "Speaker Response",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/speakers"
              }
            }
          }
        },
        "tags": [
          "speakers"
        ],
        "security": [
          {
            "appid": []
          },
          {
            "appkey": []
          }
        ]
      },
      "post": {
        "summary": "add a speakers",
        "description": "add a speaker",
        "operationId": "addSpeaker",
        "parameters": [
          {
            "name": "appid",
            "in": "query",
            "description": "your appid for accessing the speakers",
            "required": true,
            "type": "string"
          },
          {
            "name": "appkey",
            "in": "query",
            "description": "your appkey for accessing the speakers",
            "required": true,
            "type": "string"
          },
          {
            "name": "name",
            "in": "query",
            "description": "name of the speakers",
            "required": true,
            "type": "string"
          },
          {
            "name": "company",
            "in": "query",
            "description": "company name of the speaker",
            "required": false,
            "type": "string"
          },
          {
            "name": "twitter",
            "in": "query",
            "description": "twitter handle for the speaker",
            "required": false,
            "type": "string"
          },
          {
            "name": "url",
            "in": "query",
            "description": "url for the speaker",
            "required": false,
            "type": "string"
          },
          {
            "name": "image",
            "in": "query",
            "description": "image for the speaker",
            "required": false,
            "type": "string"
          },
          {
            "name": "slug",
            "in": "query",
            "description": "slug for the speaker",
            "required": false,
            "type": "string"
          },
          {
            "name": "events",
            "in": "query",
            "description": "events for the speaker",
            "required": false,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "Speaker Response",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/speakers"
              }
            }
          }
        },
        "tags": [
          "speakers"
        ],
        "security": [
          {
            "appid": []
          },
          {
            "appkey": []
          }
        ]
      }
    },
    "/speakers/{speaker_id}/": {
      "get": {
        "summary": "Retrieve a speakers using its slug",
        "description": "Returns the speakers detail",
        "operationId": "getSpeaker",
        "parameters": [
          {
            "name": "speaker_id",
            "in": "path",
            "description": "the unique id for speakers entry",
            "required": true,
            "type": "string",
            "format": "id"
          },
          {
            "name": "appid",
            "in": "query",
            "description": "your appid for accessing the speakers",
            "required": true,
            "type": "string"
          },
          {
            "name": "appkey",
            "in": "query",
            "description": "your appkey for accessing the speakers",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "Speaker Response",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/speakers"
              }
            }
          }
        },
        "tags": [
          "speakers"
        ],
        "security": [
          {
            "appid": []
          },
          {
            "appkey": []
          }
        ]
      },
      "put": {
        "summary": "update speaker",
        "description": "update speaker",
        "operationId": "updateSpeaker",
        "parameters": [
          {
            "name": "speaker_id",
            "in": "path",
            "description": "the unique id for speakers entry",
            "required": true,
            "type": "string",
            "format": "id"
          },
          {
            "name": "appid",
            "in": "query",
            "description": "your appid for accessing the speakers",
            "required": true,
            "type": "string"
          },
          {
            "name": "appkey",
            "in": "query",
            "description": "your appkey for accessing the speakers",
            "required": true,
            "type": "string"
          },
          {
            "name": "name",
            "in": "query",
            "description": "name of the speakers",
            "required": true,
            "type": "string"
          },
          {
            "name": "company",
            "in": "query",
            "description": "company name of the speaker",
            "required": false,
            "type": "string"
          },
          {
            "name": "twitter",
            "in": "query",
            "description": "twitter handle for the speaker",
            "required": false,
            "type": "string"
          },
          {
            "name": "url",
            "in": "query",
            "description": "url for the speaker",
            "required": false,
            "type": "string"
          },
          {
            "name": "image",
            "in": "query",
            "description": "image for the speaker",
            "required": false,
            "type": "string"
          },
          {
            "name": "slug",
            "in": "query",
            "description": "slug for the speaker",
            "required": false,
            "type": "string"
          },
          {
            "name": "events",
            "in": "query",
            "description": "events for the speaker",
            "required": false,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "Speaker Response",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/speakers"
              }
            }
          }
        },
        "tags": [
          "speakers"
        ],
        "security": [
          {
            "appid": []
          },
          {
            "appkey": []
          }
        ]
      },
      "delete": {
        "summary": "Delete Speaker",
        "description": "Delete a Speaker",
        "operationId": "deleteSpeaker",
        "parameters": [
          {
            "name": "speaker_id",
            "in": "path",
            "description": "the unique id for speakers entry",
            "required": true,
            "type": "integer",
            "format": "id"
          },
          {
            "name": "appid",
            "in": "query",
            "description": "your appid for accessing the speakers",
            "required": true,
            "type": "string"
          },
          {
            "name": "appkey",
            "in": "query",
            "description": "your appkey for accessing the speakers",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "Speaker Response",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/speakers"
              }
            }
          }
        },
        "tags": [
          "speakers"
        ],
        "security": [
          {
            "appid": []
          },
          {
            "appkey": []
          }
        ]
      }
    }
  },
  "securityDefinitions": {
    "appid": {
      "type": "apiKey",
      "name": "appid",
      "in": "query"
    },
    "appkey": {
      "type": "apiKey",
      "name": "appkey",
      "in": "query"
    }
  },
  "definitions": {
    "speakers": {
      "properties": {
        "speaker_id": {
          "description": "unique id of the speaker",
          "type": "string",
          "format": "id"
        },
        "name": {
          "description": "name of the speaker",
          "type": "string"
        },
        "company": {
          "description": "company name for the speaker",
          "type": "string"
        },
        "twitter": {
          "description": "twitter handle for the speaker",
          "type": "string"
        },
        "url": {
          "description": "url for the the speaker",
          "type": "string"
        },
        "image": {
          "description": "slug for the speaker",
          "type": "string"
        },
        "slug": {
          "description": "slug for the speaker",
          "type": "string"
        },
        "events": {
          "description": "events for the speaker",
          "type": "string"
        }
      }
    }
  }
}