Documenting APIs with Swagger. TC Camp. Peter Gruenbaum

Size: px
Start display at page:

Download "Documenting APIs with Swagger. TC Camp. Peter Gruenbaum"

Transcription

1 Documenting APIs with Swagger TC Camp Peter Gruenbaum

2 Introduction } Covers } What is an API Definition? } YAML } Open API Specification } Writing Documentation } Generating Documentation } Alternatives to Swagger and the Open API Specification } Presentation and workbook at sdkbridge.com/downloads

3 Peter Gruenbaum } } PhD in Applied Physics from Stanford Commercial Software Developer } } } API Writer } } } } Boeing, Microsoft, start-ups C#, C++, Java, JavaScript, Objective-C Brought together writing and technology Since 2003 President of SDK Bridge Teacher: Programming at middle, high school, and college

4 API Definition } Swagger and the Open API Specification are ways to define an API } What is an API? } What can you do with an API definition?

5 What are APIs? } Application Programming Interface } It defines how two pieces of software talk to each other } For this seminar, we are talking about Web APIs

6 Web APIs API request Creative Commons Attribution 3.0. webdesignhot.com Not a full web page just the data! API response Creative Commons Attribution 3.0. openclipart.org The API definition describes: What requests are available What the response looks like for each request

7 REST } Swagger and the Open API Specification are designed for RESTful APIs } REST is a type of web API REpresentational State Transfer

8 REST Requests and Responses API request Please send me the state of my feed API response I am transferring to you some data that represents the state of your feed

9 How many public APIs are there?

10 API Definition File } File describes all the things you can do with an API } Lists every request you can make } Tells you how to make that request } Tells you what the response will look like

11 Why Create an API Definition? } Lets you design the API before implementing it } Helps with automated testing } Automatically create code in several languages } Can be used to automatically generate documentation } Documentation can be interactive

12 Swagger } Historically, Swagger was a specification for how to create an API definition file } After a new version (Swagger 2.0), the specification became the Open API Specification (OAS) } Swagger is now a collection of tools that use the Open API Specification } Many people still refer to OAS as Swagger

13 Open API Initiative } The Open API Initiative (OAI) is an organization created by a consortium of industry experts } Focused on creating, evolving, and promoting a vendor neutral description format. } It is in charge of the Open API Specification, but not in charge of any tools that use it } I will show you version 2.0, and talk about 3.0

14 Swagger Tools Swagger provides several tools: } Swagger Editor: Helps you write OAS files } Swagger CodeGen: Generates code in popular languages for using your API } Swagger UI: Generates documentation from OAS files } SwaggerHub: Hosted platform for designing and documenting APIs

15 Documentation example placeholder }

16 YAML Open API Specification Format Documenting APIs with Swagger

17 Open API Specification } You can use one of two data formats for OAS: } YAML } JSON } For this seminar, I ll use YAML

18 YAML } Stands foryaml Ain t Markup Language } It s not a Markup Language like HTML } Used for structured data instead of free-form content } Compared to JSON and XML, it minimizes characters } It's most often used for configuration files, rather than files passed over the web, like JSON

19 Key/value pairs } Key/value pairs are indicated by a colon followed by a space date: firstname: Peter

20 Levels } Levels are indicated by white space indenting } Cannot be a tab indent XML <name> <firstname>peter</firstname> <lastname>gruenbaum</lastname> </name> JSON name: { "firstname": "Peter" "lastname": "Gruenbaum" } YAML name: firstname: Peter lastname: Gruenbaum

21 Types } Types are determined from context } Example: string part_no: A4786 description: Photoresistor price: 1.47 float quantity: 4 integer

22 Quotes } In general, you don t need quotes around strings } Exception: something that will be interpreted as a number or boolean price: version: "11.47" company: SDK Bridge float string } Quotes can be either single ' or double "

23 Lists } Use a dash to indicate a list item } You don t need to declare the list cart: - part_no: A4786 description: Photoresistor price: 1.47 quantity: 4 - part_no: B3443 description: LED color: blue price: 0.29 quantity: 12

24 Multi-line strings } Because there are no quotation marks on strings, you need special characters for multiline strings } means preserve lines and spaces } > means fold lines } There are variations: -, +, etc. speech: Four score and seven years ago speech: > Four score and seven years ago Four score and seven years ago Four score and seven years ago

25 Comments } Comments are denoted with the # } Everything after # is ignored # LED part_no: B3443 description: LED color: blue price: 0.29 # US Dollars quantity: 12

26 Schemas } Although not officially part of YAML, OAS uses references for schemas } Used for request and response bodies } Use $ref to indicate a reference } Typically put the schema in a definitions section

27 Schema example schema: $ref: '#/definitions/user'... definitions: user: required: - username - id properties: username: type: string id: type: integer format: int64

28 Exercise 1: YAML } Write some simple YAML } Follow along in exercise book } Electronic copy available at sdkbridge.com/downloads

29 API Definition What s in an API Definition file? Documenting APIs with Swagger

30 What s an API Definition File? } A file that describes everything you can do with an API } Note: API means a collection of related requests } Server location } How security is handled (i.e., authorization) } All the available requests in that API } All the different data you can send in a request } What data is returned } What HTTP status codes can be returned

31 The Anatomy of a Request Method URL Query parameters POST Accept: application/json Content-type: application/json Headers { } "name": "Peter Gruenbaum", " ": "peter@sdkbridge.com" Body

32 URL } Example request URL: } Scheme } https } Host } api.muzicplayz.com } Base path } /v3 } Path } /playlist

33 Method } The HTTP method describes what kind of action to take } GET, POST, PUT, DELETE, etc.

34 Parameters } Example: } } Path Parameters } {playlist-id} } Query Parameters } language

35 Request Body } For some methods (POST, PUT, etc.) you can specify a request body, often in JSON } The body is treated as a parameter } You specify a schema for the request body

36 Response Body } In REST, the response body can be anything, but is most often structured data, such as JSON } The response object has a schema to describe the structured data } You can have a separate response object for each HTTP status code returned

37 Security } Security means authentication and authorization } Can be: } None } Basic Auth } API key } OAuth

38 Documentation } Human-readable descriptions of elements } For generating documentation } Add a description section for: } The API } Each operation (path and method) } Each parameter } Each response element } Will go into detail in the next section

39 Getting the information to create an OAS file } If you are asked to create an OAS file, how do you find the information? } Developers can provide rough documentation } Developers can provide sample requests and responses } Most common } You can figure it out from the code } Requires strong coding skills

40 Open API Specification Basics Defining Simple Requests Documenting APIs with Swagger

41 Open API Specification File } Choose an example and build a file } Company: example.com } Service for uploading and sharing photos } API base URL: }

42 Example

43 Adding a Request Let s define requests for getting photo albums Requests will have: } URL endpoint } HTTP Method } Path parameters } Query parameters } Also (covered later): } Request body } Responses

44 Example with query parameters GET

45 Example with path parameter GET

46 Data types } The data type can have several values } Includes: } Boolean } integer } number } string } array

47 Custom headers } Custom headers are treated as parameters } Standard headers (authorization, content format) are handled elsewhere

48 Documentation } Documentation is added using the description key } I will talk about this later in the workshop

49 Swagger Editor } Swagger provides an editor for Open API Specification files } Go to

50 Exercise 2: OAS Basics } Create an OAS file for a music system } The API manages playlists } Describe overall API information, paths, methods, and some parameters

51 Schemas Defining Request and Response Bodies Learn Swagger and the Open API Specification

52 Request and Response Bodies } Certain kinds of requests have extra data } POST, PUT, etc. } Called the request body } Typically data is formatted in JSON (or sometimes XML) } Nearly all responses return a response body } Also typically formatted in JSON

53 What is a schema? } The schema indicates the structure of the data } OAS schema object is based off the JSON Schema Specification } } What are the keys in key/value pairs? } What type of data are the values? } Can be many levels

54 $ref } $ref is a special OAS key that indicates that the value is a reference to a structure somewhere else in the YAML file

55 Request Body } Under parameters: } name just for reference (not shown in docs) } in set to body } required typically set to true } schema } Add a level } Key of $ref } Value of the reference path, in quotes

56 Example Request Body

57 Schema section } Create a key called definitions at the end of the file } Add a level and give it the name from the $ref value } Add a properties key } For each top level element in the JSON, add a key of its name. } Add a type key that says what type of data it is } Add other keys for other data (more later)

58 Example Schema

59 Schema objects } You can add other objects as values } Simply use a type of object } Then add a new level with properties: } And continue just like you did before

60 Schema objects with $ref } As you can imagine, this can add a lot of indentation } So you can use $ref from within your definition using the additionalproperties key

61 Schema array } You can also add arrays } Simply use a type of array } Then add a key of items } And define the type and any other properties

62 Schema array with $ref } For a more complex type, use $ref for the array items

63 Required } In requests, you can specify that certain elements are required or optional } Use the required key for this } Contains a list of all properties that are required

64 Response Body } Under response:, under the response code } schema: } Add a level } Key of $ref } Value of the reference path, in quotes } If the response is an array instead of an object, then add: } type: array } Note: you can have different schemas for different response codes

65 Example Response Note: The album schema is identical to the newalbum schema except it has an id

66 allof } In the previous example, album and newalbum had a lot of duplication } Can use the allof key to combine several objects into one

67 Headers and Examples } Responses can also have custom headers } You can include example bodies in OAS files } Refer to the Open API Specification on how these work } (Just search on Open API Specification )

68 Exercise 3: Schemas } Add to your OAS file } POST, PUT, and responses } Describe overall API information, paths, methods, and some parameters

69 Open API Specification Continued Security, errors, content types, and operation IDs Learn Swagger and the Open API Specification

70 Security } Security means what kind of authentication or authorization is required } Authentication: the user has correct username and password } Authorization: the user has access to this API and data

71 Security types } None } Used for getting publically available information } API key } Indicates that the app has permission to use the API } Basic Authentication } Username and password is included in a header } OAuth } Complex issuance of temporary token

72 How security is indicated } Each operation has a security key } Contains an array of security definition objects } Often just one element in the array } Security Definitions } The file contains a securitydefinitions key } Typically at the end } Contains security objects } Security object } Contains information needed for that type of security

73 None } When you do not have security } you don t need to do anything!

74 API key } Add security key to each operation } Use dash to indicate an array } Create name for definition and use empty bracket, since no data is needed } Add security definition } Add definition for that name in securitydefinition section } type: apikey } name: name of the header or query parameter to be used } in: query or header

75 API key example } Put a security key in the get section and securitydefinitions at the end of the file

76 Basic authentication } Add security key to an operation } Use dash to indicate an array } Create name for definition and use empty bracket, since no data is needed } Add security definition } Add definition for that name in securitydefinition section } type: basic

77 Basic auth example } Put a security key in the get section and securitydefinitions at the end of the file

78 OAuth } OAuth is too complicated to explain here } Add security key to request, like before } However, now you add scopes in the array } Add security definition } Add definition for that name in securitydefinition section } type: oauth2 } authorizationurl: URL where credentials are entered } tokenurl: URL for the token } flow: OAuth 2 flow (implicit, password, application or accesscode.) } scopes: list of scopes with descriptions

79 OAuth example } Put a security key in the get section and securitydefinitions at the end of the file

80 Errors } Errors are simply different response codes } Often APIs return a special structure with errors } Example 401 (Unauthorized) code returned {"errorcode": 13, "message": "Username not found"} } Should include schema for every potential status code } Refer to this in response

81 Error example

82 Content Types } Content types indicate the format of the data in the request and response bodies } This is done through the Content-Type header } You can specify this for: } The whole API } Individual operations } Use the consumes and produces keys } consumes for requests, produces for responses } Use the Content-Type value (for example, application/json)

83 Example Content-Type

84 Operation ID } Although it doesn t show up in the documentation, you can optionally add an operation ID to each request } Some tools will use this

85 Exercise 4: OAS Continued } Add to your OAS file: } Security, } Errors, } Content type } Operation IDs

86 Documentation Adding Descriptions Document APIs Using Swagger

87 Autogenerated Documentation } Tools (including Swagger) take OAS files and generate HTML documentation to put on the web } If the OAS file is kept up to date, then the documentation is likely to be more accurate than if you wrote the docs manually } Autogenerated documentation allows you to try out requests from within the documentation

88 The Anatomy of a Request Method URL Query parameters POST Accept: application/json Content-type: application/json Headers { } "name": "Peter Gruenbaum", " ": "peter@sdkbridge.com" Body

89 description key } Use the description key to add documentation } Add description key to: } API Info } Operations (get, post, etc.) } Parameters } Responses } Schema definitions

90 Swagger Editor Placeholder } Bring up example on editor

91 Markdown } In the description value, you can use Markdown } Markdown is a simple Markup language } Bold, italic, images, links, etc.

92 Markdown Placeholder } Bring up example on editor

93 Exercise 5: Documentation } Add documentation to your example } See the effects on the right side of the page

94 Swagger Tools Editor, CodeGen, UI, and Core Tooling Learn Swagger and the Open API Specification

95 Swagger Tools Placeholder }

96 Swagger UI } Autogenerated documentation } For example, pet store documentation } There are other ways to create autogenerated documentation }

97 SwaggerHub } Provides all of the tools on a hosted platform } As of this video: } Free for one user } $75/month for team of 5 } Advantages: } Don t have to install and host } Designed for collaboration

98 Exercise 6: SwaggerHub } Try out SwaggerHub for free } Import your OAS file

99 OAS 3.0 The Next Generation Document APIs with Swagger

100 Several changes from 2.0 } Improved overall structure } Support for callbacks } Links to express relationships between operations } The JSON schema includes support for: oneof, anyof and not } Improved parameter descriptions } Better support for multipart document handling } Cookie parameters } Body parameters have their own entity } Better support for content-type negotiation } The security definitions have been simplified and enhanced

101 JSON Alternative to YAML Learn Swagger and the Open API Specification

102 Why JSON? } Older format } Some people may be more familiar with it than YAML } Some tools only read JSON

103 YAML vs JSON } In JSON, strings have quotes around them } YAML indents are like JSON curly brackets { } } YAML lists are like JSON arrays [ ]

104 Comparison YAML info: version: "0.1.0" title: Meme Meister description: Meme API { } JSON "info": { "version": "0.1.0" "title": "Meme Meister" "description": "Meme API" }

105 Arrays YAML consumes: - image/jpeg - image/gif - image/png { } JSON "consumes": [ "image/jpeg", "image/gif", "image/png", ]

106 Advantages of YAML } Fewer characters } Easier to read } Swagger uses YAML as the default } However, you can use the Swagger Editor with JSON just like you use it with YAML

107 Alternatives to Swagger Other autogenerated doc tools Document APIs with Swagger

108 Alternatives to Swagger } Swagger is great, but } Some people think it could be better } In particular, the autogenerated documentation } Not responsive, not that pretty, etc. } In theory, you can take OAS files and do whatever you want with them } There are several alternatives to Swagger } Disclaimer: I am not an expert in any of these

109 DapperDox }

110 Swagger UI Variants }

111 ReadMe.io }

112 StopLight.io }

113 Alternatives to OAS } OAS is just one way to define an API } There are other specifications that have been created } RAML } API Blueprint } Not as popular as OAS

114 Resources } I d Rather Be Writing - Tom Johnson } Sarah Maddox } SDK Bridge Online courses } Last page of workbook has links with discounts

115 Exercise 7: Final Project } Create an OAS file for a Meme API from scratch } Not an easy assignment } In the electronic version of the workbook only

116 Questions?

Documenting RESTful APIs Using Swagger and the Open API Specification. Workbook Jan 26, 2018 Peter Gruenbaum

Documenting RESTful APIs Using Swagger and the Open API Specification. Workbook Jan 26, 2018 Peter Gruenbaum Documenting RESTful APIs Using Swagger and the Open API Specification Workbook Jan 26, 2018 Peter Gruenbaum Exercise 1: YAML... 3 Exercise 2: OAS Basics... 5 Exercise 3: Schemas... 11 Exercise 4: OAS Continued...

More information

Understanding RESTful APIs and documenting them with Swagger. Presented by: Tanya Perelmuter Date: 06/18/2018

Understanding RESTful APIs and documenting them with Swagger. Presented by: Tanya Perelmuter Date: 06/18/2018 Understanding RESTful APIs and documenting them with Swagger Presented by: Tanya Perelmuter Date: 06/18/2018 1 Part 1 Understanding RESTful APIs API types and definitions REST architecture and RESTful

More information

Writing REST APIs with OpenAPI and Swagger Ada

Writing REST APIs with OpenAPI and Swagger Ada Writing REST APIs with OpenAPI and Swagger Ada Stéphane Carrez FOSDEM 2018 OpenAPI and Swagger Ada Introduction to OpenAPI and Swagger Writing a REST Ada client Writing a REST Ada server Handling security

More information

Introduction to Git and GitHub for Writers Workbook February 23, 2019 Peter Gruenbaum

Introduction to Git and GitHub for Writers Workbook February 23, 2019 Peter Gruenbaum Introduction to Git and GitHub for Writers Workbook February 23, 2019 Peter Gruenbaum Table of Contents Preparation... 3 Exercise 1: Create a repository. Use the command line.... 4 Create a repository...

More information

REST API Documentation Using OpenAPI (Swagger)

REST API Documentation Using OpenAPI (Swagger) REST API Documentation Using OpenAPI (Swagger) Modern technology for modern web frontends Martyn Kemp, Consultingwerk Ltd. martyn.kemp@consultingwerk.de http://www.consultingwerk.de/ 2 Consultingwerk Ltd.

More information

Privacy and Security in Online Social Networks Department of Computer Science and Engineering Indian Institute of Technology, Madras

Privacy and Security in Online Social Networks Department of Computer Science and Engineering Indian Institute of Technology, Madras Privacy and Security in Online Social Networks Department of Computer Science and Engineering Indian Institute of Technology, Madras Lecture 07 Tutorial 2 Part 1 Facebook API Hi everyone, welcome to the

More information

X-Road Message Protocol for REST

X-Road Message Protocol for REST X-Road Message Protocol for REST XRDDEV-121 - As an X-Road user I want that a draft version of X-Road Message Protocol for REST is created so that I know how REST clients and services will communicate

More information

Web Application Development (WAD) V th Sem BBAITM(Unit-1) By: Binit Patel

Web Application Development (WAD) V th Sem BBAITM(Unit-1) By: Binit Patel Web Application Development (WAD) V th Sem BBAITM(Unit-1) By: Binit Patel Introduction: PHP (Hypertext Preprocessor) was invented by Rasmus Lerdorf in 1994. First it was known as Personal Home Page. Later

More information

Privacy and Security in Online Social Networks Department of Computer Science and Engineering Indian Institute of Technology, Madras

Privacy and Security in Online Social Networks Department of Computer Science and Engineering Indian Institute of Technology, Madras Privacy and Security in Online Social Networks Department of Computer Science and Engineering Indian Institute of Technology, Madras Lecture 08 Tutorial 2, Part 2, Facebook API (Refer Slide Time: 00:12)

More information

Learning Objectives. Description. Your AU Expert(s) Trent Earley Behlen Mfg. Co. Shane Wemhoff Behlen Mfg. Co.

Learning Objectives. Description. Your AU Expert(s) Trent Earley Behlen Mfg. Co. Shane Wemhoff Behlen Mfg. Co. PL17257 JavaScript and PLM: Empowering the User Trent Earley Behlen Mfg. Co. Shane Wemhoff Behlen Mfg. Co. Learning Objectives Using items and setting data in a Workspace Setting Data in Related Workspaces

More information

Learning vrealize Orchestrator in action V M U G L A B

Learning vrealize Orchestrator in action V M U G L A B Learning vrealize Orchestrator in action V M U G L A B Lab Learning vrealize Orchestrator in action Code examples If you don t feel like typing the code you can download it from the webserver running on

More information

REST API Operations. 8.0 Release. 12/1/2015 Version 8.0.0

REST API Operations. 8.0 Release. 12/1/2015 Version 8.0.0 REST API Operations 8.0 Release 12/1/2015 Version 8.0.0 Table of Contents Business Object Operations... 3 Search Operations... 6 Security Operations... 8 Service Operations... 11 Business Object Operations

More information

Red Hat 3Scale 2-saas

Red Hat 3Scale 2-saas Red Hat 3Scale 2-saas API Documentation For Use with Red Hat 3Scale 2-saas Last Updated: 2018-07-11 Red Hat 3Scale 2-saas API Documentation For Use with Red Hat 3Scale 2-saas Legal Notice Copyright 2018

More information

Black Box DCX3000 / DCX1000 Using the API

Black Box DCX3000 / DCX1000 Using the API Black Box DCX3000 / DCX1000 Using the API updated 2/22/2017 This document will give you a brief overview of how to access the DCX3000 / DCX1000 API and how you can interact with it using an online tool.

More information

Intro to Programming. Unit 7. What is Programming? What is Programming? Intro to Programming

Intro to Programming. Unit 7. What is Programming? What is Programming? Intro to Programming Intro to Programming Unit 7 Intro to Programming 1 What is Programming? 1. Programming Languages 2. Markup vs. Programming 1. Introduction 2. Print Statement 3. Strings 4. Types and Values 5. Math Externals

More information

Learning and Development. UWE Staff Profiles (USP) User Guide

Learning and Development. UWE Staff Profiles (USP) User Guide Learning and Development UWE Staff Profiles (USP) User Guide About this training manual This manual is yours to keep and is intended as a guide to be used during the training course and as a reference

More information

CIS 45, The Introduction. What is a database? What is data? What is information?

CIS 45, The Introduction. What is a database? What is data? What is information? CIS 45, The Introduction I have traveled the length and breadth of this country and talked with the best people, and I can assure you that data processing is a fad that won t last out the year. The editor

More information

Lifehack #1 - Automating Twitter Growth without Being Blocked by Twitter

Lifehack #1 - Automating Twitter Growth without Being Blocked by Twitter Lifehack #1 - Automating Twitter Growth without Being Blocked by Twitter Intro 2 Disclaimer 2 Important Caveats for Twitter Automation 2 Enter Azuqua 3 Getting Ready 3 Setup and Test your Connection! 4

More information

Develop Mobile Front Ends Using Mobile Application Framework A - 2

Develop Mobile Front Ends Using Mobile Application Framework A - 2 Develop Mobile Front Ends Using Mobile Application Framework A - 2 Develop Mobile Front Ends Using Mobile Application Framework A - 3 Develop Mobile Front Ends Using Mobile Application Framework A - 4

More information

Imagery International website manual

Imagery International website manual Imagery International website manual Prepared for: Imagery International Prepared by: Jenn de la Fuente Rosebud Designs http://www.jrosebud.com/designs designs@jrosebud.com 916.538.2133 A brief introduction

More information

If you re a Facebook marketer, you re likely always looking for ways to

If you re a Facebook marketer, you re likely always looking for ways to Chapter 1: Custom Apps for Fan Page Timelines In This Chapter Using apps for Facebook marketing Extending the Facebook experience Discovering iframes, Application Pages, and Canvas Pages Finding out what

More information

Furl Furled Furling. Social on-line book marking for the masses. Jim Wenzloff Blog:

Furl Furled Furling. Social on-line book marking for the masses. Jim Wenzloff Blog: Furl Furled Furling Social on-line book marking for the masses. Jim Wenzloff jwenzloff@misd.net Blog: http://www.visitmyclass.com/blog/wenzloff February 7, 2005 This work is licensed under a Creative Commons

More information

The name of our class will be Yo. Type that in where it says Class Name. Don t hit the OK button yet.

The name of our class will be Yo. Type that in where it says Class Name. Don t hit the OK button yet. Mr G s Java Jive #2: Yo! Our First Program With this handout you ll write your first program, which we ll call Yo. Programs, Classes, and Objects, Oh My! People regularly refer to Java as a language that

More information

Web Scraping XML/JSON. Ben McCamish

Web Scraping XML/JSON. Ben McCamish Web Scraping XML/JSON Ben McCamish We Have a Lot of Data 90% of the world s data generated in last two years alone (2013) Sloan Sky Server stores 10s of TB per day Hadron Collider can generate 500 Exabytes

More information

Dreamweaver CS6. Level 1. Topics Workspaces Basic HTML Basic CSS

Dreamweaver CS6. Level 1. Topics Workspaces Basic HTML Basic CSS Level 1 Topics Workspaces Basic HTML Basic CSS Tour the Workspace The arrangement of panels and menus you use to interact with a document is called the workspace. Much of Illustrator is customizable: you

More information

Elliotte Rusty Harold August From XML to Flat Buffers: Markup in the Twenty-teens

Elliotte Rusty Harold August From XML to Flat Buffers: Markup in the Twenty-teens Elliotte Rusty Harold elharo@ibiblio.org August 2018 From XML to Flat Buffers: Markup in the Twenty-teens Warning! The Contenders XML JSON YAML EXI Protobufs Flat Protobufs XML JSON YAML EXI Protobuf Flat

More information

Chopra Teachers Directory Listing Manual

Chopra Teachers Directory Listing Manual Chopra Teachers Directory Listing Manual Table of Contents Introduction... 1 Login... 2 Managing your Directory Listing... 3 Locations... 3 Adding or Editing a Location... 4 Managing Featured Teacher Information...

More information

Creating Your Web Site

Creating Your Web Site Creating Your Web Site Students who are serious about wanting to be writers must create their own web sites to display their work. This is what professionals want to see an easy place to access your work

More information

ZipRecruiter Apply Webhook Documentation. ZR ATS Integration Team. Version 1.1,

ZipRecruiter Apply Webhook Documentation. ZR ATS Integration Team. Version 1.1, ZipRecruiter Apply Webhook Documentation ZR ATS Integration Team Version 1.1, 2017-10-12 Table of Contents Introduction................................................................................ 1

More information

Connexion Documentation

Connexion Documentation Connexion Documentation Release 0.5 Zalando SE Nov 16, 2017 Contents 1 Quickstart 3 1.1 Prerequisites............................................... 3 1.2 Installing It................................................

More information

CRM Service Wrapper User Guide

CRM Service Wrapper User Guide Summary This document details the usage of the CRM Service Wrapper by xrm. The service wrapper allows you to communicate with a Microsoft Dynamics CRM application (called CRM for convenience in this document)

More information

XML and API Documentation

XML and API Documentation ATLauncher XML and API Documentation Version 1.0.22 Last Updated: 18/10/2013 Table of Contents XML Introduction... 2 Basic Layout... 3 ... 4 ... 5 ... 7 ... 8 Mod Types...

More information

OpenAPI development with Python. 11 July 2017 Takuro Wada

OpenAPI development with Python. 11 July 2017 Takuro Wada OpenAPI development with Python EuroPython2017@Rimini, 11 July 2017 Takuro Wada Hi Takuro Wada Kabuku Inc. Software Engineer - Speaker of EuroPython 2016, PyConJP 2015 - Member of swagger codegen technical

More information

Client Side JavaScript and AJAX

Client Side JavaScript and AJAX Client Side JavaScript and AJAX Client side javascript is JavaScript that runs in the browsers of people using your site. So far all the JavaScript code we've written runs on our node.js server. This is

More information

GETTING STARTED GUIDE

GETTING STARTED GUIDE SETUP GETTING STARTED GUIDE About Benchmark Email Helping you turn your email list into relationships and sales. Your email list is your most valuable marketing asset. Benchmark Email helps marketers short

More information

Sonatype CLM - Release Notes. Sonatype CLM - Release Notes

Sonatype CLM - Release Notes. Sonatype CLM - Release Notes Sonatype CLM - Release Notes i Sonatype CLM - Release Notes Sonatype CLM - Release Notes ii Contents 1 Introduction 1 2 Upgrade instructions 2 3 Sonatype CLM for Bamboo 3 4 Sonatype CLM 1.13 4 5 Sonatype

More information

WEB API. Nuki Home Solutions GmbH. Münzgrabenstraße 92/ Graz Austria F

WEB API. Nuki Home Solutions GmbH. Münzgrabenstraße 92/ Graz Austria F WEB API v 1. 1 0 8. 0 5. 2 0 1 8 1. Introduction 2. Calling URL 3. Swagger Interface Example API call through Swagger 4. Authentication API Tokens OAuth 2 Code Flow OAuth2 Authentication Example 1. Authorization

More information

Getting Started with Amicus Document Assembly

Getting Started with Amicus Document Assembly Getting Started with Amicus Document Assembly How great would it be to automatically create legal documents with just a few mouse clicks? We re going to show you how to do exactly that and how to get started

More information

INFOPOP S UBB.CLASSIC SOFTWARE. User Guide. Infopop Corporation Westlake Avenue North Suite 605 Phone Fax

INFOPOP S UBB.CLASSIC SOFTWARE. User Guide. Infopop Corporation Westlake Avenue North Suite 605 Phone Fax INFOPOP S UBB.CLASSIC SOFTWARE User Guide Infopop Corporation 1700 Westlake Avenue North Suite 605 Phone 206.283.5999 Fax 206.283.6166 Document Last Revised: 6/12/02 (UBB.classic version 6.3.1) Infopop,

More information

Senior Project: Calendar

Senior Project: Calendar Senior Project: Calendar By Jason Chin June 2, 2017 Contents 1 Introduction 1 2 Vision and Scope 2 2.1 Business Requirements...................... 2 2.1.1 Background........................ 2 2.1.2 Business

More information

Mobile App:IT. Methods & Classes

Mobile App:IT. Methods & Classes Mobile App:IT Methods & Classes WHAT IS A METHOD? - A method is a set of code which is referred to by name and can be called (invoked) at any point in a program simply by utilizing the method's name. -

More information

Science-as-a-Service

Science-as-a-Service Science-as-a-Service The iplant Foundation Rion Dooley Edwin Skidmore Dan Stanzione Steve Terry Matthew Vaughn Outline Why, why, why! When duct tape isn t enough Building an API for the web Core services

More information

Authoring OpenStax Documents in Apache OpenOffice Writer *

Authoring OpenStax Documents in Apache OpenOffice Writer * OpenStax-CNX module: m60462 1 Authoring OpenStax Documents in Apache OpenOffice Writer * R.G. (Dick) Baldwin This work is produced by OpenStax-CNX and licensed under the Creative Commons Attribution License

More information

The next generation of Google APIs

The next generation of Google APIs The next generation of Google APIs Ade Oshineye www.oshineye.com/+ Let s talk about the future This is not a vendor pitch This. Is. Not. A. Vendor. Pitch. I work on the Google+ Project www.oshineye.com/+

More information

Connecting SQL Data Sources to Excel Using Windward Studios Report Designer

Connecting SQL Data Sources to Excel Using Windward Studios Report Designer Connecting SQL Data Sources to Excel Using Windward Studios Report Designer Welcome to Windward Studios Report Designer Windward Studios takes a unique approach to reporting. Our Report Designer sits directly

More information

Sitefinity Manual. Webmasters. University of Vermont College of Medicine. Medical Communications

Sitefinity Manual. Webmasters. University of Vermont College of Medicine. Medical Communications Sitefinity Manual Webmasters University of Vermont College of Medicine Medical Communications Table of Contents Basics... 2 Navigating to the Website... 3 Actions.. 4 Titles & Properties. 5 Creating a

More information

Salesforce IoT REST API Getting Started Guide

Salesforce IoT REST API Getting Started Guide Salesforce IoT REST API Getting Started Guide Version 42.0, Spring 18 @salesforcedocs Last updated: March 9, 2018 Copyright 2000 2018 salesforce.com, inc. All rights reserved. Salesforce is a registered

More information

XML. Jonathan Geisler. April 18, 2008

XML. Jonathan Geisler. April 18, 2008 April 18, 2008 What is? IS... What is? IS... Text (portable) What is? IS... Text (portable) Markup (human readable) What is? IS... Text (portable) Markup (human readable) Extensible (valuable for future)

More information

Release Notes Tripolis Dialogue

Release Notes Tripolis Dialogue Release Notes Tripolis Dialogue Version 3.23 September 2016 1 TABLE OF CONTENTS Improvements and features 3 REST API API 3.0 3 TImezone support for campaigns 4 Campaign node details in preview 5 Changes

More information

Azure Developer Immersions API Management

Azure Developer Immersions API Management Azure Developer Immersions API Management Azure provides two sets of services for Web APIs: API Apps and API Management. You re already using the first of these. Although you created a Web App and not

More information

Ninox API. Ninox API Page 1 of 15. Ninox Version Document version 1.0.0

Ninox API. Ninox API Page 1 of 15. Ninox Version Document version 1.0.0 Ninox API Ninox Version 2.3.4 Document version 1.0.0 Ninox 2.3.4 API 1.0.0 Page 1 of 15 Table of Contents Introduction 3 Obtain an API Key 3 Zapier 4 Ninox REST API 5 Authentication 5 Content-Type 5 Get

More information

XML Processing & Web Services. Husni Husni.trunojoyo.ac.id

XML Processing & Web Services. Husni Husni.trunojoyo.ac.id XML Processing & Web Services Husni Husni.trunojoyo.ac.id Based on Randy Connolly and Ricardo Hoar Fundamentals of Web Development, Pearson Education, 2015 Objectives 1 XML Overview 2 XML Processing 3

More information

Reading How the Web Works

Reading How the Web Works Reading 1.3 - How the Web Works By Jonathan Lane Introduction Every so often, you get offered a behind-the-scenes look at the cogs and fan belts behind the action. Today is your lucky day. In this article

More information

This is the lesson workshop to create a test page in DIVI

This is the lesson workshop to create a test page in DIVI SCWCLUBS.COM Websites are a very important forms of communication. People thinking about Arizona are comparing communities. People in SCW are comparing clubs. Club members are checking information. Keep

More information

Hypertext Markup Language, or HTML, is a markup

Hypertext Markup Language, or HTML, is a markup Introduction to HTML Hypertext Markup Language, or HTML, is a markup language that enables you to structure and display content such as text, images, and links in Web pages. HTML is a very fast and efficient

More information

BlackBerry Developer Summit. A02: Rapid Development Leveraging BEMS Services and the AppKinetics Framework

BlackBerry Developer Summit. A02: Rapid Development Leveraging BEMS Services and the AppKinetics Framework BlackBerry Developer Summit A02: Rapid Development Leveraging BEMS Services and the AppKinetics Framework Page 2 of 21 Table of Contents 1. Workbook Scope... 4 2. Compatibility... 4 3. Source code download

More information

Hello, welcome to creating a widget in MyUW. We only have 300 seconds, so let s get going.

Hello, welcome to creating a widget in MyUW. We only have 300 seconds, so let s get going. Hello, welcome to creating a widget in MyUW. We only have 300 seconds, so let s get going. And I ve included a slide about me. You might wonder why, since I only have five minutes, but don t worry. Widgets

More information

Building RESTful Web Services with. Presented by Steve Ives

Building RESTful Web Services with. Presented by Steve Ives Building RESTful Web Services with Presented by Steve Ives We ve talked about what it is We ve talked about what it does Let s talk about how to use it Requirements & Obtaining Visual Studio 2017 15.8

More information

Lab 2. Complete the Process API Layer for Order Fulfillment API

Lab 2. Complete the Process API Layer for Order Fulfillment API Lab 2 Complete the Process API Layer for Order Fulfillment API Overview Let us now orchestrate our back-end systems to fulfill the order. We ll post the order to the Order API. The implementation will

More information

Gmail Integration for Salesforce and Dynamics 365

Gmail Integration for Salesforce and Dynamics 365 Gmail Integration for Salesforce and Dynamics 365 PRIVACY POLICY LAST MODIFIED: MARCH 12, 2019 2019 Introduction Welcome to Gmail Integration for Salesforce and Dynamics 365, a service provided by Akvelon,

More information

CSCE Java. Dr. Chris Bourke. Prior to Lab. Peer Programming Pair-Up. Lab 15 - Databases & Java Database Connectivity API

CSCE Java. Dr. Chris Bourke. Prior to Lab. Peer Programming Pair-Up. Lab 15 - Databases & Java Database Connectivity API CSCE 155 - Java Lab 15 - Databases & Java Database Connectivity API Dr. Chris Bourke Prior to Lab Before attending this lab: 1. Read and familiarize yourself with this handout. Some additional resources

More information

Introduction & Basics! Technical Foundation! Authentication! Obtaining a token!... 4 Using the token! Working with notes!...

Introduction & Basics! Technical Foundation! Authentication! Obtaining a token!... 4 Using the token! Working with notes!... Simplenote API2 Documentation v2.1.3: (April 18, 2011). Recent documentation changes are listed on the last page. Contents Introduction & Basics!... 3 Technical Foundation!... 3 Authentication!... 4 Obtaining

More information

Week - 01 Lecture - 04 Downloading and installing Python

Week - 01 Lecture - 04 Downloading and installing Python Programming, Data Structures and Algorithms in Python Prof. Madhavan Mukund Department of Computer Science and Engineering Indian Institute of Technology, Madras Week - 01 Lecture - 04 Downloading and

More information

printf( Please enter another number: ); scanf( %d, &num2);

printf( Please enter another number: ); scanf( %d, &num2); CIT 593 Intro to Computer Systems Lecture #13 (11/1/12) Now that we've looked at how an assembly language program runs on a computer, we're ready to move up a level and start working with more powerful

More information

AEM Forms: Rest API Integration as a Datasource

AEM Forms: Rest API Integration as a Datasource AEM Forms: Rest API Integration as a Datasource Samit Narula, Technical Architect, Overview The Swagger (OpenAPI) specification is quite detailed and defines various directives, constraints, and configurations

More information

Your Auth is open! Oversharing with OpenAuth & SAML

Your Auth is open! Oversharing with OpenAuth & SAML Your Auth is open! Oversharing with OpenAuth & SAML Andrew Pollack Northern Collaborative Technologies 2013 by the individual speaker Sponsors 2013 by the individual speaker Who Am I? Andrew Pollack President

More information

Writing your first Web Data Connector

Writing your first Web Data Connector Welcome # T C 1 8 Writing your first Web Data Connector Brett Taylor Staff Software Engineer Tableau Ashwin Sekar Software Engineer Tableau Enabling Integrations for Developers Embedded Analytics Integrations

More information

Cisco Spark API Workshop

Cisco Spark API Workshop BRING YOUR LAPTOP! Cisco Spark API Workshop Eugene Morozov Technical Manager CEE-RCIS, N&B 21 April 2018 Fulda What is this? This session IS NOT: The upcoming Emerging Technologies Workshop Experimenting

More information

Copyright 2014 Blue Net Corporation. All rights reserved

Copyright 2014 Blue Net Corporation. All rights reserved a) Abstract: REST is a framework built on the principle of today's World Wide Web. Yes it uses the principles of WWW in way it is a challenge to lay down a new architecture that is already widely deployed

More information

This tutorial will help you understand JSON and its use within various programming languages such as PHP, PERL, Python, Ruby, Java, etc.

This tutorial will help you understand JSON and its use within various programming languages such as PHP, PERL, Python, Ruby, Java, etc. About the Tutorial JSON or JavaScript Object Notation is a lightweight text-based open standard designed for human-readable data interchange. The JSON format was originally specified by Douglas Crockford,

More information

Website Updates Made Easy

Website Updates Made Easy Built by Packerland Websites, Managed by You You will learn: How to log into your website to make changes How to update the Home, About Us & other pages Quick tips for success How to add photos, links,

More information

Creating a REST API which exposes an existing SOAP Service with IBM API Management

Creating a REST API which exposes an existing SOAP Service with IBM API Management Creating a REST API which exposes an existing SOAP Service with IBM API Management 4.0.0.0 2015 Copyright IBM Corporation Page 1 of 33 TABLE OF CONTENTS OBJECTIVE...3 PREREQUISITES...3 CASE STUDY...4 USER

More information

Using Dreamweaver CC. 5 More Page Editing. Bulleted and Numbered Lists

Using Dreamweaver CC. 5 More Page Editing. Bulleted and Numbered Lists Using Dreamweaver CC 5 By now, you should have a functional template, with one simple page based on that template. For the remaining pages, we ll create each page based on the template and then save each

More information

GoLive will first ask you if your new site will be for one individual or a work group; select for a Single User, and click Next.

GoLive will first ask you if your new site will be for one individual or a work group; select for a Single User, and click Next. Getting Started From the Start menu, located the Adobe folder which should contain the Adobe GoLive 6.0 folder. Inside this folder, click Adobe GoLive 6.0. GoLive will open to its initial project selection

More information

Using PowerPoint - 1

Using PowerPoint - 1 Using PowerPoint - 1 Introduction to the course. Before we start, we need to know what power point is. I m sure most of you know about ppt, but for those of you who may be new to this: [1a-c] When you

More information

Introduction to RESTful Web Services. Presented by Steve Ives

Introduction to RESTful Web Services. Presented by Steve Ives 1 Introduction to RESTful Web Services Presented by Steve Ives Introduction to RESTful Web Services What are web services? How are web services implemented? Why are web services used? Categories of web

More information

Create-A-Page Design Documentation

Create-A-Page Design Documentation Create-A-Page Design Documentation Group 9 C r e a t e - A - P a g e This document contains a description of all development tools utilized by Create-A-Page, as well as sequence diagrams, the entity-relationship

More information

Intro to XML. Borrowed, with author s permission, from:

Intro to XML. Borrowed, with author s permission, from: Intro to XML Borrowed, with author s permission, from: http://business.unr.edu/faculty/ekedahl/is389/topic3a ndroidintroduction/is389androidbasics.aspx Part 1: XML Basics Why XML Here? You need to understand

More information

Web Design Course Syllabus and Course Outline

Web Design Course Syllabus and Course Outline Web Design Course Syllabus and Course Outline COURSE OVERVIEW AND GOALS In today's world, web pages are the most common medium for sharing ideas and information. Learning to design websites is an incredibly

More information

Civil Engineering Computation

Civil Engineering Computation Civil Engineering Computation First Steps in VBA Homework Evaluation 2 1 Homework Evaluation 3 Based on this rubric, you may resubmit Homework 1 and Homework 2 (along with today s homework) by next Monday

More information

Using Dreamweaver CC. Logo. 4 Creating a Template. Page Heading. Page content in this area. About Us Gallery Ordering Contact Us Links

Using Dreamweaver CC. Logo. 4 Creating a Template. Page Heading. Page content in this area. About Us Gallery Ordering Contact Us Links Using Dreamweaver CC 4 Creating a Template Now that the main page of our website is complete, we need to create the rest of the pages. Each of them will have a layout that follows the plan shown below.

More information

Authoring World Wide Web Pages with Dreamweaver

Authoring World Wide Web Pages with Dreamweaver Authoring World Wide Web Pages with Dreamweaver Overview: Now that you have read a little bit about HTML in the textbook, we turn our attention to creating basic web pages using HTML and a WYSIWYG Web

More information

Add Your Product to Clickbank

Add Your Product to Clickbank MODULE 3 LESSON 8 Add Your Product to Clickbank 2013 Mark Bishop NicheSynergy.com 1 Niche Synergy Table of Contents Disclaimer... 2 Why use Clickbank instead of another platform?... 3 The most important

More information

Security Workbook. Version 1: Spring 13. Last updated: February 22, 2013

Security Workbook. Version 1: Spring 13. Last updated: February 22, 2013 Version 1: Spring 13 Security Workbook Last updated: February 22, 2013 Copyright 2000 2013 salesforce.com, inc. All rights reserved. Salesforce.com is a registered trademark of salesforce.com, inc., as

More information

Welcome Back! Without further delay, let s get started! First Things First. If you haven t done it already, download Turbo Lister from ebay.

Welcome Back! Without further delay, let s get started! First Things First. If you haven t done it already, download Turbo Lister from ebay. Welcome Back! Now that we ve covered the basics on how to use templates and how to customise them, it s time to learn some more advanced techniques that will help you create outstanding ebay listings!

More information

Designing RESTful Web Applications. Ben Ramsey

Designing RESTful Web Applications. Ben Ramsey Designing RESTful Web Applications Ben Ramsey About Me Proud father of 3-month-old Sean Organizer of Atlanta PHP user group Founder of PHP Groups Founding principal of PHP Security Consortium Original

More information

Kyle Rainville Littleton Coin Company

Kyle Rainville Littleton Coin Company Kyle Rainville Littleton Coin Company What is JSON? Javascript Object Notation (a subset of) Data Interchange Format Provides a way for communication between platforms & languages Derived from Javascript

More information

Contents. 1. Using Cherry 1.1 Getting started 1.2 Logging in

Contents. 1. Using Cherry 1.1 Getting started 1.2 Logging in 1 Contents 1. Using Cherry 1.1 Getting started 1.2 Logging in 2. Site Page Hierarchy Management 2.1 Page Addition 2.2 Page Deletion 2.3 Editing Page Details 3. Page Content Modification 3.1 Page Revisions

More information

Modern Online Radio with Liquidsoap

Modern Online Radio with Liquidsoap Modern Online Radio with Liquidsoap Tony Miller This book is for sale at http://leanpub.com/modernonlineradiowithliquidsoap This version was published on 2015-04-21 This is a Leanpub book. Leanpub empowers

More information

Who should use this manual. Signing into WordPress

Who should use this manual. Signing into WordPress WordPress Manual Table of Contents Who should use this manual... 3 Signing into WordPress... 3 The WordPress Dashboard and Left-Hand Navigation Menu... 4 Pages vs. Posts... 5 Adding & Editing Your Web

More information

EXPERIENCES MOVING FROM DJANGO TO FLASK

EXPERIENCES MOVING FROM DJANGO TO FLASK EXPERIENCES MOVING FROM DJANGO TO FLASK DAN O BRIEN, VP OF ENGINEERING CRAIG LANCASTER, CTO Jana Mobile Inc. www.jana.com WHO WE ARE Jana is a startup company in Boston connecting advertising and marketing

More information

Tutorial: Building the Services Ecosystem

Tutorial: Building the Services Ecosystem Tutorial: Building the Services Ecosystem GlobusWorld 2018 Steve Tuecke tuecke@globus.org What is a services ecosystem? Anybody can build services with secure REST APIs App Globus Transfer Your Service

More information

LUCITY REST API INTRODUCTION AND CORE CONCEPTS

LUCITY REST API INTRODUCTION AND CORE CONCEPTS LUCITY REST API INTRODUCTION AND CORE CONCEPTS REST API OFFERINGS Lucity Citizen Portal REST API Lucity REST API Both products are included in our REST API Historically we also offered a COM API and a.net

More information

Biocomputing II Coursework guidance

Biocomputing II Coursework guidance Biocomputing II Coursework guidance I refer to the database layer as DB, the middle (business logic) layer as BL and the front end graphical interface with CGI scripts as (FE). Standardized file headers

More information

Developing Online Databases and Serving Biological Research Data

Developing Online Databases and Serving Biological Research Data Developing Online Databases and Serving Biological Research Data 1 Last Time HTML Hypertext Markup Language Used to build web pages Static, and can't change the way it presents itself based off of user

More information

Contents OVERVIEW... 3

Contents OVERVIEW... 3 Contents OVERVIEW... 3 Feature Summary... 3 CONFIGURATION... 4 System Requirements... 4 ConnectWise Manage Configuration... 4 Configuration of Manage Login... 4 Configuration of Integrator Login... 5 Option

More information

Android Basics Nanodegree Syllabus

Android Basics Nanodegree Syllabus Android Basics Nanodegree Syllabus Before You Start This is an entry-level, single term Nanodegree program with no prior programming experience required. Support Options We are here to support you every

More information

Ecocion Facility Management System Alex Anderson Niles Hacking Ryan Shipp June 16, 2015

Ecocion Facility Management System Alex Anderson Niles Hacking Ryan Shipp June 16, 2015 Ecocion Facility Management System Alex Anderson Niles Hacking Ryan Shipp June 16, 2015 1 Table of Contents 1. Introduction 2 1.1. Client Description 1.2. Product Vision 2. Requirements. 2 2.1. Functional

More information

Using Dreamweaver. 5 More Page Editing. Bulleted and Numbered Lists

Using Dreamweaver. 5 More Page Editing. Bulleted and Numbered Lists Using Dreamweaver 5 By now, you should have a functional template, with one simple page based on that template. For the remaining pages, we ll create each page based on the template and then save each

More information

EMPOWER2018 Quick Base + Workato Workjam

EMPOWER2018 Quick Base + Workato Workjam EMPOWER2018 Quick Base + Workato Workjam Prerequisites Thank you for your interest in the Workjam. We are excited to have you on board. Before you get cracking to build your very own integration, below

More information