> ## Documentation Index
> Fetch the complete documentation index at: https://docs.standardmetrics.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Create document

> Creates a new document in the library for a company.

**Notes:**
- File size limit: 32 MB maximum.
- Accepted file types:
    - PDF files (.pdf)
    - Microsoft Word documents (.docx)
    - Microsoft Excel spreadsheets (.xlsx)
    - Microsoft PowerPoint presentations (.pptx)
    - OpenDocument spreadsheets (.ods)
    - JPEG images (.jpg, .jpeg)
    - PNG images (.png)
    - WebP images (.webp)
    - GIF images (.gif)

**Permissions:**
- User must be authenticated via OAuth.
- User must have access to the company.
- User must have access to the company's document data.



## OpenAPI

````yaml post /documents/
openapi: 3.0.1
info:
  title: Standard Metrics API Documentation
  description: >-
    Welcome to Standard Metric's API docs!


    To use our API you will need to make an OAuth appliction (or use an existing
    one) in the developer settings tab on your settings page and then exchange
    your client id and secret for an access token (via the `/o/token/` endpoint.
    This token can then be sent in the `Authorization` header to authenticate
    your requests to our api. See below for an example.


    All endpoints are paginated and will return a maximum of 100 results per
    page. See the endpoints below and example responses for more details on
    pagination parameters. A maximum of 120 requests per minute can be made to
    our API.


    Authentication example (with python):

    ```>>> import base64

    >>> import base64

    >>> client_id = "YOUR_CLIENT_ID"

    >>> client_secret = "YOUR_CLIENT_SECRET"

    >>> credential = f"{client_id}:{client_secret}"

    >>> base64.b64encode(credential.encode("utf-8"))

    b'ENCODED_CREDENTIAL'


    You can now exchange this credential for an access token, eg:


    curl -X POST \
        -H "Authorization: Basic ENCODED_CREDENTIAL" \
        -H "Cache-Control: no-cache" \
        -H "Content-Type: application/x-www-form-urlencoded" \
        "https://api.standardmetrics.io/o/token/" \
        -d "grant_type=client_credentials"

    You will receive the following response:


    {
        "access_token": "YOUR_ACCESS_TOKEN",
        "expires_in": 36000,
        "token_type": "Bearer",
        "scope": "read write"
    }


    Make sure not to forget to prepend "Bearer " to your access token in the
    Authorization header while making requests.
  version: '1.0'
servers:
  - url: https://api.standardmetrics.io/v1
security:
  - Bearer: []
paths:
  /documents/:
    post:
      tags:
        - documents
      summary: Create document
      description: |-
        Creates a new document in the library for a company.

        **Notes:**
        - File size limit: 32 MB maximum.
        - Accepted file types:
            - PDF files (.pdf)
            - Microsoft Word documents (.docx)
            - Microsoft Excel spreadsheets (.xlsx)
            - Microsoft PowerPoint presentations (.pptx)
            - OpenDocument spreadsheets (.ods)
            - JPEG images (.jpg, .jpeg)
            - PNG images (.png)
            - WebP images (.webp)
            - GIF images (.gif)

        **Permissions:**
        - User must be authenticated via OAuth.
        - User must have access to the company.
        - User must have access to the company's document data.
      operationId: documents_create
      requestBody:
        content:
          multipart/form-data:
            schema:
              required:
                - company_id
                - file
              type: object
              properties:
                company_id:
                  type: string
                  description: >-
                    The id for the company whose documents to request. You can
                    get a company's id by making a request to the `/companies`
                    endpoint.
                file:
                  type: string
                  description: >-
                    The file to add. Must be sent as part of a
                    multipart/form-data POST request. File size limit: 32 MB
                    maximum. Accepted file types: .pdf, .docx, .xlsx, .pptx,
                    .ods, .jpg, .jpeg, .png, .webp, .gif
                  format: binary
          application/x-www-form-urlencoded:
            schema:
              required:
                - company_id
                - file
              type: object
              properties:
                company_id:
                  type: string
                  description: >-
                    The id for the company whose documents to request. You can
                    get a company's id by making a request to the `/companies`
                    endpoint.
                file:
                  type: string
                  description: >-
                    The file to add. Must be sent as part of a
                    multipart/form-data POST request. File size limit: 32 MB
                    maximum. Accepted file types: .pdf, .docx, .xlsx, .pptx,
                    .ods, .jpg, .jpeg, .png, .webp, .gif
                  format: binary
        required: true
      responses:
        '201':
          description: ''
          content:
            application/json:
              schema:
                required:
                  - message
                  - success
                type: object
                properties:
                  success:
                    type: boolean
                    description: Indicates whether the operation was successful
                  message:
                    type: string
                    description: A message describing the operation result
components:
  securitySchemes:
    Bearer:
      type: http
      scheme: bearer
      bearerFormat: JWT
      description: >-
        Your valid bearer token. All Auth tokens persist for all requests. Make
        sure to replace Client Credential `Basic` tokens with `Bearer` tokens
        after retrieving your bearer token. Go to the API Reference/Setup, User
        Guides/Initial Setup, or API Reference/Get API Access Token page to get
        your token.

````