// @flow
import React from 'react';
import Grid from 'styled-components-grid';
import { Helmet } from 'react-helmet';
import Flex from '../../shared/components/Flex';
export default function Pricing() {
return (
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.
Outline's API follows simple RPC style conventions where each API endpoint is a method on{' '}
For
Example POST request:
Example GET request:
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 (
Some API endpoints allow unauhenticated requests for public resources and they can be
called without an API key.
All successful API requests will be returned with Outline API
Making requests
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.
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:
{`
curl https://www.getoutline.com/api/documents.info
-X POST
-H 'authorization: Bearer API_KEY'
-H 'content-type: application/json'
-H 'accept: application/json'
-d '{"id": "outline-api-NTpezNwhUP"}'
`}
{`
curl https://www.getoutline.com/api/documents.info?id=outline-api-NTpezNwhUP&token=API_KEY
`}
Authentication
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.
Errors
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:
{`
{
"ok": false,
"error: "Not Found"
}
`}
Methods
{props.method} - {props.label}
{`${process.env.URL}/api/${props.method}`}
{props.children}
; const Arguments = (props: { children: React.Element<*> }) => (| Argument | Required | Description |