Compare commits
227 Commits
master
...
articles/p
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
c266c81506 | ||
|
|
eeb3150906 | ||
|
|
f9b5a1bf0f | ||
|
|
3d17366009 | ||
|
|
9708c53ca7 | ||
|
|
a2309b2dd3 | ||
|
|
c472d02049 | ||
|
|
9d3ce47c7c | ||
|
|
cda809d369 | ||
|
|
c0260f2a71 | ||
|
|
678feabe91 | ||
|
|
a78a0fc179 | ||
|
|
c488d07f39 | ||
|
|
d3a2fb1f06 | ||
|
|
6a540e45ee | ||
|
|
0ce15301bf | ||
|
|
ca9e6f3e19 | ||
|
|
64e1a77e15 | ||
|
|
6df0dae372 | ||
|
|
6aaf7aaec1 | ||
|
|
a2be7602f3 | ||
|
|
816c9bb52f | ||
|
|
46d5e2d87c | ||
|
|
36ef5aec93 | ||
|
|
ece3638968 | ||
|
|
d54a9ccb79 | ||
|
|
ef47e9c0e6 | ||
|
|
eb082fec9d | ||
|
|
e4e36aae5c | ||
|
|
e4ebb0b2af | ||
|
|
868b3eab6d | ||
|
|
368ac085be | ||
|
|
9fe2691e7f | ||
|
|
a6e7a87519 | ||
|
|
2d8401f236 | ||
|
|
74d5a3c372 | ||
|
|
28dcd32d76 | ||
|
|
fda0fd56ee | ||
|
|
bbadc7acd7 | ||
|
|
5a1db4f155 | ||
|
|
e8faaf0de9 | ||
|
|
bc79e38a0f | ||
|
|
7bbe0d9c3c | ||
|
|
4b33f42e34 | ||
|
|
775f7190a4 | ||
|
|
1b6644205f | ||
|
|
386552357e | ||
|
|
a0107403ff | ||
|
|
1c6c872f3d | ||
|
|
52142e978b | ||
|
|
1dd7b200e9 | ||
|
|
4695685285 | ||
|
|
a530b3c44f | ||
|
|
408680ab64 | ||
|
|
5abf65427c | ||
|
|
cc8c70c8b8 | ||
|
|
b8d3b3bee9 | ||
|
|
44b16dbfbb | ||
|
|
91c560d07e | ||
|
|
58bce9a9ee | ||
|
|
963186c49f | ||
|
|
02e2b83540 | ||
|
|
15ca8e6d55 | ||
|
|
762e293204 | ||
|
|
2240e0f773 | ||
|
|
61b346fd99 | ||
|
|
12b6bcfd8e | ||
|
|
6dd795e74d | ||
|
|
eb4302902f | ||
|
|
43406ebf16 | ||
|
|
caefcb2e24 | ||
|
|
933e64b73b | ||
|
|
24abeb43ee | ||
|
|
32e285d922 | ||
|
|
a045df44c7 | ||
|
|
d1f10999bb | ||
|
|
cc6bd4a837 | ||
|
|
53de836f65 | ||
|
|
aa6b01b334 | ||
|
|
0fd0ec347d | ||
|
|
d5956b2c53 | ||
|
|
44a85d9cc5 | ||
|
|
cc2a0e8dbb | ||
|
|
4cf982b04c | ||
|
|
7b13e7f568 | ||
|
|
42becd564b | ||
|
|
27992ef3d6 | ||
|
|
860cd5cabe | ||
|
|
27c6f4ce6b | ||
|
|
f0840669f6 | ||
|
|
00f2d6a35e | ||
|
|
956dde826c | ||
|
|
4712aeb6b7 | ||
|
|
968d885c7f | ||
|
|
2b7e32f7ab | ||
|
|
67fd6e9f4a | ||
|
|
70d7256026 | ||
|
|
d4ef5515f5 | ||
|
|
7b7eb4a903 | ||
|
|
868a9909a9 | ||
|
|
60dacf29a2 | ||
|
|
f2e54794ff | ||
|
|
0c8c5951a3 | ||
|
|
18ef0da760 | ||
|
|
706e7a2d34 | ||
|
|
de83098575 | ||
|
|
56eb6dfe8d | ||
|
|
5d6772598a | ||
|
|
9dbd5b536c | ||
|
|
df09bad74a | ||
|
|
dadbe4e7ad | ||
|
|
315d2db9fa | ||
|
|
09c3b75729 | ||
|
|
5558f8c4ef | ||
|
|
fc9da7e625 | ||
|
|
1e921d5c25 | ||
|
|
3b097cdc76 | ||
|
|
f0f714cf1a | ||
|
|
9d23defd10 | ||
|
|
ba66e2c316 | ||
|
|
f7dee501ab | ||
|
|
7409299aba | ||
|
|
6a7f0f7eb3 | ||
|
|
06a7f4755b | ||
|
|
f762167c80 | ||
|
|
fb7f97932f | ||
|
|
359821b73d | ||
|
|
eb4cf5f133 | ||
|
|
5c0a69e385 | ||
|
|
ece5140d47 | ||
|
|
784bf2c8ea | ||
|
|
326c398ed2 | ||
|
|
3cbd0d33ec | ||
|
|
d1b15e1738 | ||
|
|
63ea8aa991 | ||
|
|
b6a037e39b | ||
|
|
8b676277ef | ||
|
|
879f955225 | ||
|
|
076143db8d | ||
|
|
03b3498174 | ||
|
|
52ff953b87 | ||
|
|
e9e3630655 | ||
|
|
58b38bb9c4 | ||
|
|
553cf66c40 | ||
|
|
804dfd8175 | ||
|
|
2a4ad4766e | ||
|
|
2c14d8605f | ||
|
|
afe1b5afbb | ||
|
|
d9f9c33beb | ||
|
|
d5078ee70f | ||
|
|
419046ffb0 | ||
|
|
05d706a65a | ||
|
|
aef90544ff | ||
|
|
94aa79c7a3 | ||
|
|
b6230ec679 | ||
|
|
0ac9bb3f81 | ||
|
|
4ecb7a9a91 | ||
|
|
2356443475 | ||
|
|
7681b625f8 | ||
|
|
0bd36067d7 | ||
|
|
f50a3d5426 | ||
|
|
d70623d305 | ||
|
|
8634736f7b | ||
|
|
9a061beb06 | ||
|
|
113e0758a3 | ||
|
|
fa0e42a971 | ||
|
|
09449d687d | ||
|
|
4611a85b73 | ||
|
|
8ea5c3d7a9 | ||
|
|
27793ffddc | ||
|
|
669c45a46f | ||
|
|
2a84239ddd | ||
|
|
b9438183f3 | ||
|
|
61642fb61a | ||
|
|
71c73546e2 | ||
|
|
00ba0c5114 | ||
|
|
ce6fc78151 | ||
|
|
e996fbd118 | ||
|
|
545eb86103 | ||
|
|
5506f33e0b | ||
|
|
1adf971e2c | ||
|
|
64298bbbb6 | ||
|
|
d6691b8f35 | ||
|
|
eb822d4052 | ||
|
|
cfb5af43b7 | ||
|
|
13fcf7d748 | ||
|
|
27e6da3379 | ||
|
|
6106e43fb7 | ||
|
|
adbcbef660 | ||
|
|
bc058733c5 | ||
|
|
98c5bc1292 | ||
|
|
209deae586 | ||
|
|
ff97a4253b | ||
|
|
d6fe7273ac | ||
|
|
2ed37b57aa | ||
|
|
c21ae72a7b | ||
|
|
20a7e62fac | ||
|
|
0b3954a7d2 | ||
|
|
e12d0650eb | ||
|
|
9ae1c94fcb | ||
|
|
9689a4cf03 | ||
|
|
d17d37aaa6 | ||
|
|
2c6e719cf0 | ||
|
|
62a9c8a670 | ||
|
|
f07efc3d2e | ||
|
|
32a57d5f14 | ||
|
|
08e33a9a08 | ||
|
|
41a549c4a5 | ||
|
|
084e67cc2a | ||
|
|
e25d827dfc | ||
|
|
a932203830 | ||
|
|
346db7f494 | ||
|
|
85cb178794 | ||
|
|
2508a37e08 | ||
|
|
ac2ad71424 | ||
|
|
b8fc3b43af | ||
|
|
a3098cdf07 | ||
|
|
46d408c71f | ||
|
|
32f5bce856 | ||
|
|
7f7b09a258 | ||
|
|
3e5172059d | ||
|
|
f6eb587109 | ||
|
|
00699e029d | ||
|
|
5335106e47 | ||
|
|
f3615192bd | ||
|
|
07fda9a231 | ||
|
|
cc2ae98ebc |
14
README.md
14
README.md
@@ -2,17 +2,23 @@
|
||||
|
||||
The time is nigh!
|
||||
|
||||
All work should be done in the develop branch.
|
||||
## Workflow
|
||||
|
||||
* All work should be done in a branch off of develop, and submitted via a PR upon completion.
|
||||
|
||||
## Templates
|
||||
|
||||
TODO
|
||||
|
||||
## Articles
|
||||
|
||||
TODO
|
||||
|
||||
## Assets
|
||||
|
||||
Assets (like images) should be placed in the assets/images folder.
|
||||
|
||||
JPEG, PNG, and GIF image formats are supported. Images can be included in markdown by using the path to the image.
|
||||
JPEG, PNG, and GIF image formats are supported. Images can be included in markdown by using the relative path to the image.
|
||||
|
||||
For example:
|
||||
|
||||
@@ -21,7 +27,7 @@ For example:
|
||||
|
||||
# Organization Overview
|
||||
|
||||

|
||||

|
||||
```
|
||||
|
||||
## Linking
|
||||
@@ -35,5 +41,5 @@ For example:
|
||||
|
||||
# Organization Overview
|
||||
|
||||
A link to [Projects Overview](./articles/projects/overview.md).
|
||||
A link to [Projects Overview](../projects/overview.md).
|
||||
```
|
||||
|
||||
152
TOC.md
Normal file
152
TOC.md
Normal file
@@ -0,0 +1,152 @@
|
||||
---
|
||||
title: Stoplight Help
|
||||
description: 'Bout time.
|
||||
theme: ./theme.css
|
||||
javascript: ./global.js
|
||||
nav: [['Platform'], [], ['Editor']]
|
||||
---
|
||||
|
||||
* 
|
||||
* Getting Started
|
||||
* [What is Stoplight?](./articles/getting-started/what-is-stoplight.md)
|
||||
* Getting started for new users
|
||||
* Getting started for organization owners
|
||||
* Onboard your organization to Stoplight (example: https://get.slack.help/hc/en-us/articles/115004378828-Onboard-your-company-to-Slack-#use-case-1-1)
|
||||
* Account Basics
|
||||
* Sign In to Stoplight
|
||||
* Edit Your Profile
|
||||
* Manage Your Password
|
||||
* Change your Username
|
||||
* Change your Email Address
|
||||
* Sign out of Stoplight
|
||||
* Deactivate your Stoplight Account
|
||||
* Working with Todos
|
||||
* Billing
|
||||
* Plan Overview
|
||||
* Invoices
|
||||
* Cancel Your Account
|
||||
* Discounts for Nonprofits/Educational Institutions
|
||||
* Migrating from Stoplight Classic
|
||||
* Overview
|
||||
* Migrating Workspaces
|
||||
* Migrating Published Documentation
|
||||
* Migrating Billing
|
||||
* Projects
|
||||
* Creating a Project
|
||||
* Inviting People & Teams to Projects
|
||||
* Changing People & Team Project Roles
|
||||
* Making Your Project Private/Public
|
||||
* Organizations
|
||||
* Create an Organization
|
||||
* Invite People to Organization
|
||||
* Remove People from Your Organization
|
||||
* Member Roles and Permissions
|
||||
* Customize your Organization
|
||||
* Transfer Primary Ownership
|
||||
* Delete an Organization
|
||||
* Teams
|
||||
* Create a Team
|
||||
* Add People to a Team
|
||||
* Remove People from a Team
|
||||
* Member Roles and Permissions
|
||||
* Customize a Team
|
||||
* Transfer Primary Ownership
|
||||
* Delete a Team
|
||||
* Desktop App
|
||||
* Overview (Differences between the web and desktop apps)
|
||||
* Custom Hosts and Proxies
|
||||
* Department Playbooks
|
||||
* Stoplight for software developers
|
||||
* Stoplight for QA testers
|
||||
* Stoplight for technical writers
|
||||
* Stoplight for product managers
|
||||
* FAQs
|
||||
* Editor
|
||||
* Basics
|
||||
* Working with files
|
||||
* Switching between visual and code views
|
||||
* Viewing history of changes
|
||||
* File validation
|
||||
* Working with environments
|
||||
* Editor configuration
|
||||
* Issues
|
||||
* Creating Issues
|
||||
* Replying to Issues
|
||||
* Closing Issues
|
||||
* Attaching issues to files
|
||||
* @Mention People (link to todos article)
|
||||
* Modeling APIs with OpenAPI (Swagger 2)
|
||||
* Introduction (what is modeling and OAS)
|
||||
* Building up an API Library
|
||||
* Using the CRUD builder
|
||||
* API operations
|
||||
* API models
|
||||
* Security schemes
|
||||
* Shared parameters and responses
|
||||
* Referencing another API spec
|
||||
* Sending HTTP requests to your API
|
||||
* Validating your API Spec
|
||||
* Modeling Objects with JSON Schema
|
||||
* Introduction
|
||||
* Modeling open-ended objects (patternProperties)
|
||||
* Modeling polymorphic objects (anyOf, oneOf)
|
||||
* Using object inheritance (allOf)
|
||||
* Adding validations
|
||||
* Reducing duplication with $refs
|
||||
* Generating schemas from examples
|
||||
* Testing with Scenarios
|
||||
* Introduction
|
||||
* Understanding the scenario specification
|
||||
* Running your tests
|
||||
* In Stoplight
|
||||
* In the Terminal
|
||||
* Triggering by URL
|
||||
* Using Variables
|
||||
* Overview
|
||||
* Passing data between steps (Capturing)
|
||||
* $$.env (Environment)
|
||||
* $.ctx (Context)
|
||||
* Sending HTTP Requests
|
||||
* Overview
|
||||
* Using assertions
|
||||
* Authorization
|
||||
* Basic Authentication
|
||||
* OAuth 2
|
||||
* OAuth 1
|
||||
* AWS Signature Auth
|
||||
* Scripting
|
||||
* Overview
|
||||
* Before / After Scripts
|
||||
* Script Step Type
|
||||
* Referencing Other Scenarios
|
||||
* Overview
|
||||
* Using $.ctx with references
|
||||
* Leveraging OpenAPI (Swagger 2)
|
||||
* Overview
|
||||
* Contract testing
|
||||
* Generating tests from API specs
|
||||
* Using coverage reports
|
||||
* Integrating in Continuous Integration
|
||||
* Circle CI
|
||||
* Jenkins
|
||||
* Travis
|
||||
* Documenting with Hubs
|
||||
* Introduction
|
||||
* Routing
|
||||
* Managing the Header & Footer
|
||||
* Pages
|
||||
* Subpages
|
||||
* Blocks
|
||||
* Referencing / Embedding Other Data Sources
|
||||
* Overview
|
||||
* OpenAPI Specifications
|
||||
* Markdown
|
||||
* Theming
|
||||
* Publishing
|
||||
* Overview
|
||||
* ...
|
||||
* Running Servers with Prism
|
||||
* Introduction
|
||||
* Mock Servers
|
||||
* Validation Servers
|
||||
* Record / Replay Servers
|
||||
15
articles/accounts/authentication.md
Normal file
15
articles/accounts/authentication.md
Normal file
@@ -0,0 +1,15 @@
|
||||
# Authenticating to Stoplight
|
||||
|
||||
## Registering
|
||||
|
||||
### With Email
|
||||
|
||||
### With Github
|
||||
|
||||
## Logging In
|
||||
|
||||
### With Email
|
||||
|
||||
### With Github
|
||||
|
||||
## Logging Out
|
||||
13
articles/accounts/changing-your-email.md
Normal file
13
articles/accounts/changing-your-email.md
Normal file
@@ -0,0 +1,13 @@
|
||||
# Change your Email Address
|
||||
|
||||

|
||||
|
||||
## What
|
||||
Changing your email address is easy as pie
|
||||
|
||||
## How
|
||||
1. Click on your **username** in the top right
|
||||
2. Click on the **Account** button.
|
||||
3. In the **Basic Info** section, replace the email listed with one you would like to change to
|
||||
4. Click **Save** and you’re all done
|
||||
|
||||
12
articles/accounts/changing-your-username.md
Normal file
12
articles/accounts/changing-your-username.md
Normal file
@@ -0,0 +1,12 @@
|
||||
# Change Your Username
|
||||
|
||||

|
||||
|
||||
## What
|
||||
You can change your username at any time
|
||||
|
||||
## How
|
||||
1. Click on your current **username** in the top right
|
||||
2. Click on **Account**
|
||||
3. Under **Basic Info** input a new username
|
||||
4. Click **Save**
|
||||
8
articles/accounts/deactivate-account.md
Normal file
8
articles/accounts/deactivate-account.md
Normal file
@@ -0,0 +1,8 @@
|
||||
# Deactivate Your Stoplight Account
|
||||
|
||||
## What
|
||||
* We're sorry to see you leave. Come back soon!
|
||||
|
||||
## How
|
||||
1. Email [support@stoplight.io](mailto:support@stoplight.io) with your deactivation request
|
||||
2. We'll take care of the rest
|
||||
22
articles/accounts/edit-profile.md
Normal file
22
articles/accounts/edit-profile.md
Normal file
@@ -0,0 +1,22 @@
|
||||
# Edit your Profile
|
||||
|
||||

|
||||
|
||||
## What
|
||||
* In your profile you can edit things like:
|
||||
* Basic Info
|
||||
* Username
|
||||
* Name
|
||||
* Email
|
||||
* Upload a profile image
|
||||
* Change Password
|
||||
|
||||
## How
|
||||
1. Select your **Username** in the top right corner
|
||||
2. Click **Account**
|
||||
3. Make your edits in **Basic Info** then click **Save**
|
||||
* You can also click **Reset** if you would like to start from scratch
|
||||
4. Upload a profile image
|
||||
5. Make your edits in Change Password then click **Change Password**
|
||||
* Password must be at least 6 characters
|
||||
|
||||
14
articles/accounts/manage-password.md
Normal file
14
articles/accounts/manage-password.md
Normal file
@@ -0,0 +1,14 @@
|
||||
# Manage Your Password
|
||||
|
||||

|
||||
|
||||
## What
|
||||
* If you’ve forgotten the password you use to sign in to Stoplight; you can easily reset it at any time
|
||||
|
||||
## What
|
||||
1. At the login page select **Forgot Password?**
|
||||
2. Input your email in the space provided
|
||||
3. Click **Send Email Link**
|
||||
4. An email will be sent with a link to your email address
|
||||
5. Click on the link and you will be sent to an email reset page
|
||||
6. Choose a new password and Voila
|
||||
25
articles/accounts/sign-in.md
Normal file
25
articles/accounts/sign-in.md
Normal file
@@ -0,0 +1,25 @@
|
||||
# Sign In To Stoplight
|
||||
|
||||
## What
|
||||
* There are two separate options for creating your snazzy new Stoplight account:
|
||||
* Login with GitHub
|
||||
* Create a new account
|
||||
|
||||
## How
|
||||
|
||||
### Login with Github
|
||||
|
||||
1. Click **Login with Github**
|
||||
2. A window will popup asking you to authorize access to your Github account
|
||||
3. Click **Authorize stoplightio**
|
||||
|
||||
### To Create a New Account
|
||||
|
||||
1. Click on **Join**
|
||||
2. Fill in your **Name**
|
||||
3. Create a **Username**
|
||||
4. Input the **Email** you want associated with this account
|
||||
5. Create a **Password**
|
||||
* Password must be more than 6 characters
|
||||
6. Click **Join Stoplight**
|
||||
|
||||
11
articles/accounts/sign-out.md
Normal file
11
articles/accounts/sign-out.md
Normal file
@@ -0,0 +1,11 @@
|
||||
# Sign Out of Stoplight
|
||||
|
||||

|
||||
|
||||
## What
|
||||
* By default, Stoplight remains open. If you wish to sign out follow these quick and easy steps
|
||||
|
||||
## How
|
||||
1. Click on your **username** in the top right corner
|
||||
2. In the dropdown menu select **Sign Out**
|
||||
3. All set, come back soon!
|
||||
1
articles/accounts/todos.md
Normal file
1
articles/accounts/todos.md
Normal file
@@ -0,0 +1 @@
|
||||
# How Todos Work
|
||||
0
articles/billing/canceling.md
Normal file
0
articles/billing/canceling.md
Normal file
0
articles/billing/discounts.md
Normal file
0
articles/billing/discounts.md
Normal file
0
articles/billing/invoices.md
Normal file
0
articles/billing/invoices.md
Normal file
0
articles/billing/overview.md
Normal file
0
articles/billing/overview.md
Normal file
0
articles/desktop/custom-proxies.md
Normal file
0
articles/desktop/custom-proxies.md
Normal file
33
articles/desktop/overview.md
Normal file
33
articles/desktop/overview.md
Normal file
@@ -0,0 +1,33 @@
|
||||
# Web & Desktop App
|
||||
|
||||
|
||||
Stoplight has a desktop app! Download the appropriate version [here](https://stoplight.io/download) .
|
||||
|
||||
|
||||
## Web or Local?
|
||||
|
||||
|
||||
The main difference between the Stoplight desktop app and the web app is that the desktop app can store requests and test data offline. The desktop app can also connect with APIs that are behind firewalls or otherwise not available on the public internet (localhost as well).
|
||||
|
||||
|
||||
## Local Prism
|
||||
|
||||
|
||||
When you start the Stoplight desktop app, it will start an instance of Prism on http://localhost:4010. The desktop Prism instance is identical to the downloadable Prism binary run manually from your terminal. When you run local tests in the desktop app, it automatically calls a local Prism instance with the correct arguments and spec files.
|
||||
|
||||
|
||||
## Local Save
|
||||
|
||||
|
||||
* The Stoplight desktop app can read/write specification files on your local file system. This is perfect for generating specification outside of Stoplight (like from code), want to use version control systems like Git, or want to use your favorite IDE to work on a spec.
|
||||
* This feature is **NOT** available in the web app
|
||||
|
||||
|
||||
|
||||
|
||||
the web app
|
||||
|
||||
|
||||
<!--stackedit_data:
|
||||
eyJoaXN0b3J5IjpbMTU3NDc5MjY0XX0=
|
||||
-->
|
||||
35
articles/editor/editor-configuration.md
Normal file
35
articles/editor/editor-configuration.md
Normal file
@@ -0,0 +1,35 @@
|
||||
# Configuration with the `.stoplight.yml` File
|
||||
|
||||
This document describes the usage of `.stoplight.yml`, the file that is used by the Stoplight editor to manage its configuration.
|
||||
|
||||
It is placed in the root of your project and allows you to configure editor settings and environments that will apply to **all** users of the project. This allows you to share commonly-used settings between members of your team directly.
|
||||
|
||||
You can make changes to the `.stoplight.yml` file by opening it:
|
||||
|
||||

|
||||
|
||||
### Editor Configuration
|
||||
|
||||
- **defaultFile**: The `defaultFile` setting allows you to control which file is displayed to read-only users when they navigate to the project. This can be useful to show them a particular markdown or hub on first load.
|
||||
|
||||
### Environments
|
||||
|
||||

|
||||
|
||||
Environments make it easy to auto-populate variables (hostnames, ports, passwords, etc.) used by specifications and scenarios. Read more about them [here](../testing/variables-environment.md).
|
||||
|
||||
The environments and variables defined in the `.stoplight.yml` are shared amongst all users, which makes this a good place to define common or shared variables, such as the url host for a particular API + environment.
|
||||
|
||||
There are three environments included with a new project:
|
||||
|
||||
* __Default__ - The __Default__ environment is used by the Stoplight editor when first logging in and if no other environment has been selected. This is commonly used for variables needed for development and prototyping.
|
||||
* __Staging__ - The __Staging__ environment is automatically created for the storing of"staging" or "pre-production" variables and settings.
|
||||
* __Production__ - The __Production__ environment is automatically created for the storing of production variables and settings.
|
||||
|
||||
These environments can be customized by editing the `environments` key of the `.stoplight.yml` file. To add a new environment, simply add a new key to the `environments` property, and set the value to an empty object or an object with default variables to share amongst your team.
|
||||
|
||||
***
|
||||
|
||||
**Related**
|
||||
|
||||
* [Testing Environment Variables](../testing/variables-environment.md)
|
||||
25
articles/editor/environments.md
Normal file
25
articles/editor/environments.md
Normal file
@@ -0,0 +1,25 @@
|
||||
# Environments
|
||||
|
||||

|
||||
|
||||
The Stoplight editor includes an embedded configuration system that can be used to auto-populate environment information and other variables (hostnames, ports, passwords, etc.) utilized by specifications, scenarios, or collections. To setup the editor configuration, click the icon towards the top right of the editor screen immediately to the left of your username.
|
||||
|
||||

|
||||
|
||||
## Private Variables
|
||||
|
||||
The left-half of the configuration window is dedicated to "Private Variables", which are variables that are _only_ stored locally on your system and are never sent to Stoplight. Private Variables should be reserved for secrets specific to you, such as user-specific passwords, API keys, and other pieces of sensitive data.
|
||||
|
||||
## Resolved Variables
|
||||
|
||||
The right-half of the configuration window displays "Resolved Variables", which is a read-only view of the variables currently exposed to your editor based on your current environment. These variables are stored in the `.stoplight` file included in your project (under "Config" in the File Explorer). To update the default or environment-specific variables stored in Stoplight, click the "Manage Environments" button under the configuration window.
|
||||
|
||||

|
||||
|
||||
Variables stored in your configuration are in JSON, and can be referenced using the following format:
|
||||
|
||||
```
|
||||
{$$.env.myVariable}
|
||||
```
|
||||
|
||||
Where `myVariable` is the name of the variable in your configuration.
|
||||
27
articles/editor/file-validation.md
Normal file
27
articles/editor/file-validation.md
Normal file
@@ -0,0 +1,27 @@
|
||||
# File Validation
|
||||
|
||||

|
||||
|
||||
File validation is the process of checking a file's syntax and structure to make sure it meets specific requirements. Stoplight's validation ensures file edits are in the correct format. This is especially helpful while editing structured file formats (e.g. OpenAPI documents) so that any errors can be resolved quickly and efficiently.
|
||||
|
||||
File validation is run after every file edit to make sure no errors were introduced. A notification will appear if validation errors were introduced so that they can be resolved before attempting to save. If a validation error is detected, an alert will appear with an explanation of the issue and where it occurred.
|
||||
|
||||

|
||||
|
||||
Validation failures come in two levels:
|
||||
|
||||
* __Warnings__ - A warning is generated if the validation process found a non-critical issue that did not interrupt the processing of the document. As an example, inclusion of non-standard fields in an OpenAPI document will display as a warning.
|
||||
|
||||
* __Errors__ - An error is generated if the validation process found a critical issue that prevented the processing of the document. As an example, not including the correct fields in an OpenAPI document will display as an error.
|
||||
|
||||
Different types of file validations are used throughout the Stoplight platform. At a high level, file validations aim to identify the following two groups of errors:
|
||||
|
||||
* __Syntax__ - Most files stored in Stoplight are either JSON or YAML format, so they must always adhere to the JSON/YAML formatting standards. If anything typed into the editor does not meet the format criteria, it will be rejected with a notification pointing to where the syntax error occurred. _Syntax errors will prevent the file from being saved until all errors are resolved._
|
||||
|
||||
* __Correctness__ - Certain files stored within Stoplight must adhere to high-level specifications to ensure they are able to be read and processed correctly. The OAS/Swagger specification is one such standard. It is critical that every OAS document stored in Stoplight meet these standards. If an error is detected in any document, either an error or warning will be generated with a description of the issue.
|
||||
|
||||
***
|
||||
|
||||
**Related**
|
||||
|
||||
* [OpenAPI Validation](../modeling/openapi-validation.md)
|
||||
1
articles/editor/view-history-changes.md
Normal file
1
articles/editor/view-history-changes.md
Normal file
@@ -0,0 +1 @@
|
||||
|
||||
7
articles/editor/visual-code-view.md
Normal file
7
articles/editor/visual-code-view.md
Normal file
@@ -0,0 +1,7 @@
|
||||
# Visual & Code Views
|
||||
|
||||

|
||||
|
||||
Stoplight NEXT now has a toggle for switching between our visual editor and our code editor. If you prefer working with code, need to paste in some OAS, or just want to make changes manually, switch over to the code editor. This new feature is included in all our editors including Hubs, Modeling, and Scenarios.
|
||||
|
||||
<callout> New Feature! Any changes made in the code editor will automatically populate the visual editor. </>
|
||||
24
articles/editor/working-with-files.md
Normal file
24
articles/editor/working-with-files.md
Normal file
@@ -0,0 +1,24 @@
|
||||
# Working with Files
|
||||
|
||||

|
||||
|
||||
As part of our effort to make the Stoplight platform more flexible and familiar we added a file explorer to Stoplight NEXT. You can now see all your files sorted by filetype in one central location within Projects. File types include:
|
||||
|
||||
* .hub (Hub/Docs Files)
|
||||
* .oas2 (Modeling Files)
|
||||
* .scenarios (Scenario/Testing FIles)
|
||||
* .prism (Prism Files)
|
||||
* .md (Markdown Files)
|
||||
|
||||
## File Explorer
|
||||
|
||||
Within the file explorer you can:
|
||||
|
||||
* **Search for Files**
|
||||
* Search for files using the **search bar** at the top of the file explorer
|
||||
* **Create Files**
|
||||
* Hover to the right of the filetype headers and click the **+** to create a new file
|
||||
* **Export Files**
|
||||
* Hover to the right of a file and click the **arrow** to export files into OAS
|
||||
* **Delete Files**
|
||||
* Hover to the right of a file and click the **trash can** to delete files
|
||||
51
articles/getting-started/faq.md
Normal file
51
articles/getting-started/faq.md
Normal file
@@ -0,0 +1,51 @@
|
||||
# FAQs
|
||||
|
||||
## General
|
||||
|
||||
**Is Stoplight v2 being discontinued?**
|
||||
|
||||
Stoplight Classic (v2) will persist, but new feature development will only occur on Stoplight v3. Major bugs in Stoplight v2 will continue to be addressed. We encourage all our Stoplight Classic (v2) users to move onto our new platform. Read more about migrating from v2 to v3 [here](LINK).
|
||||
|
||||
**Can I save my files locally?**
|
||||
|
||||
Yes, but only on the desktop app. Click [here](LINK) to learn more about the Stoplight desktop app.
|
||||
|
||||
**Is there a way to manage multiple APIs in a single Project**
|
||||
|
||||
Yes. In Stoplight v3 you can manage unlimited APIs in a single Project. To learn more click [here](LINK).
|
||||
|
||||
**What are the differences between Stoplight Classic (v2) and Stoplight v3?**
|
||||
|
||||
Stoplight Classic is our original platform. Stoplight v3 is the next generation of platform, including all the features and tools from Stoplight Classic and much more. To learn more, click [here](LINK).
|
||||
|
||||
**Can I transfer Account ownership?**
|
||||
|
||||
Yes, you can [transfer ownership of an Organization](https://next.stoplight.io/stoplight/stoplight-next-docs/blob/master/Stoplight%20Platform.hub.yml?edit=%23%2Fpages%2F~1%2Fdata%2Fchildren%2F2%2Fdata%2Fchildren%2F5) or [make changes to your personal account](https://next.stoplight.io/stoplight/stoplight-next-docs/blob/master/Stoplight%20Platform.hub.yml?edit=%23%2Fpages%2F~1%2Fdata%2Fchildren%2F0%2Fdata%2Fchildren%2F1)
|
||||
|
||||
**Is there a way to edit my OpenAPI (Swagger) directly?**
|
||||
|
||||
Yes. In Stoplight v3 you can switch between the GUI editor and the source code via a TAB in the editor.For more information click [here](LINK).
|
||||
|
||||
**Does Stoplight offer monitoring solutions?**
|
||||
|
||||
Not at the moment, however, scheduling scenarios + alerting (monitoring) is on our roadmap.
|
||||
|
||||
**Does Stoplight support SSO?**
|
||||
|
||||
Yes. The business and enterprise plans support SSO. For more information, click [here](LINK).
|
||||
|
||||
**I am looking for a secure solution for hosting my API and restricting access, what do you recommend for hosting?**
|
||||
|
||||
Stoplight offers an on-premise installation option that will meet most security needs. For more information, click [here](LINK).
|
||||
|
||||
**Does Stoplight support OpenAPI 3?**
|
||||
|
||||
Currently we support OpenAPI 2 (Swagger 2). OpenAPI 3 support on our short term roadmap.
|
||||
|
||||
**My sign-up token has expired, how do I generate a new one?**
|
||||
|
||||
On the login page, go to forgot password and reset it using your email. This will renew your token.
|
||||
|
||||
**Can I remove the Stoplight branding from my API docs?**
|
||||
|
||||
Yes! In Stoplight v3 all paid users have access to the underlying CSS, and can customize it to remove or change any of the visual elements on the page. Click [here](LINK) for more information on themeing.
|
||||
24
articles/getting-started/new-user-introduction.md
Normal file
24
articles/getting-started/new-user-introduction.md
Normal file
@@ -0,0 +1,24 @@
|
||||
# Welcome to Stoplight NEXT!
|
||||
|
||||

|
||||
|
||||
Now that you have the basics on what the [Stoplight NEXT Platform](../what-is-stoplight.md) is, we can go over how to get started.
|
||||
|
||||
First things first, are you using it for Personal Projects or as part of an Organization?
|
||||
|
||||
## Personal Projects
|
||||
1. Create an Account (link)
|
||||
2. Create a Project (link)
|
||||
|
||||
## Organization
|
||||
1. Create an Account (link)
|
||||
2. Create an Organization (link)
|
||||
3. Invite Members (link)
|
||||
4. Accept an Organization Invite
|
||||
5. Create a Project (link)
|
||||
|
||||
## Web App or Download
|
||||
* You can log in to the Web App at [next.stoplight.io](http://next.stoplight.io) or
|
||||
* You can download the platform here (link)
|
||||
|
||||
If you have any questions you can reach out to us through Intercom or email us at [support@stoplight.io](support@stoplight.io) otherwise... **Full Steam Ahead!**
|
||||
1
articles/getting-started/organization-onboarding.md
Normal file
1
articles/getting-started/organization-onboarding.md
Normal file
@@ -0,0 +1 @@
|
||||
|
||||
37
articles/getting-started/organization-owner-introduction.md
Normal file
37
articles/getting-started/organization-owner-introduction.md
Normal file
@@ -0,0 +1,37 @@
|
||||
# Organization Owner Introduction
|
||||
|
||||

|
||||
|
||||
## Welcome to Stoplight NEXT!
|
||||
|
||||
If you are trying to create a new Organization then you are in the right place. Stoplight NEXT was designed with large scale collaboration and governance as a central principle. The following guide will take you through the process of creating and populating an Organization, and offer an overview of the governance tools within Stoplight NEXT.
|
||||
|
||||
## Organization
|
||||
Organizations function as a shared space for you and your co-workers. Members of an Organization have access to a centralized Activity Feed, Project Repository, and an Issues (link) discussion tool. Organization Owners can also assign varying levels of Permissions to other members of the Organization.
|
||||
|
||||
* Create an Organization (link)
|
||||
* Invite People to Organization (link)
|
||||
* Remove People from your Organization (link)
|
||||
* Member Roles and Permissions (link)
|
||||
* Customize your Organization (link)
|
||||
* Transfer Primary Ownership (link)
|
||||
* Delete an Organization (link)
|
||||
|
||||
## Teams
|
||||
If you are managing a large Organization with multiple teams you can use Teams to group Organization members together.
|
||||
|
||||
* Create a Team (link)
|
||||
* Add People to a Team (link)
|
||||
* Remove People from a Team (link)
|
||||
* Member Roles and Permissions (link)
|
||||
* Customize a Team (link)
|
||||
* Transfer Primary Ownership (link)
|
||||
* Delete a Team (link)
|
||||
|
||||
## Projects
|
||||
Projects are the workspaces you can create for your Organization.
|
||||
|
||||
* Creating a Project (link)
|
||||
* Invite People & Teams to a Project (link)
|
||||
* Change a Project Member’s Role (link)
|
||||
* Make Your Project Private/Public (link)
|
||||
1
articles/getting-started/stoplight-for-org-owners.md
Normal file
1
articles/getting-started/stoplight-for-org-owners.md
Normal file
@@ -0,0 +1 @@
|
||||
|
||||
36
articles/getting-started/what-is-stoplight.md
Normal file
36
articles/getting-started/what-is-stoplight.md
Normal file
@@ -0,0 +1,36 @@
|
||||
# The Stoplight Platform
|
||||
The Stoplight platform provides a suite of products that cover the entire pre-production API lifecycle. Here is an overview of the platform:
|
||||
|
||||

|
||||
|
||||
Stoplight promotes a design-first philosophy. Developing good design-first practices at your organization will minimize future cost, speed up your time to market, and lead to more consistent, higher quality APIs.
|
||||
|
||||
## API Modeling & Design
|
||||
At Stoplight, everything starts with design. Our visual designer makes it easy for anybody in your organization to model and document APIs, no matter the complexity.
|
||||
|
||||
Whether you have an existing OpenAPI (Swagger) or are creating a new API design from scratch, we've got you covered.
|
||||
|
||||

|
||||
|
||||
## API Testing
|
||||
Once you have your API design / documentation, how do you make sure that it remains accurate over time? Stoplight contract testing, powered by Prism, makes it trivial to create a full suite of tests that apply your API documentation (your contract) to your API. Run these tests from the Stoplight app, and standalone in your CI process or elsewhere.
|
||||
|
||||

|
||||
|
||||
## Hosted Documentation
|
||||
|
||||
You have your API designed and documented privately in the Stoplight app, and now you want to share all or part of it with 3rd parties (developers, customers, clients, etc). Stoplight makes it easy to publish your documentation to the world, with a single click.
|
||||
|
||||
|
||||

|
||||
|
||||
## Mock Server
|
||||
Stoplight provides a complete mock server for every API described in the app. Run tests against this mock server, build consumers (like mobile apps, SDKS, etc) before the final API is ready, and more.
|
||||
|
||||
Spinning up your own mock server is as simple as:
|
||||
|
||||
# install prism on macOS
|
||||
curl https://raw.githubusercontent.com/stoplightio/prism/master/install.sh | sh
|
||||
|
||||
# run a fake petstore api on http://localhost:4010
|
||||
prism run --mock --list --spec http://petstore.swagger.io/v2/swagger.json
|
||||
33
articles/hubs/blocks.md
Normal file
33
articles/hubs/blocks.md
Normal file
@@ -0,0 +1,33 @@
|
||||
# Blocks
|
||||
|
||||

|
||||
|
||||
## What
|
||||
Blocks are the micro-level building blocks of Hubs. They house multiple forms of content and allow for simple restructuring and modification.
|
||||
|
||||
<callout> Hovering over a Block reveals additional tooling including: Preview, Cut, Copy, Reference External Source, and Delete </>
|
||||
|
||||
## Block Types
|
||||
### Text Block
|
||||
* A markup editor for adding any textual elements to your Hub
|
||||
### JSON Schema
|
||||
* A block for describing the structure of a JSON object
|
||||
### HTTP Request Maker
|
||||
* A block for making HTTP requests
|
||||
### Code
|
||||
* A block for inserting code snippets
|
||||
### Image
|
||||
* A block for inserting images
|
||||
### Tabs
|
||||
* An upper level block for organizing text within tabs
|
||||
### Callout
|
||||
* A text block with color for emphasis
|
||||
### Hero
|
||||
* A large stylized text block with additional functionality typically found on landing pages
|
||||
### Bar List
|
||||
* A navigational block composed of bars with buttons
|
||||
### Card List
|
||||
* A navigational block composed of cards with text, buttons, and optional images
|
||||
### HTML
|
||||
* Include arbitrary HTML in your hubs when the other base block types don't quite do the trick
|
||||
|
||||
1
articles/hubs/hubs-introduction.md
Normal file
1
articles/hubs/hubs-introduction.md
Normal file
@@ -0,0 +1 @@
|
||||
|
||||
32
articles/hubs/managing-headers-footers.md
Normal file
32
articles/hubs/managing-headers-footers.md
Normal file
@@ -0,0 +1,32 @@
|
||||
|
||||
# Managing Headers and Footers
|
||||
|
||||

|
||||
|
||||
## What
|
||||
You can customize the headers and footers of your Hub to add additional navigation to your documentation. You can modify a header and footer:
|
||||
|
||||
- **Location on Page**: Drag and drop along the header and footer to the desired location
|
||||
- **Type**: Page, External Link, Image
|
||||
- **Title**: What text is displayed on page
|
||||
- **Path to Page**: Specify path to page
|
||||
- **Image URL**: If you want to display an image instead of text for the link input image URL
|
||||
|
||||
|
||||
## How
|
||||
|
||||
### Modify Existing Header and Footer
|
||||
|
||||
1. Select the Hub you wish to modify
|
||||
2. Click on the **Editing toggle**
|
||||
3. By default, there will already be three headers (Home, API Reference, Help) and a footer (Home)
|
||||
1. Hover over one of the headers or footers and click on the **gear icon** to modify
|
||||
2. Drag the header or footer to another location to change its location
|
||||
|
||||
|
||||
### Create New Header and Footer
|
||||
|
||||
1. Select the Hub you wish to modify
|
||||
2. Click on the **Editing toggle**
|
||||
3. Hover over the left or right edge of the header or footer
|
||||
1. Click on the **+** button
|
||||
30
articles/hubs/pages.md
Normal file
30
articles/hubs/pages.md
Normal file
@@ -0,0 +1,30 @@
|
||||
# Pages
|
||||
|
||||

|
||||
|
||||
## What
|
||||
Pages are the macro level building blocks of a Hub. They function as the canvas on which all other Hubs objects reside. They are commonly used as a way to separate information based on the broadest topics.
|
||||
|
||||
### Hubs Architecture from Top Down
|
||||
|
||||
- Pages
|
||||
- Subpages
|
||||
- Blocks
|
||||
- Header and Footer
|
||||
- Blocks
|
||||
|
||||
## How
|
||||
|
||||
### Create a New Page
|
||||
|
||||
1. Select the Hub you wish to modify
|
||||
2. Click on **Toggle Editor**
|
||||
3. Select **+** Page in the editor toolbar
|
||||
1. Input a **Page Title**
|
||||
2. Input a **Page Route** (optional)
|
||||
3. **Power the Page** with an External Data Source (optional)
|
||||
|
||||
<callout> Did you know? After creating a new page; a header link will automatically be generated </>
|
||||
|
||||
<callout> To add content to a page you must add a subpage or a content block </>
|
||||
|
||||
1
articles/hubs/publishing.md
Normal file
1
articles/hubs/publishing.md
Normal file
@@ -0,0 +1 @@
|
||||
|
||||
32
articles/hubs/ref-other-sources-hubs.md
Normal file
32
articles/hubs/ref-other-sources-hubs.md
Normal file
@@ -0,0 +1,32 @@
|
||||
# Reference Other Sources
|
||||
|
||||

|
||||
|
||||
## What
|
||||
Hubs allows you to reference other sources to automatically populate your Hub with content. We call this “powering” a building block. You can power a building block with a file from the current file, a file from the current project, a file from another project, or a file from an external source.
|
||||
|
||||
### What can I Power
|
||||
|
||||
- Pages
|
||||
- Subpages
|
||||
- Text Blocks
|
||||
|
||||
## How
|
||||
|
||||
### Power a Subpage
|
||||
|
||||
1. Select the Hub you wish to modify
|
||||
2. Select (or create a new) Subpage
|
||||
3. Click on the gear icon in the center of the editor toolbar (If new, this window automatically opens)
|
||||
1. Select Power this Subpage with an External Data Source
|
||||
2. Select the data source from the drop-down menu
|
||||
3. Input the specific data source or select from the drop-down menu
|
||||
4. Input an inner data source (optional)
|
||||
4. Click Confirm
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<callout> Try it Out! Power a Subpage with an API Spec from the same project </>
|
||||
|
||||
37
articles/hubs/routing.md
Normal file
37
articles/hubs/routing.md
Normal file
@@ -0,0 +1,37 @@
|
||||
|
||||
# Routing
|
||||
|
||||

|
||||
|
||||
## What
|
||||
Stoplight’s Hubs features an easy to use routing system to make sure your docs have identifiable and friendly URL’s. The routing system allows customization of the following objects:
|
||||
|
||||
- Your Hub
|
||||
- Pages within a Hub (link)
|
||||
- Subpages within a Hub (link)
|
||||
- Headers + Footers (link)
|
||||
- Links
|
||||
|
||||
<callout>Tips for Friendly URL’s
|
||||
|
||||
Friendly URLs are links that are easily readable, rememberable, and relevant to the content.
|
||||
Take a look at the URL for this page. Instead of something like https://help.stoplight.io/docs/fnIenof/123, it is https://help.stoplight.io/docs/hosted-documentation/create-friendly-urls, which is much nicer. </>
|
||||
|
||||
## How
|
||||
|
||||
### Pages & Subpages
|
||||
|
||||
1. Select the Hub you wish to modify
|
||||
2. Add a new page or subpage (link)
|
||||
a. Select a page title to auto-fill the Page Route or
|
||||
b. Input a custom page route
|
||||
3. Select an existing page or subpage
|
||||
4. Select the gear icon at the top of the Hub in the center of the page or subpage you wish to modify
|
||||
a. Input a new URL under Page Route
|
||||
|
||||
### Headers & Footers
|
||||
|
||||
1. Select the Hub you wish to modify
|
||||
2. Add a new header or footer (link) or
|
||||
3. Hover over an existing header or footer and click the gear icon
|
||||
a. Input a Path to Page or image URL
|
||||
30
articles/hubs/subpages.md
Normal file
30
articles/hubs/subpages.md
Normal file
@@ -0,0 +1,30 @@
|
||||
# Subpages
|
||||
|
||||

|
||||
|
||||
## What
|
||||
Subpages are the second tier macro building blocks of Hubs. They function as a canvas for blocks. They are commonly used to house content based on a specific topic. Subpages can have more subpages nested underneath them, which gives you lots of flexibility to organize your Hub as you see fit. If a subpage has subpages nested inside of it, it will be displayed as a collapsible group in the left sidebar.
|
||||
|
||||
### Hubs Architecture Top Down
|
||||
- Pages
|
||||
- Subpages
|
||||
- Blocks
|
||||
- Header and Footer
|
||||
- Blocks
|
||||
|
||||
## How
|
||||
|
||||
### Create a New Subpage
|
||||
|
||||
1. Select the Hub you wish to modify
|
||||
2. Click on **Toggle Editor**
|
||||
3. Select **+ Subpage** in the editor toolbar
|
||||
1. Input a **Subpage Name**
|
||||
2. Modify the **Subpage Route** (optional)
|
||||
3. Give the Subpage a **Sidebar Token** (optional)
|
||||
4. **Power the Subpage** with an External Data Source (optional)
|
||||
|
||||
<callout> Subpages populate the navigational sidebar of a page. </>
|
||||
|
||||
<callout> Just like pages, subpages can have blocks. Any blocks added to a subpage will be displayed when a reader navigates to that subpage in your hub</>
|
||||
|
||||
1
articles/hubs/themes.md
Normal file
1
articles/hubs/themes.md
Normal file
@@ -0,0 +1 @@
|
||||
|
||||
1
articles/issues/attaching-issues-to-files.md
Normal file
1
articles/issues/attaching-issues-to-files.md
Normal file
@@ -0,0 +1 @@
|
||||
|
||||
1
articles/issues/closing-issues.md
Normal file
1
articles/issues/closing-issues.md
Normal file
@@ -0,0 +1 @@
|
||||
|
||||
1
articles/issues/creating-issues.md
Normal file
1
articles/issues/creating-issues.md
Normal file
@@ -0,0 +1 @@
|
||||
|
||||
0
articles/issues/overview.md
Normal file
0
articles/issues/overview.md
Normal file
1
articles/issues/replying-to-issues.md
Normal file
1
articles/issues/replying-to-issues.md
Normal file
@@ -0,0 +1 @@
|
||||
|
||||
0
articles/migrating/api-docs.md
Normal file
0
articles/migrating/api-docs.md
Normal file
0
articles/migrating/billing.md
Normal file
0
articles/migrating/billing.md
Normal file
0
articles/migrating/overview.md
Normal file
0
articles/migrating/overview.md
Normal file
0
articles/migrating/workspaces.md
Normal file
0
articles/migrating/workspaces.md
Normal file
1
articles/modeling/api-models.md
Normal file
1
articles/modeling/api-models.md
Normal file
@@ -0,0 +1 @@
|
||||
|
||||
90
articles/modeling/api-operations.md
Normal file
90
articles/modeling/api-operations.md
Normal file
@@ -0,0 +1,90 @@
|
||||
# API Operations
|
||||
## Introduction
|
||||
API operations describe the way you define how an API is exposed to a user. Properly defined operations are fundamental to the API development life cycle and the outcome is a final product that is easy to understand and use. Creating a properly designed RESTful API requires research, analysis, and planning. It is the API developer’s responsibility to ensure that the API design, resources, and connected operations are easy to understand by consumers. The following characteristics are true of well-designed APIs:
|
||||
|
||||
- Comprehensive, yet succinct
|
||||
- Understandable and easy to use
|
||||
- Supports delta (incremental) development
|
||||
- Expedites and simplifies the API documentation process
|
||||
|
||||
## Key Terms
|
||||
- A **resource** is an entity or object that has data linked to it, relationships to other objects or entities, and a set of methods that operate on it to access, use, or manipulate the associated data. When resources are grouped together, it is called a collection.
|
||||
- A **Uniform Resource Locator (URL)** is used to indicate and identify the location of an API resource and perform some actions to it. Note that the base URL is the constant part of this location.
|
||||
- **GET** method requests data from a resource and the body of the response message holds the information requested.
|
||||
- **PUT** method requests the server to update the resource or create it (if it does not exist) and the body of the request message indicates the resource to be updated or created.
|
||||
- **PATCH** method performs a partial update on a resource and the body of the request message indicates the change to be applied. This can occasionally be more efficient than PUT because the client forwards changes required and not the entire details about the resource.
|
||||
- **POST** creates a new resource and the body of the request message indicates the details of the new resource to be created. This method can be used to activate operations that will not create a resource.
|
||||
- **DELETE** method requests that the specified resource be removed.
|
||||
|
||||
## Best Practices
|
||||
|
||||
### Resource URL should be based on nouns and not verbs
|
||||
|
||||
For example, to retrieve pet details for a pet store which has different kinds of pets:
|
||||
|
||||
- /pets (Good)
|
||||
- /getAllPets (Bad)
|
||||
|
||||
<!-- theme: info -->
|
||||
> A good resource URL contains resources (nouns) and not actions or verbs. Ensure that the resource is in the plural form at the API endpoint.
|
||||
|
||||
### Use HTTP methods to operate on resources
|
||||
|
||||
To add, delete, or update information, use the HTTP methods GET, POST, DELETE, PUT, and PATCH (also known as verbs). For example:
|
||||
|
||||
- GET /pets (returns the list of all pets)
|
||||
- GET /pets/5 (returns details of pet 5)
|
||||
|
||||
<!-- theme: info -->
|
||||
> A successful GET method normally returns a HTTP status code of 200 (OK) and 404 (Not found) if the resource cannot be located.
|
||||
|
||||
| GET | PUT/PATCH | POST | DELETE | Resource |
|
||||
|---------------------------------------|-----------------------------------------------|-------------------------------------|---------------------------------------------|------------------------|
|
||||
| Return list of all pets | Update all pets | Add a new pet | Remove all pets | path/pets |
|
||||
| Return details of treatment for pet 5 | Update all treatment for pet 5 | Add new treatment details for pet 5 | Remove all treatments associated with pet 5 | path/pets/5/treatments |
|
||||
| Returns details for pet 5 | Updates details for pet 5 assuming it exists | Error (Not permitted) | Deletes pet 5 details | path/pets/5 |
|
||||
|
||||
### Make use of a Query String (?) for complex parameter optional parameters
|
||||
When you need to add more complexity and dynamics to the request, add parameters to the query string. For example:
|
||||
|
||||
- GET /pets?type=feline&age=5 (Good)
|
||||
- getFelinePets (Bad)
|
||||
|
||||
### Utilize HTTP Status Codes
|
||||
A user should know the status of request made through an API. This might include failed, passed, or invalid responses. The table below summarizes the codes.
|
||||
|
||||
| 2xx Success | 3xx Redirect | 4xx Client Error | 5xx Server Error |
|
||||
|-------------------------------------------------------------------------|-----------------------|------------------|---------------------------|
|
||||
| 200 Ok (Success for GET, PUT, or POST) | 301 Moved Permanently | 400 Bad Request | 550 Internal Server Error |
|
||||
| 201 Created | 304 Not Modified | 401 Unauthorized | |
|
||||
| 204 No Content (Request successfully processed but returns not content) | | 403 Forbidden | |
|
||||
| | | 404 Not Found | |
|
||||
|
||||
- Be wary of using too many status codes and confusing the API user.
|
||||
- It is good to provide an additional description of the status code in the body of the HTTP Response. For example:
|
||||
- Request: method GET /pets?type=feline
|
||||
- Response:
|
||||
```
|
||||
//This is an invalid request.
|
||||
{
|
||||
"message": "Invalid Pet Type please enter a valid pet category",
|
||||
}
|
||||
```
|
||||
### Executing search, sort, filter and pagination operations
|
||||
- When you need to perform these actions, you can append the query parameters to the GET method and the API endpoint. For example, to carry out a **search** operation for a particular pet:
|
||||
- GET /pets?search=Blaze (This will search for a pet named Blaze)
|
||||
- **Pagination** helps you to manage the amount of resources you return and it is advisable to use the parameters offset and limit as shown in the example below:
|
||||
- GET /pets?offset=10&limit=20 (Return pets between 10 to 20)
|
||||
- To **sort** the list of resources we can use multiple sort parameters in the query string. For example:
|
||||
- GET /pets?sort=age_desc (Would sort the age in descending order.)
|
||||
- For **filtering** we can use one or more parameters in the query string. For example:
|
||||
- GET /pets?type=canine&age=7
|
||||
|
||||
<!-- theme: info -->
|
||||
>If too many query parameters are used in GET methods and the URL becomes too long, the server may return a ‘414 URL too long’ HTTP status. Parameters might be passed to the request body of a POST request as a solution to this challenge.
|
||||
|
||||
### Versioning
|
||||
It is good practice to version an API to describe the available features and resources it exposes. When this is properly done, the application consuming the API can submit explicit requests to a specific version of a feature or resource. For example, you can specify the version of the resource by means of a parameter within the query string affixed to the HTTP request: http://api.yourdomain.com/v2/pets/10/
|
||||
|
||||
|
||||
|
||||
1
articles/modeling/build-api-library.md
Normal file
1
articles/modeling/build-api-library.md
Normal file
@@ -0,0 +1 @@
|
||||
|
||||
1
articles/modeling/crud-builder.md
Normal file
1
articles/modeling/crud-builder.md
Normal file
@@ -0,0 +1 @@
|
||||
|
||||
1
articles/modeling/duplication-refs.md
Normal file
1
articles/modeling/duplication-refs.md
Normal file
@@ -0,0 +1 @@
|
||||
|
||||
1
articles/modeling/generating-schemas.md
Normal file
1
articles/modeling/generating-schemas.md
Normal file
@@ -0,0 +1 @@
|
||||
|
||||
1
articles/modeling/json-introduction.md
Normal file
1
articles/modeling/json-introduction.md
Normal file
@@ -0,0 +1 @@
|
||||
|
||||
1
articles/modeling/modeling-introduction.md
Normal file
1
articles/modeling/modeling-introduction.md
Normal file
@@ -0,0 +1 @@
|
||||
|
||||
1
articles/modeling/object-inheritance.md
Normal file
1
articles/modeling/object-inheritance.md
Normal file
@@ -0,0 +1 @@
|
||||
|
||||
1
articles/modeling/open-ended-objects.md
Normal file
1
articles/modeling/open-ended-objects.md
Normal file
@@ -0,0 +1 @@
|
||||
|
||||
14
articles/modeling/openapi-validation.md
Normal file
14
articles/modeling/openapi-validation.md
Normal file
@@ -0,0 +1,14 @@
|
||||
# OpenAPI Validation
|
||||
|
||||

|
||||
|
||||
OpenAPI validation is the process of verifying the underlying OpenAPI file syntax by making sure it conforms to the [OpenAPI Specification requirements](https://github.com/OAI/OpenAPI-Specification#the-openapi-specification) provided by the [OpenAPI Initiative](https://www.openapis.org/). Stoplight immediately validates any changes done to a spec to ensure they are in the correct format prior to being saved.
|
||||
|
||||
<!-- theme: info -->
|
||||
> Stoplight currently supports the OpenAPI v2 specification. We are working on support for OpenAPI v3, and should have more information in the coming months.
|
||||
|
||||
***
|
||||
|
||||
**Related**
|
||||
|
||||
* [File Validation](../editor/file-validation.md)
|
||||
1
articles/modeling/polymorphic-objects.md
Normal file
1
articles/modeling/polymorphic-objects.md
Normal file
@@ -0,0 +1 @@
|
||||
|
||||
1
articles/modeling/reference-spec.md
Normal file
1
articles/modeling/reference-spec.md
Normal file
@@ -0,0 +1 @@
|
||||
|
||||
54
articles/modeling/security-schemes.md
Normal file
54
articles/modeling/security-schemes.md
Normal file
@@ -0,0 +1,54 @@
|
||||
# API Security Schemes
|
||||
API security schemes protect your API resources by authenticating apps or users that consume your API. There are a number of standard authentication protocols you can pick from and each has their own strengths and weaknesses. To help you get started, the section below outlines some common schemes in use.
|
||||
|
||||
## Authentication Schemes
|
||||
### Basic API Authentication
|
||||
- Easy to implement
|
||||
- Entails sending encoded username and password details
|
||||
- Usually bundled with standard framework or language library
|
||||
- Used with HTTPS, TLS or SSL
|
||||
- Can be combined with other security methods
|
||||
- **Note**: this method is susceptible to hijacks and man-in-the-middle attacks
|
||||
|
||||
### OAuth1.0 (Digest Scheme)
|
||||
- Popular, tested, secure, signature driven, protocol
|
||||
- Uses cryptographic signature, which is a mix of token secret, nonce, and other request based information.
|
||||
- Can be used with or without SSL
|
||||
|
||||
### OAuth2 (Bearer Token Scheme)
|
||||
- The current OAuth2 specification eliminates need for cryptographic signatures, passwords, and usernames.
|
||||
- OAuth2 works with authentication scenarios called flows, these flows include:
|
||||
- Authorization Code flow
|
||||
- Implicit flow
|
||||
- Resource Owner Password flow
|
||||
- Client Credentials flow
|
||||
- The OAuth 2.0 server will distribute access tokens that a client application will use to access protected resources.
|
||||
- [Additional Information on OAuth2.0](https://tools.ietf.org/html/rfc6749)
|
||||
|
||||
### OpenID Connect Discovery
|
||||
- OpenID Connect Discovery (OIDC) is based on the OAuth 2.0 protocol.
|
||||
- Uses a sign-in flow that permits user authentication and information access by a client app.
|
||||
- The user information is encoded via a secure JSON Web Token (JWT).
|
||||
- [Additional Information on OpenID Connect Discovery](https://openid.net/specs/openid-connect-discovery-1_0.html)
|
||||
|
||||
## Best Practices
|
||||
### Implementing IDs
|
||||
Unique User IDs should be distinctive but not easy to decipher.
|
||||
- Example: using ‘a12bc3’ is weak when compared to an ID that reads ‘09dgf659sjf038eyr3367dhrt34j5’. Avoid using auto increment for your Unique User IDs to reduce the likelihood of a security breach.
|
||||
### Sensitive Information in HTTP Request
|
||||
Ensure that your API will not expose important information such as password, API keys, and security tokens in the URL. For example, this URL is bad because it contains an API key:
|
||||
- /baseurl/<uid>q=?apiKey=2123223223
|
||||
### API Keys
|
||||
Reduce the likelihood of exposing your API keys by keeping them in a file or storage mechanism that is accessible by the owner.
|
||||
- **Note**: API Keys can be duplicated or lost so it is important to use other security measures apart from API keys. Consider encryption to make your API keys more secure.
|
||||
|
||||
### Validation
|
||||
It is beneficial to validate your inputs and access to resources using robust parsers. Parsing requests can help verify the validity of user requests. API designers can perform an implicit input validation to ensure the user inputs data with permitted characters, right syntax and character length. Using regular expressions can also help validate string inputs. If a request exceeds the defined limit, you can return a ‘413 Request Entity Too Large’ response code.
|
||||
|
||||
### Audit log
|
||||
Create audit logs before and after security related events. You can also log validation errors to detect patterns or potential attacks.
|
||||
### HTTP Status Codes
|
||||
Use status codes and proper error handling techniques for incoming requests to identify probable security risks.
|
||||
- [Additional Information on HTTP Status and Error Codes](https://en.wikipedia.org/wiki/List_of_HTTP_status_codes)
|
||||
|
||||
|
||||
1
articles/modeling/sending-http-requests.md
Normal file
1
articles/modeling/sending-http-requests.md
Normal file
@@ -0,0 +1 @@
|
||||
|
||||
1
articles/modeling/shared-params-responses.md
Normal file
1
articles/modeling/shared-params-responses.md
Normal file
@@ -0,0 +1 @@
|
||||
|
||||
18
articles/organizations/create-org.md
Normal file
18
articles/organizations/create-org.md
Normal file
@@ -0,0 +1,18 @@
|
||||
# Create An Organization
|
||||
|
||||

|
||||
|
||||
## What
|
||||
* Organizations are great for grouping people, data, and billing together in one convenient location
|
||||
|
||||
## Who
|
||||
* Only the Billing **Owner** or Organization **Administrator** can create Organizations
|
||||
|
||||
## How
|
||||
1. Click on **+ New** to the right of Organizations
|
||||
2. Fill in **Name**
|
||||
* We recommend using your company’s name
|
||||
3. Choose the path for your Organization (optional)
|
||||
4. Add member by email (optional)
|
||||
* Input email accounts to add other members to your organization
|
||||
* You can also do this later
|
||||
22
articles/organizations/customize-org.md
Normal file
22
articles/organizations/customize-org.md
Normal file
@@ -0,0 +1,22 @@
|
||||
# Customize Your Organization
|
||||
|
||||

|
||||
|
||||
## What
|
||||
* Want to modify your Organization? In Stoplight you can modify your Organization's:
|
||||
* Name
|
||||
* Org Path
|
||||
* Add a Description
|
||||
* Add an Org Image
|
||||
|
||||
## Who
|
||||
* Only an Organization **Owner** or **Administrator** can modify Organizations
|
||||
|
||||
## How
|
||||
1. From the homepage, select the **Organization** you would like to modify
|
||||
2. Select the **Settings** tab
|
||||
3. Input a **Name**
|
||||
4. Input a **Path**
|
||||
5. Input a quick sentence about your organization
|
||||
6. Select an **image** file for your Org
|
||||
|
||||
15
articles/organizations/delete-org.md
Normal file
15
articles/organizations/delete-org.md
Normal file
@@ -0,0 +1,15 @@
|
||||
# Delete an Organization
|
||||
|
||||

|
||||
|
||||
## What
|
||||
* Deleting an organization is easy peasy, but once you delete an Org, there is no going back. Please be certain.
|
||||
## Who
|
||||
* Only the Organization’s **Owner**
|
||||
## How
|
||||
1. From the homepage, select the **Organization** you would like to delete
|
||||
2. Select the **Settings** tab
|
||||
3. Scroll to the bottom of the page to the **Danger Zone**
|
||||
4. Click on **Delete this Org**
|
||||
5. Confirm the deletion by clicking okay on the proceeding popup
|
||||
6. Wipe the tears from your eyes and say goodbye
|
||||
17
articles/organizations/managing-people.md
Normal file
17
articles/organizations/managing-people.md
Normal file
@@ -0,0 +1,17 @@
|
||||
# Invite People to an Organization
|
||||
|
||||

|
||||
|
||||
## What
|
||||
* Adding people to your Organization is the first step towards collaboration within Stoplight
|
||||
|
||||
## Who
|
||||
* Only an Organization **Owner** or **Administrator** can invite people to an Organization
|
||||
|
||||
## How
|
||||
1. From the Stoplight homepage, select the **Organization** you would like to invite people to
|
||||
2. Select the **People** tab from the tabs bar
|
||||
3. Click **Invite Member**
|
||||
4. In the popup that appears input email addresses or usernames
|
||||
5. Hit **enter** to add them to your list
|
||||
6. Once completed, click the **Invite** button
|
||||
13
articles/organizations/managing-teams.md
Normal file
13
articles/organizations/managing-teams.md
Normal file
@@ -0,0 +1,13 @@
|
||||
# Managing Organization Teams
|
||||
|
||||
## Creating a Team
|
||||
|
||||
## Adding People to a Team
|
||||
|
||||
## Removing People from a Team
|
||||
|
||||
## Member Roles
|
||||
|
||||
## Transferring Primary Ownership
|
||||
|
||||
## Deleting a Team
|
||||
1
articles/organizations/mention-people.md
Normal file
1
articles/organizations/mention-people.md
Normal file
@@ -0,0 +1 @@
|
||||
|
||||
3
articles/organizations/overview.md
Normal file
3
articles/organizations/overview.md
Normal file
@@ -0,0 +1,3 @@
|
||||
# Stoplight Organizations
|
||||
|
||||
Testing a link to [projects](../projects/overview.md).
|
||||
17
articles/organizations/remove-people.md
Normal file
17
articles/organizations/remove-people.md
Normal file
@@ -0,0 +1,17 @@
|
||||
# Remove People From Your Organization
|
||||
|
||||

|
||||
|
||||
## What
|
||||
* Removing a person for your organization is as easy as 123...4...5...6
|
||||
|
||||
## Who
|
||||
* Only an Organization **Owner** or **Administrator** can modify
|
||||
|
||||
## How
|
||||
1. From the homepage, select the **Organization** you would like to modify
|
||||
2. Select the **People** tab from the tab bar
|
||||
3. Find the person you would like to remove from the list
|
||||
4. To the right of the person’s name, click on the **dropdown arrow** to the left of the person’s role
|
||||
5. In the dropdown menu that appears, select **Remove Member**
|
||||
6. Click **Okay** in the popup prompt
|
||||
23
articles/organizations/roles.md
Normal file
23
articles/organizations/roles.md
Normal file
@@ -0,0 +1,23 @@
|
||||
# Organization Member Roles and Permissions
|
||||
|
||||

|
||||
|
||||
## What
|
||||
* Roles and Permissions for members of Organizations can be managed and modified within Stoplight to control access to the Organization's functions and features
|
||||
* There are 3 Roles:
|
||||
* **Owner**
|
||||
* Owners can update the org, its connections, and its members
|
||||
* Has access to Billing and Organization Settings
|
||||
* **Administrator**
|
||||
* Admins can update the org, its connections, and its members
|
||||
* **Member**
|
||||
* Members can update the org and its connections. They can view its members
|
||||
|
||||
## Who
|
||||
* Only an Organization **Owner** or **Administrator** can modify roles and permissions
|
||||
## How
|
||||
1. From the homepage, select the **Organization** you would like to modify
|
||||
2. Select the **People** tab from the tab bar
|
||||
3. Find the person you would like modify
|
||||
4. To the right of their name click on the **down carrot** button to the left of the person’s role
|
||||
5. In the dropdown menu select the desired role with accompanying permissions
|
||||
17
articles/organizations/transferring-ownership.md
Normal file
17
articles/organizations/transferring-ownership.md
Normal file
@@ -0,0 +1,17 @@
|
||||
# Transfer Primary Ownership of Your Organization
|
||||
|
||||

|
||||
|
||||
## What
|
||||
* You can promote another Member of your Organization to the role of Owner
|
||||
* You can only transfer ownership to a Member of the Organization
|
||||
## Who
|
||||
* Only the Organization **Owner** can transfer ownership of an Organization
|
||||
## How
|
||||
1. From the homepage select the **Organization** you wish to modify
|
||||
2. Select **People** from the tabs bar
|
||||
3. Find the Member you would like to modify from the list
|
||||
4. To the right of the Member’s name, click on the **down carrot** next to the Member’s current role
|
||||
5. From the dropdown menu that expands, select **Owner**
|
||||
6. You will then be asked to confirm your selection in a popup window
|
||||
7. Click **Ok**
|
||||
0
articles/playbooks/engineers.md
Normal file
0
articles/playbooks/engineers.md
Normal file
0
articles/playbooks/managers.md
Normal file
0
articles/playbooks/managers.md
Normal file
0
articles/playbooks/qa-testers.md
Normal file
0
articles/playbooks/qa-testers.md
Normal file
0
articles/playbooks/writers.md
Normal file
0
articles/playbooks/writers.md
Normal file
79
articles/prism/mocking.md
Normal file
79
articles/prism/mocking.md
Normal file
@@ -0,0 +1,79 @@
|
||||
# Setting Up a Prism Mock Server
|
||||
|
||||
Mock servers are great for quickly standing up a fake (sometimes referred to as virtualized) version of your web service. Among other things, you can use mock servers to:
|
||||
|
||||
1. **Parallelize and Speed Up Development**
|
||||
- Frontend teams can build against the mocked API while the backend team implements the real API.
|
||||
2. **Increase the Accessiblity of your API**
|
||||
- Customers can build implementations on top of your API before committing to a paid account.
|
||||
3. **Make Testing Easier**
|
||||
- APIs (particularly microservices) usually make calls to other APIs. Those other APIs might, in turn, make calls to even more APIs. This creates a dependency chain nightmare. During testing, you can use mock servers to cut that dependency chain off at the start.
|
||||
|
||||
If you are coming from Stoplight Classic (Version 2), you will notice that there is a little bit more setup involved.
|
||||
|
||||
## Hosted Mock Server Steps
|
||||
|
||||
_Note: We plan to introduce templates to the Stoplight editor file creation process soon. This feature will automate most of the steps below, and turn mock server creation into a one-click solution._
|
||||
|
||||
1. Create a **new Stoplight project**.
|
||||
2. Create a **OAS (Swagger 2) modeling file** within that project. Name it `hello.oas2`.
|
||||
|
||||

|
||||
|
||||
3. Add a `GET /hello` operation to your new OAS specification.
|
||||
4. Add a **200 response** to the operation, with the example JSON described below.
|
||||
```json
|
||||
{
|
||||
"mock": "api"
|
||||
}
|
||||
```
|
||||
5. **Save** the OAS file.
|
||||
|
||||

|
||||
|
||||
6. Create a new **Prism instance file** in the project. Name it `hello-mock.prism`.
|
||||
7. Add an API to the Prism instance and connect the `hello.oas2` specification that you created earlier.
|
||||
|
||||
<callout> Prism instances are made up of APIs and Rules, you can learn more about them here. </>
|
||||
|
||||

|
||||
|
||||
8. Add a **new rule** that you will setup to power mocking.
|
||||
|
||||
<callout> Rules simply apply scenarios to HTTP traffic passing through the Prism instance. </>
|
||||
|
||||
9. Connect the **rule** to the API by clicking on the `apis` dropdown input and selecting the previously created API. .
|
||||
10. Add a **scenario** that will perform the mocking. We have an official Stoplight mock scenario [here](https://next.stoplight.io/stoplight/prism?edit=%23%2Fscenarios%2Fmock), which makes it easy to get started.
|
||||
1. Add a scenario to the `before` section of your rule.
|
||||
2. Select `another project` in the first dropdown and search for `prism`.
|
||||
3. Locate the file `helpers.prism.yml` and select the scenario `mock`.
|
||||
|
||||
<callout> This mock scenario should suit most of your mocking use cases. For advanced use cases, please send us a message and we would love to help out. </>
|
||||
|
||||

|
||||
|
||||
11. **Save** your Prism instance.
|
||||
|
||||
<callout> To verify your mock server is working, click on the `Home` link at the top of the Prism instance sidebar and send a test request to `GET /hello`. You should see a 200 response that equals the example you set in your OAS file earlier! </>
|
||||
|
||||

|
||||
|
||||
# Running Your Prism Server Locally
|
||||
|
||||
In the previous section, you learned how to create a simple Prism instance that is hosted by Stoplight. It is a powerful, accessible tool that allows your frontend and backend teams to work simultaneously. But the hosted Prism instance might not work behind your company firewall or you might want to run Prism locally on your desktop. Well, you are in luck! Prism is easy to install and run.
|
||||
|
||||
## Local Mock Server Steps
|
||||
|
||||
1. Install [Prism](https://github.com/stoplightio/prism). Make sure to install Prism Next. The version should be >= `2.0.0-beta.x`.
|
||||
2. Open up your terminal.
|
||||
3. Log into Stoplight Next with the `prism login` command and enter your Stoplight Next credentials. Once you are logged in, you will have access to your private and all public projects.
|
||||
4. Get the export link for the Prism mock instance you created above.
|
||||
5. Run `prism serve {export-link} --debug` and open this [link](http://localhost:4010/helloWorld).
|
||||
|
||||

|
||||
|
||||
# Recap
|
||||
|
||||
You now have a fully functional prism mock server. We have created a public project full of useful prism resources. We encourage you to explore the other prism helpers which are located [here](https://next.stoplight.io/stoplight/prism/blob/master/helpers.scenarios.yml). Let us know what you think. We are excited to see what you do.
|
||||
|
||||
For the more experienced Prism user, we have set up some advanced prism instances in the official Stoplight Next [Prism Project](https://next.stoplight.io/stoplight/prism).
|
||||
0
articles/prism/overview.md
Normal file
0
articles/prism/overview.md
Normal file
0
articles/prism/record-replay.md
Normal file
0
articles/prism/record-replay.md
Normal file
1
articles/prism/run-prism-local.md
Normal file
1
articles/prism/run-prism-local.md
Normal file
@@ -0,0 +1 @@
|
||||
|
||||
1
articles/prism/runtime.md
Normal file
1
articles/prism/runtime.md
Normal file
@@ -0,0 +1 @@
|
||||
|
||||
1
articles/prism/specification.md
Normal file
1
articles/prism/specification.md
Normal file
@@ -0,0 +1 @@
|
||||
|
||||
4
articles/prism/validation.md
Normal file
4
articles/prism/validation.md
Normal file
@@ -0,0 +1,4 @@
|
||||
|
||||
<!--stackedit_data:
|
||||
eyJoaXN0b3J5IjpbLTE5Mzc0MDU2MjJdfQ==
|
||||
-->
|
||||
30
articles/projects/change-member-role.md
Normal file
30
articles/projects/change-member-role.md
Normal file
@@ -0,0 +1,30 @@
|
||||
# Change a Project Member's Role
|
||||
|
||||

|
||||
|
||||
## What
|
||||
* You can invite people to a Project to grant them read or read/write permissions
|
||||
* There are three tiers of read/write permissions
|
||||
* **Admin Access**: Upper level permissions that allow you to:
|
||||
* Read/Write
|
||||
* Invite and Manage Members and Teams
|
||||
* Manage Project Settings
|
||||
* Delete the project
|
||||
* **Write Access**: Mid-level permissions that allow you to:
|
||||
* Read/Write
|
||||
* **Read Access**: Low-level permissions that allow you to:
|
||||
* Read
|
||||
|
||||
|
||||
## Who
|
||||
* Only the Organization **Owner** and Org and/or Project **Administrators** can modify member roles
|
||||
|
||||
## How
|
||||
1. From the Stoplight homepage select the **Project** you wish to modify
|
||||
2. By deafult, all members of the Organization the Project is associated with will have Read permission
|
||||
3. To invite a single member, select the **Member icon** from the far left sidebar
|
||||
* Input their username in the search bar at the top of the Member sidebar
|
||||
* Once located, press enter
|
||||
4. To invite a team, select the **Team icon** from the far left sidebar
|
||||
* Input the Team name in the search bar at the top of the Team sidebar
|
||||
* Once located, press enter
|
||||
7
articles/projects/collaboration.md
Normal file
7
articles/projects/collaboration.md
Normal file
@@ -0,0 +1,7 @@
|
||||
# Project Collaboration
|
||||
|
||||
## Roles
|
||||
|
||||
## Inviting People & Teams to Projects
|
||||
|
||||
## Changing People & Team Project Roles
|
||||
34
articles/projects/create-project.md
Normal file
34
articles/projects/create-project.md
Normal file
@@ -0,0 +1,34 @@
|
||||
# Creating a Project
|
||||
|
||||

|
||||
|
||||
## What
|
||||
Projects are the workspace of the Stoplight Platform. Projects contain:
|
||||
* File Explorer
|
||||
* Project Governance
|
||||
* Documentation Editor (Hubs)
|
||||
* Modeling Editor
|
||||
* Testing (Scenarios)
|
||||
* Mocking (Prism)
|
||||
* Markdown Editor
|
||||
|
||||
<callout>Single Point of Truth All editors are now contained within a Project </>
|
||||
|
||||
## Who
|
||||
Individual users can create Personal Projects. Organizations can create Org Projects.
|
||||
|
||||
## How
|
||||
|
||||
### Personal Project
|
||||
1. From the homepage select the **Personal Project** tab
|
||||
|
||||
### Organization Project
|
||||
1. From the homepage select the **Organization** you want to create a Project within
|
||||
* By default you will land on Organization Projects
|
||||
|
||||
### Create a Project
|
||||
2. Input a **Project Name**
|
||||
3. Input a custom **Project Path** (optional)
|
||||
4. Input a **Project Description** (optional)
|
||||
5. Select **Public** or **Private**
|
||||
6. Select **Create Project** once complete
|
||||
31
articles/projects/invite-people-team.md
Normal file
31
articles/projects/invite-people-team.md
Normal file
@@ -0,0 +1,31 @@
|
||||
# Invite People & Teams to a Project
|
||||
|
||||

|
||||
|
||||
## What
|
||||
* You can invite people to a Project to grant them read or read/write permissions
|
||||
* There are three tiers of read/write permissions
|
||||
* **Admin Access**: Upper level permissions that allow you to:
|
||||
* Read/Write
|
||||
* Invite and Manage Members and Teams
|
||||
* Manage Project Settings
|
||||
* Delete the project
|
||||
* **Write Access**: Mid-level permissions that allow you to:
|
||||
* Read/Write
|
||||
* **Read Access**: Low-level permissions that allow you to:
|
||||
* Read
|
||||
|
||||
<callout>You can only invite people and Teams to a Project associated with an Organization</>
|
||||
|
||||
## Who
|
||||
* Only the Organization **Owner** and Org and/or Project **Administrators** have invite privileges
|
||||
|
||||
## How
|
||||
1. From your Organization's homepage, select the **Project** you wish to modify
|
||||
2. By deafult, all members of the Organization the Project is associated with will have Read permission
|
||||
3. To invite a single member, select the **Member icon** from the far left sidebar
|
||||
* Input their username in the search bar at the top of the Member sidebar
|
||||
* Once located, press enter
|
||||
4. To invite a team, select the **Team icon** from the far left sidebar
|
||||
* Input the Team name in the search bar at the top of the Team sidebar
|
||||
* Once located, press enter
|
||||
0
articles/projects/overview.md
Normal file
0
articles/projects/overview.md
Normal file
14
articles/projects/visibility.md
Normal file
14
articles/projects/visibility.md
Normal file
@@ -0,0 +1,14 @@
|
||||
## Making Your Project Private & Public
|
||||
|
||||

|
||||
|
||||
## What
|
||||
* You can choose to make your Project Public or Private
|
||||
* **Private**: Only designated collaborators will be able to read it. Additionally, connections from ALL dependent entities outside of this Organization will be removed
|
||||
* **Public**: Anyone can read it
|
||||
## Who
|
||||
* Only the Organization **Owner** and Org and/or Project **Administrator** can modify
|
||||
## How
|
||||
1. Select the **Project** you wish to modify
|
||||
2. Select the **gear icon** on the left hand sidebar
|
||||
3. Under **Danger Zone** Select **Public** or **Private**
|
||||
21
articles/teams/add-people.md
Normal file
21
articles/teams/add-people.md
Normal file
@@ -0,0 +1,21 @@
|
||||
# Add People to a Team
|
||||
|
||||

|
||||
|
||||
## What
|
||||
|
||||
* Adding people to a team lets you collaborate on projects while allowing an additional level of control over permissions.
|
||||
|
||||
## Who
|
||||
|
||||
* Team **Owners**, **Administrators**, and **Members** can add people to a team
|
||||
|
||||
## How
|
||||
|
||||
1. From the homepage select the **Organization** associated with the team
|
||||
2. Select **Teams** on the tab bar
|
||||
3. Select the team that you would like to add people to.
|
||||
4. Click the **Invite Members** button
|
||||
5. Input the person’s email or Stoplight username in the textarea and press enter
|
||||
* Note: you can add more than one person at a time
|
||||
6. Once completed, click on the **Invite** button
|
||||
21
articles/teams/create-team.md
Normal file
21
articles/teams/create-team.md
Normal file
@@ -0,0 +1,21 @@
|
||||
# Create a Team
|
||||
|
||||

|
||||
|
||||
## What
|
||||
* Teams makes it easier for Organization Members to collaborate and allows additional control over permissions
|
||||
|
||||
## Who
|
||||
* Only an Organization **Owner** or **Administrator** can create a Team
|
||||
|
||||
## How
|
||||
1. From the homepage, select the **Organization** you would like to make a team for
|
||||
2. Select the **Teams** tab from the tabs bar
|
||||
3. Create Your First Team
|
||||
* Input a **Team Name**(A department, project group, etc.)
|
||||
* Input a **Description** (What does this team do?)
|
||||
* Input **Members** (email or username)
|
||||
* Send email notifications to invited members? (optional)
|
||||
* If the invited member does not already have a Stoplight account, an email will be sent with instructions on how to complete the account creation process
|
||||
4. Click **Create Team** once finished
|
||||
|
||||
21
articles/teams/customize-team.md
Normal file
21
articles/teams/customize-team.md
Normal file
@@ -0,0 +1,21 @@
|
||||
# Customize a Team
|
||||
|
||||

|
||||
|
||||
## What
|
||||
|
||||
* You can customize the Team Name, Path, and Team Description
|
||||
|
||||
## Who
|
||||
|
||||
* Only Team **Owner** or **Administrator** can customize a Team
|
||||
|
||||
## How
|
||||
|
||||
1. From the homepage select the **Organization** associated with the Team you wish to modify
|
||||
2. Select **Teams** from the tab bar
|
||||
3. From the Teams homepage select the Team you wish to customize
|
||||
* Then select **Team Settings** from the tab bar
|
||||
* Input a new Team Name in the textarea under **Team Name**
|
||||
* Input a new Team URL in the textarea under **Path**
|
||||
* Input a new Team Description in the textarea under **Description**
|
||||
14
articles/teams/delete-team.md
Normal file
14
articles/teams/delete-team.md
Normal file
@@ -0,0 +1,14 @@
|
||||
# Delete a Team
|
||||
|
||||

|
||||
|
||||
## What
|
||||
* Want to disband your team? Here's how:
|
||||
## Who
|
||||
* Only the Organization **Owner** or a Team **Owner** or **Administrator** can delete a team
|
||||
## How
|
||||
1. Select the **Organization** associated with the team you wish to modify
|
||||
2. Select **Teams** from the tab bar
|
||||
3. Click on the **red X icon** located to the right of the team you wish to delete
|
||||
4. A popup will appear asking if you are sure you want to delete this team
|
||||
5. Click **Ok**
|
||||
24
articles/teams/member-roles.md
Normal file
24
articles/teams/member-roles.md
Normal file
@@ -0,0 +1,24 @@
|
||||
# Team Member Roles and Permissions
|
||||
|
||||

|
||||
|
||||
## What
|
||||
* Roles and Permissions for Team members can be managed and modified within Stoplight to control access to the Team’s functions and features
|
||||
* There are 3 Roles:
|
||||
* **Owner**
|
||||
* Owners can update the Team, its connections, and its collaborators. They can also update the team's settings and delete the team.
|
||||
* **Administrator**
|
||||
* Admins can update the Team, its connections, and its collaborators.
|
||||
* **Member**
|
||||
* Members can view and create projects. They can view the Team's members.
|
||||
|
||||
## Who
|
||||
* Only the Team **Owner** or **Administrator** can modify Roles and Permissions
|
||||
|
||||
## How
|
||||
1. From the homepage, select the **Organization** associated with the Team you would like to modify
|
||||
2. Select the **Teams** tab from the tab bar
|
||||
3. Select the Team you would like modify
|
||||
4. To the right of the member’s name click on the **down carrot** button to the left of the person’s role
|
||||
5. In the dropdown menu select the desired role with accompanying permissions
|
||||
|
||||
22
articles/teams/remove-people.md
Normal file
22
articles/teams/remove-people.md
Normal file
@@ -0,0 +1,22 @@
|
||||
# Remove People from a Team
|
||||
|
||||

|
||||
|
||||
## What
|
||||
|
||||
* Want to bench a member of your team? Here's how:
|
||||
|
||||
## Who
|
||||
|
||||
* Only the Team **Owner** or **Administrator** can remove people from a Team
|
||||
|
||||
## How
|
||||
|
||||
1. From the homepage select the **Organization** associated with the Team you wish to modify
|
||||
2. Select **Teams** from the tab bar
|
||||
3. Select the Team you wish to modify from the list
|
||||
4. Find the member of the team you wish to remove
|
||||
5. To the right the member’s name click the **down carrot**
|
||||
6. In the dropdown menu select **Remove Member**
|
||||
7. A popup window will ask you to confirm your removal
|
||||
* Click Ok
|
||||
16
articles/teams/transfer-ownership.md
Normal file
16
articles/teams/transfer-ownership.md
Normal file
@@ -0,0 +1,16 @@
|
||||
# Transfer Primary Ownership of a Team
|
||||
|
||||

|
||||
|
||||
## What
|
||||
* You can transfer Ownership of a Team to another member of the Team
|
||||
## Who
|
||||
* Only the Team **Owner** can transfer Ownership of a Team
|
||||
## How
|
||||
1. From the homepage select the **Organization** that is associated with the Team you wish to modify
|
||||
2. Select **Teams** from the tab bar
|
||||
3. Select the Team you wish to modify
|
||||
4. Find the Member of the Team you wish to transfer ownership to
|
||||
5. Click on the **down carrot** to the right of the Member’s name
|
||||
6. Select **Owner** from the dropdown menu
|
||||
7. Click **Ok** in the proceeding popup
|
||||
1
articles/testing/adding-validations.md
Normal file
1
articles/testing/adding-validations.md
Normal file
@@ -0,0 +1 @@
|
||||
|
||||
1
articles/testing/continuous-integration-travis.md
Normal file
1
articles/testing/continuous-integration-travis.md
Normal file
@@ -0,0 +1 @@
|
||||
|
||||
1
articles/testing/continuous-integration.md
Normal file
1
articles/testing/continuous-integration.md
Normal file
@@ -0,0 +1 @@
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user