From 00c214511688b86c37e13950bf93395ea936d7e3 Mon Sep 17 00:00:00 2001 From: Jori Lallo Date: Mon, 13 Nov 2017 23:00:21 -0800 Subject: [PATCH] Public API docs --- server/pages/Api.js | 96 +++++++++++++++++++++++++++++---------------- 1 file changed, 62 insertions(+), 34 deletions(-) diff --git a/server/pages/Api.js b/server/pages/Api.js index f5b580e0f..3626d525b 100644 --- a/server/pages/Api.js +++ b/server/pages/Api.js @@ -13,28 +13,33 @@ export default function Pricing() {

Outline API

- First thing we build for Outline was its API. It's the heart and sole of the service and - as developers, it's our mission to make the API as rich and easy to use as possible. + First thing we build for Outline was its API. It's the heart and sole + of the service and as developers, it's our mission to make the API as + rich and easy to use as possible.

- While Outline is still in public beta, we might make small adjustments, including - breaking changes to the API. + While Outline is still in public beta, we might make small + adjustments, including breaking changes to the API.

Making requests

- Outline's API follows simple RPC style conventions where each API endpoint is a method on{' '} - https://www.getoutline.com/api/<METHOD>. Both GET and{' '} - POST methods are supported but it's recommeded that you make all call using{' '} - POST. Only HTTPS is supported in production. + Outline's API follows simple RPC style conventions where each API + endpoint is a method on{' '} + https://www.getoutline.com/api/<METHOD>. Both{' '} + GET and POST methods are supported but it's + recommeded that you make all call using POST. Only HTTPS + is supported in production.

- For GET requests query string parameters are expected (e.g. - /api/document.info?id=...&token=...). When making POST requests, - request parameters are parsed depending on Content-Type header. To make a - call using JSON payload, one must pass Content-Type: application/json header: + For GET requests query string parameters are expected + (e.g. + /api/document.info?id=...&token=...). When making{' '} + POST requests, request parameters are parsed depending on{' '} + Content-Type header. To make a call using JSON payload, + one must pass Content-Type: application/json header:

@@ -67,30 +72,33 @@ curl https://www.getoutline.com/api/documents.info?id=outline-api-NTpezNwhUP&tok

Authentication

- To access private API endpoints, you must provide a valid API key. You can create new API - keys in your account settings. Be careful when - handling your keys as they give access to all of your documents. + To access private API endpoints, you must provide a valid API key. You + can create new API keys in your{' '} + account settings. Be + careful when handling your keys as they give access to all of your + documents.

- To authenticate with Outline API, you can supply the API key as a header ( - Authorization: Bearer YOUR_API_KEY - ) or as part of the payload using token parameter. If you're making{' '} - GET requests, header based authentication is recommended so that your keys - don't leak into logs. + To authenticate with Outline API, you can supply the API key as a + header (Authorization: Bearer YOUR_API_KEY) or as part of + the payload using token parameter. If you're making{' '} + GET requests, header based authentication is recommended + so that your keys don't leak into logs.

- Some API endpoints allow unauhenticated requests for public resources and they can be - called without an API key. + Some API endpoints allow unauhenticated requests for public resources + and they can be called without an API key.

Errors

- All successful API requests will be returned with 200 status code and{' '} - ok: true in the response payload. If there's an error while making the - request, appropriate status code is returned with the error message: + All successful API requests will be returned with 200{' '} + status code and ok: true in the response payload. If + there's an error while making the request, appropriate status code is + returned with the error message:

@@ -117,24 +125,42 @@ curl https://www.getoutline.com/api/documents.info?id=outline-api-NTpezNwhUP&tok
 
         
           
-            You can upload small files and images as part of your documents. All files are stored
-            using Amazon S3. Instead of uploading files to Outline, you need to upload them directly
-            to S3 with special credentials which can be obtained through this endpoint.
+            You can upload small files and images as part of your documents. All
+            files are stored using Amazon S3. Instead of uploading files to
+            Outline, you need to upload them directly to S3 with special
+            credentials which can be obtained through this endpoint.
           
           
-            
-            
-            
+            
+            
+            
           
         
 
-        
+        
           List all your document collections.
           
         
 
         
-          Returns detailed information on a document collection.
+          
+            Returns detailed information on a document collection.
+          
           
             
           
@@ -170,7 +196,9 @@ const Method = (props: MethodProps) => {
   );
 };
 
-const Description = (props: { children: React.Element<*> }) => 

{props.children}

; +const Description = (props: { children: React.Element<*> }) => ( +

{props.children}

+); const Arguments = (props: { children: React.Element<*> }) => (